­č窭čç░ Pochopenie Mithrilu

Pochopenie Mithrilu


Mithril je v prev├ídzke na hlavnej sieti Cardano. Vysvetl├şme si, ako Mithril funguje a na ─Źo je u┼żito─Źn├Ż.

Ned├┤verujte, overujte

Jedn├Żm zo z├íkladn├Żch princ├şpov decentraliz├ície je absencia tretej strany, ktorej mus├şte ako ├║─Źastn├şk syst├ęmu d├┤verova┼ą. Namiesto d├┤very m├íte mo┼żnos┼ą overi┼ą si v┼íetky inform├ície a z├şska┼ą tak jedin├║ verziu pravdy. To, ─Źo je v danom okamihu pravdiv├ę pre v├ís, je pravdiv├ę aj pre v┼íetk├Żch ostatn├Żch ├║─Źastn├şkov syst├ęmu.

Ak chcete by┼ą plnohodnotn├Żm ├║─Źastn├şkom siete blockchain, mus├şte spusti┼ą vlastn├Ż plnohodnotn├Ż uzol, ktor├Ż v├ím umo┼żn├ş overi┼ą hist├│riu v┼íetk├Żch transakci├ş. ─Żudia nie s├║ ochotn├ş spusti┼ą vlastn├Ż pln├Ż uzol a nie je to mo┼żn├ę ani na mobiln├Żch zariadeniach. Spustenie pln├ęho uzla je n├íro─Źn├ę na zdroje. Okrem toho si vy┼żaduje ─Źas a ur─Źit├ę technologick├ę zru─Źnosti.

Probl├ęm ─Źiasto─Źne vyrie┼íili tzv. ─żahk├ę uzly, ktor├ę namiesto cel├Żch blokov ukladaj├║ len hlavi─Źky blokov (ak├Żsi s├║hrn transakci├ş ka┼żd├ęho bloku). T├Żm sa zn├ş┼żili po┼żiadavky na ├║lo┼żisko, v├Żpo─Źtov├Ż v├Żkon a ┼í├şrku p├ísma. Nev├Żhodou v┼íak je, ┼że ─żahk├Ż uzol nem├┤┼że overova┼ą transakcie nez├ívisle od cel├ęho uzla. ─Żahk├ę uzly sa tie┼ż spoliehaj├║ na pln├ę uzly pri vysielan├ş svojich transakci├ş do siete a prij├şman├ş aktualiz├íci├ş stavu blockchainu.

─Żahk├ę uzly s├║ schopn├ę overova┼ą transakcie bez pln├Żch uzlov len vtedy, ak maj├║ d├┤veryhodn├Ż zdroj inform├íci├ş, napr├şklad kryptografick├Ż d├┤kaz alebo d├┤veryhodn├Ż kontroln├Ż bod. Niektor├ę ─żahk├ę uzly napr├şklad pou┼ż├şvaj├║ protokol zjednodu┼íen├ęho overovania platieb (SPV), ktor├Ż im umo┼ż┼łuje overova┼ą transakcie vy┼żiadan├şm d├┤kazu o zaraden├ş od pln├Żch uzlov. D├┤kaz o zaraden├ş je postupnos┼ą hlavi─Źiek blokov, ktor├ę sp├íjaj├║ transakciu s najnov┼í├şm blokom. ─Żahk├Ż uzol potom m├┤┼że skontrolova┼ą d├┤kaz so svojimi vlastn├Żmi hlavi─Źkami blokov a potvrdi┼ą, ┼że transakcia je platn├í a potvrden├í sie┼ąou.

Existuj├║ niektor├ę ─żahk├ę pe┼ła┼żenky, ktor├ę nie s├║ ─żahk├Żmi uzlami a komunikuj├║ so servermi len prostredn├şctvom propriet├írnych protokolov. Zvy─Źajne ide o online pe┼ła┼żenky alebo ├║schovn├ę pe┼ła┼żenky, ktor├ę uchov├ívaj├║ va┼íe s├║kromn├ę k─ż├║─Źe na svojich serveroch a spravuj├║ va┼íe transakcie za v├ís. Tieto pe┼ła┼żenky nekomunikuj├║ s blockchainom priamo, ale spoliehaj├║ sa pri tom na svoje vlastn├ę servery.

