Apie bitcoin segmentinio liudytojo nuogąstavimus

Geometry: Measurement of Segments (Level 1 of 4) | Measuring Segments, Congruent Segments (Gegužė 2019).

Anonim

Segreguoti liudytojai buvo "Bitcoin" ilgalaikio svarstymo diskusijų centras, nes jį pirmą kartą pristatė Blockstream įkūrėjas ir "Bitcoin Core" kūrėjas Dr Pieter Wuille prieš du mėnesius.

Puikus būdas perkelti parašo duomenis iš įprastų sandorių į "add-on blokus", Segregated Witness siūlo keletą būdų pagerinti Bitcoin protokolą. Be to, tirpalas gali būti išvyniotas kaip minkštas šakutė, o tai reiškia, kad tik kalnakasiai turi atnaujinti savo programinę įrangą; visi kiti mazgai tai gali padaryti, jei ir kada jie patinka.

Naujovių diegimas yra pirmasis "Bitcoin Core" nustatyto mastelio "plano" etapas, kurį palaiko didelis "Bitcoin" plėtros bendruomenės segmentas.

Tačiau Segreguoti liudytojas nėra ginčytinas. Vietoj "Segregated Witness" minkštosios šakės, neseniai pradėjusios alternatyvios "Bitcoin" diegimo "Bitcoin Classic" planuojama padidinti "Bitcoin" bloko dydį iki 2 megabaitų per kietąjį šaką, o tai reiškia, kad visi visi tinklo mazgai turi būti sinchroniškai tobulinami.

Tai yra argumentai prieš "Segregated Witness" minkštuosius šakutes - ir jų priešpaskutinius argumentus.

Reikalingas "žiaurus" kodas

Purio argumentas prieš Wuille pasiūlymą yra tai, kad "minkšta" šakia "Segregated Witness" yra "negraži" kodo sprendimas. Svarbiausia, jis naudoja mineratoriaus sugeneruotų monetų bazės sandorio dalis, kad jos nebūtų iš pradžių skirtos. Papildomas sudėtingumas gali sukelti naujų problemų, nes protokolas nuolat vystosi.

Kontrargumentai

Nors dauguma kūrėjų sutinka, kad kietoji šakutė būtų švaresnis sprendimas, tai nebūtinai reiškia, kad švelniosios šakutės "Segregated Litness" nėra pavojingos. "Bitcoin Core" vystymo komanda praeityje išvedė keletą panašių minkštųjų šakių ir teigia, kad ši rizika nebus didesnė.

Tuo pačiu metu kietoji šakė suteikia visą esamą visišką mazgų programinę įrangą, nesuderinama su naujausia visiškai mazgo programine įranga, kuri, be abejonės, nėra labai grakšta.

Tai gebėjimų kūrėjai per daug

"Segregated Witness" švelniosios šakės sprendimas yra papildoma našta kūrėjams - tiek dabar, tiek ateityje. Tai ypač pasakytina apie Bitcoin biblioteką ir piniginės kūrėjams, nes jiems reikės pritaikyti savo programinę įrangą, kad integruotų Segregated Witness. Tam prireiks daugiau pastangų, nei kietojo šakės bloko dydžio didinimas.

Kontragentas

