4 Načina Za Uporediti Trusted Execution Environments i Zero-Knowledge Proofs

Vgrebic
Oasis Foundation Serbian
7 min readMay 2, 2023

“Odricanje od odgovornosti: Ovo je prevod člana Oasis zajednice. Ako želite da pročitate originalni članak, posetite: 4 Ways to Compare Trusted Execution Environments and Zero-Knowledge Proofs

Blockchain nudi internetu transparetan pristup neviđen do sada, kroz mnogo otvorenih i permissionless mreža koje koriste milioni korisnika širom sveta. Ipak, iako transparentnost nudi niz benefita, mora da bude balansirana sa robustnim alatima privatnosti koji ojačavvaju poverljivost i sigurnost podataka za svakog on-chain korisnika. Kako Web3 prihvata privatnost, uvid u trendove i tehnologije koje guraju on-chain privatnost napred je esencijalan. Ovaj blog post nudi uprošteno poređenje dva različita pristupa Web3 privatnosti: Zero-Knowledge Proofs i Trusted Execution Environments. Od developera do korisnika, bitno je naučiti razliku između tehnologija da bi se razumela budućnost Web3-a.

Pre poređenja ovih tehnologija, korisno je definisati neke termine.

  • Zero-Knowledge Proofs: Zero-knowledge proof (ZKP) je kriptografski mehanizam koji omogućava bilo kome da dokaže istinitost tvrdnje bez potrebe da podeli informaciju iz tvrdnje i bez otkrivanja kako je dospeo do te informacije. Blockchain validatori pokreću računicu koja proverava da je dokaz tačan i, ako je tako, primeni promene stanja bez učenja podataka koji je proveren. Naučite više o ZKP iz ZK MOOC.
  • Trusted Execution Environments: Trusted Execution Environment (TEE) koristi hardware-zasnovan sigurni model računanja tako što odvaja region procesora od ostatka CPU. Kada se koristi za odobravanje poverljivih blockchain-ova, ova okruženja dobijaju enkriptovane podatke i pokreću računanja koja ne mogu da budu direktno posmatrana ili promenjena ni od koga, čak ni hardware host-a. Pročitajte više o TEE u ovom blog postu.

Hajde da zaronimo duboko u obe tehnologije privatnosti!

Skalabilnost Aplikacije

Ključna karakteristika ZKP je česta potreba za razvojem unikatnih kola u određenim aplikacijama da bi se omogućila mogućnost provera da pokaže znanje bez otkrića bilo kakvih informacija. Ova akcija se obično dešava tako što se konstruiše kolo koje izvrašava specifično računanje zasnovano na određenoj tajni. Verifier zatim dobija dokaz da se kole izvršilo tačno.

U nekim aplikacijama, isto kolo ne može da se koristi od strane više prover-a dok u drugim, koristeći generičnu ZKP šemu, isto kolo mogu da koriste više prover-a. Ali kola koja mogu da se koriste više puta moraju da budu pažljivo dizajnirana da bi se osiguralno da ne mogu da se koriste za otkrivanje informacija o tajni koja se dokazuje.

Za TEE, skalabilnost širom upotreba i aplikacija zavisi o načinima implementacija, na šta utiče set faktora, uključujući hardware-sku i software-sku arhitekturu i speicifične zahteve za TEE use case. Pod nekim uslovima, na primer TEE implementiran na mobilnom uređaju, upotreba može biti limitirana na proste aplikacije. Za Web3 dApps, ipak, TEE koji obično koriste blokchain validatori su sposobni da obrade veliki broj računarskih akcija. I ta okruženja podržavaju izvršavanje arbitrarnog mašinskog koda i zbog toga mogu da ih koriste različiti developeri širom različitih aplikacija.

Oasis olakšava low-level ali sigurnosno kritične detalje koji su vezani za nameštanje TEE, vršenje remote (ponovne) atestacije, organizovanje računarskih komiteta, pružanje proverenog temper-proof skladišta, dostupnost podataka, i još toga. Za korisnike i developere Oasis pakuje TEE u runtime koji se izvršava na Oasis Mreži, sa pažljivo dizajniranim spoljašnjim interfejsom, čineći TEE-zasnovana poverljiva računanja laka za konzumiranje na sigurni način.

