Implementarea Bitcoin SegWit: lecții cheie pentru dezvoltatorii blockchain

Ești dezvoltator de Bitcoin sau blockchain? Probabil căutați scalabilitatea, latența rețelei, taxele de tranzacție și probleme similare, încercând să îmbunătățiți blockchain-urile publice. Implementarea Bitcoin SegWit are lecții importante și voi explica acest proiect în acest articol. Cu toate acestea, voi explica mai întâi ce este Martorul separat (SegWit).

Adoptarea Bitcoin și provocările cu care se confruntă utilizatorii

Bitcoin a pus puterea în mâinile oamenilor cu rețeaua lor dezintermediată și sigură și se bucură de o popularitate ridicată. Cu toate acestea, încă nu-ți cumperi cuppa de dimineață cu ea, nu-i așa??

În ciuda popularității, tranzacțiile de zi cu zi nu sunt încă în Bitcoin, din cauza următoarelor provocări:

  1. Fiecare nod din rețeaua Bitcoin trebuie să stocheze toate blocurile și tranzacțiile și să participe la validarea tranzacției. O rețea Bitcoin poate fi la fel de rapidă ca cel mai lent nod. Bitcoin folosește algoritmul de consens „Dovada muncii” (POW) care impune participarea fiecărui nod. Citiți mai multe despre algoritmul POW în „PoW Vs. PoS: o comparație între două algoritmi de consens blockchain „.
  2. Algoritmul POW necesită minerii Bitcoin pentru a rezolva un puzzle criptografic din ce în ce mai complex, prin urmare utilizează o putere de calcul mare. Acest lucru mărește sarcina rețelei, pe lângă faptul că este foarte consumatoare de energie. Efectul este latența rețelei.
  3. Utilizatorii Bitcoin doresc ca tranzacțiile lor să treacă rapid. Cu toate acestea, latența rețelei și lipsa scalabilității le încetinesc. Blocurile Bitcoin pot gestiona doar un număr limitat de tranzacții, iar pentru a stabili prioritățile tranzacțiilor, utilizatorii plătesc taxe miniere mari. Aceste taxe au continuat să crească.

Bitcoin SegWit a rezolvat problema taxelor de tranzacționare într-o măsură semnificativă, dar a apărut din cauza unei alte probleme, pe care o voi explica acum.

Originea Bitcoin SegWit: maleabilitatea Bitcoin

Bitcoin a avut, de asemenea, o altă problemă potențial gravă. Bitcoin folosește criptarea datelor, care transformă mai întâi un text simplu într-un „text cifrat” amestecat. Numai persoana cu cheia privată poate decripta textul cifrat înapoi în textul original original folosind cheia privată.

Maleabilitatea este un bug într-o tehnologie de criptare care permite atacatorilor cibernetici să convertească textul cifrat într-un alt text cifrat. Hackerii pot decripta textul cifrat modificat într-un text complet diferit, dar înrudit. De exemplu, pot schimba adresa destinatarului și suma plății într-o tranzacție de plată! Criptarea Bitcoin a avut această eroare de maleabilitate.

„Segregated Witness (Consensus Layer)”, adică „Propunerea de îmbunătățire Bitcoin” (BIP) 141 a SegWit a fost despre rezolvarea acestei erori de maleabilitate.

Modul în care implementarea Bitcoin SegWit a rezolvat problema maleabilității

Dezvoltatorul Bitcoin Peter Wiulle a venit cu propunerea SegWit în decembrie 2015. Soluția a funcționat după cum urmează:

  1. A creat o structură diferită numită „Martor”. Acesta conține date pentru autentificarea unei tranzacții, dar nu are detaliile tranzacției.
  2. Noua structură Witness este dedicată blocului Bitcoin separat de restul datelor tranzacțiilor, de unde și denumirea de „Martor separat”.
  3. Să presupunem că hackerii obțin datele tranzacției și încearcă să exploateze eroarea de maleabilitate. Nu mai pot accesa piesa de semnătură digitală cu SegWit.
  4. Prin urmare, chiar dacă reușesc să schimbe textul cifrat în ceva diferit, efortul lor nu este util fără semnătura digitală.