Aj ke─Ć pou┼ż├şvate hardv├ęrov├ę pe┼ła┼żenky Trezor alebo Ledger be┼żn├Żm sp├┤sobom, ste z├ívisl├ş od serverov tret├şch str├ín, ktor├ę s├║ pripojen├ę k pln├Żm uzlom jednotliv├Żch blockchainov.

Z├ívislos┼ą od tret├şch str├ín je v rozpore s ide├ílmi decentraliz├ície, preto┼że predstavuje potenci├ílne riziko cenz├║ry transakci├ş, zhroma┼ż─Ćovania ├║dajov, ├║niku s├║kromn├Żch inform├íci├ş alebo dokonca zmrazenia ├║─Źtov.

Je naivn├ę o─Źak├íva┼ą, ┼że ─żudia bud├║ kv├┤li decentraliz├ícii prev├ídzkova┼ą pln├ę uzly. Je potrebn├ę vytvori┼ą technologick├ę rie┼íenie, ktor├ę im pon├║kne v┼íetky v├Żhody pln├ęho uzla a ktor├ę bud├║ m├┤c┼ą pohodlne spusti┼ą na mobilnom telef├│ne.

Mithril umo┼żn├ş vytv├íra┼ą ned├┤veryhodn├Żch ─żahk├Żch klientov a aplik├ície DeFi, ktor├ę s├║ ├║plne nez├ívisl├ę od tret├şch str├ín z h─żadiska mo┼żnosti efekt├şvneho overovania ├║dajov na vlastnom zariaden├ş. Umo┼ż┼łuje tie┼ż r├Żchly bootstrapping uzlov a bezpe─Źn├║ synchroniz├íciu ├║dajov, decentralizovan├ę hlasovanie na z├íklade distrib├║cie podielov (on-chain governance), efekt├şvnu spr├ívu sidechainu, u─żah─Źuje v├Żvoj ┼ík├ílovate─żnej┼íieho blockchainu at─Ć.

Sch├ęma viacn├ísobn├ęho podpisu na z├íklade podielu (STM)

Mithril je v podstate podpisov├í sch├ęma, ktor├í umo┼ż┼łuje sieti Cardano generova┼ą kryptografick├ę certifik├íty. Tieto certifik├íty s├║ ─żahko overite─żn├Żm d├┤kazom, ┼że ich vytvorili (kryptograficky podp├şsali) ├║─Źastn├şci vlastniaci po┼żadovan├Ż po─Źet podielov (minc├ş).

Certifik├ít si m├┤┼żete predstavi┼ą ako spr├ívu, s ktorou s├║hlasia viacer├ş ├║─Źastn├şci (dr┼żitelia ADA) a akt├şvne ju potvrdzuj├║ svojimi (digit├ílnymi) podpismi, aby verejne deklarovali svoj s├║hlas. ├Ü─Źastn├şci m├┤┼żu svojimi podpismi v podstate potvrdi┼ą ak├║ko─żvek inform├íciu. Jedn├Żm z konkr├ętnych vyu┼żit├ş m├┤┼że by┼ą pravideln├ę vytv├íranie sn├şmok so stavom blockchainu.

Nie je nevyhnutn├ę, aby spr├ívu potvrdili v┼íetci ├║─Źastn├şci. Namiesto toho sa pri ka┼żdom generovan├ş nov├ęho certifik├ítu vyberie n├íhodn├í mno┼żina ├║─Źastn├şkov a vy┼żaduje sa, aby ho podp├şsala dostato─Źn├í podmno┼żina t├Żchto ├║─Źastn├şkov. Podobne ako v pr├şpade ved├║ceho slotu, ktor├Ż z├şskava pr├ívo na v├Żrobu nov├ęho bloku v danom slote, aj ├║─Źastn├şci Mithrilu sa vyberaj├║ n├íhodne.

Prahov├Ż multipodpis zalo┼żen├Ż na podiele (STM) je druh prahovej podpisovej sch├ęmy (TSS), ktor├í re┼ípektuje rozdelenie podielu (minc├ş) v sieti blockchain. TSS je syst├ęm, ktor├Ż umo┼ż┼łuje generovanie jedn├ęho digit├ílneho podpisu na z├íklade podpisov od viacer├Żch podpisovate─żov.

