­č窭čç░ Cardano: robustn├ę, odoln├ę a flexibiln├ę

Cardano: robustn├ę, odoln├ę a flexibiln├ę

V─Ćaka modul├írnemu pr├şstupu zalo┼żen├ęmu na parametroch bolo Cardano navrhnut├ę s oh─żadom na skuto─Źn├║ ┼ík├ílovate─żnos┼ą

Cardano: robustn├ę, odoln├ę - a flexibiln├ę

Cardano je navrhnut├ę tak, aby mohlo sl├║┼żi┼ą mili├│nom pou┼ż├şvate─żov glob├ílne distribuovan├Żm sp├┤sobom. Rovnako ako pri ka┼żdom inom decentralizovanom blockchaine to znamen├í, ┼że mus├şme vytv├íra┼ą predv├şdate─żn├Ż a konzistentn├Ż pr├şsun nov├Żch blokov, ktor├ę kolekt├şvne zv├Ą─Ź┼íuj├║ re┼ąazec a transparentne zaznamen├ívaj├║ transakcie medzi pou┼ż├şvate─żmi. Aby sa zabezpe─Źilo efekt├şvne a bezpe─Źn├ę ┼í├şrenie nov├Żch blokov v celej sieti, je d├┤le┼żit├ę, aby syst├ęm efekt├şvne vyu┼ż├şval v├Żpo─Źtov├ę, pam├Ą┼ąov├ę, ├║lo┼żn├ę a sie┼ąov├ę zdroje.

Flexibilita je k─ż├║─Źov├í, tak┼że d├┤le┼żitou vlastnos┼ąou protokolu Cardano je, ┼że bol navrhnut├Ż s oh─żadom na skuto─Źn├║ ┼ík├ílovate─żnos┼ą. Nejde len o dlhodobej┼íiu schopnos┼ą poskytn├║┼ą infra┼ítrukt├║ru do skuto─Źne glob├ílneho, plne decentralizovan├ęho opera─Źn├ęho syst├ęmu; jeho pr├şstup k parametriz├ícii je tie┼ż navrhnut├Ż tak, aby sa flexibilne prisp├┤soboval napr├şklad cenov├Żm v├Żkyvom, nas├Żteniu siete alebo zv├Ż┼íen├ęmu dopytu. K dispoz├şcii je mno┼żstvo parametrov protokolu, ktor├ę umo┼ż┼łuj├║ vyladi┼ą spr├ívanie syst├ęmu bez potreby hard fork . Aj v takom pr├şpade sa daj├║ v├Żraznej┼íie aktualiz├ície, ktor├ę si to vy┼żaduj├║, ┼íikovne zvl├ídnu┼ą pomocou na┼íej technol├│gie hard fork combinator (HFC). Spolu s├║ to v├Żznamn├ę odli┼ínosti pre Cardano, ktor├ę n├ím dnes poskytuj├║ robustnos┼ą a spo─żahlivos┼ą a ve─żmi agiln├ę cesty aktualiz├ície, ke─Ć sie┼ą rastie a jej pou┼ż├şvanie sa vyv├şja.

Pl├ín Cardano bol tie┼ż koncipovan├Ż v s├ęrii et├íp, ktor├ę n├ís krok za krokom prived├║ k n├í┼ímu kone─Źn├ęmu cie─żu. Byron sa t├Żkal z├íkladn├Żch transak─Źn├Żch schopnost├ş v r├ímci federat├şvnej siete. To n├ím dalo mo┼żnos┼ą za─Źa┼ą budova┼ą komunitu a partnerstv├í a z├írove┼ł pracova┼ą na ─Ćal┼íej etape. Re┼ítart Byronu n├ím poskytol pevn├ę z├íklady na budovanie ─Ćal┼í├şch schopnost├ş, zatia─ż ─Źo Shelley zaviedol stake pooly, ─Ćalej roz┼í├şril komunitu a zaviedol 100 % decentralizovan├║ produkciu blokov.

