W miniony czwartek druga najpopularniejsza kryptowaluta – Ethereum, przeszła pomyślnie aktualizację. Co ciekawe cyfrowy komputer, jak niektórzy nazywają kryptowalutę stworzoną przez Vitalika Buterina, nie przeszedł jednej, a właściwie dwie aktualizację. Konstantynopol oraz St. Petersburg wprowadziły szereg zmian, które wydają się krytyczne dla dalszego rozwoju Ethereum. W ostatnich miesiąc ETH doświadczyło sporych problemów takich jak za niski poziom skalowalności czy odwołanie w czasie aktualizacji kodu z powodów poważnych błędów w nich zawartych. Dzięki zmianom zaimplementowanym w kodzie kilka dni temu, Ethereum powinno odetchnąć świeżym powietrzem i rozwinąć skrzydła. Jakie więc nowości i ulepszenia przynosiły Konstantynopol i St. Petersburg? Czy dzięki nim ETH doświadczy szybszego rozwoju?
Hard fork bez nowych monet
Na samym początku warto wspomnieć, że obie aktualizacje zostały zaimplementowane poprzez hard fork. W tym przypadku jednak nie oznaczało to powstania nowych monet jak to miało miejsce kilka miesięcy temu w przypadku hard forku Bitcoin Cash. Nie każdy hard fork musi skończyć się stworzeniem nowych tokenów. Konstantynopol jak i St. Petersburg były po prostu niekompatybilne z poprzednim kodem Ethereum. Dlatego też deweloperzy musieli je zaimplementować w „brutalny sposób”. Miało to miejsce na bloku numer 7 280 000. Sprawa miała się jednak zgoła inaczej w 2016 roku, kiedy to deweloperzy Ethereum postanowili cofnąć historię transakcji i zwrócić środki użytkownikom, które zostały skradzione w wyniku ataku hackerskiego na platformę DAO. Część społeczności nie zgodziła się na taki zabieg, ponieważ uderzał on w jedną z podstawowych zasad świata kryptowalut jaką jest niezmienność historii blockchainu. W wyniku konfliktu nastąpił hard fork, w którym powstało Ethereum. Społeczność i deweloperzy przystający przy idei niezmiennej historii blockchainu przemianowali swój projekt na Ethereum Classic.
To co widoczne i to co ukryte
Aktualizacje przynoszą ze sobą 5 zmian zwanych Ethereum Improvement Proposals (EIP). Są one podobne do tych w Bitcoinie, gdzie możemy znaleźć Bitcoin Improvement Proposals. Jednakże, tylko jedna z nich będzie widoczna dla zwykłego użytkownika. Pozostałe cztery oczywiście będą technicznymi poprawkami, które jednak prawdopodobnie nie zainteresują większości z nas. Największą i najbardziej widoczną ze zmian będzie zmniejszenie nagrody w bloku. Po wprowadzeniu aktualizacji górnicy będą otrzymywać już tylko 2 ETH za każdy wykopany blok. Wcześniej było to 3 ETH na blok, czyli spadek o 33%. Warto zauważyć, że przy stałym bądź rosnącym popycie na Ethereum i jego zmniejszonej podaży, jego wycena mogłaby wzrosnąć. Zmniejszenie nagrody w bloku z 3 na 2 ETH oznacza również spadek inflacji. Z poprzedniej na poziomie 7.5% rocznie do aktualnej 4.5 % rocznie.
5 głównych punktów
Konstantynopol oraz St. Petersburg wprowadzają pięć głównych zmian:
- EIP 145
- EIP 1052
- EIP 1283
- EIP 1014
- EIP 1234
Pierwsza z nich wprowadza bardziej efektywną metodę przetwarzania informacji na blockchainie Ethereum. Została ona stworzona przez Alexa Beregszaszi oraz Pawła Bylicę, a znana jest również jako bitwise shifting. W prostych słowach można opisać ją jako funkcję, która jest w stanie działać w kodzie bajtowym bez potrzeby bazowania na operacjach arytmetycznych takich jak powielanie bądź dzielenie. Dzięki temu działanie inteligentnych kontraktów, które są podstawą operacji zdecentralizowanych aplikacji będzie dużo szybciej przetwarzane przez Ethereum Virtual Machine (głównym procesor Ethereum).
Druga zmiana pozwoli na optymalizację wykonawstwa i implementacji sporych ilości kodu. Będzie to szczególnie pomocne przy przyszłych, nadchodzących aktualizacjach. Dzięki temu deweloperzy będą musieli spędzić mniej czasu nad ich dołączeniem do aktualnego kodu. Ten EIP został stworzony przez Nicka Johnsona i Pawła Bylicę. Dodatkowo EIP 1052 wraz z EIP 145 wprowadziły znaczące zmiany w Ethereum Virtual Machine (EVM). Jest to aplikacja, która zarządza działaniem drugiej najpopularniejszej kryptowaluty. To w tym miejscu są przetwarzane dziesiątki tysięcy inteligentnych kontraktów dla setek projektów. Dzięki Konstantynopolowi i St. Petersburgowi Ethereum Virtual Machine została ulepszona i działa teraz szybciej. Ciekawym rozwiązaniem jest również aktualizacja, która sprawia, że jedynie niektóre części inteligentnych kontraktów będą sprawdzane przez EVM, co pozwoli na szybsze ich działanie.
EIP 1283 wprowadza zmianę, która zadowoli deweloperów inteligentnych kontraktów. Dzięki niej zapłacą oni mniej za zmiany w bazie przechowywania danych. Przed aktualizacją niektóre zmiany w kodzie kosztowały mnóstwo pieniędzy, a w zasadzie jednostek Gas, co czasami zniechęcało do wprowadzania poprawek przez deweloperów i hamowało rozwój zdecentralizowanych aplikacji. Od teraz wysokość opłaty jest liczona w korzystniejszy sposób, ponieważ platforma sprawdza ile miejsca w pamięci kontraktu zajmują zmiany a nie na samym blockchainie.
EIP 1014 wprowadza pewne rozwiązania poprawiające skalowalność. Są to state channels (pol. główne kanały) oraz transakcje działające poza głównym łańcuchem, tzw. off-chain transactions. Ta aktualizacja została napisana przez samego Vitalika Buterina. State channels to technologia tworzona specjalnie pod duże wolumeny transakcyjne, które mogłyby mieć miejsce na blockchainie ETH w przypadku np. sprzedawania tokenów poprzez STO. Nie potrzebują one tak dużo operacji aby przetworzyć transakcję co wpływa na zmniejszenie natężenia sieci i udostępnienia jej mocy obliczeniowej dla innych transakcji. Wpływa więc to bardzo pozytywnie na skalowalność kryptowaluty. Deweloperzy Ethereum wiążą z tą technologią duże nadzieje i określają ją jako „znacząco poprawiającą ogólne działanie blockchainu Ethereum”.
EIP 1234 wprowadza program zarządzający dla głównego klienta Ethereum – Parity. Zawiera on również komendę, która obniża nagrodę w bloku. Dodatkowo, ta zmiana odsuwa bombę trudności (eng. difficulty bomb) o 12 miesięcy. Difficulty bomb została wprowadzona już jakiś czas temu i miała być motywacją dla społeczności oraz deweloperów aby zmienić sposób osiągania konsensusu w Ethereum na bardziej ekologiczny. Debata nad przejściem z obecnego proof-of-work na proof-of-stake ciągnie się już długimi miesiącami i nie widać w niej końca. O ile osiągnięcie jednomyślności społeczności na ten temat nie wydaje się, aż tak ciężkie o tyle zmiany w kodzie są sporym wyzwaniem dla deweloperów. Dlatego też, zdecydowano, że EIP 1234 będzie zawierał komendę, która opóźni bombę trudności o kolejny rok, dając tym samym czas programistom na pracę i rozwój. Spowoduje to również szybsze wydobywanie bloków, dlatego zdecydowano się na obniżenie nagrody w bloku do 2 ETH. Warto jednak wspomnieć, że mniejsza nagroda w bloku aż o 33% wpłynie również znacząco na rynek górniczy Ethereum. Spadek zysków może spowodować odpływ wielu małych górników z rynku i centralizację wydobycia. A jak wiadomo im większa decentralizacja i moc obliczeniowa danej kryptowaluty tym jest ona bezpieczniejsza i ciężej ją zhakować np. poprzez atak 51%.
Maciej Kmita