Die getuieafslag: waarom sommige grepe goedkoper is as ander

By Bitcoin Tydskrif - 4 maande gelede - Leestyd: 9 minute

Die getuieafslag: waarom sommige grepe goedkoper is as ander

Hierdie jaar het 'n massiewe opswaai in die vraag na die beperkte beskikbare ruimte gesien bitcoin blokke, wat lei tot hoër fooie vir kettingtransaksies. Baie van die vraag is vir transaksies wat openbaar maak inskripsies. Die inhoud van hierdie inskripsies word as deel van die getuiedata geopenbaar1 van 'n bitcoin transaksie. Hierdie getuiedata1 word verdiskonteer tot een kwart van die koste van ander transaksiedata. Hoekom gee ons hierdie inskripsies afslag? Moet ons die getuie-afslag sagte-vurk uit?

Hoekom is sommige grepe goedkoper as ander grepe?

Geld in die algemeen en bitcoin werk veral op die rug van menslike aansporings. Bitcoin belyn die aansporings van mynwerkers en transaksies deur die gebruik van die inboorling bitcoin teken om mynwerkers te betaal vir die insluiting van spesifieke transaksies in die blokke wat hulle bou. Dieselfde kan nie gesê word van die aanpassing van die aansporings van noduslopers met mynwerkers en transaktors nie, en ook nie van die aanpassing van aansporings tussen senders en ontvangers nie.

Daar is 3 groot verbeterings aan bitcoinse aansporingbelyning tot op hede:

1. Beperking van blokgrootte

2. Verskuiwing van die koste van komplekse skrifte van sender na ontvanger (P2SH)

3. Belyning van die koste van data tussen noduslopers en transaktors (SegWit)

Beperk die blokgrootte

Transakteurs wil baie transaksies maak en mynwerkers wil baie transaksiefooie invorder; maar noduslopers moet al daardie transaksiedata oordra, verifieer en stoor en hulle word nie soos mynwerkers vergoed daarvoor nie. Vroeg in bitcoinse geskiedenis, het Satoshi gewerk om dit aan te spreek deur 'n vaste blokgrootte limiet by te voeg (afdwing deur nodusse). Die limiet was 1 miljoen grepe per blok, en het 'n boonste grens geplaas op die hoeveelheid data wat nodusse sou nodig hê om af te laai en te verifieer. Destyds, Satoshi geskryf, "[w]e kan later 'n verandering infaseer as ons nader daaraan kom om dit te benodig." Later, met verwysing na 'n pleister om die limiet te verhoog, het hy opgemerk: "Moenie hierdie pleister gebruik nie, dit sal jou onversoenbaar maak met die netwerk", wat beteken dat die verhoging van die blokgrootte-limiet 'n harde vurkverandering is en vereis meer koördinasie selfs as 'n sagte vurk. In die jare wat gevolg het, bitcoin doelbewus vermy sulke onversoenbare harde vurk veranderinge, wat ook beteken het dat die 1 miljoen grepe blok grootte limiet gehou word.

Verskuiwing van komplekse skrifkoste van sender na ontvanger

Omdat bitcoin is beveilig deur skrifte te sluit, was dit nog altyd moontlik om dit te sluit met gevorderde skrifte, insluitend multisig. Onder die oorspronklike ontwerp is die sender van 'n bitcoin transaksie sal die ontvanger se volledige sluitskrif in hul transaksie plaas, en enige fooie betaal om daardie sluitskrif in 'n blok ingesluit te kry. Ontwikkelaars het besef dat namate fooie toegeneem het, senders dalk huiwerig kan raak om gebruikers van groter sluitskrifte te betaal weens die hoër koste om daardie gebruikers te betaal. Hierdie komplekse sluitskrifte het ook 'n probleem vir enkodering in adresse en deel via lae bandwydte meganismes soos QR-kode.

