🇨🇿 Základy Zero Knowledge

Midnight má být blockchainem ochrany dat, který bude schopen zabezpečit citlivá komerční a uživatelská data. K tomu poslouží důkazy nulových znalostí. V článku si vysvětlíme základy Zero-Knowledge (ZK) důkazů.

Řekněte, že je to pravda, aniž byste odhalili pravdu

V kryptografii je důkaz s nulovými znalostmi nebo protokol s nulovými znalostmi metoda, pomocí které může jedna strana (prokazovatel) prokázat druhé straně (ověřovateli), že dané tvrzení je pravdivé, a přitom se vyhnout tomu, aby ověřovateli sdělila jakékoli informace nad rámec pouhé skutečnosti pravdivosti výroku.

ZK důkazy jsou v kryptografii fascinujícím konceptem. Umožňují prokazovateli prokázat ověřovateli, že zná hodnotu x, aniž by sdělovaly jakékoli informace kromě skutečnosti, že znají hodnotu x. Ověřovatel se nedozví hodnotu x, ale bude mít důkaz že ji prokazovatel zná. Důvěra v ZK důkazy vychází z jejich matematických vlastností.

Klasický příklad důkazu ZK zahrnuje scénář, kdy Alice (prokazovatel) chce přesvědčit Boba (ověřovatele), že zná heslo k tajným dveřím v jeskyni, aniž by heslo ve skutečnosti prozradila. Alice jde do jeskyně a vyjde z východu, který vybral Bob, čímž prokáže, že zná heslo, aniž by ho prozradila.

Jeskyně má pouze jeden vchod, který je zároveň východem. Hned za vchodem se Alice může vydat dvěma směry A nebo B. Za vchodem je jediná dlouhá chodba. Uprostřed chodby jsou dveře, které lze otevřít pouze heslem. Alice chce Bobovi dokázat, že se může dostat dveřmi, tedy že zná kód.

Podívejte se na obrázek, jak jeskyně vypadá a kde jsou dveře. K otevření dveří je potřeba znát heslo. Všimněte si, že Bob se nedívá do jeskyně a neví, jestli Alice šla ve směru A nebo B.

Z pohledu interakce to vypadá takto. Na začátku je vždy nějaký závazek prokazovatele. Prokazovatel se snaží dokázat, že tvrzení je pravdivé a ověřovatel to chce ověřit. Ověřování probíhá způsobem výzva-odpověď. Za prvé, ověřovatel vyzve prokazovatele. Prokazovatel musí poskytnout odpověď. Ověření se provádí na základě odpovědi. Ověřovatel prozkoumá odpověď, aby ověřil, zda je výrok pravdivý nebo nepravdivý.

Pokračujme v našem příběhu s jeskyní. Tvrzení Alice, že zná tajné heslo ke dveřím, je závazek. Vstoupí do jeskyně a rozhodne se pro směr A. Bob neví, kterým směrem se Alice rozhodla. Bob vstoupí do vchodu do jeskyně a křičí na Alici, aby se vrátila buď směrem A, nebo B.

I když je Bob v jeskyni, Alici nevidí. Zvolí směr B a zakřičí tuto volbu na Alici. Popsanou situaci můžete vidět na následujícím obrázku. Bob vyzve Alici.

Alice musí odpovědět. V našem příkladu to znamená, že musí použít tajné heslo a projít dveřmi, protože to je jediná možnost, jak se vrátit ze směru B. Bob jde o kousek dál do jeskyně, aby viděl, kudy Alice vyjde ven. Na obrázku níže můžete vidět, že Alice přichází ze směru B.

Všimněte si, že kdyby Bob zakřičel směr A, Alice by vůbec nemusela použít tajné heslo a přišla by ze správného směru. Jinými slovy, měla 50% šanci, že Boba oklame. Tento proces je nutné několikrát opakovat. Pokud se Alice dokáže důsledně vracet z cesty, kterou Bob určí, nabude přesvědčení, že zná tajné heslo. Nedozví se však nic o tom, jaké heslo ve skutečnosti je, takže jde o důkaz s nulovou znalostí.

Alice dokáže Bobovi dokázat, že její tvrzení je pravdivé. Pokud chce Bob koupit tajné heslo, má důkaz, že ho Alice zná.

Praktičtější použití

Uvažujme scénář, kdy Alice (ověřovatel) chce přesvědčit Boba (ověřovatele), že je jí alespoň 18 let pomocí důkazu s nulovými znalostmi.

