馃嚨馃嚤 Konsensus Cardano a inne blockchainy

(To jest t艂umaczenie artyku艂u napisanego przez @ElliotHill z Cardano Foundation: Consensus on Cardano vs. other blockchains)
image

Mechanizmy konsensusu s膮 niezb臋dne, aby wszystkie uczestnicz膮ce w dzia艂aniu sieci strony uzgodni艂y jedn膮, niezmienn膮 histori臋 blockchaina, tworz膮c nowe bloki i utrzymuj膮c protok贸艂 jako ca艂o艣膰.

Dwie g艂贸wne stosowane obecnie metody konsensusu opieraj膮 si臋 na mechanizmach dowodu pracy (PoW, Proof of Work) lub dowodu stawki (PoS, Proof of Stake), kt贸re da艂y pocz膮tek wielu innym rodzajom podobnych metod konsensusu.

W tym artykule, pod膮偶aj膮c za udanym hard forkiem Cardano do konsensusu blockchain PoS, zag艂臋bimy si臋 w histori臋 mechanizm贸w konsensusu, ich ogranicze艅 i sposob贸w, w jaki Cardano rozwi膮zuje niekt贸re z najbardziej istotnych problem贸w zwi膮zanych z konsensusem za pomoc膮 Ouroboros - najbardziej zaawansowanego technicznie algorytmu Proof of Stake do tej pory.

Om贸wimy r贸wnie偶, w jaki spos贸b podej艣cie Cardano do kwestii konsensusu sprawia, 偶e smart kontrakty i zdecentralizowane aplikacje (DApp) s膮 bezpieczniejsze ni偶 kiedykolwiek.

Dow贸d pracy - Proof of Work (PoW)

Proof of work zosta艂 po raz pierwszy wdro偶ony w technologii blockchain, jak膮 znamy dzisiaj, za po艣rednictwem Bitcoina w 2008 r. Jednak jego fundamenty le偶膮 w badaniach kryptograficznych znacznie starszych ni偶 sama technologia blockchain, a zrozumienie pochodzenia PoW mo偶e pom贸c nam zrozumie膰 technologi臋 rozproszonego rejestru jako ca艂o艣ci.

Po raz pierwszy proof of work zosta艂 opisany przez Cynthi臋 Dwork i Moni Naor w 1993 roku jako technologia obliczeniowa do zwalczania niechcianej poczty (spamu). Podstawow膮 teori膮 stoj膮c膮 za wczesnymi systemami PoW by艂o wymaganie od uczestnik贸w ekosystemu obliczania 艣rednio trudnego, ale nie niemo偶liwego, problemu matematycznego, aby skorzysta膰 z zasobu lub sieci - tym samym zniech臋caj膮c do niepowa偶nego, nieprawid艂owego u偶ywania.

Dzisiaj szybkie spojrzenie na folder spam na koncie e-mail mo偶e ujawni膰, 偶e PoW znalaz艂 swoj膮 najwa偶niejsz膮 nisz臋 nie w zapobieganiu spamowi, ale w u艂atwianiu dzia艂ania technologii blockchain, zapobiegaj膮c podw贸jnemu wydawaniu (double spending) za pomoc膮 Hashcash, cz臋艣ci algorytmu kopania ostatecznie u偶ywanego przez Bitcoin.

W 1999 roku kryptografowie Markus Jakobsson i Ari Juels sformalizowali poj臋cie PoW, definiuj膮c je jako weryfikacj臋, 偶e uczestnicy wykonali okre艣lon膮 ilo艣膰 pracy obliczeniowej w okre艣lonym przedziale czasu, w zamian za co przyznano im dost臋p do zasobu - przedstawionego jako nagroda blokowa w 艂a艅cuchach blok贸w system贸w opartych o PoW.

