A Bitcoinban használt proof-of-work konszenzus mechanizmus a történelem objektív mércéje, amelyet a validátorok szeszélyei nem befolyásolnak.
Alan Szepieniec, a KU Leuven egyetemen szerzett PhD fokozatot posztkvantum kriptográfiából. Kutatásában a kriptográfiára összpontosít, annak is különösen arra a fajtájára, amely a Bitcoin számára hasznos.
A Bitcoin által használt konszenzus mechanizmus, a proof-of-work helyett javasolt alternatív konszenzus mechanizmus – a proof-of-stake. Ahelyett, hogy energiafogyasztást követelne meg, a proof-of-stake azt várja a bányászoktól (általában validátorok), hogy stakeljék digitális eszközeiket, hozzájárulva a blokkgyártási folyamatokhoz. A stakelés arra ösztönzi őket, hogy őszintén viselkedjenek, elkerülve részesedésük elvesztését. Elméletileg csak becsületes validátorokkal a hálózat gyorsan következtetésre jut a tranzakciók sorrendjéről és így arról is, hogy mely tranzakciók érvénytelen, dupla-költések.
A proof-of-stake rengeteg vitát generált. A legtöbb kritika a biztonságra összpontosít: csökkentené a támadások költségeit? Sokan szociológiai aggályokat is megfogalmaztak: a hatalom központosítása, vagyonkoncentráció, plutokrácia stb.
Ebben a cikkben egy sokkal alapvetőbb kritikát fogalmazunk meg: a proof-of-stake eredendően szubjektív. A proof-of-stake blokklánc helyes megközelítése attól függ kit kérdezel. Ennek eredményeként egy támadás költsége nem számítható ki blokkláncon belüli egységekben, így a biztonsági elemzések érvénytelenek; a tartozások nem rendezhetők olyan felek között, amelyek még nem egyeztek meg abban, hogy melyik harmadik fél megbízható, a viták végső megoldásának pedig bizottságoktól kell származnia.
Ezzel ellentétben a proof-of-work egy objektív konszenzus mechanizmus, ahol a kapcsolódó vagy független felek bármely csoportja megegyezésre juthat arról, hogy a blokklánc melyik állapota pontos. Ennek eredményeként, bármely két gazdasági szereplő megállapodhat abban, hogy a kifizetés megtörtént-e, bizottságoktól vagy a közösség befolyásos tagjaitól függetlenül. Ez a különbség alkalmassá teszi a proof-of-work mechanizmust, alkalmatlanná teszi azonban a proof-of-staket, a digitális valuták konszenzusos mechanizmusaként való alkalmazásra.
PoW vs PoS: Digitális pénz és konszenzus
A problémák, amelyeknek megoldásra van szüksége
A számítógépek által végrehajtott egyik legalapvetőbb művelet az információk másolása. Ez a művelet érintetlenül hagyja az eredeti példányt, és gyakorlatilag költség nélkül pontos másolatot készít. A számítógépek szinte bármit képesek másolni, amennyiben az digitális.
Vannak azonban olyan dolgok, amelyek tisztán a digitális szférában léteznek, másolni azonban mégsem lehetséges azokat. Olyan dolgok, amelyek egyszerre digitálisak és ritkák is. Ez a leírás vonatkozik például a bitcoinra, valamint más blokklánc-alapú digitális eszközökre. El lehet őket küldeni, de amint ez megtörtént, az eredeti példány eltűnik. Lehet, hogy nem értünk egyet azzal, hogy a piac miért igényli ezeket az eszközöket, de maga a tény, hogy az igény, a kereslet létezik, azt jelenti, hogy ezek a digitális eszközök hasznosak a tőzsdék kiegyensúlyozásában. Egyetlen szóba sűrítve: ezek az eszközök – pénz.
A digitális szűkösség elérése érdekében a blokklánc protokoll egy főkönyvet másol a hálózaton keresztül. A főkönyv frissíthető, de csak olyan tranzakciókkal, amelyekben az elköltött pénzösszegek tulajdonosai egyetértenek; a nettó összeg nulla; és a kimenetek pozitívak.
Minden érvénytelen frissítés elutasításra kerül. Amíg a protokoll összes résztvevője között összhang van a főkönyv állapotát illetően, a digitális szűkösség garantált.
Kiderült, hogy az összhang elérése nehéz feladat. A nem tökéletes hálózati feltételek eltérő nézeteket generálnak a történelemről. A nézeteltérések jellemzők a hálózatra.
PoW vs PoS: A Fork-Choice Rule
A blokkláncok kétféleképpen kezelik ezt a problémát. Először egy teljes sorrendet érvényesítenek minden tranzakcióra, amely egy fát generál az alternatív történelemszemléletekből. Másodszor meghatároznak egy általános szabályt a történelem számára, valamint egy fork-choice szabályt, amely kiválasztja a kanonikus ágat a történelem fájáról.
Megbízható hatóságoktól, vagy egyesek szerint egy állampolgári identitásrendszerrel támogatott digitális szavazási rendszerből könnyen levezethető a kanonikusság. A megbízható hatóságok viszont biztonsági rések, és a kormányra támaszkodva megbízható azonosítási szolgáltatások nyújtása a politika eszközévé válik, nem pedig attól függetlenné. Ezen túlmenően mindkét megoldás megegyezést feltételez harmadik felek személyazonosságáról és megbízhatóságáról. Csökkenteni akarjuk a bizalmi feltevéseket; ideális esetben van egy olyan megoldás, amely teljes mértékben a matematikából származik.
A kanonitás meghatározásának olyan megoldása, amely teljes egészében a matematikából származik azt a figyelemre méltó tulajdonságot generálja, hogy a válasz független attól aki kiszámolja. Ebben az értelemben képes egy konszenzus mechanizmus objektív lenni. Van azonban egy fontos figyelmeztetés: feltételeznünk kell, hogy minden fél egyetért egy egyedi referenciapontban, például a genezis blokkjában vagy annak hash-kivonatában. Az objektív konszenzus mechanizmus az, amely lehetővé teszi bármely fél számára, hogy ebből a referenciapontból extrapolálja a kanonikus történelemszemléletet.
Nem fontos, hogy a fa melyik ága a kanonikus, az a fontos, hogy minden résztvevő egyetérthessen ebben a választásban. Sőt, az egész fát nem szükséges kifejezni egyetlen számítógépen sem. Ehelyett elegendő, ha minden node csak egy maréknyi ágat tartalmaz. Ebben az esetben a fork-choice szabály egyszerre mindig csak két jelölt történelemszemléletet tesztel. Szigorú értelemben a kanonikus történelemszemlélet kifejezése félrevezető: egy történelemszemlélet csak egy másik nézethez képest lehet többé-kevésbé kanonikus. A node-ok eldobják azt az ágat, amelyik kevésbé kanonikus és azt propagálják, amelyik inkább az. Amikor egy előzménynézetet egy rakás új tranzakcióval bővítenek az új nézet kanonikusabb lesz, mint a régi.
Ahhoz, hogy a hálózat gyorsan konvergáljon a kanonikus történelemszemléletről alkotott konszenzushoz, a fork-choice szabálynak két tulajdonságot kell teljesítenie. Először is jól definiáltnak és hatékonyan értékelhetőnek kell lennie bármely két történelemszemlélet pár számára. Másodszor pedig tranzitívnak kell lennie a történelem bármely hármas nézetére. A matematikában jártasak számára: legyen U, V, W tetszőleges három történelemszemlélet, és a „<” infix jelölje a jobb oldalt előnyben részesítő fork-choice szabályt a ballal szemben.
Ezután (két feltétel teljesülésével):
- vagy U<V vagy V<U; és
- U<V∧V<W⇒U<W
Annak érdekében, hogy a főkönyv elférjen a frissítésektől, az előzmények nézeteinek bővíthetőnek kell lenniük olyan módon, hogy az kompatibilis legyen a fork-choice szabállyal. Ezért további két tárolóra van szükség. Először is, ha két nézeten értékeljük, ahol az egyik a másik kiterjesztése, a választási szabálynak mindig a kiterjesztett nézetet kell előnyben részesítenie. Másodszor, a kanonikus nézetek kiterjesztései nagyobb valószínűséggel kanonikus nézetek kiterjesztései. Jelöljön szimbolikusan az „E” egy kiterjesztést, a „” pedig az azt alkalmazó műveletet.
Ekkor:
- U<U‖E
- U<V⇒Pr[U‖E<V‖E]>0.5
Az utolsó tulajdon arra ösztönzi a becsületes kiterjesztőket, hogy a kanonikus nézetek kiterjesztésére összpontosítsanak, azokkal a nézetekkel szemben, amelyekről tudják, hogy nem kanonikusak. Ennek az ösztönzésnek köszönhetően az őszinte, de egymásnak ellentmondó kiterjesztésekből fakadó különálló történelemszemléletek általában csak tippjeikben térnek el a közelmúlt eseményeiről. Minél távolabb naplózunk egy eseményt, annál kevésbé valószínű egy másik, kanonikusabb történelemszemlélet által előírt átszervezés, amely egy korábbi ponton elégazik. Ebből a perspektívából a kanonikus történelemszemlélet jól körülhatárolható a történelemszemlélet azon határa szempontjából, amelyhez a hálózat konvergál.
Az előző bekezdés nyilvánvaló kizáró tényezője az, hogy a terjesztőknek őszintén kell viselkedniük. Mi történik a tisztességtelen terjesztőkkel? Ha az ellenfél vezérelni tudja a valószínűségi kifejezésben szereplő válószínűségi változót, akkor azt a saját javára változtathatja, és a siker nagy valószínűségével mélyreható átszervezéseket indíthat el. Még ha nem is tudja szabályozni a valószínűségi változót, de olcsón tud jelölt-bővítményeket előállítani, akkor lokálisan és korlátlanul ki tudja értékelni a fork-choice szabályt, amíg meg nem találja a korai eltérési pontot egy olyan kiterjesztéssel együtt, amely történetesen kanonikusabbat generál, mint bármelyik cirkuláló.
A kirakós hiányzó darabja nem egy olyan mechanizmus, amely megakadályozza a tisztességtelen kiterjesztést. A nem tökéletes hálózati körülmények között lehetetlen a tisztességtelen viselkedés körülhatárolása. A támadó mindig figyelmen kívül hagyhatja azokat az üzeneteket, amelyek nem tetszenek neki, vagy késleltetheti azok terjedését, és mondhatja, hogy a hálózati kapcsolat a hibás. A kirakós hiányzó darabja ezzel ellentétben egy olyan mechanizmus, amely a mélyreható átszervezéseket drágábbá teszi, a sekély átszervezéseknél, és minél mélyebbre mennek annál drágább.
PoW vs PoS: Fokozódó proof-of-work
Satoshi Nakamoto konszenzusmechanizmusa pontosan ezt éri el. Ahhoz, hogy egy új köteg tranzakciót (úgy nevezett blokkot) létrehozzunk és ez által néhány ágat kiterjesszünk, a potenciális terjesztőknek (úgynevezett bányászoknak) először meg kell oldaniuk egy számítási rejtvényt. Ezt a rejtvényt megoldani drága, ellenőrizni azonban könnyű, ezért is találó a proof-of-work elnevezés. Csak ennek a rejtvénynek a megoldásával válik az új tranzakciós köteg (és a hozzá tartozó történelem) érvényes jelöltté a kánonra. A rejtvényhez tartozik a nehézségi fokozat beállítására szolgáló gomb, amely automatikusan be van kapcsolva az új megoldás megtalálása előtti várható idő szabályozása érdekében, függetlenül a résztvevők számától, vagy a problémára fordított erőforrásoktól. Ennek a gombnak másodlagos funkciója van, mint a nehézségeket mérő egységben a rejtvénymegoldó erőfeszítés elfogulatlan indikátora.
A folyamat bárki számára elérhető. A korlátozó tényező nem a jogosultság vagy a kriptográfiai kulcs-anyag nagy hardverigénye, hanem az az erőforrás, amelyet hajlandó vagy elkölteni egy érvényes blokk megtalálása érdekében. A rejtvény valószínűségi és párhuzamos jellege megjutalmazza a költséghatékony bányászt, aki maximalizálja a joule-onkénti számítások számát, még akkor is, ha így másodpercenként kevesebb számítást tud elvégezni.
Minden blokk megcélzott nehézségi paramétere (a gomb) alapján könnyen kiszámítható a teljes munkamennyiség elfogulatlan becslése, amelyet egy adott történelemág képvisel. A proof-of-work, a fork-choice szabály annak az ágnak kedvez, ahol ez a szám nagyobb.
A bányászok egymással versenyeznek, hogy megtalálják a következő blokkot. Az a bányász nyer, aki elsőként megtalálja és sikeresen propagálja. Feltételezve, hogy a bányászok nem ülnek érvényes de propagálatlan blokkokon, amikor új blokkot kapnak a versengő bányászoktól, azt átveszik a történelem kanonikus ágának új vezetőjévé, mert ennek elmulasztása hátrányos helyzetbe hozza őket. Egy ismeretlen régi blokk tetejére építeni irracionális, mert a bányásznak utól kell érnie a hálózat többi részét, és két új blokkot kell találnia ahhoz, hogy sikeres legyen, ez a feladat viszont átlagosan kétszer olyan nehéz, mint áttérni az új, hosszabb ágra és azt bővíteni tovább. A proof-of-work blokkláncban az átszervezések általában a történelem fájának csúcsáig elszigeteltek, és ennek nem az az oka, hogy a bányászok becsületesek, hanem az, hogy az átszervezések költsége az átszervezés mélységével nő. Például: egy stack exchange válasz alapján a szoftverfrissítéseket követő villák kivételével a Bitcoin blokklánc leghosszabb villájának hossza 4 volt, vagyis az akkori blokkmagasság 0,0023%-a.
PoW vs PoS: Proof-of-stake „megoldás”
A proof-of-stake a proof-of-work ajánlott alternatívája, amelyben a helyes történelemszemléletet nem a kriptográfiai rejtvények megoldására fordított legnagyobb munkamennyiség alapján határozzák meg. Ehelyett a validátoroknak nevezett node-ok speciális kulcsaival. Pontosabban a validátorok hoznak létre új blokkokat. A részt vevő node hitelesíti az előzmények helyes nézetét azáltal, hogy az alkotó blokkon lévő aláírásokat ellenőrzi.
A node-nak nincs arra eszköze, hogy megkülönböztesse az érvényes történelemszemléletet az érvénytelentől. A lényeg az, hogy egy versengő blokk csak akkor komoly versenyző a helyes történelemszemlélet csúcsra, ha van hitelesítő aláírása (vagy sok támogató aláírása). Nagyon valószínűtlen, hogy a validátorok aláírnának alternatív blokkokat, mert ez az aláírás rosszindulatú viselkedést jelezne és a stakelt coin-juk elvesztésével járna.
Az eljárás nyilvános. Bárki validátorrá válhat, ha meghatározott mennyiségű kriptovalutát helyez egy speciális letéti számlára. Ez a letétbe helyezett „stake” az ára annak, ha egy validátor nem megfelelően viselkedik. A node-ok ellenőrzik, hogy az új blokkon lévő aláírások megegyeznek-e a validátorok által letétbe helyezéskor biztosított nyilvános kulcsokkal.
Tehát a proof-of-stake blokkláncokban a helyes történelemszemlélet meghatározása teljesen rekurzív. Az új blokkok csak akkor érvényesek, ha a megfelelő aláírásokat tartalmazzák. Az aláírások a validátorok nyilvános kulcsaira vonatkozóan érvényesek. Ezeket a nyilvános kulcsokat régi blokkok határozzák meg. A fork-choice szabály nincs definiálva a versengő történelemszemléletekre mindaddig, amíg mindkét nézet önkonzisztens.
Ezzel szemben a helyes történelemszemlélet a proof-of-work blokkláncok esetén szintén rekurzív módon van meghatározva, de nem zárja ki a külső bemeneteket. Pontosabban, a proof-of-work során a fork-choice szabály is a véletlenszerűségre támaszkodik, amelynek elfogulatlansága objektíven igazolható.
Az említett külső bemenet a legfontosabb különbség. A proof-of-work esetén a fork-choice szabály bármely egymással versengő történelemszemléletpárra definiálható, ezért lehet egyáltalán kánonról beszélni. A proof-of-stake során csak egy korábbi történelemszemlélethez képest lehetséges meghatározni melyik a helyes.
PoW vs PoS: A proof-of-stake felforgatható
Számít ez egyáltalán? Elméletileg ahhoz, hogy két konzisztens, de egymással nem egyeztethető történelemszemlélet szülessen, valahol valakinek tisztességtelennek kell lennie, és ha tisztességtelenül viselkedett, ki lehet deríteni, hol cselekedett tisztességtelenül, bizonyítani lehet azt és megfosztani stake-jétől. Mivel az első eltérési ponton beállított validátor nem vitatott, onnan lehetéséges a helyreállítás.
Ezzel az érveléssel az a probléma, hogy nem veszi figyelembe az időt. Ha egy tíz évvel ezelőtti validátor egymásnak ellentmondó blokkokat ír alá – vagyis közzéteszi a tíz éve megerősített blokk újonnan aláírt ellentmondásos megfelelőjét -, akkor onnantól kezdve újra kell írni az előzményeket. A tisztességtelen validátort stake-jétől megfosztják. Azok a tranzakciók, amelyek elköltik a stake jutalmait, most érvénytelenek, éppen úgy, mint az onnan eredő tranzakciók. Ha elegendő időt adunk, a validátor jutalma a blokkláncgazdaság jelentős részére kiterjedhet. A koinok címzettje nem lehet abban biztos, hogy minden összefüggés érvényben marad a jövőben is. Nincs véglegesség, mert nem nehezebb vagy költségesebb a távoli múltat újra szervezni, mint a közeli múltat.
PoW vs PoS: A proof-of-stake szubjektív
A probléma megoldásának egyetlen módja az átszervezések engedélyezési mélységének korlátozása. Figyelmen kívül hagyják azokat az egymásnak ellentmondó történelem nézeteket, amelyek első eltérési pontja egy bizonyos küszöbkornál régebbi. Azok a nodeok, amelyek egy másik nézetet mutatnak be, és amelyek első eltérési pontja régebbi, azonnal elutasítják, anélkül, hogy ellenőriznék melyik a helyes. Amíg egyes node-ok egy adott időpillanatban jelen vannak, a folytonosság garantált. A blokklánc csak egyféleképpen fejlődhet, mégpedig ha a túl mély átszervezések tiltva vannak.
Ez a megoldás a proof-of-stake mechanizmust szubjektív konszenzus mechanizmussá teszi. A „mi a blokklánc jelenlegi állapota?” kérdésre a válasz az, hogy attól függ kit kérdezel. Objektíven nem ellenőrizhető. A támadó olyan alternatív történelemszemléletet tud produkálni, amely éppolyan következetes, mint a valódi. A node csak úgy jöhet rá melyik nézet a helyes, ha kiválaszt egy sortársat, és bizalmat szavaz neki.
Vitatható, hogy ez a hipotetikus támadás nem releváns, ha az alternatív történelemszemlélet létrehozásának költsége túl magas. Ez az ellenérv bár igaz, a költség egy objektív mérőszám, így az, hogy igaz-e, külső tényezőktől függ, amelyek a blokkláncon nem szerepelnek. Például a támadó elveszítheti a történelem egyik nézetében való részesedését, de nem érdekli, mert jogi vagy társadalmi eszközökkel garantálhatja, hogy az alternatív nézetet elfogadják. Alapvetően hibás minden olyan biztonsági elemzés vagy támadási költségszámítás, amely arra összpontosít, hogy mi történik a „blokkláncon”, és nem veszi figyelembe az objektív világot, amelyben él.
A proof-of-stake elvén alapuló kriptovaluta belső jellemzője, hogy nemcsak a költség, hanem a jutalom is szubjektív. Miért támadna valaki, ha a végeredmény nem a találékonysága által mechanikusan meghatározott kifizetés, hanem a kriptovaluta hivatalos fejlesztői csapatának adása, amely elmagyarázza, miért választották a másik ágat? Lehetnek külső kifizetések – például olyan pénzügyi opciókból, amelyek az ár csökkenésére számítanak, vagy a káosz okozta puszta örömből -, de a lényeg az, hogy a belső kifizetések alacsony valószínűsége aláássa azt az érvet, hogy a meglévő proof-of-stake kriptovaluták hatékony támadási jutalmat jelentenek.
PoW vs PoS: Pénz és objektivitás
A pénz lényegében az a tárgy, amellyel az adósságot kiegyenlítik. Az adósság hatékony rendezéséhez konszenzusra van szükség a cserében részt vevő felek között – különösen a pénznem és a pénzösszeg tekintetében. A vita a fennálló követelések állandósulásához és az ismételt üzleti tevékenység megtagadásához vezet azonos vagy hasonló feltételekkel.
A hatékony adósságrendezéshez nem szükséges hogy az egész világ megegyezzen az adott pénzfajtáról. Ezért lehet hasznos egy szubjektív pénz a világgazdaság zsebeiben, ahol történetesen konszenzus van. Ahhoz azonban, hogy áthidaljuk a szakadékot a mikrogazdaságok két zsebe, vagy általánosabban a világ bármely két embere között, globális konszenzusra van szükség. Ezt egy objektív konszenzus mechanizmus elérheti, egy szubjektív nem.
A proof-of-stake kriptovaluták nem adhatnak új alapot a világ pénzügyi gerincéhez. A világ olyan államokból áll, amelyek nem ismerik el egymás bíróságait. Ha vita támad a helyes történelemszemléletről, az egyetlen kiút a háború.
A proof-of-stake blokkláncokat fejlesztő és támogató alapítványok, valamint a nekik dolgozó szabadúszó fejlesztők – még a programot nem is író influenszerek – jogi felelősségnek teszik ki magukat, amiért (a felperes számára) kedvezőtlen történelemszemléletet választottak önkényesen. Mi történik, ha egy kriptotőzsde nagy összegű kivonást tesz lehetővé egy olyan proof-of-stake kriptovalutában, amelynek tranzakciója a történelem két versengő nézetének csak az egyik ágában jelenik meg? A tőzsde talán azt a nézetet választja, amely számára előnyös, de ha a közösség többi tagja – az alapítványok, fejlesztők, influenszerek PGP aláírásai, tweetjei és Medium posztjai alapján – az alternatív nézetet választja, akkor a tőzsde fizeti meg az árát. Minden ösztönzésük és bizalmi felelősségük megvan, hogy veszteségeiket az értük felelős személyektől megtérítsék.
A végén a bizottság dönt arról, hogy melyik történelemszemlélet a helyes.
Következtetés
A proof-of-stake mechanizmus hívei azt állítják, hogy ugyanazt a célt szolgálja, mint a proof-of-work, csak energiapazarlás nélkül. Túlságosan gyakran előfordul, hogy miközben támogatásukat hangsúlyozzák, figyelmen kívül hagyják a mérnöki dilemmában jelen lévő kompromisszumokat. Igen, a proof-of-stake megszűnteti az energiaráfordítást, de ez feláldozza az így létrejövő konszenzus mechanizmus objektivitását. Ez rendben van olyan helyzetekben, amikor csak a helyi konszenzus zsebei elegendőek, de ez a kontextus felveti a kérdést: mi értelme a megbízható hatóság megszűntetésének? A globális pénzügyi gerinchez objektív mechanizmusra van szükség.
A proof-of-stake önreferenciális jellege eredendően szubjektívvé teszi azt: hogy melyik történelemszemlélet helyes, attól függ, kit kérdezünk. A kérdés: „Biztonságos-e a proof-of-stake?” megpróbálja az elemzést a költség objektív mértékére redukálni, amely nem létezik. Rövid távon az, hogy melyik villa a helyes, attól függ, hogy melyik villa népszerű a befolyásos közösség tagjai körében. Hosszú távon a bizottságok átveszik a jogot annak eldöntésére, hogy melyik elágazás a helyes, és a helyi konszenzus zsebei egybeesnek azokkal a határokkal, amelyek az egyik bizottság joghatóságának végét és a következő kezdetét jelzik.
A bányászok által a proof-of-work blokkláncaiban elhasznált energia nem megy kárba, mint ahogy a gázolaj sem az autók üzemanyagaként. Ehelyett kriptográfiailag ellenőrizhető, torzíthatatlan véletlenszerűségre cserélik. Nem tudjuk, hogyan lehet objektív konszenzusmechanizmust létrehozni ennek a kulcsfontosságú összetevőnek a hiányában.
Ez Alan Szepieniec vendégbejegyzése. A kifejtett vélemények teljes mértékben sajátjai, és nem feltétlenül tükrözik a BTC Inc. vagy a Bitcoin Magazine véleményét.
forrás: