Vysvětlení Zero-Knowledge Proof (ZKP) v blockchainu

Photo of author

By etechblogcz

V současném světě, kde se monitorování stává téměř každodenní rutinou, sledují různé instituce neustále informace o lidech. Tento narůstající nedostatek soukromí vyvolává potřebu nového technologického řešení.

Blockchain, známý také jako technologie distribuované účetní knihy, představuje decentralizovaný systém, který radikálně mění tradiční způsoby fungování. Ačkoli tato technologie přinesla zásadní inovace, její dosah v oblasti ochrany soukromí se jeví jako nedostatečný.

Nyní se na scéně objevuje nový koncept – Zero-Knowledge Proof (ZKP), neboli důkaz s nulovou znalostí. Pokud jste o ZKP slyšeli, ale ještě si nejste jisti, co přesně tento pojem znamená a jak funguje, jste na správném místě.

Šifrování s nulovými znalostmi se prezentuje jako klíčový protokol pro zvýšení bezpečnosti. Je ale skutečně tak účinné a může se stát řešením, na které svět čeká? Tento článek se pokusí na tuto a další související otázky odpovědět.

Co je to protokol důkazu s nulovými znalostmi?

Důkaz s nulovými znalostmi představuje nový přístup v kryptografii, který umožňuje jedné straně (ověřovateli) ověřit pravdivost tvrzení od druhé strany (dokazovatele), aniž by odhalila jakékoli další informace kromě samotného faktu o pravosti tvrzení.

Systém důkazů zahrnuje dokazovatele, ověřovatele a výzvu. Vyžaduje, aby zúčastněné strany byly schopny veřejně předložit důkaz o vlastnictví nebo znalostech, přičemž jemnější detaily zůstávají chráněny.

Jednoduše řečeno, protokol s nulovými znalostmi v kryptografii umožňuje přesvědčit někoho o vaší znalosti nebo schopnosti něco dokázat, aniž byste museli prozradit samotné tajemství.

Představme si, že chcete získat půjčku, ale nechcete bance sdělovat vaše finanční údaje. Banka by mohla použít důkaz s nulovými znalostmi, aby ověřila vaši finanční historii, včetně informací o platbách, dokladu o bydlišti, kreditním skóre či vlastněném majetku, aniž by získala přístup ke konkrétním podrobnostem těchto aktiv.

Tento protokol byl poprvé popsán v roce 1985 trojicí vědců z MIT – Shafi Goldwasser, Silvio Micali a Charles Rackoff – ve výzkumné práci s názvem „Znalostní komplexnost interaktivních důkazních systémů„. Mnoho protokolů decentralizovaného financování (DeFi) již využívá ZKP k zajištění vyšší bezpečnosti a soukromí uživatelů při poskytování půjček, úvěrů a obchodních služeb.

Několik blockchainů vrstvy 1, například Zcash a Polygon, již implementuje ZKP sumarizace nebo virtuální stroje Zero-Knowledge Ethereum (zkEVM). V komunitě blockchainu a Web 3.0 panuje velké nadšení ohledně potenciálu ZKP, jelikož se očekává, že jejich aplikace budou hrát klíčovou roli v budoucnu.

Vlastnosti důkazu s nulovými znalostmi

Metoda důkazu s nulovými znalostmi se ukazuje jako obzvláště užitečná v situacích, kde jsou informace citlivé a ověřovatel by k nim neměl mít přímý přístup.

V takovém případě dokazovatel předkládá matematický důkaz, který je schopen vygenerovat pouze on sám. Ověřovatel pak může tento důkaz použít k ověření pravdivosti tvrzení, aniž by byl schopen rekonstruovat původní informace.

Představte si, že vaše město je rozděleno vysokou horou, ale existuje tunel se dvěma vchody, který spojuje obě strany. Pouze vy znáte tajný kód k zamčeným dveřím na obou koncích tunelu.

Pokud byste chtěli vybírat poplatek od každého, kdo chce tunel použít, je pochopitelné, že by chtěli mít jistotu, že kód skutečně znáte.

Lidé by mohli uvěřit, že tajný kód máte, pokud by vás sledovali, jak procházíte tunelem z jedné strany na druhou.

