Implementacija Bitcoin SegWit: ključne lekcije za blockchain programere

Jeste li programer za Bitcoin ili blockchain? Vjerojatno gledate na skalabilnost, kašnjenje mreže, naknade za transakcije i slična pitanja, pokušavajući poboljšati javne blockchaine. Implementacija Bitcoin SegWit ima važne lekcije, a ovaj ću projekt objasniti u ovom članku. Međutim, prvo ću objasniti što je odvojeni svjedok (SegWit).

Usvajanje bitcoina i izazovi s kojima se korisnici suočavaju

Bitcoin je stavio moć u ruke ljudi s njihovom rasulom i sigurnom mrežom i uživa veliku popularnost. Međutim, još uvijek ne kupujete jutarnju šalicu s njom, zar ne?

Unatoč popularnosti, svakodnevne transakcije još uvijek nisu u Bitcoinu, zbog sljedećih izazova:

  1. Svaki čvor u Bitcoin mreži mora pohraniti sve blokove i transakcije i sudjelovati u provjeri valjanosti transakcija. Bitcoin mreža može biti brza samo kao najsporiji čvor. Bitcoin koristi algoritam konsenzusa ‘Proof of Work’ (POW) koji nalaže sudjelovanje svakog čvora. Pročitajte više o algoritmu za ratne zarobljenike u “PoW vs. PoS: Usporedba dva algoritma konsenzusa u blockchainu “.
  2. Algoritam za ratne zarobljenike zahtijeva da rudari bitcoina riješe sve složeniju kriptografsku zagonetku, stoga koriste tešku računarsku snagu. To povećava mrežno opterećenje, osim što je vrlo energetski intenzivno. Učinak je kašnjenje mreže.
  3. Korisnici bitcoina žele da njihove transakcije prolaze brzo. Međutim, kašnjenje mreže i nedostatak skalabilnosti usporavaju ih. Bitcoin blokovi mogu rukovati samo ograničenim brojem transakcija, a kako bi prioritet dali svojim transakcijama, korisnici plaćaju visoke naknade za rudare. Te su naknade nastavile rasti.

Bitcoin SegWit je u značajnoj mjeri riješio pitanje naknada za transakcije, ali je nastalo zbog drugog problema, koji ću sada objasniti.

Podrijetlo Bitcoin SegWit: Bitcoin podatnost

Bitcoin je imao i još jedan potencijalno ozbiljan problem. Bitcoin koristi enkripciju podataka koja prvo pretvara otvoreni tekst u kodirani ‘šifrirani tekst’. Samo osoba s privatnim ključem može dešifrirati šifrirani tekst natrag u izvorni otvoreni tekst pomoću privatnog ključa.

Povodljivost je greška u tehnologiji šifriranja koja cyber napadačima omogućuje pretvaranje šifriranog teksta u drugi šifrirani tekst. Hakeri tada mogu dešifrirati modificirani šifrotekst u potpuno drugačiji, ali srodni, otvoreni tekst. Na primjer, mogu promijeniti adresu primatelja i iznos plaćanja u platnoj transakciji! Bitcoin enkripcija imala je ovu fleksibilnost.

“Segregirani svjedok (sloj konsenzusa)”, tj. SegWit ‘Prijedlog za poboljšanje bitcoina’ (BIP) 141 odnosio se na rješavanje ove programske pogreške.

Kako je implementacija Bitcoin SegWita riješila problem fleksibilnosti

Programer bitcoina Peter Wiulle iznio je prijedlog SegWita u prosincu 2015. Rješenje je djelovalo na sljedeći način:

  1. Stvorila je drugačiju strukturu nazvanu “Svjedok”. Sadrži podatke za provjeru autentičnosti transakcije, ali nema detalje o transakciji.
  2. Nova je struktura svjedoka posvećena bloku Bitcoin odvojeno od ostalih podataka o transakcijama, pa otuda i naziv “Segregated Witness”.
  3. Pretpostavimo da se hakeri domognu podataka o transakciji i pokušaju iskoristiti bug podatnosti. Sa SegWitom više ne mogu pristupiti dijelu digitalnog potpisa.
  4. Stoga, čak i ako uspiju promijeniti šifrirani tekst u nešto drugo, njihov napor nije koristan bez digitalnog potpisa.