Ide o podobn├Ż koncept ako pri sch├ęme viacer├Żch podpisov K-of-N. V tejto sch├ęme napr├şklad 5 ├║─Źastn├şkov vlastn├ş s├║kromn├Ż k─ż├║─Ź, ktor├Ż mo┼żno pou┼żi┼ą na podp├şsanie spr├ívy. Ak spr├ívu podp├ş┼íu len 3 ├║─Źastn├şci, pova┼żuje sa za platn├║ (3-of-5).

Sch├ęma STM sa od sch├ęmy K-of-N l├ş┼íi t├Żm, ┼że po─Źet ├║─Źastn├şkov, ktor├ş m├┤┼żu podp├şsa┼ą certifik├ít, sa ur─Źuje na z├íklade po─Źtu registrovan├Żch ├║─Źastn├şkov (signat├írov) a ich podielu.

Ak viete, ako funguje be┼żn├Ż digit├ílny podpis, ktor├Ż pou┼ż├şvate napr├şklad pri vytv├íran├ş blockchainovej transakcie, ─żahko pochop├şte z├íkladn├ę princ├şpy fungovania STM.

STM je typ protokolu digit├ílneho podpisu, ktor├Ż umo┼ż┼łuje skupine ├║─Źastn├şkov kolekt├şvne podp├şsa┼ą spr├ívu (vytvori┼ą certifik├ít) bez toho, aby odhalili svoje individu├ílne s├║kromn├ę k─ż├║─Źe. Digit├ílny podpis je sp├┤sob, ako dok├íza┼ą pravos┼ą a integritu spr├ívy. Digit├ílny podpis sa zvy─Źajne generuje pou┼żit├şm matematickej funkcie na spr├ívu a s├║kromn├Ż k─ż├║─Ź podpisovate─ża. S├║kromn├Ż k─ż├║─Ź je tajn├í inform├ícia, ktor├║ pozn├í len podpisovate─ż, zatia─ż ─Źo verejn├Ż k─ż├║─Ź je s├║visiaca inform├ícia, ktor├║ m├┤┼że ktoko─żvek pou┼żi┼ą na overenie podpisu.

Pozn├ímka: Ni┼ż┼íie uveden├Ż obr├ízok lep┼íie pochop├şte, ke─Ć si v nasleduj├║cej ─Źasti pre─Ź├ştate o ├║loh├ích ├║─Źastn├şkov v sieti Mithril.

STM funguje tak, ┼że s├║kromn├Ż k─ż├║─Ź sa rozdel├ş na nieko─żko podielov a rozdel├ş sa medzi r├┤zne strany na z├íklade podielu (minc├ş ADA). Ka┼żd├í strana potom m├┤┼że pou┼żi┼ą svoj podiel na generovanie ─Źiasto─Źn├ęho podpisu spr├ívy bez toho, aby poznala cel├Ż s├║kromn├Ż k─ż├║─Ź. ─îiastkov├ę podpisy sa potom m├┤┼żu kombinova┼ą (agreg├ítorom) a vytvori┼ą platn├Ż podpis, ktor├Ż je nerozoznate─żn├Ż od podpisu vygenerovan├ęho ├║pln├Żm s├║kromn├Żm k─ż├║─Źom. V├Żhodou tohto pr├şstupu je, ┼że zvy┼íuje bezpe─Źnos┼ą a odolnos┼ą podpisov├ęho procesu, preto┼że ┼żiadna strana nem├┤┼że podp├şsa┼ą alebo kompromitova┼ą s├║kromn├Ż k─ż├║─Ź.

Ke─Ć┼że ide o prahov├║ podpisov├║ sch├ęmu, je potrebn├ę, aby sa na podpisovan├ş certifik├ítu z├║─Źastnilo po┼żadovan├ę kv├│rum podpisovate─żov. V opa─Źnom pr├şpade nie je mo┼żn├ę vytvori┼ą nov├Ż certifik├ít, ─Źo nie je probl├ęm, preto┼że sa to d├í urobi┼ą v ─Ćal┼íom kole s inou mno┼żinou n├íhodne vybran├Żch podpisovate─żov.

