Pehmoketjut tuovat kaksisuuntaisia ​​tappeja ja mahdollisia käyttötilanteita – mutta ei ilman turvakustannuksia

By Bitcoin Aikakauslehti - 1 vuosi sitten - Lukuaika: 6 minuuttia

Pehmoketjut tuovat kaksisuuntaisia ​​tappeja ja mahdollisia käyttötilanteita – mutta ei ilman turvakustannuksia

Softchains on sivuketjutoteutus, joka on vuorovaikutuksessa syvemmällä tasolla konsensusmekanismien kanssa, mikä voi tuoda etuja ja riskejä.

Tämä on Shinobin, itseoppineen kouluttajan, mielipidetoimitus Bitcoin avaruuteen ja tekniikkaan suuntautunut Bitcoin podcast-isäntä.

Tässä seuraavassa kappaleessa, jossa tarkastellaan erilaisia ​​​​sidechain-toteutusmalleja, käymme läpi pehmeät ketjut. Tämä on toinen niistä Ruben Somsenehdotuksia sivuketjumekanismiksi. Tämä eroaa suuresti avaruusketjuista, edellisessä artikkelissani käsiteltyä suunnittelua. Se vaatii erityistä muutosta Bitcoin Ydinprotokolla, joka on erityisesti suunniteltu toteuttamaan sivuketju, asettaa uudet validointikustannukset Bitcoin täydet solmut, ja se tukee kaksisuuntaista kiinnitysmekanismia, joka ei ole riippuvainen säilytysrahastojen liitosta.

Rakennuspalikka

Idean ydin rakentuu Somsenin aikaisempaan ehdotukseen nimeltä Todisteet PoW-petoksista, mekanismi, jolla parannetaan lompakoiden yksinkertaistetun maksuvahvistuksen (SPV) turvallisuutta. Idea perustuu yksinkertaiseen havaintoon lohkoketjusta – jos kelpaamaton lohko tuotetaan, lohkoketjussa on todennäköisesti haarukka, koska kaikki rehelliset kaivostyöläiset kieltäytyvät rakentamasta virheellistä lohkoa ja lopulta louhivat kelvollisen lohkon. Virheellisen lohkon tuottaminen eikä rehellisten kaivostyöntekijöiden luomaa haarukkaa tarkoittaa käytännössä sitä, että verkon konsensusprosessi on katkennut kokonaan, joten tilastollinen todennäköisyys sille on merkityksettömän pieni. Siksi haarukan esiintyminen voidaan nähdä eräänlaisena signaalina, että "Hei, täällä on voinut tapahtua jotain, joten sinun pitäisi tarkistaa tämä." Asiakkaat voivat käyttää tällaisia ​​haarukoita eräänlaisena hälytyksenä, että heidän pitäisi todella ladata nämä lohkot ja tarkistaa, mitä tapahtuu.

Tämä on kuitenkin perustavanlaatuinen ongelma - lohkon tarkistamiseksi sinulla on oltava UTXO-asetus. UTXO-sarjan saamiseksi sinun on vahvistettava kaikki ketjun edelliset lohkot sen rakentamiseksi. Joten miten tämä toimii SPV-mekanismina? Vastaus on UTXO:n asettamat sitoumukset.

Jokainen lohko on validoitava UTXO-sarjaa vastaan, joka on tietokanta kaikista bitcoin olemassa olevaa, jota ei ole vielä käytetty, ja tällä hetkellä tämä on vain paikallinen tietokanta, jonka jokainen solmu rakentaa ja tallentaa, kun se skannaa lohkoketjun alusta alkaen. UTXO-sitoumus ottaa UTXO-joukon, rakentaa siitä Merkle-puun ja mieluiten sitoo sen hashin jokaisen lohkon sisään. Tämän avulla voit vastaanottaa lohkon, jossa on ylimääräisiä tietoja – Merkle-haaran jokaiselle tapahtumalle, joka osoittaa, että se oli viimeisessä UTXO-sitoutuksessa – ja vahvistaa sen tällä tavalla. Jos järjestelmä käyttäisi tällaista sitoutumismallia alusta alkaen ja sitä todella käyttäisi suuri joukko käyttäjiä, jotka varmistavat ketjun täysin, ne antaisivat lähes täyttä solmua vastaavan turvallisuustakuun. Aina kun ketjujako tapahtuu, voit ladata kaikki siihen liittyvät lohkot ja varmistaa, että seuraamasi ketju on kelvollinen. Jos jaon molemmat puolet ovat voimassa, pisin voittaa silti. Jos jokin niistä on kuitenkin virheellinen, voit havaita sen heti.

