O detektori odijeljenog svjedoka za bitcoin

Metal Detector Battle | Dude Perfect (Srpanj 2019).

Anonim

bio je središte Bitcoinove dugotrajne rasprave o skaliranju, budući da su ga prije dva mjeseca predstavili osnivač Blockstream suosnivač i Bitcoin Core developer dr. Pieter Wuille.

Divna metoda za premještanje podataka o potpisu iz tipičnih transakcija u "blokove dodavanja", Segregirani svjedok je postavljen da poboljšava Bitcoin protokol na nekoliko načina. Štoviše, rješenje se može izvući kao mekana vilica, što znači da samo rudari trebaju nadograditi svoj softver; svi ostali čvorovi mogu to učiniti ako i kada se to sviđaju.

Inovacija se pozicionira kao prvi korak skalabilnosti "putokaza" kako ga navodi Bitcoin Core, a podržava ga veliki segment Bitcoinove razvojne zajednice.

Ali odvojeni svjedok nije slobodan od kontroverzi. Umjesto meke vilice odvojene svjedoka, nedavno pokrenuta alternativna Bitcoinova implementacija Bitcoin Classic planira povećati Bitcoinovu granicu veličine bloka na 2 megabajta kroz tvrdu vilicu, što znači da svi puni čvorovi na mreži trebaju nadograditi sinkronizirano.

Ovo su argumenti protiv meko trupa odvojene svjedoke - i njihovi protuprijatelji.

Zahtijeva "ružno" kôd

Čisti argument protiv Wuilleovog prijedloga je taj da meko trbalo odvojene svjedoke predstavlja "ružno" rješenje koda. Najvažnije, koristi dijelove transakcije sučelja baze rudnika u svrhe za koje nisu izvorno bili namijenjeni. Dodana složenost mogla bi potencijalno izazvati nove probleme dok se protokol neprestano razvija.

Protuparktifikati

Dok se većina programera slaže da bi tvrdi vilica bila čista rješenje, to ne znači da je meka vilica odvojena svjedoka nesigurnom. Razvojni tim Bitcoin Core razvio je nekoliko sličnih mekih vilica u prošlosti, i tvrdi da ovaj ne bi imao više rizika.

Tvrda vilica u međuvremenu čini sve postojeće softver potpune čvora nespojiv s novijim softverom za puni čvor, što je, vjerojatno, i nije baš zgodan.

Razvijava previše

Razvijena meka bušotina odvojena svjedoka nameće dodatni teret razvojnim programerima - i sada iu budućnosti. To je osobito vrijedno za Bitcoinove knjižnice i razvojne programere walleta, jer će morati prilagoditi svoj softver za integraciju segregiranih svjedoka. To će zahtijevati više napora nego povećanje veličine blokova tvrde vilice.

Protuparkument

Čini se da najrašireni programeri knjižnice i novčanika smatraju da je dodano opterećenje velik problem. Mnogi su čak i prilično uzbuđeni zbog inovacija, a oni obično uzimaju u obzir dodatne prednosti vrijedne truda. (Pogledajte Bitcoin Magazine s razvojnim serijama, kao što je dolje navedeno u ovom članku.)

Rast dodanog bloka prostora će biti spora

Kao i Bitcoin Classic predloženi tvrdi vilica, Segregirani svjedok teoretski nudi do 1 megabajt dodanog blok prostora, ukupno 2 megabajta.Ali ovaj optimalni dodatni kapacitet temelji se na multisig transakcijama, jer oni dobivaju računovodstveni "popust. "Ipak većina transakcija trenutačno nije multisig transakcije. Realnije povećanje kapaciteta moglo bi stoga biti bliže. 6 megabajta dodanog prostora, za ukupno 1,6 megabajta.

Dodatno, ovaj dodani prostor možda neće biti u potpunosti iskorišten odmah. Može se upotrebljavati samo nakon nadogradnje novčanika i drugih aplikacija. U stvarnosti, moglo bi potrajati i prije čak 1,6 megabajta.

I dok je meka vilica odvojena svjedoka zakazana za travanj, ostaje da se vidi ako se to može postići. Rješenje zahtijeva mnogo kodiranja i testiranja prije nego što se može izvesti, kao i odobrenje rudara.

Protuparktifikati

Javna vernet verzija Segregated Witness - SegNet - već je dostupna za eksperimente. Ovo sugerira da je razvoj u rasporedu.

Mnogi razvojni programeri knjižnica i novčanika, štoviše, procjenjuju da će to trajati bilo gdje između nekoliko dana i nekoliko tjedana kako bi integrirali segregaciju svjedoka. Izdanje za travanj trebalo bi stoga dati dovoljno vremena za većinu novčanika i softvera aplikacija za nadogradnju.

Čim se aktivira Segregirani svjedok, svi novčanik i aplikacijski softver mogu odmah iskoristiti prednosti - kao što su niže naknade. Bez obzira na to upotrebljavaju li drugi korisnici dodani prostor, za njih nije važno. (A ako se dodatni blokni prostor ne koristi, to bi moglo samo predložiti da potreba za dodatni blok prostor nikada nije bila tako velika na prvom mjestu.)