Kilka lat p贸藕niej nie偶yj膮cy ju偶 kryptograf Hal Finney zbudowa艂 pierwszy cyfrowy e-pieni膮dz przy u偶yciu odmiany PoW, kt贸ra mia艂a ograniczone zastosowanie ekonomiczne. Jednak nieca艂e dziesi臋膰 lat p贸藕niej Finney by艂 pierwszym w historii odbiorc膮 transferu Bitcoina, oryginalnego funkcjonalnego blockchaina PoW zbudowanego przez anonimowego tw贸rc臋 o pseudonimie Satoshi Nakamoto - nadal najwi臋kszej kryptowaluty pod wzgl臋dem kapitalizacji rynkowej.

PoW da艂o pocz膮tek kopaczom kryptowalut, kt贸rzy u偶ywaj膮 pot臋偶nego sprz臋tu komputerowego do rozwi膮zywania problem贸w kryptograficznych i sprawdzania poprawno艣ci blok贸w w zamian za nagrody blokowe. Kopanie kryptowalut sta艂o si臋 od tego czasu ogromnym biznesem, nap臋dzaj膮cym rynki kryptowalut i ca艂膮 bran偶臋.

Nie jest jasne, czy ci pionierzy kryptografii mieli jakiekolwiek poj臋cie, jakim gigantem Bitcoin i reszta bran偶y blockchain mo偶e si臋 sta膰. Niemniej jednak teoria akademicka po艂o偶y艂a podwaliny pod mechanizmy konsensusu i algorytmy haszuj膮ce, jakie znamy dzisiaj, nawet w przypadku protoko艂贸w, kt贸re wyewoluowa艂y poza PoW.

Opr贸cz Bitcoina, PoW jest obecnie u偶ywany jako mechanizm konsensusu dla ponad 75% 艂a艅cuch贸w blok贸w, w tym kryptowalut takich jak Litecoin, Ethereum, Bitcoin Cash, Monero, Dogecoin i wielu innych. Ale to, 偶e konsensus proof of work jest pierwszy, niekoniecznie oznacza, 偶e 鈥嬧媕est najlepszy. Przyjrzyjmy si臋 pewnym ograniczeniom PoW.

Problemy z PoW

Pomimo jego przydatno艣ci w zapobieganiu podw贸jnemu wydatkowaniu, istnieje szereg teoretycznych i potwierdzonych problem贸w zwi膮zanych z konsensusem PoW, kt贸re obejmuj膮:

  • Niska sprawno艣膰 energetyczna - PoW wymaga ogromnych ilo艣ci energii do zasilania sprz臋tu komputerowego potrzebnego do kopania blok贸w, co stanowi ogromne obci膮偶enie dla 艣rodowiska. Badania opublikowane w 2019 roku oszacowa艂y, 偶e sama sie膰 wydobywcza Bitcoina zu偶ywa co najmniej 40 TWh energii elektrycznej rocznie, a by膰 mo偶e nawet 62 TWh - co jest por贸wnywalne z zapotrzebowaniem na energi臋 ca艂ej Szwajcarii.

  • Konsolidacja hashrate鈥檜 - w teorii stosunkowo niewielka garstka odpowiednio finansowanych g贸rnik贸w lub kopalni mo偶e sta膰 si臋 odpowiedzialna za wi臋kszo艣膰 mocy obliczeniowej w systemie PoW. Ryzyko konsolidacji hashrate鈥檜 sprawia, 偶e 鈥嬧媍a艂a sie膰 jest bardziej scentralizowana, poniewa偶 za wydobywanie nowych blok贸w odpowiada stosunkowo niewielka liczba g贸rnik贸w.

Dow贸d stawki (PoS)

