Pogonske verige omogočajo operaterjem stranskih verižnih vozlišč, da plačujejo rudarjem za rudarjenje – in še več! Podatkovna inteligenca PlatoBlockchain. Navpično iskanje. Ai.

Pogonske verige omogočajo operaterjem stranskih verižnih vozlišč, da plačujejo rudarjem za rudarjenje – in še več!

To je mnenjski uvodnik Shinobija, samouka, izobraževalca v Bitcoin prostoru in tehnološko usmerjenega voditelja podcasta Bitcoin.

Tokrat bom razčlenil in razpravljal o delovanju pogonskih verig; prvotno so bili predlagani leta 2015. Od vseh predlogov, o katerih se je do zdaj razpravljalo, so pogonske verige najstarejše in najbolj izpopolnjene v smislu posebnih izvedbenih podrobnosti in dizajna, dokumentiranih v BIP-jih 300 in 301. Paul Sztorc, ustvarjalec koncepta, je imel v mislih nekaj glavnih oblikovalskih ciljev, in čeprav to sploh ni izčrpno, je tukaj nekaj:

  • Izolirajte vsako stransko verigo, tako da bi vsaka napaka ali težava vplivala samo na tiste, ki jo uporabljajo.
  • Omogočite vrtenje stranskih verig, ne da bi za vsako potrebovali nove vilice.
  • Omogočite prenos bitcoinov v stransko verigo in iz nje z dvosmerno vezavo.
  • Dovolite brezplačno eksperimentiranje pri oblikovanju, za katerega upa, da bo zastarelo potrebo po altcoinih.

Obstajata dva glavna vidika celotne zasnove, zato obstajata dve ločeni BIP-ji. Prvi je mehanizem klina (BIP300), ki omogoča delovanje dvosmernega klina. Sztorc je zasnoval nekaj, kar se imenuje deponiranje zgoščene stopnje, kar v najosnovnejših izrazih omogoča rudarjem kot amorfni skupini, da skupno skrbijo za kovance v vseh stranskih verigah. Drugi je shema "slepega" združenega rudarjenja, kjer je cilj omogočiti rudarjem bitcoinov, da so proizvajalci blokov na soglasni ravni, ne da bi morali za to potrditi stransko verigo. Oba dela skupaj predstavljata dvosmerni mehanizem vezave in način, da rudarji bitcoinov sodelujejo pri rudarjenju stranskih verig, hkrati pa poskušajo ublažiti tveganje centralizacije, ki ga predstavlja.

BIP300 določa logiko za predlog nove stranske verige, aktivacijo nove stranske verige, predlog združenega nabora dvigov, odobritev takšnega niza dvigov, logiko potrjevanja za dejanske transakcije dviga in potrjevanje za depozitne transakcije.

Aktiviranje nove stranske verige v skladu s predlogom pogonske verige je zelo podobno postopku mehke vilice, ki se aktivira s signalizacijo rudarja. Glavna razlika je seveda v tem, da to dejansko ni mehka vilica — ena sama vilica za aktiviranje pravil soglasja pogonske verige omogoča rudarjem, da kadar koli dajo signal za aktiviranje nove stranske verige. v pravila soglasja pogonske verige. Če želi predlagati aktiviranje nove stranske verige, mora rudar v svoj izhod baze coinbase postaviti podatke OP_RETURN, ki vključujejo edinstven identifikator za to stransko verigo, javni ključ za uporabo pri depozitnih operacijah, podatke o različici, človeku berljive opise in zgoščene vrednosti odjemalca programske opreme. in zgodovino GitHub o tem (tukaj ni uveljavljanja soglasja, le podatki, na katere se lahko ljudje sklicujejo).

