🇨🇿 Pochopení Mithril technologie

Mithril je aktivní v Cardano mainnetu. Pojďme si vysvětlit, jak Mithril funguje a k čemu je užitečný.

Nedůvěřuj, prověřuj

Jedním ze základních principů decentralizace je absence třetí strany, které jako účastník systému musíte věřit. Místo důvěry máte možnost si všechny informace ověřit a získat tak jedinou verzi pravdy. To, co v daném okamžiku platí pro vás, platí také pro všechny ostatní účastníky systému.

Pokud chcete být plnohodnotným účastníkem blockchainové sítě, musíte provozovat svůj vlastní úplný uzel, který vám umožní ověřit historii všech transakcí. Lidé nejsou ochotni provozovat vlastní full node a na mobilních zařízeních to ani nejde. Spuštění plného uzlu je náročné na zdroje. Navíc to vyžaduje čas a určité technologické dovednosti.

Problém částečně vyřešily tzv. lehké uzly, které místo celých bloků ukládají pouze hlavičky bloků (jakýsi souhrn transakcí každého bloku). To snížilo požadavky na úložiště, výpočetní výkon a šířku pásma. Nevýhodou však je, že lehký uzel nemůže ověřovat transakce nezávisle na úplném uzlu. Lehké uzly také spoléhají na úplné uzly, které vysílají své transakce do sítě a přijímají aktualizace o stavu blockchainu.

Lehké uzly jsou schopny ověřovat transakce bez úplných uzlů pouze v případě, že mají důvěryhodný zdroj informací, jako je kryptografický důkaz nebo důvěryhodný kontrolní bod. Některé lehké uzly například používají protokol SPV (Simplified Payment Verification), který jim umožňuje ověřovat transakce tím, že si vyžádají důkaz o zařazení od úplných uzlů. Důkazem o zařazení je sekvence hlaviček bloků, které spojují transakci s nejnovějším blokem. Light uzel pak může zkontrolovat důkaz proti vlastním hlavičkám bloků a potvrdit, že transakce je platná a potvrzená sítí.

Existují některé lehké peněženky, které nejsou lehkými uzly a komunikují se servery pouze prostřednictvím proprietárních protokolů. Obvykle se jedná o online peněženky nebo custodial peněženky, které ukládají vaše soukromé klíče na svých serverech a spravují vaše transakce za vás. Tyto peněženky neinteragují přímo s blockchainem, ale spoléhají na své vlastní servery.

I když používáte hardwarové peněženky Trezor nebo Ledger obvyklým způsobem, jste závislí na serverech třetích stran, které jsou připojeny k úplným uzlům jednotlivých blockchainů.

Závislost na třetích stranách je v rozporu s ideály decentralizace, protože představuje potenciální riziko cenzury transakcí, sběru dat, úniku soukromých informací nebo dokonce zmrazení účtu.

Je naivní očekávat, že lidé budou kvůli decentralizaci provozovat plné uzly. Je potřeba vytvořit technologické řešení, které jim nabídne všechny výhody plného uzlu a které budou moci pohodlně provozovat na mobilním telefonu.

Mithril umožní vytvářet důvěryhodné lehké klienty a DeFi aplikace, které jsou zcela nezávislé na třetích stranách z hlediska možnosti efektivně ověřovat data na vlastním zařízení. Umožňuje také rychlé zavádění uzlů a bezpečnou synchronizaci dat, decentralizované hlasování na základě rozdělení stake (správa on-chain), efektivní správu sidechainu, usnadňuje vývoj škálovatelnějšího blockchainu atd.

Stake-based Threshold Multi-signature scheme (STM)

Mithril je v podstatě podpisové schéma, které umožňuje síti Cardano generovat kryptografické certifikáty. Tyto certifikáty jsou snadno ověřitelným důkazem, že byly vytvořeny (kryptograficky podepsány) účastníky vlastnícími požadovanou výši stake (coinů).

Certifikát si můžete představit jako zprávu, se kterou souhlasí více účastníků (držitelů ADA) a potvrdí ji svým podpisem, čímž souhlas veřejně deklarují. Účastníci mohou v podstatě jakékoliv informace potvrdit svým podpisem. Jedním z konkrétních využití může být pravidelné vytváření snapshotů se stavem blockchainu.

Není nutné, aby zprávu potvrdili všichni zúčastnění. Místo toho je pokaždé, když je vygenerován nový certifikát, vybrána náhodná množina účastníků a k podpisu je vyžadována dostatečná podmnožina těchto účastníků. Podobně jako u vedoucího slotu, který získá právo vytvořit nový blok v daném slotu, jsou účastníci Mithril náhodně vylosováni.

Stake-based multi-signature založený na stake (STM - multipodpisové schéma založené na vlastnictví stake) je druh schématu prahového podpisu (TSS), který respektuje rozložení stake (coinů) v blockchainové síti. TSS je systém, který umožňuje generování jediného digitálního podpisu na základě podpisů od více signatářů.

