{"id":18304,"date":"2026-03-15T03:55:41","date_gmt":"2026-03-15T03:55:41","guid":{"rendered":"https:\/\/cryptoted.net\/index.php\/2026\/03\/15\/eth2-quick-update-no-12\/"},"modified":"2026-03-15T03:55:41","modified_gmt":"2026-03-15T03:55:41","slug":"eth2-quick-update-no-12","status":"publish","type":"post","link":"https:\/\/cryptoted.net\/index.php\/2026\/03\/15\/eth2-quick-update-no-12\/","title":{"rendered":"eth2 quick update no. 12"},"content":{"rendered":"<p> <br \/>\n<br \/><img decoding=\"async\" src=\"https:\/\/blog.ethereum.org\/images\/posts\/kumiko-background.jpg\" \/><\/p>\n<div id=\"\">\n<p class=\"chakra-text css-gi02ar\">As always, a lot continues to happen on the eth2 front. Aside from written updates (check out the State of Eth2 post below) and other public summaries, client teams, contributors, and community members\/prospective-validators have been busy!<\/p>\n<p class=\"chakra-text css-gi02ar\">Today, we&#8217;ll cover some significant deposit contract news, and big steps toward implementation of spec version v0.12.<\/p>\n<p class=\"chakra-text css-gi02ar\">tl;dr<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"solidity-deposit-contract-and-formal-verification\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"solidity deposit contract and formal verification permalink\" href=\"#solidity-deposit-contract-and-formal-verification\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Solidity deposit contract and formal verification<\/h2>\n<p class=\"chakra-text css-gi02ar\">Today, we&#8217;d like to announce a new and more secure version of the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/axic\/eth2-deposit-contract\">eth2 deposit contract<\/a> written in Solidity! This contract retains the same public interface (with the addition of an <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-165\">EIP 165<\/a> <span class=\"chakra-text css-ons8vw\">supportsInterface<\/span> function) and thus is an entirely <em class=\"chakra-text css-0\">transparent<\/em> change for all existing client and dev tooling. In fact, the Solidity code is primarily a line-by-line translation of the original Vyper contract to aid in review and formal verification.<\/p>\n<p class=\"chakra-text css-gi02ar\">Over the past few months, the eth2 deposit contract was re-written in Solidity by <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/twitter.com\/alexberegszaszi\">Alex Beregszaszi<\/a>, reviewed by a small group of Solidity experts, and <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/runtimeverification\/deposit-contract-verification\/blob\/master\/deposit-contract-verification.pdf\">formally verified<\/a> by Runtime Verification largely reusing the K-spec originally written for the Vyper version of the contract.<\/p>\n<p class=\"chakra-text css-gi02ar\">Although the previous Vyper contract was heavily tested, reviewed, and formally verified there are latent concerns about the safety of the Vyper compiler as it stands today. During the original Vyper bytecode verification, multiple compiler bugs were found (and fixed). In addition to the formal verification, <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/ethresear.ch\/u\/suhabe\/\">Suhabe Bugrara<\/a> (ConsenSys R&amp;D) conducted <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/suhabe\/eth-deposit-contract-vyper-review\/blob\/master\/EthDepositContractVyperReview.pdf\">a review<\/a> of the Vyper deposit contract and formal verification, leading to many refinements in the formal specification (ultimately aiding in the ease of re-verification of the Solidity contract). Although the verification was assessed as sound, Suhabe could not recommend the bytecode as secure as long as it used the Vyper compiler.<\/p>\n<p class=\"chakra-text css-gi02ar\">Simultaneously, <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/diligence.consensys.net\/blog\/2019\/10\/vyper-preliminary-security-review\/\">ConsenSys Diligence<\/a> and <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/blog.trailofbits.com\/2019\/10\/24\/watch-your-language-our-first-vyper-audit\/\">Trail of Bits<\/a> did investigative security reports on the Vyper compiler, finding many more bugs and raising concerns about systemic issues with the compiler codebase.<\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Despite these findings, Vyper is still a very promising language.<\/em> The python based compiler continues to be developed and a number of contributors are looking into formalizing the language and investigating alternative compilers.<\/p>\n<p class=\"chakra-text css-gi02ar\">While confident in the formally verified bytecode, the issues found in the Vyper compiler created a heavy reliance on the bytecode verification. It is better to start with a compiler generally agreed upon as safe and to verify bytecode from there, rather than to start with a compiler with known issues and to verify that none of these known (or unknown) issues materialize in the bytecode.<\/p>\n<p class=\"chakra-text css-gi02ar\">To avoid any shred of doubt in the safety of this <em class=\"chakra-text css-0\">critical<\/em> contract, we recommend using the new Solidity contract for eth2 mainnet, and we welcome Solidity contract and EVM bytecode experts to review the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/axic\/eth2-deposit-contract\">contract<\/a> and associated <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/runtimeverification\/deposit-contract-verification\/blob\/master\/deposit-contract-verification.pdf\">formal verification<\/a>. Any issues found qualify for the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/notes.ethereum.org\/@djrtwo\/phase0-bounty\">Eth2 Phase 0 Bounty Program<\/a>.<\/p>\n<blockquote class=\"chakra-code css-gk0tva\">\n<p class=\"chakra-text css-gi02ar\">A quick note &#8212; The new contract has not yet made its way into the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/eth2.0-specs\">spec repo<\/a>. I&#8217;ll be integrating the new Solidity contract in this week and release it as a minor version release very soon. I wanted to announce immediately so the community can have plenty of time to review.<\/p>\n<\/blockquote>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"altona-v012-testnet\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"altona v012 testnet permalink\" href=\"#altona-v012-testnet\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Altona v0.12 testnet<\/h2>\n<p class=\"chakra-text css-gi02ar\">Ever since the release of spec version <span class=\"chakra-text css-ons8vw\">v0.12<\/span>, client teams have been hard at work updating and testing their codebases in preparation for public testnets.<\/p>\n<p class=\"chakra-text css-gi02ar\">I&#8217;ve seen many questions from the community (on discord, reddit, etc) as to why what seemed like a relatively small update has taken a decent amount of time to complete. Although each client codebase and the associated challenges at hand are different, teams are taking <span class=\"chakra-text css-ons8vw\">v0.12<\/span> <em class=\"chakra-text css-0\">very<\/em> seriously. While the update in spec was not too cumbersome, extra time has been taken to tighten up security, optimize functionality, and generally harden the clients before putting them out for what is intended to be the last semi-major version of the spec prior to launch.<\/p>\n<p class=\"chakra-text css-gi02ar\">The time is almost here for the first public, multi-client testnet of <span class=\"chakra-text css-ons8vw\">v0.12<\/span> &#8212; <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/goerli\/witti\/issues\/17\">Altona<\/a> with an expected launch date in the next seven days. This net will start entirely controlled by the constituent client teams (planned Lighthouse, Nimbus, Prysm, and Teku), Afri, and some EF team members. After initial launch, the deposit contract address will be released to allow for open, public participation.<\/p>\n<p class=\"chakra-text css-gi02ar\">Like the previous multi-client testnets to date, Altona is more of a <em class=\"chakra-text css-0\">devnet<\/em> than an end-user focused testnet. That is, Altona is first and foremost for client teams to sanity check <span class=\"chakra-text css-ons8vw\">v0.12<\/span> software in a production setting and for eth2 engineers as a whole to work through any bugs that might only arise in a multi-client setting. That said, we welcome you to join and grow Altona over time. Then the next step (assuming general success with Altona) is a larger, community focused testnet with the mainnet configuration of a minimum of 16,384 validators to start.<\/p>\n<blockquote class=\"chakra-code css-gk0tva\">\n<p class=\"chakra-text css-gi02ar\">Oh! and Altona will be using the new Solidity deposit contract discussed above. Like I said, this is a 100% transparent change to eth2 client software because the public interface is the same. Excited to test it in production nonetheless.<\/p>\n<\/blockquote>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"grant-for-sigma-primes-beacon-fuzz\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"grant for sigma primes beacon fuzz permalink\" href=\"#grant-for-sigma-primes-beacon-fuzz\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Grant for Sigma Prime&#8217;s <span class=\"chakra-text css-ons8vw\">beacon-fuzz<\/span><\/h2>\n<p class=\"chakra-text css-gi02ar\">We&#8217;re excited to announce a continuation grant for Sigma Prime&#8217;s multi-client differential fuzzing effort &#8212; <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/sigp\/beacon-fuzz\/\"><span class=\"chakra-text css-ons8vw\">beacon-fuzz<\/span><\/a>. To date, this project has already been huge success, finding <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/sigp\/beacon-fuzz\/#trophies\">bugs<\/a> in <em class=\"chakra-text css-0\">all<\/em> of the clients onboarded into the system.<\/p>\n<p class=\"chakra-text css-gi02ar\">You can check out the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/blog.sigmaprime.io\/beacon-fuzz-05.html\">Sigma Prime blog<\/a> to stay up to date on progress. Keep your eyes open for the planned &#8220;fuzzing at home&#8221; extension of <span class=\"chakra-text css-ons8vw\">beacon-fuzz<\/span> to get involved and maybe find a bug on your home machine!<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"my-long-winded-eth2-blog-post\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"my long winded eth2 blog post permalink\" href=\"#my-long-winded-eth2-blog-post\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>My long-winded eth2 blog post<\/h2>\n<p class=\"chakra-text css-gi02ar\">If you haven&#8217;t had a chance to read my blog post from a couple of weeks ago, it&#8217;s not too late! Check out <a class=\"chakra-link css-vezwxf\" href=\"https:\/\/blog.ethereum.org\/2020\/06\/02\/the-state-of-eth2-june-2020\"><em class=\"chakra-text css-0\">The State of Eth2, June 2020<\/em><\/a> to get a high level overview and understanding of where the eth2 project stands today and how it fits into Ethereum as a whole \ud83d\ude80<\/p>\n<\/div>\n<p><script async src=\"\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><br \/>\n<br \/><br \/>\n<br \/><a href=\"https:\/\/blog.ethereum.org\/en\/2020\/06\/23\/eth2-quick-update-no-12\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As always, a lot continues to happen on the eth2 front. Aside from written updates (check out the State of Eth2 post below) and other public summaries, client teams, contributors, and community members\/prospective-validators have been busy! Today, we&#8217;ll cover some significant deposit contract news, and big steps toward implementation of spec version v0.12. tl;dr Solidity [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":18195,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[24],"tags":[],"kronos_expire_date":[],"class_list":["post-18304","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ethereum"],"_links":{"self":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts\/18304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/comments?post=18304"}],"version-history":[{"count":0,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts\/18304\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/media\/18195"}],"wp:attachment":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/media?parent=18304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/categories?post=18304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/tags?post=18304"},{"taxonomy":"kronos_expire_date","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/kronos_expire_date?post=18304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}