Vysvetlenie modelu eUTXO Cardana ako pre päťročné dieťa
Cardano sa od Etherea zásadne líši svojím účtovným modelom. Zatiaľ čo Cardano používa rozšírený model UTXO (eUTXO), Ethereum používa účty. V tomto článku si zjednodušene vysvetlíme rozdiel medzi týmito prístupmi.
Účtovný model
Blockchain si môžete predstaviť ako účtovnú knihu, históriu účtovných záznamov, ktoré píše účtovník. Táto účtovná kniha je otvorená, takže všetky záznamy si môžu kedykoľvek pozrieť všetci účtovníci, ale aj všetci používatelia. Účtovníci budú v našej analógii predstavovať sieť. Predstavte si, že účtovníci sedia v banke a prichádzajú za nimi klienti (používatelia), ktorí ich žiadajú o vykonanie účtovných zápisov (transakcií). Všetci účtovníci majú jednu spoločnú účtovnú knihu, ktorú používajú na účtovné zápisy.
V blockchainových sieťach sú používatelia vlastníkmi mincí. Aj keď sú záznamy v účtovnej knihe, keď používatelia prídu za účtovníkom so žiadosťou o zmenu záznamu, musia ju potvrdiť odtlačkom palca (obdoba digitálneho podpisu transakcie). Predstavte si mince ADA a ETH ako kúsky papiera, ktoré používatelia vkladajú do drevenej krabičky (peňaženky). Kúsky papiera sú fyzicky v účtovnej knihe a spolu tvoria jednotlivé stránky účtovnej knihy, ale vďaka škatuľke si ich používatelia môžu pozrieť a odovzdať účtovníkovi, ak žiadajú vykonať zmenu záznamu (poslať transakciu).
Cardano a Ethereum sa líšia v spôsobe zápisu záznamov v účtovnej knihe, a teda aj v tom, ako klienti mince držia.
Cardano pracuje s mincami ADA podobne ako s bankovkami s tým rozdielom, že nominálna hodnota môže byť ľubovoľná. Napríklad 12 ADA, 3,5 ADA a 0,3 ADA. Používateľ má v krabičke 3 papieriky s týmito napísanými hodnotami (má 3 UTXO). To je spolu 15,8 ADA. Na rozdiel od Etherea má Cardano pridanú možnosť, že v krabici môže byť viacero menších políčok, ktoré obsahujú jednotlivé kúsky papiera (menšie políčka predstavujú adresy blockchainu). V jednej menšej škatuľke môže byť viac kusov papiera.
Ak by Alica chcela poslať Bobovi 14 ADA, musela by účtovníkovi dať 2 papiere s 12 ADA a 3,5 ADA. Účtovník by vytvoril nový papierik (nové UTXO) a napísal by naň 14 ADA. Tento papier by vložil do Bobovej schránky. Potom by vytvoril ďalší nový papierik s hodnotou 1,5 ADA, ktorý by vrátil do Alicinej škatuľky.
Keď účtovník dokončí zápis do účtovnej knihy (spracuje transakciu), Alica bude mať v škatuli 2 papieriky s hodnotou 0,3 ADA a 1,5 ADA. Bobova škatuľa bola pred vykonaním zápisu prázdna. Po zápise do účtovnej knihy bude mať 14 ADA.
Analógiu sme trochu zjednodušili. Účtovník by si za zápis do účtovnej knihy zobral poplatok (transakčný poplatok), povedzme 0,2 ADA, takže by do Alicinej schránky vrátil len 1,3 ADA.
V účtovnom modeli Ethereum majú používatelia v schránke vždy len jeden papierik so zapísanou hodnotou. Je to podobné ako aktuálny zostatok na bankovom účte. V prípade Cardano mala Alica v krabičke 15,8 ADA. Predpokladajme, že má 15,8 ETH v Ethereu, takže má vo svojej škatuľke jediný papierik s touto hodnotou.
V prípade Etherea, keď chce účtovník urobiť nový účtovný zápis, prepíše údaje na Alicinom a Bobovom kúsku papiera súčasne. Ak Alica pošle Bobovi 14 ETH, ako v predchádzajúcom príklade, účtovník prepíše hodnotu 15,8 na 1,8 na Alicinom kúsku papiera. Zároveň prepíše Bobov kus papiera a z hodnoty 0 urobí 14. V tomto príklade sme tiež vynechali poplatky účtovníka.
Príklady sme použili na to, aby sme ukázali, ako používatelia chodia k účtovníkom a žiadajú ich o vykonanie účtovného zápisu, čo je analogické s odoslaním transakcie. Veľmi podobne by to fungovalo, keby používatelia požiadali účtovníkov o zložitejšiu operáciu, napríklad o pôžičku alebo výmenu dvoch aktív (vykonanie inteligentných kontraktov).
Nový záznam v Ethereu sa vytvára prepísaním kusov papiera (zmena zostatku), zatiaľ čo v sieti Cardano sa vytvárajú samostatné nové kusy papiera, ktoré nadväzujú na predchádzajúce kusy papiera. Vytváranie nových kusov papiera namiesto ich prepisovania je kľúčovým rozdielom medzi účtovnými modelmi.
Rozdiel v používaní účtovnej knihy
Účtovný model ovplyvňuje spôsob, akým Cardano a Ethereum používajú účtovnú knihu, alebo ako môžu účtovníci vytvárať nové záznamy. Účtovník v sieti Ethereum musí pri vytváraní nového záznamu (alebo viacerých záznamov) vybrať účtovnú knihu z trezora a priniesť si ju na svoj stôl, aby mohol pracovať so všetkými schránkami naraz (zdieľaný globálny stav).
Economic and incentive model behind Cardano Proof-of-Stake
Ekonomický a motivačný model za Cardano Proof-of-Stake
Ekonomický a motivačný model sa často prehliada, čo je škoda, pretože je pravdepodobne najdôležitejšou súčasťou verejných decentralizovaných protokolov. Pozrime sa, prečo je tento model taký dôležitý a ako je Cardano Ouroboros Proof-of-Stake navrhnutý z pohľadu používateľov.
Aby mohol účtovník vykonať nový zápis, musí mať prehľad o všetkých schránkach a musí si byť istý, že v čase jeho zápisu sa iný účtovník nepokúsi vykonať zápis. Tým, že si účtovník vezme účtovnú knihu na svoj stôl, dáva ostatným účtovníkom signál, že teraz môže vykonávať zápisy len on.
Ostatní účtovníci v sieti nemôžu zadávať svoje zápisy do účtovnej knihy, pretože ju má pre seba iný účtovník. Nemôžu ani vopred pripraviť nové zápisy, pretože nevedia, aké nové zápisy sa budú v účtovnej knihe vykonávať. Keď sa účtovná kniha vráti do trezoru, môže si ju vziať iný účtovník. Všetci účtovníci sa môžu pozrieť na nové zápisy a overiť, či sú správne (overenie bloku).
Výhodou je, že účtovník, ktorý má knihu pre seba, môže vykonať akékoľvek zmeny vo všetkých kolónkach. Dokonca môže zmeniť (prepísať) doklad v jednom políčku aj viackrát za sebou. Nevýhodou je, že je dôležité poradie, v akom sa nové záznamy zapisujú. Ak účtovník zapíše 20 nových zápisov, ostatní účtovníci musia toto poradie rešpektovať. Jednotlivé zápisy sú navzájom závislé.
Môže sa stať, že v rade je viac používateľov, ktorí majú záujem o vykonanie zápisu do účtovnej knihy. Aj keď ich požiadavka bola v čase zaradenia do frontu platná, keď na nich príde rad, účtovník nemusí byť schopný požiadavku spracovať. Napriek tomu musí používateľ zaplatiť účtovníkovi poplatok za to, že sa pokúsil o spracovanie. Nemožnosť vykonať účtovnú operáciu je spôsobená tým, že bola závislá od políčok (kusov papiera v políčkach), ktoré sa zmenili, keď mal účtovnú knihu pre seba iný účtovník. Žiaľ, používatelia nemajú možnosť vopred si overiť, či ich požiadavka bude platná, ešte pred zaradením do frontu.
Účtovník v sieti Cardano si tiež musí vziať účtovnú knihu z trezoru na svoj stôl, keď chce vytvoriť nové záznamy, ale nebráni ostatným účtovníkom v ich práci. Účtovník nemusí sledovať všetky ostatné schránky, pretože pracuje len s tými hárkami, ktoré mu klient položil na stôl. Účtovník môže overiť platnosť požadovanej účtovnej operácie bez ohľadu na ostatné kolónky (žiadny globálny stav).
Klienti si môžu vopred overiť, či je ich požadovaná transakcia platná (off-chain validácia), a ak áno, môžu si byť istí, že keď sa zaradia do frontu, účtovník ich transakciu prijme a vykoná. Môžu si byť tiež istí, že poplatok zostane nezmenený.
Jednotlivé listy nie sú na sebe závislé, takže poradie zápisov, ktoré vykonáva účtovník, ktorý má účtovnú knihu pre seba, nie je dôležité. Keď účtovník vráti účtovnú knihu do trezoru, ostatní účtovníci môžu súbežne overovať zápisy.
Nezávislosť konkrétnej účtovnej operácie od ostatných schránok (listov v schránkach) má tú výhodu, že ak prešla lokálnym overením používateľa, je takmer isté, že bude úspešná. Používateľ sa môže sám zahrať na účtovníka a zistiť, či je jeho požiadavka platná. To je dôležité najmä pri zložitejších operáciách, ako sú pôžičky a výmena aktív (inteligentné kontrakty).
Nevýhodou je, že najmä pri zložitejších účtovných operáciách môžu chcieť na tom istom papieri pracovať dvaja účtovníci súčasne, ale uspieť môže len jeden z nich. V niektorých prípadoch je potrebné zaviesť nejakú špeciálnu synchronizáciu medzi účtovníkmi.
V súčasnosti pracujú účtovníci v sieti Cardano podobne ako v sieti Ethereum. Hlavný rozdiel spočíva v tom, že účtovníci na svoju prácu nepotrebujú poznať kontext všetkých papierov v schránkach ostatných používateľov. Princíp vytvárania novej sady záznamov a následného overovania je podobný tomu, ako sa to robí v sieti Ethereum. Jeden zvolený účtovník si z trezoru vezme účtovnú knihu na svoj stôl a vytvorí nové záznamy. Väčšie rozdiely uvidíme pri prechode na novú verziu konsenzu PoS Ouroboros.
Možnosti škálovateľnosti vzhľadom na účtovný model
Účtovníci v sieti Ethereum nemôžu pracovať paralelne na jednotlivých účtovných operáciách. V každom okamihu môže účtovnú knihu z trezoru vybrať len jeden účtovník. Potom môže bezpečne pracovať so všetkými listinami v schránkach. Keďže ostatní účtovníci musia vždy sledovať posledný zápis v účtovnej knihe, aby mohli pokračovať v práci, nemôžu pracovať s klientmi, ktorí čakajú v rade. Vždy musia počkať, kým sa účtovná kniha vráti do trezoru, aby sa mohli pozrieť na predchádzajúce zápisy. Tie musia potvrdiť a až potom môže jeden ďalší účtovník začať pracovať s ďalšími klientmi v poradí. To v podstate znemožňuje paralelné spracovanie účtovných operácií a je hlavnou prekážkou škálovateľnosti.
V sieti Cardano bude možné, aby viacerí účtovníci pracovali súčasne a každý z nich môže spracovávať požiadavky klientov vo svojom vlastnom fronte. Táto schopnosť sa bude využívať v konsenze PoS s názvom Leios. V sieti Cardano budú môcť účtovníci vopred pripraviť účtovné záznamy pre jedného hlavného účtovníka, ktorý bude pripravené záznamy kontrolovať.
Keď si účtovník prevezme účtovnú knihu pre seba, vždy zapíše ďalšie nové záznamy (vytvorí nový blok). Tým sa vytvorí zoznam zápisov, ktoré potom musia overiť ostatní účtovníci (konsenzus siete). Tento proces zvyčajne trvá určitý čas (čas bloku) a počet nových záznamov je obmedzený (veľkosť bloku). Účtovníci sa striedajú pri zdieľaní účtovnej knihy približne v 20-sekundových intervaloch. Aj keď účtovník pracuje napríklad jednu sekundu, zvyšok času trvá ostatným účtovníkom overenie zápisov.
Cardano umožní vybranému účtovníkovi (prípadne viacerým účtovníkom) pripraviť nové zápisy každú jednu sekundu a potom nechá hlavného účtovníka vykonať hlavnú kontrolu (nájsť a vyradiť pokusy o dvojité výdavky, odstrániť duplicity atď.) To je možné len vďaka tomu, že práca jednotlivých účtovníkov je do značnej miery nezávislá od výsledku práce ostatných účtovníkov a hlavného účtovníka. Nezávislosť vyplýva zo skutočnosti, že listy papiera v škatuliach sú na sebe nezávislé.
V sieti Ethereum sa bude musieť škálovateľnosť riešiť inak. Nemožno použiť rovnaký prístup, pretože práca jednotlivých účtovníkov je vzájomne závislá. Každý účtovník musí presne vedieť, čo urobil ten predchádzajúci. Tieto informácie však nemusia mať k dispozícii kvôli času, ktorý je potrebný na šírenie údajov v sieti. Obmedzením je potreba uzamknutia účtovnej knihy pre jedného účtovníka, ktorý potrebuje pracovať so všetkými schránkami, a nemožnosť ostatných účtovníkov robiť medzitým niečo užitočné. Vytvorenie a následné overenie nových záznamov (blok) trvá 20 sekúnd a počas tohto času môže pracovať len jeden účtovník. Zvyšok účtovníkov je nečinný.
Záver
Dúfame, že vám naša analógia pomohla pochopiť rozdiel v účtovných modeloch Cardano a Ethereum. Rozdiel nie je na prvý pohľad až taký veľký, ale v skutočnosti účtovný model ovplyvňuje škálovateľnosť, predvídateľnosť výsledku požadovanej účtovnej operácie, predvídateľnosť výšky poplatkov, bezpečnosť atď.
(Napísal @Cardanians.io) - preklad @Martin.M
Pôvodný článok: Explaining Cardano’s eUTXO model for a five-year-old | Cardanians