Tento rok sme predstavili nieko─żko nov├Żch, ve─żmi o─Źak├ívan├Żch funkci├ş. Od za─Źiatku roka 2021, s ├ęrou Mary, Cardano podporuje vytv├íranie multi-assets a non-fungible tokenov (NFT) v ├║─Źtovnej knihe. V─Ćaka n├şzkym poplatkom a bez potreby inteligentn├Żch kontraktov sme v tejto vzru┼íuj├║cej oblasti zaznamenali expl├│ziu aktivity. Septembrov├í aktualiz├ícia Alonzo priniesla podporu inteligentn├Żch zml├║v Plutus, ktor├ę umo┼ż┼łuj├║ v├Żvoj ┼íirokej ┼ík├íly decentralizovan├Żch aplik├íci├ş (DApps). V oblasti inteligentn├Żch zml├║v je e┼íte relat├şvne skoro, ale s desiatkami projektov pracuj├║cich na DApps a viacer├Żmi, ktor├ę sa bl├ş┼żia k f├íze nasadenia, sa situ├ícia ─Źoskoro za─Źne zr├Żch─żova┼ą. Tieto nov├ę mo┼żnosti ovplyv┼łuj├║ sp├┤sob, ak├Żm ├║─Źtovn├í kniha spracov├íva nov├ę skripty a transakcie, a klad├║ nov├ę n├íroky na dostupn├ę zdroje. S rast├║cou aktivitou n├ím na┼ía architekt├║ra umo┼żn├ş pru┼żnos┼ą a prisp├┤sobenie sa pod─ża potreby.

Kapacita siete

Siete s├║ z├íkladom v┼íetk├Żch oper├íci├ş Cardano. Sie┼ą Cardano rozde─żuje transakcie a bloky medzi glob├ílne distribuovan├ę uzly, ktor├ę vytv├íraj├║ a overuj├║ blockchain. Toto sa naz├Żva roz┼íirovanie ├║dajov a je nevyhnutn├ę na poskytovanie potrebn├Żch inform├íci├ş uzlom, aby mohol algoritmus konsenzu prij├şma┼ą rozhodnutia. Tieto rozhodnutia poh├í┼łaj├║ re┼ąazec vpred, preto┼że konsenzus medzi uzlami zabezpe─Źuje, ┼że v┼íetky transakcie s├║ overen├ę, validovan├ę, a teda m├┤┼żu by┼ą transparentne zahrnut├ę do nov├ęho bloku.

Cardano je zalo┼żen├ę na decentralizovanom konsenzu├ílnom protokole Ouroboros Praos. Cardano plynule pre┼ílo na Praos z predch├ídzaj├║ceho federat├şvneho protokolu Ouroboros Classic prostredn├şctvom s├ęrie zmien parametra protokolu d . Protokol Ouroboros Praos zav├ídza zv├Ż┼íen├ę bezpe─Źnostn├ę z├íruky a bol dodan├Ż s recenzovan├Żmi v├Żskumn├Żmi pr├ícami prezentovan├Żmi na ┼ípi─Źkov├Żch konferenci├ích a ─Źasopisoch o kybernetickej bezpe─Źnosti a kryptografii.

Sie┼ąov├Ż v├Żkon ovplyv┼łuje r├Żchlos┼ą fungovania syst├ęmu ako celku. Zah┼Ľ┼ła tak├ę opatrenia, ako napr:

  • priepustnos┼ą (objem prenesen├Żch ├║dajov)
    ─Źasovos┼ą (─Źas prijatia bloku)