Om dit op te los, P2SH is bygevoeg bitcoin as 'n sagte vurk. Onder die reëls van hierdie vurk, in plaas daarvan om die ontvanger se hele sluitskrif in die uitvoer van die transaksie te plaas, sluit die sender bloot 'n hash daarvan in. Wanneer die ontvanger onvermydelik daardie uitset spandeer, sluit hulle die volle skrif by die bestedingstransaksie in, wat gekontroleer word teen die hash van die skrif waaraan die munt gesluit is voordat dit bekragtig word. Met hierdie verandering kon 'n losskrif van enige grootte voorgestel word deur 'n sluitskrif van 'n vaste lengte en het senders nie meer 'n behoefte (of vermoë) gehad om tussen ontvangers te diskrimineer op grond van hul bestedingsvoorwaardes nie.

Belyn die koste van data tussen noduslopers en transaktors

Die mees fundamentele verifikasie waarop nodusse verrig bitcoin transaksies is dat die bitcoin hulle probeer om te bestee, bestaan ​​in werklikheid. Om dit te doen, hou elke nodus 'n indeks van elke eenheid van besteebare materiaal bitcoin (onbestede transaksie-uitset, UTXO). Hoe groter hierdie indeks, hoe groter is die koste om 'n nodus te bestuur en toekomstige transaksies te verifieer2. Gevolglik kos 'n transaksie wat die grootte van hierdie indeks vergroot (met meer uitsette as insette) meer oor tyd as 'n transaksie met dieselfde aantal grepe wat die indeksgrootte verminder.

Die grootste deel van die meeste bitcoin ontsluit skrifte is die kriptografiese handtekeninge. Hierdie handtekeninge is ongeveer twee keer die grootte van hul ooreenstemmende publieke sleutels, wat die ontsluitskrifte (selfs sonder P2SH) groter maak as die sluitskrifte.

Die aansienlik hoër koste van verbruik teenoor die skep van UTXO's skep 'n aansporingskonflik tussen noduslopers en transaktors. Transakteurs word ontmoedig om hul klein UTXO's te spandeer (veral by tye met hoë fooie), en verkies eerder om groot UTXO's te spandeer en meer kleingeld UTXO's te skep. Intussen betaal noduslopers die koste vir hierdie opeenhoping van klein UTXO's in hoër valideringskoste vir alle transaksies.

Vreemd soos dit mag lyk, die verifikasie wat elke UTXO spandeer deur 'n transaksie in die historiese blockchain het sy sluitskrif bevredig deur 'n ooreenstemmende ontsluitskrif, is aansienlik minder fundamenteel. Wat die saak betref, a bitcoin node loop verstek bitcoin kern 26.x sal nie die volle sluitskrifuitvoering vir transaksies voor blok 804000 (19 Augustus 2023) bekragtig nie.

Al die bogenoemde beteken dat daar verskillende kostes opgelê word bitcoin nodusse deur verskillende dele van die blokketting. Data wat benodig word om die uitwerking van elke transaksie te bepaal, moet bekragtig word deur elke nodus wat vanaf die genesis-blok3 sinkroniseer, transaksie-uitsette is geneig om op die lang termyn duurder te wees as transaksie-insette (veral as dit lank is), en baie van die getuiedata word nie eers nagegaan nie, behalwe vir die mees onlangse transaksies.

Voer Gesegregeerde Getuie in

Die gesegregeerde getuie (SegWit) sagte vurk is die mees ambisieuse verandering aangebring bitcoin tot op hede. Die grootste motivering vir die verandering was om die langdurige probleem van TXID4 op te los smeebaarheid5 in bitcoin. Om hierdie smeebaarheid reg te stel, word die ontsluitskrif vervang met 'n nuutgeskepte "getuie". Deur die magtigingsdata (wat dikwels deur derde partye verander kan word sonder om die uitwerking van die transaksie te verander) van die TXID te verwyder, word protokolle (soos Lightning) wat afhanklik is van onveranderlike TXID's moontlik.