Naročito, za Solidity developere, ovo znači kada gradimo koristeći TEE na Oasis Mreži ne postoji unikatni limit ili zahtevi zasnovani na broju korisnika ili specifičnom ekosistemu. Developeri mogu ne samo da dodaju enkriptovana stanja bilo kom Solidity dApp-u sa samo par modifikacija, mogu takođe konkretno biraju koji aspekt stanja žele da enkriptuju a koji žele da ostane javan. Umesto da se muče sa frikcijom razvoja ZKP kola za svoje pametne ugovore, Web3 developeri mogu da iskoriste prednost primetne fleksibilnosti i skalabilnosti TEE sa sigurnim izvršenjem za bilo koju aplikaciju sagrađenu na blockchain mreži.

Sigurnost i Performansa

ZKP mogu da budu računarski skupi, u zavisnosti od tipa algoritma koji koriste i kompleksnosti problema koji se dokazuje. ZKP obično zahteva dosta računarskih resursa da bi generisao dokaze zato što se njihova sigurnost zasniva isključivo na kriptografskim operacijama. Verifikacija dokaza, sama po sebi, ipak je veoma brza. Ali kompleknost većine ZKP algoritama je proporcijalna veličini kola, i postoji mnogo vrsta ZKP alogirtama. Neki su računarski skuplji od drugih. Developeri koji koriste ZKP često veruju da će sigurnost i privatnost biti značajniji od njihove računarske cene.

TEE su dizajnirani da pruže sigurno i izolovano okruženje za pokretanje osetljivog koda bez težine skupih kriptografskih informacija. Zato što je sigurnost TEE bazirana na hardware-u sa nekim software-skim elementima umesto da se zasniva samo na kriptografiji, performansa za kompleksne zadatke je poboljšanja. TEE nisu imuni na napade, ipak, pogotovo side-channel napade, koji pokušavaju da iskoriste nenamerno curenje informacija iz sistema. U drugu ruku, različite tehnike za zaštitu postoje, od generalnih i dobro poznatih (npr., constant-time kriptografija) do više specifičnih metoda koje zahtevaju specifične upotrebe.

TEE su dizajnirani da balansiraju sigurnost i performanse, tako da većina TEE setup-ova su optimizovani za efikasnost i često će koristiti specijalizovani hardware da bi se smanjio uticaj na performanse za bilo koje dodatne sigurnosne operacije. Zapravo, cena velikog broja računarskih operacija za TEE-zasnovane operacije dolazi iz potrebe za ponekad dodatnim sigurnosnim zadacima, poput enkripcije i dekripcije podataka ili provere integriteta koda koji je pokrenut unutar TEE.

Na primer, ako bismo želeli da pružimo privatne features za Web3 DEX, koristeći samo ZKP ne bi bilo dovoljno i pokazalo bi se kao veoma težak zadatak. Na suprot tome, TEE implementacija daje mnogo više fleksibilnosti gde kompleksniji privatni zadaci skupljanja podataka kao oni koji su potrebni u DEX-u se lakše i efikasnije implementiraju.

Ili zamislite scenario koji uključuje stablecoin transkacije između pošiljaoca i primaoca. Danas, norma je potpuni uvid u transkacije od strane pošiljaoca, primaoca, izdavača, i bilo ko ko gleda blokchain. Koristeći TEE, ipak, developeri mogu da izgrade kompleksnije i sofisticiranije aplikacije koje menjaju dostupnost podataka na lancu. Bilo da samo pošiljalac i primaoc mogu da vide podatke, ili i izdavač, ili čak i samo pošiljalac — sve te opcije su dostupne za dApp developere koji grade u robustnom i fleksibilnom TEE.

Fleksibilnost pametnih Ugovora

TEE su izgrađeni za visoke performanse pod velikim računarskim naporima, kao od strane naprednih pametnih ugovora i Web3 aplikacija sa mnogo podataka. Lakoća korišćenja i fleksibilnost developera unutar TEE je glavni razlog zašto su ova okruženja dobro opremljena za mnoge kompleksne aplikacije izgrađene kroz Web3.

