Reklama
WIG82 419,72+1,05%
WIG202 432,11+1,56%
EUR / PLN4,32+0,07%
USD / PLN4,01+0,36%
CHF / PLN4,42+0,33%
GBP / PLN5,04+0,18%
EUR / USD1,08-0,30%
DAX18 491,27+0,08%
FT-SE7 971,11+0,49%
CAC 408 236,42+0,39%
DJI39 760,08+1,22%
S&P 5005 248,49+0,86%
ROPA BRENT85,60-0,12%
ROPA WTI81,02-0,86%
ZŁOTO2 195,30+0,16%
SREBRO24,44-0,53%

Masz ciekawy temat? Napisz do nas

twitter
youtube
facebook
instagram
linkedin
Reklama
Reklama

proof of work algorithm

Ethereum, czyli druga pod względem kapitalizacji kryptowaluta (ether), najważniejszy altcoin i jednocześnie rozbudowany ekosystem dla zdecentralizowanych aplikacji i smart-kontraktów, boryka się z istotnymi problemami natury technologicznej, o których często zapominamy w spekulacyjnej euforii. O jakie problemy chodzi i czy jest na nie jakieś remedium? 

 

Problem skali

O tym, że sieć Ethereum ma problem ze skalowalnością wiadomo nie od dziś. Jest ona bowiem oparta na algorytmie konsensusu Proof of Work (Ethash), co oznacza że za stabilność sieci i zatwierdzanie transakcji odpowiadają górnicy, dostarczający moc obliczeniową za pomocą swoich koparek, za co oczywiście otrzymują wynagrodzenie. To rozwiązanie nakłada istotne ograniczenia liczby przetwarzanych transakcji i wymaga dużych nakładów finansowych, a także wymaga ogromnej ilości energii elektrycznej. Wszystko to jest ceną za relatywnie dużą stabilność sieci i wysokie bezpieczeństwo dokonywanych transakcji. Twórca Ethereum Vitalik Buterin już na samym początku rozwoju projektu twierdził, że sieć nie będzie w stanie utrzymać wystarczającej skalowalności z wykorzystaniem algorytmu konsensusu Proof of Work, przewidując że do przejścia na znacznie bardziej ekonomiczny i wydajny algorytm Proof of Stake dojdzie już w 2017 r. Ethereum 2.0, czyli znacznie bardziej wydajne, skalowalne i pozbawione górników, wciąż znajduje się w fazie testów i ma zostać wprowadzone w trzech fazach, z której pierwsza została wdrożona pod koniec zeszłego roku (2020).

W tej chwili jednak konstrukcja technologiczna sieci Ethereum nakłada na cały ekosystem dość istotne ograniczenia skalowalności. Średni czas bloku Ethereum to 15 sekund, co pozwala na uzyskanie przepustowości na poziomie zaledwie 20-25 transakcji na sekundę (TPS). To niewiele, biorąc pod uwagę że Ethereum to nie tylko kryptowaluta Ether (ETH), ale przede wszystkim najpopularniejsza platforma blockchain, w której funkcjonują tysiące smart-kontraktów i zdecentralizowanych aplikacji. Wszystkie transakcje odbywają się na jednym łańcuchu bloków, którego łączna masa najprawdopodobniej jeszcze w maju przekroczy 800 GB (gigabajtów), co samo w sobie również jest istotnym problemem skalowalności.

Reklama

Niska przepustowość sieci Ethereum prowadzi do wielu problemów, które zaczynają być dotkliwe bardziej niż kiedykolwiek w momencie rynkowej hossy i wzrostu zainteresowania zarówno ETH, jak i tokenami w sieci Ethereum.

 

Drogie transakcje w Ethereum

Tym problemem jest przede wszystkim wysoki koszt transakcji, szczególnie w sytuacji, w której zależy nam na jak najszybszym zatwierdzeniu transferu. Aby zrozumieć skąd bierze się ten problem, należy wiedzieć jak działa mechanizm ustalania prowizji transakcyjnych w sieci Ethereum.

Koszt wykonania transakcji ustalany jest na podstawie kilku parametrów, z których najważniejszym jest to ile mocy obliczeniowej będzie potrzebne do jej przetworzenia w sieci. Koszty transakcyjne pokrywane są w ETH, jednak do ich obliczenia wykorzystuje się umowną jednostkę rozliczeniową o nazwie Gas, która jest swoistym „paliwem” koniecznym do realizacji transakcji. Różne rodzaje transakcji będą wymagać innej ilości Gasu, ponieważ do ich wykonania konieczna będzie odmienna ilość mocy obliczeniowej. Przykładowo, najprostszy transfer ETH z jednego adresu na drugi wymaga co najmniej 21 000 jednostek Gas, jednak bardziej skomplikowane transakcje z wykorzystaniem smart kontraktów czy zdecentralizowanych aplikacji będą wymagać większej ilości Gasu.

Oprócz samej ilości jednostek Gas ustalamy również ich wartość, która jest wyrażana w tzw. Gwei, czyli 1 nanoETH (1 ETH = 1 000 000 000 Gwei). I o ile wartość Gasu dla konkretnych rodzajów transakcji jest stała, o tyle jego cena w Gwei (czyli nanoETH) jest już dynamiczna. Od tego jaką stawkę za Gas ustalimy zależy priorytet naszej transakcji, czyli to jak szybko i czy w ogóle zostanie zrealizowana.

Reklama