Tři základní vlastnosti každého protokolu důkazu s nulovými znalostmi jsou:

❇️ **Úplnost:** Ověřovatel musí být schopen potvrdit, že dokazovatel disponuje požadovanými vstupy pro ověření pravdivosti tvrzení.

❇️ **Korektnost:** Je nemožné zfalšovat tvrzení. Neexistuje způsob, jak přesvědčit ověřovatele, že dokazovatel disponuje potřebnými informacemi, pokud tomu tak není.

❇️ **Nulové znalosti:** Ověřovatel nezíská žádné další informace nad rámec pravosti tvrzení. Osobní údaje nebo obsah informací zůstávají chráněny.

Různé typy důkazů s nulovými znalostmi

Existují dva hlavní typy ZKP:

Interaktivní důkazy s nulovými znalostmi

V tomto typu důkazu s nulovými znalostmi probíhá více interakcí mezi ověřovatelem a dokazovatelem. Ověřovatel může opakovaně zpochybňovat odpovědi dokazovatele, dokud není zcela přesvědčen.

Vzhledem k tomu, že tento typ ZKP se opírá o matematickou pravděpodobnost, musí dokazovatel přesvědčit konkrétního ověřovatele, nebo proces zopakovat s několika ověřovateli, prostřednictvím série akcí, které souvisejí s konkrétním tvrzením.

Neinteraktivní důkazy s nulovými znalostmi

V tomto typu ZKP nedochází k žádné přímé interakci mezi ověřovatelem a dokazovatelem. Ověřovatel má pouze jednu možnost ověřit důkaz, který mu byl předložen.

Protože tento typ ZKP spoléhá více na výpočetní výkon než interaktivní ZKP, musí dokazovatel vygenerovat důkaz, který může ověřit kdokoli, aby mohl proces ověření pokračovat.

Pro dosažení vysoké efektivity může neinteraktivní ZKP vyžadovat specializovaný software.

Aplikace důkazů s nulovými znalostmi v blockchainech

Technologie blockchain přinesla významné vlastnosti, jako je decentralizace, neměnnost, transparentnost a distribuovaná účetní kniha, což uživatelům umožňuje provádět transakce s vysokou úrovní zabezpečení a anonymně.

Ačkoli blockchain poskytl uživatelům větší kontrolu nad jejich soukromím, stále se zdá, že v této oblasti nedosahuje plného potenciálu, zejména proto, že sítě blockchainu používají veřejné databáze. Kdokoli s internetovým připojením má přístup k historii transakcí dané sítě.

Z tohoto důvodu je možné zobrazit mnoho podrobností spojených s uživatelskými transakcemi a detaily o peněženkách. I když totožnost uživatelů zůstává anonymní, třetí strany stále mohou vidět jejich veřejné klíče.

Vytváření veřejných klíčů pomocí kryptografických technik sice může chránit soukromí, avšak mohou existovat metody, které mohou anonymitu a soukromí narušit. Z tohoto důvodu je v blockchainových systémech potřeba aplikovat důkazy s nulovými znalostmi pro dosažení následujících výsledků:

#1. Zasílání zpráv

Při zasílání zpráv pomocí end-to-end šifrování je klíčové, aby k soukromým zprávám neměl přístup nikdo jiný než zamýšlený příjemce. Platformy pro zasílání zpráv se navíc snaží ověřit identitu uživatelů na serverech a naopak. Implementace ZKP umožní těmto platformám vytvořit absolutní důvěru v oblasti zasílání zpráv, aniž by musely prozrazovat uživatelské informace.

#2. Autentizace

ZKP lze využít k usnadnění přenosu citlivých informací, jako je autentizace, s maximální bezpečností. Platformy blockchainu budou moci vytvářet zabezpečené kanály, kde uživatelé mohou odesílat své informace bez zbytečného odhalení, čímž se předejde riziku úniku dat v nejhorších případech.

Příkladem transakcí chránících soukromí v blockchainu je decentralizovaná aplikace Manta Network, MantaPay.

Tato DApp využívá ZKP k umožnění uživatelům provádět transakce na decentralizovaných burzách bez nutnosti prozrazovat svou totožnost nebo transakční detaily. Uživatelé si tak mohou při používání platforem zachovat své soukromí.

