Share this article

Ang 'Hindi Inanunsyo na Hard Fork' ng Ethereum ay Sinusubukang Pigilan ang Napaka-Abala na Dulot Nito

Ang isang matigas na tinidor na naghati sa kadena ng Ethereum sa dalawa ay sinadya na na-activate, na nagtatanong sa koordinasyon ng kliyente ng Ethereum.

facepalm1

Ang Takeaway:

STORY CONTINUES BELOW
Don't miss another story.Subscribe to the The Protocol Newsletter today. See all newsletters

  • Ang bulto ng DeFi ecosystem ng Ethereum ay nagdilim mas maaga ngayong araw pagkatapos ng isang nakatagong bug sa Ethereum code na hatiin ang kasaysayan ng transaksyon ng network sa dalawa.
  • Ang split ay nagresulta mula sa isang pagbabago ng code na palihim na ipinasok sa isang nakaraang update ng Geth; binalewala ng ilang mga operator ng Ethereum node ang update, na kabalintunaan ay sinadya upang maiwasan ang mismong split na naganap.
  • Ang mga node na hindi nag-upgrade ay nasa ilalim ng impresyon na ang pag-update ay maliit at hindi alam na may kasamang pagbabago sa disenyo ng pinagkasunduan ng Ethereum.
  • Isang post-mortem na inilabas ngayon ni Geth ay nagpapahiwatig na ang bug ay sadyang na-trigger. Ang kaso ay marahil ang pinakamalaking hamon ng Ethereum mula noong 2016 DAO fork, at itinaas nito ang mga tanong tungkol sa madalas na sinasabing desentralisasyon ng Ethereum at ang pagiging epektibo ng koordinasyon ng developer nito sa Ethereum 2.0.

Noong una, ito ay isang maliwanag na isyu sa Infura, ang mga server na pinapatakbo ng ConsenSys na KEEP sa karamihan ng mga decentralized Finance (DeFi) na application na naka-sync sa Ethereum network.

Infura bumaba sa paligid 8:00 UTC Miyerkules, at kasama nito, ang ilan sa mga pinakasikat na application ng Ethereum tulad ng Metamask, MakerDAO, Uniswap, Compound at MyCrypto, bukod sa iba pa. Di-nagtagal, Binance itinigil ang pangangalakal ng Ethereum matapos mapansin ang mga magkasalungat na transaksyon sa Ethereum node nito. Habang sinuspinde rin ng ibang mga palitan ang kalakalan, naging malinaw ang totoong isyu: Isang bug sa kliyente ng Go Ethereum (Geth), na ang code sumasailalim sa 80% ng mga aplikasyon ng Ethereum, ay hinati ang Ethereum blockchain sa dalawa.

Read More: Inaantala ng Mga Nag-develop ng Ethereum ang Berlin Hard Fork upang Matanggal ang mga Alalahanin sa Sentralisasyon ng Kliyente

Ang dalawang magkasalungat na kasaysayan ng transaksyon ay nangangahulugan na ang mga gumagamit ng Etheruem ay pansamantalang nakikipag-ugnayan sa iba't ibang bersyon ng Ethereum blockchain. Higit pa sa nagiging sanhi ng mga pagkaantala, inilalagay nito ang mga pondo ng user sa panganib sa pamamagitan ng pag-knock out sa karamihan ng mga application ng DeFi ng Ethereum sa loob ng ilang oras.

Inayos ng Infura ang isyu, tulad ng iba pang mga service provider na naapektuhan ng snafu, sa pamamagitan ng pag-update ng kanilang mga node. Ang mga stakeholder na ito ay nagpapatakbo ng mas lumang bersyon ng Geth, na naglalaman ng bug na tahimik na na-patch ng mga developer ng Ethereum sa kamakailang update – isang update na binalewala ng Infura at Blockchair, bukod sa iba pa.