Jak szczeg贸艂owo przeanalizujemy poni偶ej, Cardano jest blockchainem proof of stake. Protoko艂y PoS s膮 zorganizowane w rundy, a wi臋kszo艣膰 blockchain贸w PoS po prostu wybiera producenta blok贸w metod膮 algorytmu karuzelowego (round robin), gdzie ka偶dy ma r贸wny priorytet w kolejce do stworzenie nowego bloku. Ale zamiast tego niekt贸re blockchainy PoS, jak poka偶emy poni偶ej, losowo wybieraj膮 lider贸w dla ka偶dej rundy lub slotu. W przypadku Cardano ci 鈥瀦wyci臋zcy鈥 nazywani s膮 liderami slot贸w. Najbardziej krytycznym elementem algorytmicznym jest procedura wyboru lidera slotu, kt贸ra okre艣la podzbi贸r uczestnik贸w z uprawnieniami do dodawania nowego bloku do blockchaina podczas ka偶dej rundy.

Liderzy slot贸w s膮 wybierani zgodnie z ich 鈥瀞tawk膮鈥 w protokole lub inaczej cz臋艣ci膮 wszystkich token贸w protoko艂u, kt贸r膮 kontroluj膮 w stosunku do pozosta艂ych uczestnik贸w stakingu. Ci z wy偶szymi stawkami maj膮 wi臋ksz膮 szans臋 zosta膰 wybranym na lidera i stworzy膰 nowy blok - st膮d okre艣lenie 鈥瀌ow贸d stawki鈥.

Co najwa偶niejsze, PoS wykorzystuje tylko u艂amek mocy obliczeniowej - a zatem u艂amek energii elektrycznej zu偶ywanej przez algorytmy PoW. Niskie zapotrzebowanie na moc haszuj膮c膮 i energi臋 wynika z tego, 偶e liderzy slot贸w s膮 wybierani na podstawie ich udzia艂u w protokole, a nie od tego, jak膮 fizyczn膮 moc obliczeniow膮 maj膮.

Inne 艂a艅cuchy blok贸w PoS

Cardano to jeden z najnowszych i najbardziej zaawansowanych blockchain贸w PoS. Jednak niekt贸re inne 艂a艅cuchy blok贸w by艂y pionierami w jego u偶yciu w przesz艂o艣ci, niekt贸re u偶ywaj膮 obecnie proof of stake, a inne planuj膮 wdro偶y膰 go w przysz艂o艣ci:

  • Peercoin - za艂o偶ony w 2012 roku Peercoin by艂 pierwszym blockchainem, kt贸ry wdro偶y艂 PoS. Opieraj膮c si臋 na bazie kodu Bitcoina, Peercoin zosta艂 zaplanowany i opisany w bia艂ej ksi臋dze, w kt贸rej to te偶 przedstawiono pierwsze oficjalne tworzenie nowych blok贸w 艂a艅cucha przy u偶yciu PoS w oparciu o 鈥瀢iek鈥 monet w sieci.

  • Tezos - podobnie jak Cardano, Tezos sk艂ada si臋 z rund wytwarzaj膮cych blok zwanych 鈥瀋yklami鈥. Tezos jest zbudowany na zupe艂nie innej warstwie konsensusu ni偶 Cardano, pomimo powierzchownego podobie艅stwa. Na przyk艂ad Tezos ma model kont oparty na Ethereum, a nie na rozszerzonym UTXO, tak jak Cardano - co umo偶liwia wdro偶enie Hydry i doskona艂膮 obs艂ug臋 wielu aktyw贸w. Tezos ma zar贸wno producent贸w blok贸w, kt贸rych nazywa si臋 鈥瀙iekarzami鈥 (ang. bakers) jak i uczestnik贸w, kt贸rzy zgadzaj膮 si臋 na nowe bloki, zwanych 鈥瀍ndorserami鈥. Uczestnikom algorytmu konsensusu PoS Tezos przypisuje si臋 prawa do pieczenia lub prawa do zatwierdzania na pocz膮tku ka偶dego cyklu przy u偶yciu losowego klucza obliczonego na podstawie informacji przechowywanych w 艂a艅cuchu blok贸w.

  • Ethereum 2.0 - mimo 偶e istnieje obecnie jako blockchain PoW, Ethereum ostatecznie przejdzie na proof of stake poprzez wdro偶enie Ethereum 2.0. Ethereum 2.0 b臋dzie polega膰 na walidatorach - roli okreslanej r贸wnie偶 jako 鈥瀢irtualni g贸rnicy鈥 - i depozytach ETH, aby osi膮gn膮膰 konsensus.