Tieto dve po┼żiadavky s├║ vo vz├íjomnom nap├Ąt├ş. Priepustnos┼ą m├┤┼żeme maximalizova┼ą vtedy, ke─Ć s├║ generovan├ę bloky vyu┼ż├şvan├ę ─Źo najefekt├şvnej┼íie. To zase predpoklad├í dostato─Źn├║ vyrovn├ívaciu pam├Ą┼ą na skrytie oneskorenia , ─Źo zmier┼łuje d├┤sledky glob├ílne distribuovan├ęho syst├ęmu.

Viac vyrovn├ívacej pam├Ąte m├┤┼że ─Źasto znamena┼ą lep┼íie vyu┼żitie blokov (a siete), ale je to za cenu zv├Ż┼íen├ęho oneskorenia (─Źasu na prijatie v re┼ąazci), ke─Ć je syst├ęm silne nas├Żten├Ż.

Blokov├Ż rozpo─Źet

Aby sme pochopili, ako r├Żchlo sa daj├║ vykon├íva┼ą transakcie a skripty v syst├ęme Cardano, mali by sme najprv definova┼ą pojem block budget . Celkov├í ve─żkos┼ą bloku je v s├║─Źasnosti obmedzen├í na maxim├ílne 64 KB, ─Źo predstavuje rovnov├íhu medzi zabezpe─Źen├şm dobr├ęho vyu┼żitia siete a minimaliz├íciou oneskorenia transakci├ş. Jeden blok m├┤┼że obsahova┼ą zmes transakci├ş vr├ítane transakci├ş so skriptami Plutus (inteligentn├ę kontrakty), nat├şvnymi tokenmi, metad├ítami a jednoduch├Żmi transakciami ada (platby). Podobne je jedna transakcia v s├║─Źasnosti obmedzen├í na maxim├ílne 16 kB. To zabezpe─Źuje, ┼że jeden blok bude v┼żdy obsahova┼ą viacero transakci├ş (minim├ílne 4, ale spravidla ove─ża viac), ─Ź├şm sa zlep┼í├ş celkov├í priepustnos┼ą transakci├ş.

─îasov├Ż rozpo─Źet bloku je ─Ćal┼íia vlastnos┼ą, ktor├í predstavuje pevne stanoven├Ż ─Źas, ktor├Ż je k dispoz├şcii na spracovanie v┼íetk├Żch transakci├ş obsiahnut├Żch v jednom bloku. Tento ─Źas je rozdelen├Ż medzi ─Źas, ktor├Ż mo┼żno pou┼żi┼ą na vykonanie skriptu Plutus, a ─Źas, ktor├Ż je k dispoz├şcii na vykonanie in├Żch transakci├ş. T├íto vlastnos┼ą zabezpe─Źuje, ┼że transakcie so skriptami Plutus nem├┤┼żu monopolizova┼ą dostupn├Ż ─Źasov├Ż rozpo─Źet a syst├ęm bude m├┤c┼ą v┼żdy spracova┼ą jednoduch├ę platby v tom istom bloku, ktor├Ż obsahuje skripty Plutus. Celkov├Ż ─Źasov├Ż rozpo─Źet na vytvorenie ka┼żd├ęho bloku (vr├ítane sie┼ąov├Żch n├íkladov) je nastaven├Ż na 1 sekundu, pri─Źom na vykon├ívanie skriptov Plutus je k dispoz├şcii rozpo─Źet pribli┼żne 50 milisek├║nd. V praxi je to ve─żkorys├Ż pr├şspevok - na┼íe porovn├ívacie testy uk├ízali, ┼że mnoh├ę skuto─Źn├ę skripty sa na referen─Źnom syst├ęme vykonaj├║ za 1 milisekundu alebo menej.

