Ovo je uvodnik mišljenja Dana Goulda i Nicka Farrowa. Gould je programer koji je radio na aplikacijama TumbleBit, PayJoin i Chaincase, a sponzorirali su ga Human Rights Foundation i Geyser Grants. Farrow je australski Bitcoin inženjer najpoznatiji po svom procesoru plaćanja otvorenog koda SatSale.
“Hej, upravo sam dobio poziv za ovaj hackathon u Maleziji”, rekao je Evan Lin, prekidajući moj tok preko mog laptopa u Taipei Hackerspace.”To zvuči čarobno”, odbrusio sam.”Mogu li doći?”
Tjednima sam udarao glavom o stol. Lin je rušio moju ideju o tome što je bitcoin privatnost. “To je privatni događaj, a ne tipični hackathon. Mogu pitati.”
Jedan let, dva tjedna i šest minuta logistike glasovnih poruka kasnije, šetali smo durijanskim ulicama Kuala Lumpura u Maleziji, s Lloydom Fournierom, razmišljajući o zajedničkoj strasti kako bi se bitcoin privatnost držala. Sada smo bili tim. Krenuli smo nadograditi Fedimint koristeći napola uglađenu kriptografiju, neke naškrabane bilješke, a zatim ga demonstrirati na prvom susretu malezijskih BitDevsa pet dana kasnije.
Fournier se pridružio Nicku Farrowu u razvoju FROST-a, novu kriptografiju praga koja koristi prednosti Taproota, u prethodnim mjesecima. Budući da je bio izvor ljudskih resursa za Bitcoin, Fournier je također blisko surađivao s Linom koji je suradnik Bitcoin Dev Kit-a (BDK). On i ja proveli smo posljednjih nekoliko tjedana nadograđujući privatnost PayJoina pod fluorescentnim svjetlima tijekom sitnih sati u Taipeiju na Tajvanu, tako da smo uspostavili povjerenje da zajedno uskočimo u duboki projekt. Fournierov poziv bio je korak do ruba. Kako bismo svijetu pokazali vrhunsku kriptografiju, morali smo staviti FROST u aplikaciju. Fedimint je svima zaokupio oko za svoj novi model skrbništva s pragom. Bilo je prikladno za potragu.
Skrbništvo nad sobom je nov, zastrašujući koncept za većinu ljudi. Toliko ljudi pohranjuje bitcoine na burzama pod skrbništvom trećih strana, ostavljajući ih izloženima cenzuri i nepristojnom nadzoru. Ujedinjene kovnice novca nude treći način: federacija poznatih čuvara čuva sredstva zajednice na sigurnom. Dakle, kako to funkcionira?
Svatko može poslati bitcoin Fedimint-u u zamjenu za tokene e-gotovine. Skrbnici dijele skrbništvo nad bitcoinom zajednice u novčaniku s više potpisa. E-cash tokeni samo su neki podaci: slijepi potpisi koji se kasnije mogu zamijeniti za određenu količinu bitcoina. To su novčanice sa super moćima. Pošaljite Lightning fakturu i svoje tokene za e-gotovinu da biste ih”izbacili”. Mogli biste dobiti E-cash u poruci i zatražiti od federacije da ponovno izda potpise tako da ih nitko drugi ne može uzeti. Potpisi su slijepi, tako da se može otkupiti u potpunoj anonimnosti. Svatko može Fedimintu poslati e-gotovinu kako bi dobio bitcoin.
Kako bi se skrbništvo podijelilo između skrbnika, Fedimint koristi naslijeđene adrese s više potpisa temeljene na Bitcoin skripti. Prag broja skrbnika potpisuje za prijenos sredstava. Ta je sredstva lako uočiti na blockchainu budući da Script multisig upisuje broj potpisnika i ukupan broj skrbnika u blockchain kako bi ih svi mogli vidjeti. Iako je e-gotovina anonimna, tvrtke za nadzor mogu identificirati”peg-in”,”peg-out”i klaster fondove zajednice. Koristeći najnoviju nadogradnju Bitcoina, Taproot, naš tim je riješio ovaj problem privatnosti prebacivanjem Script multisig na FROST.
Unesite FROST
FROST (Fleksibilni okrugli optimizirani Schnorrov prag ) moćna je nova vrsta multisig-a koja spaja ključne udjele članova federacije u zajednički FROST ključ. Za potrošnju prema ovom ključu, prag broja članova mora proizvesti dionicu potpisa. Dionice se zatim kombiniraju u jedinstveni potpis koji vrijedi pod zajedničkim FROST ključem. Članovi koordiniraju izvan lanca. Transakcije FROST-a ne razlikuju se od redovitih Taproot trošenja jedne strane i stoga zaustavite jezivi nadzor. Povrh toga, FROST omogućuje fleksibilne federacije, dopuštajući novim skrbnicima da se pridruže bez koordinacije svakog člana federacije za ponovno generiranje novih ključeva.
Naš prvi korak bio je razumjeti kako je federacija postigla konsenzus pri svakom potpisivanju krug. Fedimintov algoritam konsenzusa može tolerirati loše ponašanje do jedne trećine federacije i svejedno postići konsenzus. Bio je potreban jedan dan na bijeloj ploči za dekodiranje algoritma konsenzusa i još jedan za konfiguriranje početne generacije FROST ključa.
Dolazak do Fedimint konsenzusa (sliku dostavili autori)
Prevarili smo generiranje ključeva radeći sve u memoriji jednog pouzdanog uređaja. U najboljoj praksi, ceremonija s dvije runde čuva tajne udjele pojedinca u zajedničkom ključu FROST koji postoji samo na uređaju te osobe. Cjelokupna tajna nikada se ne rekonstruira.
Dolazak do konsenzusa (potpisi)
Testirali smo transakciju vezanu prije nego što smo izmijenili kod Fedimint novčanika i ostali zbunjeni. Zbog ograničenja slijepih potpisa, Fedimint tokeni e-gotovine (slični CoinJoin izlazima) ograničeni su na unaprijed postavljene denominacije tako da svaki prijenos tokena e-gotovine ima postavljenu anonimnost. Čekajući i čekajući i čekajući, Lin se nasmijao da smo sigurno nešto zabrljali.
Ispostavilo se da standardne denominacije novčanica koje smo postavili zahtijevaju od kovnice da generira oko 300.000 potpisa za izdavanje dovoljno e-gotovine da pokrije peg-u iznosu. Postoje prijedlozi da se to riješi korištenjem anonimnih vjerodajnica. Ponovno smo postavili kovnicu da koristi puno veće zadane apoene jer smo samo testirali. Hackathoni su ipak za hakiranje.
U naletu sreće, Bitcoiner Malaysia je upravo osnovan i bio je spreman za svoj prvi događaj. Između nas četvorice hakera, domaćina najvećeg kineskog bitcoin podcasta i znanstvenika koji je na putu da stekne prvi doktorat znanosti o Bitcoinu. u Maleziji, planirali smo pokazati naš dokaz rada na BitDevsu krajem tjedna.
Naš najteži zadatak je ostao pred nama: federalni potpisi. Da bi proizveli FROST dionicu, potpisnici moraju pristati na uobičajenu slučajnost, zvanu nonces. U slučaju Fediminta, potpisnici koriste konsenzus kako bi se dogovorili o jedinstvenom nonce za svakog člana federacije koji se pridružuje sesiji potpisivanja. Zatim se potpisivanjem sudionika skupljaju dijeljenja u potpuni potpis.
Dok smo radili našu demo verziju uživo za susret, uspjeli smo postići da neka neposredna dijeljenja polurade i ispravili smo i neke greške u naknadama. Unatoč našem napornom radu, večera se otkotrljala prije nego što je naš kod uspio. Prešli smo prag u najdublje područje hackathona okupljeni oko TV-a za programiranje trostrukih parova u Farrowovoj hotelskoj sobi.
Nestvarno iskustvo
S našom vodom iz slavine spremnom i zvučnom pločom Unreal Tournament pokrenutom , Fournier je sjedio za tipkovnicom, dok smo mi sa stražnjeg sjedala bacali popravke grešaka, imena varijabli i naredbe. Prošlo je 1:30 ujutro, a kapci su nam bili teški. Nekoliko dodira kasnije, poput magije, izvlačenje je uspjelo. Svaki bi potpisnik primio dionice potpisa od ostalih i otkupio anonovu e-gotovinu u zamjenu za bitcoin. “Flawless Victory” je odjeknula iz zvučne ploče. Navijali smo u nevjerici.
Osim što nije uspjelo. Sljedeći dan smo pokrenuli kod i odmah uočili probleme. Imali smo sreće samo noć prije. Uspjelo je samo jednom iz tri ili četiri pokušaja. Satima smo pročešljavali kod kvalitete hackathona. Pa nakon ručka, i dalje smo se brinuli da ćemo se morati natrpati još jednom kasno navečer. Uz našu pomoć, pronašli smo problem: klasičnu pogrešku indeksiranja. U 17:00 sati FROSTimint je bio spreman za prezentaciju.
Kada smo zaokružili za BitDevs, lokalci su za predstavljanje uzeli samoopisani format”grupe za podršku”. Fournier nas je tehničkim vratio u stvarnost. Inauguracijski sastanak s oduševljenjem je raspravljao o budućnosti i slabostima skrbnika. Kako bismo birali skrbnike? Mogu li držati djelomične rezerve? Što je najvažnije, kako moja trgovina laksa juhe s rezancima može nadmašiti pravila korištenjem Fediminta?
Ovo je gostujuća objava Dana Goulda i Nicka Farrowa. Izražena mišljenja u potpunosti su njihova vlastita i ne odražavaju nužno ona BTC Inc. ili Bitcoin Magazine.