Problemy z proof of stake

Istniej膮 pewne teoretyczne problemy zwi膮zane z PoS, z kt贸rych wiele by艂o problematycznych ju偶 we wczesnych wdro偶eniach 艂a艅cuch贸w blok贸w PoS. Przyjrzyjmy si臋 niekt贸rym z nich tutaj, a poni偶ej powiemy, jak Cardano ich unika:

  • Problem 鈥瀗othing at stake鈥 - ataki na blockchainy PoS mog膮 by膰 prowadzone przez walidator贸w, kt贸rzy kontynuuj膮 jednoczesn膮 prac臋 na wielu r贸wnoleg艂ych 艂a艅cuchach blok贸w. Wykorzystuj膮 fakt, 偶e do tworzenia 艂a艅cucha blok贸w PoS potrzebny jest niewielka moc obliczeniowa. Poniewa偶 zabezpieczenie sieci nie wi膮偶e si臋 z kosztami wewn臋trznymi, jak w przypadku algorytm贸w PoW, mo偶e to spowodowa膰, 偶e walidatorzy b臋d膮 utrzymywa膰 dzia艂alno艣膰 na wszystkich wcze艣niejszych forkach (rozgalezieniach) 艂a艅cucha blok贸w PoS w celu pobierania op艂at transakcyjnych z dowolnego 艂a艅cucha, kt贸ry stanie si臋 wiod膮cy. Mo偶e to zaburza膰 osi膮gni臋cie konsensusu i narazi膰 sie膰 na niebezpiecze艅stwo.

  • Ataki typu Goldfinger - nazwane na cze艣膰 czarnego charakteru z filmu o Jamesie Bondzie, kt贸ry pr贸bowa艂 zniszczy膰 rezerwy skarbowe USA. Ataki tego typu maj膮 na celu podwa偶enie i destabilizacj臋 samego protoko艂u konsensusu dla korzy艣ci finansowych atakuj膮cego. Same ataki mog膮 przybiera膰 r贸偶ne formy, takie jak atak wykupu, atak przekupstwa, ataki z wynajmem itd., ka偶dy z r贸偶nymi sposobami dzia艂ania prowadz膮cymi do tego samego celu.

Konsensus Cardano

Od hard forka z Byrona do Shelley, Cardano dzia艂a na Ouroboros Praos, pierwszym protokole PoS, zabezpieczonym przed atakami adaptacyjnymi i skalowalnym w naprawd臋 praktycznym sensie.

W staro偶ytnej kulturze egipskiej i hellenistycznej Ouroboros jest samozjadaj膮cym si臋 w臋偶em, kt贸ry reprezentuje cykliczn膮 odnow臋 - szczeg贸lnie przydatne w sposobie, w jaki weryfikowalne funkcje losowe s膮 generowane w jednej epoce i u偶ywane do wybierania lider贸w w nast臋pnej.

Ouroboros Praos zapewnia ochron臋 przed w pe艂ni adaptacyjn膮 korupcj膮 w 艣rodowisku p贸艂synchronicznym, co oznacza, 偶e 鈥嬧媝rzeciwnicy mog膮 鈥瀙rzekupi膰鈥 dowolnego uczestnika w dowolnym momencie bez wp艂ywu na bazowy 艂a艅cuch blok贸w, o ile dystrybucja pomi臋dzy uczestnikami sieci zachowuje wi臋kszo艣膰 udzia艂贸w - mo偶liwe dzi臋ki stake poolom i delegowaniu.