Jedná se o podobný koncept jako schéma K-of-N s více podpisy. V tomto schématu například 5 účastníků vlastní soukromý klíč, který lze použít k podepsání zprávy. Pokud je zpráva podepsána pouze 3 účastníky, je považována za platnou (3 z 5).

Schéma STM se od schématu K-of-N liší tím, že počet účastníků, kteří mohou certifikát podepsat, je určen na základě počtu registrovaných účastníků (podepisujících) a jejich stake.

Pokud víte, jak funguje běžný digitální podpis, který používáte například při vytváření blockchainové transakce, snadno pochopíte základní principy fungování STM.

STM je typ protokolu digitálního podpisu, který umožňuje skupině stran kolektivně podepsat zprávu (vytvořit certifikát) bez odhalení jejich individuálních soukromých klíčů. Digitální podpis je způsob, jak prokázat pravost a integritu zprávy. Digitální podpis je obvykle generován aplikací matematické funkce na zprávu a soukromý klíč podepisujícího. Soukromý klíč je tajná informace, kterou zná pouze podepisující osoba, zatímco veřejný klíč je související informace, kterou může kdokoli použít k ověření podpisu.

Poznámka: Níže uvedenému obrázku lépe porozumíte, když si v další části přečtete o rolích účastníků sítě Mithril.

STM funguje tak, že soukromý klíč rozdělí do několika sdílených částí a ty se rozdělují mezi různé strany na základě stake (ADA coinů). Každá strana pak může použít svůj podíl k vygenerování částečného podpisu zprávy, aniž by znala úplný soukromý klíč. Částečné podpisy lze poté zkombinovat (agregátorem) a vytvořit platný podpis, který je nerozeznatelný od podpisu generovaného úplným soukromým klíčem. Výhodou tohoto přístupu je, že zvyšuje bezpečnost a odolnost procesu podepisování, protože žádná strana nemůže podepsat nebo kompromitovat soukromý klíč.

Protože se jedná o prahové podpisové schéma, je nutné, aby se na podepisování certifikátu podílelo požadované kvorum podepisujících. V opačném případě není možné vyrobit nový certifikát, což není problém, protože to lze provést v dalším kole s jinou sadou náhodně vybraných podepisujících.

Podepisující jednají nezávisle na sobě a každý jednotlivý podpis lze ověřit. Jednotlivé podpisy se agregují a po dosažení požadovaného prahu je možné vytvořit nový certifikát. Agregovaný podpis lze ověřit s ohledem na globální veřejný klíč, který představuje sadu zúčastněných stran.

Generování Mithril certifikátů se řídí několika parametry. Parametr ‘m’ definuje počet loterií, které může podepsat jeden účastník. Parametr ‘k’ definuje, kolik podpisů je potřeba k vytvoření platného certifikátu. Parametr ‘φ’ definuje náhodnost v systému, která ovlivňuje šanci na výhru v loterii a podepsání certifikátu.

Vytvoření certifikátu Mithril

Je definováno několik rolí, které se podílejí na vytváření certifikátu Mithril.

Mithril signer je uzel, který funguje transparentně nad uzly SPO Cardano. Funguje ve spojení s mithrilovým agregátorem. Mithril signer vygeneruje nový pár Mithril klíčů pro každou epochu a podepíše je pomocí klíčů KES. Ověřovací klíče (veřejné klíče) jsou poté vysílány všem ostatním signatářům v rámci sítě Mithril. Podepisující uzel pravidelně ověřuje snímky plného stavu blockchainu Cardano a podepisuje tyto snímky pomocí soukromého klíče Mithril.

Mithril agregátor je trustless uzel odpovědný za organizování aktivit uzlů podepisujících Mithril. Uzel agregátoru řídí vytvoření nového certifikátu Mithril. K tomu potřebuje agregátor spolupracovat s podepisujícími uzly a koordinovat je. Všichni podepisující v daném kole podepíší úplný stav blockchainu Cardano (snímek) a odešlou podpisy do agregátoru. Někteří podepisující nemusí být schopni odeslat podpis (výpadek, útok atd.). Jakmile agregátor obdrží dostatečný počet podpisů, může vytvořit Mithril certifikát na základě spojení všech podpisů dohromady (sloučením dílčích podpisů vznikne ekvivalentní podpis, jako by se jednalo o certifikát podepsaný soukromým klíčem).

Agregátor uzlů archivuje všechny snímky a související certifikáty. Klienti mohou tyto informace získat z uzlu agregátoru a pracovat s nimi, například pro rychlý start uzel.

Klient může získat snímky a ověřit je prostřednictvím certifikátů, protože používá stejná kryptografická primitiva Mithril jako podepisující a agregátoři. Klient si může rychle ověřit pravost dat, tedy integritu blockchainu.

Na obrázku níže vidíte jednotlivé kroky, které vedou k vytvoření Mithril certifikátu. Toto je zjednodušená forma, protože proces je poněkud složitější a zahrnuje více kroků pro všechny účastníky. Na obrázku je pro názornost pouze jeden signatář, ale ve skutečnosti je jich více.

