((alloc) Init) išleidžia ekranuotą Bitcoin pasiūlymą dėl privačių Bitcoin sandorių
Ekranuotas Bitcoin yra ((alloc) init) tyrėjų Clara Shikhelman, Misha Komarov ir Aleksejus Moskvin pasiūlymas dėl naujo privatumo metaprotokolo Bitcoin pagrindiniame sluoksnyje, kad būtų galima atlikti ekranuotus Bitcoin sandorius nereikalaujant operatorių, minkštųjų šakių ar kitų Bitcoin konsensuso pakeitimų. Baltąją knygą galite rasti čia, o tinklaraščio pranešimą čia.
Protokolas apibrėžia operacijų struktūrą ir indeksavimo protokolą, skirtą stiprioms privatumo išsaugojimo operacijoms, o lėšas susiejant į sistemą ir iš jos remiamasi Bitcoin PIPE. Daugiau apie PIPE mechanizmą straipsnio pabaigoje.
Jo dizainas labai atspindi Bitcoin’s; yra UTXO (raštelio) atitikmuo, operacijos sunaudoja banknotus kaip įvestis kaip įprastas Bitcoin sandoris, liudytojas įrodo, kad sunaudota įvestis yra tinkamai autorizuota, mazgai (metaprotokolo atveju indeksuotojai) analizuoja operacijų istoriją ir sukuria dabartinę išleistų ir neišleistų monetų būseną.
Tačiau visos detalės yra gana skirtingos.
Ekranuota Bitcoin operacija yra tik duomenų dėmelis su priešdėliu (kažkas panašaus į „shbtc:“), įtrauktas į Bitcoin operaciją naudojant OP_RETURN, liudininko lauką ar kitą duomenų perdavimo būdą. „Bitcoin“ tai neturi jokios reikšmės, „Bitcoin“ tinklas nieko nedaro, kad jį patikrintų ir nepatvirtintų jokių jam prieštaraujančių taisyklių. Negaliojančios „Shielded Bitcoin“ operacijos gali būti užbaigtos grandinėje, o „Shielded Bitcoin“ indeksuotojo, kuris pasyviai stebi blokų grandinę (skaitykite: mazgą), užduotis yra ignoruoti šias operacijas, kai jų nepavyksta patvirtinti, ir atsisakyti jas taikyti tinklo likučių būklei atnaujinti.
Indeksuotojas neištrina užrašų iš nepanaudotų užrašų rinkinio, kaip tai daro Bitcoin su UTXO. Jis naudoja anuliatorių rinkinį. Tai būdas vartotojui viešai paskelbti užšifruotą įrodymą ir panaikinimą, kad užrašas buvo išleistas, neatskleidžiant, kuris užrašas buvo išleistas. Idėja yra ta, kad užuot matę, ar pastaba yra „neišleistų banknotų rinkinyje“, patikrinkite ir pažiūrėkite, ar anuliatorius jau nebuvo panaudotas. Indeksuotojai sukuria merklių medį, kuris auga amžinai ir gali būti pridedamas tik prie kiekvienos sukurtos natos išvesties, o tada – anuliatorių rinkinį.
Norint naudoti šį protokolą, jums tereikia Bitcoin mazgo ir ekranuoto Bitcoin indeksatoriaus. Norint susigrąžinti lėšas, nereikia paslaugų teikėjo, koordinatoriaus ar kitos valstybės. Jis veikia taip pat, kaip grandinėje esantis Bitcoin, viskas, ko jums reikia, yra jūsų mazgas / rodyklė ir jūsų raktai.
Kiekviena vartotojo piniginė gauna pagrindinį slaptąjį raktą, iš kurio sukuriami visi kiti susiję raktų rinkiniai.
Pagalvokite apie tai labai panašiai kaip HD piniginė Bitcoin. Su šiuo ryšiu galite sugeneruoti daug adresų rinkinių. Sk_spend yra jūsų privatus raktas sk_nf naudojamas natų išvestims anuliuoti, vk_in yra naudojamas iššifruoti ir peržiūrėti gaunamus užrašus vk_out norėdami peržiūrėti siunčiamas operacijas ir sk_view naudojamas gavimo adresui generuoti.
Kai vartotojas nori kam nors duoti adresą, kad galėtų išsiųsti lėšas, jis sukuria diversifikuojančią vertę d panaši į išvestinę vertę, tada padauginkite vertę iš jų sk_view raktas. Gautas viešasis raktas, pk_d ir d yra vartotojo adresas.
Tada siuntėjas sugeneruoja atsitiktinę reikšmę r_seedkuris reikalingas užrašo išvesties šifravimui ir panaikinimui (pasieksime per sekundę). Operacijų išvestyje yra tik trys užšifruoti dalykai: išvesties vertė d vertę, kurią gavėjas suteikė siuntėjui, ir siuntėjo r_seed vertė. Siuntėjas naudoja slaptą trumpalaikį raktų porą ir gavėjo viešąjį raktą, kad sukurtų bendrą paslaptį. Abi šalys gali sukurti tą pačią paslaptį, padaugindamos savo privatų raktą iš kitos viešojo rakto. Užrašo išvestis yra užšifruota naudojant šią bendrą paslaptį ir trumpalaikę informaciją sk_eph yra įtrauktas nešifruotas, kad imtuvas galėtų generuoti bendrinamą paslaptį.
Paveikslėlio įvesties pusėje reikia dviejų dalykų, kad būtų atlikta galiojanti operacija: viešas sunaudotų banknotų išvesties anuliatorius ir nulinių žinių įrodymas, įrodantis, kad 1) natos išvestis yra įtraukta į banknotų medį, 2) operacija yra įgaliota atitinkamo sk_spend raktas, 3) anuliatorius išvestas teisingai ir 4) infliacija neįvyko.
Jei aukščiau esančiame paveikslėlyje pastebėjote, anuliatorius naudoja sk_nf klavišą, ρ reikšmę, gautą iš r_seedir natos padėtis natų išvesties medyje. Nulinių žinių įrodymas užtikrina, kad visa tai yra priežastis, kodėl galite tiesiog suskaičiuoti pakartojimų panaikinimo elementus, o ne ištrinti išleistas pastabas. Net jei niekada nežinote, kokią natos išvestį atitinka anuliatorius, nuliniai žinių įrodymai kiekvienoje operacijoje garantuoja, kad kiekvienas į rinkinį įtrauktas anuliatorius buvo gautas iš galiojančios natos išvesties. Kol nesikartosite, tai suteikia tą pačią dvigubų išlaidų garantiją.
Taigi, protokolas leidžia iš esmės įterpti šifruotų metaprotokolų operacijas į Bitcoin blokų grandinę, tačiau vis tiek suteikia garantiją, kad nieko nebus išleidžiama dvigubai ir kad monetos nebus išpūstos iš oro.
Tai iš tikrųjų yra labai gerai suprojektuota sistema privatumo ypatybių požiūriu ir prilygsta kažkam, pavyzdžiui, „Zcash“ ekranuotiems baseinams. Įvedant metaprotokolą ir iš jo išjungiant reikia atsižvelgti į privatumo aspektus, kurie bus išsamiai aprašyti būsimame popieriniame leidime. Nėra jokio susirūpinimo dėl privatumo matavimo ar periodinio remiksavimo, kaip naudojant coinjoins.
Taigi, kaištis. Tikslas yra sukurti jungtį naudojant PIPE v2, liudytojų šifravimo schemą. PIPE leidžia užšifruoti privatų raktą naudojant programą / mechanizmą, kuris neatskleis rakto, nebent galite pateikti ZK įrodymą, kad įvykdyta tam tikra sąlyga (ty kai kurių UTXO būsena, kad operacija buvo patvirtinta ir pan.). Tai leistų susietai veikti be operatoriaus, federacijos ar bet kurios trečiosios šalies, kuri saugotų lėšas.
Tam nereikia jokių „softforkų“ ar „Bitcoin“ protokolo pakeitimų, o tai vyksta visiškai ne grandinėje.
Planas su „Shielded Bitcoin“ ir kita jų darbo dalis yra susiejimo mechanizmas, leidžiantis vartotojams įnešti lėšas į „Shielded Bitcoin“ naudojant PIPE kriptografiškai valdomus raktus, kurie vėliau būtų „atrakinti“ generuojant ZK patvirtinimą, kad teisėtos susiejimo operacijos, patvirtintos grandinėje.
Šiuo metu vyksta darbas su dokumentu, apibrėžiančiu šį sistemos aspektą, ir jis turėtų būti išleistas artimiausiu metu.
