diff --git a/chapters/5.conclusions-open-areas/5.1.conclusions.tex b/chapters/5.conclusions-open-areas/5.1.conclusions.tex index b1b007e..7a6df34 100644 --- a/chapters/5.conclusions-open-areas/5.1.conclusions.tex +++ b/chapters/5.conclusions-open-areas/5.1.conclusions.tex @@ -7,14 +7,14 @@ Ωστόσο, θα πρέπει να επισημανθεί ότι η εφαρμογή χαρακτηρίζεται από ορισμένα μειονεκτήματα, τα οποία σχετίζονται, κυρίως, με την πρώιμη κατάσταση ανάπτυξης των επιλεγμένων τεχνολογιών: \begin{itemize} - \item Στο Application tier, μέσω της χρήσης του Ethereum, εισάγονται όλα εκείνα τα προβλήματα που συνοδεύουν επί του παρόντος το blockchain και τα smart contracts. Τα βασικότερα από αυτά είναι τα τέλη συναλλαγών και η κλιμακοθετησιμότητά (scalability) τους. Σε γενικές γραμμές το κλίμα στην παγκόσμια προγραμματιστική κοινότητα είναι αρκέτα πολωμένο ως προς το αν τελικά πλατφόρμες όπως το Ethereum θα μπορέσουν να ξεπεράσουν τα διάφορα προβλήματα και να ανταπεξέλθουν στις προσδοκίες. + \item Στο Application tier, μέσω της χρήσης του Ethereum, εισάγονται όλα εκείνα τα ζητήματα που συνοδεύουν επί του παρόντος το blockchain και τα smart contracts. Τα βασικότερα από αυτά είναι τα τέλη των συναλλαγών, η ανάγκη χρήσης επιπρόσθετων λογισμικών (π.χ. MetaMask) και η κλιμακοθετησιμότητά (scalability) των DApp. Σε γενικές γραμμές, το κλίμα στην παγκόσμια προγραμματιστική κοινότητα παραμένει αρκέτα πολωμένο ως προς το αν τελικά πλατφόρμες όπως το Ethereum θα μπορέσουν να ξεπεράσουν τα διάφορα προβλήματα και να ανταπεξέλθουν στις προσδοκίες. \begin{enumitemcenteredfigure} \includegraphics[width=.50\textwidth]{assets/figures/chapter-5/5.1.xkcd_2030_voting_software} \caption{\url{https://xkcd.com/2030/}} \end{enumitemcenteredfigure} - \item Στο Data tier, το IPFS και η OrbitDB αποτελούν επίσης ιδιαίτερα καινοτόμα λογισμικά και θεωρούνται ακόμα alpha software. Αυτό έχει ως αποτέλεσμα να εισάγουν με τη σειρά τους διάφορα προβλήματα, τα οποία κυρίως σχετίζονται με την εύρεση των peers και το replication των δεδομένων. + \item Στο Data tier, το IPFS και η OrbitDB αποτελούν επίσης ιδιαίτερα καινοτόμα λογισμικά και δε θεωρούνται ακόμα production-ready. Αυτό έχει ως αποτέλεσμα να εισάγουν με τη σειρά τους διάφορα προβλήματα, τα οποία σχετίζονται κυρίως με την εύρεση των peers (το οποίο βασίζεται προσωρινά σε signalling servers\footnote{Βλ. και \url{https://github.com/libp2p/js-libp2p/issues/385}.}) και το replication των δεδομένων. \end{itemize} Τέλος, τονίζεται πως, παρ' όλες τις τρέχουσες δυσκολίες, οι προγραμματιστικές κοινότητες των παραπάνω τεχνολογιών εργάζονται αδιάκοπα για τη βελτίωση τους, ενώ παρόμοια εναλλακτικά project μπορούν ανά πάσα στιγμή να αντικαταστήσουν αυτά που επιλέχθηκαν στην τρέχουσα υλοποίηση. diff --git a/chapters/5.conclusions-open-areas/5.2.open-areas.tex b/chapters/5.conclusions-open-areas/5.2.open-areas.tex index 5bbb3df..09274ad 100644 --- a/chapters/5.conclusions-open-areas/5.2.open-areas.tex +++ b/chapters/5.conclusions-open-areas/5.2.open-areas.tex @@ -4,23 +4,23 @@ Οι ανάγκες κάθε υπολογιστικού συστήματος σε πόρους που σχετίζονται με τις διάφορες λειτουργίες του (π.χ. επεξεργασία, αποθήκευση δεδομένων, δίκτυα) μεταφράζονται σε κάποιο οικονομικό κόστος. Στην περίπτωση της παρούσας εφαρμογής, ενώ η αποθήκευση των δεδομένων διαμοιράζεται αυτοβούλως ανάμεσα στους συμμετέχοντες κόμβους, η χρήση του Ethereum απαιτεί από τα μέλη την καταβολή τελών για τη δημιουργία συναλλαγών. Αν και αυτά τα τέλη είναι απαραίτητα για τη λειτουργία του blockchain και την προάσπισή του από επιθέσεις, αποτελούν ισχυρό εμπόδιο για την ένταξη των τελικών χρηστών στο οικοσύστημα των αποκεντρωμένων εφαρμογών του Ethereum. -Στα πλαίσια της εφαρμογής Concordia, η λήψη μέτρων για τη διαχείριση των τελών θεωρείται υψίστης σημασίας. Ωστόσο, η συμπερίληψη ενός τέτοιου μηχανισμού θα περιέπλεκε εξαιρετικά τον σχεδιασμό της και, ως εκ τούτου, λήφθηκε η απόφαση να συμπεριληφθεί ως πρόταση για μελλοντική της επέκταση. Ένας τέτοιος μηχανισμός θα παρείχε τη δυνατότητα στα μέλη της πλατφόρμας να τη χρησιμοποιούν χωρίς να κατέχουν ή να δαπανούν ETH. Αυτό θα μπορούσε να ήταν εφικτό μέσω της δημιουργίας μίας meta transaction, υπογεγραμμένης από τον Ethereum λογαριασμό τους, η οποία θα μεταβίβαζε την αποπληρωμή των τελών στις κοινότητες που ανήκουν οι χρήστες. +Στα πλαίσια της εφαρμογής Concordia, η λήψη μέτρων για τη διαχείριση των τελών θεωρείται υψίστης σημασίας. Ωστόσο, η συμπερίληψη ενός τέτοιου μηχανισμού θα περιέπλεκε εξαιρετικά τον σχεδιασμό της και, ως εκ τούτου, λήφθηκε η απόφαση να συμπεριληφθεί ως πρόταση για μελλοντική της επέκταση. Ένας τέτοιος μηχανισμός θα παρείχε τη δυνατότητα στα μέλη της πλατφόρμας να τη χρησιμοποιούν χωρίς να κατέχουν ή να δαπανούν ETH. Αυτό θα ήταν εφικτό μέσω της χρήσης "μετασυναλλαγών"\footnote{Μετασυναλλαγή (meta-transaction) θεωρείται μία συναλλαγή που υπογράφεται από τον Ethereum λογαριασμό του χρήστη και προωθείται σε κάποιον τρίτο για να την εκτελέσει επί του blockchain.}, οι οποίες θα μεταβίβαζαν την αποπληρωμή των τελών στις κοινότητες που ανήκουν οι χρήστες. Αυτή τη στιγμή υπάρχουν ήδη προσεγγίσεις υλοποιήσεων τέτοιου είδους μηχανισμών, όπως το Gas Station Network\footnote{\url{https://opengsn.org/}}, ενώ η προγραμματιστική ομάδα του Ethereum εργάζεται ενεργά για την εγγενή υποστήριξη αυτής της δυνατότητας από την ίδια την πλατφόρμα. \subsection{Διανομή των Ethereum token}\label{subsection:5-2-2-token-distribution} -Στον φυσικό κόσμο, η έγκυρη και ανώνυμη διανομή ενός συνόλου μοναδικών πιστοποιητικών αυθεντικοποίησης στα μέλη μίας κοινότητας θα μπορούσε να ήταν μία διαδικασία, η οποία θα απαιτούσε την φυσική παρουσία των χρηστών και την επιλογή ενός λαχνού-πιστοποιητικού από μία κληρωτίδα. Σε αυτήν την περίπτωση θα έπρεπε είτε να υπήρχε ολομέλεια και, έτσι, διαμοιρασμός της εμπιστοσύνης σε όλα τα μέλη, είτε να υπήρχε μεταβίβαση της εμπιστοσύνης σε μία επιτροπή. +Στον φυσικό κόσμο, η έγκυρη και ανώνυμη διανομή ενός συνόλου μοναδικών πιστοποιητικών αυθεντικοποίησης στα μέλη μίας κοινότητας θα μπορούσε να ήταν μία διαδικασία, η οποία να απαιτούσε την φυσική παρουσία των χρηστών και την επιλογή ενός λαχνού-πιστοποιητικού από μία κληρωτίδα. Σε αυτήν την περίπτωση θα έπρεπε είτε να υπήρχε ολομέλεια και, έτσι, διαμοιρασμός της εμπιστοσύνης σε όλα τα μέλη, είτε να υπήρχε μεταβίβαση της εμπιστοσύνης σε μία επιτροπή. Στον ψηφιακό κόσμο, το παραπάνω ζήτημα αποτελεί μία ιδιαίτερη πρόκληση με ποικίλες προσεγγίσεις σχετικά με την επιλογή των συστημάτων που θα χρησιμοποιηθούν, καθώς και των οντοτήτων στις οποίες θα εκχωρηθεί εμπιστοσύνη. -Στην παρούσα εφαρμογή, η υλοποίηση μηχανισμών για την ανώνυμη διανομή των Ethereum token των κοινοτήτων με τρόπο που να πληροί τα παραπάνω, τέθηκε εκτός του πλαισίου της εργασίας, εξαιτίας της παρέκκλισης από το κεντρικό θέμα και της πολυπλοκότητας της. Όπως είναι σχεδιασμένη αυτήν τη στιγμή, η Concordia δύναται να υποστηρίξει ποικίλες αφηρημένες διαδικασίες οι οποίες να κατοχυρώνουν την εγκυρότητα των εκάστοτε μελών, αλλά όχι την ανωνυμία τους. Εκείνη, όσο η διαδικασία βασίζεται σε κάποια κεντρική οντότητα αυθεντικοποίησης, δε μπορεί να διασφαλιστεί, καιώς θα απαιτεί πάντα την εκχώρηση εμπιστοσύνης από τον τελικό χρήστη στα υπολογιστικά συστήματα της πρώτης. Η εμφάνιση του προβλήματος οφείλεται στο γεγονός ότι η ανωνυμοποίηση των πιστοποιητικών θα πρέπει να λάβει χώρα εντός των των προαναφερθέντων συστημάτων, τα οποία, ως επί το πλείστον, θα είναι συγκεντρωτικής λογικής. +Στην παρούσα εφαρμογή, η υλοποίηση μηχανισμών για την ανώνυμη διανομή των Ethereum token των κοινοτήτων με τρόπο που να μην απαιτείται η εκχώρηση εμπιστοσύνης σε τρίτους, τέθηκε εκτός του πλαισίου της εργασίας, εξαιτίας της παρέκκλισης από το κεντρικό θέμα και της πολυπλοκότητας της. Όπως είναι σχεδιασμένη αυτήν τη στιγμή, η Concordia δύναται να υποστηρίξει ποικίλες αφηρημένες διαδικασίες οι οποίες να κατοχυρώνουν την εγκυρότητα των εκάστοτε μελών, αλλά όχι την ανωνυμία τους. Εκείνη, όσο η διαδικασία βασίζεται σε κάποια κεντρική οντότητα αυθεντικοποίησης, δε μπορεί να διασφαλιστεί, καθώς θα απαιτεί πάντα την εκχώρηση εμπιστοσύνης από τον τελικό χρήστη στα υπολογιστικά συστήματα της πρώτης. Η εμφάνιση του προβλήματος οφείλεται στο γεγονός ότι η ανωνυμοποίηση των πιστοποιητικών θα πρέπει να λάβει χώρα εντός των των προαναφερθέντων συστημάτων, τα οποία, ως επί το πλείστον, θα είναι συγκεντρωτικής λογικής. -Για παράδειγμα, έστω ότι μία κεντρική αρχή με δικό της σύστημα αυθεντικοποίησης αρχιτεκτονικής πελάτη-εξυπηρετητή αποφασίζει να συμμετάσχει στην πλατφόρμα της Concordia, δημιουργώντας μία κοινότητα και ορίζοντας ένα εξωτερικό smart contract για τα token των μελών της τελευταίας. Ο μηχανισμός διανομής των token θα μπορούσε να ήταν η εγγραφή του χρήστη στο κεντρικό σύστημα, η εξαγωγή ενός πιστοποιητικού αυθεντικότητας από εκεί και, τέλος, η εξαργύρωση του τελευταίου για ένα αντίστοιχο Ethereum token, μέσω του smart contract. +Για παράδειγμα, έστω ότι μία κεντρική αρχή με δικό της σύστημα αυθεντικοποίησης αρχιτεκτονικής πελάτη-εξυπηρετητή αποφασίζει να συμμετάσχει στην πλατφόρμα της Concordia, δημιουργώντας μία κοινότητα και ορίζοντας ένα εξωτερικό smart contract για τα token των μελών της. Ο μηχανισμός διανομής των token θα μπορούσε να ήταν η εγγραφή του χρήστη στο κεντρικό σύστημα της αρχής, η δήλωση μίας Ethereum διεύθυνσής του και η αποστολή ενός token αυθεντικοποίησης σε αυτήν. Κάτι τέτοιο θα έδινε τη δυνατότητα στους διαχειριστές του συστήματος να εντοπίζουν με ευκολία τις πραγματικές ταυτότητες των μελών της κοινότητας πίσω από κάθε token της, αίροντας, έτσι, την ανωνυμία των τελευταίων. -Λύση στο παραπάνω πρόβλημα μπορεί να επέλθει μόνο με τη μετακίνηση της διαδικασίας ανωνυμοποίησης των πιστοποιητικών επί του blockchain. Αυτό απαιτεί την ύπαρξη ενός μηχανισμού στο οικοσύστημα του Ethereum, ο οποίος να παρέχει τη δυνατότητα μεταφοράς token αποκρύπτοντας τις διευθύνσεις προέλευσης και προορισμού. Έτσι, οι χρήστες απλώς θα μετακινούσαν τα token που αρχικά παρέλαβαν σε μία διεύθυνση μη προσδιορίσιμη από τρίτους. +Λύση στο παραπάνω πρόβλημα μπορεί να επέλθει μόνο με την υλοποίηση μίας διαδικασίας ανωνυμοποίησης των token επί του blockchain. Αυτό απαιτεί την ύπαρξη ενός μηχανισμού στο οικοσύστημα του Ethereum, ο οποίος να παρέχει τη δυνατότητα μεταφοράς των token αποκρύπτοντας τις διευθύνσεις προέλευσης και προορισμού τους. Έτσι, οι χρήστες απλώς θα μετακινούσαν τα token που αρχικά παρέλαβαν σε μία διεύθυνση μη προσδιορίσιμη από τρίτους. -Στο ευρύτερο οικοσύστημα των blockchain υπάρχουν ήδη υλοποιήσεις που προσφέρουν αυτήν την δυνατότητα επί του εγγενούς τους νομίσματος (π.χ. Zcash, Monero), ενώ διάφορες ομάδες εργάζονται ενεργά για την ανάπτυξη τέτοιων μηχανισμών και στο Ethereum. Αν και υπάρχουν διαφοροποιήσεις στις προσεγγίσεις τους, η κύρια τεχνολογία στην οποία βασίζονται είναι αυτή των λεγόμενων "zero knowledge proof", με επικρατέστερα πρωτόκολλα τα zk-SNARK και zk-STARK. Ως μία ήδη λειτουργική λύση τύπου μίκτη συναλλαγών θα μπορούσε να θεωρηθεί ο Tornado\footnote{\url{https://tornado.cash/}}, ο οποίος παρέχει τη δυνατότητα ανώνυμης μεταφοράς ETH ή ERC20 token αξιοποιώντας τα zk-SNARK.\cite{5.2-privacy-on-ethereum} +Στο ευρύτερο οικοσύστημα των blockchain υπάρχουν ήδη υλοποιήσεις που προσφέρουν αυτήν την δυνατότητα επί του εγγενούς τους νομίσματος (π.χ. Monero, Zcash), ενώ διάφορες ομάδες εργάζονται ενεργά για την ανάπτυξη τέτοιων μηχανισμών και στο Ethereum. Αν και υπάρχουν διαφοροποιήσεις στις προσεγγίσεις τους, η κύρια τεχνολογία στην οποία βασίζονται είναι αυτή των λεγόμενων "zero knowledge proof", με επικρατέστερα πρωτόκολλα τα zk-SNARK και zk-STARK. Ως μία ήδη λειτουργική λύση τύπου μίκτη συναλλαγών θα μπορούσε να θεωρηθεί ο Tornado\footnote{\url{https://tornado.cash/}}, ο οποίος παρέχει τη δυνατότητα ανώνυμης μεταφοράς ETH ή ERC20 token αξιοποιώντας τα zk-SNARK.\cite{5.2-privacy-on-ethereum} \subsection{Εναλλακτικά συστήματα ψηφοφορίας}\label{subsection:5-2-3-alternative-voting-systems} @@ -31,7 +31,7 @@ Μερικά συστήματα ψηφοφοριών που μπορούν να ενσωματωθούν (και ακόμα και να συνδυαστούν) στην πλατφόρμα είναι τα παρακάτω: \begin{itemize} - \item Ψήφοφορία με σειρά προτίμησης (ranked voting): το εκλογικό σώμα θα μπορεί να ψηφίσει με σειρά προτίμησης μεταξύ των διαθέσιμων επιλογών των ψηφοφοριών. + \item Ψήφοφορία με σειρά προτίμησης (ranked voting): το εκλογικό σώμα θα έχει τη δυνατότητα να ψηφίζει με σειρά προτίμησης μεταξύ των διαθέσιμων επιλογών των ψηφοφοριών. \item Πολλαπλή ψήφος: ορισμένοι ψηφοφόροι θα έχουν ισχυρότερη ψήφο βάσει κάποιου κριτηρίου (π.χ. βάσει του reputation τους). \item Έμμεση ψηφοφορία: κάθε μέλος θα ορίζει αντιπρόσωπο για μία ή περισσότερες ψηφοφορίες, για ορισμένο ή αόριστο χρονικό διάστημα. \item Μερική ψηφοφορία: επιβολή περιρισμών στο δικαίωμα ψήφου, βάσει κάποιου κριτηρίου (π.χ. ημερομηνία εγγραφής χρήστη). @@ -43,6 +43,6 @@ Μία επιπλέον προσθήκη στην εφαρμογή μπορεί είναι ένα σύστημα απόδοσης εμπιστοσύνης (reputation system). Μέσω ενός reputation system, οι χρήστες μπορούν να κερδίζουν ή να χάνουν βαθμούς εμπιστοσύνης, με τον τρόπο που ορίζεται από το εκάστοτε smart contract. -Ορισμένες ενδεικτικές χρήσεις του είναι η συνεργασία του με τους μηχανισμούς που περιγράφονται στις υποενότητες \ref{subsection:5-2-1-ethereum-fees-management} και \ref{subsection:5-2-3-alternative-voting-systems}. Για παράδειγμα, η ισχύς της ψήφου ενός μέλους μίας κοινότητας ή το ποσό των τελών που καλείται να καταβάλλει στο Ethereum θα μπορούσαν να υπολογίζονται αναλογα με τον βαθμό εμπιστοσύνης που έχει κατακτήσει. +Ορισμένες ενδεικτικές χρήσεις του είναι η συνεργασία του με τους μηχανισμούς που περιγράφονται στις υποενότητες \ref{subsection:5-2-1-ethereum-fees-management} και \ref{subsection:5-2-3-alternative-voting-systems}. Για παράδειγμα, η ισχύς της ψήφου ενός μέλους μίας κοινότητας ή το ποσό των τελών που καλείται να καταβάλλει στο Ethereum θα μπορούσαν να υπολογίζονται αναλογα με τον βαθμό εμπιστοσύνης που έχει αποκτήσει. Υιοθετώντας την αφηρημένη λογική που περιγράφηκε στα συστήματα ψηφοφορίας της προηγούμενης παραγράφου, είναι εφικτό να παρέχεται η δυνατότητα σε κάθε κοινότητα να επιλέγει μεταξύ ενός συνόλου διαφορετικών συστημάτων απόδοσης εμπιστοσύνης για τα μέλη της, μέσω εναλλακτικών reputation smart contract. Ήδη υπάρχει μία πλούσια γκάμα τέτοιων συστημάτων που μπορούν να υλοποιηθούν επί του Ethereum, με την ταξινομία τους να ορίζεται επί μίας πληθώρας ανεξάρτητων διαστάσεων.\cite{5.2-taxonomy-of-reputation-systems} Ωστόσο, η περαιτέρω ανάλυση τους, είναι θέμα που εκτείνεται πέρα από τα πλαίσια της παρούσας διπλωματικής εργασίας. diff --git a/thesis.pdf b/thesis.pdf index f5b58e4..f348684 100644 Binary files a/thesis.pdf and b/thesis.pdf differ