Ovako je prijedlog Bitcoin SegWit planirao riješiti bug podatnosti. Međutim, prijedlog je uključivao više promjena, a one su pridonijele učinkovitom povećanju veličine Bitcoina. Čitajte dalje kako biste saznali kako.

Bitcoin SegWit učinkovito povećava veličinu Bitcoin bloka


Veličina bloka bitcoina je 1 megabajt (MB). Također, podaci o potpisu činili su dobar dio podataka o transakciji, stoga bi blok mogao sadržavati samo nekoliko transakcija.

Prijedlog SegWita stvorio je drugačiji parametar nazvan “Jedinica težine” (WU). Svaki bajt dijela bloka s podacima o transakciji odgovara 4 WU-a. Međutim, svaki bajt strukture “Svjedok” jednak je 1 WU.

Prijedlog je također definirao maksimalnu težinu bitcoin bloka kao 4 milijuna WU-a. Uradite svoju jednostavnu matematiku i možete vidjeti kako novi blokovi sa SegWitom imaju efektivno veću veličinu od 1 MB! To je omogućilo rudarima da uključe više transakcija u blok.

Budući da svaki blok sada ima učinkovitiji prostor, smanjuje se žestoka konkurencija za uključivanje transakcije u blok. To zauzvrat smanjuje naknade za transakcije!

Da je Bitcoin zajednica odlučila izričito nadvladati ograničenje veličine bloka od 1 MB, trebali su primijeniti hard fork. Međutim, kripto zajednice često ne vole tvrde vilice zbog nestabilnosti koju donose u cjelokupnu mrežu i ekosustav.

U slučaju implementacije Bitcoin SegWit-a ostalo je na snazi ​​pravilo o ograničenju veličine bloka od 1 MB, međutim novi WU parametar ga je zaobišao. Stoga nije bilo tvrdog rašlja za implementaciju SegWita.

Bitcoin SegWit za i protiv i usvajanje

Upravo ste vidjeli kako je SegWit riješio grešku u fleksibilnosti i smanjio naknade za Bitcoin transakcije. Međutim, postoje dodatne pogodnosti. Razmotrimo primjer “Munjske mreže”.

Lightning Network rješenje je izvan lanca koje omogućuje male, česte platne transakcije. To se pokreće na vrhu Bitcoin blockchaina i tamo ne bilježi svaku transakciju. Ovo rješenje bilježi samo povremeni sažetak transakcija u Bitcoin blockchainu.

Budući da sustav ne izvršava sve posredne transakcije u Bitcoin blockchainu, korisnici su trebali povjerenje da su njihove posredne transakcije sigurne. Greška u fleksibilnosti ne bi dopuštala to samopouzdanje. Implementacija Bitcoin SegWit pomogla je i razvoju Lightning Network-a.

Unatoč mnogim prednostima SegWita, ne biste ga trebali smatrati naprednim rješenjem skaliranja Bitcoina. Ovo nije automatizirana mjera skalabilnosti, to je bilo jednokratno zaobilaženje ograničenja veličine Bitcoin bloka. Osim toga, učinkovito povećanje veličine bloka u budućnosti može usporiti učitavanje bitcoin blokova sporijim čvorovima.

Bitcoin SegWit implementiran je u kolovozu 2017. godine, nakon mnogih rasprava u Bitcoin zajednici oko njegovih prednosti i nedostataka. Međutim, usvajanje još uvijek nije dovršeno, a statistiku možete pregledati ovdje.

Kao programer za Bitcoin ili blockchain, možete pronaći važne lekcije iz primjene Bitcoin SegWit-a. Razmislite o aspektima dugoročne skalabilnosti, sigurnosti i decentralizacije kada razvijate prijedloge za poboljšanje.

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