Također treba napomenuti da multisig transakcije mogu naći sve veću upotrebu kao inovacija i razvoj Bitcoin protokola napreduje jer dodani slojevi na vrhu Bitcoina - kao što su kanali za plaćanje i mreža munja - obično koriste takve transakcije. Učinkovit kapacitet mogao bi stoga približiti 2 megabajta kasnije.

I dok Bitcoin Classic tim tvrdi da se tvrdi viljuškar može pokrenuti prije travnja, to se smatra otvoreno agresivnim i izravno rizičnim od strane mnogih unutar razvojne zajednice. Potreba za svim operaterima čvora da pregledaju i usvoje nadogradnju, misle, zahtijevaju najmanje šest mjeseci do jedne godine.

Skews Incentives

Uklanjanje potpisa s originalnih blokova od 1 megabajta može učinkovito povećati Bitcoinovu veličinu bloka. No, Segregirani svjedok uvodi novu vrstu maksimalne veličine bloka. Grubo: Blok bez svjedoka, plus jedna četvrtina svjedoka, ne smije prelaziti 1 megabajt. Kao takav, nadograđeni čvorovi vidjet će blokove koji prelaze 1 megabajt, budući da je stvarna veličina odvojenog svjedoka veća od kvartala .

To znači da multisig transakcije, koje uključuju više podataka o potpisu, imaju veći popust. Budući da se multisig transakcije koriste za uspostavljanje slojeva na vrhu Bitcoina, odvojeni svjedok umjetno skreće poticaje prema tim dodanim slojevima.

Dugoročne posljedice takvih slojeva - poput utjecaja na rudarske naknade - kontroverze su.

Protuparktifikati

Podaci o potpisivanju diskriminacije su kako Segregirani svjedok dopušta dodatni blokni prostor bez potrebe za tvrdom vilicom. Iako se to doista postiže računovodstvenom mjerom, to je korisno.

Osim toga, podaci svjedoka mogu se razumno smatrati potrošenim nakon određenog vremena, smanjujući potrebu za punim čvorovima da ih pohrane u trajno razdoblje. Zbog toga je mrežom niži trošak, što je razumno naplatiti nižu naknadu.

Štoviše, jedini način na koji Bitcoin može dosegnuti milijune korisnika, a istovremeno i decentraliziran, siguran i otporan na cenzuru je korištenjem dodanih slojeva. Poticanje razvoja i korištenja ovih dodanih slojeva nije loša stvar.

Ne zauzima dobro pod kontradiktornim uvjetima

Jedan argument u prilog ograničenja veličine bloka odnosi se na blokiranje propagacije i latenciju. Ukratko: Veći blokovi imaju tendenciju povećanja siročadi, budući da se više rudara gradi na starim blokovima, dok novi blokovi još uvijek stvaraju svoj put kroz mrežu. Ovo, zauzvrat, pogoduje većim rudarima (ili bazenima): oni sami pronađu više blokova i odmah počinju graditi na njima, što znači da troše manje resursa.

To također znači da bi veliki rudari mogli potaknuti stvaranje umjetno velikih blokova, posebno dizajniranih za povećanje siročadi stopa konkurencije.

Trenutačni prijedlog svjedoka omogućuje blokove do oko 2 megabajta - iako je malo manje vjerojatno. No, zbog specifične računovodstvene mjere koja se primjenjuje, takozvani "sebični rudari" mogu stvoriti sintetičke transakcije namijenjene za stvaranje do 4 megabajta podataka u jedan blok. Kao takvi, veliki rudari mogli su "napasti" konkurente s valjanim blokovima od 4 megabajta.

Odvojeni svjedoci, stoga, zahtijevaju rudare i potpune čvoriće da implementiraju hardver s 4 megabajtnom sigurnosnom glavom, a zauzvrat dobivaju znatno manje realne transakcijske kapacitete. A ako se izvorni ograničenje veličine bloka povećava kroz tvrdu vilicu u nekom trenutku u budućnosti, taj multiplikator rizika vjerojatno će ostati.

Protuvrijednost

Ako je 4 megabajta doista dovoljno velika da uspješno skrene napad - što je nejasno - taj napad zahtijeva da ratni lovac napusti sve prave transakcije. Rezultirajući gubitak naknada služi kao neznatan poticaj za obavljanje takvog napada, a ostatak mreže očigledno je da se napad događa.

I dok će se multiplikator rizika vjerojatno zaista zadržati čak i kad se kasnije izvadi tvrdi vilica, može se također smanjiti i kroz meku vilicu.

To poništava sigurnost nenadograđenih čvorova

Peta je zabrinutost da će meke vilice odvojene svjedoka degradirati sigurnost svih nepodograđenih punih čvorova. Ti čvorovi mogli bi i dalje prihvatiti transakcije odvojenih svjedoka ili transakcije koje ovise o prethodnoj transakciji odvojenog svjedoka, ali ne mogu provjeriti jesu li podaci potpisa valjani.Kao takvi, morali bi se osloniti na potvrđivanje rudara.