Na kraju, TEE su odlični za generalno pokretanje pametnih ugovora i posebno za pametne ugovore koji trebaju da skupe velki broj privatnih podataka. Developer iskustvo je takođe mnogo jednostavnije. Na primer, poverljive aplikacije izgrađene na Oasis Sapphire-u (poverljivom EVM koji napajaju TEE) može da se završi za nekoliko dana nasuprot nekoliko meseci ili godina za alternativne privatne tehnologije.

ZKP tradicionalno nisu optimizovani za izvršavanje pametnih ugovora. Skoro je bio veliki progres u EVM kompatibilnosti, ali su ta unapređenja fokusirana oko skaliranja (ne privatnosti) poput ZK-EVM. ZKP i dalje imaju limite sa omogućavanjem privatnosti u pokretanju generalnih pametnih ugovora. Ovo je jer ZKP zahtevaju da prover dobije pristup svim globalnim stanjima i podacima transakcije, što ne može da uradi ako su neki aspekti globalnog stanja privatni. Ovo kreira velike limite u korišćenju ZKP kao privatnog rešenja za bilo koju aplikacija koja mora da dostigne privatnost u kontekstu više učesnika, gde se zahteva znanje više učesnika.

U određenim aplikacijama koje imaju prostiju upotrebu, ZKP mogu lako da reše privatnost korisnika. Ali kako računanje postaje kompleksnije i unos podataka raste, ova privatnost postaje izazovnija, skuplja i manje fleksibilna. Da bi se rešio ovaj problem, posebna kola su ponekad potrebna da bi se zaštitili dApp sa velikim i kompleksnim load-om podataka. Neki timovi koji grade sa ZKP grade framework-ove da bi olakšali proces integracije ZKP sa pametnim ugovoroima, ali oni ne nude isti nivo fleksibilnosti za privatnost koji TEE nude.

Trust Trade Offs

Razumevanje trust modela za bilo koju Web3 privatnu tehnologiju je bitno za developere i za korisnike. Neka ZKP-zasnovana rešenja, na primer, mogu da se oslone na polu-trusted sequencer da provere informaciju. Iako ZKP mogu da se koriste kao efektivan alat za skaliranje, treba da bude jasno zašto je njegova upotreba kao rešenja privatnosti za Web3 limitirana. Ako aplikacija dozvoljava više sequencers, privatnost je uništena još više. U nekim određenim slučajevima, ZKP može da ponudi korisnu privatnost — primer je Zcash valuta. Bez da otkrije koliko novčića korisnik ima ili troši, svaki korisnik mora da dokaže da ne troše dva put iste novčiće. Koristeći ZKP da dokažu da korisnik ne vara, Ali da budemo jasni: ova tehnika je limitirana na veoma usku svrhu (npr. valuta) i nije optimizovana za generalna sigurna računanja.

Za TEE, poverenje je u imenu. Ali poverljivost TEE je limitirana na hardware-based poverenje gde je TEE implementiran da pruža secure execution environment koji je izolovan od strane ostatka sistema. Ovo hardware-zasnovno poverenje je primarno zasnovano na sigurnosnim praksama hardware dizajnera i proizvođača. Ovo poverenje može da se proveri koristeći sigurne boot procese, sigurne enklave, i druge standardne industrijske prakse. TEE omogućava developerima da proizvode tamper-proof atestacoki za data input-e i atestacija za koju god aplikaciju trenutno grade ili koriste.

Zaključak

Ukratko, tehnologije privatnosti za Web3 postoje na spektru sa mnogo snaga i slabosti.

ZKP mogu da zadovolje neke privatne upotrebe, ali postoje i limitacije na njihov performans, skalabilnost i podršku za generalna računanja. Druge Web3 privatne tehnologije poput TEE su privlačnije za developere koji grade dApp-ove sa velikim brojem korisnika i velikom količinom podataka. U tim situacijama, TEE nude fleksibilni, skalabilni i efikasan alat za integrisanje robustne poverljivosti u bilo koju Web3 aplikaciju. Ali oba alata mogu da budu komplementarna, i neke Web3 aplikacije, na primer, mogu da koriste ZKP za poboljšanje sigurnosti i robustnosti TEE-baziranog sistema. Nevezano za koji alat privatnosti developeri koriste, budućnost Web3 je svetla sa širokim izborom tehnologija privatnosti za biranje.

--

--