Tehnologia de blocare a compresiei a prezentat un martor separat

Tehnologia de blocare a compresiei a prezentat un martor separat

Prin urmare, proiectul, prezentat de dezvoltatorul Peter Vulle, numit Martor Segregat, a fost întâmpinat cu entuziasm. Decizia a câștigat sprijinul părții tehnice a comunității și are mari speranțe. Unii îl consideră a fi soluția mult așteptată a problemei scalabilității, care va aduce pacea și liniștea comunității lui Bitcoin. În mod strict vorbind, această propunere nu se referă la dimensiunea maximă a blocurilor și nu rezolvă complet problema, însă poate "încetini" în mod semnificativ creșterea blocului, care deja adaugă mai multe gigaocteți pe lună.







Ce este martorul segregat și cum funcționează?

Încă o dată despre tranzacțiile lui Bitcoin

Pentru a înțelege ce este Martorul Segregat, trebuie să înțelegeți aspectul tehnic al tranzacțiilor Bitcoin. Protocolul Bitcoin este conceput pentru a transmite tranzacțiile. Nodurile rețelei peer-to-peer nu se trimit reciproc, trimit pachete cu date despre tranzacții.

Fiecare tranzacție conține două componente principale. Prima componentă deblochează bitcoinurile blocate în tranzacțiile anterioare, utilizând pentru acest scop fragmente de date numite "intrări". Intrările conțin scripturi - instrucțiuni pentru deblocarea unei intrări, numite semnături scriptSigs. A doua componentă a tranzacției constă în una sau mai multe părți, numite "ieșiri". Ieșirile blochează din nou același număr de biți sau un număr mai mic, dar pentru următorul destinatar. Ieșirile conțin scripturi asociate cheilor publice (scriptPubKeys). Adică, bitcoin-urile se mișcă în fiecare tranzacție de la intrările la ieșiri și simultan sare între tranzacții.

Unde sunt semnăturile?

Prin urmare, scriptul cheie publicPubKeys necesită, de obicei, ca scriptSig să conțină una sau mai multe semnături pentru a debloca bitcoin.

Semnăturile reprezintă o tehnică criptografică care utilizează o cheie privată în combinație cu alte date pentru a număra o secvență unică de numere. Datorită magiei criptografice, cheia publică corespunzătoare poate fi utilizată pentru a confirma că semnătura a fost creată utilizând o cheie privată. Astfel, semnăturile dovedesc atât posesia cheii private, cât și confirmarea unei anumite date de către proprietarul acestei chei private.

În cazul Bitcoin, cheile private sunt de obicei folosite pentru a semna datele de tranzacție minus intrările. Prin urmare, cheile publice scriptPubKeys, sumele blocate și câteva detalii suplimentare. Semnatura și cheia publică sunt adăugate în zona de intrare a tranzacției. Acest lucru demonstrează că proprietarul cheii private intenționează cu adevărat să creeze o tranzacție și garantează autenticitatea acesteia.

Se crede că datele din blocul bitcoin sunt neschimbate, deoarece schimbarea oricărei părți a tranzacției își schimbă mai târziu identificatorul, ceea ce implică modificări ale antetului blocului. Acest antet bloc modificat nu va mai îndeplini cerințele modelului PoW (dovadă de funcționare). Și deoarece antetul blocului afectează compoziția anteturilor blocurilor ulterioare, lanțul întreg nu se va potrivi cu PoW.

Ce este martorul segregat?

Tehnologia de blocare a compresiei a prezentat un martor separat

Dar înapoi la propunerea Martor segregat. Soluția se bazează pe modelul utilizat în elementul Blockstream, precum și pe conceptul dezvoltatorului Bitcoin Core Luke Dash jr. Propunerea a fost dezvoltată în ultimele luni cu participarea lui Gregory Maxwell și Eric Lombrozo și ar putea fi pusă în aplicare în cursul anului viitor.

