Ιδιοκτησία αρχείων μέσω της χρήσης NFT σε blockchain
File ownership through the use of NFT in blockchain
Διπλωματική εργασία
Συγγραφέας
Σταματάκης, Δημήτριος
Ημερομηνία
2022-07Επιβλέπων
Leligou, Helen C. (Nelly)Λέξεις-κλειδιά
Blockchain ; NFT ; Smart contracts ; Cryptography ; Hardhat ; Consensus mechanisms ; Distributed ledger technology ; ERC-20 ; ERC-721 ; ERC-1155 ; Cryptocurrency ; Έξυπνα συμβόλαια ; Μηχανισμοί συναίνεσης ; Κρυπτογράφηση ; Κρυπτονομίσματα ; Τεχνολογίες κατανεμημένου καθολικούΠερίληψη
H τεχνολογία blockchain χρησιμοποιήθηκε σε μεγάλη κλίμακα για πρώτη φορά από τον Satoshi Nakamoto, δημιουργό του Bitcoin το 2009. Καθώς γινόταν όλο ένα και πιο δημοφιλής άρχισε να κινεί το ενδιαφέρον αρκετών πρωτοπόρων που πίστευαν ότι αυτή η τεχνολογία μπορεί να προσφέρει πολλά περισσότερα από απλός έναν νέο τρόπο οικονομικών συναλλαγών. Γι’ αυτόν το σκοπό το 2013 ο Vitalik Buterik μαζί με άλλους τέσσερεις συνεργάτες ξεκίνησαν το project Ethereum που θα έφερνε την επόμενη επανάσταση στο χώρο του blockchain. Το Ethereum blockchain ξεκίνησε να λειτουργεί το 2015 και πρόσφερε την δυνατότητα στους χρήστες να δημιουργήσουν δίκες τους περίπλοκες εφαρμογές. Αυτό έδωσε ζωή σε μια πληθώρα νέων κλάδων στο κόσμο των κρυπτονομισμάτων. Μερικοί απ’ αυτούς είναι η αποκεντρωμένη οικονομία (DeFi) και οι αποκεντρωμένοι αυτόνομοι οργανισμοί (DAOs). Σήμερα, υπάρχουν σχεδόν 20.000 διαφορετικά κρυπτονομίσματα καθώς και πολλά δημοφιλή blockchains τα οποία είναι παρόμοια με το Ethereum αλλά το καθένα προσπαθεί να λύσει διαφορετικά προβλήματα που εμφανίζονται στο χώρο του blockchain. Σε αυτήν την εργασία παρουσιάζονται τα βασικά στοιχεία που χαρακτηρίζουν κάθε blockchain δίκτυο καθώς και πως αυτά λειτουργούν. Στην συνέχεια, θα μάθουμε για την κρυπτογραφία μέσω μιας σύντομης αναφοράς στους αλγορίθμους που αφήσαν ιστορία στο συγκεκριμένο κλάδο καθώς και στους αλγορίθμους που χρησιμοποιούνται σήμερα. Στο τέλος του θεωρητικού
σκέλους, θα δούμε τα 3 σημαντικότερα πρότυπα κρυπτονομισμάτων που χρησιμοποιούνται ευρέως από όλα τα σύγχρονα δίκτυα blockchains. Στο πρακτικό σκέλος, γίνεται αναφορά σε διαφορά μοντέρνα εργαλεία, τεχνολογίες και μεθόδους που αφορούν τη δημιουργία και παράταση έξυπνων συμβολαίων. Αυτά στη συνέχεια αναλύονται και χρησιμοποιούνται για τη δημιουργία μιας απλής αποκεντρωμένης εφαρμογής που βασίζεται κατά κύριο λόγο στην γλώσσα Solidity, στο framework Hardhat και στην βιβλιοθήκη ethers.js. Στο τέλος, με την δύναμη της JavaScript και του Node.js, θα δούμε πως μπορούμε να αυτοματοποιήσουμε μερικές χρονοβόρες διαδικασίες για να αυξήσουμε την παραγωγικότητα μας και την ανθεκτικότητα του κώδικα μας.
Περίληψη
The blockchain technology was initially utilized in 2009 by Satoshi Nakamoto, inventor of Bitcoin. Due to its increasing popularity it started to attract the attention of a great number of technology pioneers who believed in the new technology being able to offer much more than simply a new way of making financial transactions. To this end, Vitalik Buterik along with four partners started the Ethereum project in 2013 which was destined to start a revolution in the field of blockchain technology. The Ethereum blockchain started operating in 2015 and offered its users the opportunity to create their own sophisticated applications. This actualized a plethora of new branches in the realm of the cryptocurrency world. To name some of those, Decentralized Finances (DeFi) and
Decentralized Autonomous Organizations (DAOs). Today, around 20.000 cryptocurrencies are in use as well as a great number of blockchains which are similar to Ethereum but each one of them aims at solving one of the many different problems that emerge in the field of blockchain technology. In the present thesis there is a presentation of the fundamental elements that characterize
every blockchain network as well as how they operate. The second part is dedicated to cryptography, followed by a short but thorough reference to some historic algorithms as well as to those that are used today. The theoretical part culminates with a reference to the three most significant cryptocurrency prototypes that are widely used by all modern blockchain networks. The practical section concentrates on modern tools, technologies and methods that are used for the creation and deployment of smart contracts. These are further analyzed and used for the creation of a simple decentralized application based mainly on the Solidity language, the Hardhat framework and the ethers.js library. Finally, there is a presentation of how we can automate some time-consuming procedures by using the power of JavaScript and Node.js in order to increase productivity and the resilience of our code.