Dauguma dabartinių bibliotekų ir piniginių kūrėjų, atrodo, nemano, kad papildoma našta yra didelė problema. Daugelis netgi labai susijaudinęs dėl naujovių, ir paprastai jie vertina papildomą naudą, kuri verta pastangų. (Žr. Bitcoin Magazine 's kūrimo seriją, susietą toliau šiame straipsnyje.)

Pridėtos blokinės erdvės augimas bus lėtas

Kaip ir siūloma "Bitcoin Classic" sunkio šakė, teoriškai "Segregated Witness" siūlo iki 1 megabaito pridėto bloko ploto, iš viso 2 megabaitai.Tačiau šis optimalus papildomas pajėgumas yra pagrįstas daugiašaliais sandoriais, nes jie gauna apskaitos "nuolaidą". "Tačiau dauguma sandorių šiuo metu nėra daugiašaliai sandoriai. Todėl realesnis pajėgumų didinimas galėtų būti arčiau. 6 megabaitai pridedamos vietos, iš viso 1,6 megabaitai.

Be to, ši papildoma vieta gali būti išnaudota ne iš karto. Jis gali būti naudojamas tik po to, kai piniginės ir kitos programos yra patobulintos. Iš tiesų, tai gali užtrukti, kol dar pasiekiama net 1. 6 megabaitų.

Ir nors "Segregated Witness" minkštajam šakutui planuojama balandžio mėnesį, vis dar reikia sužinoti, ar tai galima pasiekti. Sprendimas reikalauja daug kodavimo ir testavimo, kol jis gali būti išvyniotas, taip pat patvirtinta kalnakasių.

Kontragargai

"Segregated Witness" - "SegNet" vieša bandymų tinklo versija jau yra prieinama eksperimentuoti. Tai rodo, kad plėtra vyksta pagal grafiką.

Daugelis bibliotekų ir piniginių kūrėjų, be to, apskaičiavo, kad norint integruoti "Segregated" liudytoją, tai prireiks nuo kelių dienų iki kelių savaičių. Todėl balandžio mėn. Leidime turėtų būti pakankamai laiko, kol bus atnaujinta didžioji piniginės ir programinės įrangos programinė įranga.

Kai aktyvuos "Segregated Witness", visa piniginės ir programinė įranga gali iš karto pasinaudoti privalumais, pvz., Mažesniais mokesčiais. Nesvarbu, ar kiti naudotojai naudoja pridėtą erdvę, jiems iš tikrųjų nereikia. (Ir jei pridėta bloko erdvė nenaudojama, tai gali tiesiog parodyti, kad papildomo bloko erdvės poreikis niekada nebuvo toks didelis.)

Reikėtų taip pat pažymėti, kad daugialypiai sandoriai gali būti vis labiau naudojami kaip naujovės ir "Bitcoin" protokolo kūrimas vyksta, nes papildomi sluoksniai "Bitcoin" viršuje, pavyzdžiui, mokėjimo kanalai ir "Lightning Network", paprastai naudoja tokius sandorius. Todėl veiksmingi pajėgumai gali būti arčiau 2 megabaitų.

Nors "Bitcoin Classic" komanda teigia, kad kietoji šakė gali būti iškasta prieš balandį, tai daugelis besivystančiose bendruomenėse manoma, kad tai yra atvirai agresyvi ir visiškai pavojinga. Pasak jų nuomonės, kad visi visi mazgų operatoriai peržiūri ir priima atnaujinimą, reikia mažiausiai šešių mėnesių iki vienerių metų.

It Skews Incentives

Šaltinių pašalinimas iš originalių 1 megabaitų blokų gali veiksmingai padidinti Bitcoin bloko dydį. Tačiau "Segregated Witness" įveda naują maksimalaus bloko dydžio tipą. Apytiksliai: liudytojo plotas be ir vienas ketvirtadalis liudytojų dydžio, neturi viršyti 1 megabaito. Tokiu būdu atnaujinti mazgai matys blokus, kurių kiekis viršija 1 megabaitą, nes "Segregated" liudytojo dydis faktinis yra didesnis už ketvirtį .

Tai reiškia, kad daugiapusės operacijos, kuriose yra daugiau parašų duomenų, gauna didesnę nuolaidą. Kadangi "Multiconiniai" sandoriai naudojami sluoksnių nustatymui "Bitcoin" viršuje, "Segregated Witness" dirbtinai kyla paskatų, susijusių su šiais papildomais sluoksniais.

Ilgalaikiai tokių sluoksnių padariniai, pavyzdžiui, poveikis kalnakasybos mokesčiams, yra prieštaringi.

Kontragargai

Atsisakyti parašo duomenų yra tai, kaip Segreguoti liudytojas leidžia pridėti bloko erdvę be reikalaujančios kietosios šakutės. Nors tai iš tikrųjų atliekama apskaitos priemone, tai yra naudinga.

Be to, liudytojo duomenis galima pagrįstai laikyti išgelbėti po tam tikro laiko, mažinant poreikį visam mazgų laikyti jį per amžius. Todėl ji turi mažesnes išlaidas tinklui, todėl būtų pagrįsta nustatyti mažesnį mokestį.

Be to, vienintelis būdas Bitcoin gali pasiekti milijonus vartotojų, tuo pat metu likęs decentralizuotas, saugus ir atsparus cenzūrai, naudojant papildomus sluoksnius. Šių papildomų sluoksnių kūrimas ir naudojimas yra ne blogas dalykas.

Jis netinka adversacinėmis sąlygomis

Vienas argumentas dėl bloko dydžio apribojimo yra susijęs su blokų dauginimu ir vėlavimu. Trumpai: "Bigger" blokai linkę didinti našlaičių palūkanų normas, nes daugiau kalnakasių remiasi senais blokais, o naujesni blokai vis dar atlieka savo kelią per tinklą. Tai, savo ruožtu, teikia pirmenybę didesniems kalnakasiams (ar baseinams): jie pačios suranda daugiau blokų ir pradeda kurti juos iš karto, taigi jie praleidžia mažiau išteklių.

Tai taip pat reiškia, kad dideli kalnakasiai galėtų paskatinti kurti dirbtinai didelius blokus, specialiai skirtus padidinti konkurentų našlaičių normą.

Esamas Segregated Witness pasiūlymas leidžia blokuoti iki maždaug 2 megabaitų, nors tikėtina, kad bus šiek tiek mažiau. Tačiau dėl specialios apskaitos priemonės, vadinamosios "savanaudiškos kalnakasybos" gali sukurti sintetinius sandorius, skirtus iki vieno bloko surinkti iki 4 megabaitų duomenų. Tokie dideli kalnakasiai galėtų "atakuoti" konkurentus su galiojančiais 4 megabaitų blokais.

Segreguoti liudytojas reikalauja, kad mineradai ir visi mazgai dislokuotų aparatūrą su 4 megabaitų saugiu svoriu, o už tai gautų žymiai mažiau realių sandorių pajėgumų. Ir jei pradinis bloko dydžio apribojimas padidės per kietąjį šaką ateityje, tai greičiausiai išliks rizika daugintis.

Kontrargumentai

Jei 4 megabaitai iš tiesų yra pakankamai dideli, kad sėkmingai išpuoliu ataką - o neaišku - šis išpuolis reikalauja, kad atakuojantis mineratorius atsisakytų visų realių operacijų. Dėl to prarasti mokesčiai yra šiek tiek trukdantys atlikti tokį išpuolį, o kitiems tinklams akivaizdu, kad išpuolis vyksta.

Ir nors rizikos koeficientas greičiausiai išliks net tada, kai kietoji šakė vėliau bus išvyniota, ji taip pat gali būti sumažinta per minkštuosius šakutes.

Tai sustiprina saugumą, kai nėra pažengusių mazgų

Penktasis rūpestis yra tai, kad "minkštosios" šakutės "Segregated Litness" sumažintų visų nepernaujintų mazgų saugumą. Šie mazgai vis tiek gali priimti Segregated Litness sandorius arba sandorius, kurie priklauso nuo ankstesnio Sandorio su Segregate Witness, tačiau negali patikrinti, ar parašo duomenys yra galiojantys.Todėl jie turėtų remtis kalnakasių patvirtinimu.

Nepatvirtinti Segreguoti liudininkų sandoriai yra nesaugūs, nes minų gavėjai jų dar netikrina.

Bet net patvirtinti Segregat Witness sandoriai būtų mažiau saugūs, nes miners galėtų sąmoningai netekti sandorių į blokus, ketindami dvigubai išleisti neeksploatuotus mazgus. Neatnaujintas mazgas manė, kad šie blokai galioja tol, kol kalnakasiai pakeis maišos galią atgal į galiojančią grandinę. Jei ne naujovintas mazgas priėmė sandorius iš netinkamų blokų, jis galėjo prarasti pinigus.

Tokių dvigubų išlaidų išlaidos atitiktų bet kokio kito 51 proc. Ataka, bet su papildomu svertu. Užpuolikai kalnakasiams potencialiai svertų "SPV-miners", kurie nežino, kas vyksta patys, nes jie taip pat neapskundžia operacijų. Puolėjas gali panaudoti lėšas dvigubai išleisti, nes jis galėtų naudoti bet kokį Segreguoti liudytojų apsaugotą bitino, kuris niekada jo neegzistavo.

Kontrargumentai

Minkštosios šakutės "Segregated Witness" bus paskelbtos anksčiau, o kalnakasiai juos skaidriai balsuos. Tokiu atveju bet kuris vartotojas, turintis visą mazgą, turės pakankamai laiko imtis reikiamų atsargumo priemonių.

Vartotojai, naudojantys ne naujovintą mazgą, neturėtų pasitikėti nulinio patvirtinimo operacijomis. Tačiau nulinio patvirtinimo sandoriai visada buvo nesaugūs. Kiekvienas, kuris nori ištraukti dvigubo išleidimo ataką su nepatvirtintomis operacijomis, gali tai padaryti su Segregitu liudininku ar be jo.

Tuo tarpu papildomą patvirtintų operacijų riziką galima kompensuoti laukiant papildomo patvirtinimų skaičiaus. (Tiksliems pridėtos rizikos skaičiavimams žr. Šiuos skaičiavimus "Bitcoin" kūrėjas Olegas Andreevas.)

Vartotojas, kuris nenori naujovinti į naujausią visiško mazgo būseną, be to, gali pataisyti jo nepakartojamą visą mazgą su programinė įranga, kuri pažymi įtartinus sandorius, ir galbūt net visiškai atmesti tokius sandorius.

Galiausiai reikėtų atkreipti dėmesį į tai, kad kietosios šakutės kelia daug didesnę dvigubo išlaidų sandorių riziką. Bet koks nepašalintas mazgas gali, jei tai yra kietasis forksas, visiškai neteisingus sandorius, nors jis apskritai niekada neįsisavina.

Jis bus naudojamas be aiškios naudotojo sutikimo

Nors, be abejo, yra mažas, kaip aprašyta aukščiau, yra blogėjanti sauga. Ir kas galbūt yra svarbesnė: ši saugumo blogėjimas būtų vykdomas be aiškių naudotojų sutikimo. Net jei vartotojai griežtai priešinasi "Segregated Litness" ir nenori tobulėti, dauguma kalnakasių galėtų paspartinti pokyčius nepriklausomai.

Tai prieštarauja Bitcoin pažadas dėl asmeninės autonomijos; idėja, kad visos mazgo operatoriams visada turėtų būti suteikta galimybė atsisakyti bet kokio pakeitimo.

Kontragargai

Negalima užkirsti minkštųjų šakių. Kasyklų valdytojai, valdantys didžiąją dalį "hash" galios, visada gali nuspręsti taikyti naujas taisykles, jei jos nesilaiko esamų konsensuso taisyklių.Tai būdinga Bitcoin protokolui, ir tai bus įmanoma ir po kietojo šakės.

Taigi, vartotojai, dirbantys su visais mazgais, visada turi prisiimti tam tikrą atsakomybę. Arba atsakomybė atnaujinti naujausią programinės įrangos versiją arba atsakomybė laukti papildomo patvirtinimų skaičiaus arba galbūt netgi atsakomybė už sandorių nepriėmimą po minkštosios šakutės nustatymo.

Nors techniškai tiesa, kad naudotojai nejau need pakeis savo programinę įrangą po (ginčytina) kietojo šakės ir gali nuspręsti "likti" pradiniame tinkle, tai beveik neabejotinai nebus būti praktika. Be dvigubo išleidimo išpuolių pavojaus, mažesnė maišos galia gali užtikrinti, kad sandoriai niekada nepatvirtins arba patvirtins labai lėtai.

Alternatyvus scenarijus yra tas, kad mažumų grandinė, naudojant maišos galią, įveda savo kietąjį šakutę, kad pakeistų darbo įrodymo algoritmą. Bitcoinas tada būtų padalintas į du atskirus tinklus, o visi vartotojai turės atnaujinti savo programinę įrangą, kad palaikytų vieną iš variantų - arba abu.

Dėkojame Jonathan Toomim ir "Ciphrex" generaliniam direktoriui, "Bitcoin Core" ir "Segregated Witness" kūrėjui Ericui Lombrozui už korektūrą ir pridėję atsiliepimų.

Norėdami gauti daugiau informacijos apie Segregate Witness, skaitykite skyriuje "Bitcoin Magazine" "serijos tema" 1 dalis, 2 dalis, 3 dalis, 4 dalis, 5 dalis, 6 dalis, 7 dalis ir 8 dalis "Bitcoin" žurnalo plėtros serija.