Ethereum Berlin: Τί αλλάζει
Το επόμενο Hard Fork του Ethereum ονομάζεται “Berlin” και ετοιμάζεται από το Μάιο του 2019. Αρχικά ήταν σχεδιασμένο να γίνει στα μέσα του 2020, όμως η διαδικασία αναβλήθηκε, καθώς αρκετά client δεν ήταν έτοιμα. Το Berlin θα γίνει στις 14 Απρίλη, στο block 12,244,000.
Οι αλλαγές
Το Berlin φέρνει τέσσερις αλλαγές στο Ethereum:
EIP-2565: ModExp Gas Cost
Το EIP-2565 αλλάζει την κοστολόγηση χρήσης του ModExp (modular exponentiation) precompile. Η αλλαγή αυτή θα φέρει το κόστος στο επίπεδο άλλων λειτουργιών, ενθαρρύνοντας τη χρήση του και κάνοντας το Ethereum πιο ασφαλές.
EIP-2718: Typed Transaction Envelope
Το EIP-2718 δημιουργεί μία νέα τύπου συναλλαγή “φάκελο” που θα διευκολύνει την υποστήριξη νέων τύπων συναλλαγών στο εγγύς μέλλον.
Ουσιαστικά, το 2718 επιτρέπει να έρθει το EIP-3074, το οποίο θα φέρει πολλαπλές συναλλαγές (batching) χωρίς smart contract ή τη δυνατότητα κάποιος τρίτος να καλύψει το τέλος μίας συναλλαγής, κτλ. Το 3074 φημολογείται πως θα συμπεριληφθεί στο επόμενο hard fork “London”, που θα έρθει μέχρι τα τέλη Ιουλίου.
EIP-2929: Gas cost increases for state access opcodes
Το EIP-2929 θα κάνει ακριβότερες τις λειτουργίες SLOAD, *CALL, BALANCE, EXT* και SELFDESTRUCT κατά την πρώτη τους χρήση σε μία συναλλαγή, περίπου τριπλασιάζοντας το κόστος τους. Έπειτα η κάθε επαναληπτική λειτουργία τους στην ίδια συναλλαγή θα κοστίζει μόλις 100 gas. Επιπλέον θα κάνει τα precompile φθηνότερα καταργόντας το premium των 700 gas.
Η αλλαγή αυτή γίνεται κυρίως για λόγους ασφαλείας του δικτύου. Πάντως, ο Vitalik Buterin, ο εμπνευστής του 2929, θεωρεί πως θα βάλει ένα πλαφόν στο κόστος συναλλαγών αποτρέποντας πολύ ακριβές συναλλαγές.
EIP-2930: Optional access lists
Όμως αυτή δεν είναι καλή εποχή για να ανεβάζουμε το κόστος συναλλαγής. Ειδικά στο Ethereum!
Έτσι έρχεται τo EIP-2930 για να δώσει διέξοδο σε υπάρχοντα smart contract από τις αλλαγές του EIP-2929. Το EIP-2930 δημιουργεί ένα νέο τύπο συναλλαγής που θα περιέχει λίστα πρόσβασης (access list), η οποία θα απαριθμεί τις διευθύνσεις με τις οποίες η συναλλαγή σκοπεύει να αλληλεπιδράσει. Με αυτό τον τρόπο, η εργασία του client διευκολύνεται και το κόστος συναλλαγής πέφτει.
Το Berlin ήταν σχεδιασμένο να είναι μία μεγάλη αναβάθμιση, που γίνεται εντέλει χωρίς τα EIP-2315 και EIP-2537. Ειδικά το 2537 που θα επέτρεπε στο Eth 1.0 να μιλά εύκολα με το Eth 2.0. Πέραν του EIP-2718, οι υπόλοιπες αλλαγές έχουν να κάνουν περισσότερο με το κόστος συναλλαγών, το οποίο θα είναι και το κύριο αντικείμενο του “London”, που θα περιλαμβάνει το περιβόητο EIP-1559.
Για το Berlin οι miner θα πρέπει να αναβαθμίσουν το λογισμικό τους πριν τις 14 Απριλίου. Οι Client φαίνεται πως είναι ήδη έτοιμοι:
- Geth — Gemini Sigma (v1.10.1)
- OpenEthereum — OpenEthereum v3.2.0
- Nethermind — v1.10.31
- Besu — 21.1.2.
Πριν κλείσω οφείλω να υπενθυμίσω πως το Berlin είναι hard fork για το Ethereum 1.0. Το Berlin δεν έχει καμία σχέση με την πρώτη αναβάθμιση “HF1” του Ethereum 2.0. Το HF1 δεν είναι ακόμη γνωστό πότε θα γίνει. Πάντως εικάζεται πως θα γίνει μεταξύ των hard fork “London” (το οποίο θα γίνει μέχρι τον Ιούλιο) και “Shanghai”, τα οποία είναι τα επόμενα hard fork στο Ethereum 1.0.