Uniemo偶liwia si臋 uczestnikom sprawowanie zbyt du偶ej kontroli nad sieci膮 Cardano poprzez punkt nasycenia pooli, czyli wsp贸艂czynnik 鈥瀔鈥, w kt贸rym to momencie pula osi膮gn臋艂aby malej膮ce zyski z udzia艂u w konsensusie. Ma to na celu zapobie偶enie nieproporcjonalnemu wyborowi jednej lub kilku pul jako lider贸w slot贸w i utrzymanie prawdziwie zdecentralizowanego 艂a艅cucha blok贸w.

Stake poole i delegowanie w Cardano zapewnia, 偶e 鈥嬧媝rotok贸艂 ma znacznie wi臋ksz膮 zdolno艣膰 do decentralizacji - zach臋caj膮c do tworzenia tysi臋cy SP i teoretycznie nieograniczonej liczby delegat贸w. W zwi膮zku z tym wed艂ug niezale偶nych audytor贸w kodu, algorytm PoS Cardano 鈥瀙rzy膰miewa鈥 podobne 艂a艅cuchy konkurent贸w.

W jaki spos贸b Cardano pokonuje ograniczenia PoS?

Cardano zosta艂o zbudowane przy u偶yciu najnowszych bada艅 kryptograficznych. Jest stale ulepszane poprzez dyscyplin臋 akademick膮 i oparte na prawie 80 recenzowanych artyku艂ach z zakresu kryptografii opublikowanych przez IOHK.

W rezultacie wiele ogranicze艅 zwi膮zanych z konsensusem PoS zosta艂o zniwelowanych lub ca艂kowicie wyeliminowanych, dzi臋ki czemu Ouroboros Praos jest jak dot膮d najbezpieczniejszym wdro偶eniem PoS.

Problem 鈥瀗othing at stake鈥 zosta艂 rozwi膮zany poprzez analiz臋 艂a艅cuch贸w podatnych na forki prowadzon膮 przez Cardano. Nawet je艣li w najbli偶szej przysz艂o艣ci haker metod膮 brute force podejmie wszystkie mo偶liwe pr贸by rozwidlenia blockchaina Cardano, nie ma strategii, kt贸ra by艂aby dla niego op艂acalna finansowo.

Podobnie regu艂a wyboru 艂a艅cucha instruuje uczestnik贸w, aby ignorowali bardzo g艂臋bokie forki, kt贸re r贸偶ni膮 si臋 istotnie od bloku, kt贸ry otrzymali ostatnim razem, gdy byli online.

Si臋gaj膮c dalej ni偶 Shelley - inteligentne kontrakty, optymalna przepustowo艣膰 i 艂a艅cuchy boczne

Shelley wprowadzi艂o PoS do Cardano, ale konsensus PoS ma wiele innych zalet w zakresie u偶yteczno艣ci blockchaina Cardano. Obejmuj膮 one inteligentne kontrakty, optymalizacj臋 przepustowo艣ci transakcji i 艂a艅cuchy boczne (tzw. sidechainy). Przyjrzyjmy si臋 niekt贸rym podstawowym zasadom tych funkcji.

Inteligentne kontrakty

Spos贸b, w jaki Cardano osi膮ga konsensus, jest wa偶ny dla jego smart kontrakt贸w i mo偶liwo艣ci tworzenia aplikacji zdecentralizowanych - dApp贸w. Wi臋ksza decentralizacja w 艂a艅cuchu blok贸w oznacza, 偶e 鈥嬧媤i臋cej w臋z艂贸w zgadza si臋 co do jednej wersji prawdy.

W rezultacie inteligentne kontrakty zapisane w wystarczaj膮co zdecentralizowanej sieci s膮 szczeg贸lnie solidne i godne zaufania. W po艂膮czeniu ze zdecentralizowan膮 sieci膮 wyroczni, te smart kontrakty mog膮 odpowiednio obs艂ugiwa膰 przypadki u偶ycia w przedsi臋biorstwach, a nawet regulowa膰 z艂o偶one umowy prawne.

Prawie optymalna przepustowo艣膰

