Blockchain

Gradimo na Taprootu: Plačilni bazeni so lahko protokol naslednjega drugega nivoja Bitcoin

Ta članek govori o tehnološkem konceptu, ki temelji na predlagani nadgradnji protokola Taproot. Če še ne poznate osnov, kako deluje Taproot, priporočamo, da najprej preberete ta razlagalec.

Ta korenina, potencialna nadgradnja protokola Bitcoin, ki jo je prvi predlagal sodelavec Bitcoin Core Gregory Maxwell, je v poznih fazah razvoja. Tehnologija je sestavljena iz pametne kombinacije kripto-trikov, s katerimi bi uporabniki skrivali zapletene pametne pogodbe znotraj običajnih transakcij - zapletenost se odkrije le, če pogodbeni stranki ne sodelujeta.

S pomočjo te ideje so sodelavci Bitcoin Coreja, vključno z (vendar ne omejeno na) Jeremy Rubin, Antoine Riard, Gleb Naumenko in sam Gregory Maxwell, razmišljali o splošnem konceptu, imenovanem plačilni bazeni, spoji ali coinpools. Ti bazeni - zaenkrat jih bomo imenovali plačilne baze - bodo skupinam uporabnikov omogočile enake kovance (tehnično: UTXO), kot so zabeleženi v Bitcoin blockchainu, ob tem pa bomo komu od teh uporabnikov dovolili, da izvedejo (ali prejmejo) plačila z njimi. Ko se skupina in njeni posamezni člani "skrivajo" v strukturi Taproot, vsi uživajo več zasebnosti, pametne prilagodljivosti pogodb in drugih ugodnosti ... in lahko te ugodnosti celo uživajo v verigi, tako da plačilni bazeni postanejo nova rešitev drugega nivoja.

Čeprav se posebnosti oblikovanja od enega predloga plačilnega sklada do drugega nekoliko razlikujejo, je splošni koncept enak. Tu je osnovna ideja ...

Skupna raba kovanca

Prvič, da ustvarijo zbirko plačil, uporabniki združijo svoje (delce) kovance tako, da jih združijo v naslovu Taproot, ki ga delijo med njimi. Recimo, da ima Alice tri kovance, Bob dva kovanca, Carol pa en kovanec, skupaj šest. Skupaj ustvarijo transakcijo, ki te kovance pošlje na skupni naslov, zaradi česar je plačilni sklad s šestimi kovanci.

Na spletni strani blockchain je naslov bazena plačil videti kot navaden Bitcoin naslov, ki ima zdaj šest kovancev. Toda pod površino so Alice, Bob in Carol spretno uporabili Taproot, da bi zagotovili, da vsak od njih obvladuje svoj delež kovancev v plačilnem skladu. Alice lahko kadar koli od naslova zahteva tri kovance, Bob pa lahko kadar koli zahteva dva in Carol enega.

To je zato, ker obstajata samo dve glavni možnosti za porabo kovancev z naslova.

Prva možnost je, da porabite neposredno z naslova, v tehničnem smislu ključ poti Taproot. To zahteva sodelovanje (to je: kriptografske podpise) vseh treh udeležencev. Če se Alice, Bob in Carol strinjajo, je mogoče šest kovancev zapraviti, kakor jim je všeč, in to bo videti kot vsaka druga redna transakcija v omrežju Bitcoin. Trio se lahko na primer odloči, da bo svoje zadeve vrnil na posamezne naslove: tri za Alice, dve za Bob in eno za Carol. Če pa bi se tako odločili, bi lahko sodelovali tudi, da bi Julianu podarili vseh šest kovancev ali pa jih porabili na kakršen koli drug način, za katerega bi se lahko dogovorili. Pomembno je, da morajo vsi trije sodelovati, zato se nihče ne porabi za ravnotežje brez njegovega lastnega sodelovanja.

Druga glavna možnost dejansko obsega več podmožnosti. Preden so svoje kovance poslali v plačilni sklad, so Alice, Bob in Carol nekaj skrili v kriptografskem drevesu za naslovom Taproot: vključili so alternativne načine pošiljanja sredstev iz plačilnega sklada. (Trenutno bi to lahko uresničili, če bi vsi trije udeleženci predhodno podpisali transakcije s teh poti, kar bi zahtevalo nekaj zapletenosti, da bi postavili vse možnosti in se ne poveča zelo dobro; predlagane nadgradnje protokola bi to lahko olajšale v prihodnosti .)

Če bi se eden od udeležencev odločil, da bi kovance porabil v plačilnem skladu preko alternativne poti Taproot, bi ponavadi poslal znesek, ki ustreza znesku tega udeleženca, na izbrani naslov, kot je posamezen naslov, ki ga nadzorujejo. (V primeru Alice so trije kovanci na njen naslov, v primeru Boba dva na njegov naslov in v primeru Carol en.)

