-
Πριν μιλήσουμε για Bitcoin, cryptocurrencies και blockchain, πρέπει πρώτα να καταλάβουμε κάτι πολύ πιο βασικό.
Το χρήμα.
Το χρησιμοποιούμε σχεδόν κάθε μέρα.
Πληρώνουμε τον καφέ μας.
Αγοράζουμε φαγητό.
Πληρώνουμε το ενοίκιο.
Αποταμιεύουμε χρήματα για το μέλλον.
Στέλνουμε χρήματα σε άλλους ανθρώπους.
Βλέπουμε έναν αριθμό στον τραπεζικό μας λογαριασμό και γνωρίζουμε ότι μπορούμε να χρησιμοποιήσουμε αυτόν τον αριθμό για να αγοράσουμε πράγματα.
Αλλά τι είναι πραγματικά το χρήμα;
Και γιατί ένα χαρτονόμισμα των 50€ αξίζει 50€, ενώ ένα άλλο κομμάτι χαρτί σχεδόν τίποτα;
Για να το καταλάβουμε, πρέπει να πάμε αρκετά πίσω.
Πριν απο το χρημα
Φαντάσου ένα μικρό χωριό πριν από εκατοντάδες χρόνια.
Ο Γιώργος καλλιεργεί πατάτες.
Η Μαρία έχει κότες και παράγει αυγά.
Ο Νίκος φτιάχνει παπούτσια.
Ο Γιώργος χρειάζεται ένα καινούργιο ζευγάρι παπούτσια.
Θα μπορούσε λοιπόν να πάει στον Νίκο και να του πει:
«Θα σου δώσω 30 κιλά πατάτες και θα μου δώσεις ένα ζευγάρι παπούτσια.»
Αν ο Νίκος θέλει πατάτες, μπορεί να συμφωνήσει.
Έγινε ανταλλαγή.
Αυτό ονομάζεται αντιπραγματισμός (barter).
Δίνεις ένα αγαθό ή μια υπηρεσία και παίρνεις κάτι άλλο ως αντάλλαγμα.
Υπάρχει όμως ένα μεγάλο πρόβλημα.
Τι γίνεται αν ο Νίκος δεν θέλει πατάτες;
Μπορεί να θέλει αυγά.
Τώρα ο Γιώργος πρέπει πρώτα να βρει τη Μαρία.
Να ανταλλάξει τις πατάτες του με αυγά.
Και μετά να πάει στον Νίκο και να ανταλλάξει τα αυγά με παπούτσια.
Τα πράγματα αρχίζουν να γίνονται περίπλοκα.
Και όσο μεγαλώνει μια οικονομία, αυτό το σύστημα γίνεται εξαιρετικά δύσχρηστο.
Χρειαζόμαστε λοιπόν κάτι που να γίνεται αποδεκτό από όλους.
Κάτι που ο Γιώργος μπορεί να πάρει πουλώντας τις πατάτες του και στη συνέχεια να χρησιμοποιήσει για να αγοράσει παπούτσια.
Εδώ εμφανίζεται το χρήμα.
Τι ειναι λοιπον το χρημα;
Με πολύ απλά λόγια:
Το χρήμα είναι ένα κοινά αποδεκτό μέσο που χρησιμοποιούμε για να ανταλλάσσουμε αξία.
Αντί να ανταλλάσσουμε πατάτες με αυγά και αυγά με παπούτσια, χρησιμοποιούμε χρήματα.
Ο Γιώργος πουλάει τις πατάτες του για 50€.
Κρατάει τα 50€.
Και όταν χρειαστεί παπούτσια, χρησιμοποιεί ένα μέρος αυτών των χρημάτων για να τα αγοράσει.
Το χρήμα έκανε τις συναλλαγές πολύ πιο εύκολες.
Αλλά αυτή δεν είναι η μοναδική του λειτουργία.
Οι τρεις βασικες λειτουργιες του χρηματος
Για να λειτουργεί κάτι αποτελεσματικά ως χρήμα, συνήθως εξετάζουμε τρεις πολύ σημαντικές λειτουργίες.
1. Μεσο ανταλλαγης
Το χρήμα μας επιτρέπει να αγοράζουμε και να πουλάμε αγαθά και υπηρεσίες χωρίς να χρειάζεται να κάνουμε άμεση ανταλλαγή.
Θέλεις έναν καφέ;
Πληρώνεις 3€.
Ο ιδιοκτήτης της καφετέριας δεν χρειάζεται να ενδιαφέρεται για το τι μπορείς να του προσφέρεις ως αντάλλαγμα.
Δέχεται ευρώ επειδή γνωρίζει ότι μπορεί στη συνέχεια να χρησιμοποιήσει αυτά τα ευρώ για να αγοράσει κάτι άλλο.
2. Μοναδα μετρησης της αξιας
Το χρήμα μάς δίνει έναν κοινό τρόπο να εκφράζουμε τις τιμές.
Ένας καφές μπορεί να κοστίζει 3€.
Ένα ζευγάρι παπούτσια 100€.
Ένα κινητό 800€.
Ένα αυτοκίνητο 30.000€.
Χωρίς μια κοινή μονάδα μέτρησης, θα έπρεπε να υπολογίζουμε την αξία κάθε προϊόντος σε σχέση με δεκάδες άλλα προϊόντα.
Για παράδειγμα:
Πόσα αυγά αξίζει ένα κινητό;
Πόσα κιλά πατάτες αξίζει ένα αυτοκίνητο;
Πόσοι καφέδες αξίζουν ένα ζευγάρι παπούτσια;
Το χρήμα λύνει αυτό το πρόβλημα.
3. Αποθηκευση αξιας
Το χρήμα μάς επιτρέπει επίσης να μεταφέρουμε μέρος της αγοραστικής μας δύναμης στο μέλλον.
Αν σήμερα κερδίσεις 1.000€, δεν χρειάζεται να τα ξοδέψεις όλα σήμερα.
Μπορείς να κρατήσεις 300€ και να τα χρησιμοποιήσεις αργότερα.
Αυτό όμως μας οδηγεί σε μια πολύ σημαντική έννοια.
Η αξία του χρήματος δεν παραμένει απαραίτητα ίδια με την πάροδο του χρόνου.
ενα χαρτονομισμα εχει πραγματικα αξια;
Πάρε ένα χαρτονόμισμα των 50€.
Το ίδιο το χαρτί δεν αξίζει 50€.
Δεν μπορείς να το λιώσεις και να πάρεις υλικό αξίας 50€.
Τότε γιατί μπορείς να μπεις σε ένα κατάστημα και να αγοράσεις προϊόντα αξίας 50€;
Επειδή οι άνθρωποι, οι επιχειρήσεις και οι θεσμοί του οικονομικού συστήματος αποδέχονται το ευρώ ως χρήμα και υπάρχει εμπιστοσύνη ότι θα μπορεί να χρησιμοποιηθεί και στις επόμενες συναλλαγές.
Εσύ δέχεσαι 50€ για κάτι που πουλάς επειδή πιστεύεις ότι αύριο κάποιος άλλος θα δεχτεί αυτά τα 50€ από εσένα.
Αυτό είναι εξαιρετικά σημαντικό.
Το χρήμα λειτουργεί σε μεγάλο βαθμό επειδή υπάρχει κοινή αποδοχή και εμπιστοσύνη στο σύστημα μέσα στο οποίο χρησιμοποιείται.
Τι ειναι το fiat money;
Το ευρώ, το δολάριο και πολλά από τα σύγχρονα εθνικά νομίσματα χαρακτηρίζονται ως fiat currencies.
Το fiat money δεν χρειάζεται να αντιστοιχεί σε μια συγκεκριμένη ποσότητα χρυσού ή κάποιου άλλου εμπορεύματος.
Η αξία του βασίζεται στο νομισματικό και θεσμικό σύστημα που το υποστηρίζει, στη χρήση του στην οικονομία και στην εμπιστοσύνη των ανθρώπων σε αυτό.
Για παράδειγμα:
Το ευρώ εκδίδεται μέσα στο νομισματικό σύστημα της Ευρωζώνης, με την Ευρωπαϊκή Κεντρική Τράπεζα να έχει κεντρικό ρόλο στη νομισματική πολιτική.
Αυτό διαφέρει σημαντικά από τον χρυσό.
Ο χρυσός είναι ένα φυσικό περιουσιακό στοιχείο.
Το ευρώ είναι νόμισμα.
Αυτή η διαφορά θα γίνει πολύ σημαντική αργότερα όταν προσπαθήσουμε να καταλάβουμε το Bitcoin.
Τα περισσοτερα χρηματα σημερα δεν ειναι χαρτονομισματα
Ας υποθέσουμε ότι έχεις 5.000€ στον τραπεζικό σου λογαριασμό.
Αυτό δεν σημαίνει ότι υπάρχει κάπου σε ένα συρτάρι μια στοίβα χαρτονομισμάτων με το όνομά σου επάνω της.
Το μεγαλύτερο μέρος της καθημερινής οικονομικής δραστηριότητας πραγματοποιείται ηλεκτρονικά.
Όταν πληρώνεις 50€ με την κάρτα σου, δεν μεταφέρεται ένα χαρτονόμισμα από την τράπεζά σου στο κατάστημα.
Ενημερώνονται ηλεκτρονικά λογαριασμοί και καταγραφές μέσα στο τραπεζικό και πληρωμιακό σύστημα.
Με έναν πολύ απλοποιημένο τρόπο, μπορείς να το φανταστείς σαν αλλαγές σε λογιστικά βιβλία.
Ο λογαριασμός σου μειώνεται.
Ο λογαριασμός κάποιου άλλου αυξάνεται.
Και διάφορα χρηματοπιστωτικά συστήματα φροντίζουν ώστε η συναλλαγή να καταγραφεί και να διακανονιστεί σωστά.
Αυτό μας φέρνει ήδη πιο κοντά σε μια βασική ιδέα που θα συναντήσουμε στα cryptocurrencies:
Ποιος κρατάει το βιβλίο των συναλλαγών;
Στο παραδοσιακό χρηματοπιστωτικό σύστημα υπάρχουν τράπεζες, κεντρικές τράπεζες, δίκτυα πληρωμών και άλλοι ενδιάμεσοι οργανισμοί.
Στο Bitcoin η προσέγγιση είναι διαφορετική.
Αλλά δεν χρειάζεται ακόμη να φτάσουμε εκεί.
Πρώτα πρέπει να καταλάβουμε ένα ακόμη πρόβλημα.
Γιατi τα 100€ σhμερα μπορεi να μην αγορaζουν τα iδια πρaγματα στο μeλλον;
Φαντάσου ότι πριν από μερικά χρόνια αγόραζες ένα συγκεκριμένο καλάθι προϊόντων με 100€.
Μετά από αρκετά χρόνια, το ίδιο καλάθι μπορεί να κοστίζει 110€, 120€ ή περισσότερο.
Τα 100€ εξακολουθούν να γράφουν πάνω τους «100».
Η αγοραστική τους δύναμη όμως έχει αλλάξει.
Εδώ εμφανίζεται η έννοια του πληθωρισμού (inflation).
Πληθωρισμός είναι, σε γενικές γραμμές, η αύξηση του γενικού επιπέδου των τιμών μιας οικονομίας με την πάροδο του χρόνου.
Όταν οι τιμές αυξάνονται, κάθε μονάδα χρήματος αγοράζει κατά μέσο όρο λιγότερα αγαθά και υπηρεσίες.
Αυτό σημαίνει ότι πρέπει να ξεχωρίζουμε δύο πράγματα:
πόσα χρήματα έχουμε
και
τι μπορούμε πραγματικά να αγοράσουμε με αυτά τα χρήματα.
Δεν είναι πάντα το ίδιο πράγμα.
Και τι σχeση eχουν oλα αυτa με το Bitcoin;
Πολύ μεγαλύτερη απ’ όσο φαίνεται.
Το Bitcoin δεν εμφανίστηκε σε έναν κόσμο όπου δεν υπήρχε ήδη χρήμα.
Δημιουργήθηκε μέσα σε έναν κόσμο όπου υπήρχαν ήδη:
τράπεζες,
νομίσματα,
ηλεκτρονικές πληρωμές,
κεντρικές τράπεζες,
χρηματοπιστωτικά ιδρύματα
και συστήματα μεταφοράς χρημάτων.
Για να καταλάβεις λοιπόν πραγματικά το Bitcoin, δεν αρκεί να μάθεις ότι «είναι ένα ψηφιακό νόμισμα».
Πρέπει πρώτα να καταλάβεις τι προσπαθεί να κάνει διαφορετικά.
Ποιος ελέγχει την έκδοση του χρήματος;
Ποιος καταγράφει τις συναλλαγές;
Γιατί εμπιστευόμαστε ότι κάποιος δεν μπορεί απλώς να ξοδέψει τα ίδια ψηφιακά χρήματα δύο φορές;
Χρειάζεται πάντα ένας ενδιάμεσος;
Μπορεί να υπάρξει ένα ψηφιακό σύστημα μεταφοράς αξίας χωρίς μία κεντρική αρχή που να διατηρεί το μοναδικό επίσημο αρχείο;
Αυτά είναι μερικά από τα ερωτήματα που βρίσκονται πίσω από την ιστορία του Bitcoin.
Και για να καταλάβουμε γιατί η εμφάνισή του ήταν τόσο σημαντική, πρέπει πρώτα να δούμε πώς λειτουργούσε το ψηφιακό χρήμα πριν από αυτό.
Να θυμάσαι:
Χρήμα = ένα κοινά αποδεκτό μέσο ανταλλαγής και μέτρησης αξίας που μπορεί επίσης να χρησιμοποιηθεί για τη μεταφορά αγοραστικής δύναμης στον χρόνο.
Το σημαντικότερο όμως για όσα θα ακολουθήσουν είναι αυτό:
Το χρήμα δεν είναι απλώς χαρτονομίσματα και κέρματα. Είναι ένα σύστημα μέσα από το οποίο καταγράφουμε, αποθηκεύουμε και μεταφέρουμε οικονομική αξία.
Και όταν το καταλάβεις αυτό, είσαι έτοιμος να κάνεις την επόμενη ερώτηση:
Μπορεί ένα τέτοιο σύστημα να λειτουργήσει στο internet χωρίς να βρίσκεται στο κέντρο του μια τράπεζα ή άλλη κεντρική αρχή;
Από αυτή την ερώτηση αρχίζει ουσιαστικά η διαδρομή μας προς το Bitcoin.
-
Στο Level 0 γνωρίσαμε τις πιο βασικές έννοιες.
Είδαμε τι είναι το χρήμα, γιατί χρησιμοποιείται και γιατί η μεταφορά αξίας είναι ένα από τα σημαντικότερα προβλήματα που προσπαθούν να λύσουν τα οικονομικά συστήματα.
Τώρα μπορούμε να κάνουμε το επόμενο βήμα.
Να μπούμε πραγματικά στον κόσμο των cryptocurrencies.
Σε αυτό το Level θα καταλάβουμε τι είναι το Bitcoin, τι είναι το blockchain, γιατί υπάρχουν cryptocurrencies, πώς πραγματοποιούνται οι συναλλαγές και τι σημαίνουν έννοιες όπως wallet, address, private key, mining και network fees.
Δεν χρειάζεται να γνωρίζεις προγραμματισμό.
Δεν χρειάζεται να γνωρίζεις οικονομικά.
Χρειάζεται μόνο να καταλάβεις μία έννοια κάθε φορά.
Μαθημα 1 — Τι ειναι το Bitcoin;
Ας ξεχάσουμε για λίγο τιμές, γραφήματα και επενδύσεις.
Φαντάσου δύο ανθρώπους.
Η Μαρία βρίσκεται στην Ελλάδα.
Ο Γιάννης βρίσκεται στην Ιαπωνία.
Η Μαρία θέλει να στείλει στον Γιάννη χρήματα.
Στο παραδοσιακό χρηματοπιστωτικό σύστημα, αυτή η μεταφορά πραγματοποιείται μέσω χρηματοπιστωτικών οργανισμών και συστημάτων πληρωμών.
Κάποιος πρέπει να καταγράψει ότι τα χρήματα έφυγαν από τη Μαρία.
Κάποιος πρέπει να καταγράψει ότι έφτασαν στον Γιάννη.
Και κυρίως:
Κάποιος πρέπει να βεβαιωθεί ότι η Μαρία είχε πραγματικά τα χρήματα που προσπάθησε να στείλει.
Τώρα κάνε μια διαφορετική ερώτηση.
Θα μπορούσε να υπάρχει ένα ψηφιακό σύστημα χρημάτων στο οποίο οι άνθρωποι μπορούν να μεταφέρουν αξία χωρίς μία τράπεζα να διατηρεί το κεντρικό βιβλίο συναλλαγών;
Αυτή είναι μία από τις βασικές ιδέες πίσω από το Bitcoin.
Τι ειναι λοιπον το Bitcoin;
Το Bitcoin είναι ένα αποκεντρωμένο ψηφιακό νομισματικό δίκτυο.
Δημοσιεύθηκε ως ιδέα το 2008 από ένα άτομο ή ομάδα ανθρώπων με το ψευδώνυμο Satoshi Nakamoto και το δίκτυο ξεκίνησε να λειτουργεί το 2009.
Το Bitcoin επιτρέπει τη μεταφορά bitcoin μεταξύ χρηστών μέσω ενός δικτύου υπολογιστών.
Δεν υπάρχει μία κεντρική τράπεζα που διαχειρίζεται το δίκτυο.
Δεν υπάρχει ένας κεντρικός server που κρατάει το μοναδικό αρχείο των συναλλαγών.
Αντίθετα, το δίκτυο χρησιμοποιεί ένα κατανεμημένο σύστημα καταγραφής συναλλαγών.
Αυτό το σύστημα είναι το blockchain.
Bitcoin και bitcoin
Υπάρχει μια μικρή αλλά χρήσιμη διαφορά.
Όταν λέμε Bitcoin, συνήθως αναφερόμαστε στο δίκτυο και το πρωτόκολλο.
Όταν λέμε bitcoin ή BTC, συνήθως αναφερόμαστε στη μονάδα του περιουσιακού στοιχείου.
Για παράδειγμα:
«Το Bitcoin χρησιμοποιεί Proof of Work.»
Αναφερόμαστε στο σύστημα.
«Έστειλα 0,01 BTC.»
Αναφερόμαστε στη μονάδα αξίας.
Υπαρχουν φυσικα Bitcoin;
Όχι.
Δεν υπάρχει κάποιο φυσικό νόμισμα Bitcoin που πρέπει να βρίσκεται σε ένα χρηματοκιβώτιο.
Οι φωτογραφίες με χρυσά νομίσματα που έχουν πάνω τους το σύμβολο ₿ είναι απλώς αναπαραστάσεις.
Το Bitcoin είναι ψηφιακό.
Η ιδιοκτησία και οι συναλλαγές του προκύπτουν από τα δεδομένα του δικτύου και από την ικανότητα του κατόχου να αποδείξει κρυπτογραφικά ότι έχει το δικαίωμα να ξοδέψει συγκεκριμένα bitcoin.
Αργότερα θα δούμε ακριβώς πώς λειτουργεί αυτό.
Ποιος δημιουργει τα Bitcoin;
Τα νέα bitcoin δημιουργούνται σύμφωνα με τους κανόνες του πρωτοκόλλου.
Στο Bitcoin υπάρχει μια διαδικασία που ονομάζεται mining.
Οι miners χρησιμοποιούν υπολογιστική ισχύ για να συμμετέχουν στη διαδικασία με την οποία προστίθενται νέα blocks στο blockchain και ασφαλίζεται το δίκτυο.
Ως μέρος του συστήματος κινήτρων, μπορούν να λαμβάνουν ανταμοιβές.
Ένα μέρος αυτών των ανταμοιβών αποτελείται από νέα bitcoin.
Το σημαντικό είναι ότι η έκδοση νέων bitcoin δεν αποφασίζεται αυθαίρετα κάθε πρωί από κάποιον άνθρωπο.
Υπάρχουν κανόνες στο πρωτόκολλο που καθορίζουν τον τρόπο έκδοσής τους.
Τα 21 εκατομμυρια Bitcoin
Ένα από τα γνωστότερα χαρακτηριστικά του Bitcoin είναι η περιορισμένη προσφορά του.
Το πρωτόκολλο έχει σχεδιαστεί έτσι ώστε η συνολική έκδοση να μην ξεπεράσει τα 21 εκατομμύρια BTC.
Αυτό δεν σημαίνει ότι πρέπει να αγοράσεις ολόκληρο Bitcoin.
Ένα bitcoin μπορεί να χωριστεί σε πολύ μικρότερες μονάδες.
Η μικρότερη μονάδα ονομάζεται satoshi.
1 BTC = 100.000.000 satoshis.
Άρα μπορεί κάποιος να κατέχει 0,1 BTC, 0,001 BTC ή ακόμη μικρότερη ποσότητα.
Γιατι εχει αξια;
Δεν υπάρχει μία μοναδική απάντηση.
Οι άνθρωποι αποδίδουν αξία στο Bitcoin για διαφορετικούς λόγους.
Μεταξύ αυτών βρίσκονται η περιορισμένη προσφορά του, η δυνατότητα μεταφοράς του μέσω internet, η λειτουργία του χωρίς μία κεντρική αρχή, η ασφάλεια του δικτύου και η ζήτηση που υπάρχει στην αγορά.
Αυτό όμως δεν σημαίνει ότι η τιμή του είναι σταθερή.
Το αντίθετο.
Η τιμή του Bitcoin μπορεί να παρουσιάζει πολύ μεγάλες διακυμάνσεις.
Η τεχνολογία και η τιμή είναι δύο διαφορετικά θέματα.
Και σε αυτή την εκπαίδευση πρέπει να μάθουμε να τα ξεχωρίζουμε.
Να θυμάσαι:
Bitcoin = ένα αποκεντρωμένο ψηφιακό νομισματικό δίκτυο που επιτρέπει τη μεταφορά αξίας χωρίς μία κεντρική αρχή να διατηρεί το μοναδικό βιβλίο συναλλαγών.
Για να καταλάβουμε όμως πώς μπορεί να λειτουργήσει κάτι τέτοιο, πρέπει να γνωρίσουμε την τεχνολογία που βρίσκεται στην καρδιά του.
Το blockchain.
Μαθημα 2 — Τι ειναι το Blockchain;
Η λέξη blockchain ακούγεται περίπλοκη.
Η βασική ιδέα όμως είναι αρκετά απλή.
Φαντάσου ένα τεράστιο λογιστικό βιβλίο.
Σε αυτό γράφονται συναλλαγές.
Ο Γιώργος έστειλε χρήματα στη Μαρία.
Η Μαρία έστειλε χρήματα στον Νίκο.
Ο Νίκος έστειλε χρήματα στην Ελένη.
Το πρόβλημα είναι:
Ποιος κρατάει αυτό το βιβλίο;
Αν υπάρχει μόνο ένα αντίγραφο και το κρατάει ένας άνθρωπος, πρέπει όλοι να τον εμπιστεύονται.
Τι γίνεται όμως αν υπάρχουν πολλά αντίγραφα του βιβλίου σε διαφορετικούς υπολογιστές;
Και το δίκτυο έχει κανόνες για το ποια ενημέρωση θεωρείται έγκυρη;
Εδώ αρχίζουμε να πλησιάζουμε στην ιδέα του blockchain.
Τι σημαινει blockchain;
Η λέξη αποτελείται από δύο λέξεις:
Block = μπλοκ
Chain = αλυσίδα
Άρα:
Blockchain = αλυσίδα από blocks.
Κάθε block περιέχει δεδομένα που σχετίζονται με συναλλαγές και πληροφορίες που το συνδέουν κρυπτογραφικά με προηγούμενο block.
Έτσι δημιουργείται μια ακολουθία.
Block 1 → Block 2 → Block 3 → Block 4…
Κάθε νέο block προστίθεται πάνω στην υπάρχουσα ιστορία του δικτύου.
Γιατι δεν χρησιμοποιουμε απλως ενα database;
Τα blockchain είναι ουσιαστικά ένας ιδιαίτερος τρόπος αποθήκευσης και συντονισμού δεδομένων.
Δεν είναι καλύτερα από μια συνηθισμένη database για κάθε εφαρμογή.
Αν μία εταιρεία θέλει απλώς να αποθηκεύσει τους πελάτες της, πιθανότατα μια παραδοσιακή database είναι πολύ πιο πρακτική.
Το blockchain γίνεται ενδιαφέρον όταν θέλουμε διαφορετικοί συμμετέχοντες να συμφωνούν για την κατάσταση ενός συστήματος χωρίς να βασίζονται απαραίτητα σε έναν μοναδικό κεντρικό διαχειριστή.
Αυτό είναι κρίσιμο για το Bitcoin.
Μπορει καποιος να αλλαξει μια παλια συναλλαγη;
Τα blocks συνδέονται μεταξύ τους χρησιμοποιώντας cryptographic hashes.
Αν αλλάξουν δεδομένα ενός παλιού block, αλλάζει και το σχετικό hash.
Αυτό επηρεάζει τη σύνδεσή του με τα blocks που ακολουθούν.
Σε ένα blockchain όπως το Bitcoin, η αλλαγή της παλιάς ιστορίας δεν είναι απλώς ένα θέμα επεξεργασίας ενός αρχείου.
Ο επιτιθέμενος θα έπρεπε να ξεπεράσει τους μηχανισμούς ασφαλείας και consensus του δικτύου.
Όσο περισσότερα blocks έχουν προστεθεί μετά από μια συναλλαγή, τόσο βαθύτερα βρίσκεται αυτή στην ιστορία του blockchain.
Να θυμάσαι:
Blockchain = ένα κατανεμημένο αρχείο δεδομένων όπου τα blocks συνδέονται κρυπτογραφικά μεταξύ τους και το δίκτυο ακολουθεί συγκεκριμένους κανόνες για να συμφωνεί ποια ιστορία θεωρεί έγκυρη.
Μαθημα 3 — Τι ειναι τα Cryptocurrencies;
Bitcoin.
Ethereum.
Solana.
Και χιλιάδες άλλα ψηφιακά assets.
Συχνά τα βάζουμε όλα κάτω από μία λέξη:
Crypto.
Αλλά δεν είναι όλα το ίδιο πράγμα.
Τι ειναι ενα cryptocurrency;
Σε γενικές γραμμές, cryptocurrency είναι ένα ψηφιακό asset που χρησιμοποιεί cryptography και λειτουργεί μέσα σε ένα blockchain ή άλλο κατανεμημένο δίκτυο.
Το Bitcoin ήταν το πρώτο επιτυχημένο αποκεντρωμένο cryptocurrency μεγάλης κλίμακας.
Μετά το Bitcoin εμφανίστηκαν πολλά άλλα projects.
Και δεν δημιουργήθηκαν όλα για τον ίδιο λόγο.
Coin και Token
Αυτές οι δύο λέξεις χρησιμοποιούνται συχνά σαν να σημαίνουν ακριβώς το ίδιο πράγμα.
Υπάρχει όμως μια χρήσιμη διάκριση.
Ένα coin είναι συνήθως το native asset ενός blockchain.
Για παράδειγμα:
BTC → Bitcoin.
ETH → Ethereum.
SOL → Solana.
Ένα token, αντίθετα, δημιουργείται πάνω σε υπάρχον blockchain μέσω smart contracts ή αντίστοιχων μηχανισμών.
Για παράδειγμα, πολλά tokens λειτουργούν πάνω στο Ethereum.
Άρα δεν χρειάζονται απαραίτητα δικό τους ανεξάρτητο blockchain.
Γιατι υπαρχουν τοσα crypto;
Επειδή διαφορετικά projects προσπαθούν να κάνουν διαφορετικά πράγματα.
Κάποια επικεντρώνονται στις πληρωμές.
Άλλα στα smart contracts.
Άλλα στο DeFi.
Άλλα στα stablecoins.
Άλλα στο gaming.
Άλλα στην ιδιωτικότητα.
Και φυσικά υπάρχουν επίσης projects χωρίς πραγματική χρησιμότητα, projects που αποτυγχάνουν και καθαρές απάτες.
Το ότι κάτι είναι cryptocurrency δεν σημαίνει αυτομάτως ότι έχει αξία.
Να θυμάσαι:
Crypto δεν σημαίνει μόνο Bitcoin.
Υπάρχουν διαφορετικά δίκτυα, coins και tokens με διαφορετικούς σκοπούς, μηχανισμούς και κινδύνους.
Μαθημα 4 — Τι ειναι ενα Crypto Wallet;
Φαντάσου ότι αγοράζεις Bitcoin.
Πού βρίσκεται;
Μέσα στο κινητό σου;
Μέσα σε ένα USB;
Μέσα στο wallet;
Η απάντηση εκπλήσσει πολλούς αρχάριους.
Τα crypto σου δεν βρίσκονται κυριολεκτικά μέσα στο wallet.
Το blockchain διατηρεί την κατάσταση του δικτύου.
Το wallet διαχειρίζεται τα κλειδιά που σου επιτρέπουν να αποδείξεις ότι έχεις την εξουσιοδότηση να πραγματοποιήσεις συγκεκριμένες συναλλαγές.
Public key και Private key
Ένα από τα σημαντικότερα concepts σε ολόκληρο τον κόσμο των crypto είναι η cryptography.
Για την ώρα χρειάζεται να γνωρίζουμε δύο έννοιες:
Public key
και
Private key.
Το private key πρέπει να παραμένει μυστικό.
Είναι αυτό που σου επιτρέπει να δημιουργείς έγκυρες ψηφιακές υπογραφές για συναλλαγές.
Μπορείς να το σκεφτείς σαν το σημαντικότερο μυστικό που αποδεικνύει ότι έχεις τον έλεγχο συγκεκριμένων crypto assets.
Αν κάποιος αποκτήσει το private key σου, μπορεί να αποκτήσει τη δυνατότητα να μετακινήσει τα αντίστοιχα assets.
Τι ειναι το Seed Phrase;
Πολλά wallets χρησιμοποιούν ένα seed phrase για τη δημιουργία και ανάκτηση των keys του wallet.
Συνήθως αποτελείται από μια σειρά λέξεων.
Αυτές οι λέξεις είναι εξαιρετικά σημαντικές.
Αν χάσεις τη συσκευή σου αλλά έχεις το σωστό seed phrase, μπορείς συνήθως να επαναφέρεις το wallet σου σε συμβατό wallet.
Αν όμως κάποιος άλλος αποκτήσει το seed phrase σου, μπορεί να αποκτήσει πρόσβαση στα assets σου.
Γι’ αυτό υπάρχει ένας κανόνας που πρέπει να θυμάσαι από τώρα:
Δεν δίνουμε ποτέ το seed phrase ή το private key μας σε κανέναν.
Καμία νόμιμη υπηρεσία υποστήριξης δεν χρειάζεται να της στείλεις το seed phrase σου για να σε «βοηθήσει».
Να θυμάσαι:
Το wallet δεν αποθηκεύει κυριολεκτικά τα coins σου. Διαχειρίζεται τα cryptographic keys που σου επιτρέπουν να ελέγχεις assets που καταγράφονται στο blockchain.
Μαθημα 5 — Addresses, Private Keys και Digital Signatures
Ας υποθέσουμε ότι θέλεις να λάβεις crypto.
Χρειάζεσαι μια address.
Μια address μπορεί να μοιάζει με μια μεγάλη σειρά γραμμάτων και αριθμών.
Μπορείς να τη μοιραστείς με κάποιον ώστε να σου στείλει assets στο συγκεκριμένο network.
Δεν είναι το ίδιο πράγμα με το private key.
Αυτή η διάκριση είναι κρίσιμη.
Address → μπορεί να κοινοποιηθεί.
Private key → παραμένει μυστικό.
Πως αποδεικνυεις οτι μια συναλλαγη ειναι δικη σου;
Εδώ χρησιμοποιούνται οι digital signatures.
Όταν πραγματοποιείς μια συναλλαγή, το wallet χρησιμοποιεί το private key για να δημιουργήσει μια cryptographic signature.
Το δίκτυο μπορεί να επαληθεύσει ότι η υπογραφή είναι έγκυρη χωρίς να χρειάζεται να αποκαλυφθεί το private key.
Αυτό είναι ένα από τα θεμέλια της cryptography που χρησιμοποιούν τα cryptocurrencies.
Δεν χρειάζεται ακόμη να γνωρίζεις τα μαθηματικά πίσω από αυτό.
Χρειάζεται να καταλάβεις τη λογική.
Private key → υπογράφει.
Το δίκτυο → επαληθεύει.
Το private key → δεν αποκαλύπτεται.
Να θυμάσαι:
Το private key είναι μυστικό.
Η address χρησιμοποιείται για τη λήψη assets.
Η digital signature επιτρέπει στο δίκτυο να επαληθεύει την εξουσιοδότηση μιας συναλλαγής.
Μαθημα 6 — Πως πραγματοποιειται μια Crypto Συναλλαγη;
Ας κάνουμε τώρα μια πραγματική νοητική συναλλαγή.
Η Μαρία θέλει να στείλει crypto στον Γιώργο.
Ο Γιώργος δίνει στη Μαρία την address του.
Η Μαρία ανοίγει το wallet της.
Εισάγει την address.
Επιλέγει το ποσό.
Πατάει Send.
Τι συμβαίνει μετά;
Βημα 1: Δημιουργειται η συναλλαγη
Το wallet δημιουργεί τα δεδομένα της συναλλαγής.
Με απλά λόγια, περιγράφεται τι προσπαθεί να μεταφέρει η Μαρία και πού.
Βημα 2: Υπογραφεται
Το wallet χρησιμοποιεί το private key της Μαρίας για να δημιουργήσει την απαραίτητη digital signature.
Βημα 3: Μεταδιδεται στο δικτυο
Η συναλλαγή μεταδίδεται στους συμμετέχοντες του network.
Βημα 4: Ελεγχεται
Οι κανόνες του δικτύου καθορίζουν αν η συναλλαγή είναι έγκυρη.
Για παράδειγμα:
Είναι έγκυρη η υπογραφή;
Μπορούν τα συγκεκριμένα assets να δαπανηθούν;
Ακολουθεί η συναλλαγή τους κανόνες του protocol;
Βημα 5: Επιβεβαιωση
Η συναλλαγή μπορεί στη συνέχεια να συμπεριληφθεί στην ιστορία του blockchain.
Καθώς προστίθενται νέα blocks, η συναλλαγή αποκτά περισσότερες confirmations.
Και αν γραψεις λαθος address;
Εδώ υπάρχει τεράστια διαφορά από πολλές παραδοσιακές υπηρεσίες πληρωμών.
Οι blockchain συναλλαγές γενικά δεν διαθέτουν ένα απλό κουμπί:
Undo.
Αν στείλεις assets σε λάθος address, η ανάκτησή τους μπορεί να είναι αδύνατη.
Γι’ αυτό ελέγχουμε πάντα:
την address,
το network,
το asset,
και το ποσό.
Για μεγάλα ποσά, μια μικρή δοκιμαστική συναλλαγή μπορεί να μειώσει τον κίνδυνο ανθρώπινου λάθους.
Να θυμάσαι:
Οι crypto συναλλαγές απαιτούν ακρίβεια.
Η ελευθερία του να ελέγχεις τα δικά σου assets συνοδεύεται από μεγαλύτερη προσωπική ευθύνη.
Μαθημα 7 — Τι ειναι τα Network Fees;
Στέλνεις 100€ μέσω μιας υπηρεσίας και μπορεί να υπάρχει κάποια χρέωση.
Κάτι παρόμοιο συμβαίνει και στα blockchain networks.
Οι συναλλαγές συνήθως έχουν network fees.
Αυτά είναι τέλη που σχετίζονται με τη χρήση και λειτουργία του δικτύου.
Γιατι υπαρχουν fees;
Τα blockchain έχουν περιορισμένους πόρους.
Δεν μπορούν απαραίτητα να επεξεργάζονται άπειρες συναλλαγές ταυτόχρονα.
Τα fees βοηθούν στην κατανομή αυτού του περιορισμένου block space και αποτελούν επίσης μέρος των οικονομικών κινήτρων των συμμετεχόντων που ασφαλίζουν ή λειτουργούν το δίκτυο.
Gas
Στο Ethereum θα συναντήσεις πολύ συχνά τη λέξη:
Gas.
Το gas είναι ένας μηχανισμός μέτρησης της υπολογιστικής εργασίας που απαιτούν οι ενέργειες στο Ethereum.
Μια απλή μεταφορά ETH απαιτεί συγκεκριμένους πόρους.
Μια πολύπλοκη αλληλεπίδραση με smart contract μπορεί να απαιτεί περισσότερους.
Γι’ αυτό διαφορετικές ενέργειες μπορούν να έχουν διαφορετικό κόστος.
Ποιος παιρνει τα fees;
Αυτό εξαρτάται από το blockchain και τον μηχανισμό του.
Στο Bitcoin, τα transaction fees αποτελούν μέρος της αποζημίωσης των miners.
Σε Proof of Stake δίκτυα μπορεί να υπάρχουν διαφορετικοί μηχανισμοί που σχετίζονται με validators, ενώ σε ορισμένα protocols μέρος των fees μπορεί ακόμη και να καίγεται.
Θα τα εξετάσουμε αναλυτικά σε επόμενα Levels.
Να θυμάσαι:
Network fee = το κόστος που σχετίζεται με την εκτέλεση και καταγραφή μιας ενέργειας σε ένα blockchain network.
Μαθημα 8 — Τι ειναι το Mining και το Proof of Work;
Έχουμε ήδη αναφέρει τους miners.
Τώρα πρέπει να καταλάβουμε τι κάνουν.
Στο Bitcoin χρησιμοποιείται ένας μηχανισμός που ονομάζεται:
Proof of Work.
Οι miners χρησιμοποιούν εξειδικευμένο hardware και ηλεκτρική ενέργεια για να πραγματοποιούν τεράστιο αριθμό υπολογισμών.
Ο στόχος είναι να βρεθεί μια λύση που ικανοποιεί τις απαιτήσεις του protocol για το επόμενο block.
Γιατι χρειαζεται ολη αυτη η δουλεια;
Το Proof of Work αποτελεί μέρος του μηχανισμού μέσω του οποίου το Bitcoin προστατεύει την ιστορία του blockchain και επιτρέπει σε ένα αποκεντρωμένο δίκτυο να καταλήγει σε κοινή κατάσταση.
Η δημιουργία blocks απαιτεί πραγματικούς πόρους.
Αυτό κάνει τις επιθέσεις στο σύστημα δαπανηρές.
Τι κερδιζει ενας miner;
Ο miner που παράγει επιτυχώς ένα έγκυρο block μπορεί να λάβει:
block subsidy
και
transaction fees.
Το block subsidy είναι η έκδοση νέων bitcoin που προβλέπει το protocol.
Με τον χρόνο μειώνεται.
Αυτό μας οδηγεί στο Bitcoin Halving.
Περίπου κάθε 210.000 blocks, το block subsidy μειώνεται στο μισό.
Έτσι η έκδοση νέων bitcoin μειώνεται σταδιακά με τον χρόνο.
Να θυμάσαι:
Mining δεν σημαίνει ότι ένας υπολογιστής “ψάχνει Bitcoin μέσα στο internet”.
Οι miners συμμετέχουν στον Proof of Work μηχανισμό του Bitcoin, στην παραγωγή blocks και στην ασφάλεια του δικτύου.
Μαθημα 9 — Τι ειναι το Proof of Stake;
Δεν χρησιμοποιούν όλα τα blockchain mining.
Ένας άλλος σημαντικός μηχανισμός είναι το:
Proof of Stake.
Το Ethereum, για παράδειγμα, χρησιμοποιεί Proof of Stake.
Εδώ δεν έχουμε miners όπως στο Bitcoin.
Έχουμε validators.
Τι κανει ενας validator;
Οι validators συμμετέχουν στη διαδικασία πρότασης και επιβεβαίωσης blocks σύμφωνα με τους κανόνες του protocol.
Για να συμμετέχουν, δεσμεύουν το native asset του δικτύου ως stake.
Από εδώ προέρχεται και η ονομασία:
Proof of Stake.
Γιατι να δεσμευσει καποιος τα assets του;
Επειδή υπάρχουν οικονομικά κίνητρα.
Ένας validator που συμπεριφέρεται σωστά μπορεί να λαμβάνει rewards.
Αντίθετα, συγκεκριμένες παραβιάσεις των κανόνων μπορούν να οδηγήσουν σε penalties και, ανάλογα με το δίκτυο και την παράβαση, σε slashing μέρους του stake.
Έτσι δημιουργείται ένα οικονομικό σύστημα κινήτρων και αντικινήτρων.
Proof of Work vs Proof of Stake
Η βασική διαφορά μπορεί αρχικά να γίνει αντιληπτή ως εξής:
Στο Proof of Work, η ασφάλεια συνδέεται με υπολογιστική εργασία και πραγματικούς πόρους όπως hardware και ηλεκτρική ενέργεια.
Στο Proof of Stake, η συμμετοχή στην ασφάλεια συνδέεται με crypto assets που έχουν δεσμευτεί ως stake.
Αυτό είναι μεγάλη απλοποίηση.
Και οι δύο μηχανισμοί έχουν πολύ μεγαλύτερο τεχνικό βάθος.
Για την ώρα όμως αρκεί να καταλάβεις ότι:
Δεν λειτουργούν όλα τα blockchain με τον ίδιο τρόπο.
Να θυμάσαι:
Proof of Work → miners.
Proof of Stake → validators και stake.
Και τα δύο είναι οικογένειες μηχανισμών που χρησιμοποιούνται ώστε αποκεντρωμένα δίκτυα να μπορούν να συμφωνούν και να προστατεύουν την κατάσταση του συστήματος.
Μαθημα 10 — Πως συνδεονται ολα μεταξυ τους;
Φτάσαμε στο τέλος του Level 1.
Τώρα ας ενώσουμε όλα τα κομμάτια.
Φαντάσου ότι αγοράζεις Bitcoin.
Έχεις:
Bitcoin
Το ψηφιακό asset και το δίκτυο.
Blockchain
Το ιστορικό δεδομένων και συναλλαγών του δικτύου.
Wallet
Το software ή hardware που σε βοηθά να διαχειρίζεσαι τα keys σου και να αλληλεπιδράς με το δίκτυο.
Address
Η πληροφορία που μπορεί να χρησιμοποιηθεί ώστε κάποιος να σου στείλει bitcoin.
Private key
Το μυστικό που χρησιμοποιείται για να εξουσιοδοτήσεις τη δαπάνη των bitcoin που ελέγχεις.
Digital signature
Η κρυπτογραφική απόδειξη που επιτρέπει στο δίκτυο να επαληθεύσει την εξουσιοδότηση χωρίς να αποκαλυφθεί το private key.
Transaction
Η ενέργεια που μεταδίδεται στο δίκτυο.
Network fee
Το τέλος που συνοδεύει τη συναλλαγή.
Miners
Οι συμμετέχοντες που εκτελούν Proof of Work και παράγουν blocks στο Bitcoin.
Nodes
Οι υπολογιστές που εκτελούν το Bitcoin software και επαληθεύουν τους κανόνες του δικτύου.
ενα ολοκληρωμενο παραδειγμα
Η Μαρία θέλει να στείλει 0,01 BTC στον Γιώργο.
Ο Γιώργος ανοίγει το wallet του και δίνει στη Μαρία μια κατάλληλη Bitcoin address.
Η Μαρία εισάγει την address στο δικό της wallet.
Γράφει:
0,01 BTC.
Ελέγχει προσεκτικά την address.
Βλέπει το network fee.
Επιβεβαιώνει.
Το wallet της δημιουργεί και υπογράφει τη συναλλαγή χρησιμοποιώντας τα κατάλληλα cryptographic keys.
Η συναλλαγή μεταδίδεται στο Bitcoin network.
Τα nodes μπορούν να ελέγξουν αν ακολουθεί τους κανόνες του Bitcoin.
Ένας miner μπορεί στη συνέχεια να τη συμπεριλάβει σε ένα block.
Το block γίνεται μέρος της αποδεκτής αλυσίδας.
Η συναλλαγή αποκτά την πρώτη της confirmation.
Καθώς προστίθενται περισσότερα blocks μετά από αυτό, αποκτά περισσότερες confirmations.
Ο Γιώργος πλέον μπορεί να δει το αποτέλεσμα στο wallet του.
Και όλα αυτά πραγματοποιήθηκαν χωρίς μία τράπεζα να είναι ο κεντρικός διαχειριστής του Bitcoin network.
Αυτό δεν σημαίνει ότι δεν υπήρξαν τρίτες υπηρεσίες πριν ή μετά τη συναλλαγή.
Αν η Μαρία αγόρασε Bitcoin από ένα exchange, για παράδειγμα, χρησιμοποίησε έναν ενδιάμεσο.
Το ίδιο το Bitcoin network όμως μπορεί να λειτουργήσει χωρίς μία εταιρεία να αποτελεί τον κεντρικό ιδιοκτήτη του.
Το σημαντικοτερο μαθημα του Level 1
Μην σκέφτεσαι τα crypto απλώς σαν:
«Ψηφιακά νομίσματα των οποίων η τιμή ανεβαίνει και πέφτει.»
Αυτό είναι μόνο η επιφάνεια.
Από κάτω υπάρχει ένα ολόκληρο τεχνολογικό και οικονομικό σύστημα.
Υπάρχουν:
blockchains,
nodes,
cryptographic keys,
digital signatures,
consensus mechanisms,
miners,
validators,
fees,
wallets
και protocols.
Κάθε ένα από αυτά λύνει ένα διαφορετικό κομμάτι του προβλήματος.
Και όσο προχωράμε, θα αρχίσουμε να ανοίγουμε αυτά τα κομμάτια ένα προς ένα.
Να θυμάσαι:
Crypto δεν είναι μόνο η τιμή ενός coin.
Είναι ένας συνδυασμός:
τεχνολογίας + cryptography + οικονομικών κινήτρων + δικτύων + ψηφιακής ιδιοκτησίας.
Αν έχεις καταλάβει τις βασικές έννοιες αυτού του Level, έχεις πλέον το θεμέλιο που χρειάζεται για να προχωρήσεις βαθύτερα.
-
Στο Level 1 χτίσαμε τις βάσεις.
Μάθαμε τι είναι το Bitcoin.
Τι είναι ένα blockchain.
Τι κάνει ένα wallet.
Τι είναι private key και seed phrase.
Πώς πραγματοποιείται μια συναλλαγή.
Τι είναι τα network fees.
Και γνωρίσαμε για πρώτη φορά το Proof of Work και το Proof of Stake.
Τώρα μπορούμε να προχωρήσουμε ένα επίπεδο βαθύτερα.
Γιατί μέχρι στιγμής έχουμε χρησιμοποιήσει αρκετές φορές εκφράσεις όπως:
«Το δίκτυο ελέγχει τη συναλλαγή.»
Αλλά ποιος είναι πραγματικά αυτό το «δίκτυο»;
Ποιος κάνει τον έλεγχο;
Τι υπάρχει μέσα σε ένα block;
Τι είναι ένα hash;
Τι κάνει ένας node;
Τι είναι το mempool;
Τι ακριβώς σημαίνει confirmation;
Και πώς μπορούν χιλιάδες ανεξάρτητοι υπολογιστές να καταλήγουν στην ίδια εικόνα για την κατάσταση του Bitcoin χωρίς έναν κεντρικό server που αποφασίζει για όλους;
Σε αυτό το Level θα χρησιμοποιήσουμε κυρίως το Bitcoin ως παράδειγμα.
Αυτό είναι σημαντικό, επειδή δεν λειτουργούν όλα τα blockchains με τον ίδιο τρόπο.
ΜΑΘΗΜΑ 1 — ΤΙ ΥΠΑΡΧΕΙ ΜΕΣΑ ΣΕ ΕΝΑ BLOCK;
Ξέρουμε ήδη ότι:
Blockchain = αλυσίδα από blocks.
Αλλά αυτή η περιγραφή είναι πολύ γενική.
Τι είναι πραγματικά ένα block;
Ας ξεκινήσουμε με μια απλή αναλογία.
Φαντάσου ένα λογιστικό βιβλίο.
Κάθε σελίδα περιέχει μια σειρά από καταγραφές.
Όταν γεμίσει μια σελίδα, συνεχίζεις στην επόμενη.
Ένα Bitcoin block μπορεί να μας θυμίσει μια τέτοια σελίδα.
Περιλαμβάνει συναλλαγές.
Αλλά περιλαμβάνει επίσης πληροφορίες που επιτρέπουν στους nodes να ελέγξουν αν το block είναι έγκυρο και πώς συνδέεται με την προηγούμενη ιστορία.
Τι περιεχει ενα Bitcoin Block;
Σε πολύ γενικές γραμμές, ένα Bitcoin block αποτελείται από:
Block header
και
λίστα συναλλαγών.
Το block header είναι ένα μικρότερο τμήμα δεδομένων που περιλαμβάνει συγκεκριμένες πληροφορίες για το block.
Μεταξύ αυτών βρίσκονται:
η έκδοση του block,
το hash του προηγούμενου block,
το Merkle root,
το timestamp,
μια κωδικοποιημένη μορφή του Proof of Work target,
και το nonce.
Δεν χρειάζεται να γνωρίζεις ακόμη πώς λειτουργούν όλα αυτά.
Θα τα εξετάσουμε σταδιακά.
Η πρωτη συναλλαγη του Block
Στα Bitcoin blocks υπάρχει μια ιδιαίτερη πρώτη συναλλαγή.
Ονομάζεται:
coinbase transaction.
Δεν έχει σχέση με το γνωστό exchange που έχει το ίδιο όνομα.
Μέσω αυτής της ειδικής συναλλαγής ο miner διεκδικεί το επιτρεπόμενο:
block subsidy
και
transaction fees.
Η coinbase transaction πρέπει και αυτή να ακολουθεί τους consensus rules.
Ο miner δεν μπορεί απλώς να γράψει:
«Δίνω στον εαυτό μου 1.000 BTC.»
Αν προσπαθήσει να διεκδικήσει περισσότερα από όσα επιτρέπουν οι κανόνες, οι validating nodes θα απορρίψουν το block.
Πως συνδεεται ενα Block με το προηγουμενο;
Το block header περιέχει το hash του προηγούμενου block header.
Άρα μπορούμε να φανταστούμε:
Block 100
↓
Block 101
↓
Block 102
↓
Block 103
Το Block 103 αναφέρεται στο hash του 102.
Το 102 στο 101.
Το 101 στο 100.
Έτσι δημιουργείται μια κρυπτογραφική σύνδεση μεταξύ των blocks.
Αν αλλάξουν δεδομένα που επηρεάζουν ένα παλιό block, αλλάζει και το αντίστοιχο block hash.
Αυτό σημαίνει ότι η υπάρχουσα ακολουθία των επόμενων blocks δεν μπορεί απλώς να παραμείνει ανέπαφη.
Το Block δεν ειναι απλως ενα «κουτί»
Η αναλογία του κουτιού ή της σελίδας είναι χρήσιμη μόνο για την αρχή.
Τεχνικά, ένα block είναι μια αυστηρά δομημένη συλλογή δεδομένων.
Οι nodes δεν αποδέχονται οποιοδήποτε block τους σταλεί.
Ελέγχουν αν ακολουθεί τους consensus rules του Bitcoin.
Να θυμάσαι:
Ένα Bitcoin block περιλαμβάνει συναλλαγές και ένα block header με δεδομένα που επιτρέπουν την επαλήθευση του block και τη σύνδεσή του με την προηγούμενη αλυσίδα.
ΜΑΘΗΜΑ 2 — ΤΙ ΕΙΝΑΙ ΕΝΑ HASH;
Η λέξη hash εμφανίζεται παντού στο Bitcoin.
Στην αρχή ακούγεται πολύ τεχνική.
Η βασική ιδέα όμως είναι σχετικά απλή.
Φαντάσου μια μαθηματική συνάρτηση.
Της δίνεις δεδομένα.
Η συνάρτηση επεξεργάζεται αυτά τα δεδομένα.
Και παράγει ένα αποτέλεσμα σταθερού μεγέθους.
Αυτό το αποτέλεσμα ονομάζεται:
hash.
ενα απλοποιημενο παραδειγμα
Ας πούμε ότι βάζεις:
«Γεια σου Γιώργο»
και παίρνεις ένα hash.
Αν αλλάξεις το μήνυμα έστω και λίγο:
«Γεια σου Γιώργο!»
το νέο hash αναμένεται να είναι τελείως διαφορετικό.
Αυτό το χαρακτηριστικό ονομάζεται συχνά:
avalanche effect.
Μια μικρή αλλαγή στην είσοδο προκαλεί μεγάλη και απρόβλεπτη αλλαγή στο αποτέλεσμα.
ιδια δεδομενα, ιδιο αποτελεσμα
Μια hash function είναι deterministic.
Αυτό σημαίνει ότι:
ίδια δεδομένα
ίδια hash function
=
ίδιο hash.
Αν αλλάξει έστω και ένα bit των δεδομένων, το αποτέλεσμα συνήθως αλλάζει δραματικά.
Μπορω να παρω το αρχικο μηνυμα απο το Hash;
Μια ασφαλής cryptographic hash function σχεδιάζεται ώστε να είναι πρακτικά μονόδρομη.
Είναι εύκολο να υπολογίσεις:
Data → Hash.
Αλλά δεν υπάρχει γνωστός πρακτικός τρόπος να πάρεις ένα hash και να υπολογίσεις απευθείας ποιο ακριβώς input το δημιούργησε.
Αυτό δεν σημαίνει ότι το hash είναι encryption.
Το encryption σχεδιάζεται ώστε να μπορεί να αντιστραφεί με το κατάλληλο key.
Το hashing είναι διαφορετική διαδικασία.
Τι ειναι collision;
Θεωρητικά είναι δυνατό δύο διαφορετικά inputs να παράγουν το ίδιο hash.
Αυτό ονομάζεται:
collision.
Επειδή όμως ο χώρος των πιθανών SHA-256 outputs είναι τεράστιος, μια κατάλληλα ασφαλής cryptographic hash function σχεδιάζεται ώστε η εύρεση τέτοιων collisions να είναι πρακτικά απαγορευτική.
SHA-256
Το Bitcoin χρησιμοποιεί εκτεταμένα το:
SHA-256.
Παράγει output 256 bits.
Στο Bitcoin, το SHA-256 χρησιμοποιείται σε πολλές διαφορετικές διαδικασίες.
Για παράδειγμα:
στα block hashes,
στο Proof of Work,
και σε άλλες δομές του protocol.
Πως βοηθαει στη συνδεση των Blocks;
Επειδή ένα block αναφέρεται στο hash του προηγούμενου block header.
Αν αλλάξεις το προηγούμενο block, αλλάζει το hash του.
Άρα η επόμενη αναφορά δεν ταιριάζει πλέον.
Όμως υπάρχει μια σημαντική διόρθωση σε μια συνηθισμένη υπεραπλούστευση:
Το hashing από μόνο του δεν κάνει την ιστορία του Bitcoin αμετάβλητη.
Η δυσκολία αλλαγής της ιστορίας προκύπτει από τον συνδυασμό:
των cryptographic hashes,
του Proof of Work,
των consensus rules,
και του γεγονότος ότι άλλοι nodes δεν θα αποδεχτούν αυθαίρετα μια εναλλακτική ιστορία που δεν ακολουθεί τους κανόνες και δεν διαθέτει το απαιτούμενο accumulated work.
Να θυμάσαι:
Hash = το σταθερού μεγέθους αποτέλεσμα μιας hash function που λειτουργεί σαν cryptographic fingerprint των δεδομένων.
Δεν είναι encryption.
Και δεν αποτελεί από μόνο του όλο τον μηχανισμό ασφαλείας ενός blockchain.
ΜΑΘΗΜΑ 3 — ΤΙ ΕΙΝΑΙ ΤΑ NODES;
Έχουμε πει:
«Το Bitcoin network ελέγχει τις συναλλαγές.»
Αλλά το network δεν είναι ένα ξεχωριστό μηχάνημα.
Αποτελείται από participants που εκτελούν Bitcoin software.
Ένας τέτοιος participant μπορεί να λειτουργεί ως:
node.
Τι ειναι ενας Full Node;
Ένας Bitcoin full node κατεβάζει και επαληθεύει πληροφορίες του blockchain σύμφωνα με τους consensus rules που εφαρμόζει το software του.
Το σημαντικότερο σημείο είναι το εξής:
Δεν χρειάζεται να εμπιστεύεται έναν miner ή ένα exchange για να του πει αν μια συναλλαγή ή ένα block είναι έγκυρο.
Μπορεί να το ελέγξει ανεξάρτητα.
Τι ελεγχει ενας Node;
Ένας validating Bitcoin node ελέγχει πολλά πράγματα.
Για παράδειγμα:
αν ένα block έχει έγκυρο Proof of Work,
αν δεν παραβιάζει τα όρια έκδοσης νέων Bitcoin,
αν οι συναλλαγές του ακολουθούν τους consensus rules,
αν τα transaction inputs αναφέρονται σε διαθέσιμα outputs,
αν δεν επιχειρείται double spending μέσα στην έγκυρη ιστορία,
και αν οι απαιτούμενες scripts και signatures ικανοποιούνται.
Αυτοί είναι μόνο μερικοί από τους ελέγχους.
Οι Nodes «ψηφιζουν»;
Όχι με την απλή έννοια.
Δεν υπάρχει μια παγκόσμια ψηφοφορία όπου κάθε node έχει μία ψήφο.
Ένας full node εφαρμόζει τους κανόνες του software που έχει επιλέξει να τρέχει.
Αν λάβει ένα block που παραβιάζει αυτούς τους κανόνες, το απορρίπτει.
Οι Miners μπορουν να αλλαξουν τους κανονες;
Όχι μόνοι τους.
Ένας miner μπορεί να προτείνει blocks.
Δεν μπορεί όμως να αναγκάσει έναν validating node να δεχτεί ένα block που παραβιάζει τους κανόνες που ο node εφαρμόζει.
Για παράδειγμα, αν ένας miner δημιουργήσει περισσότερα νέα BTC από όσα επιτρέπονται, το block θεωρείται invalid.
Ακόμη και αν ο miner ξόδεψε πραγματική ενέργεια για να το δημιουργήσει.
Full Node και Miner δεν ειναι το ιδιο
Ένας miner χρειάζεται να συμμετέχει στην παραγωγή blocks μέσω Proof of Work.
Ένας full node δεν χρειάζεται να κάνει mining.
Μπορεί απλώς να επαληθεύει το blockchain.
Στην πράξη, οι miners χρησιμοποιούν επίσης node infrastructure, αλλά οι δύο έννοιες έχουν διαφορετικό ρόλο.
Γιατι εχει σημασια η αποκεντρωση των Nodes;
Επειδή όσο περισσότεροι ανεξάρτητοι participants μπορούν να επαληθεύουν τους κανόνες χωρίς permission, τόσο μικρότερη είναι η ανάγκη να εμπιστεύονται μία κεντρική υπηρεσία.
Αυτό συνδέεται με τη γνωστή φράση:
Don’t trust, verify.
Δεν σημαίνει ότι η εμπιστοσύνη εξαφανίζεται εντελώς από την ανθρώπινη ζωή.
Σημαίνει ότι για τους consensus rules του Bitcoin μπορείς να κάνεις ανεξάρτητη verification αντί να βασίζεσαι μόνο στον ισχυρισμό κάποιου τρίτου.
Να θυμάσαι:
Full node = participant που μπορεί να επαληθεύει ανεξάρτητα blocks και transactions σύμφωνα με τους κανόνες που εφαρμόζει.
Δεν είναι το ίδιο πράγμα με miner.
ΜΑΘΗΜΑ 4 — ΤΙ ΕΙΝΑΙ ΤΟ MEMPOOL;
Η Μαρία δημιουργεί μια Bitcoin συναλλαγή.
Το wallet της τη μεταδίδει στο δίκτυο.
Η συναλλαγή όμως δεν μπαίνει απαραίτητα αμέσως σε block.
Τι συμβαίνει μέχρι τότε;
Εδώ εμφανίζεται:
Mempool.
Δεν υπαρχει ενα μοναδικο Mempool
Αυτό είναι πολύ σημαντικό.
Συχνά θα ακούσεις:
«Η συναλλαγή βρίσκεται στο mempool.»
Αυτό είναι χρήσιμο σαν έκφραση.
Τεχνικά όμως δεν υπάρχει ένα μοναδικό παγκόσμιο mempool.
Κάθε node μπορεί να έχει το δικό του mempool.
Δηλαδή τη δική του προσωρινή συλλογή μη επιβεβαιωμένων transactions που έχει δεχτεί σύμφωνα με τις δικές του policies.
Consensus Rules και Mempool Policy δεν ειναι ακριβως το ιδιο
Αυτό είναι μια σημαντική διάκριση.
Οι consensus rules καθορίζουν τι μπορεί να είναι έγκυρο μέσα σε ένα block.
Οι mempool policies καθορίζουν ποιες μη επιβεβαιωμένες συναλλαγές ένας συγκεκριμένος node είναι πρόθυμος να κρατήσει και να μεταδώσει.
Άρα μια συναλλαγή μπορεί θεωρητικά να είναι valid σύμφωνα με consensus rules αλλά να μην γίνεται relay από όλους τους nodes λόγω policy.
Τι γινεται οταν κανεις Broadcast;
Η συναλλαγή φτάνει σε peers.
Κάθε node που τη λαμβάνει μπορεί να κάνει τους απαραίτητους ελέγχους.
Αν τη δεχτεί σύμφωνα με τους κανόνες και την policy του, μπορεί:
να τη βάλει στο mempool του
και
να τη μεταδώσει σε άλλους peers.
Έτσι η συναλλαγή διαδίδεται μέσα στο peer-to-peer network.
Οι Miners παιρνουν ολες τις Transactions;
Όχι.
Οι miners επιλέγουν ποιες συναλλαγές θα συμπεριλάβουν σε candidate blocks.
Επειδή το block space είναι περιορισμένο, έχουν συνήθως οικονομικό κίνητρο να επιλέγουν συναλλαγές με καλύτερο:
fee rate.
Το fee rate δεν είναι απλώς το συνολικό fee.
Σχετίζεται με το fee σε σχέση με το μέγεθος ή weight της συναλλαγής.
Γι’ αυτό μια μεγάλη transaction μπορεί να πληρώνει μεγαλύτερο συνολικό fee αλλά να μην έχει απαραίτητα καλύτερο fee rate από μια μικρότερη.
Τι σημαινει Pending;
Pending συνήθως σημαίνει ότι η συναλλαγή δεν έχει ακόμη συμπεριληφθεί σε επιβεβαιωμένο block.
Μπορεί:
να περιμένει στο mempool ορισμένων nodes,
να έχει πολύ χαμηλό fee rate,
να έχει απορριφθεί από ορισμένους nodes,
ή σε κάποιες περιπτώσεις να αφαιρεθεί από mempools μετά από αρκετό χρόνο.
Άρα το «pending» είναι κατάσταση που πρέπει να ερμηνεύεται με βάση το συγκεκριμένο network και transaction.
Να θυμάσαι:
Δεν υπάρχει ένα παγκόσμιο mempool.
Κάθε node μπορεί να έχει διαφορετική εικόνα των μη επιβεβαιωμένων transactions.
ΜΑΘΗΜΑ 5 — ΤΙ ΕΙΝΑΙ ΤΑ CONFIRMATIONS ΚΑΙ ΤΟ BLOCK TIME;
Η Μαρία στέλνει Bitcoin.
Μετά από λίγο βλέπει:
1 confirmation.
Μετά:
2 confirmations.
Μετά:
3 confirmations.
Τι σημαίνει αυτό;
Πρωτη Confirmation
Όταν μια συναλλαγή συμπεριληφθεί σε ένα block που βρίσκεται στην αλυσίδα που ακολουθεί ο node ή η υπηρεσία που παρακολουθείς, θεωρείται ότι έχει:
1 confirmation.
Αν χτιστεί άλλο block πάνω σε αυτό:
2 confirmations.
Μετά άλλο:
3 confirmations.
Και ούτω καθεξής.
Confirmation δεν σημαινει απολυτη μαθηματικη αμετακλητη τελικοτητα
Αυτό χρειάζεται ακρίβεια.
Στο Bitcoin, blocks μπορούν σπάνια να αντικατασταθούν από μια ανταγωνιστική αλυσίδα με περισσότερο accumulated Proof of Work.
Αυτό ονομάζεται συνήθως:
reorganization ή reorg.
Όσο περισσότερα blocks έχουν χτιστεί πάνω από μια συναλλαγή, τόσο πιο δαπανηρό και απίθανο γίνεται γενικά να αντικατασταθεί η ιστορία που την περιλαμβάνει.
Γι’ αυτό περιμένουμε περισσότερες confirmations για συναλλαγές υψηλότερης αξίας.
Γιατι ακουγεται συχνα το «6 Confirmations»;
Ιστορικά, οι 6 confirmations χρησιμοποιούνται συχνά ως πρακτικό benchmark για σημαντικές Bitcoin συναλλαγές.
Δεν είναι όμως κάποιος μαγικός νόμος του protocol.
Η κατάλληλη ανοχή εξαρτάται από:
την αξία της συναλλαγής,
το μοντέλο κινδύνου,
και την υπηρεσία ή τον παραλήπτη.
Τι ειναι το Block Time;
Στο Bitcoin, το mining difficulty προσαρμόζεται έτσι ώστε μακροπρόθεσμα να παράγεται κατά μέσο όρο περίπου:
1 block ανά 10 λεπτά.
Αυτό δεν σημαίνει ότι κάθε block εμφανίζεται ακριβώς μετά από 10 λεπτά.
Η διαδικασία mining είναι probabilistic.
Ένα block μπορεί να βρεθεί σε 30 δευτερόλεπτα.
Το επόμενο μπορεί να χρειαστεί 20 λεπτά.
Ο μακροχρόνιος μέσος στόχος είναι το σημαντικό σημείο.
Block Time και Finality δεν ειναι το ιδιο
Ένα blockchain που δημιουργεί blocks πολύ γρήγορα δεν είναι αυτομάτως «πιο ασφαλές» ή «πιο τελικό».
Για να συγκρίνεις διαφορετικά networks πρέπει να εξετάσεις:
τον consensus mechanism,
τη finality,
τη δυνατότητα reorg,
το οικονομικό κόστος επίθεσης,
τη decentralization,
και άλλες παραμέτρους.
Να θυμάσαι:
Confirmation = μέτρηση του βάθους μιας συναλλαγής στην αλυσίδα που θεωρείται έγκυρη εκείνη τη στιγμή.
Στο Bitcoin, η τελικότητα είναι probabilistic και αυξάνεται όσο προστίθεται περισσότερο Proof of Work πάνω από τη συναλλαγή.
ΜΑΘΗΜΑ 6 — ΤΟ DOUBLE-SPENDING PROBLEM
Ας πάρουμε ένα φυσικό χαρτονόμισμα των 50€.
Το δίνεις στον Γιώργο.
Δεν βρίσκεται πλέον στα χέρια σου.
Στον ψηφιακό κόσμο όμως τα δεδομένα μπορούν να αντιγράφονται.
Αν ένα ψηφιακό νόμισμα λειτουργούσε απλώς σαν αρχείο, θα μπορούσες θεωρητικά να κάνεις:
Copy.
Paste.
Copy.
Paste.
Και να δημιουργείς άπειρα αντίγραφα.
Αυτό φυσικά δεν μπορεί να λειτουργήσει ως χρήμα.
Το Double Spending
Double spending είναι η προσπάθεια να χρησιμοποιηθεί η ίδια οικονομική αξία σε δύο ασύμβατες συναλλαγές.
Για παράδειγμα:
Η Μαρία έχει ένα Bitcoin output που μπορεί να δαπανήσει.
Δημιουργεί μια συναλλαγή που το στέλνει στον Γιώργο.
Ταυτόχρονα δημιουργεί δεύτερη συναλλαγή που προσπαθεί να δαπανήσει το ίδιο output προς την Ελένη.
Και οι δύο δεν μπορούν να παραμείνουν έγκυρες μέσα στην ίδια τελική Bitcoin history.
Γιατι;
Επειδή ένα UTXO μπορεί να καταναλωθεί μόνο μία φορά.
Όταν ένα valid transaction που το δαπανά γίνει μέρος της αποδεκτής chain history, μια άλλη conflicting transaction που προσπαθεί να δαπανήσει το ίδιο UTXO δεν μπορεί επίσης να γίνει έγκυρη στην ίδια ιστορία.
Τι γινεται πριν απο Confirmation;
Εδώ υπάρχει μεγαλύτερη αβεβαιότητα.
Μια unconfirmed transaction δεν έχει ακόμη ενσωματωθεί σε block.
Γι’ αυτό η αποδοχή μιας πληρωμής με:
0 confirmations
έχει διαφορετικό risk profile από μια πληρωμή με confirmations.
Το Bitcoin δεν «εμποδιζει καποιον να δοκιμασει»
Αυτό είναι επίσης σημαντικό.
Το protocol δεν μπορεί να εμποδίσει κάποιον να δημιουργήσει και να μεταδώσει conflicting transactions.
Αυτό που κάνει είναι να παρέχει κανόνες ώστε οι nodes να μπορούν να καθορίζουν ποια δαπάνη θεωρείται έγκυρη μέσα στην αλυσίδα που ακολουθούν.
Να θυμάσαι:
Double spending = δύο ή περισσότερες conflicting προσπάθειες να δαπανηθεί η ίδια διαθέσιμη Bitcoin αξία.
Το Bitcoin χρησιμοποιεί UTXOs, Proof of Work και consensus rules ώστε το network να συγκλίνει σε μία αποδεκτή ιστορία δαπανών.
ΜαΘΗΜΑ 7 — ΤΙ ΕιΝΑΙ ΤΟ CONSENSUS;
Έχουμε χιλιάδες ανεξάρτητους computers.
Δεν υπάρχει κεντρικός administrator.
Μπορεί να μην έχουν καν την ίδια πληροφορία ακριβώς την ίδια στιγμή.
Πώς καταλήγουν σε κοινή εικόνα;
Αυτό είναι το πρόβλημα του:
consensus.
Consensus δεν σημαινει ψηφοφορια Nodes
Αυτή είναι μια πολύ σημαντική διόρθωση.
Το Bitcoin δεν λέει:
«Έχουμε 10.000 nodes, άρα χρειάζονται 5.001 ψήφοι.»
Οι nodes δεν έχουν μια απλή ψήφο ο καθένας.
Αντίθετα:
εφαρμόζουν consensus rules
και
επιλέγουν μεταξύ valid competing chains με βάση το accumulated Proof of Work.
Valid πρωτα, Work μετα
Αυτό είναι κρίσιμο.
Ένας node δεν ακολουθεί απλώς οποιαδήποτε αλυσίδα έχει περισσότερο Proof of Work.
Πρώτα πρέπει η αλυσίδα να είναι:
valid σύμφωνα με τους consensus rules.
Μόνο μεταξύ valid competing chains εξετάζεται το accumulated Proof of Work.
Άρα ένας miner δεν μπορεί να δημιουργήσει μια αλυσίδα με αυθαίρετους κανόνες και να πει:
«Έχει περισσότερο work, άρα πρέπει να την αποδεχτείτε.»
Αν είναι invalid, ο validating node την απορρίπτει.
Τι γινεται αν δυο Miners βρουν Block σχεδον ταυτοχρονα;
Μπορεί για λίγο διαφορετικοί nodes να γνωρίζουν διαφορετικό block ως tip.
Για παράδειγμα:
Block A
και
Block B
μπορεί να έχουν τον ίδιο parent.
Κάποιοι miners συνεχίζουν πάνω από το A.
Άλλοι πάνω από το B.
Όταν μία branch αποκτήσει περισσότερο cumulative Proof of Work, οι nodes που τη βλέπουν μπορούν να τη θεωρήσουν την best valid chain.
Η άλλη branch γίνεται stale.
«Longest Chain» ή «Most Work Chain»;
Συχνά θα ακούσεις:
«Το Bitcoin ακολουθεί τη μεγαλύτερη αλυσίδα.»
Αυτό είναι υπεραπλούστευση.
Η πιο σωστή περιγραφή είναι:
η valid chain με το μεγαλύτερο accumulated Proof of Work.
Δεν μετράμε απλώς πόσα blocks έχει κάθε chain.
Μετράει η συνολική εργασία που αντιπροσωπεύει.
Τι ειναι Fork;
Ο όρος fork μπορεί να σημαίνει διαφορετικά πράγματα.
Μπορεί να σημαίνει προσωρινή απόκλιση της chain tip.
Μπορεί επίσης να σημαίνει αλλαγή στους protocol rules.
Αργότερα θα δούμε:
Soft Fork.
Hard Fork.
Δεν πρέπει να θεωρούμε ότι κάθε fork είναι το ίδιο φαινόμενο.
Να θυμάσαι:
Στο Bitcoin, consensus δεν είναι μία απλή ψηφοφορία.
Οι nodes επαληθεύουν τους consensus rules και, μεταξύ valid competing histories, η επιλογή chain σχετίζεται με το μεγαλύτερο accumulated Proof of Work.
ΜαΘΗΜΑ 8 — MINING, TARGET, DIFFICULTY ΚΑΙ HASHRATE
Στο Level 1 μάθαμε ότι οι miners χρησιμοποιούν υπολογιστική ισχύ.
Τώρα θα δούμε τι πραγματικά προσπαθούν να πετύχουν.
Τι ψαχνει ενας Miner;
Ο miner δημιουργεί ένα candidate block.
Στη συνέχεια προσπαθεί να βρει ένα block header του οποίου το hash είναι αριθμητικά:
μικρότερο ή ίσο από το current target.
Όσο χαμηλότερο είναι το target, τόσο δυσκολότερο είναι να βρεθεί κατάλληλο hash.
Τι αλλαζει ο Miner;
Συχνά λέμε ότι ο miner:
«αλλάζει το nonce μέχρι να βρει λύση.»
Αυτό είναι χρήσιμο για αρχάριο αλλά όχι πλήρες.
Το nonce είναι μόνο ένα από τα πεδία που μπορούν να μεταβληθούν.
Οι miners μπορούν επίσης να αλλάζουν άλλα δεδομένα του candidate block, για παράδειγμα δεδομένα που επηρεάζουν την coinbase transaction και κατά συνέπεια το Merkle root.
Άρα ο πραγματικός search space είναι πολύ μεγαλύτερος από το απλό nonce field.
Γιατι ειναι σαν λοταρια;
Το SHA-256 έχει σχεδιαστεί έτσι ώστε δεν μπορείς να προβλέψεις εύκολα ποια αλλαγή θα δημιουργήσει κατάλληλο hash.
Άρα οι miners κάνουν τεράστιο αριθμό δοκιμών.
Hash.
Άλλο hash.
Άλλο hash.
Μέχρι κάποιος να βρει hash που ικανοποιεί το target.
Τι ειναι Hashrate;
Hashrate είναι ο ρυθμός με τον οποίο πραγματοποιούνται hashing attempts.
Για παράδειγμα:
hashes per second.
Στα σύγχρονα Bitcoin mining systems οι αριθμοί είναι τεράστιοι.
Όσο περισσότερο συνολικό hashrate υπάρχει, τόσο μεγαλύτερος είναι ο συνολικός αριθμός attempts που γίνονται κάθε δευτερόλεπτο.
Τι ειναι Difficulty;
Το difficulty είναι ένας πιο φιλικός τρόπος έκφρασης του πόσο δύσκολο είναι το current Proof of Work target σε σχέση με μια reference difficulty.
Target και difficulty κινούνται αντίστροφα.
Χαμηλότερο target:
μεγαλύτερη δυσκολία.
Υψηλότερο target:
μικρότερη δυσκολία.
Difficulty Adjustment
Το Bitcoin επαναπροσδιορίζει το Proof of Work target κάθε:
2.016 blocks.
Ο στόχος είναι τα 2.016 blocks να αντιστοιχούν περίπου σε:
δύο εβδομάδες
αν ο μέσος block interval βρίσκεται κοντά στα 10 λεπτά.
Αν τα προηγούμενα 2.016 blocks βρέθηκαν πολύ γρήγορα, το επόμενο difficulty μπορεί να αυξηθεί.
Αν βρέθηκαν πολύ αργά, μπορεί να μειωθεί.
Υπάρχουν επίσης όρια στο πόσο απότομα μπορεί να αλλάξει σε μία περίοδο adjustment.
Το Difficulty δεν ελεγχει το ακριβες Block Time
Αυτό είναι σημαντικό.
Το difficulty adjustment δεν μπορεί να επιβάλει:
«Το επόμενο block θα βγει σε ακριβώς 10 λεπτά.»
Το mining παραμένει probabilistic.
Απλώς ρυθμίζει τις πιθανότητες ώστε ο μακροχρόνιος μέσος block interval να κινείται προς τον στόχο.
Να θυμάσαι:
Οι miners αναζητούν block hash που ικανοποιεί το current target.
Hashrate = ρυθμός hashing attempts.
Difficulty = μέτρο της δυσκολίας του Proof of Work σε σχέση με το target.
ΜαΘΗΜΑ 9 — ΤΙ ΕΙΝΑΙ ΤΟ UTXO MODEL;
Αυτό είναι ένα από τα σημεία όπου το Bitcoin διαφέρει σημαντικά από έναν παραδοσιακό τραπεζικό λογαριασμό.
Το wallet σου μπορεί να γράφει:
Balance: 1 BTC.
Αλλά το Bitcoin protocol δεν διατηρεί απλώς ένα account balance δίπλα στο όνομά σου.
Χρησιμοποιεί:
UTXOs.
UTXO σημαίνει:
Unspent Transaction Output.
Τι ειναι ενα UTXO;
Μια Bitcoin transaction δημιουργεί outputs.
Ένα output που δεν έχει ακόμη δαπανηθεί μπορεί να χρησιμοποιηθεί ως input σε μια μελλοντική συναλλαγή.
Αυτό είναι ένα:
UTXO.
Άρα το spendable Bitcoin που ελέγχει ένα wallet μπορεί να αποτελείται από πολλά διαφορετικά UTXOs.
Παραδειγμα
Ας πούμε ότι το wallet σου ελέγχει:
0,5 BTC
0,3 BTC
0,2 BTC
σε τρία διαφορετικά UTXOs.
Το wallet μπορεί να σου εμφανίζει:
1 BTC balance.
Αλλά από κάτω υπάρχουν τρία ξεχωριστά spendable outputs.
Τωρα θελεις να στειλεις 0,6 BTC
Το wallet μπορεί να επιλέξει, για παράδειγμα:
0,5 BTC
0,3 BTC
ως inputs.
Συνολικά:
0,8 BTC.
Η transaction μπορεί να δημιουργήσει:
0,6 BTC → παραλήπτης
0,1998 BTC → change
και η διαφορά:
0,0002 BTC
να αποτελέσει transaction fee.
Το Fee δεν ειναι ξεχωριστο Output
Αυτή είναι μια σημαντική τεχνική διόρθωση.
Στο Bitcoin το transaction fee δεν είναι συνήθως ένα output που γράφει:
«αυτό πάει στον miner.»
Το fee προκύπτει από τη διαφορά:
Σύνολο Inputs − Σύνολο Outputs = Transaction Fee.
Για παράδειγμα:
Inputs:
0,8000 BTC
Outputs:
0,6000 BTC προς παραλήπτη
0,1998 BTC ως change
Άρα:
0,8000 − 0,7998 = 0,0002 BTC fee.
Ο miner που συμπεριλαμβάνει τη συναλλαγή μπορεί τελικά να διεκδικήσει τα fees του block μέσω της coinbase transaction.
Τι ειναι το Change;
Το change είναι νέο output που επιστρέφει υπό τον έλεγχο του sender.
Δεν «επιστρέφει» απαραίτητα στην ίδια address.
Τα wallets συχνά δημιουργούν νέα change address για καλύτερο privacy και address management.
Τα UTXOs δεν εχουν «ονομα ιδιοκτητη»
Αυτό είναι επίσης σημαντικό.
Ένα UTXO δεν γράφει:
«Ανήκει στη Μαρία.»
Περιλαμβάνει locking conditions.
Για να δαπανηθεί, η νέα transaction πρέπει να ικανοποιήσει τις αντίστοιχες spending conditions.
Στις συνηθισμένες περιπτώσεις αυτό σχετίζεται με την παρουσία κατάλληλης digital signature.
Να θυμάσαι:
Bitcoin balance = το άθροισμα των UTXOs που μπορεί να δαπανήσει το wallet σου.
Και:
Fee = Inputs − Outputs.
ΜΑΘΗΜΑ 10 — BLOCKCHAIN EXPLORERS ΚΑΙ Η ΠΛΗΡΗΣ ΕΙΚΟΝΑ
Τώρα έχουμε αρκετές γνώσεις ώστε να κοιτάμε μια Bitcoin transaction και να καταλαβαίνουμε τι περίπου συμβαίνει από κάτω.
Ένα από τα εργαλεία που χρησιμοποιούνται για αυτό είναι:
Blockchain Explorer.
Τι ειναι Blockchain Explorer;
Ένας blockchain explorer είναι software ή website που παίρνει blockchain data και τα παρουσιάζει σε μορφή πιο εύκολη για τον άνθρωπο.
Μπορεί να σου επιτρέψει να αναζητήσεις:
transaction ID,
block hash,
block height,
address,
και άλλα δημόσια δεδομένα.
Τι μπορεις να δεις;
Σε μια Bitcoin transaction μπορείς συνήθως να δεις:
τα inputs,
τα outputs,
το transaction fee,
το fee rate,
το block στο οποίο μπήκε,
την κατάσταση confirmation,
και άλλες τεχνικές πληροφορίες.
Ειναι ο Explorer μερος του Consensus;
Όχι.
Αυτό είναι πολύ σημαντικό.
Ο explorer είναι εφαρμογή παρουσίασης δεδομένων.
Δεν αποφασίζει ποια transaction είναι valid.
Δεν είναι ο Bitcoin network.
Και δεν πρέπει να θεωρούμε ότι επειδή ένας explorer εμφανίζει κάτι, αυτό αποτελεί από μόνο του cryptographic proof ότι είναι σωστό.
Αν θέλεις πραγματικά ανεξάρτητη verification, χρησιμοποιείς δικό σου validating node ή infrastructure που εμπιστεύεσαι για τα δεδομένα που σου παρουσιάζει.
Ας ενωσουμε τωρα ολοκληρη τη διαδικασια
Η Μαρία θέλει να στείλει Bitcoin στον Γιώργο.
Το wallet της εξετάζει τα UTXOs που μπορεί να δαπανήσει.
Επιλέγει τα κατάλληλα inputs.
Δημιουργεί outputs.
Ένα output μπορεί να πηγαίνει στον Γιώργο.
Ένα άλλο μπορεί να αποτελεί change πίσω σε address που ελέγχει η Μαρία.
Η διαφορά μεταξύ συνολικών inputs και outputs γίνεται transaction fee.
Το wallet δημιουργεί τις απαραίτητες signatures ώστε να ικανοποιηθούν οι spending conditions των inputs.
Η συναλλαγή μεταδίδεται στο peer-to-peer network.
Οι nodes που τη λαμβάνουν κάνουν ελέγχους.
Αν τη δεχτούν σύμφωνα με τους consensus rules και τις mempool policies τους, μπορούν να την κρατήσουν στο mempool και να τη μεταδώσουν σε άλλους peers.
Οι miners κατασκευάζουν candidate blocks.
Επιλέγουν transactions.
Δημιουργούν coinbase transaction.
Υπολογίζουν Merkle root.
Δημιουργούν block header.
Και ξεκινούν Proof of Work.
Πραγματοποιούν τεράστιο αριθμό hashing attempts.
Τελικά ένας miner βρίσκει block header hash που ικανοποιεί το target.
Μεταδίδει το block.
Οι validating nodes δεν λένε:
«Έκανε mining, άρα το block είναι σωστό.»
Το επαληθεύουν.
Είναι valid το Proof of Work;
Οι transactions είναι valid;
Το block δημιουργεί μόνο το επιτρεπόμενο subsidy;
Οι spending conditions ικανοποιούνται;
Υπάρχει double spend;
Ακολουθεί όλους τους consensus rules;
Αν ναι, ο node μπορεί να το δεχτεί ως μέρος της valid chain που ακολουθεί.
Η συναλλαγή αποκτά μία confirmation.
Όταν χτιστεί άλλο block πάνω από αυτό:
δύο confirmations.
Και όσο περισσότερο accumulated Proof of Work χτίζεται πάνω από τη συναλλαγή, τόσο μειώνεται γενικά η πιθανότητα να αντικατασταθεί από reorganization.
Η πραγματικη εικονα
Τώρα μπορούμε να δούμε ότι το Bitcoin δεν βασίζεται σε ένα μόνο τεχνολογικό τέχνασμα.
Δεν είναι απλώς:
blockchain.
Δεν είναι απλώς:
cryptography.
Δεν είναι απλώς:
mining.
Είναι συνδυασμός πολλών μηχανισμών.
UTXOs
καθορίζουν ποια outputs μπορούν να δαπανηθούν.
Digital Signatures
αποδεικνύουν ότι ικανοποιούνται συγκεκριμένες spending conditions.
Nodes
επαληθεύουν τους consensus rules.
Mempools
κρατούν προσωρινά unconfirmed transactions σύμφωνα με local policies.
Blocks
οργανώνουν transactions σε ιστορική σειρά.
Hashes
συνδέουν δεδομένα και χρησιμοποιούνται στο Proof of Work.
Miners
προτείνουν blocks μέσω Proof of Work.
Difficulty Adjustment
κρατά τον μακροχρόνιο ρυθμό παραγωγής blocks κοντά στον στόχο.
Consensus Rules
καθορίζουν τι θεωρείται valid.
Accumulated Proof of Work
βοηθά τους nodes να επιλέγουν μεταξύ valid competing histories.
Όλα αυτά λειτουργούν μαζί.
ενα τελευταιο σημαντικο σημειο
Η λέξη:
decentralized
δεν σημαίνει:
«Δεν υπάρχει κανένας κανόνας.»
Συμβαίνει ακριβώς το αντίθετο.
Ένα decentralized protocol χρειάζεται εξαιρετικά συγκεκριμένους κανόνες.
Η διαφορά είναι ότι δεν υπάρχει μία κεντρική εταιρεία που εκτελεί τους κανόνες για όλους.
Οι συμμετέχοντες μπορούν να τους επαληθεύουν μόνοι τους.
Τι γνωριζεις πλεον;
Αν έχεις καταλάβει το Level 2, μπορείς να εξηγήσεις:
τι υπάρχει μέσα σε ένα Bitcoin block,
τι είναι cryptographic hash,
τι κάνει ένας full node,
γιατί δεν υπάρχει ένα μοναδικό mempool,
τι σημαίνει confirmation,
τι είναι reorganization,
τι είναι το double-spending problem,
τι σημαίνει consensus,
γιατί δεν λέμε απλώς «longest chain»,
τι είναι target,
difficulty,
hashrate,
UTXO,
change output,
και πώς πραγματικά υπολογίζεται το transaction fee.
Αυτό σημαίνει ότι έχεις πλέον περάσει από το:
«Ξέρω τους βασικούς όρους του Bitcoin.»
στο:
«Καταλαβαίνω τη βασική αρχιτεκτονική με την οποία λειτουργεί.»
Και τώρα είσαι έτοιμος να γνωρίσεις έναν διαφορετικό τύπο blockchain.
Ένα blockchain που δεν σχεδιάστηκε μόνο για τη μεταφορά ενός ψηφιακού asset.
Αλλά και για την εκτέλεση προγραμματιζόμενων εφαρμογών.
Να θυμάσαι:
Ένα blockchain όπως το Bitcoin δεν λειτουργεί επειδή όλοι οι συμμετέχοντες εμπιστεύονται ο ένας τον άλλο.
Λειτουργεί επειδή υπάρχουν συγκεκριμένοι κανόνες που μπορούν να επαληθευτούν ανεξάρτητα.
Και στο Bitcoin, η σωστότερη εικόνα δεν είναι:
«Το blockchain αποφασίζει.»
Είναι:
Nodes επαληθεύουν κανόνες, miners προτείνουν Proof-of-Work blocks και το δίκτυο συγκλίνει σε μια valid history μέσω συγκεκριμένων consensus rules.
-
-
Μέχρι τώρα χρησιμοποιήσαμε κυρίως το Bitcoin για να καταλάβουμε πώς μπορεί να λειτουργήσει ένα decentralized digital monetary network.
Είδαμε:
blocks,
transactions,
nodes,
hashes,
Proof of Work,
UTXOs,
mempools,
και consensus.
Το Bitcoin όμως δεν είναι το μοναδικό blockchain.
Και δεν σχεδιάστηκαν όλα τα blockchain networks με τον ίδιο στόχο.
Τώρα θα γνωρίσουμε ένα δίκτυο που άλλαξε σημαντικά τον τρόπο με τον οποίο οι άνθρωποι σκέφτονται τα blockchains.
Το:
Ethereum.
Το Ethereum έκανε δημοφιλή μια διαφορετική ιδέα.
Ένα blockchain δεν χρειάζεται να χρησιμοποιείται μόνο για τη μεταφορά ενός native digital asset.
Μπορεί επίσης να εκτελεί:
προγραμματιζόμενο κώδικα.
Αυτός ο κώδικας μπορεί να χρησιμοποιηθεί για τη δημιουργία:
tokens,
decentralized exchanges,
lending protocols,
NFTs,
stablecoins,
games,
governance systems,
και ολόκληρων decentralized applications.
Σε αυτό το Level θα καταλάβουμε πώς λειτουργεί αυτός ο κόσμος.
ΜΑΘΗΜΑ 1 — ΤΙ ΕΙΝΑΙ ΤΟ ETHEREUM;
Ας επιστρέψουμε για λίγο στο Bitcoin.
Το Bitcoin σχεδιάστηκε κυρίως ως decentralized electronic cash system και εξελίχθηκε σε ένα παγκόσμιο monetary network με το BTC ως native asset.
Τώρα φαντάσου κάτι διαφορετικό.
Τι θα γινόταν αν ένα blockchain μπορούσε όχι μόνο να καταγράφει τη μεταφορά ενός asset αλλά και να εκτελεί προγράμματα;
Για παράδειγμα:
«Αν ο Γιώργος καταθέσει 100 tokens, κάνε Χ.»
«Αν ένας χρήστης θέλει να ανταλλάξει ETH με ένα άλλο token, υπολόγισε την ανταλλαγή σύμφωνα με αυτούς τους κανόνες.»
«Αν κάποιος διαθέτει συγκεκριμένο token, επιτρέπεται να ψηφίσει.»
«Αν κάποιος καταθέσει collateral, μπορεί υπό συγκεκριμένες προϋποθέσεις να δανειστεί κάποιο άλλο asset.»
Αυτή η δυνατότητα βρίσκεται στην καρδιά του Ethereum.
Τι ειναι λοιπον το Ethereum;
Το Ethereum είναι ένα decentralized blockchain network σχεδιασμένο ώστε να υποστηρίζει:
programmable smart contracts.
Με πολύ απλά λόγια:
Το Bitcoin μας έδειξε πώς μπορεί να λειτουργήσει ένα decentralized digital monetary system.
Το Ethereum πήγε την ιδέα ένα βήμα παραπέρα και ρώτησε:
Τι γίνεται αν μπορούμε να εκτελούμε γενικότερο προγραμματιζόμενο logic πάνω σε ένα blockchain;
Ποιος δημιουργησε το Ethereum;
Η αρχική ιδέα του Ethereum παρουσιάστηκε από τον:
Vitalik Buterin.
Στη συνέχεια δημιουργήθηκε μια ευρύτερη ομάδα συνιδρυτών και developers.
Το Ethereum network ξεκίνησε να λειτουργεί το 2015.
Τι ειναι το ETH;
Το native asset του Ethereum είναι το:
Ether.
Το ticker του είναι:
ETH.
Συχνά θα ακούσεις ανθρώπους να λένε:
«Αγόρασα Ethereum.»
Τεχνικά, όταν μιλούν για το asset, εννοούν:
ETH ή Ether.
Ethereum είναι το network και το protocol.
Ether είναι το native asset.
Σε τι χρησιμοποιειται το ETH;
Το ETH έχει διάφορους ρόλους μέσα στο Ethereum ecosystem.
Μεταξύ άλλων χρησιμοποιείται:
για την πληρωμή transaction fees,
για staking στο Proof of Stake system,
ως asset μέσα σε applications,
και ως οικονομικό asset που μπορεί να μεταφέρεται μεταξύ accounts.
Ειναι το Ethereum απλως «Bitcoin με περισσοτερες δυνατοτητες»;
Όχι.
Αυτό θα ήταν υπερβολική απλοποίηση.
Τα δύο networks έχουν διαφορετική:
αρχιτεκτονική,
φιλοσοφία,
μοντέλα συναλλαγών,
consensus design,
και στόχους.
Για παράδειγμα:
Το Bitcoin χρησιμοποιεί το UTXO model.
Το Ethereum χρησιμοποιεί κυρίως ένα:
account-based model.
Το Bitcoin χρησιμοποιεί Proof of Work.
Το Ethereum χρησιμοποιεί Proof of Stake.
Το Bitcoin διαθέτει scripting capabilities, αλλά έχει σχεδιαστεί πολύ διαφορετικά από το general-purpose smart contract environment του Ethereum.
Άρα δεν πρέπει να σκεφτόμαστε το Ethereum ως:
«Bitcoin 2.0.»
Είναι διαφορετικό σύστημα.
Να θυμάσαι:
Ethereum = decentralized blockchain network σχεδιασμένο για την εκτέλεση smart contracts και decentralized applications.
ETH = το native asset του Ethereum network.
ΜΑΘΗΜΑ 2 — ΤΙ ΕΙΝΑΙ ΕΝΑ SMART CONTRACT;
Η λέξη:
Smart Contract
δημιουργεί συχνά λάθος εντύπωση.
Δεν σημαίνει απαραίτητα:
«έξυπνο νομικό συμβόλαιο.»
Ένα smart contract είναι ουσιαστικά:
κώδικας που έχει αναπτυχθεί σε ένα blockchain και εκτελείται σύμφωνα με συγκεκριμένους κανόνες.
ενα απλο παραδειγμα
Φαντάσου ένα vending machine.
Βάζεις 2€.
Πατάς το κουμπί για νερό.
Αν οι συνθήκες είναι σωστές:
το μηχάνημα σου δίνει το νερό.
Δεν υπάρχει ένας υπάλληλος που κάθε φορά αποφασίζει:
«Θα του δώσω το νερό ή όχι;»
Το σύστημα ακολουθεί προκαθορισμένη λογική.
Ένα smart contract μπορεί να λειτουργεί με παρόμοια φιλοσοφία.
Για παράδειγμα:
Αν ο χρήστης στείλει συγκεκριμένο asset
και
ικανοποιούνται συγκεκριμένες συνθήκες,
τότε
εκτέλεσε συγκεκριμένη ενέργεια.
Ειναι πραγματικα «Contract»;
Όχι απαραίτητα με τη νομική έννοια.
Το όνομα μπορεί να δημιουργήσει σύγχυση.
Ένα smart contract είναι κατά βάση:
ένα πρόγραμμα πάνω στο blockchain.
Μπορεί να αντιπροσωπεύει κάποια συμφωνία.
Μπορεί όμως επίσης να είναι:
ένα token,
ένα exchange,
ένα game,
ένα lending protocol,
ή οποιαδήποτε άλλη εφαρμογή.
Που βρισκεται το Smart Contract;
Όταν ένα contract αναπτυχθεί στο Ethereum, αποκτά δική του:
contract address.
Ο κώδικας και η κατάσταση που σχετίζεται με το contract γίνονται μέρος του Ethereum state σύμφωνα με τους κανόνες του protocol.
Οι χρήστες μπορούν στη συνέχεια να αλληλεπιδρούν μαζί του μέσω transactions ή calls.
Μπορει ενα Smart Contract να αλλαξει μονο του;
Ο κώδικας δεν ξυπνάει μόνος του και αποφασίζει να εκτελεστεί.
Χρειάζεται κάποια εξωτερική ενέργεια που προκαλεί execution.
Για παράδειγμα:
ένας χρήστης στέλνει transaction,
ένα άλλο contract κάνει call,
ή κάποιο άλλο μέρος του συστήματος προκαλεί την εκτέλεση.
Αυτό είναι σημαντικό.
Τα smart contracts δεν είναι αυτόνομα robots που λειτουργούν αυθαίρετα στο internet.
Smart δεν σημαινει εξυπνο
Το smart contract εκτελεί αυτό που έχει προγραμματιστεί.
Αν ο κώδικας έχει bug, μπορεί να εκτελέσει το bug με απόλυτη συνέπεια.
Δεν καταλαβαίνει ότι:
«Ο developer μάλλον εννοούσε κάτι άλλο.»
Ακολουθεί τον κώδικα.
Να θυμάσαι:
Smart contract = πρόγραμμα που εκτελείται μέσα στο περιβάλλον ενός blockchain σύμφωνα με προκαθορισμένη λογική.
Δεν σημαίνει ότι είναι «έξυπνο».
Και δεν σημαίνει απαραίτητα ότι αποτελεί νομικό συμβόλαιο.
ΜΑΘΗΜΑ 3 — ΤΙ ΕΙΝΑΙ ΤΟ EVM;
Έχουμε πει ότι το Ethereum μπορεί να εκτελεί smart contracts.
Αλλά πού εκτελείται αυτός ο κώδικας;
Η απάντηση είναι:
EVM.
EVM σημαίνει:
Ethereum Virtual Machine.
Τι ειναι μια Virtual Machine;
Ας το δούμε πρώτα γενικά.
Μια virtual machine είναι ένα software environment σχεδιασμένο ώστε να εκτελεί συγκεκριμένες instructions.
Στην περίπτωση του Ethereum, η EVM καθορίζει το execution environment για smart contract code.
Οι Ethereum nodes εκτελούν τους ίδιους κανόνες της EVM ώστε να μπορούν να υπολογίσουν το αποτέλεσμα των ίδιων transactions.
Γιατι αυτο ειναι σημαντικο;
Φαντάσου ότι ένα smart contract λέει:
«Ο Γιώργος έχει 10 tokens.»
Ο Γιώργος στέλνει 3 στη Μαρία.
Οι nodes πρέπει να καταλήξουν στο ίδιο αποτέλεσμα.
Μετά την transaction:
Γιώργος → 7
Μαρία → 3
Αν διαφορετικοί nodes εκτελούσαν την ίδια transaction και έπαιρναν διαφορετικά αποτελέσματα, το blockchain δεν θα μπορούσε να έχει κοινή κατάσταση.
Η EVM λειτουργεί σύμφωνα με deterministic rules.
Δηλαδή, με την ίδια προηγούμενη κατάσταση και την ίδια transaction, οι σωστά λειτουργούντες nodes πρέπει να υπολογίσουν το ίδιο αποτέλεσμα.
Solidity
Πολλά Ethereum smart contracts γράφονται σε μια programming language που ονομάζεται:
Solidity.
Οι developers γράφουν κώδικα σε Solidity.
Ο κώδικας γίνεται compile σε:
EVM bytecode.
Αυτό είναι το είδος κώδικα που μπορεί να εκτελέσει η EVM.
Δεν χρειάζεται να γνωρίζεις Solidity για να χρησιμοποιήσεις Ethereum.
Αλλά είναι καλό να γνωρίζεις ότι πίσω από τα interfaces που βλέπεις υπάρχουν πραγματικά προγράμματα.
Το Ethereum ειναι ενας παγκοσμιος υπολογιστης;
Θα ακούσεις συχνά τη φράση:
Ethereum is a world computer.
Είναι μια χρήσιμη αναλογία.
Δεν πρέπει όμως να την πάρουμε κυριολεκτικά.
Το Ethereum δεν είναι ένας τεράστιος υπερυπολογιστής που εκτελεί προγράμματα γρήγορα.
Αντίθετα, πολλοί nodes αναπαράγουν και επαληθεύουν το execution που απαιτείται για να συμφωνούν στην ίδια blockchain state.
Αυτό προσφέρει decentralization και verifiability.
Αλλά δημιουργεί επίσης κόστος και περιορισμούς.
Γιατι δεν βαζουμε τα παντα στο Ethereum;
Επειδή η computation πάνω σε ένα decentralized blockchain είναι ακριβή σε σχέση με έναν κανονικό server.
Αν θέλεις να αποθηκεύσεις εκατομμύρια φωτογραφίες ή να τρέξεις ένα video game ολόκληρο on-chain, το Ethereum Layer 1 πιθανότατα δεν είναι το κατάλληλο περιβάλλον.
Χρησιμοποιούμε το blockchain εκεί όπου οι ιδιότητές του προσφέρουν πραγματική αξία.
Να θυμάσαι:
EVM = το execution environment που καθορίζει πώς εκτελούνται τα Ethereum smart contracts.
Οι nodes χρησιμοποιούν τους ίδιους κανόνες ώστε να καταλήγουν στην ίδια κατάσταση.
ΜΑΘΗΜΑ 4 — ACCOUNTS ΚΑΙ ΤΟ ACCOUNT-BASED MODEL
Στο Bitcoin γνωρίσαμε το:
UTXO model.
Το Ethereum λειτουργεί διαφορετικά.
Χρησιμοποιεί ένα:
account-based model.
Σκεψου εναν τραπεζικο λογαριασμο
Σε έναν τραπεζικό λογαριασμό μπορεί να βλέπεις:
Balance: 1.000€
Αν ξοδέψεις 100€:
Balance: 900€
Το Ethereum μοιάζει περισσότερο με αυτή τη νοητική εικόνα από ό,τι το Bitcoin UTXO model.
Υπάρχουν accounts με state.
Δυο βασικοι τυποι Accounts
Στο Ethereum υπάρχουν δύο βασικές κατηγορίες accounts:
Externally Owned Accounts — EOAs
και
Contract Accounts.
Externally Owned Account
Ένα EOA ελέγχεται μέσω private keys.
Αυτό είναι το είδος account που συχνά χρησιμοποιεί ένας κανονικός χρήστης μέσω wallet.
Μπορεί:
να έχει ETH,
να στείλει transactions,
και να αλληλεπιδράσει με smart contracts.
Contract Account
Ένα contract account συνδέεται με smart contract code.
Δεν ελέγχεται με private key όπως ένα EOA.
Η συμπεριφορά του καθορίζεται από τον κώδικά του.
Όταν λάβει κατάλληλο call, ο κώδικας μπορεί να εκτελεστεί.
Τι περιλαμβανει το Ethereum State;
Πολύ απλοποιημένα, το Ethereum διατηρεί πληροφορίες σχετικά με την κατάσταση των accounts.
Για παράδειγμα:
ETH balances,
nonce,
contract code,
και contract storage.
Η κατάσταση αυτή αλλάζει καθώς εκτελούνται valid transactions.
Τι ειναι το Nonce εδώ;
Προσοχή.
Στο Bitcoin mining γνωρίσαμε έναν nonce μέσα στο block header.
Στο Ethereum account model υπάρχει επίσης κάτι που ονομάζεται nonce, αλλά είναι διαφορετική έννοια.
Για ένα EOA, το nonce σχετίζεται με τον αριθμό των transactions που έχουν σταλεί από το account.
Βοηθά:
στη σειρά των transactions
και
στην αποτροπή απλής επανάληψης της ίδιας signed transaction.
Άρα:
ίδια λέξη, διαφορετική χρήση.
Να θυμάσαι:
Bitcoin → κυρίως UTXO model.
Ethereum → account-based state model.
Και στο Ethereum υπάρχουν:
EOAs
και
Contract Accounts.
ΜΑΘΗΜΑ 5 — ΤΙ ΕΙΝΑΙ ΤΟ GAS;
Ανοίγεις ένα Ethereum wallet.
Προσπαθείς να κάνεις μια transaction.
Βλέπεις:
Gas Fee.
Γιατί χρειάζεται gas;
Το Smart Contract Execution εχει κοστος
Κάθε ενέργεια στην EVM απαιτεί computational resources.
Για παράδειγμα:
πρόσθεση αριθμών,
αποθήκευση δεδομένων,
ανάγνωση πληροφοριών,
μεταφορά assets,
εκτέλεση smart contract logic.
Για να μετρήσει αυτό το computational work, το Ethereum χρησιμοποιεί:
gas.
Gas δεν ειναι ETH
Αυτό είναι σημαντικό.
Gas είναι μονάδα μέτρησης computational work.
ETH είναι το asset που χρησιμοποιείται για να πληρωθεί το οικονομικό κόστος αυτής της χρήσης.
Σκέψου:
Gas = πόση δουλειά χρειάζεται.
Gas price / fee parameters = πόσο πληρώνεις για αυτή τη δουλειά.
ενα απλο παραδειγμα
Μια απλή μεταφορά ETH απαιτεί συγκεκριμένη ποσότητα gas.
Μια swap transaction σε ένα decentralized exchange μπορεί να εκτελεί πολύ περισσότερες operations.
Άρα μπορεί να χρειάζεται περισσότερο gas.
Ένα πολύπλοκο smart contract interaction μπορεί να απαιτεί ακόμη περισσότερο.
Gas Limit
Το:
gas limit
είναι το μέγιστο gas που επιτρέπεις να καταναλώσει μια transaction.
Αν η execution ολοκληρωθεί με λιγότερο gas, δεν χρεώνεσαι σαν να καταναλώθηκε ολόκληρο το maximum.
Αν όμως δεν υπάρχει αρκετό gas για να ολοκληρωθεί το execution, η transaction μπορεί να αποτύχει.
Αν αποτυχει η Transaction, παιρνω πισω το Fee;
Όχι απαραίτητα.
Αυτό είναι εξαιρετικά σημαντικό.
Αν μια transaction εκτελεστεί αλλά τελικά κάνει revert, το state μπορεί να επιστρέψει στην προηγούμενη κατάσταση όσον αφορά τις αλλαγές της εφαρμογής.
Όμως η computational δουλειά πραγματοποιήθηκε.
Άρα gas έχει καταναλωθεί.
Μπορεί λοιπόν να πληρώσεις fee ακόμη και για failed transaction.
Base Fee και Priority Fee
Στο σύγχρονο Ethereum fee mechanism υπάρχει:
base fee
και
priority fee.
Το base fee καθορίζεται από το protocol ανάλογα με τη χρήση του block space και:
καίγεται.
Δηλαδή αφαιρείται από την κυκλοφορία.
Το priority fee λειτουργεί ως επιπλέον κίνητρο προς τον validator που περιλαμβάνει την transaction.
Υπάρχουν και επιπλέον λεπτομέρειες γύρω από maximum fees και transaction types.
Για την ώρα, η βασική εικόνα είναι αρκετή.
Gas και Network Congestion
Όταν πολλοί χρήστες θέλουν να χρησιμοποιήσουν το Ethereum ταυτόχρονα, αυξάνεται ο ανταγωνισμός για block space.
Αυτό μπορεί να οδηγήσει σε υψηλότερο κόστος συναλλαγών.
Άρα τα fees δεν εξαρτώνται μόνο από:
τι κάνεις,
αλλά και από:
πόσο μεγάλη είναι η ζήτηση του network εκείνη τη στιγμή.
Να θυμάσαι:
Gas = μονάδα μέτρησης του computational work στην EVM.
ETH = το asset με το οποίο πληρώνεται το κόστος του gas.
ΜΑΘΗΜΑ 6 — ΤΙ ΕΙΝΑΙ ΤΑ TOKENS;
Μέχρι τώρα έχουμε μιλήσει για ETH.
Αλλά στο Ethereum υπάρχουν χιλιάδες άλλα assets.
Πώς δημιουργούνται;
Μέσω:
smart contracts.
Coin και Token ξανα
Θυμήσου:
ETH είναι το native asset του Ethereum.
Δεν είναι ERC-20 token.
Αντίθετα, πολλά assets που λειτουργούν πάνω στο Ethereum είναι tokens που έχουν δημιουργηθεί μέσω smart contracts.
Τι ειναι το ERC-20;
Το:
ERC-20
είναι ένα token standard.
Καθορίζει ένα κοινό interface που μπορούν να ακολουθούν fungible tokens στο Ethereum.
Fungible σημαίνει ότι οι μονάδες είναι αμοιβαία αντικαταστάσιμες.
Για παράδειγμα:
1 token συγκεκριμένου ERC-20 asset είναι ισοδύναμο με άλλο 1 token του ίδιου asset.
Όπως:
1€ = άλλο 1€ ως μονάδα αξίας.
Γιατι χρειαζομαστε Standard;
Φαντάσου ότι κάθε token λειτουργούσε εντελώς διαφορετικά.
Κάθε wallet.
Κάθε exchange.
Κάθε DeFi protocol.
Θα έπρεπε να γράφει ειδικό software για κάθε token.
Με ένα κοινό standard, applications μπορούν να γνωρίζουν ένα σύνολο κοινών functions και behaviors.
Για παράδειγμα:
balanceOf
transfer
approve
transferFrom
και άλλα.
Το Token «ζει μεσα στο Wallet»;
Όχι.
Όπως και πριν, το wallet δεν περιέχει κυριολεκτικά τα tokens.
Το token contract διατηρεί state σχετικά με balances και άλλες πληροφορίες.
Το wallet διαβάζει αυτές τις πληροφορίες και σου τις παρουσιάζει.
Μπορει οποιοσδηποτε να δημιουργησει Token;
Τεχνικά, η δημιουργία ενός απλού token contract είναι σχετικά εύκολη για κάποιον με τις απαραίτητες γνώσεις.
Αυτό όμως σημαίνει κάτι σημαντικό:
Η ύπαρξη ενός token δεν αποδεικνύει αξία.
Οποιοσδήποτε μπορεί να δημιουργήσει κάτι που έχει:
όνομα,
σύμβολο,
supply,
και token contract.
Το δύσκολο δεν είναι να δημιουργήσεις το token.
Το δύσκολο είναι να δημιουργήσεις κάτι:
χρήσιμο,
ασφαλές,
βιώσιμο,
και πραγματικά πολύτιμο.
Να θυμάσαι:
Token = asset που δημιουργείται και διαχειρίζεται μέσω smart contract πάνω σε υπάρχον blockchain.
ERC-20 = κοινό Ethereum standard για fungible tokens.
ΜΑΘΗΜΑ 7 — APPROVALS ΚΑΙ ΓΙΑΤΙ ΕΙΝΑΙ ΤΟΣΟ ΣΗΜΑΝΤΙΚΑ
Αυτό είναι ένα μάθημα που μπορεί πραγματικά να προστατεύσει χρήματα.
Ας πούμε ότι έχεις ένα ERC-20 token.
Θέλεις να το χρησιμοποιήσεις σε ένα decentralized exchange.
Το exchange smart contract πρέπει να μπορεί να μεταφέρει συγκεκριμένα tokens από το account σου όταν εκτελεστεί η συναλλαγή.
Πώς αποκτά αυτή τη δυνατότητα;
Μέσω:
approval.
Τι ειναι Approval;
Ένα ERC-20 token contract μπορεί να επιτρέψει σε έναν χρήστη να ορίσει ότι κάποια άλλη address — συνήθως smart contract — έχει το δικαίωμα να μεταφέρει μέχρι συγκεκριμένη ποσότητα tokens εκ μέρους του.
Αυτό γίνεται μέσω της:
approve
function.
ενα παραδειγμα
Έχεις:
1.000 ABC tokens.
Θέλεις να χρησιμοποιήσεις ένα DEX.
Μπορεί να εγκρίνεις το DEX contract να δαπανήσει:
100 ABC.
Στη συνέχεια το contract μπορεί, εφόσον η λογική της εφαρμογής το απαιτεί, να χρησιμοποιήσει:
transferFrom
μέχρι το επιτρεπόμενο allowance.
Infinite Approval
Πολλά applications ζητούν από τον χρήστη πολύ μεγάλο ή ουσιαστικά unlimited approval.
Γιατί;
Για ευκολία.
Δεν χρειάζεται να κάνεις νέα approval transaction κάθε φορά.
Όμως δημιουργείται μεγαλύτερο risk.
Αν το approved contract:
έχει vulnerability,
είναι malicious,
ή ο χρήστης έδωσε approval σε λάθος address,
το μεγάλο allowance μπορεί να αυξήσει την πιθανή ζημιά.
Approval δεν σημαινει οτι τα Tokens μεταφερθηκαν
Αυτό είναι σημαντικό.
Το approval από μόνο του συνήθως δεν μεταφέρει tokens.
Δίνει δικαίωμα σε συγκεκριμένο spender να μεταφέρει μέχρι συγκεκριμένη ποσότητα.
Η μεταφορά μπορεί να γίνει αργότερα.
Μπορω να αφαιρεσω Approval;
Ναι.
Τα allowances μπορούν να αλλάξουν.
Ο χρήστης μπορεί να μειώσει ή να μηδενίσει ένα approval μέσω κατάλληλης on-chain transaction.
Υπάρχουν επίσης interfaces που βοηθούν τους χρήστες να βλέπουν υπάρχοντα token approvals.
Προσοχη στις υπογραφες
Δεν πρέπει να θεωρούμε ότι:
«Αν δεν πληρώνω gas, η υπογραφή είναι ακίνδυνη.»
Ορισμένες off-chain signatures μπορούν να χρησιμοποιηθούν για να εγκρίνουν ή να εξουσιοδοτήσουν ενέργειες που εκτελούνται αργότερα on-chain.
Άρα:
Δεν υπογράφουμε κάτι που δεν καταλαβαίνουμε.
Να θυμάσαι:
Approval = permission προς κάποια address ή smart contract να μεταφέρει συγκεκριμένα ERC-20 tokens μέχρι ένα επιτρεπόμενο όριο.
Δεν είναι απλή τεχνική λεπτομέρεια.
Είναι σημαντικό security concept.
ΜΑΘΗΜΑ 8 — ΤΙ ΕΙΝΑΙ ΤΑ dAPPS;
Ανοίγεις μια ιστοσελίδα.
Βλέπεις:
Connect Wallet.
Συνδέεις το wallet.
Κάνεις swap.
Καταθέτεις assets.
Αγοράζεις NFT.
Αυτό συνήθως περιγράφεται ως χρήση μιας:
dApp.
dApp σημαίνει:
Decentralized Application.
Ειναι πραγματικα ολοκληρη η εφαρμογη decentralized;
Όχι απαραίτητα.
Αυτό είναι σημαντικό.
Μια dApp μπορεί να αποτελείται από πολλά διαφορετικά κομμάτια.
Για παράδειγμα:
ένα frontend website,
smart contracts,
off-chain servers,
APIs,
indexing services,
wallet infrastructure,
και decentralized ή centralized storage.
Το ότι το βασικό settlement logic βρίσκεται σε smart contracts δεν σημαίνει ότι κάθε μέρος της εφαρμογής είναι decentralized.
Frontend και Smart Contract
Φαντάσου ένα decentralized exchange.
Η ιστοσελίδα που βλέπεις είναι:
frontend.
Σου δίνει κουμπιά και γραφικό περιβάλλον.
Όταν πατήσεις:
Swap,
το frontend μπορεί να προετοιμάσει μια transaction που αλληλεπιδρά με κάποιο smart contract.
Το wallet σου εμφανίζει την transaction.
Εσύ την υπογράφεις.
Η transaction πηγαίνει στο blockchain.
Το contract εκτελεί τη λογική του.
Αν κλεισει το Website;
Εξαρτάται από την εφαρμογή.
Αν τα smart contracts παραμένουν deployed και λειτουργικά, μπορεί θεωρητικά να είναι δυνατή η αλληλεπίδραση μαζί τους μέσω:
άλλου frontend,
block explorer,
ή απευθείας μέσω κατάλληλου software.
Αυτό όμως δεν σημαίνει ότι κάθε χρήστης θα μπορεί εύκολα να το κάνει.
Connect Wallet δεν σημαινει οτι εδωσες ολα σου τα Crypto
Η απλή σύνδεση ενός wallet σε ένα website δεν είναι το ίδιο με:
να δώσεις private key
ή
να εγκρίνεις μεταφορά όλων των assets σου.
Ωστόσο, μετά τη σύνδεση το site μπορεί να σου ζητήσει:
signatures,
approvals,
ή transactions.
Εκεί χρειάζεται προσοχή.
Η dApp δεν ειναι απαραιτητα ασφαλης επειδη ειναι decentralized
Ένα smart contract μπορεί να έχει bug.
Το frontend μπορεί να παραβιαστεί.
Το domain μπορεί να είναι fake.
Το protocol μπορεί να έχει κακό economic design.
Το admin system μπορεί να διαθέτει μεγάλη κεντρική εξουσία.
Άρα:
Decentralized ≠ automatically safe.
Να θυμάσαι:
dApp = εφαρμογή που χρησιμοποιεί blockchain και smart contracts ως σημαντικό μέρος της λειτουργίας της.
Δεν σημαίνει απαραίτητα ότι κάθε κομμάτι της εφαρμογής είναι αποκεντρωμένο.
ΜΑΘΗΜΑ 9 — ΤΟ ETHEREUM PROOF OF STAKE ΚΑΙ ΟΙ VALIDATORS
Στο Bitcoin έχουμε:
miners
και
Proof of Work.
Το Ethereum σήμερα χρησιμοποιεί:
Proof of Stake.
Άρα αντί για Bitcoin-style miners έχουμε:
validators.
Τι κανει ενας Validator;
Οι validators συμμετέχουν στον consensus mechanism του Ethereum.
Μεταξύ άλλων, μπορούν να συμμετέχουν:
στην πρόταση blocks
και
στην επιβεβαίωση της κατάστασης του chain μέσω attestations.
Δεν επιλέγει κάθε validator απλώς όποτε θέλει να δημιουργήσει block.
Το protocol ορίζει συγκεκριμένους ρόλους σε συγκεκριμένες χρονικές περιόδους.
Τι ειναι Stake;
Για να λειτουργήσει κάποιος validator στο protocol level, απαιτείται να έχει δεσμευμένο ETH ως:
stake.
Το stake λειτουργεί ως οικονομικό κεφάλαιο που μπορεί να επιβραβευθεί όταν ο validator λειτουργεί σωστά και να υποστεί penalties σε ορισμένες περιπτώσεις κακής ή προβληματικής συμπεριφοράς.
Rewards
Οι validators μπορούν να λαμβάνουν protocol rewards για τη σωστή συμμετοχή τους.
Τα rewards εξαρτώνται από διάφορους παράγοντες.
Δεν είναι απλώς:
«Καταθέτω ETH και παίρνω σταθερό επιτόκιο.»
Οι αποδόσεις μπορούν να αλλάζουν.
Penalties
Αν ένας validator δεν λειτουργεί σωστά ή είναι offline, μπορεί να χάσει μέρος των πιθανών rewards και να υποστεί penalties.
Slashing
Το:
slashing
είναι πιο σοβαρό.
Δεν εφαρμόζεται επειδή ένας validator έχασε για λίγο τη σύνδεσή του στο internet.
Σχετίζεται με συγκεκριμένες παραβιάσεις του protocol, όπως ορισμένες μορφές αντικρουόμενων μηνυμάτων που μπορούν να απειλήσουν το consensus.
Άρα:
Offline validator ≠ αυτόματα slashed.
Staking Service και Solo Validator δεν ειναι το ιδιο
Ένας χρήστης μπορεί να συμμετέχει οικονομικά στο staking μέσω διαφορετικών μοντέλων.
Για παράδειγμα:
solo validator,
staking pool,
liquid staking protocol,
ή centralized service.
Αυτά έχουν διαφορετικούς κινδύνους.
Αν χρησιμοποιήσεις centralized staking service, έχεις counterparty risk.
Αν χρησιμοποιήσεις smart contract protocol, έχεις smart contract και protocol risk.
Αν λειτουργείς μόνος σου validator, έχεις operational requirements και ευθύνη.
Άρα η λέξη:
«staking»
δεν περιγράφει πάντα ακριβώς το ίδιο πράγμα.
Να θυμάσαι:
Ethereum Proof of Stake = consensus system στο οποίο validators δεσμεύουν ETH και συμμετέχουν στην πρόταση και επιβεβαίωση blocks σύμφωνα με τους κανόνες του protocol.
Και:
Slashing δεν σημαίνει απλώς ότι ένας validator έπεσε offline.
ΜΑΘΗΜΑ 10 — ΠΩΣ ΣΥΝΔΕΟΝΤΑΙ ΟΛΑ ΜΕΤΑΞΥ ΤΟΥΣ;
Έχουμε πλέον αρκετές γνώσεις για να δούμε μια πραγματική Ethereum αλληλεπίδραση από την αρχή μέχρι το τέλος.
Ας υποθέσουμε ότι η Μαρία θέλει να ανταλλάξει:
ETH
με
ένα ERC-20 token
μέσω ενός decentralized exchange.
Βημα 1 — Το Wallet
Η Μαρία ανοίγει το wallet της.
Το wallet ελέγχει ένα Ethereum account μέσω των keys της.
Βλέπει:
ETH balance
και
διάφορα token balances.
Τα tokens δεν βρίσκονται κυριολεκτικά μέσα στο wallet.
Το wallet διαβάζει blockchain state και της παρουσιάζει την πληροφορία.
Βημα 2 — Η dApp
Η Μαρία επισκέπτεται το frontend ενός decentralized exchange.
Πατάει:
Connect Wallet.
Το website μπορεί πλέον να δει την public address που επέλεξε να συνδέσει και να προετοιμάζει requests προς το wallet.
Δεν έχει πάρει το private key της.
Βημα 3 — Το Swap
Η Μαρία επιλέγει:
ETH → ABC Token.
Η dApp υπολογίζει μια πιθανή συναλλαγή και της παρουσιάζει πληροφορίες.
Για παράδειγμα:
πόσο ETH θα χρησιμοποιήσει,
πόσα tokens αναμένεται να λάβει,
πιθανό slippage,
και εκτιμώμενα gas costs.
Βημα 4 — Υπογραφή
Το wallet εμφανίζει στη Μαρία την transaction.
Η Μαρία πρέπει να τη διαβάσει όσο καλύτερα μπορεί.
Αν εγκρίνει, το wallet χρησιμοποιεί το private key για να υπογράψει την transaction.
Το private key δεν αποστέλλεται στο decentralized exchange.
Βημα 5 — Broadcast
Η signed transaction μεταδίδεται στο Ethereum network.
Οι nodes μπορούν να την επαληθεύσουν.
Βημα 6 — Inclusion και Execution
Αν συμπεριληφθεί σε block, η EVM εκτελεί το σχετικό smart contract logic.
Οι Ethereum nodes που επεξεργάζονται το block πρέπει να καταλήξουν στο ίδιο αποτέλεσμα σύμφωνα με τους protocol rules.
Αν όλα πάνε σωστά:
το ETH balance αλλάζει,
το smart contract state αλλάζει,
και η Μαρία λαμβάνει το token σύμφωνα με τους όρους της swap.
Βημα 7 — Gas
Η execution κατανάλωσε computational resources.
Για αυτό υπάρχει gas cost.
Η Μαρία πληρώνει το σχετικό transaction fee σε ETH.
Τι εγινε πραγματικα;
Στην επιφάνεια, η Μαρία έκανε:
ένα swap.
Από κάτω όμως συνέβησαν πολλά πράγματα.
Χρησιμοποίησε:
ένα EOA,
ένα wallet,
μια digital signature,
μια Ethereum transaction,
block space,
gas,
την EVM,
ένα ή περισσότερα smart contracts,
token contracts,
και το Ethereum consensus system.
Αυτό είναι το σημαντικότερο μάθημα αυτού του Level.
Όταν χρησιμοποιείς μια crypto application, αυτό που βλέπεις στην οθόνη είναι μόνο το frontend.
Από πίσω υπάρχει ολόκληρη blockchain infrastructure.
ETHEREUM ΚΑΙ BITCOIN — Η ΜΕΓΑΛΗ ΔΙΑΦΟΡΑ
Τώρα μπορούμε να δούμε πιο καθαρά τη βασική διαφορά στη φιλοσοφία.
Το Bitcoin σχεδιάστηκε πρωτίστως γύρω από ένα decentralized monetary asset και ένα ιδιαίτερα περιορισμένο και προσεκτικά σχεδιασμένο transaction system.
Το Ethereum σχεδιάστηκε ως περισσότερο general-purpose programmable blockchain.
Αυτό του επιτρέπει να υποστηρίζει πολύ πιο σύνθετες εφαρμογές.
Αλλά αυτή η ευελιξία δημιουργεί και νέους κινδύνους.
Στο Ethereum ecosystem μπορείς να έχεις:
smart contract bugs,
malicious tokens,
dangerous approvals,
protocol exploits,
oracle failures,
bridge hacks,
governance attacks,
και πολύπλοκους οικονομικούς κινδύνους.
Όσο μεγαλύτερη η δυνατότητα προγραμματισμού, τόσο μεγαλύτερη μπορεί να γίνει και η attack surface.
ΤΙ ΓΝΩΡΙΖΕΙΣ ΠΛΕΟΝ;
Αν έχεις καταλάβει πραγματικά το Level 3, μπορείς πλέον να εξηγήσεις:
τι είναι το Ethereum,
ποια είναι η διαφορά Ethereum και ETH,
τι είναι smart contract,
τι είναι EVM,
τι είναι Solidity,
ποια είναι η διαφορά EOA και Contract Account,
τι σημαίνει account-based model,
τι είναι gas,
γιατί μια failed transaction μπορεί να κοστίσει gas,
τι είναι ERC-20 token,
τι είναι token approval,
τι είναι μια dApp,
πώς λειτουργεί σε βασικό επίπεδο το Ethereum Proof of Stake,
και πώς όλα αυτά συνεργάζονται όταν ένας χρήστης αλληλεπιδρά με μια decentralized application.
Έχεις πλέον περάσει από το:
«Καταλαβαίνω πώς λειτουργεί ένα βασικό blockchain.»
στο:
«Καταλαβαίνω πώς ένα blockchain μπορεί να γίνει προγραμματιζόμενη πλατφόρμα εφαρμογών.»
Και αυτό ανοίγει την πόρτα σε έναν τεράστιο νέο κόσμο.
Γιατί τώρα μπορούμε να καταλάβουμε πραγματικά:
stablecoins,
decentralized exchanges,
liquidity pools,
lending,
borrowing,
staking,
yield,
και DeFi.
Να θυμάσαι:
Ethereum = programmable blockchain.
Smart Contract = κώδικας που εκτελείται στο blockchain.
EVM = το execution environment των Ethereum smart contracts.
ETH = το native asset του Ethereum.
Gas = μέτρηση computational work.
ERC-20 = standard για fungible tokens.
Approval = άδεια προς κάποιο contract ή address να χρησιμοποιήσει tokens μέχρι συγκεκριμένο όριο.
dApp = εφαρμογή που χρησιμοποιεί smart contracts και blockchain infrastructure.
Και το σημαντικότερο:
Το γεγονός ότι μια εφαρμογή λειτουργεί πάνω σε blockchain δεν σημαίνει ότι είναι αυτομάτως ασφαλής, αποκεντρωμένη ή αξιόπιστη.
-
Στο Level 3 μάθαμε ότι το Ethereum δεν είναι απλώς ένα blockchain για μεταφορές αξίας.
Είναι ένα programmable blockchain.
Μπορεί να εκτελεί smart contracts.
Μπορεί να δημιουργεί tokens.
Μπορεί να υποστηρίζει decentralized applications.
Τώρα έρχεται το επόμενο λογικό βήμα.
Τι συμβαίνει όταν χρησιμοποιούμε smart contracts για να δημιουργήσουμε χρηματοοικονομικές υπηρεσίες;
Ανταλλαγές.
Δανεισμό.
Δανεισμό με collateral.
Stablecoins.
Liquidity.
Yield.
Όλα αυτά μπορούν να γίνουν μέσα από smart contracts.
Αυτός ο κόσμος ονομάζεται:
DeFi.
DeFi σημαίνει:
Decentralized Finance.
Δεν σημαίνει ότι κάθε DeFi application είναι πλήρως decentralized.
Ούτε σημαίνει ότι εξαφανίζεται ο κίνδυνος.
Σημαίνει ότι σημαντικά κομμάτια της χρηματοοικονομικής λογικής μπορούν να υλοποιούνται μέσω smart contracts πάνω σε blockchain networks.
Σε αυτό το Level θα δούμε πώς λειτουργούν τα βασικά DeFi primitives.
ΜΑΘΗΜΑ 1 — ΤΙ ΕΙΝΑΙ ΤΟ DEFI;
Ας ξεκινήσουμε από κάτι γνώριμο.
Στο παραδοσιακό χρηματοπιστωτικό σύστημα υπάρχουν:
τράπεζες,
brokers,
exchanges,
lenders,
clearing systems,
payment processors,
custodians.
Διαφορετικές εταιρείες και οργανισμοί εκτελούν διαφορετικές λειτουργίες.
Τώρα φαντάσου ότι κάποιες από αυτές τις λειτουργίες μπορούν να εκτελεστούν από smart contracts.
Αυτό είναι το βασικό concept του DeFi.
ενα απλο παραδειγμα
Θέλεις να ανταλλάξεις ETH με κάποιο άλλο token.
Σε ένα centralized exchange μπορεί να:
καταθέσεις τα assets σου,
περιμένεις το exchange να τηρεί τα balances,
και κάνεις trade μέσα στο δικό του σύστημα.
Σε ένα DeFi exchange, μπορείς να αλληλεπιδράσεις απευθείας με smart contracts από το wallet σου.
Το contract ακολουθεί τους προκαθορισμένους κανόνες.
Δεν χρειάζεται απαραίτητα να παραδώσεις custody των assets σου σε μία κεντρική εταιρεία για να πραγματοποιηθεί η συγκεκριμένη συναλλαγή.
Τι σημαινει Permissionless;
Θα ακούσεις συχνά ότι το DeFi είναι:
permissionless.
Σημαίνει ότι, σε αρκετά protocols, οποιοσδήποτε διαθέτει συμβατό wallet και μπορεί να αλληλεπιδράσει με το blockchain μπορεί να χρησιμοποιήσει το protocol χωρίς να ζητήσει άδεια από κάποιον διαχειριστή.
Αυτό όμως δεν σημαίνει ότι κάθε frontend είναι διαθέσιμο σε όλους.
Ένα website μπορεί να εφαρμόζει περιορισμούς.
Το smart contract layer και το frontend layer είναι δύο διαφορετικά πράγματα.
Τι σημαινει Non-Custodial;
Πολλά DeFi protocols είναι non-custodial με την έννοια ότι δεν υπάρχει μία εταιρεία που κρατά τα private keys όλων των χρηστών.
Ο χρήστης υπογράφει transactions από το δικό του wallet.
Αλλά αυτό δεν σημαίνει ότι τα assets δεν μπορούν να μπουν σε smart contract custody.
Αν καταθέσεις assets σε lending protocol ή liquidity pool, τα assets μπορεί να ελέγχονται πλέον από smart contract logic.
Άρα:
non-custodial δεν σημαίνει “τα funds δεν φεύγουν ποτέ από το wallet σου”.
Σημαίνει ότι δεν παραδίδεις τα private keys σου σε έναν κεντρικό custodian.
Ειναι το DeFi χωρις μεσαζοντες;
Όχι ακριβώς.
Πιο σωστά:
αντικαθιστά ορισμένους παραδοσιακούς intermediaries με:
smart contracts,
protocol rules,
oracles,
validators,
και άλλες υποδομές.
Άρα δεν εξαφανίζεται κάθε ενδιάμεσο επίπεδο.
Αλλά αλλάζει ο τρόπος με τον οποίο λειτουργεί.
Να θυμάσαι:
DeFi = χρηματοοικονομικές εφαρμογές και protocols που χρησιμοποιούν smart contracts και blockchain infrastructure για λειτουργίες όπως trading, lending, borrowing και asset management.
ΜΑΘΗΜΑ 2 — ΤΙ ΕΙΝΑΙ ΕΝΑ DEX;
DEX σημαίνει:
Decentralized Exchange.
Είναι ένα protocol που επιτρέπει την ανταλλαγή crypto assets χωρίς να χρειάζεται απαραίτητα ένα κεντρικό exchange να κρατά το order book και την custody όλων των χρηστών.
Centralized Exchange vs DEX
Σε ένα centralized exchange:
καταθέτεις assets,
το exchange διαχειρίζεται εσωτερικά balances,
και οι trades μπορεί να γίνονται μέσα σε δικό του internal system.
Σε ένα DEX:
ο χρήστης συνδέει wallet,
υπογράφει transaction,
και η ανταλλαγή εκτελείται μέσω smart contracts.
Πρeπει να υπaρχει αγοραστhς απeναντι;
Στα παραδοσιακά order book exchanges, ο trader συνήθως χρειάζεται counterparties.
Κάποιος που θέλει να πουλήσει.
Κάποιος που θέλει να αγοράσει.
Πολλά DeFi DEXs όμως χρησιμοποιούν διαφορετικό μοντέλο.
Χρησιμοποιούν:
Automated Market Makers — AMMs.
Εδώ η ανταλλαγή γίνεται απέναντι σε liquidity pool.
Όχι απαραίτητα απέναντι σε συγκεκριμένο trader την ίδια στιγμή.
eνα παρaδειγμα
Έχεις ETH.
Θέλεις USDC.
Ένα DEX μπορεί να έχει pool:
ETH / USDC.
Το pool περιέχει και τα δύο assets.
Εσύ βάζεις ETH.
Το smart contract σου δίνει USDC σύμφωνα με τον pricing mechanism του pool.
Το DEX δεν «βρiσκει» τιμh απo μoνο του
Η τιμή προκύπτει από τη σχέση των assets μέσα στο pool και από τις συναλλαγές που αλλάζουν αυτή τη σχέση.
Όμως η τιμή στο pool δεν παραμένει απομονωμένη από την υπόλοιπη αγορά.
Arbitrageurs εκμεταλλεύονται διαφορές τιμής και βοηθούν να επανέρχεται η pool price κοντά στις broader market prices.
Ειναι DEX παντα πληρως decentralized;
Όχι.
Μπορεί το smart contract να είναι permissionless.
Αλλά:
το frontend μπορεί να ελέγχεται από μια εταιρεία,
τα admin keys να έχουν εξουσίες,
το protocol governance να είναι συγκεντρωμένο,
ή κάποια υποσυστήματα να είναι centralized.
Άρα πρέπει να εξετάζουμε κάθε επίπεδο χωριστά.
Να θυμάσαι:
DEX = exchange functionality μέσω smart contracts, συχνά χωρίς κεντρική custody των χρηστών.
Πολλά DEXs χρησιμοποιούν AMMs και liquidity pools αντί για παραδοσιακό order book.
ΜΑΘΗΜΑ 3 — ΤΙ ΕΙΝΑΙ LIQUIDITY POOL;
Για να λειτουργήσει ένα AMM-based DEX, χρειάζεται liquidity.
Αλλά από πού έρχεται αυτή η liquidity;
Από:
Liquidity Pools.
Τι ειναι Liquidity Pool;
Ένα liquidity pool είναι ένα smart contract που περιέχει δύο ή περισσότερα assets και επιτρέπει στους χρήστες να κάνουν swaps σύμφωνα με συγκεκριμένο pricing mechanism.
Για παράδειγμα:
ETH / USDC pool.
Το pool μπορεί να περιέχει:
100 ETH
και
300.000 USDC.
Ποιος βαζει τα Assets στο Pool;
Οι χρήστες που παρέχουν assets ονομάζονται:
Liquidity Providers — LPs.
Ένας LP μπορεί να καταθέσει assets στο pool ώστε άλλοι χρήστες να μπορούν να πραγματοποιούν swaps.
Σε αντάλλαγμα, ο LP μπορεί να λαμβάνει μέρος των trading fees.
Γιατι χρειαζεται Liquidity;
Χωρίς liquidity, μια αγορά δεν μπορεί να εκτελεί εύκολα trades.
Φαντάσου ότι θέλεις να πουλήσεις 10 ETH.
Αν δεν υπάρχει αρκετή διαθέσιμη liquidity, η πώληση μπορεί να προκαλέσει τεράστια αλλαγή στην τιμή.
Με περισσότερη liquidity, μεγαλύτερες συναλλαγές μπορούν συνήθως να εκτελεστούν με μικρότερο price impact.
Τι παιρνει ο Liquidity Provider;
Ανάλογα με το protocol, ο LP μπορεί να λαμβάνει:
μέρος των trading fees,
LP tokens,
NFT position representations,
ή άλλες μορφές accounting.
Δεν υπάρχει ένα ενιαίο μοντέλο για όλα τα DEXs.
Ειναι δωρεαν χρημα;
Όχι.
Αυτό είναι κρίσιμο.
Το γεγονός ότι ένας LP λαμβάνει fees δεν σημαίνει ότι δεν αναλαμβάνει κίνδυνο.
Υπάρχει:
price risk,
smart contract risk,
impermanent loss ή άλλες μορφές divergence loss,
token risk,
και protocol risk.
Θα τα δούμε αναλυτικά.
Να θυμάσαι:
Liquidity pool = smart contract με assets που χρησιμοποιούνται για swaps.
Liquidity provider = χρήστης που καταθέτει assets στο pool και αναλαμβάνει κίνδυνο με αντάλλαγμα πιθανό fee income.
ΜΑΘΗΜΑ 4 — ΠΩΣ ΛΕΙΤΟΥΡΓΕΙ ΕΝΑ AMM;
Τώρα πάμε στην καρδιά πολλών DEXs.
AMM = Automated Market Maker.
Το AMM χρησιμοποιεί μαθηματικούς κανόνες για να καθορίζει τις ανταλλαγές μέσα σε ένα liquidity pool.
Το κλασικο μοντελο x × y = k
Ένα από τα πιο γνωστά μοντέλα είναι:
x × y = k
Όπου:
x = ποσότητα του πρώτου asset
y = ποσότητα του δεύτερου asset
k = σταθερά που το pool προσπαθεί να διατηρεί μέσα στο συγκεκριμένο μοντέλο.
ενα απλο παραδειγμα
Έχουμε pool:
10 ETH
και
30.000 USDC.
Άρα η αναλογία υποδηλώνει περίπου:
1 ETH = 3.000 USDC.
Αν κάποιος αγοράσει ETH από το pool, βάζει USDC και αφαιρεί ETH.
Μετά τη συναλλαγή:
το ETH στο pool μειώνεται,
το USDC αυξάνεται.
Η σχέση μεταξύ των δύο αλλάζει.
Άρα αλλάζει και η implied price.
Γιατι ανεβαινει η τιμη οταν αγοραζω πολυ;
Αν αγοράσεις μικρή ποσότητα, η σχέση του pool αλλάζει λίγο.
Αν αγοράσεις τεράστια ποσότητα, η σχέση αλλάζει περισσότερο.
Αυτό δημιουργεί:
price impact.
Όσο μεγαλύτερη η συναλλαγή σε σχέση με το βάθος του pool, τόσο μεγαλύτερο το price impact.
Slippage
Slippage είναι η διαφορά μεταξύ της τιμής που περίμενες και της τελικής τιμής εκτέλεσης.
Μπορεί να προκύψει επειδή:
η συναλλαγή σου έχει μεγάλο price impact,
η αγορά κινήθηκε πριν εκτελεστεί,
ή άλλες συναλλαγές εκτελέστηκαν πριν από τη δική σου.
Slippage Tolerance
Πολλά DEX interfaces σου επιτρέπουν να ορίσεις:
slippage tolerance.
Για παράδειγμα:
0,5%.
Αυτό σημαίνει ότι αποδέχεσαι εκτέλεση μέχρι ένα συγκεκριμένο όριο χειρότερης τιμής.
Αν η τιμή κινηθεί πέρα από αυτό το όριο, η transaction μπορεί να κάνει revert.
Γιατι δεν μπορω να βαλω παντα 10%;
Επειδή πολύ μεγάλη slippage tolerance μπορεί να σε εκθέσει σε κακή εκτέλεση.
Σε ορισμένες περιπτώσεις μπορεί επίσης να αυξήσει τον κίνδυνο από MEV-related behavior ή manipulation.
Άρα η slippage tolerance δεν πρέπει να επιλέγεται τυχαία.
Να θυμάσαι:
AMM = μηχανισμός που χρησιμοποιεί μαθηματικούς κανόνες για pricing και swaps μέσα σε liquidity pools.
Price impact = αλλαγή τιμής που προκαλεί η ίδια η συναλλαγή σου.
Slippage = διαφορά ανάμεσα στην αναμενόμενη και την πραγματική εκτέλεση.
ΜΑΘΗΜΑ 5 — IMPERMANENT LOSS
Αυτό είναι ένα από τα πιο παρεξηγημένα concepts στο DeFi.
Impermanent Loss.
Το όνομα είναι κάπως παραπλανητικό.
Μπορεί να υπάρξει πραγματική οικονομική ζημιά σε σχέση με το απλό holding.
Τι συγκρινουμε;
Όταν μιλάμε για impermanent loss, δεν συγκρίνουμε:
«Έχασα χρήματα σε ευρώ;»
Συγκρίνουμε:
Την αξία της LP position
με
την αξία που θα είχα αν απλώς κρατούσα τα ίδια assets εκτός pool.
ενα απλο παραδειγμα
Ας πούμε ότι βάζεις σε pool:
1 ETH
και
3.000 USDC.
Συνολική αρχική αξία:
6.000$ αν το ETH είναι 3.000$.
Τώρα το ETH ανεβαίνει πολύ.
Οι traders και arbitrageurs αγοράζουν ETH από το pool.
Το pool καταλήγει με:
λιγότερο ETH
και
περισσότερο USDC.
Άρα όταν αποσύρεις τη θέση σου, μπορεί να έχεις λιγότερο ETH από ό,τι αν το είχες απλώς κρατήσει.
Γιατι συμβαινει;
Το AMM αναπροσαρμόζει συνεχώς τη σύνθεση της position καθώς αλλάζει η σχετική τιμή των assets.
Αν τα δύο assets αποκλίνουν σημαντικά σε τιμή, η LP position μπορεί να αποδώσει χειρότερα από το passive holding.
Και τα Fees;
Τα trading fees μπορούν να αντισταθμίσουν μέρος ή όλο το impermanent loss.
Αλλά όχι πάντα.
Αν:
fees > divergence loss,
η LP position μπορεί να είναι καλύτερη.
Αν:
fees < divergence loss,
μπορεί να είναι χειρότερη από το απλό hold.
Γιατι λεγεται Impermanent;
Ιστορικά, επειδή αν οι σχετικές τιμές επιστρέψουν κοντά στην αρχική σχέση πριν αποσύρεις, η διαφορά μπορεί να μειωθεί.
Αλλά στην πράξη, αν αποσύρεις τη θέση όταν υπάρχει διαφορά, το οικονομικό αποτέλεσμα έχει πλέον πραγματοποιηθεί.
Γι’ αυτό πολλοί προτιμούν όρους όπως:
divergence loss.
Να θυμάσαι:
Impermanent loss = η υποαπόδοση μιας LP position σε σχέση με το απλό holding των ίδιων assets λόγω αλλαγής της σχετικής τους τιμής.
Δεν είναι «δωρεάν yield χωρίς ρίσκο».
ΜΑΘΗΜΑ 6 — ΤΙ ΕΙΝΑΙ ΤΑ STABLECOINS;
Στον κόσμο των crypto υπάρχει ένα μεγάλο πρόβλημα.
Η τιμή πολλών assets είναι εξαιρετικά μεταβλητή.
Bitcoin μπορεί να κινηθεί πολύ.
ETH μπορεί να κινηθεί πολύ.
Για πληρωμές, trading και DeFi, πολλές φορές χρειαζόμαστε asset με πιο σταθερή ονομαστική αξία.
Εδώ εμφανίζονται τα:
Stablecoins.
Τι εiναι Stablecoin;
Stablecoin είναι crypto asset σχεδιασμένο ώστε να διατηρεί αξία κοντά σε κάποιο reference asset.
Συνήθως:
1 US dollar.
Για παράδειγμα, ένα stablecoin μπορεί να στοχεύει:
1 token ≈ 1 USD.
oλα τα Stablecoins εiναι iδια;
Όχι.
Υπάρχουν διαφορετικά μοντέλα.
Μπορούμε να τα χωρίσουμε πολύ γενικά σε:
fiat-backed,
crypto-backed,
και algorithmic ή hybrid μοντέλα.
Fiat-Backed Stablecoins
Σε αυτό το μοντέλο, μια κεντρική εταιρεία εκδίδει tokens και υποστηρίζει ότι κρατά reserves που αντιστοιχούν στην αξία τους.
Για παράδειγμα:
1 stablecoin
υποτίθεται ότι αντιστοιχεί σε:
1$ reserve value.
Εδώ υπάρχει:
issuer risk,
banking risk,
reserve risk,
regulatory risk.
Άρα δεν είναι πραγματικά trustless.
Crypto-Backed Stablecoins
Άλλα stablecoins υποστηρίζονται από crypto collateral.
Για παράδειγμα, κάποιος μπορεί να κλειδώσει αξία μεγαλύτερη από το stablecoin debt που δημιουργεί.
Αυτό ονομάζεται:
overcollateralization.
Algorithmic Stablecoins
Άλλα μοντέλα προσπάθησαν να διατηρήσουν το peg κυρίως μέσω οικονομικών κινήτρων και supply mechanisms.
Αυτά τα μοντέλα μπορούν να είναι πολύ πιο εύθραυστα.
Η ιστορία των crypto έχει δείξει ότι stablecoin design μπορεί να αποτύχει δραματικά.
Τι εiναι Depeg;
Αν ένα stablecoin που στοχεύει 1$ πέσει στο:
0,90$
ή
0,70$
έχει χάσει μέρος του peg.
Αυτό λέγεται:
depeg.
Το γεγονός ότι ένα token ονομάζεται stablecoin δεν εγγυάται ότι θα παραμένει πάντα στο 1$.
Να θυμάσαι:
Stablecoin = crypto asset που προσπαθεί να διατηρεί σταθερή αξία σε σχέση με reference asset.
Stable δεν σημαίνει risk-free.
ΜΑΘΗΜΑ 7 — LENDING ΚΑΙ BORROWING ΣΤΟ DEFI
Τώρα πάμε σε μία από τις σημαντικότερες DeFi λειτουργίες.
Lending.
και
Borrowing.
Παραδοσιακο Lending
Στον παραδοσιακό κόσμο:
πηγαίνεις σε τράπεζα,
η τράπεζα αξιολογεί εισόδημα,
πιστοληπτική ικανότητα,
ιστορικό,
και αποφασίζει αν θα σου δανείσει.
Στο DeFi λειτουργεί συχνά διαφορετικά.
Overcollateralized Borrowing
Πολλά DeFi lending protocols απαιτούν:
collateral μεγαλύτερης αξίας από το δάνειο.
Για παράδειγμα:
καταθέτεις ETH αξίας 10.000$.
Μπορεί να σου επιτρέπεται να δανειστείς:
5.000$ stablecoins.
Γιατί τόσο πολύ collateral;
Επειδή το protocol δεν γνωρίζει απαραίτητα:
ποιος είσαι,
τι μισθό έχεις,
αν θα πληρώσεις.
Άρα βασίζεται στο collateral.
Loan-to-Value
Ένας βασικός δείκτης είναι:
LTV — Loan-to-Value.
Αν έχεις collateral 10.000$
και χρέος 5.000$:
LTV = 50%.
Όσο αυξάνεται το χρέος σε σχέση με το collateral, τόσο αυξάνεται ο κίνδυνος liquidation.
Γιατι να δανειστει καποιος ενω εχει ηδη Crypto;
Για διάφορους λόγους.
Για παράδειγμα:
θέλει liquidity χωρίς να πουλήσει το asset του,
θέλει leverage,
θέλει να χρηματοδοτήσει άλλη position,
ή χρησιμοποιεί το borrowing ως μέρος στρατηγικής.
Αυτό όμως αυξάνει τον κίνδυνο.
Που βρισκονται τα Funds των Lenders;
Οι lenders καταθέτουν assets σε lending pools.
Οι borrowers μπορούν να δανειστούν μέρος αυτής της liquidity σύμφωνα με τους κανόνες του protocol.
Οι lenders μπορούν να λαμβάνουν interest.
Ειναι το Interest σταθερο;
Συνήθως όχι.
Τα rates μπορούν να αλλάζουν ανάλογα με:
supply,
demand,
utilization,
και το interest-rate model του protocol.
Άρα ένα APY που βλέπεις σήμερα δεν είναι εγγυημένο για αύριο.
Να θυμάσαι:
DeFi lending = users παρέχουν liquidity.
Borrowers δανείζονται συχνά με overcollateralization.
Interest rates είναι δυναμικά και όχι εγγυημένα.
ΜΑΘΗΜΑ 8 — ΤΙ ΕΙΝΑΙ LIQUIDATION;
Έχεις καταθέσει ETH ως collateral.
Έχεις δανειστεί stablecoins.
Όλα φαίνονται καλά.
Αλλά η τιμή του ETH πέφτει.
Τι συμβαίνει;
Η αξια του Collateral πεφτει
Αρχικά:
Collateral = 10.000$
Debt = 5.000$
Αλλά αν το ETH πέσει:
Collateral = 7.000$
Debt = περίπου 5.000$
Το δάνειο έχει γίνει πιο επικίνδυνο.
Liquidation Threshold
Τα lending protocols ορίζουν όρια κινδύνου.
Αν η position γίνει υπερβολικά undercollateralized, μπορεί να γίνει:
liquidation.
Αυτό σημαίνει ότι μέρος του collateral μπορεί να πωληθεί ή να κατασχεθεί σύμφωνα με τους κανόνες του protocol ώστε να καλυφθεί το χρέος.
Ποιος κανει Liquidation;
Συχνά υπάρχουν ανεξάρτητοι liquidators ή automated bots που παρακολουθούν positions.
Όταν μια position γίνει eligible for liquidation, μπορούν να εκτελέσουν τη σχετική transaction και να λάβουν incentive.
Liquidation Penalty
Ο borrower μπορεί να χάσει επιπλέον αξία λόγω:
liquidation penalty ή bonus προς τον liquidator.
Άρα liquidation δεν σημαίνει απλώς:
«το protocol κλείνει τη θέση σου χωρίς κόστος.»
Μπορεί να είναι ακριβό.
Πως προστατευεσαι;
Σε γενικές γραμμές:
δεν δανείζεσαι υπερβολικά,
διατηρείς μεγάλη απόσταση από το liquidation threshold,
παρακολουθείς το collateral,
και καταλαβαίνεις ότι volatile collateral μπορεί να κινηθεί πολύ γρήγορα.
Oracle Risk
Για να γνωρίζει ένα lending protocol την αξία του collateral, χρειάζεται price information.
Εδώ μπαίνουν:
Oracles.
Αν το oracle system αποτύχει ή χειραγωγηθεί, μπορεί να προκύψουν λανθασμένες liquidations ή άλλες σοβαρές επιπτώσεις.
Θα δούμε oracles σε μεγαλύτερο βάθος αργότερα.
Να θυμάσαι:
Liquidation = αυτόματη διαδικασία μείωσης ή κλεισίματος επικίνδυνης debt position όταν το collateral δεν επαρκεί σύμφωνα με τους κανόνες του protocol.
ΜΑΘΗΜΑ 9 — ΤΙ ΕΙΝΑΙ YIELD, APY ΚΑΙ APR;
Στο DeFi θα δεις συνεχώς:
5% APY.
12% APY.
50% APY.
300% APY.
Και εδώ πολλοί αρχάριοι κάνουν ένα τεράστιο λάθος.
Βλέπουν μεγάλο ποσοστό και σκέφτονται:
«Αυτό είναι η απόδοση που θα πάρω.»
Όχι απαραίτητα.
APR
APR σημαίνει:
Annual Percentage Rate.
Συνήθως περιγράφει ετήσιο ρυθμό απόδοσης χωρίς να υποθέτει compounding.
APY
APY σημαίνει:
Annual Percentage Yield.
Συνήθως λαμβάνει υπόψη compounding.
Άρα, με τις ίδιες βασικές συνθήκες, APY μπορεί να είναι μεγαλύτερο από APR.
Το 20% APY εiναι εγγυημeνο;
Όχι.
Σε DeFi το APY μπορεί να αλλάξει συνεχώς.
Εξαρτάται από:
trading activity,
token incentives,
borrow demand,
supply,
token prices,
και protocol parameters.
Από ποy eρχεται το Yield;
Αυτή είναι η σωστή ερώτηση.
Όχι:
«Πόσο είναι το APY;»
Αλλά:
«Ποιος πληρώνει αυτή την απόδοση και γιατί;»
Το yield μπορεί να προέρχεται από:
trading fees,
borrow interest,
protocol revenue,
token emissions,
staking rewards,
ή άλλους μηχανισμούς.
Token Emissions
Πολλά protocols προσφέρουν rewards σε δικό τους token.
Για παράδειγμα:
καταθέτεις 1.000$.
Λαμβάνεις 20% APY.
Αλλά το μεγαλύτερο μέρος του APY προέρχεται από νέο token που εκδίδεται συνεχώς.
Αν η τιμή αυτού του token καταρρεύσει, το πραγματικό yield μπορεί να είναι πολύ χαμηλότερο.
Real Yield;
Ο όρος:
real yield
χρησιμοποιείται συχνά για να περιγράψει απόδοση που προέρχεται περισσότερο από πραγματική οικονομική δραστηριότητα του protocol, όπως fees, και όχι μόνο από inflationary token emissions.
Αλλά ο όρος χρησιμοποιείται αρκετά χαλαρά.
Πρέπει πάντα να εξετάζεις τις πραγματικές cash flows.
Να θυμάσαι:
Υψηλό APY δεν σημαίνει καλή επένδυση.
Η σωστή ερώτηση είναι:
Από πού προέρχεται η απόδοση;
ΜΑΘΗΜΑ 10 — ΟΙ ΚΙΝΔΥΝΟΙ ΤΟΥ DEFI ΚΑΙ Η ΠΛΗΡΗΣ ΕΙΚΟΝΑ
Τώρα γνωρίζουμε αρκετά για να δούμε ολόκληρη την εικόνα.
Ας υποθέσουμε ότι η Μαρία έχει ETH.
Θέλει να το χρησιμοποιήσει στο DeFi.
Βημα 1 — Συνδεει Wallet
Η Μαρία επισκέπτεται μια DeFi application.
Συνδέει το wallet της.
Αυτό από μόνο του δεν σημαίνει ότι έδωσε τα private keys της.
Αλλά από αυτό το σημείο και μετά μπορεί να της ζητηθούν:
signatures,
approvals,
transactions.
Βημα 2 — Κανει Swap
Θέλει να ανταλλάξει ETH σε stablecoin.
Χρησιμοποιεί DEX.
Η transaction αλληλεπιδρά με liquidity pool.
Το AMM υπολογίζει την ανταλλαγή.
Υπάρχει:
price impact,
slippage,
gas fee.
Βημα 3 — Καταθετει Stablecoin σε Lending Protocol
Η Μαρία καταθέτει stablecoins.
Το protocol μπορεί να τα διαθέσει σε borrowers.
Η Μαρία λαμβάνει interest.
Βημα 4 — Βαζει ETH ως Collateral
Καταθέτει ETH ως collateral.
Δανείζεται επιπλέον stablecoins.
Τώρα έχει:
collateral risk,
liquidation risk,
oracle risk,
smart contract risk.
Βημα 5 — Παρέχει Liquidity
Χρησιμοποιεί τα assets της για liquidity provision.
Τώρα αποκτά επιπλέον:
impermanent loss risk,
token pair risk,
pool risk.
Βλέπεις τι συνέβη;
Η πιθανότητα απόδοσης αυξήθηκε.
Αλλά αυξήθηκε και η πολυπλοκότητα.
Και όσο αυξάνεται η πολυπλοκότητα, τόσο αυξάνονται οι τρόποι με τους οποίους κάτι μπορεί να πάει στραβά.
ΟΙ ΒΑΣΙΚΟΙ ΚΙΝΔΥΝΟΙ ΤΟΥ DEFI
Smart Contract Risk
Ο κώδικας μπορεί να έχει bug.
Μπορεί να υπάρχει vulnerability.
Ένα exploit μπορεί να οδηγήσει σε απώλεια funds.
Audit δεν σημαίνει:
«Δεν υπάρχει κανένας κίνδυνος.»
Σημαίνει ότι κάποιοι ειδικοί εξέτασαν τον κώδικα.
Όχι ότι απέδειξαν πως είναι τέλειος.
Oracle Risk
Protocols χρειάζονται εξωτερικές τιμές.
Αν ένα oracle αποτύχει ή χειραγωγηθεί, το protocol μπορεί να πάρει λάθος αποφάσεις.
Admin Key Risk
Κάποια protocols διαθέτουν admin keys ή multisigs που μπορούν να αλλάξουν σημαντικές παραμέτρους.
Άρα πρέπει να ξέρεις:
ποιος έχει εξουσία,
τι μπορεί να αλλάξει,
και αν υπάρχουν timelocks.
Governance Risk
Αν ένα protocol ελέγχεται μέσω governance token, μεγάλη συγκέντρωση voting power μπορεί να σημαίνει ότι λίγοι participants έχουν μεγάλη επιρροή.
Stablecoin Risk
Stablecoins μπορούν να χάσουν το peg.
Αν όλο σου το strategy βασίζεται σε ένα stablecoin, έχεις έκθεση σε αυτόν τον κίνδυνο.
Liquidity Risk
Μπορεί να υπάρχει μικρή liquidity.
Μπορεί να μην μπορείς να βγεις από position χωρίς μεγάλο price impact.
Bridge Risk
Αν χρησιμοποιείς bridged assets, μπορεί να υπάρχει επιπλέον smart contract και infrastructure risk.
Frontend Risk
Ακόμη και αν το smart contract είναι ασφαλές, το website μπορεί να παραβιαστεί.
Μπορεί να σου εμφανίσει malicious transaction.
Phishing Risk
Μπορεί να επισκεφθείς fake domain.
Να υπογράψεις λάθος approval.
Να εγκρίνεις malicious contract.
Token Risk
Το token που έχεις μπορεί να πέσει 90%.
Μπορεί να έχει:
inflation,
unlock schedule,
insider concentration,
ή κακή tokenomics.
Composability Risk
Στο DeFi protocols συνδέονται μεταξύ τους.
Ένα protocol μπορεί να βασίζεται σε:
άλλο protocol,
stablecoin,
oracle,
bridge,
DEX.
Αν αποτύχει ένα κομμάτι, η ζημιά μπορεί να μεταδοθεί σε άλλα.
Αυτό ονομάζεται συχνά:
composability risk.
MONEY LEGOS
Το DeFi συχνά περιγράφεται ως:
Money Legos.
Γιατί;
Επειδή διαφορετικά protocols μπορούν να συνδυαστούν.
Για παράδειγμα:
ένα stablecoin χρησιμοποιείται σε DEX.
Το DEX LP token χρησιμοποιείται ως collateral.
Το collateral χρησιμοποιείται για borrowing.
Το borrowed asset χρησιμοποιείται σε άλλο protocol.
Αυτό είναι πολύ ισχυρό.
Αλλά και πολύ επικίνδυνο.
Γιατί αν σπάσει ένα κομμάτι, μπορεί να επηρεαστεί ολόκληρη η αλυσίδα.
ΤΙ ΓΝΩΡΙΖΕΙΣ ΠΛΕΟΝ;
Αν έχεις καταλάβει πραγματικά το Level 4, μπορείς πλέον να εξηγήσεις:
τι είναι DeFi,
τι είναι DEX,
τι είναι liquidity pool,
τι κάνει ένας liquidity provider,
τι είναι AMM,
πώς λειτουργεί βασικά το x × y = k,
τι είναι price impact,
τι είναι slippage,
τι είναι impermanent loss,
τι είναι stablecoin,
τι σημαίνει depeg,
πώς λειτουργεί DeFi lending,
τι είναι collateral,
τι είναι LTV,
τι είναι liquidation,
τι είναι APR,
τι είναι APY,
και από πού μπορεί να προέρχεται το DeFi yield.
Και κυρίως:
καταλαβαίνεις πλέον ότι η απόδοση δεν εμφανίζεται από το πουθενά.
Κάθε yield έχει:
πηγή,
μηχανισμό,
και κίνδυνο.
Να θυμάσαι:
DeFi = χρηματοοικονομική λογική μέσω smart contracts.
DEX = decentralized exchange functionality.
Liquidity Pool = assets διαθέσιμα για swaps.
AMM = μαθηματικός μηχανισμός pricing και ανταλλαγών.
Liquidity Provider = χρήστης που παρέχει assets και αναλαμβάνει risk.
Impermanent Loss = πιθανή υποαπόδοση σε σχέση με το απλό holding.
Stablecoin = asset που προσπαθεί να διατηρεί peg.
Lending = παροχή liquidity σε borrowers.
Borrowing = δανεισμός συνήθως με collateral.
Liquidation = προστασία του protocol όταν μια debt position γίνεται υπερβολικά επικίνδυνη.
APY δεν είναι δωρεάν χρήμα.
Και το σημαντικότερο:
Στο DeFi, όσο μεγαλύτερη είναι η υπόσχεση απόδοσης, τόσο περισσότερο πρέπει να ψάχνεις από πού προέρχεται ο κίνδυνος.
Έχεις πλέον περάσει από το:
«Καταλαβαίνω πώς λειτουργούν τα smart contracts.»
στο:
«Καταλαβαίνω πώς δημιουργούνται ολόκληρες χρηματοοικονομικές αγορές πάνω σε smart contracts.»