─îasov├Ż rozpo─Źet bloku je v s├║─Źasnosti nastaven├Ż na 1 sekundu. Z bezpe─Źnostn├Żch d├┤vodov konsenzu├ílny protokol Praos vyber├í len mal├║ ─Źas┼ą (jeden z 20) blokov, ktor├ę by mohli by┼ą potenci├ílne pridan├ę do re┼ąazca. Pri s├║─Źasn├Żch parametroch protokolu je potom maxim├ílna priepustnos┼ą transakci├ş (pre jednoduch├ę transakcie) pribli┼żne 11 transakci├ş za sekundu (TPS). Je zrejm├ę, ┼że r├┤zne transakcie sa bud├║ l├ş┼íi┼ą ve─żkos┼ąou a bud├║ ma┼ą r├┤zne efekt├şvne u┼żito─Źn├ę za┼ąa┼żenie. Jedin├í transakcia by mohla napr├şklad dokon─Źi┼ą cel├ę kolo hlasovania v Catalyst, ─Ź├şm by sa previedla hodnota v hodnote mili├│nov dol├írov.

Ako bolo uveden├ę vy┼í┼íie, ka┼żd├Ż blok je naplnen├Ż mno┼żstvom transakci├ş, ktor├ę odoslali koncov├ş pou┼ż├şvatelia z pe┼ła┼żeniek, rozhrania pr├şkazov├ęho riadka (CLI) at─Ć. Tieto transakcie sa uchov├ívaj├║ v do─Źasnej oblasti na uchov├ívanie v pam├Ąti ( pam├Ą┼ąov├Ż fond ), k├Żm nie s├║ pripraven├ę na spracovanie a zaradenie do bloku. ─îakaj├║ce transakcie sa z mempoolu odstr├ínia, ke─Ć je blok vy┼ąa┼żen├Ż, a potom sa do mempoolu m├┤┼żu prida┼ą nov├ę transakcie. Pou┼żit├şm mempoolu s pevnou ve─żkos┼ąou sa vyhneme mo┼żnosti pre┼ąa┼żenia uzlov po─Źas obdob├ş vysok├ęho dopytu, ─Źo v┼íak znamen├í, ┼że m├┤┼że by┼ą potrebn├ę, aby pe┼ła┼żenka alebo aplik├ícia op├Ątovne odoslala transakcie. Ve─żkos┼ą mempoolu je v s├║─Źasnosti nastaven├í na 128 KB: dvojn├ísobok aktu├ílnej ve─żkosti bloku. T├íto hodnota bola zvolen├í na z├íklade modelov vytv├írania front.

Roz┼ąahovanie siete

Syst├ęm Ouroboros je navrhnut├Ż tak, aby zvl├ídal ve─żk├Ż objem ├║dajov, ako aj transakcie a skripty r├┤znej zlo┼żitosti a ve─żkosti. V s├║─Źasnosti a pri s├║─Źasn├Żch parametroch vyu┼ż├şva sie┼ą Cardano v priemere len pribli┼żne 25 % svojej kapacity. Samozrejme, najefekt├şvnej┼í├şm scen├írom je, ┼że Cardano be┼ż├ş na 100 % alebo takmer na 100 % svojej kapacity (sie┼ą je nas├Żten├í). Zatia─ż ─Źo mnoh├ę sie┼ąov├ę rie┼íenia by za tak├Żchto podmienok trpeli, Ouroboros aj sie┼ąov├Ż z├ísobn├şk Cardano boli navrhnut├ę tak, aby boli f├ęrov├ę a vysoko odoln├ę aj pri ve─żkom nas├Żten├ş. Anal├Żza porovn├ívac├şch testov ukazuje, ┼że pri 200 % nas├Żten├ş je celkov├Ż v├Żkon st├íle odoln├Ż a nedoch├ídza k ┼żiadnym v├Żpadkom siete. Aj pri z├í┼ąa┼żovom testovan├ş pod 44-n├ísobn├Żm nas├Żten├şm celkov├í dostupn├í kapacita siete tie┼ż nevykazuje ┼żiadne zlyhania (hoci niektor├ę transakcie m├┤┼żu by┼ą mierne oneskoren├ę). Sie┼ą je navrhnut├í tak, aby fungovala t├Żmto sp├┤sobom, pri─Źom na riadenie celkov├ęho za┼ąa┼żenia syst├ęmu vyu┼ż├şva sp├Ątn├Ż tlak. Tak┼że hoci niektor├ş jednotliv├ş pou┼ż├şvatelia, ktor├ş sa z├║─Źast┼łuj├║ na ve─żkom poklese NFT, m├┤┼żu napr├şklad zaznamena┼ą dlh┼íie ─Źakanie na svoje transakcie alebo musia op├Ątovne odosla┼ą pr├şle┼żitostn├║ transakciu z ve─żkej d├ívky (alebo rozlo┼żi┼ą poklesy na dlh┼íie ─Źasov├ę obdobie), neznamen├í to, ┼że sie┼ą ÔÇťz├ípas├şÔÇŁ. V skuto─Źnosti to znamen├í, ┼że sie┼ą funguje tak, ako m├í. Naz├Żvame to ÔÇťgraceful degradationÔÇŁ a m├┤┼żete si o tom viac pre─Ź├şta┼ą v dokumente o n├ívrhu siete.