Średnia stawka za Gas zależy od wielu czynników, w tym przede wszystkim od aktualnego zagęszczenia sieci, liczby oczekujących transakcji, wartości nagrody za blok dla górników i ich progu opłacalności. Oczywistym jest, że górnicy w pierwszej kolejności zrealizują transakcje, w których stawka za Gas wyrażona w Gwei jest najwyższa - transfer środków z zawyżoną prowizją transakcyjną może zostać potwierdzony w mniej niż 15 sekund. Aby sprawdzić jaka jest aktualna stawka za Gas w sieci Ethereum wystarczy odwiedzić jeden z wielu kalkulatorów transakcyjnych ETH lub witryn monitorujących sieć. Jednym z najpopularniejszych serwisów tego typu jest ETHgasstation.info, na bieżąco monitorujący stawki za Gas i pozwalający na obliczenie optymalnej wysokości prowizji transakcyjnej do naszych potrzeb.

Dla przykładu: przy wykonywaniu podstawowej transakcji z wykorzystaniem ETH (21 000 Gas) i stawce 224 Gwei za Gas przy kursie ETH 4202,60 dolarów wysokość naszej prowizji transakcyjnej wyniesie ok. 18,70 USD, czyli prawie 70 złotych. Transakcja z taką stawką za Gas powinna zostać potwierdzona po ok 250 sekundach (ponad 4 minuty). W przypadku, w którym zależy nam na czasie, konieczne byłoby zwiększenie stawki za Gas do ok. 330 Gwei, co wiązałoby się z prowizją transakcyjną przekraczającą 100 złotych (ponad 27 dolarów), jednak transfer środków zostałby potwierdzony w sieci w mniej niż pół minuty. Oczywiście podane stawki są aktualne jedynie w krótkim czasie po ich sprawdzeniu, ze względu na bardzo dynamiczną sytuację w sieci.

Ręczny dobór odpowiedniej wysokości prowizji transakcyjnej może wydawać się skomplikowany, szczególnie dla osób początkujących. Na szczęście większość portfeli obsługujących ETH na bieżąco monitoruje sytuację w sieci i samodzielnie dobiera odpowiednią liczbę jednostek Gas, a także stawkę w Gwei, swoim użytkownikom dając możliwość prostego wyboru priorytetu transakcji (ekonomicznie, standardowo, szybko, itp.).

 

Druga warstwa ratunkiem dla Ethereum

Jak widać, w obecnej sytuacji transakcje wykonywane w sieci Ethereum (nawet te najprostsze) nie należą do tanich, a w skrajnych przypadkach wysokość prowizji może być wyższa niż wartość samej transakcji. Dlatego też co najmniej od kilku lat rozwijane są różne sposoby, mające na celu zwiększenie skalowalności sieci i zapewnienie niemal bezkosztowych transakcji. Jednym z takich projektów jest Polygon (wcześniej pod nazwą Matic Network), który w ramach zwiększenia skalowalności ekosystemu Ethereum proponuje rozwiązania wykorzystujące tzw. protokoły drugiej warstwy (ang. sidechains), czyli poboczne łańcuchy bloków, które mogą przetwarzać dane bez obciążenia samego blockchainu Ethereum (co jest koncepcją podobną m.in. do Lightning Network, wykorzytywanego np. w bitcoinie). Polygon wykorzystuje rozwiązanie o nazwie Plasma Cash, które zostało zaprezentowane w sierpniu 2017 r. przez samego Vitalika Buterina, współtwórcę Ethereum. Plasma Cash w maksymalnym uproszczeniu działa na zasadzie drugiej, dodatkowej warstwy smart-kontraktów (ang. smart contracts), które są zintegrowane z blockchainem Ethereum, jednak funkcjonują poza nim na zasadzie transakcji off-chain. Sam blockchain Ethereum jest gwarantem bezpieczeństwa, ponieważ każda warstwa Plasma musi być zarówno otwarta, jak i zamknięta na bloku głównym, aby zostać uznana za prawidłową i wprowadzić zmiany do blockchaina, (podobnie jak w Lightning Network).

Reklama

Każda warstwa Plasma może mieć swoje sub-łańcuchy (tzw. child chains), co jest w stanie zapewnić w zasadzie nieograniczoną przepustowość, bez obciążania właściwej sieci bloków Ethereum. Polygon do kontaktu pomiędzy głównym łańcuchem Ethereum, a łańcuchami bocznymi Plasma wykorzystuje tzw. węzły kontrolne, działające w oparciu o bardziej wydajny algorytm konsensusu Proof of Stake, które odpowiadają za bezpieczeństwo i integralność łańcuchów bocznych z blockchainem Ethereum. Pojedynczy łańcuch boczny sieci Polygon ma przepustowość na poziomie nawet 65 tys. transakcji na sekundę.

Mówiąc prościej, Polygon pozwala tworzyć tokeny i zdecentralizowane aplikacje, będące odpowiednikami tych znajdujących się w sieci Ethereum, jednak z tą różnicą, że zarówno przepustowość sieci, szybkość transakcji, jak i koszty transakcyjne są wielokrotnie korzystniejsze niż w przypadku głównego łańcucha Ethereum. Dla przykładu, podstawowa transakcja z wykorzystaniem odpowiednika tokenu ERC20 kosztuje mniej niż 0,01 dolara.

 

Polygon na giełdzie Kanga Exchange

Giełda Kanga Exchange jest pierwszą w Polsce i jedną z pierwszych na świecie, która zdecydowała się na częściową integrację z siecią Polygon, po to by zapewnić dużo niższe prowizje transakcyjne. Jak dotąd dostępna jest integracja z Ethereum, tokenem Matic (Polygon) oraz Sapiency.

Reklama

Więcej na temat projektu Polygon i jego integracji z Kanga Exchange dowiesz się z rozmowy z Łukaszem Żeligowskim (CTO Kanga):

 

Czytaj więcej