Bukod sa dalawang service provider na ito, naapektuhan din ang ibang mga Ethereum user at wallet provider dahil T nila na-update ang kanilang code, sinabi ng mga developer sa CoinDesk.

Ang kabiguan may mga kritiko na naghahamon Ang pinaghihinalaang desentralisasyon ng Ethereum, habang ang mga stakeholder ay nagtataka kung bakit Secret na itinulak ang pagbabago nang walang koordinasyon sa pagitan ng Geth at iba pang mga development team.

Para sa ilan, ang paghahati ay ang pinakamabigat na hamon para sa Ethereum mula noong kasumpa-sumpa na DAO hack noong 2016.

Hati ang chain ng Ethereum: Paano ito nangyari

Sa isang kaka-publish lang post-mortem, Péter Szilágyi, isang team lead sa Ethereum, ay sumulat na ang isang tinidor ay "sinasadyang na-trigger sa Ethereum network."

Isang kinatawan mula sa Optimism, isang Ethereum scaling project, kamakailang nai-post na ang proyekto ay sadyang na-trigger ang bug na inayos ang pag-update ng Geth, na itinatakda ang tinidor.

Nang mangyari ang tinidor, lumikha ito ng dalawang bersyon ng Ethereum transaction ledger: ang ONE ay may mga transaksyon mula sa na-update na mga kliyente ng Geth, at ang ONE ay may mga transaksyon mula sa mas lumang mga kliyente ng Geth (tulad ng Infura).

"Ang pag-aayos ay na-deploy ilang buwan na ang nakakaraan at ngayon lamang ang isang transaksyon na naging sanhi ng split na iyon ay dumating," Nikitia Zhavoronkov, ang nangungunang developer sa Blockchair, isang Ethereum block explorer na naapektuhan ng tinidor, sinabi sa CoinDesk sa isang direktang mensahe.

Read More: May Learn ba ang Ethereum Mula sa $55M DAO Attack?

Sa pag-aakalang ang pag-update ay "isang maliit na pagbabago sa code," ang Blockchair ay T nag-abala sa pag-update dahil T ito magiging sulit ang downtime para sa kanilang mga serbisyo. Ngunit higit sa menor de edad, ang mga developer ay tila gumawa ng isang tahimik na pagbabago sa mekanismo ng pinagkasunduan ni Geth sa pag-update, pati na rin.

“Talagang binago ng Geth team ang consensus pagpapatupad sa v1.9.17 na paglabas, gayunpaman ang koponan ay hindi lumikha ng anumang mga bagong panuntunan na T alam o sinasang-ayunan ng komunidad ng Ethereum ,” isinulat ni Szilágyi sa post, na nagsasabing ang mga patakarang ito ay inilatag sa isang Panukala sa Pagpapabuti ng Ethereum tatlong taon na ang nakalipas.

"Kung T mo isasaalang-alang ang aksidenteng pagpapasok ng isang bug bilang isang 'pag-upgrade ng pinagkasunduan,' pagkatapos ay hindi mo rin dapat isaalang-alang ang pag-aayos ng nasabing bug pagkalipas ng ilang buwan bilang isang 'pag-upgrade ng pinagkasunduan'," he argued.

Isa pang post-mortemna inilathala ng Ethereum Foundation noong Nobyembre 12 ay nagsasaad na ang pagsasamantala ay naganap "sa block 11234873, transaksyon 0x57f7f9," idinagdag na ang minority chain para sa mga out-of-sync na node ay humigit-kumulang 30 bloke ang haba.

Isang panawagan para sa transparency

Kabalintunaan, ang tinidor ay sanhi ng mismong consensus bug na hinahangad na tugunan ng update ni Geth.

Ang Ethereum bounty program nakilala kamakailan John Yang, isang bagong dating sa open-source na komunidad ng Ethereum, para sa pagtuklas nito at ng isa pang kahinaan. Geth developer at Ethereum security expert na si Martin Swende nagtweet inaayos ng mga pagbabago sa pag-update ang mga ibinunyag na isyu, na nagpapahiwatig na ang debacle ay isang "paalala na KEEP napapanahon ang iyong (mga) node!"