Nepotvrđene transakcije odvojenih svjedoka bile bi, dakle, nesigurne, jer to uopće nisu potvrdile rudari.

No čak i potvrdio transakcije odvojenog svjedoka bile bi manje sigurne, jer su rudari mogli namjerno mijenjati nevidljive transakcije u blokove s namjerom da dvostruko troše neuređeni čvorovi. Nepodržani čvor vjeruje da će ti blokovi biti važeći dok rudari ne prebace svoju hasnu snagu natrag u valjani lanac. Ako neodograđeni čvor prihvaća transakcije iz nevažećih blokova, možda je izgubio novac.

Troškovi takve dvostruke potrošnje slični su troškovima bilo kojeg drugog napada od 51 posto, ali uz dodatnu polugu. Napadanje rudara moglo bi potencijalno iskoristiti hash power od "SPV-rudara", koji ne bi znali što se događa na sebi, jer oni ne potvrđuju transakcije ni. A napadač je mogao iskoristiti sredstva za dvostruko trošenje, budući da je mogao upotrijebiti bilo koji odijeljeni Bitcoin zaštićen svjedocima koji nikad prije nisu pripadali njemu.

Protupožarni argumenti

Mekana vilica odvojena svjedoka javno će se objaviti daleko unaprijed, a transparentno su glasali rudari. Kao takav, svaki korisnik koji izvodi puni čvor ima dovoljno vremena da poduzme potrebne mjere predostrožnosti.

Korisnici koji izvode nežurirani čvor ne smiju imati povjerenja u transakcije s potvrdom od nule. No transakcije s potvrdom od nule bile su uvijek nesigurne. Svatko tko želi iskoristiti napad s dvostrukom potrošnjom s nepotvrđenim transakcijama, to može učiniti sa ili bez odvojenog svjedoka.

Dodatni rizik potvrđenih transakcija u međuvremenu se može nadoknaditi čekajući dodatni broj potvrda. (Za točne brojke dodanih rizika, pogledajte ove izračune od strane razvojnog programera Bitcoin Oleg Andreev.)

Korisnik koji uopće ne želi nadograditi na najnoviji status punog čvora, nadalje bi mogao zakrpati njegov nepodograđeni puni čvor softver koji označava sumnjive transakcije - i potencijalno čak i odbacuje takve transakcije u potpunosti.

Posljednje, valja napomenuti da tvrde vilice predstavljaju mnogo veći rizik od transakcija s dvostrukim troškovima. Bilo koji nenadograđeni čvor mogao bi, u slučaju tvrde vilice, primiti potpuno nevaljanu transakciju, a potencijalno ga nikada ne bi realizirala.

Bit će implementirano bez izričitog pristanka korisnika

Iako je vjerojatno malen, postojanje sigurnosne degradacije kao što je opisano gore. A što je možda važnije: ova će se sigurnosna degradacija provoditi bez izričitog pristanka od korisnika. Čak i ako se korisnici snažno suprotstave Segregiranom svjedoku i ne žele ažurirati, većina rudara može gurnuti promjenu bez obzira na to.

Ovo je u suprotnosti s Bitcoinovim obećanjima o osobnoj autonomiji; ideja da operatori punog čvora uvijek imaju mogućnost odbaciti bilo kakvu promjenu.

Protuparktifikati

Mehaničke vilice se ne mogu spriječiti. Rudari koji kontroliraju većinu hash power moći uvijek odlučiti provesti nova pravila, pod uvjetom da oni ne prekidaju postojeće pravila konsenzusa.Ovo je inherentno Bitcoinovom protokolu i bit će moguće i nakon teške forme.

Kao takvi, korisnici s punim čvorovima moraju uvijek podnijeti određenu odgovornost. Odgovornost za nadogradnju na najnoviju verziju softvera ili odgovornost za čekanje na dodatni broj potvrda ili možda čak i odgovornost da ne prihvati nikakve transakcije nakon mekog tanjura je otkriven.

I dok je tehnički istina da korisnici ne moraju mijenjati svoj softver nakon (spornih) tvrdi vilica i mogu odabrati "ostati iza" na izvornoj mreži, to će gotovo sigurno ne biti opcija u praksi. Osim rizika od napada dvostrukog potrošnje, smanjena potrošnja hashe moći će osigurati da transakcije nikad ne potvrde - ili se vrlo sporo potvrđuju. Alternativni scenarij je da manjinski lanac hash snagom uvodi vlastiti tvrdi vilica za promjenu algoritma dokaza o radu. Bitcoin bi se zatim podijelio u dvije zasebne mreže, a svi korisnici morali bi nadograditi svoj softver kako bi podržali jednu od mogućnosti - ili oboje.

Zahvaljujući Jonathanom Toomim i Ciphrexovom izvršnom direktoru, Bitcoin Core i razvojnom programeru Eric Lombrozo za prepisivanje svjedoka, za korekturu i dodatnu povratnu informaciju.

Za više informacija o odjeljenom svjedoku, pogledajte

Bitcoin Magazine serija, ili dio 1, dio 2, dio 3, dio 4, dio 5, dio 6, dio 7 i dio 8 Bitcoin Magazine razvojni niz.