Pe┼ła┼żenky

Pe┼ła┼żenky konaj├║ v mene koncov├Żch pou┼ż├şvate─żov, aby do blockchainu odosielali platby a in├ę transakcie a sledovali stav blockchainu. Jednou z k─ż├║─Źov├Żch slu┼żieb, ktor├ę pe┼ła┼żenka poskytuje, je predkladanie transakci├ş v mene pou┼ż├şvate─ża, potvrdzovanie, ┼że boli prijat├ę do blockchainu, a ich opakovanie v jeho mene, ak sa predlo┼żenie nepodarilo. To znamen├í, ┼że pe┼ła┼żenka by mala bra┼ą do ├║vahy ├║─Źinky sp├Ątn├ęho tlaku v sieti, ke─Ć sa nas├Żti, ako aj in├ę ├║─Źinky siete (do─Źasn├ę odpojenie, mo┼żn├ę rozvetvenie re┼ąazca at─Ć.). Pe┼ła┼żenky m├┤┼żu by┼ą bu─Ć:

  • Full-node pe┼ła┼żenky (ako Daedalus), ktor├ę vyu┼ż├şvaj├║ miestne v├Żpo─Źtov├ę a sie┼ąov├ę zdroje na prev├ídzku uzla, ktor├Ż sa prip├íja priamo k sieti Cardano.
  • Light wallets : tie naopak vyu┼ż├şvaj├║ zdie─żan├ę v├Żpo─Źtov├ę a sie┼ąov├ę zdroje na obsluhu viacer├Żch koncov├Żch pou┼ż├şvate─żov.

Po─Źas obdob├ş vysok├ęho dopytu (napr. v├Żpredaj NFT) m├┤┼żu oba typy pe┼ła┼żeniek potrebova┼ą opakova┼ą transakcie. Ke─Ć┼że zdie─żaj├║ zdroje medzi mnoh├Żmi pou┼ż├şvate─żmi, ─żahk├ę pe┼ła┼żenky m├┤┼żu potrebova┼ą do─Źasne ┼ík├ílova┼ą dostupn├ę v├Żpo─Źtov├ę a sie┼ąov├ę zdroje (vr├ítane replik├ície koncov├Żch bodov), aby sa zabezpe─Źilo uspokojenie dopytu pou┼ż├şvate─żov. Toto ┼ík├ílovanie dopytu je podobn├ę po┼żiadavk├ím, ktor├ę sa klad├║ napr├şklad pri vydan├ş popul├írneho nov├ęho produktu spolo─Źnos┼ąou. Naopak, pe┼ła┼żenky s pln├Żmi uzlami m├┤┼żu by┼ą v podstate nedotknut├ę. Transakcie sa m├┤┼żu mierne oneskori┼ą, ale ka┼żd├í pe┼ła┼żenka bude ma┼ą vyhraden├ę zdroje, ktor├ę s├║ potrebn├ę na opakovanie podania, vr├ítane vlastn├Żch sie┼ąov├Żch pripojen├ş. Podobn├ę princ├şpy platia aj pre poskytovate─żov DApp - ak sa poskytuj├║ ┼ípecifick├ę sie┼ąov├ę koncov├ę body, syst├ęmov├ę zdroje by mali by┼ą ┼ík├ílovan├ę tak, aby vyhovovali dopytu.