Nagpatuloy si Swende sabi sa tweet thread na hindi inanunsyo ng mga developer ang malaking pagbabago para maiwasang mapansin ang kapintasan. Sa kanyang sariling paliwanag, sinabi ni Szilágyi na ang "tahimik" na pag-aayos sa bug ay nag-imbita ng mas kaunting "pagkagambala."

Gayunpaman, ang ibang mga stakeholder ng Ethereum ay nagtataka kung bakit ang bug ay hindi maaaring isiwalat nang pribado sa mga koponan na nagtatayo sa Geth.

Read More: 'High' Severity Bug sa Bitcoin Software Inihayag 2 Taon Pagkatapos Ayusin

"Ang bawat pangunahing proyekto kung saan malapit na nakikipag-ugnayan ang dev team ay dapat magkaroon ng security contact na makakatulong sa pamamahala at pag-coordinate ng maayos na pag-upgrade, at dapat tayong magtulungan," sinabi ni Matt Luongo, ang tagapagtatag ng Thesis, sa CoinDesk.

"Kapag ang mga tinidor ay mga sorpresa, sinumang nakagawa sa ibabaw ng Ethereum na tulad namin ay maaaring mawalan ng pera," patuloy niya.

Binubuo ng thesis ang Keep Network, na naglalabas ng tBTC, isang anyo ng tokenized Bitcoin para sa Ethereum blockchain. Sinabi ni Luongo na ang tinidor ay naglalagay sa mga pondo ng mga gumagamit ng tBTC sa panganib, ngunit hindi dahil sa pagkakahati ng kadena, na nalutas pagkatapos na i-update ni Infura at ng iba pa ang kanilang mga kliyente sa Geth.

Ito ay dahil ang downtime ay nangangahulugan na ang mga gumagamit na tumataya sa Ethereum sa Keep Network ay T maaaring makipag-ugnayan sa Ethereum mainchain; bilang isang resulta, sila ay nanganganib na magkaroon ng bahagi ng kanilang mga stake na "i-slash" dahil sa hindi pagtugon sa kanilang mga kinakailangan sa katiwala. Sinabi ng thesis sa CoinDesk na wala sa Bitcoin na nagko-collateralize ng mga token ng tBTC ang nasa panganib.

Bukod dito, ang kaso ng Thesis ay ONE lamang halimbawa ng pagkagambala na ginawa ng tinidor para sa sinumang sinubukang gamitin ang "minority chain" sa panahon ng split.

Sa kabila ng mga problemang idinulot ng split, ang mga presyo para sa eter, ang katutubong Cryptocurrency ng Ethereum blockchain, ay tumaas ng 4.6% noong Miyerkules pagkatapos lumabas ang balita, na nagmumungkahi na ang mga mangangalakal ay nakakakita ng kaunting systemic o pangmatagalang banta mula sa snafu.

Pinulot ang mga piraso

Sinabi ni Zhavoronkov na ang gulo ay hindi nakakapinsala, ngunit "kung alam [ni Geth] na maaaring mangyari ang ganoong bagay, dapat ay naghanda sila ng gabay para sa mga operator ng node." Ibinahagi ni Luongo ang mga katulad na pagkabigo, na sinasabi na ang Geth team ay "mahusay na developer" ngunit kulang sila ng "karanasan sa pagpapatakbo ng imprastraktura" at "underfunded."

Ang mga komento ay nagpapahiwatig ng pagkadismaya na ibinahagi ng ilang stakeholder ng Ethereum tungkol sa kung bakit itinago ni Geth ang pinagkasunduan na baguhin ang isang Secret. Kung tutuusin, bakit hindi alam ni Infura, ang backbone ng desentralisadong Finance ecosystem ng Ethereum, bukod sa iba pa, ang tungkol sa isang consensus-breaking bug sa Ethereum's code dati ito ay na-trigger?