Kaksisuuntainen tappi

Osana softchain-suunnittelua pääketjun solmujen olisi ladattava ja vahvistettava kunkin softchainin lohkootsikot ja ketjujaetun tapauksessa ladattava ja vahvistettava kyseiset lohkot käyttämällä UTXO-sitoumuksia. Tämä muodostaisi perustan tappimekanismille, joka mahdollistaa kaksisuuntaisen tapin. Siirtääkseen kolikot sivuketjuun käyttäjä luo mainchain-tapahtuman, joka määrittää ne tiettyyn softchainiin ja osoittaa sitten kyseiseen tapahtumaan, kun hän vahvistaa kolikoiden lunastamisen sivuketjussa. Päinvastoin, toimisit päinvastoin yrittäessäsi irrottaa sivuketjusta. Tässä kohtaa PoW-petostodisteet tulevat peliin. Pegoutin aikana ideana on luoda tapahtuma pääketjuun viittaamalla sivuketjun nostotapahtumaan. Nämä kolikot tulivat kulutettaviksi vasta pitkän vahvistusikkunan (esim. vuoden) jälkeen, ja ne pysyisivät "lukittuina softchainissa", jos sivuketjun nostotapahtuma järjestettäisiin uudelleen tai todettiin virheelliseksi. Jälkimmäinen löydettäisiin, koska ketjun jakamisen tapauksessa pääketjun solmu lataa kaikki jaon kummallakin puolella olevat lohkot ja varmistaa ne käyttämällä UTXO-sitoumuksia.

Pitkä vahvistusikkuna pegouteille on niin, että jopa pienellä prosenttiosuudella rehellisiä kaivostyöläisiä voi olla tarpeeksi aikaa tuottaa yksi kelvollinen lohko, joka katkaisee ketjun ja käynnistää validoinnin kaikesta siitä pisteestä alkaen UTXO-sitoumusten avulla. Tämä sallii pääketjun solmujen saada kiinni petolliset sivuketjun pisteet ennen kuin poisto vahvistuu pääketjussa, mikä mitätöi tapahtuman ilman, että heidän tarvitsee vahvistaa koko sivuketjua – mikä ei eroaisi lohkokoon suurennuksesta.

Turvallisuusparametrit ja riskit

Tämä suunnittelu herättää kysymyksiä turvallisuuden tasosta tiettyjen muuttujien perusteella ja kuinka tällainen sivuketju olisi vuorovaikutuksessa kaivostyöläisten kanssa. Ensinnäkin mikä tahansa softchain tulisi ottaa käyttöön niin, että lohkoille on asetettu vähimmäisvaikeusvaatimus, jotta jos hajautusnopeus laskee liian alhaiseksi, sivuketjun lohkojen löytäminen kestäisi pidempään sen sijaan, että säätäminen olisi vaikeaa. lisääntyä. Tämä on välttämätöntä, koska PoW-petosvarmennus pääketjun solmujen on suoritettava osana tätä suunnittelua. Jos softchainin vaikeusaste on liian alhainen, kaivostyöntekijöiden olisi helppo haarukkaaa softchain säännöllisesti ja suorittaa tehokkaasti palvelunestohyökkäys (DoS) pääketjun solmuja vastaan ​​lisäämällä ylimääräisen datan määrää. täytyy vahvistaa.