Optimalizácia procesu

Prirodzene v├ştame inov├ície (a dial├│g), ktor├Żch sme v s├║─Źasnosti svedkami v komunite NFT. Na zlep┼íenie pou┼ż├şvate─żsk├ęho z├í┼żitku je potrebn├ę optimalizova┼ą v├Żvojov├ę postupy tak, aby napr├şklad proces tvorby NFT fungoval dobre aj vtedy, ke─Ć sp├┤sobuje nas├Żtenie syst├ęmu. Mnoh├ş tvorcovia NFT pou┼ż├şvaj├║ napr├şklad d├ívkov├ę razenie na zv├Ż┼íenie efektivity.

Odpor├║─Źame tvorcom, aby sa pozreli na to, ako m├┤┼żu pokra─Źova┼ą v optimaliz├ícii vlastn├ęho ├║silia s cie─żom minimalizova┼ą pre┼ąa┼żenie siete. Taktie┼ż by sme chceli vyzva┼ą v┼íetk├Żch, aby sa zapojili do diskusi├ş na Discorde ako s├║─Źas┼ą na┼íej komunity tvorcov a dali sme k dispoz├şcii na┼íich in┼żinierov, aby sme na┼íli najlep┼íie zodpovedaj├║ce rie┼íenie pre konkr├ętny pr├şpad.

Okrem flexibility, ktor├║ poskytuj├║ ├║pravy parametrov - ktor├ę je mo┼żn├ę v pr├şpade potreby vykona┼ą v r├ímci epochy - v strednodobom a dlhodobom horizonte, vst├║pia do hry aj ─Ćal┼íie mo┼żnosti. Syst├ęm Hydra umo┼ż┼łuje paraleln├ę vykon├ívanie viacer├Żch oper├íci├ş, ─Źo poskytuje zv├Ż┼íen├║ ┼ík├ílovate─żnos┼ą. Jej state-channel solutions zvy┼íuje priepustnos┼ą syst├ęmu, ─Ź├şm sa tie┼ż zni┼żuj├║ n├íroky na vykon├ívanie v re┼ąazci. Hoci v┼íak Hydra pom├íha pri viacer├Żch pr├şpadoch pou┼żitia ┼ík├ílovate─żnosti, nerie┼íi ┼ípecificky efekt├şvnos┼ą vytv├írania NFT. Ke─Ć┼że Cardano na─Ćalej dozrieva a rastie, budeme sa na─Ćalej zaobera┼ą t├Żm, ako optimalizova┼ą sie┼ą a riadi┼ą jej kapacitu. Ako som ned├ívno hovoril v na┼íej okt├│brovej aktualiz├ícii v polovici mesiaca, ke─Ć sie┼ą za─Źne fungova┼ą s vy┼í┼íou kapacitou, budeme m├┤c┼ą tieto parametre Cardana vyladi┼ą pod─ża potreby. Napr├şklad zn├ş┼żi┼ą ─Źasov├Ż rozpo─Źet blokov, optimalizova┼ą ve─żkos┼ą a ─Źas vykon├ívania skriptov Plutus alebo zn├ş┼żi┼ą n├íklady na ich vykon├ívanie a zlep┼íi┼ą priepustnos┼ą.


(Nap├şsal Kevin Hammond z IOHK) - preklad @Martin.M
P├┤vodn├Ż ─Źl├ínok: Cardano: robust, resilient ÔÇô and flexible