Din punct de vedere al nodurilor Bitcoin care nu folosesc segregată Martor (sa-i numim „noduri vechi“), dintre care unele pot crea doar un start de ieșire foarte rapid folosind tip ciudat de chei scriptPubKeys deschise. Ciudat, deoarece aceste scriptPubKeys pot fi considerate greu un bloc. Din moment ce aceste chei sunt de obicei caracterizate prin fraza: „Oricine poate cheltui,“ practic ei (scriptPubKeys) afirmă că acestea nu necesită o semnătură. În plus, acestea vor include un text fără sens.

Nodurile vechi vor considera aceste tranzacții incorecte. Ei vor crede că oricine poate să creeze o nouă semnătură scriptSig deblocând aceste ieșiri, adică sunt, să le spună blând, nesigur. Cu toate acestea, vechile noduri nu vor respinge și nu vor respinge aceste tranzacții. În cele din urmă, acestea nu sunt băieții lor, și alții pot face cu bitkoinami lor tot ceea ce doresc. Textele fără text vor fi considerate ciudate, dar nimic mai mult. Prin urmare, tranzacțiile vor fi confirmate și trimise către alte noduri ale rețelei.

Cu toate acestea, nodurile cu suport pentru Segregated Witness (să le numim "noduri noi") vor observa altceva. Ei vor citi textul "lipsit de sens" în scriptul cheie publicPubKey, dar nu vor găsi deloc deloc. În schimb, noile noduri vor defini acest fragment de text ca un alt tip de ieșire foarte specific.

Similar cu ieșirile obișnuite, pentru a debloca bitcoin acest nou tip de ieșire va necesita una sau mai multe semnături. Cu toate acestea, spre deosebire de ieșirile obișnuite, noul tip nu necesită ca semnătura să fie inclusă în scriptSig a tranzacției corespunzătoare. În schimb, este necesar ca semnătura să fie inclusă într-un fragment complet nou al tranzacției: Martor segregat.

De fapt, Martorul Segregat este o "componentă suplimentară") care conține semnături și alte date. Este foarte important ca Martorul Segregat să fie complet ignorat de vechile noduri, dar este recunoscut ca nou. Mai mult decât atât, datele transmise de Martorul Segregat nu sunt șterse împreună cu alte fragmente ale tranzacției în identificatorul său.

Astfel, ambele noduri vechi și noi vor considera că tranzacțiile care conțin semnături în Martorul Segregat sunt corecte. nodurile vechi le confirmă că, în opinia lor, aceste tranzacții nu necesită o semnătură, iar noul nod le confirma ca semnătura necesară este în segregată martor. Și din moment ce ambele noduri vechi și noi vor face tranzacții de date în același identificator, toată lumea este de acord cu compoziția blocurilor și structura întregului blockbuster.







Există o problemă: dacă semnăturile nu afectează compoziția blokcheyna, blokcheyn nu mai acționează ca o dovadă că unitatea a inclus tranzacția corectă.

Oferta Martor Segregat vă permite să extrageți semnături din tranzacțiile Bitcoin menținând în același timp imutabilitatea lor și să nu încălcați niciuna dintre regulile existente de consens.

Ce face Martorul Segregat?

Tehnologia de blocare a compresiei a prezentat un martor separat

Pe scurt - permite creșterea eficienței blocului fără a mări dimensiunea blocului. Avantajul propunerii Martorului Segregat este că excluderea semnăturilor de la un bloc în 1Mb poate duce la o creștere efectivă a dimensiunii blocului Bitcoin. Aceasta înseamnă că în fiecare bloc va fi posibilă înregistrarea mai multor tranzacții sau, cu alte cuvinte, creșterea capacității de blocare. Toate acestea au loc fără a încălca regulile existente de consens.

Propunerea companiei Vuellet oferă într-adevăr o nouă abordare pentru rezolvarea problemei dimensiunii blocurilor. Formula folosită pentru a calcula dimensiunea maximă nu arată foarte specifică:
Datele blocate plus un "sfert" de Martori Segregați nu trebuie să depășească 1 MB. În acest caz, toate blocurile de par noduri vechi la mai puțin de 1 MB, deoarece trimestru segregată Martorul (care nu pot vedea) trebuie să fie instalat pe același 1 MB. În acest caz, noile noduri vor vedea blocuri care depășesc 1 MB, deoarece mărimea reală a martorului segregat este mai mare decât ceea ce este considerat un sfert.

