Populární témata
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Zatímco čekáme na verdikt v procesu Storm, je dobré si připomenout, že stíněné bazény jsou jen matematika a není tak těžké je pochopit.
Implementovat ji může každý.
Zde je tedy vlákno se základní intuicí o tom, jak fungují:
Cílem je vybudovat systém, kde všechny informace v každé transakci zůstávají pro uživatele plně soukromé.
Od našich transakčních systémů bychom neměli očekávat nic menšího.
To je základní lidské právo na soukromí.
Problém je v tom, že pokud jsou všechny informace soukromé, jak blockchain ví, že je tx platný? Jak pozná, že uživatel skutečně má prostředky, které hodlá poslat? Že neutrácejí dvakrát?
Zřejmá odpověď zní: zk-proofs. Ale je to opravdu tak jednoduché?
Předpokládejme, že máte účet se zůstatkem 10. Chcete poslat 5 na Romanovu obranu. Takže vytvoříte zk-proof, který ukazuje, že máte 10, a vaše transakce pošle 5. Zdá se to dost snadné!
Ale počkat! Když jste udělali důkaz o tom, že máte 10, tento důkaz se týkal nějakého státu v minulosti, před posledním blokem, kde byl váš tx zahrnut. Možná jste od té doby utratili všechny mince! Jak můžete dokázat, že máte stále 10, při posledním bloku?
To je vlastně docela složité a to je důvod, proč stíněné fondy ve skutečnosti nefungují se systémy založenými na účtech - neexistuje žádný přímočarý a spolehlivý způsob, jak blockchainu dokázat nejnovější stav v reálném čase.
Řešení? Používejte UTXO. Slavné "Unspent Tx Outputs" z Bitcoinu.
S UTXO nemáte jediný aktualizovatelný účet, máte jednotlivé "poznámky", které lze utratit pouze jednou, a to v plné výši (jako skutečná mince). Systémy UTXO jsou obecně trochu otravné na vývoj, ale tato vlastnost "utratit jednou" je činí velmi užitečnými pro stíněné bazény
V systému UTXO, jako je Bitcoin, když jdete utratit UTXO, mohou všechny plné uzly zkontrolovat, že UTXO existuje (bylo vytvořeno v minulosti) a že ještě nebylo utraceno. To je přímočaré. Pokud jsou však všechna data v UTXO zašifrována, jak to můžeme zkontrolovat?
Nejenže jsou data zašifrována, ale nechceme ani prozradit, *které* UTXO je utraceno. Pokud bychom to udělali, pak by ten, kdo vám UTXO poslal, věděl, kdy jste ho utratili. V ideálním provedení stíněného bazénu unikne při transakci NULOVÁ informace.
Hlavním trikem stíněných poolů je zavedení hodnoty "nullifier", která může být veřejně odhalena, ale je jedinečně odvozena utrácejícím pro každý UTXO. Chcete-li UTXO utratit, blockchain zkontroluje, že nullifier ještě neexistuje. To vynucuje, že každé UTXO lze utratit pouze jednou
Nyní se můžeme vrátit k našemu zk-proofu. Jednoduše musíme dokázat, že UTXO, které utrácíme, skutečně existuje v řetězci a že nulifikátor, který jsme pro něj odhalili, je správně odvozen od UTXO, které utrácíme.
A je to!
V praxi to znamená, že systémy stíněných bazénů obvykle uchovávají dva odlišné Merkleovy stromy. Jeden obsahuje hashe UTXO (UTXO jsou často označovány jako "notes" a jejich hashe jako "note commitments") a druhý obsahuje nullifikátory. Oba stromy jsou pouze připojeny!
Když je vytvořena nová poznámka, její hodnota hash je uložena v Merkleově stromu poznámky. Samotná poznámka je zašifrována. Když uživatel později tuto poznámku utratí, vypočítá pro ni nullifikátor a vytvoří zk-proof, který ukazuje, že nota je v Merkleově stromu a nullifier je správný
Nullifier je odhalen veřejně a řetězec zkontroluje, zda již neexistuje ve stromu nullifieru. Tam se pak uloží, takže poznámku nelze znovu utratit. Nikdo ve skutečnosti nemůže říci, která bankovka je utracena, protože původní bankovka je ponechána sama ve stromu bankovek!
Tady to máte, základní design všech dnešních stíněných bazénů, včetně @Zcash, @TornadoCash, @penumbrazone, @namada a dalších
Samozřejmě, že design stíněného bazénu zahrnuje mnohem více. Zůstaňte naladěni na další vlákna, kde se do těchto mechanik ponoříme hlouběji
@AThryver @0xkaiserkarel Běžná mylná představa a pravděpodobně zavádějící použití termínu "zk" zde. Vidět

24. 7. 2024
TEE? ZKP? MPC? FHE?
Everything you need to know about the most important three letter acronyms in crypto
Or, how you win friends and TEE-fluence people 🧵
33,4K
Top
Hodnocení
Oblíbené