Osi膮gni臋cie wysokiej przepustowo艣ci transakcji jest jednym z najwi臋kszych wyzwa艅 dla blockchain贸w, ale jest niezb臋dne, je艣li blockchainy maj膮 sta膰 si臋 finansowymi systemami operacyjnymi przysz艂o艣ci.

Badacze z IOHK zaproponowali formalny model realizacji PoS oparty na Ouroboros, kt贸ry zachowuje bezpiecze艅stwo, jednocze艣nie umo偶liwiaj膮c optymaln膮 przepustowo艣膰 transakcji, co pozwoli艂oby blockchainowi Cardano na skalowanie i obs艂ug臋 du偶ej liczby transakcji przy zachowaniu bezpiecze艅stwa.

艁a艅cuchy boczne PoS i interoperacyjno艣膰

Sidechainy by艂y od dawna badane ze wzgl臋du na ich potencja艂 w zakresie zapewniania skalowalno艣ci i interoperacyjno艣ci 艂a艅cucha blok贸w, ale przed ich skutecznym wdro偶eniem istnieje wiele zagadnie艅 zwi膮zanych z bezpiecze艅stwem i problem贸w do rozwi膮zania.

W maju 2019 r. naukowcy z IOHK jako pierwsi opisali konstrukcj臋 艂a艅cuch贸w bocznych PoS, kt贸re mo偶na wdro偶y膰 w protokole Cardano Ouroboros Praos.

Zaproponowano rozwi膮zanie, kt贸re wspiera艂oby bezpieczne mi臋dzy艂a艅cuchowe transfery warto艣ci, kt贸re z kolei utrzymywa艂yby bezpiecze艅stwo ka偶dego podstawowego 艂a艅cucha, weryfikowa艂yby uczciwo艣膰 udzia艂贸w w obu uczestnicz膮cych 艂a艅cuchach i utrzymywa艂y integralno艣膰 jednego 艂a艅cucha transakcyjnego w przypadku niepowodzenia drugiego .

Ataki typu Goldfinger i inne pr贸by podwa偶enia konsensusu s膮 udaremniane na 艂a艅cuchach bocznych, poniewa偶 przenosz膮 one tylko niewielk膮 warto艣膰 na raz.

W praktyce wdro偶enie 艂a艅cuch贸w bocznych PoS mo偶e po raz pierwszy umo偶liwi膰 pe艂n膮 interoperacyjno艣膰 mi臋dzy 艂a艅cuchami blok贸w - przyspieszaj膮c skalowalno艣膰 w ca艂ej bran偶y blockchain, ale tak偶e umo偶liwiaj膮c komunikacj臋 ze starszymi systemami bankowymi i finansowymi za po艣rednictwem uprawnionych rejestr贸w.

Dowiedz si臋 wi臋cej o konsensusie Cardano

Po poznaniu historii dotychczasowych mechanizm贸w konsensusu, mo偶emy zacz膮膰 rozumie膰, jak zaawansowany jest mechanizm PoS Cardano; a co wa偶niejsze, w jaki spos贸b stanowi podstaw臋 ca艂ego ekosystemu Cardano.

Mo偶esz przeczyta膰 wi臋cej o mechanizmie konsensusu Cardano, odwiedzaj膮c nasz膮 dokumentacj臋 dla programist贸w, czytaj膮c forum lub obszern膮 bibliotek臋 badawcz膮 IOHK.

//

Po wi臋cej artyku艂贸w o Cardano po polsku zapraszamy do :poland: polskiej sekcji na forum Cardano . Seri臋 film贸w o historii Cardano, podstawach dzia艂ania sieci i aktualizacjach opublikowa艂 Andrzej z kana艂u Dzienna Dawka Dyskomfortu. Chcesz porozmawia膰, zapyta膰 o Cardano po polsku? Odwied藕 nasz膮 :poland: spo艂eczno艣膰 na Telegramie, profil @CardanoPolska na Twitterze oraz Facebooku.