Intro
V našem předchozím příspěvku na blogu jsme stručně představili náš protokol ZKCross, jehož cílem je propojit Web2 a Web3 bez námahy bez zbytečné složitosti. Zdůraznili jsme také aktuální problémy sužující průmysl Web3, které brání skutečné decentralizaci, efektivitě a dostupnosti pro vývojáře. Tento blogový příspěvek se ponoří hlouběji do toho, jak plánujeme překonat tyto problémy a dosáhnout našeho cíle, kterým je bezproblémové propojení Web2 a Web3.
Než se dostaneme ke specifikům, pojďme si zopakovat, o čem ZKCross je!
Co je ZKCross?
ZKCross je průkopnická platforma, jejímž cílem je překlenout propast mezi dvěma verzemi internetu, Web2 a Web3. Využívá virtuální stroj WebAssembly zvaný zkVM a „zk-shadow layer“, což usnadňuje spolupráci různých částí platformy. Tento přístup umožňuje vývojářům Web2 používat programovací jazyky jako C/C++, Java nebo Python.
Naše platforma také využívá jedinečnou vrstvu, která bezproblémově propojuje on-chain a off-chain prostředí. Tato vrstva, známá jako „zk-shadow layer“, usnadňuje spojení mezi zkWASM a on-chain vrstvou prostřednictvím zk-proxy kontraktů. V důsledku toho nám to umožňuje prolomit bariéru mezi Web2 a Web3 a zároveň umožňuje vysokou propustnost a dostupnost pro každého uživatele nebo vývojáře.
Zázraky technologie Zero-knowledge
Technologie Zero Knowledge (ZK) označuje třídu protokolů, které umožňují jedné straně (ověřovateli) prokázat znalost tajemství druhé straně (ověřovateli), aniž by prozradila jakékoli informace o tajemství samotném. Tento koncept byl představen na konci 80. let a od té doby našel mnoho aplikací, včetně kryptografické autentizace. Důkaz ZK obvykle zahrnuje řadu interakcí mezi ověřovatelem a ověřovatelem, během nichž ověřovatel přesvědčuje ověřovatele o znalosti tajemství, aniž by ho prozradil.
Aby byl protokol považován za odolný proti ZK, musí splňovat úplnost, spolehlivost a nulové znalosti. Úplnost znamená, že poctivý dokazovatel vždy přesvědčí poctivého ověřovatele o pravdivosti dokazovaného tvrzení. Zdravost znamená, že nepoctivý dokazovatel nemůže s vysokou pravděpodobností přesvědčit ověřovatele o nepravdivém tvrzení. Konečně nulová znalost znamená, že protokol ověřovateli neprozradí žádné informace o tajemství kromě toho, že je ověřovatel zná. To znamená, že i když útočník zachytí veškerou komunikaci mezi ověřovatelem a ověřovatelem, o tajemství se nic nedozví.
Omezení vývoje ZK dApp
Vývoj aplikací ZK může být náročný kvůli omezením ve výběru programovacího jazyka. Mnoho blockchainů používá specializovaný programovací jazyk zvaný Solidity, přizpůsobený pro psaní chytrých smluv. Není to uživatelsky nejpřívětivější jazyk a má strmou křivku učení, která může být výzvou pro neznámé vývojáře Web2. což vede k obavám o dostupnost pro tyto vývojáře.
Aby se vývojáři vypořádali s touto výzvou, zkoumají nová řešení, která umožňují větší flexibilitu programovacího jazyka při vytváření aplikací ZK. Jeden přístup zahrnuje použití virtuálního stroje WebAssembly (WASM), který umožňuje vývojářům kódovat v preferovaných programovacích jazycích na vysoké úrovni, jako je C/C++, Java nebo Python. To umožňuje vývojářům Web2 využít své stávající dovednosti a zkušenosti k vytváření ZK aplikací, aniž by se museli učit nové programovací jazyky. Kromě toho se vyvíjejí nástroje a rámce (např. ZKCross SDK), které abstrahují část složitosti psaní chytrých smluv, což vývojářům usnadňuje vytváření bezpečných aplikací ZK.
zkVM, svatá trojice voj
ZKVM je zkratka pro Zero-Knowledge Virtual Machine, technologie používaná v protokolu ZKCross, která pomáhá vývojářům Web2 psát chytré smlouvy pro Web3, aniž by se museli učit nové programovací jazyky. ZkVM využívá virtuální stroj WASM, který umožňuje vývojářům Web2 kódovat v preferovaných programovacích jazycích. WASM je neuvěřitelně populární pro webové aplikace a používá se ve všech významných webových nástrojích. Použití zkVM tak umožňuje milionům vývojářů vytvářet aplikace připravené pro Web3 bez jakékoli strmé křivky učení. Na druhou stranu, zkVM využívá zk-SNARK; kryptografický důkaz, který umožňuje jedné straně prokázat druhé straně znalost konkrétní informace, aniž by o ní prozradila jakékoli informace. SNARK poskytují způsob, jak ověřit výpočty na blockchainu bez odhalení citlivých (osobních) dat, jako jsou osobně identifikovatelné informace.
Jednou z hlavních výhod SNARKů je jejich stručnost. Na rozdíl od jiných typů důkazů ZK, které mohou být velmi výpočetně nákladné a vyžadují mnoho kol interakce mezi ověřovatelem a ověřovatelem, mohou být SNARK vysoce efektivní a vyžadují pouze jediný důkaz, který lze rychle ověřit.
Další výhodou SNARKů je jejich škálovatelnost. SNARKy lze použít k ověření správnosti velkých výpočtů bez odhalení jakýchkoli podrobností samotného výpočtu. Díky tomu jsou zvláště užitečné pro ověřování správnosti chytrých kontraktů v blockchainových sítích, kde mohou být výpočty velmi složité a vyžadují mnoho výpočetních zdrojů.
Výhody ZkVM
zkVM nabízí řadu výhod pro vývojáře, kteří chtějí vytvářet decentralizované aplikace.
Vysoká flexibilita: Díky zkVM mohou vývojáři psát chytré smlouvy ve svém preferovaném programovacím jazyce na vysoké úrovni, C/C++, Javě nebo Pythonu, místo aby byli omezeni na konkrétní programovací jazyky.
Vylepšená škálovatelnost: zkVM umožňuje rychlejší provádění transakcí a vyšší propustnost, což je nezbytné pro vytváření škálovatelných decentralizovaných aplikací.
Modularita a skládání: Díky zkVM mohou vývojáři rychle vytvářet komplexní decentralizované aplikace pomocí různých modulů, aniž by se museli starat o problémy s kompatibilitou jazyka nebo platformy.
Vylepšené zabezpečení: zkVM využívá ZK-proofs, známé jako SNARK, k zajištění vysoké bezpečnosti tím, že umožňuje ověřování výpočtů bez odhalení citlivých dat.
Decentralizace: zkVM podporuje decentralizaci tím, že umožňuje provádění inteligentních smluv distribuovaným způsobem mezi více uzly, čímž eliminuje potřebu centrálních orgánů.
V nadcházejících blozích bude náš jedinečný a revoluční ekosystém dále podrobněji vysvětlen, zdůrazníme případy použití, ponoříme se hluboko do architektury a mnohem více!