S to alternativno potjo se samodejno porabijo tudi preostali kovanci. To je mogoče storiti na več načinov, odvisno od zasnove plačilnega sklada, saj ponuja različne kompromise glede zahtevnosti in razširljivosti.

Najenostavnejša rešitev je, da vsak drug udeleženec pošlje svoj delež kovancev na naslov, ki ga izbere sam. Z drugimi besedami: če en uporabnik zapusti bazen, ga vsi zapustijo.

Druga rešitev, ki sta jo najprimernejša Riard in Naumenko, je, da vse preostale kovance pošljete na novo plačilni sklad, ki je videti podobno kot prvi plačilni sklad, je bil odvzet od vsega, kar je vključevalo zdaj že pričakovanega uporabnika. Ta zasnova ponuja najboljšo uporabniško izkušnjo, vendar je najtežja na lestvici, kar je najpomembnejše, ker se je treba pripraviti na vse možne scenarije izhoda, vključno z vsemi možnimi scenariji izhoda za vse potencialne nove bazene. Vendar pa bi lahko lestvico dosegli s še vedno imenovano potencialno nadgradnjo Bitcoin protokola, da bi zagotovili prenos pravil iz prejšnjega polja plačil na kateri koli nov plačilni sklad.

Rubin meni, da je ta druga rešitev nepraktična, in raje najde nekaj med prvo in drugo rešitvijo: nekateri udeleženci takoj prejmejo kovance na naslov, ki ga izberejo, drugi udeleženci pa svoje kovance pošljejo v nov plačilni sklad. Ta zasnova ponuja manj idealno uporabniško izkušnjo, vendar bi se bolje povečala, potencialna nadgradnja protokola OP_CHECKTEMPLATEVERIFY pa bi pomagala poenostaviti zasnovo in še bolj povečati obseg. (Izhodi bi se zgodili s plačili dreves; te vrste plačil so podrobneje raziskane v ta članek.)

(Med drugo in tretjo rešitvijo je več kompromisov, vendar so podrobnosti o vseh prednostih in slabostih zunaj področja uporabe tega članka; preberite si razprava o seznamu e-poštnega seznama bitcoin-dev za podrobnosti.)

Če želite videti, kaj pomeni, ko se preostali kovanci pošljejo v nov plačilni sklad, recimo, da Alice, Bob in Carol izberejo drugo možnost, kjer vse preostali kovanci se pošljejo v nov sklad plačil. Če Alice v tej zasnovi zapusti prvi plačilni sklad, se trije kovanci pošljejo na naslov po njenem izboru, ostali trije kovanci pa v nov plačilni sklad med Bobom in Carol. V tistem trenutku ima Alice edini nadzor nad lastnimi kovanci, medtem ko se za Bob in Carol ni kaj dosti spremenilo. Obe lahko še vedno sodelujeta, če želita tri preostale kovance, kolikor hočeta, ali pa lahko oba enostransko izstopita, kot je to storila Alice prej.

Če Bob nato enostransko izstopi iz drugega plačilnega sklada, pošlje dva kovanca na naslov, ki ga izbere, in enega kovanca v še novejši plačilni sklad (tretji), pri čemer mu ostane le še Carol. (Seveda v tem poenostavljenem primeru bi bil dizajn, pri katerem se ta zadnja plačilna zbirka nadomesti z naslovom, ki ga je izbrala Carol, dejansko bolj smiseln, vendar je to podrobnost izvedbe.)

Pomembno je, da lahko udeleženci v zbirki plačil sodelujejo pri izvedbi katere koli vrste plačila iz želenega bazena, medtem ko lahko kateri koli od njih kadar koli izstopi s svojimi kovanci, tako da ostali udeleženci nadzorujejo svoje.

Postavitev plačila v plačilni bazen

Tako smo ugotovili, da lahko vsi udeleženci posamično dvignejo svoj saldo iz plačilnega sklada ali - če se vsi strinjajo - porabijo iz bazena. Ta druga možnost dejansko omogoča nekaj pametnega: plačilni sklad je lahko dinamičen. Dokler se vsi udeleženci strinjajo, ne morejo samo vrniti svojih sredstev nazaj ali plačati drugim (kot je Julian), ampak lahko naredijo še kaj zanimivejšega. Svoja sredstva lahko premikajo v novejše različice plačilnega sklada z različnimi dizajni.

To na primer omogoča, da kateri koli od njih preživi v bazenu.

Glejte tudi

Ko Taproot, zadnja sprememba protokola soglasja, pristopi k aktiviranju, razvijalci Bitcoin sprašujejo, kako natančno je treba nadgraditi omrežje.