Suma exactă a spațiului suplimentar furnizat de Martorul Segregat depinde de tipurile de tranzacții care sunt incluse în noile blocuri. Dacă mai multe tranzacții stochează mai multe date în Segregated Witness, așa cum se întâmplă în tranzacțiile cu mai multe semnături, mărimea efectivă a blocului crește. Aceasta adaugă aproximativ 1.75MB în dimensiunea maximă a blocului pentru tranzacții normale, și de 4MB în dimensiune este setat ca o limită greu, care nu poate fi depășită, chiar dacă segregată Martorul în loc de (aproape) toate datele.

Spuneți la revedere elasticității tranzacțiilor

Mărtura segregată are un alt avantaj important: această soluție poate avea grijă de "elasticitatea tranzacțiilor" Bitcoin. De fapt, inițial aceasta a fost motivația lui Vüll și a altora în dezvoltarea modelului.

Elasticitatea tranzacțiilor este cauzată de metoda criptografică de modificare a semnăturii fără a schimba conținutul. Acest lucru se poate face fără cheia privată utilizată pentru a crea semnătura originală. În cazul Bitcoin, aceasta înseamnă că orice participant poate prelua orice tranzacție din rețeaua peer-to-peer și poate modifica o semnătură pentru alta cu aceeași semnătură valoroasă. Această nouă semnătură va reflecta exact aceleași date pe care le-a semnat inițial și poate fi confirmată cu aceeași cheie publică. Aceasta nu schimba absolut ceea ce efectuează tranzacția. Dar, deoarece arată diferit, schimbă cu adevărat identificatorul tranzacției.

Elasticitatea tranzacțiilor provoacă două probleme principale. În primul rând, introduce haos în aplicațiile de la terțe părți care utilizează identificatori de tranzacții pentru a ține cont de tranzacțiile care au fost comise. Potrivit unei versiuni, în acest moment a fost prins de către Mark Carpeles, când hackerii au "scos" bomboanele cu MtGox, folosind această vulnerabilitate. Dar, mai important, elasticitatea tranzacțiilor limitează sever capacitatea oricărei tranzacții cu bitcoine care utilizează tranzacții neconfirmate pentru a accelera operațiunile - de exemplu, canalele de plată sau Rețeaua de Lightning.

Martorul segregat elimină semnăturile de la componenta de tranzacție utilizată pentru a crea identificatori de tranzacții. Prin urmare, noul format nu afectează aplicațiile care utilizează identificatori de tranzacții. De asemenea, acest lucru nu joacă un rol pentru canalele de plată sau pentru Rețeaua de Lightning, oferind astfel o platformă pregătită pentru implementarea unor straturi suplimentare de scalare.

Cum Bitcoin poate deveni universal

Un alt avantaj important al ofertei Segregated Witness este versiunea scenariului. După cum sa explicat deja, Martorii segregați conțin scriptul de semnătură, care deblochează bitcoinele. Cu toate acestea, acestea includ altceva, și anume: octeți de versiuni. Aceste octeți de versiune precedă script-urile din Martorii Segregați, demonstrând tipul de semnătură scriptSig. Dacă clientul care citește octetul de versiune recunoaște acest tip, acesta vă poate spune ce cerințe trebuie îndeplinite pentru a debloca bitcoin în scriptSig. Dacă în octetul de versiune acest tip nu este recunoscut, acesta interpretează semnatura scriptSig ca "Poate cheltui orice".