Ko rudar predlaga aktiviranje nove stranske verige in vključitev vseh potrebnih podatkov v svojo zbirko kovancev, postane to nekakšno obdobje »signaliziranja rudarja« glede tega, ali naj ustvari to novo stransko verigo z vidika soglasja glavne verige. Rudar lahko uporabi posebno obliko, da vključi predlog v svoje izhode coinbase, drugi rudarji pa lahko ustvarijo drug izhod, ki sledi drugi obliki, da signalizira aktivacijo. Nov predlog stranske verige zahteva, da 90 % blokov v težavnem obdobju signalizira aktivacijo, da se potrdi nova kreacija stranske verige. To ustvari mehanizem klinov, ki omogoča stransko verigo, vendar je interakcija med stransko in glavno verigo bolj niansirana.

Na tej točki lahko vsakdo pritrdi kovance v stransko verigo. Za pritrditev na stransko verigo uporabnik preprosto ustvari transakcijo z dvema vhodoma s svojim lastnim vnosom in UTXO, ki ustreza bilanci stranske verige, z enim izhodom, ki vse dodeli stranski verigi. To zagotavlja, da ima stranska veriga samo en UTXO, ki vsebuje vsa zaklenjena sredstva. Dvigi se urejajo z glasovanjem rudarjev. Glavna veriga nima pojma o tem, kdo ima kaj v stranski verigi, in glavna veriga bo vsak umik, ki ga odobrijo rudarji v okviru mehanizma glasovanja, štel za veljavnega. Zaradi tega pride do dolge zamude pri postopku umika. Obstajata dve fazi postopka umika iz stranske verige: predlog za umik (sveženj) in nato faza glasovanja o umiku. Rudarji morajo ustvariti izhod OP_RETURN v svoji transakciji coinbase z zgoščeno vrednostjo predlagane transakcije dviga, da predlagajo dvig. Ta zgoščena vrednost pa, podobno kot sighhash, označi zavezanost le delu transakcije namesto celotne stvari. Ne zavezuje se k vhodnemu UTXO, ki predstavlja sredstva, zaklenjena v pogonski verigi, ali izhodu, ki vrne vse, kar ni bilo dvignjeno, v poseben UTXO stranske verige. To je zato, ker bi morebitna vplačila v pogonsko verigo ustvarila nov UTXO in tako razveljavila zavezo k transakciji dviga, ko so jo ljudje šli potrditi.

Od tu se začne obdobje glasovanja rudarjev o predlogu za umik. Ko je sveženj predlagan, lahko rudarji glasujejo o tem, ali jih odobrijo ali ne. Vsak blok, ki je izrudarjen, omogoča rudarju, da poveča števec odobritev, navzgor ali navzdol za eno ali dve, da se vzdrži česar koli. Poleg tega obstaja nekaj posebnih omejitev, ker je mogoče imeti več kot en sveženj za eno stransko verigo - če se rudar odloči glasovati "da" (zvišati števec za eno) za sveženj dviga za stransko verigo, morajo glasujte "ne" (znižajte števec za eno) za vsak drug sveženj, povezan s to določeno stransko verigo.

To zagotavlja, da ni "dvojnih dvigov", kjer ima nekdo izhod v več svežnjih, ki bi mu izplačal več bitcoinov v glavni verigi, kot mu dolguje.

Po drugi strani pa lahko rudarji tudi glasujejo proti vsakemu predlaganemu svežnju. To naj bi delovalo kot nekakšen alarm za vse, da je rudar, ki potrjuje te dvige (zagotavlja, da gre za kovance v zakoniti lasti stranske verige, ki se dviguje), opazil nekaj neveljavnega dogajanja. Ne pozabite, ključna točka te zasnove je, da rudarjem ni treba potrditi ničesar v stranski verigi, tako da, razen če se za to vseeno odločijo, lahko veliko rudarjev glasuje za svežnje, ki jih ne preverjajo. Ta funkcija alarma je zasnovana tako, da jih opozori, da morajo preveriti svežnje in zagotoviti, da ne bo prišlo do goljufivega dviga.

Ko sveženj doseže zahtevani prag (13,150 blokov ali približno 90 dni), postane transakcija, ki dejansko obdeluje dvig, veljavna in jo je mogoče potrditi. Toda kaj ljudje naredijo, če rudarji odobrijo goljufiv dvig, ki ukrade denar iz stranske verige? Sztorc predlaga vključitev v uporabniško aktivirano mehko vilico (UASF), da razveljavi neveljavno transakcijo vezave. To predstavlja veliko tveganje v smislu konsenza za glavno verigo. UASF leta 2017 je bila poteza z visokim tveganjem, ki je komaj uspela in Bitcoin je bil veliko manjši, kot je danes. Bolj kot raste bitcoin, težje bo usklajevati takšna dejanja.

Če se spomnite iz članek o vesoljskih verigah, je ta zasnova temeljila na slepem združenem rudarjenju (BMM). Zasnova BMM Rubena Somsena je pravzaprav druga različica tega, prva pa je zasnova Sztorca, kot je določeno v BIP301. Specifikacija BMM v pogonskih verigah je sestavljena iz dveh sporočil: sporočila zahteve in sporočila o sprejemu. Oba sta usklajena prek posebne vrste transakcije v glavni verigi in posebnega izhoda v rudarjevi transakciji coinbase.

Transakcijo zahteve sestavi tisti, ki ustvarja bloke stranske verige. Bistvo BMM je v tem, da je ta oseba lahko nekdo, ki ne rudari, zato je transakcija zahteve tam, da jim omogoči plačilo rudarjem, da potrdijo svoj predlagani blok stranske verige. Predlog bloka stranske verige sestavi transakcijo, ki vključuje zgoščeno vrednost bloka stranske verige, ID, dodeljen stranski verigi, ko je bila ustvarjena, in zadnje štiri bajte glave prejšnjega bloka glavne verige. Za te vrste transakcij veljajo tri dodatna pravila soglasja. Prvič, transakcija zahteve je neveljavna, razen če obstaja tudi ujemajoč se sprejemni izhod v transakciji coinbase tega bloka. To jamči, da rudarji ne morejo pobrati nadomestila iz zahteve, ne da bi sprejeli in rudarili tudi stranski blok. Drugič, za vsako stransko verigo je dovoljeno vključiti samo eno transakcijo zahteve v blok glavne verige. To zagotavlja, da se na blok glavne verige dejansko lahko rudari le en blok iz katere koli stranske verige. Zadnji štirje bajti prejšnjega bloka glavne verige se morajo ujemati. To zagotavlja, da je zahteva veljavna samo za rudarjenje v naslednjem bloku in takšnih transakcij ni mogoče rudariti pozneje in ukrasti denarja predlagatelju bloka stranske verige, potem ko je bil blok nekoga drugega rudarjen.

Izhod sprejema je zelo preprost: podatki glave sporočila in zgoščena vrednost bloka stranske verige. Če rudar sam izvaja vozlišče pogonske verige, lahko preprosto ignorira transakcije zahtev in vedno vključi lasten sprejemni izhod v svojo zbirko kovancev za rudarjenje lastnih blokov stranske verige. Ta dva vidika skupaj omogočata rudarjem, da sami upravljajo vozlišče stranske verige ali da to stori drug ne-rudar in plača rudarju, da rudari njihove bloke. Ideja je, da če rudarji sami ne vodijo stranskih verig in pojedo dodatnih stroškov validacije, potem lahko nekdo drug to stori namesto njih. Če obstaja konkurenca med nerudarji, ki poskušajo zaslužiti provizije na stranski verigi, bodo verjetno še naprej dražili provizijo, ki so jo pripravljeni plačati rudarjem v svoji transakciji zahteve, dokler ne bo predstavljala večine provizij, ki jih zaslužijo, z ne-rudarji. rudar obdrži le majhen odstotek dobička, ostalo pa plača rudarjem.

To je mehanika delovanja pogonskih verig. Sledijo zvezne stranske verige, nato pa razčlenitev vseh negativnih in slabih strani, ki jih lahko ima vsak dizajn.

To je gostujoča objava avtorja Shinobija. Izražena mnenja so v celoti njihova lastna in ne odražajo nujno mnenj BTC Inc ali Bitcoin Magazine.

Časovni žig:

Več od Bitcoin Magazine