Acesta este modul în care propunerea Bitcoin SegWit a planificat să rezolve eroarea de maleabilitate. Cu toate acestea, propunerea a inclus mai multe modificări și acestea au contribuit la o creștere eficientă a dimensiunii blocurilor Bitcoin. Citiți mai departe, pentru a afla cum.

Bitcoin SegWit crește în mod eficient dimensiunea blocului Bitcoin


Dimensiunea blocului Bitcoin este de 1 megabyte (MB). De asemenea, informațiile despre semnătură au constituit o parte bună a datelor tranzacției, prin urmare un bloc ar putea include doar câteva tranzacții.

Propunerea SegWit a creat un parametru diferit numit „Unitatea de greutate” (WU). Fiecare octet al părții de date a tranzacției a blocului corespunde la 4 WU. Cu toate acestea, fiecare octet al structurii „Martor” este egal cu 1 WU.

Propunerea a definit, de asemenea, greutatea maximă a unui bloc Bitcoin ca fiind 4 milioane WU. Faceți matematica simplă și puteți vedea cum noile blocuri cu SegWit au o dimensiune mai mare de 1 MB în mod eficient! Acest lucru a permis minilor să includă mai multe tranzacții într-un bloc.

Deoarece fiecare bloc are acum un spațiu mai eficient, concurența acerbă pentru includerea unei tranzacții într-un bloc se reduce. Acest lucru, la rândul său, reduce taxele de tranzacție!

Dacă comunitatea Bitcoin a decis să anuleze în mod explicit limita de dimensiune a blocului de 1 MB, ar fi trebuit să implementeze un hard fork. Cu toate acestea, comunitățile criptografice nu preferă adesea furcile dure din cauza instabilității pe care o aduc rețelei și ecosistemului general.

În cazul implementării Bitcoin SegWit, regula limită de mărime a blocului de 1 MB a rămas în vigoare, cu toate acestea, noul parametru WU a ocolit-o. Prin urmare, nu a existat o forță dificilă pentru a implementa SegWit.

Pro și contra Bitcoin SegWit și adoptare

Tocmai ați văzut cum SegWit a rezolvat eroarea de maleabilitate și a redus comisioanele de tranzacție Bitcoin. Cu toate acestea, există beneficii adăugate. Luați în considerare exemplul „Rețeaua fulgerului”.

Rețeaua Lightning este o soluție off-chain pentru a permite tranzacții de plată mici și frecvente. Aceasta se execută pe partea de sus a blockchain-ului Bitcoin și nu înregistrează fiecare tranzacție acolo. Această soluție înregistrează doar un rezumat periodic al tranzacțiilor din blockchain-ul Bitcoin.

Întrucât sistemul nu angajează toate tranzacțiile intermediare în blockchain-ul Bitcoin, utilizatorii aveau nevoie de încrederea că tranzacțiile lor intermediare erau sigure. Bugul de maleabilitate nu ar permite această încredere. Implementarea Bitcoin SegWit a ajutat și dezvoltarea rețelei Lightning.

În ciuda numeroaselor avantaje ale SegWit, nu ar trebui să o considerați ca o soluție avansată de scalare Bitcoin. Aceasta nu este o măsură de scalabilitate automată, a fost o ocolire unică a limitei de mărime a blocului Bitcoin. În plus, o creștere eficientă a dimensiunii blocurilor poate face ca nodurile mai lente să dureze mai mult timp pentru a încărca blocurile Bitcoin în viitor.

Bitcoin SegWit a fost implementat în august 2017, după multe dezbateri în comunitatea Bitcoin asupra avantajelor și dezavantajelor sale. Cu toate acestea, adoptarea este departe de a fi completă și puteți vizualiza statisticile Aici.

Ca dezvoltator Bitcoin sau blockchain, puteți găsi lecții importante din implementarea Bitcoin SegWit. Luați în considerare aspectele de scalabilitate, securitate și descentralizare pe termen lung atunci când vă dezvoltați propunerile de îmbunătățire.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map