Aceasta deschide multe noi modalități de blocare a bitcoinelor în tranzacții. De fapt, acest avantaj poate fi folosit pentru orice încuietori de bitcoins. Este greu de spus modul în care acest avantaj poate fi utilizat în viitor, deoarece majoritatea aplicațiilor nu au fost încă inventate. Cu toate acestea, se așteaptă ca acestea să fie semnăturile Schnorr, să confirme mai repede decât semnăturile tradiționale, precum și tipurile mai complexe de tranzacții cu semnături multiple; poate chiar scripturi ca Ethereum.

Dovada fraudei

Și asta nu e tot. Misterul separat poate de asemenea să prezinte o soluție numită dovezi de fraudă. Acestea au fost prevăzute de Satoshi Nakamoto, iar dovezile de fraudă pot îmbunătăți semnificativ securitatea clienților SPV ("portofelele ușoare") - acestea sunt noduri Bitcoin care nu confirmă tranzacțiile în rețea și nu stochează un bloc complet.

Astfel, dacă blocul conține tranzacții incorecte, poate fi creată o dovadă scurtă și ușor de verificat a fraudei de către orice client complet. Acest nod complet poate trimite clienților SPV o dovadă de fraudă, astfel încât să știe că blocul trebuie să fie aruncat.

Astfel, chiar și cu dovezi de fraudă, clienții SPV nu pot oferi același nivel de protecție ca și cei compleți. Cel mai important, soluția care demonstrează că există fraude necesită ca nodurile SPV să poată comunica cu rețeaua fără cenzură. În plus, clienții SPV trebuie să aibă cel puțin un nod complet în rețea, furnizând dovezi de fraudă.

Comprimarea blocajului

În cele din urmă, și cel mai important pentru deținătorii de "noduri complete", Segregated Witness poate reduce cantitatea de date pe care nodurile Bitcoin trebuie să le stocheze pe hard disk-urile lor. Acest lucru reduce cerințele pentru rularea unui nod complet și reduce timpul necesar pentru sincronizarea rețelei la prima instalare.

Martor segregat și BIP10x

Cum poate martorul segregat să rezolve problema scalabilității blocurilor? Segregatul Martor extrage semnătura din tranzacție și o pune într-o structură de date separată. Când semnătura este eliminată din tranzacție, dimensiunea tranzacției este redusă. Prin urmare, fiecare tranzacție este redusă cu aproximativ 47%, și obținem 47% mai multe tranzacții cu aceeași dimensiune a blocului.

Cu toate acestea, nu putem presupune că această tehnologie rezolvă complet problema scalabilității. Rămâne la același nivel de spațiu de blocare de 1MB, iar când este umplut din nou în toate blocurile, problemele vor apărea din nou. Compilația de date a Martorilor Segregați propus poate fi foarte utilă. Cu toate acestea, acesta poate fi folosit doar ca supliment la o soluție cu adevărat eficientă la problema dimensiunii blocului.

Astfel, Martorul Segregat ca "argument important" este inclus în "războiul BIP" și poate deveni un atu pentru partidul care va găsi această tehnologie cea mai bună aplicație. Probabil cele mai bune cote pentru acest moment sunt BIP102 și BIP248 ale lui Jeff Garzick de la Adam Beck, șeful Blockstream, unul dintre principalii jucători în această luptă. Aceste două propuneri sunt cea mai conservatoare abordare a schimbării dimensiunii blocului, ceea ce înseamnă că acestea vor fi susținute de o parte prudentă a comunității care se teme de schimbări drastice.

SegNet de testare

Tehnologia de blocare a compresiei a prezentat un martor separat

Proiectul implică Pieter Wuille, Eric Lombrozo, Johnson Lau, Alex Morcos și câțiva alți programatori care, cu diverse patch-uri, vor efectua teste și vor căuta vulnerabilități care pot provoca realizarea de semnături de tranzacție într-o componentă separată a blocului.

Probabil, înainte de integrarea în Bitcoin Core, conceptul inițial de Martor Segregat poate suferi unele modificări. Momentul experimentului și condițiile necesare pentru punerea în aplicare a Martorului Segregat în rețeaua principală nu sunt încă publicate.







Trimiteți-le prietenilor: