Introduktion til Zero Knowledge Secret Santa
Ethereum-forskere arbejder på at implementere en protokol, som de først introducerede tidligere på året, der kan forbedre privatlivets fred ved hjælp af zero-knowledge proofs. Ethereum-udvikler Artem Chystiakov delte sin forskning på Ethereum-fællesskabsforumet mandag med titlen “Zero Knowledge Secret Santa (ZKSS)”, som foreslår en tre-trins “Secret Santa”-algoritme. Papiret blev først præsenteret i januar på arXiv.
Hvad er Secret Santa?
Secret Santa er et populært gaveudvekslingsspil, der spilles omkring juletid, hvor en gruppe mennesker anonymt udveksler gaver. Hver person køber en gave til en anden person som deres “Secret Santa” og modtager også en gave fra deres egen “Secret Santa.” Modtagerne af gaverne lærer aldrig, hvem deres Secret Santa er.
Udfordringer ved at spille på Ethereum
Chystiakov nævnte, at der er tre hovedhindringer for at spille Secret Santa på Ethereum, som denne protokol kunne løse:
- For det første er alt på Ethereum synligt for alle, så der skal være en metode til at skjule, hvem der giver til hvem, for at opretholde privatlivets fred.
- For det andet har blockchains ikke ægte tilfældighed, så deltagerne skal bidrage med deres egne tilfældige valg.
- Spillet skal designes til at forhindre, at nogen deltager to gange eller giver en gave til sig selv.
Potentielle anvendelsestilfælde
Potentielle anvendelsestilfælde for Ethereum Blockchain-privatliv er blevet et varmt emne for nylig, da kryptovaluta bliver mere integreret i traditionel finans. Privatlivsprotokoller kunne anvendes i scenarier som:
- Anonym afstemning og governance, herunder DAOs (Decentralized Autonomous Organizations), hvor brugere skal bevise, at de er medlemmer og afgiver én stemme, men holder deres valg privat.
- Whistleblower-systemer, hvor brugere skal bevise, at de er autoriserede medarbejdere, mens de indsender oplysninger anonymt.
- Private airdrops eller tildelinger, hvor tokens skal distribueres uden at afsløre, hvem der modtog hvad.
Hvordan Zero Knowledge Secret Santa fungerer
Proof-of-concept Solidity-protokollen bruger zero-knowledge proofs til at etablere relationer mellem gavegiver og modtager, samtidig med at giverens privatliv og fortrolighed opretholdes. ZK-proofs er en kryptografisk metode til at bevise viden uden at afsløre den specifikke information. ZKSS-protokollen anvender også en transaktionsrelæ, som fungerer som en mellemmand, der indsender transaktioner, hvilket holder giverens identitet skjult.
For at deltage registrerer deltagerne deres Ethereum-adresser i en smart kontrakt, hvilket skaber en liste over alle deltagere. Derefter forpligter hver deltager sig til at bruge en specifik digital signatur. Dette forhindrer snydeangreb, hvor nogen kunne deltage flere gange ved at oprette forskellige signaturer. Hver deltager tilføjer derefter hemmeligt deres tilfældige nummer til en delt liste ved hjælp af relæet, så ingen ved, hvem der tilføjede hvad. Dette gør det muligt for modtagerne at kryptere deres leveringsadresse, så kun deres tildelte “Santa” kan læse den. Endelig vælger hver deltager et andet tilfældigt nummer fra den delte liste, hvorefter identiteten af modtageren afsløres.
Da Chystiakov blev spurgt om open-source implementeringer, sagde han: “Vi arbejder på det.”