Som alltid fortsätter mycket att hända på eth2-fronten. Bortsett från skriftliga uppdateringar (kolla in State of Eth2-inlägget nedan) och andra offentliga sammanfattningar har klientteam, bidragsgivare och medlemmar i gemenskapen / blivande validerare varit upptagna!

Idag täcker vi några viktiga nyheter om insättningsavtal och stora steg mot implementering av spec-version v0.12.

tl; dr

Kontrakt för soliditetsinsättning och formell verifiering

Idag vill vi meddela en ny och säkrare version av eth2 insättningsavtal skriven i soliditet! Detta kontrakt behåller samma offentliga gränssnitt (med tillägg av en EIP 165 supportsInterface funktion) och är således en helt transparent ändring för alla befintliga klient- och dev-verktyg. Faktum är att soliditetskoden främst är en översättning online för det ursprungliga Vyper-kontraktet för att hjälpa till att granska och formell verifiering.

Under de senaste månaderna skrev eth2-deponeringsavtalet om på soliditet av Alex Beregszaszi, granskad av en liten grupp soliditetsexperter, och formellt verifierad av Runtime Verification återanvänder till stor del K-specifikationen som ursprungligen skrivits för Vyper-versionen av kontraktet.

Även om det tidigare Vyper-kontraktet testades kraftigt, granskades och formellt verifierats finns det latenta oro för säkerheten för Vyper-kompilatorn som den ser ut idag. Under den ursprungliga Vyper-bytekodverifieringen hittades (och fixades) flera kompilatorfel. Förutom den formella verifieringen, Suhabe Bugrara (ConsenSys FoU) genomförd en recension av Vyper-insättningsavtalet och formell verifiering, vilket leder till många förbättringar i den formella specifikationen (i slutändan hjälper till att underlätta en ny verifiering av soliditetsavtalet). Trots att verifieringen bedömdes som sund, kunde Suhabe inte rekommendera bytekoden så säker så länge den använde Vyper-kompilatorn.

Samtidigt, ConsenSys Diligence och Trail of Bits gjorde undersökande säkerhetsrapporter om Vyper-kompilatorn, hittade många fler buggar och väckte oro över systemiska problem med kompilatorns basbas.

Trots dessa resultat är Vyper fortfarande ett mycket lovande språk. Den pytonbaserade kompilatorn fortsätter att utvecklas och ett antal bidragsgivare ser på att formalisera språket och undersöka alternativa kompilatorer.

Även om de är säkra på den formellt verifierade bytekoden skapade de problem som hittades i Vyper-kompilatorn ett starkt förtroende för verifikationen av bytekod. Det är bättre att börja med en kompilator som i allmänhet överenskommits som säker och att verifiera bytkod därifrån, snarare än att börja med en kompilator med kända problem och att verifiera att ingen av dessa kända (eller okända) problem uppstår i bytkoden.

För att undvika alla tvivel om säkerheten i detta kritisk kontrakt, rekommenderar vi att du använder det nya Solidity-kontraktet för eth2 mainnet, och vi välkomnar Solidity-kontraktet och EVM-bytekodexperter för att granska kontrakt och tillhörande formell verifiering. Eventuella problem som hittas kvalificerar sig för Eth2 Phase 0 Bounty Program.

En snabb anmärkning – Det nya avtalet har ännu inte kommit in i spec repo. Jag kommer att integrera det nya Solidity-kontraktet i den här veckan och släpper det som en mindre version av versionen mycket snart. Jag ville meddela omedelbart så att samhället kan få gott om tid att granska.

Altona v0.12 testnet

Ända sedan lanseringen av spec-versionen v0.12, har kundteam jobbat hårt med att uppdatera och testa sina kodbaser som förberedelse för offentliga testnät.

Jag har sett många frågor från samhället (om diskord, reddit, etc.) om varför det som verkade som en relativt liten uppdatering har tagit en anständig tid att slutföra. Även om varje klientkodbas och tillhörande utmaningar är olika, tar team v0.12 mycket allvarligt. Medan uppdateringen i spec inte var för tungvård, har extra tid tagits för att skärpa säkerheten, optimera funktionaliteten och i allmänhet hårda klienterna innan de läggs ut för vad som är tänkt att vara den sista semi-stora versionen av specifikationen före lanseringen .

Klockan är nästan här för det första offentliga testnätet för flera klienter v0.12Altona med ett förväntat lanseringsdatum under de kommande sju dagarna. Detta nät kommer att starta helt kontrollerat av de ingående klientteamen (planerad fyr, Nimbus, Prysm och Teku), Afri och några EF-teammedlemmar. Efter den första lanseringen kommer adressen till insättningsavtalet att släppas för att möjliggöra öppet, offentligt deltagande.

Som de tidigare multiklienttestneterna hittills är Altona mer av DevNet än ett slutanvändarfokuserat testnät. Det vill säga, Altona är först och främst för klientteam att sanitetskontroll v0.12 programvara i en produktionsinställning och för eth2-ingenjörer som helhet att arbeta igenom eventuella buggar som bara kan uppstå i en multiklientinställning. Som sagt, vi välkomnar dig att gå med och växa Altona med tiden. Sedan är nästa steg (förutsatt allmän framgång med Altona) ett större, communityfokuserat testnät med mainnet-konfigurationen av minst 16 384 validerare att starta.

åh! och Altona kommer att använda det nya Solidity-insättningsavtalet som diskuterats ovan. Som jag sa, detta är en 100% transparent förändring av eth2-klientprogramvaran eftersom det offentliga gränssnittet är detsamma. Trots att testa det i produktionen ändå.

Bevilja till Sigma Prime’s beacon-fuzz

Vi är glada över att tillkännage ett fortsättningsstipendium för Sigma Prime: s olika klientdifferentiella ansträngningar – beacon-fuzz. Hittills har det här projektet redan varit en stor framgång buggar i Allt av klienterna ombord i systemet.

Du kan kolla in Sigma Prime-blogg för att hålla dig uppdaterad om framstegen. Håll ögonen öppna för den planerade “fuzzing at home” -förlängningen av beacon-fuzz att engagera sig och kanske hitta ett fel på din hemmamaskin!

Mitt långvariga eth2-blogginlägg

Om du inte har haft en chans att läsa mitt blogginlägg för några veckor sedan, är det inte för sent! Kolla upp State of Eth2, juni 2020 för att få en överblick på hög nivå och förståelse för var eth2-projektet står idag och hur det passar in i Ethereum som helhet 🚀



LEAVE A REPLY

Please enter your comment!
Please enter your name here