"Ito ay BIT kulay-abo na lugar at nangangailangan ng isang case-by-case na talakayan," paliwanag ni Szilágyi sa kanyang post. “Lahat tayo ay sumasang-ayon na ang transparency ay hari at dapat tayong magsikap hangga't maaari para dito, ngunit mahalaga din na tingnan ang lahat ng mga detalye bago magsimula ang mga ulo.

Read More: Ang Ethereum 2.0 Countdown ay Nagsisimula Sa Pagpapalabas ng Kontrata ng Deposito

"Sa kaso ng Ethereum, nangangailangan ng maraming oras (linggo, buwan) para makapag-update ang mga operator ng node kahit na sa isang naka-iskedyul na hard fork. Ang pag-highlight na ang isang release ay naglalaman ng mahalagang pinagkasunduan o ang mga pag-aayos ng DoS ay palaging nagdudulot ng panganib ng isang tao na sumusubok na talunin ang mga nag-update sa punch line at ibinaba ang network. Ang seguridad sa pamamagitan ng kalabuan ay tiyak na hindi isang bagay na pansamantalang mapupuntahan, ngunit ang pagkaantala sa isang potensyal na pag-atake ay maaaring hindi sapat na halaga, ngunit ang pagkaantala ng isang hindi sapat na pag-atake ay maaaring hindi sapat. sa transparency,” patuloy niya.

Sa huli, naniniwala ang team ni Geth na masyadong malaki ang panganib sa pagsisiwalat ng kahinaan, kaya napagpasyahan nila na ang pagtulak ng update ay palihim na nag-imbita ng pinakamaliit na panganib.

"Magtatalo kami na talagang gumana ito," sabi ni Szilágyi. Kahit na ang update ay "nagkaroon ng hindi inaasahang pagkakataon sa network split kahapon," naniniwala pa rin ang team ni Geth na ang patahimikin ang isyu ay "ang tamang tawag"

Habang lumalapit ang Ethereum sa pinakamalaking pag-upgrade nito kailanman sa ETH 2.0, ang kaso ay maaaring maging isang kritikal na pag-aaral sa koordinasyon ng kliyente para sa Ethereum ecosystem.

"Ang pinakamahalagang bagay dito sa IMO ay ang mga taong gumawa ng tawag na ito ay malinaw tungkol sa pangangatwiran, pagmamay-ari ng anumang mga pagkakamali, at lumalaki," sabi ni Luongo. "Monero ay mahusay na humarap sa [mga consensus bug] sa nakaraan, gayundin ang Bitcoin at Zcash. Maraming halimbawa, at bagama't laging nakakalito ang pag-coordinate sa isang industriya, ang pag-iwas sa anumang uri ng koordinasyon ay lubhang mapanganib.

"Umaasa ako na ang tinidor na ito ay humantong sa mas mahigpit na relasyon at muling pag-iisip kung paano nakikipag-ugnayan ang mga proyekto sa Ethereum sa pag-unlad ng kliyente."

Update 00:36 UTC Nobyembre 12 Ang artikulong ito ay na-update upang mas maiparating na ang "hard fork" ay hindi isang sinasadyang pagbabago ng code, ngunit isang chain split na na-trigger ng consensus bug na tahimik na na-patch ng mga developer ng Ethereum sa release ng Geth v1.9.17.

Update 21:02 UTC Nobyembre 12 - Ang artikulong ito ay na-update upang isama ang impormasyon mula sa isang Ethererum foundation post-mortem tungkol sa split.

Colin Harper, Blockspace Media

Colin writes about Bitcoin. Formerly, he worked at CoinDesk as a tech reporter and Luxor Technology Corp. as head of research. Now, he is the Editor-in-Chief of Blockspace Media, and he also freelances for CoinDesk, Forbes and Bitcoin Magazine. He holds bitcoin.

Colin Harper