Podpisovatelia konaj├║ nez├ívisle jeden od druh├ęho a ka┼żd├Ż jednotliv├Ż podpis sa d├í overi┼ą. Jednotliv├ę podpisy sa sumarizuj├║ a je mo┼żn├ę vyrobi┼ą nov├Ż certifik├ít, ak sa dosiahla po┼żadovan├í prahov├í hodnota. Agregovan├Ż podpis je mo┼żn├ę overi┼ą vzh─żadom na glob├ílny verejn├Ż k─ż├║─Ź, ktor├Ż predstavuje mno┼żinu zainteresovan├Żch str├ín.

Generovanie certifik├ítov Mithril sa riadi nieko─żk├Żmi parametrami. Parameter ÔÇťmÔÇŁ definuje po─Źet lot├ęri├ş, ktor├ę m├┤┼że jeden ├║─Źastn├şk podp├şsa┼ą. Parameter ÔÇťkÔÇŁ definuje, ko─żko podpisov je potrebn├Żch na vytvorenie platn├ęho certifik├ítu. Parameter ÔÇť¤ćÔÇŁ definuje n├íhodnos┼ą v syst├ęme, ktor├í ovplyv┼łuje ┼íancu na v├Żhru v lot├ęrii a podp├şsanie certifik├ítu.

Vytvorenie certifikátu Mithril

Je definovan├Żch nieko─żko rol├ş, ktor├ę sa podie─żaj├║ na vytv├íran├ş certifik├ítu Mithril.

Podpisova─Ź Mithril je uzol, ktor├Ż funguje transparentne nad uzlami SPO Cardano. Pracuje v spojen├ş s agreg├ítorom Mithril. Podpisova─Ź Mithril generuje pre ka┼żd├║ epochu nov├Ż p├ír k─ż├║─Źov Mithril a podpisuje ich k─ż├║─Źmi KES. Overovacie k─ż├║─Źe (verejn├ę k─ż├║─Źe) sa potom vysielaj├║ v┼íetk├Żm ostatn├Żm podpisovate─żom v r├ímci siete Mithril. Podpisov├Ż uzol pravidelne overuje sn├şmky ├║pln├ęho stavu blockchainu Cardano a podpisuje tieto sn├şmky pomocou s├║kromn├ęho k─ż├║─Źa Mithril.

Agreg├ítor Mithril je ned├┤veryhodn├Ż uzol zodpovedn├Ż za organizovanie ─Źinnost├ş podpisovac├şch uzlov Mithril. Agreg├ítorov├Ż uzol riadi vytv├íranie nov├ęho certifik├ítu Mithril. Na tento ├║─Źel mus├ş agreg├ítor spolupracova┼ą s podpisuj├║cimi uzlami a koordinova┼ą ich. V┼íetky podpisovacie uzly v danom kole podp├ş┼íu cel├Ż stav blockchainu Cardano (snapshot) a po┼íl├║ podpisy agreg├ítorovi. Niektor├ş podpisovatelia nemusia by┼ą schopn├ş posla┼ą podpis (v├Żpadok, ├║tok at─Ć.). Ke─Ć agreg├ítor dostane dostato─Źn├Ż po─Źet podpisov, m├┤┼że vytvori┼ą certifik├ít Mithril na z├íklade spojenia v┼íetk├Żch podpisov dohromady (spojen├şm ─Źiastkov├Żch podpisov sa vytvor├ş ekvivalentn├Ż podpis, ako keby i┼ílo o certifik├ít podp├şsan├Ż s├║kromn├Żm k─ż├║─Źom).

Agreg├ítor uzlov archivuje v┼íetky sn├şmky a s├║visiace certifik├íty. Klienti m├┤┼żu tieto inform├ície z├şska┼ą z agreg├ítora uzlov a pracova┼ą s nimi, napr├şklad r├Żchlo zavies┼ą uzol a uzol.

Klient m├┤┼że z├şska┼ą sn├şmky a overi┼ą ich prostredn├şctvom certifik├ítov, preto┼że pou┼ż├şva rovnak├ę kryptografick├ę primit├şva Mithril ako podpisova─Źe a agreg├ítory. Klient m├┤┼że r├Żchlo overi┼ą pravos┼ą ├║dajov, t. j. integritu blockchainu.

