Διαδικτυακές εφαρμογές και τεχνολογία Blockchain
Web applications and Blockchain technologies
Keywords
Blockchain ; Smart contracts ; Security ; Cryptocurrency ; Application ; Ηλεκτρονική συνταγογράφηση φαρμάκων ; Κρυπτονομίσματα ; Έξυπνα συμβόλαια ; Ανάπτυξη διαδικτυακών εφαρμογώνAbstract
Τα τελευταία χρόνια ο όρος “blockchain” ακούγεται όλο και περισσότερο σε παγκόσμιο επίπεδο. Ο κύριος λόγος αυτής της δημοτικότητας είναι τα κρυπτονομίσματα, μια μορφή ψηφιακού παραστατικού χρήματος η οποία είναι βασισμένη στην τεχνολογία blockchain. Σε πιο αφηρημένο επίπεδο, η τεχνολογία blockchain είναι απλά ένας τρόπος αποθήκευσης ψηφιακής πληροφορίας με τέτοιο τρόπο ώστε η παραποίησή της να καθίσταται πρακτικά αδύνατη. Αυτό επιτυγχάνεται λόγω της αποκεντρωμένης φύσης που διέπει ένα δίκτυο blockchain. Σε αντίθεση με τα παραδοσιακά συστήματα τα οποία έχουν συνήθως μια κεντρική μονάδα (server) στην οποία βρίσκεται συσσωρευμένη όλη η πληροφορία μιας οντότητας, ένα δίκτυο blockchain διαμοιράζεται σε όλους τους χρήστες του οι οποίοι αποφασίζουν από κοινού για την εξέλιξή του. Η κύρια ιδιότητα που προσδίδει ασφάλεια στην πληροφορία είναι ότι ένα blockchain ορίζεται σαν append-only, δηλαδή είναι μια δομή δεδομένων στην οποία μπορεί μόνο να προστεθεί νέα πληροφορία και όχι να αλλοιωθεί η προϋπάρχουσα. Άρα μπορούμε να συμπεράνουμε ότι ο διαμοιρασμός ενός τέτοιου δικτύου σε χρήστες δεν είναι τίποτε άλλο παρά η πρόσβασή τους στο πλήρες ιστορικό που απαρτίζει το δίκτυο, και ως κατά συνέπεια, στην παρούσα κατάσταση της πληροφορίας του. Η σύλληψη της ιδέας των blockchains χρονολογείται από το 1982 [1] αλλά δεν ήταν μέχρι το 2008 που ο Satoshi Nakamoto (ψευδώνυμο) υλοποίησε το πρώτο blockchain στο οποίο, ένα χρόνο μετά, βασίστηκε το κρυπτονόμισμα Bitcoin. Έκτοτε, έχει ανέρθει μια πληθώρα διαφορετικών κρυπτονομισμάτων στην αγορά με αρκετά από αυτά να αποκτούν σημαντική αξία. Το δεύτερο μεγαλύτερο κρυπτονόμισμα ως προς την χρηματιστηριακή κεφαλαιοποίηση [8] είναι το Ethereum, το οποίο κυκλοφόρησε το 2015 [2] και έχει σαν κύριο χαρακτηριστικό του την αξιοποίηση των smart contracts. Τα smart contracts είναι ουσιαστικά κώδικας ο οποίος αποθηκεύεται στο blockchain και μπορεί να τρέξει μέσω των συναλλαγών που πραγματοποιούν οι χρήστες του. Επομένως, δίνεται η δυνατότητα σε ένα blockchain να φιλοξενήσει ολόκληρες εφαρμογές, των οποίων ο κώδικας όντας μέρος του blockchain είναι και αυτός αμετάβλητος, προσφέροντας έτσι αξιοπιστία ως προς τη λειτουργία τους. Η παρούσα διπλωματική έχει ως στόχο την υλοποίηση μιας αρχιτεκτονικής η οποία θα συνδυάζει διαφορετικές εφαρμογές που θα επικοινωνούν μεταξύ τους μέσα από το ίδιο Ethereum-based blockchain. Ο σκοπός των εφαρμογών είναι να αναδημιουργήσουν το ηλεκτρονικό σύστημα συνταγογράφησης φαρμάκων της Ελλάδας έχοντας ως ειδοποιό διαφορά την ανάπτυξή τους πάνω στην τεχνολογία blockchain. Έτσι, το τελικό αποτέλεσμα προσφέρει μεγαλύτερη αξιοπιστία από το παρών σύστημα χάρη στα προαναφερόμενα πλεονεκτήματα των blockchains.
Abstract
Over the past years, the term “blockchain” has been gaining global traction. The main reasons behind this publicity are cryptocurrencies, a form of digital fiat currency which is based upon the blockchain technology. On an abstract layer, blockchain technology is simply an approach of storing data in such a way, that renders their ability to be tampered with practically unfeasible. This is achieved through the decentralized nature that governs a blockchain network. In contrast to traditional systems, which usually have one main server where the information of an entity is stored, a blockchain is distributed amongst its users who then decide in unison about its evolution. The major attribute granting data security is that a blockchain is defined as append-only, which means it’s a data structure where information can only be added but never changed. Therefore, we can conclude that the distribution of such a network amidst users is nothing more than granting them access to the full history that regulates the network, and consequently, the current state of its information. The inception of blockchains can be traced back to 1982, but it wasn’t until 2008 when an individual under the alias of Satoshi Nakamoto implemented the first blockchain upon which, one year later, the cryptocurrency Bitcoin was based. Since then, there has been a plethora of different cryptocurrencies on the market with many of them gaining substantial value. The second largest cryptocurrency by market capitalization is Ethereum, which circulated in 2015 and has its focal point on smart contracts. Smart contracts are basically code stored on the blockchain, which can later be run through user transactions. On that account it enables a blockchain to host entire applications, whose code also being stored on the blockchain is itself immutable, therefore offering credibility towards their functionality. The present thesis aims to materialize an architecture combining different applications that communicate through the same Ethereum-based blockchain. The applications serve to recreate the digital medical prescription system of Greece having the key difference of utilizing the blockchain technology. Hence, the end result offers more trust than its preexisting counterpart due to the aforementioned security advantages of blockchains.