Ethereum merge testnet Kintsugi поделен по бубачка, еве зошто

Настанот за спојување на мрежата Ethereum е транзиција кон моделот на консензус доказ за удел од тековно употребениот модел Доказ за работа. Ова спојување значи дека сегашниот систем на мрежата на Ethereum и новиот синџир Beacon, честопати наречен Ethereum 2.0, ќе се спојат во еден блокчејн.

За да се тестира спојувањето, тест мрежата Kintsugi беше распоредена во декември. Целта на тест-мрежата е да изврши различни рабови и да набљудува како се однесува системот. Еден од програмерите вклучени во извршувањето на тестовите на Kintsugi е Мариус ван дер Вајден, Основен развивач на Ethereum кој работи со клиентскиот тим на Geth (Go-Ethereum).

„Тестнската мрежа работеше беспрекорно неколку недели. Минатата недела создадов fuzzer кој ќе испрати невалидни блокови. Блокот содржи многу информации, како што се трансакциите, хашот на претходниот блок, границата за гас итн.“, вели Мариус ван дер Вајден.

Некои имплементации не го извршија и не го потврдија блокот

Фузер е вообичаен тип на алатка за тестирање што се користи меѓу програмерите за да генерираат случајни влезови во функции или други делови од код и да се обидат да ги натераат да се скршат на некој или друг начин. Станува збор за генерирање неформирани и неочекувани влезови и гледање што се случува со системот.

Фузерот создаден од van der Wijden произведува валиден блок и менува еден елемент од него за да го направи неважечки. Една техника што ја користи е менување на елемент во друг. Во овој случај, fuzzer го смени блок-хешот во матичниот хаш.

„Јазлите треба да отфрлат таков променет блок. Меѓутоа, бидејќи матичниот хаш укажа на самиот валиден блок, некои имплементации всушност не го извршија и не го потврдија блокот, туку го побараа во кешот. Бидејќи претходниот блок беше валиден и во кешот, тие претпоставија дека е валиден и новиот блок“, објаснува ван дер Вајден.

Мрежата се подели двапати

Резултатот беше дека половина од мрежата, клиентите на Гет, го отфрлија блокот, додека другата половина, клиентите на Nethermind- и Besu, го прифатија, што предизвика ланецот да се подели бидејќи сега имавме два различни погледи за правилната состојба. За да бидат работите уште полоши, имаше уште едно прашање на врвот.

Според ван дер Вајден, јазлите на веригата Гет, пак, кои се состојат од Светилник-Гет, Призм-Гет, Лодестар-Гет, Нимбус-Гет и Теку-Гет, исто така, се делат меѓу нив.

„Оваа поделба сè уште се истражува, но се чини дека Теку може да има и механизам за кеширање што не успеа“, вели ван дер Вајден.

Бидејќи во моментот на пишување постојат неколку различни вилушки на тест мрежата Kintsugi, и секој јазол мисли дека се на правилна вилушка, мрежата повеќе не се финализира.

„Ќе смислиме нешто за да ја обединиме мрежата. Веќе го ажуриравме клиентот Nethermind и тие јазли се на правилниот синџир сега. Сè уште ни треба поправка на Теку, бидејќи повеќе од 33 проценти од јазлите се Теку, инаку ланецот нема да се финализира“, вели ван дер Вајден.

Инцидентот носи добро

Според ван дер Вајден, овој инцидент не го забранува или одложува понатамошното тестирање на спојувањето на Ethereum, ниту пак го одложува самото спојување. Всушност, ван дер Вајден вели дека инцидентот всушност помага да се тестираат рабовите што би било тешко да се тестираат дали мрежата работи правилно.

„Долгите периоди на нефинализација се предизвик за јазлите и за нас е многу важно да видиме како тие се однесуваат во моментов. Сметаме дека тест-мрежата на крајот повторно ќе се собере, но не мислам дека ќе се обидеме рачно да ја поправиме, бидејќи ни дава можност да тестираме интересни рабови.“

„Не мислам дека тоа ќе го одложи спојувањето, бидејќи спојувањето сè уште не е закажано. Но, тоа покажува колку е важно тестирањето. Мислам дека спојувањето напредува навистина добро. Ни требаат уште неколку недели за да го доведеме софтверот во прифатлива состојба, а потоа ни требаат неколку месеци за да го тестираме“, вели ван дер Вајден.

Што ако ова се случи на mainnet?

Интересно прашање е што ќе се случеше доколку се случеше ваква грешка на главниот синџир.

„Почнавме да тестираме прилично рано, па очекувавме неколку вакви грешки. Таков баг на главната мрежа сепак би бил прилично непријатен, бидејќи ќе треба да ја пронајдеме и поправиме грешката, во која сме прилично добри, да го ослободиме кодот и потоа да ги известиме сите учесници дека треба да ги ажурираат своите јазли. Последниот дел е најтешкиот дел според мене, бидејќи некои корисници не го следат развојот премногу внимателно“, вели ван дер Вијден.

За повеќе детали, заинтересираниот читател се охрабрува да го прочита делото на Мариус ван дер Вајден tweets на инцидентот.

Билтен CryptoSlate

Со резиме на најважните дневни приказни во светот на крипто, DeFi, NFT и многу повеќе.

Добие работ на пазарот на крипто-ленти

Пристапете до повеќе крипто увиди и контекст во секоја статија како платен член на CryptoSlate Edge.

Технолошка анализа

Снимки од цената

Повеќе контекст

Придружете се сега за 19 долари / месец Истражете ги сите придобивки

Извор: https://cryptoslate.com/ethereum-merge-testnet-kintsugi-split-by-bug-heres-why/