Yhdistetty kaivostoiminta on ratkaisu tähän ongelmaan. Jos kaikki Bitcoin kaivostyöntekijät louhivat myös lohkoja sivuketjussa, niin ongelma DoS-hyökkäyksestä pääketjuun luomalla ketjujakoa softchainille on ratkaistu suunnilleen niin hyvin kuin voi olla. Softchainin jakaminen vaatisi yhtä paljon työtä kuin pääketjun jakaminen, mikä estää mielivaltaiset ja edullisia hyökkäyksiä, jotka lisäävät pääketjun validointiin tarvittavan tiedon määrää. DoS-hyökkäysongelman ratkaisemisessa se kuitenkin luo toisen ongelman: lisää kaivostyöläisten validointikustannuksia.

Jos kaivostyöntekijät aikovat louhia myös softchaineja, heidän on suoritettava solmut heille varmistaakseen, että heidän louhimansa lohkot ovat kelvollisia. Jos he eivät ole, he ovat vaarassa jäädä orvoiksi ja menettää maksutulot virheellisen lohkon vuoksi. Jos monet kalliisti todennettavat softchainit, kuten Ethereum-klooniketjut tai isot lohkoketjut, aktivoitaisiin, tämä voisi tehdä kaivostoiminnasta keskitetympää ja kalliimpaa osallistua. Kaivostyöntekijöiden on validoitava ketju tietääkseen, että he eivät rakenna virheelliseen lohkoon. ja menetät rahaa, joten tämä ei ole todellakaan valinnaista. Validoinnin kalliittaminen heikentää pyrkimykset maksimoida kaivostoiminnan hajauttaminen.

Suurin ongelma on riski siitä, että softchainin konsensusvirhe aiheuttaa itse pääketjun konsensusjakauman. On olemassa riski, että suuret sivuketjun uudelleenorganisaatiot mitätöivät oikean sivuketjun puolen kelvollisen pegout-tapahtuman, koska pääketjun puoli on tulossa voimaan. Muista, että myös pääketjun solmut seuraavat softchain-otsikoita. Tämä voi johtaa pääketjun halkeamiseen, jos verkon eri osat ovat eri puolilla softchain-jakoa oikealle, kun sivuketjun polkua validoidaan pääketjussa. Ei-deterministiset konsensusvirheet softchainissa voivat myös aiheuttaa pääketjun jakautumisen, eli jos jotkut solmut pitivät pegoutia virheellisenä, mutta toiset näkivät sen kelvollisena.

Tämä syvempi yhteys pääketjun konsensukseen tekee tästä sivuketjun suunnittelusta jonkin verran riskialtista ja mahdollisesti jotain, jota ei pitäisi tehdä. Ainakin pehmeät ketjut tulisi aktivoida yksi kerrallaan yksittäisissä haarukoissa sen sijaan, että käytettäisiin yhtä haarukkaa, joka mahdollistaisi pehmeäketjujen pyörittämisen halutessaan. Se tosiasia, että tässä mallissa ketjujaot saavat pääketjun solmut tarkistamaan enemmän dataa, tekee mahdollisuudesta yksinkertaisesti kytkeä päälle monta softchainia kerralla hyökkäysvektoriksi pääketjussa.

Pehmeät ketjut osallistuvat enemmän pääketjun konsensuskerrokseen kuin avaruusketjut, joihin liittyy monia riskejä, mutta ne mahdollistavat alkuperäisen kaksisuuntaisen tapin ja siten enemmän tilaa erilaisille käyttötapauksille. Seuraavaksi käyn läpi vetoketjut ja sen jälkeen viimeisiä ajatuksia sivuketjuista yleensä.

Tämä on Shinobin vieraspostaus. Esitetyt mielipiteet ovat täysin heidän omiaan eivätkä välttämättä vastaa BTC Inc:n tai Bitcoin Magazine.

Alkuperäinen lähde: Bitcoin aikakauslehti