Je nutné si uvědomit, že celý proces generování certifikátů probíhá v jednotlivých fázích.

V první, takzvané fázi založení, se uzly dohodnou na parametrech Mithil a skupině signatářů.

Ve druhé fázi jsou klíče registrovány ve všech podepisujících uzlech. Na základě všech registrací v daný čas je vytvořen agregační ověřovací klíč.

Třetí fáze se nazývá provozní a probíhá v cyklech. Začátek každého nového cyklu je signalizován prostřednictvím zprávy. Dojde k vytvoření snímku sady UTXO a od signatářů se očekává, že zprávu podepíší. Každý podepisující jednotlivě zkontroluje, zda je způsobilý zprávu podepsat. Pro každý platný podpis vytvoří důkaz obsahující podpis zprávy, ověřovací klíč, stake a cesty strany ve stromu Merkle.

Agregační uzel ověřuje podpisy všech podepisujících. Více podpisů lze sloučit a vytvořit certifikát. Pokud je dosaženo kvóra, je možné vytvořit souhrnný podpis ze všech jednotlivých podpisů. Uzel vytvoří důkaz pomocí agregovaných klíčů, zprávy a vektoru jednotlivých důkazů od každé strany.

Jednotlivé podpisy jsou vysílány všem stranám v síti. Je to důležité, protože každá strana může vydávat certifikáty samostatně. Od strany, která provádí agregaci, se zejména nevyžaduje, aby měla nějaké konkrétní znalosti, ani se nepředpokládá, že je čestná. Dá se říci, že agregaci podpisů může provádět jakákoli třetí strana, která má přístup k jednotlivým podpisům. Jinými slovy, všichni podepisující nebo jakýkoli jiný uzel se mohou stát agregátorovým uzlem.

Potenciál technologie Mithril

Mithril představuje velmi užitečné primitivum, které je potenciálně zajímavé pro všechny existující blockchainy. Přidružením STM klíčů k jednotlivým kryptoměnovým účtům je možné, aby se majitelé coinů podíleli na certifikaci jakékoli zprávy kolektivně zcela decentralizovaným způsobem.

Prostřednictvím parametrů je možné snadno definovat práh (1/2 nebo 2/3), kterého musí být dosaženo, aby bylo možné kryptograficky prokázat, že požadovaná skupina (stake) zprávu podporuje. Signatáři mohou podepsat zprávu jednotlivě a publikovat podpis prostřednictvím blockchainu. To je velmi užitečné pro řízení řetězce. I v případě Bitcoinu by bylo možné, aby držitelé BTC ratifikovali například upgrade softwaru.

Mithril lze použít k pravidelnému vytváření snímků, tedy k archivaci stavu blockchainu Cardano. To umožní velmi rychlé bootstrapování uzlu, protože není nutné stahovat celý blockchain a ověřovat všechny jednotlivé transakce v historii. Klientovi stačí stáhnout všechny snapshoty spolu s certifikáty a ověřit je. To je možné v relativně krátkém čase (minuty) a hned poté může uzel ověřit poslední transakce a bloky. Jinými slovy, být lehkým klientem, který není závislý na komunikaci s plným uzlem. Díky Mithrilu může mít lehký klient stejné zabezpečení jako plný uzel a nároky na zdroje budou tak nízké, že bude možné provozovat lehkého klienta na mobilním telefonu.

Další důležité využití kryptografických primitiv Mithril je pro postranní řetězce (sidechains), protože přenos aktiv mezi sítěmi bude výrazně snazší díky schopnosti rychle ověřit nejnovější globální stav.

Jak jsme zmínili výše, Mithril je vhodná technologie pro on-chain governance, protože je snadné organizovat hlasování na základě vlastnictví mincí. Hlasování nemůže být žádným způsobem manipulováno třetí stranou a nikomu nelze bránit v hlasování, protože každý light klient bude na třetí straně zcela nezávislý. Všechny výsledky hlasování budou transparentně uloženy na blockchainu a každý je může ověřit.

Mithril bude důležitým stavebním kamenem pro Ouroboros Leios (Input endorsers), jelikož prostřednictvím certifikátů bude možné předpřipravit (předvalidovat) bloky před jejich konečným zařazením do blockchainu.

Závěr

Mithril lze vnímat jako velký krok vpřed pro decentralizaci, protože velká část uživatelů stále spoléhá na třetí strany. Lidé chtějí mít rychlé a levné transakce na svém mobilním telefonu a to ve většině případů není možné bez interakce s plným uzlem běžícím na jiném zařízení. Většina lidí nechce a nikdy nebude ochotna provozovat svůj vlastní úplný uzel. Mithril umožní trustless komunikaci Peer-to-Peer z vašeho mobilního telefonu. Jinými slovy, váš telefon může komunikovat pouze se sítí Cardano a mít zabezpečení plného uzlu.

Článek napsali Cardanians s podporou Cexplorer.

Přečtěte si celý článek: https://cexplorer.io/article/understanding-mithril