#3. Ochrana úložiště

Vzhledem k tomu, že blockchainy zpracovávají obrovská množství dat, ZKP mohou být užitečné i při ukládání dat.

Důkazy s nulovými znalostmi integrují protokoly, které chrání nejen samotné úložiště, ale i citlivé informace. Kromě toho mohou ZKP chránit i přístupové kanály, a poskytnout tak uživatelům bezproblémový a bezpečný zážitek.

#4. Odesílání soukromých blockchainových transakcí

Základem odesílání soukromých blockchainových transakcí je zajistit, aby se s nimi nemohly setkat třetí strany. I když stávající metody ochrany mají svá pozitiva, stále existují určité mezery, do kterých vstupují ZKP.

Pokud jsou ZKP správně implementovány, znemožní jakémukoli subjektu hacknout, zachytit nebo odklonit soukromé blockchainové transakce.

Například Zcash používá Zero-Knowledge Transactions pro zajištění chráněných transakcí, které kromě částek skrývají i adresy odesílatelů a příjemců, čímž zvyšují úroveň zabezpečení.

#5. Komplexní dokumentace

ZKP jsou navrženy s potenciálem šifrovat data ve velkých blocích, což uživatelům umožňuje rozhodnout, ke kterým blokům dat povolí přístup konkrétním uživatelům, a které naopak omezí. Tento koncept lze využít k zajištění, že ke komplexní dokumentaci budou mít přístup pouze oprávněné strany.

#6. Demokratizace ověřování hlasování

Další praktickou oblastí pro využití ZKP v blockchainu je demokratický aspekt, který může hrát při kontrole hlasů. Protokol může poskytnout spolehlivé odpovědi pro jakýkoli auditovatelný hlasovací proces, zaznamenáváním odevzdaných hlasů do veřejného blockchainu.

Výsledkem by byl hlasovací proces, který eliminuje potřebu omezení a jakýchkoli potvrzení od třetích stran. Důkazy s nulovými znalostmi by voličům umožnily prokázat svou způsobilost hlasovat a zároveň by zajistily, že jejich citlivé osobní údaje zůstanou nedotčeny.

Voliči by také mohli použít ZKP k vyžádání si nezměnitelného důkazu o svém hlasu v konečném sčítání hlasů.

#7. Zabezpečení citlivých informací

ZKP také poskytují způsob, jakým lze blockchain používat k zabezpečení transakcí, přidáním další vrstvy špičkového zabezpečení k blokům nesoucím citlivé informace.

To by mohlo zahrnovat citlivé bankovní informace, jako je kreditní historie a detaily o kreditních kartách. Příjemci by tak měli přístup pouze k nezbytným blokům, které vyžadují informace o uživateli, zatímco ostatní bloky by zůstaly chráněny.

#8. Tokenizace a ověření vlastnictví

Platformy blockchainu mohou také využít ZKP v procesu tokenizace aktiv a ověřování dokladů o jejich vlastnictví. Uživatel může například prokázat vlastnictví nemovitosti, aniž by veřejně odhalil své osobní údaje.

Výhody používání důkazu s nulovými znalostmi

Stejně jako každá jiná nová technologie, i ZKP přináší řadu výhod, pokud se používá v kombinaci s protokoly blockchainu. Mezi další výhody používání důkazů s nulovými znalostmi kromě svobody a flexibility, kterou uživatelům nabízí, patří:

🔷 **Jednoduchost:** Jednoduchost je možná nejvýznamnější výhodou používání ZKP, protože uživatelé nepotřebují znát složitý software, aby mohli aplikovat různá špičková řešení, která ZKP nabízejí. Navíc jsou ZKP plně bezpečné, a to i přesto, že nejsou šifrované, což znamená, že efektivně kombinují výhody obou světů.

🔷 **Zabezpečení:** Protokoly důkazů s nulovými znalostmi jsou vysoce bezpečné v tom, jak usnadňují sdílení informací. Uživatelé je tak mohou s jistotou používat k interakci, aniž by museli ovládat specifické kódy nebo analýzy.

🔷 **Úspora času:** Díky ZKP uživatelé ušetří množství času, který by jinak potřebovali na dokončení transakcí v blockchainu.