Bob může být prodejcem alkoholických nápojů, vrátným v klubu pouze pro dospělé nebo jakoukoli službou na Internetu, která je pouze pro dospělé, jako je kryptoburza.

Pokud má Alice pouze běžný průkaz totožnosti, může ho Bobovi fyzicky ukázat nebo si udělat fotokopii a poslat ho Bobovi přes internet. Problém je, že tímto způsobem často odhalíte všechny informace, které jsou na ID, i když je ověřovatel nemusí potřebovat. Zákon může vyžadovat ověření věku a národnosti, aby bylo možné službu používat, aniž by bylo nutné prozradit jméno nebo bydliště. Teoreticky by uživatelé mohli lépe chránit své soukromí, ale to v současnosti není možné. Důkazy ZK to umožňují. Může dokonce poskytnout důkaz takovým způsobem, že samotná informace nebude odhalena. Alice může dokázat, že je starší 18 let, aniž by prozradila svůj věk.

Tak nějak by mohla vypadat interakce přes protokol ZK.

První fází je příprava závazku. Alice začíná tím, že se zaváže svému věku. Toho lze dosáhnout hašováním jejího věku tajným náhodným číslem (známým také jako nonce). Alice posílá závazek Bobovi. Schéma závazků by mělo být skryté a závazné. Bob není schopen určit věk Alice z přijatého závazku, ale zároveň Alice nemůže změnit věk poté, co odešle závazek. Bob si ověří skutečnost, že se Alice zavázala.

Jakmile má Bob závazek, může Alici vyzvat. Takže Bob pošle Alici náhodnou výzvu. Může to být jednoduchá binární otázka, například jestli je její věk starší 18 let.

Alice reaguje na Bobovu výzvu poskytnutím důkazu, který výzvu uspokojí, aniž by prozradila svůj přesný věk. V tomto případě by mohla použít důkaz rozsahu nulových znalostí, aby dokázala, že její věk leží v určitém rozmezí, které je vyšší než 18.

Nakonec Bob ověří Aličin důkaz. Pokud je důkaz platný, Bob se přesvědčí, že Alici je nejméně 18 let, aniž by se dozvěděl její přesný věk. Bob se z Aličina průkazu nedozví žádné informace. Všimněte si, že Bob ani nezná přesný věk Alice, o který se zajímal. Spokojí se s důkazem, že Alice je dospělá.

Závazek sám o sobě neposkytuje žádný důkaz o validnosti tvrzení. Závazek je pouze proces nastavení před fázemi výzvy-reakce a ověření. Skutečný důkaz přichází později, když dokazovatel úspěšně zareaguje na výzvy ověřovatele.

Pokud by Alice poskytla falešný závazek, nebyla by schopna důsledně reagovat na Bobovy výzvy způsobem, který ho přesvědčí o svém tvrzení. Výzvy jsou generovány náhodně, takže je Alice nemůže předem předvídat. Pokud by její závazek byl falešný, nedokázala by správně reagovat alespoň na některé výzvy a Bob by nebyl přesvědčen.

Závazek v důkazu ZK hraje klíčovou roli. Pro dokazovatele (Alice) je to způsob, jak „uzamknout“ své tvrzení, aniž by o něm prozradila jakékoli informace. Závazek je navržen jako jednosměrná funkce, což znamená, že Alice nemůže změnit svůj nárok poté, co byl závazek učiněn (závaznost). Bezpečnost ZK důkazů vychází z jejich interaktivní povahy a použití náhodných výzev. I když se Alice pokusí podvádět falešným závazkem, protokol zajišťuje, že Bob má vysokou pravděpodobnost, že to odhalí.

Závěr

Důkazy Zero Knowledge mají potenciál výrazně zlepšit použitelnost blockchainu, zejména v oblastech škálovatelnosti (zk-rollups), soukromí transakcí a soukromí smart kontraktů. Takže zatímco šifrování může pouze zabezpečit data, aby se zabránilo neoprávněnému přístupu, důkazy ZK umožňují bezpečný a soukromý výpočet a ověření těchto dat. ZK proof umožní účastníkům pracovat s daty soukromým způsobem bez prozrazení jakýchkoli citlivých informací. Důkazy ZK lze chápat jako další vrstvu soukromí vedle šifrování používaného v technologii blockchain.

Midnigh bude velmi užitečným blockchainem pro podniky, banky, instituce, firmy a především uživatele, jelikož bude možné chránit citlivá data a zároveň je využívat pro různé služby.

Článek připravili Cardanians s podporou od Cexplorer.

Přečtěte si celý článek: https://cexplorer.io/article/basics-of-zero-knowledge