Na obr├ízku ni┼ż┼íie m├┤┼żete vidie┼ą jednotliv├ę kroky, ktor├ę ved├║ k vytvoreniu certifik├ítu Mithril. Ide o zjednodu┼íen├║ podobu, ke─Ć┼że proces je o nie─Źo zlo┼żitej┼í├ş a zah┼Ľ┼ła viac krokov pre v┼íetk├Żch ├║─Źastn├şkov. Na obr├ízku je kv├┤li preh─żadnosti len jeden podpisovate─ż, ale v skuto─Źnosti ich je viac.

Je potrebn├ę si uvedomi┼ą, ┼że cel├Ż proces generovania certifik├ítov prebieha v jednotliv├Żch f├ízach.

V prvej, tzv. etabluj├║cej f├íze, sa uzly dohodn├║ na parametroch Mithil a skupine podpisovate─żov.

V druhej f├íze sa k─ż├║─Źe registruj├║ vo v┼íetk├Żch podpisuj├║cich uzloch. Na z├íklade v┼íetk├Żch registr├íci├ş sa v danom ─Źase vytvor├ş agrega─Źn├Ż overovac├ş k─ż├║─Ź.

Tretia f├íza sa naz├Żva prev├ídzkov├í a prebieha v cykloch. Za─Źiatok ka┼żd├ęho nov├ęho cyklu sa signalizuje prostredn├şctvom spr├ívy. Uskuto─Źn├ş sa sn├şmka s├║boru UTXO a od podpisovate─żov sa o─Źak├íva, ┼że spr├ívu podp├ş┼íu. Ka┼żd├Ż podpisovate─ż individu├ílne kontroluje, ─Źi je opr├ívnen├Ż spr├ívu podp├şsa┼ą. Pre ka┼żd├Ż platn├Ż podpis vytvor├ş d├┤kaz obsahuj├║ci podpis spr├ívy, overovac├ş k─ż├║─Ź, podiel a cesty strany v Merkleho strome.

Agrega─Źn├Ż uzol overuje podpisy od v┼íetk├Żch podpisovate─żov. Viacer├ę podpisy sa m├┤┼żu agregova┼ą do jedn├ęho certifik├ítu. Ak sa dosiahne kv├│rum, je mo┼żn├ę vytvori┼ą agregovan├Ż podpis zo v┼íetk├Żch jednotliv├Żch podpisov. Uzol vytvor├ş d├┤kaz pomocou agregovan├Żch k─ż├║─Źov, spr├ívy a vektora individu├ílnych d├┤kazov od ka┼żdej strany.

Individu├ílne podpisy sa vysielaj├║ v┼íetk├Żm stran├ím v sieti. Je to d├┤le┼żit├ę, preto┼że ka┼żd├í strana m├┤┼że nez├ívisle vyr├íba┼ą certifik├íty. Predov┼íetk├Żm strana, ktor├í vykon├íva agreg├íciu, nemus├ş ma┼ą ┼żiadne ┼ípecifick├ę znalosti, ani sa nepredpoklad├í, ┼że je ─Źestn├í. D├í sa poveda┼ą, ┼że agreg├íciu podpisov m├┤┼że vykona┼ą ak├íko─żvek tretia strana, ktor├í m├í pr├şstup k jednotliv├Żm podpisom. In├Żmi slovami, agreguj├║cim uzlom sa m├┤┼żu sta┼ą v┼íetci podpisovatelia alebo ak├Żko─żvek in├Ż uzol.

Potenciál technológie Mithril

Mithril predstavuje ve─żmi u┼żito─Źn├Ż primit├şv, ktor├Ż je potenci├ílne zauj├şmav├Ż pre v┼íetky existuj├║ce blockchainy. Pripojen├şm k─ż├║─Źov STM k jednotliv├Żm ├║─Źtom kryptomien je mo┼żn├ę, aby sa majitelia minc├ş kolekt├şvne a ├║plne decentralizovane podie─żali na certifik├ícii akejko─żvek spr├ívy.

Prostredn├şctvom parametrov je mo┼żn├ę jednoducho definova┼ą prah (1/2 alebo 2/3), ktor├Ż mus├ş by┼ą dosiahnut├Ż, aby sa kryptograficky preuk├ízalo, ┼że po┼żadovan├í skupina (stake) spr├ívu schva─żuje. Podpisovatelia m├┤┼żu spr├ívu podp├şsa┼ą individu├ílne a zverejni┼ą podpis prostredn├şctvom blockchainu. To je ve─żmi u┼żito─Źn├ę pre spr├ívu na re┼ąazci. Aj v pr├şpade Bitcoinu by bolo mo┼żn├ę, aby dr┼żitelia BTC ratifikovali napr├şklad aktualiz├íciu softv├ęru.