🔷 **Soukromí:** Ochrana a zachování soukromí uživatelů je primární funkcí ZKP. Uživatelé nemusí sdílet citlivá data, což z něj činí vysoce soukromý protokol.

🔷 **Bezpečnost:** Uživatelé protokolů důkazů s nulovými znalostmi znají svá pravidla pro sdílení dat, což znamená, že se budou vyhýbat jakémukoli subjektu, který požaduje jejich osobní údaje bez pádného důvodu.

ZKPs vs. Vícestranný výpočet (MPC)

Již jsme zjistili, že ZKP zahrnují jedinečný řetězec používaný k prokázání pravosti prohlášení obsahujícího veřejnou hodnotu, aniž by byly příslušnému subjektu prozrazeny citlivé detaily. To může zahrnovat skrytou strukturu komunikace nebo tajný klíč spojený s veřejným klíčem.

V kontextu blockchainových transakcí to může znamenat, že původce transakce skryje její přesnou hodnotu, a přitom předloží důkaz, že platná transakce skutečně proběhla.

Vícestranný výpočet (MPC), na druhé straně, představuje interaktivní komunikaci mezi mnoha stranami, která jim umožňuje bezpečně a souběžně vypočítat identickou funkci jejich nezveřejněných hodnot, přičemž si detaily ponechají individuálně pro sebe.

Příkladem může být situace, kdy tři strany, každá s tajným číslem, mohou vypočítat součet těchto tří čísel. Nicméně, strany si ponechají své tajné číslo a dozví se pouze celkový součet.

Primárním rysem MPC je tedy fakt, že je zapojeno mnoho stran, z nichž každá se snaží bezpečně vyhodnotit tajnou hodnotu funkcí svých protějšků, a zároveň jim umožnit stejné právo, aniž by odhalila svou soukromou hodnotu.

Důkaz s nulovými znalostmi vs. Nulová důvěra

Aspekt ověřování je tím, co odlišuje důkazy s nulovými znalostmi od nulové důvěry. Model nulové důvěry vyžaduje striktní ověření identity pro uživatele a jejich zařízení, než jim bude umožněn přístup k aplikacím a důvěrným datům.

Na druhé straně ZKP šifrují data tak, že k nim má přístup pouze oprávněná strana. Zatímco ověření identity je základním prvkem konceptu nulové důvěry, šifrování dat je základním principem protokolu s nulovými znalostmi.

Rozsah se také liší. Zatímco zabezpečení sítě je primárním cílem nulové důvěry, zabezpečení dat je hlavním pilířem konceptu s nulovými znalostmi.

Tam, kde nulová důvěra zajišťuje, že pouze autorizované a ověřené zařízení nebo uživatel má přístup k důvěrným aplikacím nebo datům, důkaz s nulovými znalostmi zajišťuje ochranu osobních dat tím, že je zašifruje tak, že k nim má přístup pouze oprávněný účastník.

Závěrečné myšlenky

Důkaz s nulovými znalostmi nemusí být dokonalý, ale představuje novou a slibnou oblast v technologii blockchainu. Tento protokol nabízí obrovský potenciál pro širokou škálu aplikací, které pracují s citlivými informacemi, jako je ověření totožnosti, potvrzení hesla nebo doklad o členství.

Vzhledem k rostoucímu zájmu o ZKP díky jejich škálovatelnosti a vlastnostem pro ochranu soukromí, se stále častěji používají v blockchainu, kryptoměnách a aplikacích DeFi. Očekává se, že budou i nadále rozšiřovat své uplatnění, protože hrají klíčovou roli v ekosystémech DApp, kde je bezpečnost, soukromí a efektivita zásadní.

Při využití jako základního nástroje v kryptografii pomohou důkazy s nulovými znalostmi ověřovat vlastnosti dat a stanou se vzrušujícím a všestranným chybějícím článkem, který by mohl přinést blockchain a jeho aplikace do hlavního proudu. Operátoři blockchainu mohou využít nejnovější generaci ZKP a čerpat z jejích obrovských výhod za dostupné ceny.

Prozkoumejte detailního průvodce zabezpečením nulové důvěry.