Możesz udowodnić, że masz ponad 18 lat, nie ujawniając swojej daty urodzenia. Możesz udowodnić, że masz wystarczająco dużo pieniędzy na transakcję, nie ujawniając swojego salda. Możesz udowodnić, że obliczenia zostały wykonane poprawnie, nie ujawniając danych wejściowych. Dowody z wiedzą zerową sprawiają, że wszystko to jest możliwe, i po cichu stają się najważniejszym prymitywem kryptograficznym w blockchainie od czasu funkcji skrótu.
Podsumowanie
Większość wprowadzeń do dowodów z wiedzą zerową zaczyna się od analogii z jaskinią Ali Baby, gdzie ktoś udowadnia, że zna tajne słowo do otwarcia drzwi, konsekwentnie wychodząc z tej strony, którą wskaże weryfikator, nie ujawniając nigdy słowa. Analogia jest urocza i całkowicie bezużyteczna do zrozumienia, dlaczego dowody ZK mają znaczenie w praktyce. Mówi ci, że taki dowód jest możliwy. Nie mówi ci, dlaczego ktokolwiek potrzebowałby go w blockchainie.
Praktyczny punkt wyjścia jest prostszy. Każdy blockchain stoi przed tym samym napięciem: przejrzystość umożliwia zaufanie, ale przejrzystość niszczy również prywatność. Księga Bitcoin jest publiczna. Każda transakcja, każde saldo, każdy adres jest widoczny dla każdego. Ethereum jest takie samo. Ta przejrzystość sprawia, że system jest audytowalny i godny zaufania, ale oznacza również, że każdy, kto dowie się, który adres należy do ciebie, może zobaczyć każdą transakcję, którą kiedykolwiek wykonałeś, każdy token, który posiadasz, i każdy protokół, z którym miałeś do czynienia.
Dowody z wiedzą zerową rozwiązują to napięcie. Pozwalają udowodnić fakty dotyczące twoich danych bez ujawniania samych danych. Możesz udowodnić, że twoje saldo przekracza próg, nie ujawniając dokładnego salda. Możesz udowodnić, że transakcja jest ważna, nie ujawniając nadawcy, odbiorcy ani kwoty. Możesz udowodnić, że nie znajdujesz się na liście sankcji, nie ujawniając swojej tożsamości.
Matematyka stojąca za tym jest głęboka. Zastosowania są natychmiastowe.
Trzy właściwości, które musi mieć każdy dowód ZK
Każdy system dowodów z wiedzą zerową musi spełniać trzy właściwości, a ich zrozumienie jest niezbędne do oceny każdego protokołu opartego na ZK.
Kompletność. Jeśli stwierdzenie jest prawdziwe, a zarówno dowodzący, jak i weryfikator postępują zgodnie z protokołem, weryfikator zawsze będzie przekonany. Prawidłowy dowód nigdy nie zawiedzie weryfikacji. Jeśli naprawdę znasz sekret, dowód zawsze zadziała.
Solidność. Jeśli stwierdzenie jest fałszywe, żaden oszukujący dowodzący nie może przekonać weryfikatora, że jest prawdziwe, z wyjątkiem znikomego prawdopodobieństwa. Nieuczciwy dowodzący nie może sfałszować ważnego dowodu. Prawdopodobieństwo, że fałszywy dowód przejdzie weryfikację, jest tak małe (zwykle mniejsze niż jeden na 2^128), że jest praktycznie niemożliwe.
Wiedza zerowa. Weryfikator dowiaduje się tylko tego, że stwierdzenie jest prawdziwe. Dowód nie ujawnia żadnych informacji o samym sekrecie, żadnych pośrednich obliczeń ani żadnych danych użytych do wygenerowania dowodu. Wiedza weryfikatora po zobaczeniu dowodu jest identyczna z tym, co byłoby, gdyby ktoś po prostu powiedział mu, że stwierdzenie jest prawdziwe.
Trzecia właściwość sprawia, że dowody ZK są użyteczne, a nie tylko poprawne. Standardowe podpisy cyfrowe dowodzą, że wiadomość została podpisana przez konkretny klucz, ale ujawniają treść wiadomości. Standardowe zobowiązania skrótu dowodzą, że wartość została zobowiązana, ale ujawniają wartość po otwarciu. Dowody ZK dowodzą, że istnieje związek między tajnymi wartościami, nie ujawniając tych wartości w żadnym momencie.
Czym różnią się zk-SNARKi i zk-STARKi
Dwa dominujące systemy dowodów ZK w blockchainie to zk-SNARKi i zk-STARKi. Rozwiązują ten sam problem z różnymi kompromisami.
zk-SNARKi (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) generują małe dowody, które są szybkie do weryfikacji. Typowy dowód zk-SNARK ma około 200 do 300 bajtów i może być zweryfikowany w łańcuchu za około 200 000 do 300 000 gazu w Ethereum. Czas weryfikacji jest stały niezależnie od złożoności obliczeń, które są dowodzone. Dowód weryfikujący pojedynczą transakcję zajmuje tyle samo czasu, co dowód weryfikujący dziesięć tysięcy transakcji.
Kosztem tej zwięzłości jest zaufana konfiguracja. Większość systemów zk-SNARK wymaga jednorazowej ceremonii, podczas której generowane są losowe parametry, a losowość jest następnie niszczona. Jeśli losowość z tej ceremonii nie zostanie właściwie zniszczona, atakujący mógłby sfałszować dowody. Zcash przeprowadził jedną z najbardziej skomplikowanych ceremonii zaufanej konfiguracji w historii kryptografii (ceremonia „Powers of Tau”) z udziałem setek uczestników na całym świecie, gdzie założeniem bezpieczeństwa jest to, że co najmniej jeden uczestnik uczciwie zniszczył swoją losowość.
Nowsze systemy SNARK, takie jak PLONK i Halo 2, zmniejszyły lub wyeliminowały wymóg zaufanej konfiguracji, ale postrzeganie to utrzymuje się. Niektóre projekty unikają SNARK właśnie ze względu na obawy dotyczące zaufanej konfiguracji, nawet gdy implementacje, których by użyły, nie wymagają jej.
zk-STARK (Zero-Knowledge Scalable Transparent Arguments of Knowledge) całkowicie eliminują zaufaną konfigurację. Opierają swoje bezpieczeństwo na funkcjach skrótu, a nie na założeniach dotyczących krzywych eliptycznych, co czyni je transparentnymi (bez tajnych parametrów) i teoretycznie odpornymi na ataki kwantowe (kryptografia oparta na funkcjach skrótu jest uważana za bezpieczną wobec komputerów kwantowych, podczas gdy kryptografia na krzywych eliptycznych nie jest).
Kompromisem jest rozmiar. Dowody STARK są znacznie większe niż dowody SNARK, zazwyczaj od kilkudziesięciu do kilkuset kilobajtów w porównaniu do setek bajtów. W blockchainie, gdzie koszt przechowywania danych to gaz, większe dowody oznaczają wyższe koszty weryfikacji. StarkWare, główny deweloper technologii STARK, rozwiązuje ten problem za pomocą rekurencyjnej kompozycji dowodów: udowodnienie, że dowód jest ważny, a następnie udowodnienie, że dowód dowodu jest ważny, kompresując końcowy ślad w łańcuchu.
W praktyce różnica ma mniejsze znaczenie niż pięć lat temu. Nowoczesne systemy dowodowe coraz częściej łączą techniki z obu rodzin, a nacisk inżynieryjny przesunął się z wyboru systemu dowodowego na to, jak szybko prower może generować dowody i jak tanio weryfikator może je sprawdzać.
Dowody ZK dla skalowania blockchaina
Zastosowanie dowodów ZK do skalowania jest koncepcyjnie proste. Rollup wykonuje partię transakcji poza łańcuchem, generuje dowód, że partia została wykonana poprawnie, i publikuje dowód w Ethereum. Kontrakt weryfikatora Ethereum sprawdza dowód w jednej operacji i akceptuje nowy stan.
To, co czyni to potężnym, to asymetria między dowodzeniem a weryfikacją. Wygenerowanie dowodu dla partii 10 000 transakcji może zająć potężnej maszynie kilka minut. Weryfikacja dowodu zajmuje ułamek sekundy i kosztuje stałą ilość gazu niezależnie od liczby transakcji w partii. Ta asymetria pozwala ZK rollupom skompresować tysiące transakcji do jednej weryfikacji w Ethereum.
Główne ZK rollupy różnią się podejściem do tej architektury.
zkSync Era używa niestandardowej maszyny wirtualnej (zkEVM), która jest kompatybilna z Solidity na poziomie języka, ale kompiluje do innego zestawu instrukcji zoptymalizowanego pod generowanie dowodów ZK. Istniejące kontrakty Ethereum mogą być przekompilowane dla zkSync przy minimalnych zmianach.
StarkNet używa języka programowania Cairo i dowodów STARK. Cairo to język zaprojektowany specjalnie do obliczeń możliwych do udowodnienia, co daje przewagę wydajnościową, ale wymaga od programistów nauki nowego języka i paradygmatu.
Polygon zkEVM dąży do równoważności z EVM, co oznacza, że może wykonywać ten sam kod bajtowy co Ethereum bez rekompilacji. To maksymalizuje kompatybilność, ale wprowadza złożoność inżynieryjną w uczynieniu każdego opkodu EVM możliwym do udowodnienia.
Scroll również celuje w pełną równoważność z EVM i stosuje podejście oparte na społeczności do swojej implementacji zkEVM, z celem bycia najbardziej kompatybilnym z Ethereum ZK rollupem.
Konkurencja między tymi podejściami jest ostatecznie konkurencją między kompatybilnością a wydajnością. Im bardziej kompatybilny jest ZK rollup z istniejącymi narzędziami Ethereum, tym łatwiejsza jest migracja dla programistów. Im bardziej rollup optymalizuje swój zestaw instrukcji pod kątem możliwości udowodnienia, tym szybsze i tańsze stają się jego dowody.
Dowody ZK dla prywatności
Zastosowanie prywatnościowe jest tam, gdzie dowody ZK stają się najbardziej znaczące i najbardziej kontrowersyjne.
Standardowa transakcja Ethereum ujawnia adres nadawcy, adres odbiorcy, przelaną kwotę i wywołany kontrakt inteligentny. Ta informacja jest trwale publiczna. Firmy analityczne, takie jak Chainalysis i Elliptic, zbudowały całe biznesy na śledzeniu przepływów transakcji w przejrzystej księdze, łącząc adresy z tożsamościami ze świata rzeczywistego za pomocą danych KYC z giełd, znanych etykiet podmiotów i wzorców behawioralnych.
Protokoły prywatności ZK przerywają ten łańcuch widoczności. W prywatnej transakcji opartej na ZK użytkownik generuje dowód, że jego transakcja jest ważna (nadawca ma wystarczające środki, nie ma podwójnego wydawania, kwoty się bilansują) bez ujawniania, kto wysłał, kto otrzymał ani ile zostało przelane. Dowód jest publikowany w łańcuchu i weryfikowany przez sieć, ale szczegóły bazowej transakcji pozostają zaszyfrowane.
Zcash był pierwszą znaczącą implementacją tej koncepcji, wprowadzoną w 2016 roku z transakcjami chronionymi (shielded) wykorzystującymi zk-SNARKi. Użytkownik Zcash może wybierać między transakcjami jawnymi (identycznymi z publiczną księgą Bitcoina) a transakcjami chronionymi (gdzie nadawca, odbiorca i kwota są ukryte za dowodem ZK). W praktyce adopcja transakcji chronionych w Zcash była niższa, niż oczekiwali zwolennicy, a większość transakcji Zcash nadal korzysta z jawnej puli.
Nowsze protokoły budują programowalną prywatność, gdzie nie tylko transfery tokenów, ale także dowolna logika inteligentnych kontraktów może być wykonywana prywatnie. Aztec Network buduje warstwę 2 na Ethereum zorientowaną na prywatność, gdzie wszystkie transakcje są domyślnie prywatne. Aleo buduje blockchain warstwy 1 z natywnym wsparciem ZK dla prywatnych inteligentnych kontraktów. Oba wykorzystują dowody ZK do weryfikacji zmian stanu bez ujawniania obliczeń lub danych.
Potencjał prywatności wykracza poza pojedyncze transakcje. Dowody ZK mogą umożliwić prywatne głosowanie (udowodnienie, że się głosowało, bez ujawniania wyboru), prywatną weryfikację tożsamości (udowodnienie, że jest się obywatelem danego kraju bez ujawniania numeru paszportu) oraz prywatne DeFi (dostarczanie płynności do puli bez ujawniania adresu lub wielkości pozycji).
Kolizja regulacyjna
Prywatność w kryptowalutach zajmuje sporną przestrzeń prawną, która wciąż jest definiowana.
W sierpniu 2022 roku Biuro Kontroli Aktywów Zagranicznych (OFAC) Departamentu Skarbu USA nałożyło sankcje na Tornado Cash, mikser oparty na Ethereum, który wykorzystywał dowody ZK do zerwania powiązania między adresami wpłat i wypłat. Sankcje nałożone na otwarty kod inteligentnego kontraktu, a nie na osobę lub firmę, były bezprecedensowe i wstrząsnęły społecznością prywatności kryptowalut.
W maju 2024 roku Alexey Pertsev, jeden z deweloperów Tornado Cash, został skazany przez holenderski sąd za ułatwianie prania pieniędzy. Wyrok ustanowił precedens prawny, że pisanie kodu chroniącego prywatność może pociągać za sobą odpowiedzialność karną, jeśli narzędzie jest używane do nielegalnych celów, niezależnie od tego, czy deweloper osobiście ułatwiał nielegalną działalność.
Te działania ukształtowały kierunek rozwoju prywatności ZK. Obecna generacja protokołów prywatności buduje wokół ograniczeń regulacyjnych, a nie je ignoruje.
Selektywne ujawnianie pozwala użytkownikowi udowodnić konkretne fakty dotyczące jego tożsamości lub historii transakcji bez ujawniania wszystkiego. Użytkownik może udowodnić, że przeszedł KYC w licencjonowanej giełdzie, że nie znajduje się na liście sankcyjnej OFAC lub że jego środki nie pochodzą z objętego sankcjami adresu, wszystko przy użyciu dowodów ZK, które ujawniają tylko weryfikowane twierdzenie.
Pule prywatności, koncepcja sformalizowana przez Vitalika Buterina i innych, pozwalają użytkownikom udowodnić, że ich wypłata z zestawu prywatności należy do czystego podzbioru wpłat. Zamiast mieszać wszystkie wpłaty bez rozróżnienia, protokół utrzymuje zestawy powiązań, które wykluczają znane nielegalne adresy. Użytkownicy udowadniają członkostwo w czystym zestawie bez ujawniania, której konkretnej wpłaty dotyczą.
Czy te kompromisy zadowolą organy regulacyjne, pozostaje kwestią otwartą. Podstawowe napięcie, że prywatność i nadzór są architektonicznie niekompatybilne, nie zostanie rozwiązane samą technologią. Dowody ZK dają decydentom narzędzie, którego nigdy wcześniej nie mieli: możliwość weryfikacji zgodności bez wymogu ujawniania. Czy zdecydują się go użyć, to pytanie polityczne, a nie kryptograficzne.
Koszt generowania dowodów ma konkretne implikacje dla tego, które aplikacje jako pierwsze przyjmą technologię ZK. Transakcje finansowe o wysokiej wartości, gdzie koszt wygenerowania dowodu jest znikomy w porównaniu z wielkością transakcji, były najwcześniejszymi użytkownikami. Instytucjonalne transfery międzyłańcuchowe, duże pozycje DeFi i systemy rozliczeń korporacyjnych mogą pochłonąć koszt dowodu wynoszący kilka dolarów za transakcję bez wpływu na ich ekonomikę. Aplikacje konsumenckie, gdzie pojedyncze transakcje mogą być warte tylko kilka dolarów, potrzebują spadku kosztów dowodów o kolejny rząd wielkości, zanim prywatność ZK stanie się praktyczna w codziennym użyciu. Działania związane z akceleracją sprzętową podejmowane przez firmy budujące układy ASIC specyficzne dla ZK są bezpośrednio ukierunkowane na tę barierę kosztową.
Zbieżność skalowania i aplikacji prywatności jest być może najbardziej niedocenianym aspektem technologii ZK. Rollup ZK, który przetwarza transakcje prywatnie, łączyłby korzyści przepustowości wykonania poza łańcuchem z korzyściami poufności zaszyfrowanych zmian stanu. Użytkownicy otrzymaliby szybkie, tanie transakcje, które są również niewidoczne dla analizy łańcucha. Kilka projektów, w tym Aztec i Polygon Miden, buduje dokładnie takie połączenie, chociaż złożoność inżynieryjna połączenia obu możliwości w system produkcyjny pozostaje znaczna.
Czego ten artykuł nie obejmuje
Ten artykuł nie obejmuje matematyki zobowiązań wielomianowych, parowania krzywych eliptycznych ani transformacji Fiat-Shamira, które leżą u podstaw systemów dowodów ZK. Zrozumienie tych zagadnień wymaga zaawansowanej algebry abstrakcyjnej na poziomie studiów doktoranckich i nie jest konieczne do oceny protokołów opartych na ZK jako użytkownik lub inwestor.
Ten artykuł nie obejmuje uczenia maszynowego ZK (zkML), rozwijającej się dziedziny, która wykorzystuje dowody ZK do weryfikacji, że model uczenia maszynowego wygenerował określony wynik bez ujawniania wag modelu ani danych treningowych. To zastosowanie jest eksperymentalne, a jego praktyczne implikacje są nadal badane.
Ten artykuł nie odnosi się do wyścigu w zakresie akceleracji sprzętowej do generowania dowodów ZK. Firmy takie jak Cysic, Ingonyama i Fabric Cryptography budują niestandardowe układy ASIC i FPGA specjalnie do dowodzenia ZK, co może zmniejszyć koszty dowodzenia o rzędy wielkości. Krajobraz sprzętowy zmienia się zbyt szybko, aby można było przeprowadzić statyczną analizę.
Praktyczne kontrole przed użyciem protokołu opartego na ZK
Zweryfikuj status audytu systemu dowodów. Systemy dowodów ZK są matematycznie złożone, a błędy implementacji mogą być katastrofalne. Błąd w obwodzie (matematycznej reprezentacji obliczeń, które są dowodzone) mógłby pozwolić atakującemu na sfałszowanie dowodów i wybicie tokenów lub kradzież środków. Sprawdź, czy system dowodów i jego obwody zostały poddane audytowi przez firmy specjalizujące się w kryptografii ZK, a nie tylko przez ogólnych audytorów inteligentnych kontraktów.
Zrozum, co jest faktycznie prywatne. Nie wszystkie protokoły oparte na ZK zapewniają ten sam poziom prywatności. Niektóre ukrywają kwoty transakcji, ale ujawniają adresy. Inne ukrywają adresy, ale ujawniają kwoty. Jeszcze inne ukrywają wszystko. Przeczytaj dokumentację protokołu, aby dokładnie zrozumieć, jakie informacje są ukryte, a jakie pozostają widoczne. Metadane, takie jak czas transakcji, wzorce zużycia gazu i częstotliwość interakcji, mogą często zanonimizować użytkowników, nawet gdy podstawowe dane transakcji są ukryte.
Sprawdź status zaufanej konfiguracji. Jeśli protokół używa zk-SNARK, określ, czy wymagał zaufanej konfiguracji i jak została przeprowadzona. Ceremonie obliczeń wielostronnych z udziałem setek uczestników są bardziej godne zaufania niż małe ceremonie z garstką znanych podmiotów. Protokoły korzystające z STARK, PLONK z uniwersalną konfiguracją lub Halo 2 nie wymagają w ogóle zaufanych konfiguracji.
Oceń ryzyko regulacyjne. Protokoły prywatności działają w prawnie niepewnym środowisku. Zastanów się, czy protokół ma mechanizm zgodności (selektywne ujawnianie, pule prywatności, opcjonalne dowody zgodności) i czy ten mechanizm został przetestowany pod kątem rzeczywistej kontroli regulacyjnej. Korzystanie z protokołu prywatności, który później zostanie objęty sankcjami, może skomplikować możliwość przenoszenia lub sprzedaży aktywów.
Przetestuj czas dowodzenia. Generowanie dowodu ZK jest obliczeniowo intensywne. Na urządzeniu mobilnym udowodnienie prostej transakcji może zająć od 30 sekund do dwóch minut. Na komputerze stacjonarnym może to zająć kilka sekund. Jeśli czas dowodzenia jest zbyt długi dla Twojego przypadku użycia, protokół może nie być praktyczny do częstych transakcji. Niektóre protokoły przenoszą dowodzenie na dedykowane serwery, co jest szybsze, ale wprowadza założenie zaufania, że serwer nie pozna Twoich prywatnych danych.
Czym jest dowód z wiedzą zerową w prostych słowach?
Dowód z wiedzą zerową to sposób na udowodnienie, że coś jest prawdziwe, bez ujawniania, dlaczego jest prawdziwe. W blockchainie oznacza to, że możesz udowodnić, że transakcja jest ważna, że posiadasz wystarczające środki lub że obliczenia zostały wykonane poprawnie, wszystko bez ujawniania rzeczywistych szczegółów transakcji, salda ani danych użytych w obliczeniach. Weryfikator jest przekonany, że stwierdzenie jest prawdziwe, ale nie dowiaduje się niczego więcej.
Jaka jest różnica między zk-SNARK a zk-STARK?
zk-SNARKi generują bardzo małe dowody (setki bajtów), które są tanie w weryfikacji, ale historycznie wymagały ceremonii zaufanej konfiguracji do wygenerowania początkowych parametrów systemu. zk-STARKi generują większe dowody (dziesiątki do setek kilobajtów), ale nie wymagają zaufanej konfiguracji i są teoretycznie odporne na ataki komputerów kwantowych. W praktyce nowoczesne systemy dowodowe zbiegają się, a kompromisy między rozmiarem, szybkością i założeniami zaufania stają się mniej wyraźne.
Jak dowody ZK pomagają w skalowaniu blockchaina?
Rollupy ZK wykonują tysiące transakcji poza łańcuchem i generują pojedynczy dowód, że wszystkie transakcje zostały wykonane poprawnie. Ten dowód jest weryfikowany na Ethereum w jednej operacji, która kosztuje stałą ilość gazu niezależnie od liczby transakcji w partii. Asymetria między kosztem wygenerowania dowodu (wysokim, ale ponoszonym przez operatora rollupu) a jego weryfikacją (niskim i płaconym raz za całą partię) tworzy efekt skalowania.
Czy monety prywatności oparte na ZK są nielegalne?
Monety prywatności oparte na ZK, takie jak Zcash, nie są z natury nielegalne w większości jurysdykcji. Jednak podejścia regulacyjne znacznie się różnią. Niektóre giełdy wycofały monety prywatności, aby spełnić wymogi przepisów przeciwko praniu pieniędzy. Sankcje na Tornado Cash w 2022 roku pokazały, że protokoły chroniące prywatność mogą spotkać się z działaniami regulacyjnymi. Legalność zależy od Twojej jurysdykcji i sposobu korzystania z technologii, a nie od samej technologii.
Czym jest zaufana konfiguracja i dlaczego ma znaczenie?
Zaufana konfiguracja to jednorazowa ceremonia wymagana przez niektóre systemy zk-SNARK do wygenerowania parametrów kryptograficznych. Podczas ceremonii tworzone są losowe wartości, które później muszą zostać zniszczone. Jeśli którykolwiek uczestnik zachowa losowe wartości, mógłby teoretycznie sfałszować dowody. Ceremonie wielostronne ograniczają to ryzyko, wymagając, aby tylko jeden uczestnik z potencjalnie setek uczciwie zniszczył swoją losowość. Nowsze systemy dowodowe, takie jak PLONK i Halo 2, wyeliminowały lub zminimalizowały wymóg zaufanej konfiguracji.
Czy dowody ZK mogą uczynić wszystkie transakcje blockchain prywatnymi?
Technicznie tak. Protokoły takie jak Aztec Network i Aleo budują systemy, w których wszystkie interakcje z inteligentnymi kontraktami są domyślnie prywatne, nie tylko transfery tokenów. Jednak pełna prywatność wszystkich transakcji wprowadza wyzwania regulacyjne, zwiększa koszty obliczeniowe (generowanie dowodów ZK jest kosztowne) i zmienia doświadczenie użytkownika (dowodzenie zajmuje czas). To, czy pełna prywatność w łańcuchu stanie się standardem, zależy zarówno od decyzji regulacyjnych, jak i od możliwości technicznych.
Jak działają pule prywatności?
Pule prywatności umożliwiają użytkownikom wpłatę środków do wspólnej puli i wypłatę z innego adresu, zrywając łańcuchowe powiązanie między tymi dwoma adresami. W przeciwieństwie do prostych mikserów, pule prywatności wykorzystują dowody ZK w połączeniu z zestawami skojarzeń, aby umożliwić użytkownikom udowodnienie, że ich wypłata należy do podzbioru depozytów, który wyklucza znane nielegalne adresy. Daje to użytkownikom prywatność, jednocześnie zapewniając mechanizm zgodności. Użytkownik udowadnia, że znajduje się w czystym zestawie, nie ujawniając, który konkretny depozyt wypłaca.
Jakie są główne ryzyka korzystania z protokołów opartych na ZK?
Główne ryzyka obejmują błędy implementacji w obwodach ZK (które mogą pozwolić na sfałszowanie dowodów), podatności zaufanej konfiguracji w starszych systemach SNARK, działania regulacyjne przeciwko funkcjom prywatności, wysokie wymagania obliczeniowe do generowania dowodów na sprzęcie konsumenckim oraz względną niedojrzałość narzędzi ZK w porównaniu ze standardowym tworzeniem inteligentnych kontraktów. Ponadto wyciek metadanych (czas transakcji, wzorce gazu, częstotliwość interakcji) może czasami zanonimizować użytkowników, nawet gdy podstawowe dane transakcji są prywatne.