Mithril sa d├í pou┼żi┼ą na pravideln├ę vytv├íranie sn├şmok, t. j. archivovanie stavu blockchainu Cardano. To umo┼żn├ş ve─żmi r├Żchle spustenie uzla, preto┼że nie je potrebn├ę s┼ąahova┼ą cel├Ż blockchain a overova┼ą v┼íetky jednotliv├ę transakcie v hist├│rii. Klientovi sta─Ź├ş stiahnu┼ą v┼íetky snapshoty spolu s certifik├ítmi a overi┼ą ich. To je mo┼żn├ę v relat├şvne kr├ítkom ─Źase (nieko─żko min├║t) a hne─Ć potom m├┤┼że uzol overova┼ą najnov┼íie transakcie a bloky. In├Żmi slovami, by┼ą ─żahk├Żm klientom, ktor├Ż nie je z├ívisl├Ż od komunik├ície s plnohodnotn├Żm uzlom. V─Ćaka Mithrilu m├┤┼że ma┼ą ─żahk├Ż klient rovnak├ę zabezpe─Źenie ako pln├Ż uzol a po┼żiadavky na zdroje bud├║ tak├ę n├şzke, ┼że ─żahk├ęho klienta bude mo┼żn├ę spusti┼ą aj na mobilnom telef├│ne.

─Äal┼íie d├┤le┼żit├ę vyu┼żitie kryptografick├Żch primit├şv Mithril je pre sidechainy, preto┼że prenos akt├şv medzi sie┼ąami bude v├Żrazne jednoduch┼í├ş v─Ćaka mo┼żnosti r├Żchleho overenia najnov┼íieho glob├ílneho stavu.

Ako sme u┼ż spomenuli vy┼í┼íie, Mithril je vhodn├í technol├│gia na spr├ívu na re┼ąazci, preto┼że je mo┼żn├ę ─żahko organizova┼ą hlasovanie na z├íklade vlastn├şctva minc├ş. Hlasovanie nem├┤┼że by┼ą ┼żiadnym sp├┤sobom manipulovan├ę tre┼ąou stranou a nikomu nemo┼żno zabr├íni┼ą v hlasovan├ş, ke─Ć┼że ka┼żd├Ż light klient bude ├║plne nez├ívisl├Ż od tretej strany. V┼íetky v├Żsledky hlasovania bud├║ transparentne ulo┼żen├ę v blockchaine a ka┼żd├Ż si ich m├┤┼że overi┼ą.

Mithril bude d├┤le┼żit├Żm stavebn├Żm prvkom pre Ouroboros Leios (Input endorsers), ke─Ć┼że prostredn├şctvom certifik├ítov bude mo┼żn├ę predpripravi┼ą (pre-validova┼ą) bloky pred ich kone─Źn├Żm zaraden├şm do blockchainu.

Záver

Mithril mo┼żno pova┼żova┼ą za ve─żk├Ż krok vpred pre decentraliz├íciu, ke─Ć┼że ve─żk├í ─Źas┼ą pou┼ż├şvate─żov sa st├íle spolieha na tretie strany. ─Żudia chc├║ ma┼ą r├Żchle a lacn├ę transakcie na svojom mobilnom telef├│ne a to vo v├Ą─Ź┼íine pr├şpadov nie je mo┼żn├ę bez interakcie s plnohodnotn├Żm uzlom be┼żiacim na inom zariaden├ş. V├Ą─Ź┼íina ─żud├ş nechce a nikdy nebude ochotn├í spusti┼ą vlastn├Ż plnohodnotn├Ż uzol. Mithril umo┼żn├ş ned├┤veryhodn├║ Peer-to-Peer komunik├íciu z mobiln├ęho telef├│nu. In├Żmi slovami, v├í┼í telef├│n m├┤┼że komunikova┼ą len so sie┼ąou Cardano a ma┼ą bezpe─Źnos┼ą pln├ęho uzla.


P├┤vodn├Ż ─Źl├ínok: Understanding Mithril | Cardano Explorer (cexplorer.io)