V reálném životě i v digitálním světě často chceme ostatním něco dokázat. Před vstupem do kancelářské budovy zaměstnanci obvykle před vstupem dovnitř poskytují určitý typ průkazu totožnosti.
Když se uživatelé pokusí přihlásit do aplikace, jako je Facebook nebo Twitter, tyto služby musí nejprve požádat uživatele, aby se přihlásil pomocí hesla, a občas je na jejich mobilní zařízení zaslán jednorázový přístupový kód (OTP).
Nevýhodou poskytování důkazů je, že často poskytujeme jiné typy informací. Poskytnutí hesla pro web stále znamená, že web sám uchovává kopii hashovaného hesla na svých serverech. Pokud by někdo naboural skener ID zaměstnanců kancelářské budovy, mohl by získat soukromé klíče všech.
Důkazy s nulovými znalostmi nebo ZKP poskytují způsob, jak ověřit identitu nebo transakci bez nutnosti poskytovat další informace. Kvůli jeho aplikacím v kryptografii byly ZKP upraveny bloky k vytvoření bezpečných a škálovatelných ověřovacích protokolů.
Co jsou důkazy nulových znalostí?
Důkazy s nulovými znalostmi byly poprvé navrženy výzkumníky MIT Silvio Micali, Charles Rackoff a Shafi Goldwasser v roce 1985 ve svém článku „Znalostní komplexnost interaktivních důkazních systémů“
Tento článek představil koncept znalostní komplexity. To se týká množství znalostí o důkazu přenesených od prokazovatele k ověřovateli. Důkazy s nulovými znalostmi mají za cíl umožnit jedné straně prokázat, že konkrétní prohlášení je pravdivé vůči jiné straně, aniž by musela sdělovat jakékoli další informace.
ZKP lze použít jako bezpečnou alternativu k současným ověřovacím systémům a lze je také přidat do blockchainových protokolů, aby transakce zůstaly soukromé.
Jak ZKP fungují?
Příklad reálného světa
Abychom ilustrovali, jak fungují důkazy s nulovými znalostmi, podívejme se na abstraktní příklad ZKP.
Řekněme, že máte přítele, který je červeno-zelený barvoslepý. Máte s sebou dvě stejné koule, které se liší pouze barvou: jednu červenou a jednu zelenou. Pro vašeho přítele vypadají stejně, ale jako člověk bez barvosleposti je snadno rozeznáte.
Je možné, abyste svému příteli dokázali, že mají jinou barvu, aniž byste prozradili, která koule je červená nebo zelená?
Ve skutečnosti existuje způsob, jak to dokázat bez prozrazení barev kuliček. Nejprve musíte nechat svého přítele, aby mu dal obě koule za záda a řekl mu, aby ukázal jakoukoli kouli a znovu ji schoval. Dále svému příteli řeknete, že má na výběr, zda znovu ukázat stejný míček nebo jej vyměnit za jiný.
Pokaždé, když se ukáže nový míč, můžete mu říci, zda míč vyměnil nebo ne. Pokud budete neustále hádat správné volání, je stále pravděpodobnější, že kuličky jsou různě barevné. Váš přítel by se nyní měl přesvědčit, že koule jsou různě barevné, aniž byste mu museli říkat, které koule mají jakou barvu.
Praktické aplikace
Většina praktických příkladů důkazů s nulovou znalostí spadá do dvou typů.
Za prvé, ZKP lze použít při navrhování protokolů. Můžeme zajistit, aby různé strany nemohly podvádět nebo využívat protokol. Za druhé, ZKP lze použít k identifikaci.
Pomocí ZKP se můžeme například bezpečně přihlásit do webové aplikace, aniž bychom museli prozradit samotné heslo.
Podívejme se na několik příkladů toho, jak můžeme použít důkazy s nulovými znalostmi.
E-hlasování
Jednou z běžně diskutovaných aplikací ZKP je jejich možná role v online hlasování. Řekněme, že máme nadcházející referendum, kde mohou uživatelé hlasovat o navrhované politice. Každý oprávněný volič může hlasovat buď 1, nebo 0 na hlasovacím lístku.
Pomocí ZKP mohou voliči prokázat své právo volit, aniž by prozradili svou totožnost. Tím je zajištěno, že každý hlas bude skutečně anonymní. Dodatečný ZKP bude také použit k prokázání, že hlas konkrétního uživatele je součástí konečného sečtení hlasů.
Pokud jde o obsah samotných hlasovacích lístků, hlasovací systém může také generovat důkaz s nulovou znalostí, že každý hlasovací lístek obsahuje buď 1, nebo 0. Toho je dosaženo, aniž by bylo nutné znát obsah samotného hlasovacího lístku.
Soukromí blockchainu
Blockchainy jako Bitcoin a Ethereum nativně nepodporují soukromé transakce. Dokud je vaše bitcoinová peněženka veřejná, může kdokoli přejít na průzkumník bloků, jako je např Blockstream zobrazit všechny transakce, kterých je peněženka součástí.
Mezitím používání služby, jako je banka, nebo platebních služeb, jako je Cash App nebo Venmo, vám dává možnost provádět soukromé transakce. Toto pohodlí však přichází za cenu odhalení vašich informací centralizované službě.
Můžeme spojit anonymitu s decentralizací přidáním ZKP do blockchain protokolu. Kryptoměny, jako je ZCash, používají ZKP k vytváření soukromých transakcí, které umožňují držitelům mincí zachovat si anonymitu. Několik z těchto kryptoměn používá typ ZKP známý jako zk-SNARK.
Tyto ZKP nevyžadují žádnou interakci mezi ověřovatelem a ověřovatelem.
Souhrny s nulovými znalostmi
ZK-rollups jsou řešením škálovatelnosti, které umožňuje okamžité ověření off-chain transakcí s minimálními poplatky za plyn. Představují způsob, jak zkombinovat velký počet transakcí vrstvy 2 a odeslat je do protokolu vrstvy 1.
Kromě zajištění soukromí umožňují ZKP škálování složitých systémů. Protokoly blockchainu mohou používat ZKP k prokázání, že uživatelé vypořádali správné transakce, mají odpovídající zůstatek a tak dále. Tato bezpečná, ale škálovatelná řešení jsou možná pouze prostřednictvím matematických důkazů prováděných mimo řetězec v ZKP.
Protokoly, jako je Loopring, používají důkazy s nulovými znalostmi, aby pomohly zpracovat transakce mimo řetězec, aniž by bylo nutné ohrozit bezpečnost.
Výhody důkazů o nulových znalostech
- ZKP nahrazují méně spolehlivé formy autentizace, jako jsou PIN nebo identifikační karty
- ZKPS zvyšuje škálovatelnost blockchainů
- Implementace ZKP vyžaduje jednoduché šifrovací metody
- Použití ZKPS může zvýšit zabezpečení systémů tím, že nevyžaduje ukládání zbytečných informací v systému.
Proč investovat do čističky vzduchu?
Ochrana osobních údajů je již nyní hlavním problémem v centralizovaných i decentralizovaných systémech. Důkazy s nulovými znalostmi poskytují různým stranám způsob, jak prokázat nebo ověřit transakce a identity, aniž by musely uvedené transakce nebo identity odhalit.
Vzhledem k tomu, že technologie blockchain se stále více používá, přijetí ZKP pro bezpečné zpracování ověřování bude klíčem k obavám o škálovatelnost.
Napsat komentář