Recimo, da Alice kupuje nov avto in ga želi plačati z enim bitcoinom. Alice, Bob in Carol bi nato lahko ustvarili transakcijo iz plačilnega sklada, ki pošlje en kovanec v avtoservis, preostalih pet kovancev pa pošlje novo plačilni sklad, ki je enak prvemu, le da Alice tokrat lahko enostransko izstopi iz njega samo z dvema kovanicama, enim manj kot prej.

Transakcija je medtem izgledala kot vsaka druga redna transakcija z Bitcoin. Avtohrani (ali blockchain vohuni) lahko sklenejo, da je Alice imela v lasti vseh šest kovancev in eno preprosto uporabila za nakup avtomobila, ostalih pet pa je obdržala kot drobiž. Pojma ne bi imeli, da nekateri kovanci pripadajo Bobu in Carol ali da so sploh sodelovali s transakcijo.

Ko naslednjič Bob izvede plačilo in Alice in Carol sodelujeta, je iz istega plačilnega sklada, ki je spet videti kot navadna bitcoin transakcija z zunanjim svetom. V posledični ponovitvi plačilnega bazena lahko Bob zapusti z enim kovancem namesto z dvema. Medtem so lahko isti vohuni blockchaina mislili, da Alice znova plačuje in jih dodatno zmede. (In četudi bi blockchain vohuni nekako ugotovili, da je naslov res plačilna zbirka med Alice, Bobom in Carol, še vedno niso mogli povedati, kateri od treh je opravil zadnje plačilo.)

Vsakič, ko Alice, Bob ali Carol porabijo kovance, je morda transakcija prišla od katerega koli od njih in nihče izven plačilnega sklada ne more ugotoviti razlike.

Plačilni bazeni ne omogočajo samo porabe. Če želi Alice napolniti svoj »saldo« v plačilnem skladu, bi to lahko storila tudi ona. Alice, Bob in Carol bi v tem primeru sodelovali pri prenosu sedanjih petih kovancev na nov naslov Taproot, na katerega bi Alice v isti transakciji poslala en dodaten kovanec z enega od svojih (posameznih) naslovov. Novi naslov Taproot bi ponovno vseboval šest kovancev, od katerih tri pripadajo Alice, kar je razvidno iz njene možnosti enostranskega izhoda.

Na enak način bi se lahko popolnoma novi uporabniki pridružili tudi plačilnemu fondu. Če se Alice, Bob in Carol strinjajo, da naj Dave pustijo sodelovanje, trije sodelujejo z Daveom, da ustvarijo transakcijo, ki pošlje sredstva sklada za plačila skupaj z novimi kovanci Dave v nov plačilni sklad, ki naj bi tudi omogočil, da se Dave udeleži - in izstopi če bi tako želel.

Poleg tega obstaja možnost, da udeleženci v plačilnem skladu plačajo drug drugemu. Če bi Alice na primer Bobu plačala en kovanec, bi lahko trije sodelovale pri pošiljanju sredstev v nov plačilni sklad, kjer ima Alice kovanec, ki se ji odšteje iz stanja, Bob pa kovanec. Na blockchainu bi to znova izgledalo kot redno plačilo, blockchain vohuni pa ne bi imeli pojma, kdo je plačal ali koliko. (Vredno je poudariti, da bi lahko Dave na podoben način vstopil v bazen, tako da bi prejel notranje plačilo enega od obstoječih udeležencev.)

Z nekaj dodatne zapletenosti (in v idealnem primeru z vsaj eno dodatno nadgradnjo protokola Bitcoin, kot je Brez vnosa), prenosi bi lahko bili celo zaključeni zunaj verige. Ko Alice plača Bobu, bi vsi udeleženci v tem primeru ustvarili transakcijo, s katero porabijo sredstva v novem plačilnem skladu ravno toliko, vendar bi to transakcijo delili samo med njimi - ne bi se oddajali v omrežje (razen če kdo kdaj poskuša varati). Na ta način bi Alice, Bob in Carol lahko notranje posodabljali svoje ravnotežje in celo pustili Davea v bazen v nekem trenutku. Ko se vsi strinjajo, da zaprejo bazen, lahko ustvarijo končno transakcijo, ki jo porabijo iz prvotnega sklada za plačila, in vsakemu dodelijo svoje zadnje stanje.

Podobno kot starejša ideja, znana kot Tovarne kanalov, bi lahko te vrste plačilnih skladov celo uporabili za gostovanje strelih strele, trezorjev ali drugih protokolov drugega nivoja. To lahko ponudi možnost, da se v takšne skupine združijo vse vrste dodatnega protokolarnega sloja, s čimer se skrije vsa njihova zapletenost v identičnih in običajnih transakcijah.

Vir: https://bitcoinmagazine.com/articles/building-on-taproot-payment-pools-could-be-bitcoins-next-layer-two-protocol?utm_source=rss&utm_medium=rss&utm_campaign=building-on-taproot-payment- pools-could-be-bitcoins-next-layer-two-protocol