Ethereum merge testnet Kintsugi jaettu virheen mukaan, tässä syy

Ethereum-verkon yhdistämistapahtuma on siirtyminen Proof-of-Stake -konsensusmalliin tällä hetkellä käytössä olevasta Proof-of-Work -mallista. Tämä yhdistäminen tarkoittaa, että nykyinen Ethereum-verkkojärjestelmä ja uusi Beacon-ketju, jota usein kutsutaan Ethereum 2.0:ksi, sulautuvat yhdeksi lohkoketjuksi.

Yhdistymisen testaamiseksi Kintsugi-testnet otettiin käyttöön joulukuussa. Testnetin tarkoitus on ajaa erilaisia ​​reunatapauksia ja tarkkailla järjestelmän käyttäytymistä. Yksi Kintsugin testien suorittamiseen osallistuvista kehittäjistä on Marius van der Wijden, Ethereumin ydinkehittäjä työskentelee Gethin (Go-Ethereum) asiakastiimin kanssa.

"Testiverkko toimi moitteettomasti pari viikkoa. Viime viikolla loin fuzzerin, joka lähettää virheellisiä lohkoja. Lohko sisältää paljon tietoa, kuten tapahtumat, edellisen lohkon hash, kaasuraja jne.”, Marius van der Wijden sanoo.

Jotkut toteutukset eivät suorittaneet ja vahvistaneet estoa

Fuzzer on yleinen testaustyökalu, jota kehittäjät käyttävät satunnaisten syötteiden luomiseen funktioihin tai muihin koodin osiin ja yrittää saada ne rikkoutumaan tavalla tai toisella. Kyse on virheellisten ja odottamattomien syötteiden luomisesta ja järjestelmälle tapahtuvien tapahtumien seuraamisesta.

Van der Wijdenin luoma fuzzeri tuottaa kelvollisen lohkon ja muuttaa sen yhden elementin tehdäkseen siitä virheellisen. Yksi sen käyttämä tekniikka on elementin vaihtaminen toiseksi. Tässä tapauksessa fuzzer vaihtoi blockhash-sisällön ylätason tiivisteeksi.

"Solmujen tulisi hylätä tällainen muuttunut lohko. Koska päähajautus osoitti itse kelvolliseen lohkoon, jotkin toteutukset eivät itse asiassa suorittaneet ja vahvistaneet lohkoa, vaan hakivat sen välimuistista. Koska edellinen lohko oli voimassa ja välimuistissa, he olettavat myös uuden lohkon olevan voimassa”, van der Wijden selittää.

Verkko jaettu kahdesti

Tuloksena oli, että puolet verkosta, Geth-asiakkaat, hylkäsivät eston, kun taas toinen puoli, Nethermind- ja Besu-asiakkaat, hyväksyi sen, mikä aiheutti ketjun hajoamisen, koska meillä oli nyt kaksi eri näkemystä oikeasta tilasta. Asian pahentamiseksi oli toinenkin ongelma.

Van der Wijdenin mukaan myös Gethin ketjusolmut, jotka koostuvat Lighthouse-Gethin, Prysm-Gethin, Lodestar-Gethin, Nimbus-Gethin ja Teku-Gethistä, jakautuvat myös niiden väliin.

"Tätä jakoa tutkitaan edelleen, mutta näyttää siltä, ​​että Tekulla saattaa olla myös jokin välimuistimekanismi, joka epäonnistui", van der Wijden sanoo.

Koska Kintsugi-testnetissä on kirjoitushetkellä useita erilaisia ​​haarukoita ja jokainen solmu luulee olevansa oikeassa haarukassa, verkko ei ole enää viimeistelyssä.

"Kehitämme jotain saadaksemme verkon takaisin yhteen. Olemme jo päivittäneet Nethermind-asiakkaan ja nuo solmut ovat nyt oikeassa ketjussa. Tarvitsemme edelleen Tekun korjauksen, sillä yli 33 prosenttia solmuista on Tekua, muuten ketju ei lopu”, van der Wijden sanoo.

Tapaus tuo hyvää

Van der Wijdenin mukaan tämä tapaus ei estä tai viivästyttää Ethereum-fuusion lisätestausta, eikä myöskään itse yhdistämistä. Itse asiassa van der Wijden sanoo, että tapaus todella auttaa testaamaan reunatapauksia, joita olisi ollut vaikea testata, jos verkko toimisi kunnolla.

”Pitkät viimeistelemättömät jaksot ovat haastavia solmuille, ja meille on erittäin tärkeää nähdä, kuinka ne käyttäytyvät juuri nyt. Uskomme, että testiverkko palaa lopulta yhteen, mutta en usko, että yritämme korjata sitä manuaalisesti, koska se antaa meille mahdollisuuden testata mielenkiintoisia reunatapauksia."

”En usko, että tämä viivästyttää yhdistämistä, koska yhdistämistä ei ole vielä suunniteltu. Mutta se osoittaa, kuinka tärkeää testaus on. Mielestäni yhdistäminen etenee todella hyvin. Tarvitsemme vielä pari viikkoa saadaksemme ohjelmiston hyväksyttävään tilaan ja sitten tarvitsemme pari kuukautta sen testaamiseen, van der Wijden sanoo.

Entä jos tämä tapahtuu pääverkossa?

Mielenkiintoinen kysymys on, mitä olisi tapahtunut, jos tällainen bugi olisi tapahtunut pääketjussa.

"Olemme aloittaneet testaamisen melko aikaisin, joten odotimme muutaman tämän kaltaisen bugin. Tällainen bugi pääverkossa olisi kuitenkin melko ilkeä, koska meidän pitäisi löytää ja korjata bugi, jossa olemme melko hyviä, vapautettava koodi ja sitten kerrottava kaikille osapuolille, että heidän pitäisi päivittää solmunsa. Viimeinen osa on mielestäni vaikea osa, koska jotkut käyttäjät eivät seuraa kehitystä liian tarkasti”, van der Wijden sanoo.

Kiinnostunutta lukijaa kehotetaan lukemaan tarkemmin Marius van der Wijdenin kirja tweets tapahtumasta.

CryptoSlate-uutiskirje

Sisältää yhteenvedon tärkeimmistä päivittäisistä tarinoista krypton, DeFin, NFT:n ja muiden maailmassa.

Hanki reuna salausasetusmarkkinoilla

Käytä enemmän salaustietoja ja kontekstia jokaisessa artikkelissa maksullisena jäsenenä CryptoSlate Edge.

Ketjun analyysi

Hintakuvat

Lisää kontekstia

Liity nyt hintaan 19 $ / kk Tutki kaikkia etuja

Lähde: https://cryptoslate.com/ethereum-merge-testnet-kintsugi-split-by-bug-heres-why/