Написао сам детаљан чланак који објашњава Пре неколико година. тај пројекат је био мој први прави сусрет са технологијом нултог знања, и то ми је помогло да разумем његов унутрашњи рад. У овом новом чланку, представићу концепт који се заснива на Торнадо Цасх-у - у суштини зЦасх-овом "уграђеном блоцкцхану". То није право решење за слој 2, јер се сва активност одвија у потпуности на ланцу. Kako funkcioniše Tornado Cash Kako funkcioniše Tornado Cash? Пошто сам већ написао детаљан чланак на тему, овде ћу дати резиме.Ако сте заинтересовани за техничко дубоко роњење, препоручујем да прочитате моје претходне чланке: Магија нултог знања кроз изворни код торнадо новца JavaScript Tutorial for Zero-Knowledge Proofs Коришћење snarkjs и circom Како сам изградио систем анонимног гласања на Етхереум Блоцкцхаину користећи доказ нултог знања Укратко, Торнадо Цасх ради тако што има кориснички депозит ЕТХ или други токен у паметном уговору Торнадо Цасх, заједно са Svaka kompanija ima partnera , што је познато само кориснику. Паметни уговор чува обавезу у дрвету Меркле. Касније, корисник може повући средства са друге адресе откривањем нулфиера. commitment nullifier Пошто само корисник познаје поништавача, нико не може повезати повлачење са оригиналним депозитом. Међутим, паметни уговор и даље треба да провери да је поништавач везан за важећу обавезу. То показује : zero-knowledge proof Obaveza je deo Merkle stabla (korisnik je stvarno uložen u ugovor), i Nulifier je nastao iz te obaveze. Сваки рефлектор се може користити само једном, осигуравајући да се средства не могу повући више од једном. У Торнадо Цасх-у, хаше за обавезу и нулфиере се израчунавају на следећи начин: commitment_hash = HASH(nullifier, secret) nullifier_hash = HASH(nullifier) Пошто су криптографски хашеви једносмерне функције (не можете одредити оригинални улаз из хаша без брутне силе), немогуће је повезати И о Међутим, њихов однос се може доказати помоћу нултог доказа знања. commitment_hash nullifier_hash На пример, ако депонујете 12,34 ЕТХ и касније повучете тачно 12,34 ЕТХ, неко би могао разумно претпоставити да су два повезана. Концепт који ћу описати у следећем одељку бави се овим ограничењем, инспиришући се начином на који зЦасх решава проблем. Решавање проблема фиксне деноминације Ограничење фиксних износа депозита може се превазићи увођењем два додатна начина поред депозита и повлачења: и . split merge Тхе Функција функционише слично повлачењу, али уместо да наведе Етхереум адресу, корисник даје две нове обавезе. Сплит омогућава кориснику да подели сачуван износ на било која два дела - и што је најважније, то се дешава без откривања нових износа свима који посматрају блоцкцхаин. split У ажурираном систему, обавеза је структурирана на следећи начин: commitment_hash = HASH(amount, nullifier, secret) Ова структура је неопходна зато што, током раздвајања, корисник мора доказати да две нове обавезе садрже износе који се додају тачно на износ оригиналне обавезе. Лако је видети како овај механизам бави проблемом фиксне деноминације у Торнадо Цасх. На пример, корисник може депоновати произвољан износ као што је 100 ЕТХ, поделити га на делове (нпр., 60 ЕТХ и 40 ЕТХ), а касније их повући на различите адресе. Такође нема потребе да одмах повучете средства. корисници могу ефикасно , функционише као врста виртуелног новчаника. Ово је омогућено од стране операција, која омогућава да се две складиштене обавезе (које се односе преко њихових поништавача) комбинују у једну нову обавезу. store value in the smart contract itself merge Да би извршио спајање, корисник мора доказати да се укупан износ у два улазна обавеза поклапа са износом у новој обавези. To stvara neku vrstu , где сваки корисник има приватну равнотежу и може слободно послати средства другима. Повлачење је неопходно само када неко жели да изађе из система и потроши своју имовину изван овог приватног слоја. embedded ledger Приватност-одржавање слоја на Етхереум Хајде да прођемо кроз пример да видимо како овај слој приватности функционише у пракси: Алице ствара 100 ЕТХ пул на паметном уговору депозитом 100 ЕТХ заједно са обавезом. Боб ради исто, стварајући 10 ЕТХ базен са сопственом посвећеношћу. Алице жели да пошаље 10 ЕТХ Бобу. Она користи функцију подели, која конзумира њен нуллифиер и дели оригиналних 100 ЕТХ у две нове обавезе: један за 10 ЕТХ и један за 90 ЕТХ. Алице шифрира 10 ЕТХ нулелифер користећи Боб'с јавни кључ и пише га у блоцкцхаин. Bob dešifruje poruku pomoću svog privatnog ključa i dobija nullifier.On sada može ili da povuče 10 ETH ili da ga spoji sa svojim postojećim saldom. Боб одлучује да задржи средства у систему, тако да користи операцију спајања. Он обезбеђује нулфиер из своје 10 ЕТХ обавезе и онога који је примио од Алице, а затим ствара нову обавезу за 20 ЕТХ. Posle transakcije : Алис има преосталу равнотежу од 90 ЕТХ, Боб сада контролише 20 ЕТХ у слоју приватности. Pošto nullifiers i obaveze ne nose javno vidljive informacije, a poruke između korisnika su šifrovane, sve ove transakcije se dešavaju. . completely anonymously Пошто корисници могу слободно пренети вредност у систему без откривања износа или идентитета, често нема потребе за повлачењем. Са једном кључном разликом: . Layer 2 blockchain everything happens on-chain Conclusion Закључак Увођењем две једноставне операције - и - можемо значајно побољшати оригинални концепт Торнадо Цасх и претворити га у пуноправни на Етхереум. За разлику од традиционалних миксера ограничених на фиксне деноминације, овај надограђени модел подржава , омогућавајући корисницима да деле, спајају и преносе вредност флексибилно и анонимно. split merge privacy-preserving transaction layer arbitrary amounts У својој основи, систем се ослања на , , и Uključivanjem iznosa direktno u obavezu, korisnici mogu da dokažu ispravnost operacija čuvanja vrednosti kao što su deljenje i spajanje, a da nikad ne otkrivaju stvarne iznose ili učesnike. zero-knowledge proofs commitments nullifiers Rezultat je neka vrsta То функционише у потпуности Korisnici mogu da skladište sredstva privatno, da šalju sredstva jedni drugima koristeći šifrovane poruke, i da se povuku samo kada im je potrebno da interaguju sa javnim Ethereum slojem. Са оним , стварајући моћан оквир за анонимни, програмски пренос вредности. embedded blockchain on-chain privacy features of zCash smart contract capabilities of Ethereum Најбоље од свега, овај модел је компатибилан са , чинећи га практичном и скалабилном основу за апликације за очување приватности у ширем Етхереум екосистему. any EVM-based blockchain