Met die magtigingsdata wat uit die oorspronklike transaksiestruktuur geskuif is, tel dit nie meer teen die 1 miljoen grepe-bloklimiet nie. 'n Nuwe limiet word vereis. Baie benaderings om die gesegregeerde getuiedata te beperk is destyds bespreek: 'n Afsonderlike getuiegreeplimiet6, 'n gekombineerde limiet van < 1 miljoen grepe7, of 'n geweegde gekombineerde limiet. Op die ou end is die geweegde gekombineerde limiet gekies, met gesegregeerde getuiedata geweeg teen 1-eenheid, transaksiedata geweeg teen 4-eenhede, en 'n 4 miljoen gewigsbloklimiet. Elke gewigseenheid word as 1/4 van 'n virtuele greep (vByte) hanteer vir die doel van fooiberekeninge.

Hoekom hierdie gewigte? Kom ons kyk na die koste van transaksie-insette en -uitsette met en sonder gesegregeerde getuienis:

Die eerste ding om uit hierdie tabel op te let is hoe die getuieskriftipes (P2WPKH, P2WSH) byna dieselfde aantal invoer- en uitvoergrepe het (wat elk 'n volle vByte gehef word). Die besteder van 'n getuieskrif word dan 1/4 vByte gehef vir die data wat die besteding magtig, waarvan baie nie vir enige behalwe die mees onlangse transaksies geverifieer is nie, en nie een daarvan het 'n deurlopende koste in die UTXO-indeks nie. Die ander ding wat die moeite werd is om hier op te let, is hoe die koste van die gebruik van 'n veiliger 2-van-3 multisig in vergelyking met 'n enkele handtekening verminder word van 147 vBytes tot 36.25 vBytes.

Penwortel en inskripsies verander alles (of niks)

Soos ek aan die begin gesê het, bitcoin ry op menslike aansporings, en hier kan ons sien hoe veranderinge aangebring is bitcoin oor die jare om die belyning van aansporings tussen die partye wat die netwerk gebruik, te verbeter.

Penwortel self is "net" 'n alternatiewe manier om te sluit bitcoin gebruik van gesegregeerde getuies. Dit verander nie hierdie aansporings beduidend nie. Een van die veranderinge wat saam met Taproot gekom het, was om sekere limiete op skrifgrootte te verwyder. Dit is gedoen om die kompleksiteit van die ontwerp van analise-instrumente vir te verminder bitcoin skrifte, en as 'n erkenning van die relatiewe koste van verskillende tipes data. Die verwydering van hierdie beperkings het inskripsies makliker gemaak as wat dit voor Taproot was, maar het nie die aansporingstruktuur van die netwerk fundamenteel verander nie.

Nou tot die kern van die saak. Inskripsies word in die getuie geopenbaar, so hulle word slegs 1/4 vByte per greep inskripsiedata gehef. Is dit 'n misbruik van die getuieafslag? Die waarheid is dat inskripsiedata van die goedkoopste data is vir nodusse op die netwerk om te valideer. Die skrifstruktuur wat deur inskripsies gebruik word, slaan eksplisiet die uitvoering van die inskripsiedata oor, dus die enigste verifikasie wat daarop gedoen word, is 'n enkele hash-tjek (om te verseker dat die geopenbaarde inskripsie is wat die inskrywer beplan het om te openbaar). Hierdie data word een keer gehash en dan word daar nooit weer na nodes gekyk nie. Dit het 'n baie lae berekeningskoste ('n orde van grootte laer as 'n ekwivalente grootte multisig-skrif).

Maar inskripsies verhoog fooie en stoot ander gebruikers uit.

Ja! Met die huidige sagteware beskikbaar vir interaksie met die bitcoin netwerk, het inscriboooors groter ekonomiese aansporing om hul inskripsies te maak as wat baie mense het om ander transaksies te doen.

Dit gooi in skrille verligting die waarde van die verhoging van die ekonomiese digtheid van bitcoin transaksies. Die Lightning Network neem 'n groot stap hiertoe deur honderde, duisende of miljoene ekonomiese transaksies in 'n enkele bitcoin transaksie. Hoe groter die ekonomiese digtheid van elke greep in 'n transaksie, hoe laer is die fooi wat vir daardie ekonomiese aktiwiteit betaal word. Soos die ekonomiese digtheid van bitcoin transaksies toeneem, ander gebruike van blokspasie is en sal steeds uitgeprys word9.

Dit is die moeite werd om daarop te let if buite ketting multisig protokolle soos MuSig2 or Frost, of adapter-handtekeninge word algemeen; Dit mag sin maak om die getuieafslag te verminder of uit te skakel. Hierdie protokolle kan ander moontlik maakwise groot bestedingsvoorwaardes wat deur 'n enkele handtekening verteenwoordig moet word. Dit, gekombineer met Taproot se doeltreffende sleutelpadbesteding, kan die koste van 'n inset met byna arbitrêr komplekse toestande tot slegs 105 bring. grepe.

Gevolgtrekking

Die reaksie op hoë fooie wat deur inskripsies veroorsaak word, is dieselfde as op enige ander veronderstelde scenario in die geskiedenis van bitcoin: Geduldig bou, geduldig bou. Daar is baie wat ons kan doen om die ekonomiese digtheid van te verhoog bitcoin transaksies van die bou van beter Lightning-beursies tot Ark om diskrete log kontrakte en verder. Die verwydering van die getuieafslag (voortydig), die terugrol van penwortel, of soortgelyke teenproduktiewe aksies sal slegs dien om die ekonomiese digtheid van stroom te verminder bitcoin transaksies en die situasie vererger.

Bly nederig, stapel sats, en bou.

voetnote

Die term getuie is aangeneem in bitcoin van kriptografie-jargon waar dit verwys na data wat nodig is om 'n kriptografiese eis doeltreffend te verifieer. BIP141 definieer dit as enige "data wat nodig is om transaksiegeldigheid na te gaan, maar nie nodig om transaksie-effekte te bepaal nie". Kriptograwe het moontlik die term opgetel uit die vervaardiging van getuiemerke wat gebruik word om die belyning van komponente doeltreffend te verifieer. Die Utreexo projek het ten doel om dit te verander vir 'n subset van bitcoin nodusse deur hulle toe te laat om UTXO-insluitingswortels doeltreffend te versamel en dan die insluitingspaaie te ontvang saam met die besteding van daardie UTXO's. As dit 'n algemene manier word om te gebruik bitcoin, verskuif dit die koste van meer UTXO's van die nodusse na die houers van daardie UTXO's. Die ZeroSync projek het ten doel om dit vir sommige nodusse in sommige kontekste te verander. Transaksie-ID: Omgekeerde greeporde dubbel SHA256 van die vooraf-segwit-netwerkformaattransaksie. Veelvuldige geldige transaksies met dieselfde insette en uitsette het verskillende txids as hulle op verskillende maniere onderteken word of hul handtekeninge deur 'n derde party gewysig word. Kan enige waarde wees sonder 'n harde vurk omdat ou nodusse nie bewus is van die gesegregeerde getuiedata nie. 1-miljoen of minder om verenigbaarheid te handhaaf en 'n harde vurk te voorkom. Aanvaar die gebruik van kompakte publieke sleutels en 71-grepe lae-R/S DER-handtekeninge. Enigiemand onthou Satoshi dobbelsteen

Hierdie is 'n gasplasing deur Brandon Black. Menings uitgespreek is heeltemal hul eie en weerspieël nie noodwendig dié van BTC Inc of Bitcoin Magazine.

Oorspronklike bron: Bitcoin Tydskrif