Consensus Mechanisms: Ο πυρήνας της τεχνολογίας Blockchain

    Αναρωτηθήκατε ποτέ ποιο είναι το βασικό και αναπόσπαστο “συστατικό” της τεχνολογίας blockchain; Η απάντηση βρίσκεται στην αρχιτεκτονική του δικτύου blockchain. Η αρχιτεκτονική έχει σχεδιαστεί έξυπνα και οι μηχανισμοί συναίνεσης (consensus mechanisms) βρίσκονται στον πυρήνα αυτής της αρχιτεκτονικής.

    Η τεχνολογία blockchain φέρνει εκατομμύρια ανθρώπους στον ίδιο διαδικτυακό χώρο. Πώς γίνεται λοιπόν να μην παρεμβαίνει ποτέ ο ένας στον άλλο και να συνυπάρχουν αρμονικά;

    Αυτό γίνεται εφικτό εξαιτίας των μηχανισμών συναίνεσης (consensus mechanisms). Περιγράφεται ως μια διαδικασία λήψης αποφάσεων για μια ομάδα, όπου τα άτομα της ομάδας κατασκευάζουν και υποστηρίζουν την απόφαση που λειτουργεί καλύτερα για όλους. Είναι μια μορφή επίλυσης όπου τα άτομα πρέπει να υποστηρίξουν την απόφαση της πλειοψηφίας, είτε τους αρέσει είτε όχι.

    Έτσι, είναι πάντα μια νίκη για το δίκτυο. Οι μηχανισμοί συναίνεσης (consensus mechanisms) είναι μέθοδοι για τη δημιουργία ισότητας και δικαιοσύνης στον διαδικτυακό κόσμο.

    πηγή : www.cloudcredential.org

    Ας πάρουμε ένα παράδειγμα δύο χρηστών, του Α και Β που προσπαθούν να πραγματοποιήσουν μια συναλλαγή. Τα βήματα ειναι τα εξής:

    Βήμα 1: Ο χρήστης Α θέλει να στείλει χρήματα στον χρήστη Β. Καθένας από αυτούς έχει ένα ιδιωτικό και ενα δημόσιο κλειδί. Ο χρήστης Α προσθέτει χρήματα σε ένα ψηφιακό πορτοφόλι (ας πούμε Bitcoin) και επιτρέπει την αποστολή των χρημάτων χρησιμοποιώντας μια κρυπτογραφημένη ψηφιακή υπογραφή.

    Βήμα 2: Η ζητούμενη συναλλαγή “εκπέμπεται” σε ένα δίκτυο peer-to-peer (αποτελούμενο από υπολογιστές γνωστούς ως nodes – κόμβους) χρησιμοποιώντας ένα δημόσιο κλειδί.

    Βήμα 3: Το δίκτυο των κόμβων επικυρώνει τη συναλλαγή χρησιμοποιώντας γνωστούς αλγόριθμους. (Consensus mechanisms)

    Βήμα 4: Οι υπολογιστές στο συνδεδεμένο δίκτυο επαληθεύουν και επικυρώνουν τη συναλλαγή. Αυτή η συναλλαγή μπορεί να περιλαμβάνει κρυπτονομίσματα, συμβόλαια, αρχεία ή άλλες πληροφορίες.

    Βήμα 5: Μόλις επικυρωθεί η συναλλαγή συνδυάζεται με άλλες συναλλαγές για να δημιουργηθεί ένα νέο block δεδομένων. Από την μεριά του Α, η συναλλαγή έχει ολοκληρωθεί και τα χρήματα μεταφέρονται στον χρήστη Β.

    Βήμα 6: Το νέο block προστίθεται στην ήδη υπάρχουσα αλυσίδα blockchain με τρόπο μόνιμο και αμετάβλητο.

    Βήμα 7: Ολοκληρώθηκε η συναλλαγή.

    Στόχοι των μηχανισμών συναίνεσης

    Οι μηχανισμοί συναίνεσης Blockchain έχουν ορισμένους συγκεκριμένους στόχους, όπως:

    Συμφωνία: Ο μηχανισμός συγκεντρώνει όλες τις συμφωνίες από την ομάδα, όσο περισσότερο μπορεί.

    Συνεργασία: Καθένας από την ομάδα στοχεύει σε μια καλύτερη συμφωνία, που να έχει ως αποτέλεσμα το συμφέρον της ομάδας στο σύνολό της.

    Συνεργασία: Κάθε άτομο θα εργαστεί ως ομάδα και θα αφήσει στην άκρη τα δικά του συμφέροντα.

    Ίσα δικαιώματα: Η ψήφος κάθε ατόμου είναι σημαντική και έχει την ίδια αξία με οποιαδήποτε άλλη ψήφο.

    Συμμετοχή: Όλοι εντός του δικτύου πρέπει να συμμετέχουν στην ψηφοφορία. Κανείς δεν θα μείνει εκτός ή δεν θα μπορεί να μείνει εκτός χωρίς ψήφο.

    Δραστηριότητα: κάθε μέλος της ομάδας είναι εξίσου ενεργό. Δεν υπάρχει κανένας με μεγαλύτερη ευθύνη στην ομάδα.

    Μηχανισμοί συναίνεσης (Consensus Mechanisms)

    Τώρα ας ρίξουμε μια ματιά στο εσωτερικό της τεχνολογίας blockchain για να έχουμε μια καλύτερη εικόνα ολόκληρου του δικτύου.

    Η τεχνολογία blockchain θα σας επιτρέψει μόνο να δημιουργήσετε μια διαφορετικά δομημένη βάση δεδομένων, αλλά δεν θα πραγματοποιήσει τη διαδικασία αποκέντρωσης. Γι’ αυτό χρειαζόμαστε αλγόριθμους συναίνεσης για να βεβαιωθούμε ότι το σύστημα είναι πλήρως αποκεντρωμένο.

    Δεν έχει καν σημασία αν οι κόμβοι εμπιστεύονται ο ένας τον άλλον ή όχι. Θα πρέπει να ακολουθήσουν ορισμένες αρχές και να καταλήξουν σε συλλογική ομόφωνη απόφαση.

    Ας δούμε λοιπόν τους πιο γνωστούς και ευρέως διαδεδομένους αλγόριθμους συναίνεσης.

    Proof of Work (PoW)

    Το Proof of Work (PoW) είναι ένας μηχανισμός συναίνεσης που χρησιμοποιείται για την επιβεβαίωση και την καταγραφή συναλλαγών κρυπτονομισμάτων.

    Κάθε κρυπτονόμισμα έχει μια αλυσίδα απο blocks (blockchain), η οποία είναι ένα δημόσιο “βιβλίο” που αποτελείται από blocks συναλλαγών. Στα κρυπτονομίσματα που χρησιμοποιούν αλγόριθμο PoW, κάθε block συναλλαγών, έχει ένα συγκεκριμένο hash.

    Τοποθετώντας ένα συγκεκριμένο σύνολο δεδομένων μέσω μιας συνάρτησης hash, θα δημιουργήθει, μόνο ένα, συγκεκριμένο hash. Ακόμη και μια μικροσκοπική αλλαγή σε οποιοδήποτε τμήμα των αρχικών δεδομένων θα οδηγήσει σε έναν εντελώς διαφορετικό hash. Όποιο και αν είναι το μέγεθος του αρχικού συνόλου δεδομένων, το hash που δημιουργείται από μια δεδομένη συνάρτηση θα έχει το ίδιο μήκος. Ο αλγόριθμος που χρησιμοποιεί το Bitcoin ονομάζεται SHA-256 και δημιουργεί πάντα hashes με 64 χαρακτήρες. To hash function είναι μια μονόδρομη συνάρτηση: δεν μπορεί να χρησιμοποιηθεί για τη λήψη των αρχικών δεδομένων, μόνο για να ελεγχθεί ότι τα δεδομένα που δημιούργησαν το συγκεκριμένο hash ταιριάζουν με τα αρχικά δεδομένα.

    Όταν πραγματοποιούνται συναλλαγές Bitcoin, περνούν από μια επαλήθευση ασφαλείας και ομαδοποιούνται σε ένα block προς mining. Στη συνέχεια, ο αλγόριθμος PoW του Bitcoin δημιουργεί ένα hash για το block. Για να επιβεβαιωθεί το block, ένας miner πρέπει να δημιουργήσει ένα hash που να είναι μικρότερο ή ίσο με αυτό του block.

    Για να το πετύχουν αυτό, οι miners χρησιμοποιούν συσκευές που πραγματοποιούν εκατομμύρια υπολογισμούς. Ο στόχος του κάθε miner είναι να βρει πρώτος το σωστό hash, επειδή αυτός ο miner θα είναι αυτός που μπορεί να ενημερώσει το blockchain, δηλαδή να προσθέσει το νέο block και να λάβει επίσης ανταμοιβη με τη μορφή bitcoin και χρεώσεις συναλλαγών (fees) . 

    Ο λόγος που το PoW λειτουργεί καλά είναι επειδή η εύρεση του hash είναι δύσκολη, αλλά η επαλήθευση δεν είναι. Η διαδικασία είναι αρκετά δύσκολη για να αποτρέψει τη χειραγώγηση των αρχείων συναλλαγών. Ταυτόχρονα, μόλις βρεθεί ένα hash είναι εύκολο για τους άλλους miners να το ελέγξουν.

    Ο αλγόριθμος PoW που χρησιμοποιεί το Bitcoin στοχεύει στην προσθήκη ενός νέου block κάθε 10 λεπτά. Για να γίνει αυτό, προσαρμόζει τη δυσκολία ανάλογα με το πόσο γρήγορα οι miners προσθέτουν blocks. Εάν το mining γίνεται πολύ γρήγορα, οι υπολογισμοί hash γίνονται πιο δύσκολοι. Αν πάει πολύ αργά, γίνονται πιο εύκολοι. Η δυσκολία επιτυγχάνεται με τον καθορισμό ενός “στόχου” για το hash: όσο χαμηλότερος είναι ο στόχος, τόσο μικρότερο είναι το σύνολο έγκυρων hashes και τόσο πιο δύσκολο είναι να δημιουργηθεί ένας. Στην πράξη, αυτό σημαίνει ένα hash που ξεκινά με μια πολύ μακρια σειρά μηδενικών.

    Το bitcoin έχει max supply 21 εκατομμυρία νομισμάτα. Όταν όλα τα bitcoin παραχθούν, οι miners θα συνεχίσουν να λαμβάνουν τέλη συναλλαγών (fees) για την υπηρεσία τους.

    Proof of Stake (PoS)

    Ο αλγόριθμος Proof of Stake (PoS) επιτρέπει στους κατόχους ενός κρυπτονομίσματος να καταθέσουν ως ενέχυρο (pledge), νομίσματα στο δικτυο και να δημιουργήσουν τους δικούς τους κόμβους επικύρωσης. (validator nodes). Staking γίνεται όταν “δανείζετε” τα νομίσματά σας ώστε να χρησιμοποιηθούν για την επαλήθευση συναλλαγών και να κερδίσετε rewards. Τα νομίσματά σας είναι κλειδωμένα ενώ είναι σε staking, αλλά μπορείτε να τα αποδεσμεύσετε αν θέλετε να τα πουλήσετε.

    Όταν ένα block συναλλαγών είναι έτοιμο για επεξεργασία, ο  αλγόριθμος Proof of Stake θα επιλέξει έναν κόμβο επικύρωσης για να ελέγξει το block. Ο validator ελέγχει εάν οι συναλλαγές στο block είναι ακριβείς. Εάν είναι, προσθέτει το block στο blockchain και λαμβάνει ανταμοιβή για τη συνεισφορά του. Ωστόσο, εάν ένας validator προτείνει την προσθήκη ενός block με ανακριβείς πληροφορίες, χάνει μέρος των staked νομισμάτων του ως ποινή.

    Για παράδειγμα, ας δούμε πώς λειτουργεί αυτό με το Cardano (ADA), ένα κρυπτονόμισμα που χρησιμοποιεί τον αλγόριθμο Proof of Stake (PoS).

    Οποιοσδήποτε κατέχει ADA μπορεί να τα καταθέσει ως ενέχυρο (pledge) και να δημιουργήσει τον δικό του κόμβο επικύρωσης. Όταν το Cardano χρειάζεται να επαληθεύσει block συναλλαγών, το πρωτόκολλο Ouroboros επιλέγει έναν validator. Ο validator ελέγχει το block, το προσθέτει και λαμβάνει ADA ως ανταμοιβή.

    Η ισχύς του node που απαιτείται στο Proof of Stake εξαρτάται από την ποσότητα των νομισμάτων που έχει κατατεθεί ως ενέχυρο από τον validator. Οι συμμετέχοντες στο δίκτυο που δεσμεύουν περισσότερα νομίσματα είναι πιο πιθανό να επιλεγούν για να προσθέσουν νέα blocks. 

    Κάθε πρωτόκολλο Proof of Stake λειτουργεί διαφορετικά στον τρόπο με τον οποίο επιλέγει τους validators. Συνήθως εμπλέκεται ένα στοιχείο τυχαιοποίησης και η διαδικασία επιλογής μπορεί επίσης να εξαρτάται από άλλους παράγοντες, όπως το πόσο καιρό οι validators έχουν ενέχυρο τα νομίσματά τους.

    Οι περισσότεροι απο τους επενδυτές συμμετέχουν σε staking pools. Ο pool operator αφού δημιουργήσει τον κόμβο επικύρωσης, προσπαθεί να προσελκύσει όσους περισσότερους μπορεί που να “καταθέσουν” τα νομίσματά τους στο pool, ώστε μαζί να αυξήσουν τις πιθανότητες να προσθέσουν νέα blocks. Οι ανταμοιβές μοιράζονται μεταξύ των συμμετεχόντων στο pool. Ο pool operator επίσης συνήθως κρατάει ένα μικρό fee.

    Λόγω του τρόπου λειτουργίας του, το Proof of Stake ωφελεί τόσο τα κρυπτονομίσματα που το χρησιμοποιούν όσο και τους επενδυτές τους. Είναι σε θέση να επεξεργάζονται συναλλαγές γρήγορα και με χαμηλό κόστος, το οποίο είναι βασικό για την κλιμακωσιμότητα (scalability). Οι επενδυτές μπορούν να κάνουν stake τα νομίσματα τους για να κερδίσουν ανταμοιβές, έχοντας έτσι μια μορφή παθητικού εισοδήματος. Tο γεγονός ότι το Proof of Stake είναι φιλικο προς το περιβάλλον σημαίνει ότι πιθανότατα θα συνεχίσει να γίνεται πιο δημοφιλής ως μηχανισμός συναίνεσης. Είναι άξιο αναφοράς οτι και το Ethereum 2.0 θα χρησιμοποίει PoS.

    Delegated Proof of Stake (DPoS)

    Μια παραλλαγή του αλγορίθμου Proof of Stake αποτελεί ο αλγόριθμος συναίνεσης Delegated Proof of Stake (DPoS).

    Ένα blockchain που βασίζεται σε DPoS χρησιμοποιεί ένα σύστημα ψηφοφορίας όπου οι ενδιαφερόμενοι αναθέτουν την εργασία τους σε τρίτους. Με άλλα λόγια, μπορούν να ψηφίσουν εκπροσώπους οι οποίοι θα εξασφαλίσουν την ασφάλεια του δικτύου για λογαριασμό τους και είναι υπεύθυνοι για την επίτευξη συναίνεσης κατά τη δημιουργία και την επικύρωση νέων blocks. Η βαρύτητα της ψήφου είναι ανάλογη με τον αριθμό των νομισμάτων που κατέχει κάθε χρήστης. Συνήθως, οι ανταμοιβές που συγκεντρώνουν οι εκπρόσωποι μοιράζονται αναλογικά με τους αντίστοιχους εκλογείς τους.

    Επομένως, ο αλγόριθμος DPoS δημιουργεί ένα σύστημα ψηφοφορίας που εξαρτάται άμεσα από τη φήμη των εκπροσώπων. Εάν ένας εκλεγμένος κόμβος δεν συμπεριφέρεται σωστά ή δεν λειτουργεί αποτελεσματικά, θα αποβληθεί γρήγορα και θα αντικατασταθεί από έναν άλλο.

    Όσον αφορά την απόδοση, ο αλγόριθμος DPoS έχει καλύτερη κλιμακωσιμότητα, καθώς μπορεί να επεξεργαστεί περισσότερες συναλλαγές ανά δευτερόλεπτο (Transactions Per Second – TPS), σε σύγκριση με το PoW και το PoS.

    Ενώ τα PoS και DPoS είναι παρόμοια, το DPoS παρουσιάζει ένα πιο δημοκρατικό σύστημα ψηφοφορίας των εκπροσώπων, το οποίο διατηρείται από τους ψηφοφόρους. Έτσι, οι εκπρόσωποι παρακινούνται να είναι ειλικρινείς,τίμιοι και αποτελεσματικοί.

    Proof of Elapsed Time (PoET)

    Η ιδέα του PoET επινοήθηκε στις αρχές του 2016 από την Intel Corporation. Είναι ένα εργαλείο υψηλής τεχνολογίας για την επίλυση του υπολογιστικού προβλήματος random leader election – “επικεφαλής τυχαίας εκλογής”.

    Το Proof of Elapsed Time (PoET) είναι ένας αλγόριθμος συναίνεσης που χρησιμοποιείται συχνά στα permissioned δίκτυα blockchain για να αποφασίσει τα δικαιώματα των miners ή αυτούς που θα προσθέτουν τα blocks. Τα permissioned δίκτυα blockchain απαιτούν από κάθε υποψήφιο συμμετέχοντα να ταυτοποιηθεί προτού του επιτραπεί να ενταχθεί. Βασισμένος στην αρχή ενός δίκαιου συστήματος κλήρωσης, όπου κάθε κόμβος είναι εξίσου πιθανό να είναι νικητής, ο μηχανισμός PoET βασίζεται στην κατανομή των πιθανοτήτων δίκαιης νίκης στον μεγαλύτερο δυνατό αριθμό συμμετεχόντων στο δίκτυο.

    Η λειτουργία του αλγόριθμου PoET έχει ως εξής. Κάθε συμμετέχων κόμβος στο δίκτυο απαιτείται να περιμένει για μια τυχαία επιλεγμένη χρονική περίοδο(wait time). Επίσης, κάθε κόμβος στο δίκτυο δημιουργεί έναν τυχαίο χρόνο αναμονής και τίθεται σε αδράνεια για αυτήν την καθορισμένη διάρκεια (sleeping time). Αυτός που θα “ξυπνήσει” πρώτος, την χρονική στιγμή που πρέπει να γίνει η επικύρωση ενός block και να προστεθεί στην αλυσίδα,αναλαμβάνει το έργο αυτό, μεταδίδοντας τις απαραίτητες πληροφορίες σε ολόκληρο το δίκτυο. Στη συνέχεια, η ίδια διαδικασία επαναλαμβάνεται για την προσθήκη του επόμενου block.

    Ο μηχανισμός συναίνεσης PoET πρέπει να διασφαλίζει δύο σημαντικούς παράγοντες. Πρώτον, ότι οι συμμετέχοντες κόμβοι επιλέγουν έναν χρόνο (sleeping time) που είναι πράγματι τυχαίος και δεύτερον, ο μηχανισμός διαπιστώνει ότι ο νικητής έχει πράγματι συμπληρώσει τον χρόνο αναμονής.

    Proof of History (PoH)

    Το Solana (SOL) χρησιμοποιει τον αλγοριθμο Proof of History (PoH) το οποίο αποτελεί και την βασική του καινοτομία. Τι θα γινόταν αν αντί να εμπιστεύεστε τη χρονική σήμανση (timestamp) μπορούσατε να αποδείξετε ότι το μήνυμα εμφανίστηκε κάποια στιγμή πριν και μετά από ένα συμβάν; Όταν τραβάτε μια φωτογραφία με το εξώφυλλο των New York Times, δημιουργείτε μια απόδειξη ότι η φωτογραφία σας τραβήχτηκε μετά τη δημοσίευση αυτής της εφημερίδας. Με το Proof of History (PoH), μπορείτε να δημιουργήσετε ένα ιστορικό αρχείο που αποδεικνύει ότι ένα γεγονός συνέβη σε μια συγκεκριμένη χρονική στιγμή. Ενώ άλλοι μηχανισμοί απαιτούν από τους validators να “συνομιλούν” μεταξύ τους προκειμένου να συμφωνήσουν ότι έχει περάσει ο χρόνος, κάθε validator του δικτύου Solana διατηρεί το δικό του ρολόι κωδικοποιώντας το πέρασμα του χρόνου σε μια απλή SHA-256, επαληθεύσιμης καθυστέρησης συνάρτηση, διαδοχικού κατακερματισμού (Verifiable Delay Function).

    Η δομή δεδομένων του Solana συνδέει τα μηνύματα μαζί. Αυτό παρέχει μια κρυπτογραφική απόδειξη της σχετικής σειράς και του χρόνου κάθε μηνύματος στο ιστορικό αρχείο. Αυτό επιτρέπει στο δίκτυο να αγνοεί τα τοπικά ρολόγια και σταδιακά να αντιμετωπίζει όλες τις πιθανές καθυστερήσεις δικτύου καθώς η δομή δεδομένων τελικά παραδίδεται και συναρμολογείται εκ νέου. Αυτός είναι ο λόγος για τον οποίο το Solana μπορεί να μειώσει τον χρόνο επιβεβαίωσης, έτσι ώστε το δίκτυο να παρέχει τόσο αποτελεσματική λειτουργία, όσο ένα κεντρικό σύστημα χωρίς να θυσιάζει (;;) την ασφάλεια ή την αποκέντρωση.

    Αυτό που προσθέτει το Proof of History (PoH) στο δίκτυο είναι μια μορφή αντικειμενικότητας. Επιτρέπει στους validators να υπολογίζουν την κατάσταση του δικτύου από το ίδιο το “βιβλίο” (ledger). Με βάση τα validation μηνύματα που υπάρχουν στο ledger, ένας validator μπορεί να αποφασίσει εάν οποιοσδήποτε κόμβος θεωρείται έγκυρος ή μη έγκυρος και εάν το δίκτυο έχει υποβάλει επαρκή αριθμό ψήφων ώστε το ledger να θεωρηθεί έγκυρο. Τα μηνύματα δεν απαιτείται να φτάσουν σε κανέναν δεδομένο validator εγκαιρα. Το ledger φτάνει τελικά σε κάθε validator και επειδή τα μηνύματα αποτελούν μέρος του, το PoH παρέχει την κρυπτογραφική εγγύηση ότι τα μηνύματα δημιουργήθηκαν όταν απαιτήθηκε.

    Αυτή η ιδιότητα επιτρέπει να βελτιστοποιείται το δίκτυο σε πολλαπλές παραμέτρους, ιδιαίτερα όσον αφορά τον χρόνο παραγωγής του block, ένα ουσιαστικό στοιχείο της τεχνολογίας blockchain όσον αφορά την ταχύτητα και την αποτελεσματικότητα.

    Διαβάστε εδώ αναλυτικότερα για το Proof of History

    Proof of History: Ένα ρολόι για το Blockchain

    Proof of Capacity (PoC)

    Το Proof of Capacity (PoC) είναι ένας μηχανισμος συναίνεσης που επιτρέπει στις συσκευες mining του δικτύου να χρησιμοποιούν τον διαθέσιμο χώρο στον σκληρό δίσκο ώστε να αποφασιστούν τα δικαιώματα mining και να επικυρωθούν οι συναλλαγές. Το Proof of Capacity ή μπορεί να το δείτε και ως Proof of Space, εμφανίστηκε ως μία από τις πολλές εναλλακτικές λύσεις στο πρόβλημα της υψηλής κατανάλωσης ενέργειας σε συστήματα όπως το PoW.

    Ο αλγόριθμος επιτρέπει στις συσκευές mining, γνωστές και ως κόμβοι (nodes), στο δίκτυο blockchain να χρησιμοποιούν κενό χώρο στον σκληρό δίσκο τους,για την διαδικασία του mining. Αντί της επανειλημμένης αλλαγής των αριθμών στo header του block και του επαναλαμβανόμενου κατακερματισμού (hashing) για την τιμή λύσης όπως σε ένα σύστημα PoW, το PoC λειτουργεί αποθηκεύοντας μια λίστα πιθανών λύσεων στον σκληρό δίσκο της συσκευής, ακόμη και πριν από την έναρξη του mining.

    Όσο μεγαλύτερος είναι ο σκληρός δίσκος, τόσο περισσότερες πιθανές τιμές λύσης μπορεί κανείς να αποθηκεύσει στον σκληρό δίσκο άρα τόσο περισσότερες πιθανότητες έχει ένας miner να έχει αποθηκευμένη την απαιτούμενη τιμή κατακερματισμού (hash value) στη λίστα του, με αποτέλεσμα περισσότερες πιθανότητες να κερδίσει την ανταμοιβή.

    Ο μηχανισμός PoC περιλαμβάνει μια διαδικασία δύο βημάτων. Αρχικός σχεδιασμός και mining.

    Αρχικά,προετοιμάζεται ο σκληρός δίσκος: η λίστα με όλες τις πιθανές τιμές nonce δημιουργείται μέσω επαναλαμβανόμενου κατακερματισμού (hashing) δεδομένων, συμπεριλαμβανομένου του λογαριασμού του miner. Κάθε τέτοιο nonce περιέχει 8192 hashes, οι οποίοι αριθμούνται από το 0 έως το 8191. Όλα τα hashes ζευγαρώνονται σε “scoops”, που σημαίνει ότι τα παρακείμενα hashes συνδυάζονται για να σχηματίσουν ένα ζευγάρι των δύο. Για παράδειγμα, το hash 0 και το 1 αποτελούν το scoop 0, το hash 2 και το 3 αποτελούν το hash 1 και ούτω καθεξής.

    Το δεύτερο βήμα περιλαμβάνει την πραγματική διαδικασία mining κατά την οποία ένας miner υπολογίζει έναν αριθμό scoop. Για παράδειγμα, εάν ένας miner ξεκινήσει το mining και δημιουργήσει έναν αριθμό scoop 38, θα πήγαινε στη συνέχεια στον αριθμό scoop 38 του nonce 1 και θα χρησιμοποιούσε τα δεδομένα αυτου του scoop για να υπολογίσει μια τιμή deadline. Η διαδικασία επαναλαμβάνεται για τον υπολογισμό του deadline για κάθε nonce που διατηρείται στον σκληρό δίσκο του miner. Μετά τον υπολογισμό όλων των deadline, ο miner επιλέγει αυτό με την μικρότερη τιμή.

    Η τιμή deadline αντιπροσωπεύει τη διάρκεια του χρόνου σε δευτερόλεπτα που πρέπει να περάσει από τότε που δημιουργήθηκε το τελευταίο block προτού επιτραπεί σε έναν miner να δημιουργήσει ένα νέο block. Εάν κανένας άλλος δεν έχει δημιουργήσει ένα block μέσα σε αυτό το διάστημα, ο miner μπορεί να δημιουργήσει ένα block και να διεκδικήσει την ανταμοιβή.

    Για παράδειγμα, εάν ο miner X καταλήξει σε ελάχιστο deadline 36 δευτερολέπτων και κανένας άλλος miner δεν μπορεί να προσθέσει το block μέσα στα επόμενα 36 δευτερόλεπτα, ο X θα εξασφαλίσει την ευκαιρία δημιουργιας του επόμενου block και να ανταμειφθεί.

    Proof of Burn (PoB)

    Το Proof of Burn (POB) είναι ένας εναλλακτικός αλγόριθμος συναίνεσης που προσπαθεί να αντιμετωπίσει, όπως οι περισσότεροι άλλωστε, το ζήτημα της υψηλής κατανάλωσης ενέργειας ενός συστήματος PoW. Το PoB ονομάζεται συχνά σύστημα PoW χωρίς όμως την σπατάλη ενέργειας. Η αρχή λειτουργίας επιτρέπει στους miners να «κάψουν» coins. Στη συνέχεια, τους παρέχεται το δικαίωμα να δημιουργήσουν block ανάλογα με τα coins που καίγονται.

    Ο Iain Stewart, ο εφευρέτης του αλγορίθμου PoB, χρησιμοποιεί μια αναλογία για να περιγράψει τον αλγόριθμο: τα coins που “καίγονται” είναι σαν εξέδρες εξόρυξης. Σε αυτήν την αναλογία, ένας miner καίει τα coins του για να αγοράσει μια εικονική εξέδρα εξόρυξης που του δίνει τη δυνατότητα να προσθεσει blocks . Όσο περισσότερα νομίσματα καίγονται από τον miner, τόσο μεγαλύτερη θα είναι η εικονική εξέδρα της εξόρυξης.

    Για να κάψουν τα coins, οι miners τα στέλνουν σε μια επαληθεύσιμη διεύθυνση που δεν μπορεί να χρησιμοποιηθεί. Αυτή η διαδικασία δεν καταναλώνει πολλούς πόρους (εκτός από τα καμένα νομίσματα) και διασφαλίζει ότι το δίκτυο παραμένει ενεργό και ευέλικτο. Ανάλογα με την εφαρμογή, οι miners επιτρέπεται να καίνε native coins ή coins ενός  εναλλακτικού δικτύου, όπως το Bitcoin. Σε αντάλλαγμα, λαμβάνουν ανταμοιβή στο native token του εκάστοτε δικτύου.

    Για να αποτρέψει την πιθανότητα αθέμιτου πλεονεκτήματος για τους πρώτους χρήστες, το σύστημα PoB έχει εφαρμόσει έναν μηχανισμό που προωθεί την περιοδική καύση coins για τη διατήρηση της ισχύος του mining. Η “ισχύς” των burned coins μειώνεται μερικώς κάθε φορά που προστίθεται ένα νέο block. Αυτό προωθεί την συνεχή δραστηριοποίηση των miners, αντί για μια εφάπαξ, αρχική επένδυση. Για να διατηρήσουν ένα ανταγωνιστικό πλεονέκτημα, οι miners μπορεί επίσης να χρειαστεί να επενδύουν περιοδικά σε καλύτερο εξοπλισμό καθώς προχωρά η τεχνολογία.

    Proof of View (PoV)

    Οι πλατφόρμες βίντεο προβολών μαστίζονται από ύποπτα και συχνά πλαστά στατιστικά στοιχεία προβολής. Αυτά τα στατιστικά στοιχεία χρησιμοποιούνται για την εκτίμηση του περιεχομένου ή της διαφήμισης, με αποτέλεσμα να χειραγωγούνται για να δημιουργήσουν δόλια έσοδα.

    Το Verasity (VRA) χρησιμοποιεί το PoV™ (Proof of View) έναν πατενταρισμένο αλγόριθμο συναίνεσης σχεδιασμένο για να επαληθεύει με ασφάλεια τις προβολές με τρόπο δημόσια διαφανή και απαραβίαστο. Για να διασφαλίσει ένα ακριβές και διαφανές PoV™, το Verasity θα εφαρμόσει αρχεία καταγραφής με δυνατότητα δημόσιου ελέγχου. Αυτά τα αρχεία καταγραφής θα περιέχουν όλες τις προβολές και τις προτάσεις περιεχομένου μαζί με ανώνυμες πληροφορίες θεατών.

    Ένα Merkle Hash Tree εγγυάται ότι η βάση δεδομένων δεν έχει αλλάξει ποτέ. Στο hash tree τα δεδομένα της προβολής περνούν από hash functions πριν συνδυαστούν με αλλά hashes έως ότου υπάρξει ένα τελικό top hash. Κάθε top hash αντιπροσωπεύει όλα τα δεδομένα που είναι αποθηκευμένα στο συγκεκριμένο κομμάτι της βάσης δεδομένων. Η ίδια η βάση δεδομένων χωρίζεται σε κομμάτια. Ένα νέο κομμάτι δημιουργείται κάθε φορά που δημιουργείται ένα νέο block στο blockchain. Το top hash του τρέχοντος κομματιού προστίθεται σε κάθε νέο block στο blockchain.

    Καθώς αυτά τα δεδομένα αποθηκεύονται με αποκεντρωμένο τρόπο, ανεξάρτητοι φορείς (third parties) μπορούν να αποδείξουν ότι κάθε top hash που έχει προστεθεί στο blockchain είναι ακριβές και αμετάβλητο. Αυτό επιτρέπει σε οποιοδήποτε τρίτο μέρος να επαληθεύσει ότι τα αρχεία καταγραφής που προστέθηκαν σε κάθε νέο block του blockchain δεν έχουν παραβιαστεί, αλλάξει, διακλαδωθεί ή έχουν γίνει forked.

    Το σύστημα PoV™ αποτρέπει μεθόδους που οι θεατές μπορούν να χρησιμοποιήσουν ώστε να χειραγωγήσουν τον αριθμό προβολών και τις μετρήσεις κοινού όπως:

    • Αυτοματοποιημένη επαναλαμβανόμενη προβολή βίντεο (looping views)

    • Προσπάθεια για παράλληλη φόρτωση πολλών βίντεο

    • Φόρτωση βίντεο σε κρυφά παράθυρα / καρτέλες

    • Προσπάθεια χειραγώγησης στοιχείων χωρίς παρακολούθηση περιεχομένου

    • Το Verasity ή άλλο μέρος να αλλάξει τη βάση δεδομένων των προβολών

    Το Verasity ανέπτυξε το Proof of View για την αντιμετώπιση πολλών προβλημάτων. Το τρέχον πρότυπο προβλέπει ότι η ανάλυση πραγματοποιείται μετά την παράδοση του περιεχομένου και συχνά προς το τέλος μιας διαφημιστικής καμπάνιας. Με το Verasity, η τεχνολογία εντοπίζει παραποιήσεις δεδομένων όταν αυτό συμβαίνει. Χρησιμοποιώντας 200 σημεία επαφής και AI, το Verasity μπορεί να προσδιορίσει με μεγάλη ακρίβεια εάν ένα bot ή άνθρωπος παρακολουθεί μια διαφήμιση ή ένα περιεχόμενο με βάση τη συμπεριφορά των θεατών, σε πραγματικό χρόνο. Δεν υπάρχει πλέον αναμονή για αναλύσεις μετά την παράδοση του περιεχομένου ή για αίτηση επιστροφών χρημάτων από εκδότες. Η απάτη εντοπίζεται και εξαλείφεται αμέσως. 

    Η φάση αξιολόγησης προβολής περιεχομένου παρέχει πολλαπλές μετρήσεις οι οποίες συγκεντρώνονται κατά την προβολή του περιεχομένου. Αφού επαληθευτεί η προβολή ως γνήσια, πρέπει να λύσουμε το δεύτερο μέρος του προβλήματος – Αναφορά για τις έγκυρες διαφημίσεις. Κατά τη διάρκεια αυτής της φάσης όπου βαθμολογείται η προβολή, τα στατιστικά εισάγονται σε σύστημα AI για την έκδοση τελικής βαθμολογίας. Το Verasity χρησιμοποιεί προηγμένες μεθόδους για να εξασφαλίσει ότι μόνο οι προβολές που επαληθεύονται από το Proof of view υπολογίζονται. Οι προβολές που έχουν επαληθευτεί, προστίθενται σε δημόσια προσβάσιμη βάση δεδομένων που περιέχει ανώνυμα δεδομένα και καταγράφονται στο blockchain.

    Ένα παράδειγμα ύποπτης συμπεριφοράς θα ήταν ένα βίντεο που προβάλλεται επανειλημμένα από έναν χρήστη σε καθορισμένο χρονικό διάστημα. Αν και δεν πρόκειται απαραίτητα για ψεύτικη/μη έγκυρη προβολή, προτού εμφανιστούν πρόσθετες προβολές και να καταγραφούν ως επαληθευμένες, θα απαιτηθεί μια μη αυτόματη διαδικασία από τον θεατή για να βεβαιωθεί ότι ακόμα παρακολουθεί. Αυτή η χειροκίνητη είσοδος έχει σχεδιαστεί για να αποφεύγεται η αυτόματη/προγραμματισμένη “απαντηση” και να δίνει τη δυνατότητα να περάσει τον έλεγχο (π.χ. reCAPTCHA).

    Καθώς η τεχνολογία PoV™ πρόσθέτει δεδομένα μέσω της χρήσης, οποιαδήποτε κοινή ή με υψηλή συχνότητα ύποπτη δραστηριότητα θα χρησιμοποιηθεί για τη δημιουργία πρόσθετων, αυτοματοποιημένων λειτουργιών στο PoV™ για επαλήθευση.

    Τέλος, τα δεδομένα PoV™ είναι δημόσια ελεγχόμενα και διαφανή. Οι προβολές που έχουν επαληθευτεί θα προστεθούν σε μια δημόσια προσβάσιμη βάση δεδομένων που περιέχει ανώνυμα δεδομένα σχετικά με τις προβολές.

    Το Verasity θα παρέχει δωρεάν εργαλεία ανοιχτού κώδικα για την εξασφάλιση  της διαφάνειας και αξιοπιστίας του συστήματος. Με αυτά τα εργαλεία, οι θεατές καθώς και τρίτα μέρη μπορούν να ελέγξουν τα δεδομένα. Αν και τα δεδομένα προβολής είναι ανώνυμα, ανεξάρτητοι θεατές μπορούν να δημιουργήσουν το δικό τους μοναδικό αναγνωριστικό για να επαληθεύσουν ότι οι προβολές που έχουν καταγραφεί για το αναγνωριστικό τους είναι ακριβείς και δεν παραποιούνται.

    Για να διασφαλιστεί ότι τα δεδομένα που είναι αποθηκευμένα στη δημόσια προσβάσιμη βάση δεδομένων PoV™ είναι μη παραποιημένα δεδομένα, όλα τα δεδομένα προβολής αποστέλλονται στο blockchain καθώς και στους servers του Verasity.

    Direct Acyclic Graph (DAG)

    Το DAG είναι ένα εργαλείο μοντελοποίησης ή δόμησης δεδομένων που χρησιμοποιείται συνήθως σε κρυπτονομίσματα.

    Σε αντίθεση με το blockchain, δηλαδή μια αλυσίδα από blocks, το DAG έχει κορυφές και ακμές. Έτσι, οι συναλλαγές κρυπτογράφησης καταγράφονται ως κορυφές. Στη συνέχεια, αυτές οι συναλλαγές καταγράφονται η μία πάνω στην άλλη. Παρόμοια με ένα blockchain, οι συναλλαγές υποβάλλονται επίσης στο DAG μέσω κόμβων. Διαδικασίες PoW απαιτούνται από τους κόμβους για να υποβάλουν μια συναλλαγή.

    πηγή: bitcoinik.com

    Με απλά λόγια, ενώ ένα σύστημα blockchain μοιάζει με αλυσίδα, το σύστημα της DAG μοιάζει περισσότερο με γράφημα. Το μοντέλο DAG θεωρείται προς το παρόν στη βιομηχανία, ως πιθανό υποκατάστατο των blockchains στο μέλλον λόγω της αποτελεσματικότητάς του στην αποθήκευση δεδομένων και την επεξεργασία των διαδικτυακών συναλλαγών.

    Το μοντέλο DAG θεωρείται ως μια πιθανή λύση στο τρέχον ζήτημα της αποκέντρωσης στην κρυπτογράφηση. Με αυτό το μοντέλο, οι miners δεν θα χρειάζεται να ανταγωνίζονται για νέα block που θα προσθέσουν στην αλυσίδα. Με τους κόμβους που αναπτύσσονται ταυτόχρονα, οι συναλλαγές μπορούν επίσης να διεκπεραιωθούν ταχύτερα. Οι προγραμματιστές αντιμετωπίζουν το DAG ως μια καλύτερη, πιο ασφαλή λύση που μπορεί να βελτιώσει τη χρηστικότητα ενός δικτύου μόλις γίνει πιο επεκτάσιμο.

    Όπως αναφέρθηκε, ένα DAG είναι πιο αποτελεσματικό στην αποθήκευση δεδομένων. Η δομή του είναι σαν δέντρο, με διασυνδεδεμένους κόμβους ως “κλαδιά” του. Δεδομένου ότι κάθε κόμβος μπορεί να έχει περισσότερες από μία ρίζες, το μοντέλο επιτρέπει την ταυτόχρονη επικύρωση περισσότερων συναλλαγών. Αυτό συμβαίνει επειδή οι χρήστες δεν χρειάζεται να περιμένουν να ολοκληρωθούν οι συναλλαγές πριν επεξεργαστούν μια νέα.

    Έτσι, σε ένα DAG, κάθε νέα συναλλαγή πρέπει να αναφέρεται σε προηγούμενες συναλλαγές πριν γίνει αποδεκτή στο δίκτυο. Αυτό δεν διαφέρει από το πώς τα block σε ένα blockchain αναφέρονται επίσης σε προηγούμενα block. Το σκεπτικό πίσω από αυτό είναι ότι μια συναλλαγή μπορεί να επιβεβαιωθεί με επιτυχία μόνο όταν αναφέρεται από άλλη συναλλαγή και ούτω καθεξής.

    Σε ένα DAG, κάθε κορυφή αντιπροσωπεύει μια συναλλαγή. Δεν υπάρχουν block, επομένως δεν απαιτείται mining. Οι συναλλαγές είναι τοποθετημενες η μία πάνω στην άλλη αντί να συγκεντρώνονται σε block. Στη συνέχεια, όπως αναφέρθηκε προηγουμένως, διαδικασίες PoW εκτελούνται κάθε φορά που ένας κόμβος υποβάλλει μια συναλλαγή, για την επικύρωση προηγούμενων συναλλαγών και την αποφυγή ανεπιθύμητων μηνυμάτων.

    Η προστασία διπλής δαπάνης (double spending) στα DAG λειτουργεί με κόμβους που επιβεβαιώνουν παλαιότερες συναλλαγές αξιολογώντας μια διαδρομή που ανιχνεύει πίσω στην πρώτη συναλλαγή του DAG. Αυτό επιβεβαιώνει εάν ο αποστολέας έχει επαρκές υπόλοιπο ή όχι. Εάν ένας χρήστης δημιουργήσει μια μη έγκυρη διαδρομή, τότε αυτή η συναλλαγή κινδυνεύει να αγνοηθεί.

    Το μοντέλο DAG επιδιώκει να αντιμετωπίσει δύο αδυναμίες της τεχνολογίας blockchain, δηλαδή την αποκέντρωση και την επεκτασιμότητα. Επιδιώκει επίσης να βελτιώσει την ασφάλεια και τη χρηστικότητα.

    Στο bitcoin ή στο ethereum, οι miners μπορούν να δημιουργήσουν μόνο ένα block τη φορά. Ως εκ τούτου, οι νέες συναλλαγές μπορούν να επικυρωθούν μόνο όταν ολοκληρωθεί η προηγούμενη. Το μοντέλο DAG δεν χρησιμοποιεί blocks, προσθέτοντας τις συναλλαγές απευθείας στο blockchain. Άρα παρέχει υψηλές ταχύτητες συναλλαγών.

    Με την εξάλειψη των blocks, το μοντέλο DAG δεν απαιτεί mining. Αυτό σημαίνει ότι απαιτείται λιγότερη ισχύς για την υποστήριξη του δικτύου, άρα, λιγότερη κατανάλωση ενέργειας και περιβαλλοντικά οφέλη σε σύγκριση με το mining, όπως επίσης η απουσία miners σημαίνει και απουσία τελών συναλλαγής.

    Προς το παρόν, ωστόσο, η χρήση των DAGs είναι ακόμα στα αρχικά στάδια. Σε αντίθεση με τα blockchain, δεν είναι ακόμα πλήρως αποκεντρωμένα. Χρησιμοποιούνται κυρίως για την έναρξη των δικτύων και όχι ακόμη ως σύστημα που μπορεί να χρησιμοποιηθεί για την κατασκευή ενός σταθερού δικτύου.

    Proof of Authority (PoA)

    Διαβάστε αναλυτικά για το Proof of Authority παρακάτω:


    Πηγές: 101blockchains.com, hackermoon.com, fool.com, academy.binance.com, investopedia.com, medium.com, cointelegraph.com

    Κάντε εγγραφή για να λαμβάνετε το newsletter του Greepto!

    NChel
    NChel
    Το 2018 ασχολήθηκα για πρώτη φορά με τα κρυπτονομίσματα ως εναλλακτική επένδυση. Με τον καιρό, ανακάλυψα πως η τεχνολογία blockchain έχει δυνατότητες να αλλάξει πολλά από αυτά που θεωρούμε δεδομένα.

    Μετατροπέας Κρυπτονομισμάτων

    Source: CurrencyRate

    Ισοτιμίες Κρυπτονομισμάτων

    Τελευταία Άρθρα

    Σχετικά Άρθρα