{"id":7534,"date":"2025-01-19T21:23:29","date_gmt":"2025-01-19T20:23:29","guid":{"rendered":"https:\/\/wsj-crypto.com\/?p=7534"},"modified":"2025-01-19T21:23:29","modified_gmt":"2025-01-19T20:23:29","slug":"innovative-insights-the-latest-developments-from-ef-supported-teams","status":"publish","type":"post","link":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/","title":{"rendered":"Innovative Insights: The Latest Developments from EF-Supported Teams"},"content":{"rendered":"<p><\/p>\n<div id=\"\"><center><\/center><br \/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Dear friends,<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">From our personnel to you and your loved ones, we wish for the well-being and safety of everyone and their families during these challenging weeks. To help pass the time while we are all indoors, it&#8217;s time again to inform the community on advancements made by some of the EF-supported initiatives not addressed in <!-- --><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2020\/04\/01\/ecosystem-support-program-allocation-update\">last week\u2019s ESP Allocation Update<!-- --><\/a>. Although the last Winter edition in this series was shared merely a few months ago, we\u2019ve all progressed significantly since the deployment of the Istanbul network upgrade, and many groups have updates to provide.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">As always, these updates concentrate on EF-supported squads and endeavors whose participants are striving to enhance and develop Ethereum as a whole. This edition encompasses updates from multiple teams featured in <!-- --><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2019\/12\/03\/ef-supported-teams-research-and-development-update-2019-pt-2\">the prior report<!-- --><\/a>, along with additional fresh and rotating news.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Enjoy!<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"aleth--c-ethereum\">Aleth \/ C++ Ethereum<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by Pawe\u0142 Bylica<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In December 2019, the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/aleth\/releases\/tag\/v1.8.0\">1.8.0<!-- --><\/a> edition of Aleth was made available. It encompasses a variety of corrections and enhancements related to several aspects of how this C++ Ethereum node operates. Specifically, we optimized the RPC interface, blockchain synchronization, network protocol, and testing tools (testeth, aleth-vm). Refer to <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/aleth\/blob\/master\/CHANGELOG.md#180---2019-12-16\">CHANGELOG<!-- --><\/a> for further details.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This release also includes significant contributions related to the consensus protocol:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-2387\">Muir Glacier<!-- --><\/a> network upgrade support.<!-- --><\/li>\n<li class=\"css-cvpopp\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-1380\">EIP-1380<!-- --><\/a> &#8220;Reduced gas cost for call to self&#8221; implementation.<!-- --><\/li>\n<li class=\"css-cvpopp\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-2046\">EIP-2046<!-- --><\/a> &#8220;Reduced gas cost for static calls made to precompiles&#8221; implementation.<!-- --><\/li>\n<li class=\"css-cvpopp\">Support for individual EIP activation to promote <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/notes.ethereum.org\/@holiman\/S1ELAYY7S?type=view\">EIP-centric<!-- --><\/a> network upgrade methodology.<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Aleth 1.8.0 is the final planned iteration. From this point forward, we are solely committed to fundamental maintenance of the code, reviewing Pull Requests, and addressing the remaining requirements for testing and EIP evaluations. At this juncture, I would like to express my gratitude to all Aleth contributors, particularly <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/halfalicious\">Nils-Erik Frantzell<!-- --><\/a>, who dedicated considerable effort to the project over the past year.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">It is also important to mention maintenance updates of sibling projects:<!-- --><\/p>\n<p><!-- --><br \/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Finally, we have released an article on <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/evmone\/blob\/master\/docs\/efficient_gas_calculation_algorithm.md\">Efficient gas calculation algorithm for EVM<!-- --><\/a>, which was later incorporated into a Devcon 5 presentation <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/docs.google.com\/presentation\/d\/1MgXd159bmx37Q70Ng_ggHcClcYLafYqrxNEBFKAMqWI\">Optimization techniques for EVM implementations<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"applied-zkp\">Applied ZKP<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by Koh Wei Jie and Kobi Gurkan<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The Applied ZKP team endeavors to connect the gap between pioneering research in zero-knowledge proofs and practical application development on Ethereum.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"perpetual-powers-of-tau\">Perpetual Powers of Tau<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In September 2019, we inaugurated the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/coinmonks\/announcing-the-perpetual-powers-of-tau-ceremony-to-benefit-all-zk-snark-projects-c3da86af8377\">Perpetual Powers of Tau ceremony<!-- --><\/a> (PPOT). PPOT&#8217;s goal is to support the zero-knowledge ecosystem, particularly zk-SNARK projects developed on Ethereum, by alleviating part of the burden associated with trusted setup ceremonies. Every zk-SNARK project necessitates two stages of parameter generation, and PPOT substitutes the first stage, which can be utilized by all circuits. Individual teams can select any contribution from the ceremony to proceed with their own phase 2 setup.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This ceremony accommodates circuits with up to 2 ^ 28 constraints, implying that each contribution entails a 97G download, a 1-day computation, and a 49G upload. At the time of writing, we gathered 29 contributions from 28 distinct individuals, and all contribution files can be downloaded and independently validated against a <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/weijiekoh\/perpetualpowersoftau\">public ceremony transcript<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"semaphore\">Semaphore<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Semaphore stands as Applied ZKP\u2019s premier project, launched in mid-2019. It is a general privacy tool enabling use cases like mixers, anonymous login, and confidential voting. One application of Semaphore, formulated by Chih-Cheng Liang, is <!-- --><a target=\"_blank\" rel=\"noopener\" class<a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/@weijiek\/release-announcement-semaphore-a-zero-knowledge-gadget-for-ethereum-5b671cd360d4\">unveiled the final source code<!-- --><\/a>. We have incorporated various elements from the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/iden3\/circomlib\/\">circom standard library<!-- --><\/a> into the audit, thereby offering an enhanced array of instruments for the broader community of SNARK developers utilizing circom.<!-- --><\/p>\n<p><!-- --><\/p>\n<h4 class=\"chakra-heading css-1u9mv6z\" id=\"phase-2-ceremony\">Phase 2 ceremony<!-- --><\/h4>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">As of the current writing, we are conducting a circuit-specific multi-party trusted setup ceremony. The methodology we are adhering to is <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/appliedzkp\/semaphore-phase2-setup\/\">detailed here<!-- --><\/a>. We partnered with <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/www.supranational.net\/\">Supranational<!-- --><\/a>, a participant of the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/www.vdfalliance.org\/\">VDF Alliance<!-- --><\/a>, to execute a verifiable delay function (VDF) on a <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/twitter.com\/weijie_eth\/status\/1241721809902243840\">pre-announced Ethereum block hash<!-- --><\/a>, and incorporated the result of said VDF into challenge file #25 from the Perpetual Powers of Tau ceremony (see below), marking the inception of the circuit-specific ceremony on April 6, 2020.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Due to the outstanding efforts by <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/github.com\/briangu33\/\">Brian Gu<!-- --><\/a>, we managed to adapt <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/www.aztecprotocol.com\/\">Aztec Protocol<!-- --><\/a>\u2019s Ignition ceremony software for our event. For further details regarding this ceremony, please refer to its <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/ceremony.semaphore.appliedzkp.org\/\">participant guide<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Feel free to engage in conversation in the Semaphore Society <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/t.me\/joinchat\/B-PQx1U3GtAh--Z4Fwo56A\">Telegram chat group<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"semaphore-rln\">Semaphore RLN<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/semaphore-rln-rate-limiting-nullifier-for-spam-prevention-in-anonymous-p2p-setting\/5009\">Semaphore RLN<!-- --><\/a> offers a mechanism for implementing rate-limiting in a P2P environment &#8211; rather than depending on an on-chain nullifier map to avert double-signaling, we utilize Shamir Secret Sharing to distribute shares of the broadcaster\u2019s private key. Multiple disclosed shares from the same broadcaster can be leveraged to reconstitute the private key, which raises the risk of the original holder of the private key facing a slashing event.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"maci\">MACI<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Initially suggested by Vitalik Buterin in an <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/semaphore-rln-rate-limiting-nullifier-for-spam-prevention-in-anonymous-p2p-setting\/500\">ethresear.ch article<!-- --><\/a>, frameworks developed with MACI make collusion among participants challenging, while preserving the censorship resistance and accurate execution advantages of smart contracts. Although MACI may offer collusion resistance if the coordinator acts honestly, an unprincipled coordinator is incapable of censoring or manipulating its execution.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In late 2019, we commenced work on a <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/barryWhiteHat\/maci\/\">technical specification and implementation<!-- --><\/a> and we are close to finalizing a minimal viable product.<!-- --><\/p>\n<p><!-- --><\/p>\n<h4 class=\"chakra-heading css-1u9mv6z\" id=\"future-work-adding-anonymization-to-maci\">Future endeavors: incorporating anonymization into MACI<!-- --><\/h4>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">MACI employs a coordinator for processing, whereby the coordinator utilizes SNARKs to validate integrity, ensuring that a malicious coordinator can only undermine collusion-resistance attributes. A current drawback of this approach is that the coordinator can connect each user\u2019s initial key to their final key, being privy to all key modifications.<br \/>\nWe aim to enhance privacy concerning the coordinator by enabling users to undertake anonymous key changes. For additional insights, please refer to this <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/maci-anonymization-using-rerandomizable-encryption\/7054\">ethresear.ch article<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"mimc-bounty\">MiMC Bounty<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">MiMC has emerged as a favored cryptographic hash function in SNARKs due to its superior performance. Despite being the earliest of the group in the \u201chash functions with low multiplicative complexity\u201d category, we believed it warranted increased scrutiny. We <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/mimchash.org\/\">launched a bounty<!-- --><\/a> for collision detection in MiMC, which we also intend to extend to Poseidon.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"optimistic-rollup-hub--zk-optimistic-rollups\">Optimistic Rollup Hub + ZK Optimistic rollups<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Optimistic Rollup enhances layer 2 scalability by utilizing on-chain data availability and fraud proofs. The Hub chain additionally facilitates straightforward mass migrations between various rollups. The hub offers seamless mass migrations.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">ZK Optimistic Rollup builds on the same principle but for anonymous transactions. Instead of having all the transaction metadata exposed, each transaction within the rollup represents a 2-to-2 anonymous transfer.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"peekabook\">PeekABook<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/peekabook-private-order-matching\/6987\">PeekABook<!-- --><\/a> enables two users to privately match orders, ensuring that no user can ascertain additional information regarding an order placed by another user unless they possess an order that would fulfill it.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"experimental-directions\">Experimental paths<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Until now, we have detailed projects that we have launched \u2014 either as mature code, specifications, or definitive plans. We are continually exploring new experimental domains that we aspire will evolve into fully developed initiatives.<br \/>\nSome of these encompass:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">Verifying a STARK within a SNARK &#8211; facilitating some form of layer 1 recursion<!-- --><\/li>\n<li class=\"css-cvpopp\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/blind-find-private-social-network-search\">Blind Find<!-- --><\/a> &#8211; an MPC-based framework demonstrating a pathway exists between users in a p2p network, without disclosing the path itself.<!-- --><\/li>\n<li class=\"css-cvpopp\">Fractal on Ethereum<!-- --><\/li>\n<li class=\"css-cvpopp\">RSA-basedrollup<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">And more \ud83d\ude42<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"ecosystem-support-program\">Ecosystem Support Program<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">On April 1 we published the <!-- --><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2020\/04\/01\/ecosystem-support-program-allocation-update\">ESP Allocation Update<!-- --><\/a>, where we disclosed some of the efforts we\u2019ve been undertaking to enhance our procedures, along with a list of the initiatives that obtained financial backing in 2019. Keep an eye on the blog for additional updates and follow us on Twitter (@EF_ESP) to stay updated on the latest regarding the projects we support!<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"ewasm\">Ewasm<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by Alex Beregszaszi<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Since our previous update in December, the team has persisted in advancing Eth 2.0 Phase 2 and has begun to engage more actively in Eth 1x research as well.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Our belief is that certain aspects of research are essential for both efforts and can be exchanged between the two projects.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"eth-1x--stateless-ethereum\">Eth 1.x \/ Stateless Ethereum<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In a stateless model, it is not anticipated that everyone retains a complete copy of the entire state of the blockchain. Rather, each block includes a proof (the so-called witness) of the state segment affected. The efficient creation, distribution, and verification of witnesses becomes a key element of this new stateless architecture. The challenge of creation and verification is what captivates our team the most.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">There are numerous concepts for minimizing block witness size, some of which Paul has compiled in a <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/survey-of-proposals-to-reduce-block-witness-size\/7173\">survey<!-- --><\/a>. Given our expertise in instruction sets, the initial problem we examined was the reduction of code size. This is vital, as code also needs to be included in the witness. Two strategies come to mind: compression and merklization. An initial phase <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/ewasm\/evm-bytecode-merklization-2a8366ab0c90\">experiment<!-- --><\/a> indicates we can decrease the amount of code passed as part of the block witness by 40-60%.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We also plan to investigate options to<!-- --><\/p>\n<p><!-- --><\/p>\n<ol role=\"list\" class=\"css-13a5a39\">\n<li class=\"css-cvpopp\">minimize the storage component of the witness,<!-- --><\/li>\n<li class=\"css-cvpopp\">to accurately account for the witness size (&#8220;witness metering&#8221;),<!-- --><\/li>\n<li class=\"css-cvpopp\">and to take part in formulating a witness specification.<!-- --><\/li>\n<\/ol>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"eth-20\">Eth 2.0<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">It should be noted that since the execution model of Eth 2.0 is also stateless, the work conducted as part of Eth 1x becomes relevant here as well.<!-- --><\/p>\n<p><!-- --><\/p>\n<h4 class=\"chakra-heading css-1u9mv6z\" id=\"cross-shard-design\">Cross-shard design<!-- --><\/h4>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Without the capability to efficiently transfer Ether (and possibly other tokens), compensating for execution and transactions becomes a complicated issue. Last year, various models surfaced, including receipts with accumulators, queues, and balance maps. Casey <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/a-protocol-for-cross-shard-eth-transfers-even-more-simpler-and-transparent\/6996\">has suggested<!-- --><\/a> an alternative known as EthTransfer objects.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Alongside Ether transfer, contracts might wish to communicate with other contracts on different shards and potentially perform atomic operations. All of this creates a substantial design space for Phase 2, which we&#8217;ve been investigating thus far.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">As an experiment, starting a few weeks ago, we have been developing <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/the-eth1x64-experiment\/7195\">Eth1x64<!-- --><\/a>. This narrows the design space and should facilitate quick iterations of various designs.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Under Eth1x64, each shard is uniform and runs an instance of Eth 1.x, with shard 0 being the current Eth 1.0 mainnet. We are undertaking multiple small proposals, all aimed at different means to achieve cross-shard communication.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This endeavor will provide insights into the intricacy of integrating sharding into Eth1, enabling us to gather broader feedback from Dapp developers, which we can then use to hone the WebAssembly-based Phase 2 designs.<!-- --><\/p>\n<p><!-- --><\/p>\n<h4 class=\"chakra-heading css-1u9mv6z\" id=\"speed\">Speed<!-- --><\/h4>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Zero-knowledge protocols are becoming progressively crucial. It is essential to ensure they can be efficiently supported on Eth 2.0. An optimized implementation in AssemblyScript of the SNARK-friendly <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/jwasinger\/mimc-wasm\">MiMC hash function<!-- --><\/a> and a zkSNARKs-based token example have been crafted. This example performs well as an Execution Environment. Benchmarks reveal that both can attain comparable performance to compiler engines and EVM-based (precompile supported) implementations. Refer to <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/zero-knowledge-tooling-for-an-eth-2-0-wasm-execution-layer\/7080\">Jared&#8217;s summary<!-- --><\/a> for specifics.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This work has also directed further reviews of the big integer API, which is a critical aspect of a robust and secure WebAssembly-based execution.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"webassembly\">WebAssembly<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The past few months have been enriching for WebAssembly with the release of the stable 1.0 version of the specification. Several new promising interpreter projects have been announced and\/or released. We are closely monitoring these and plan to incorporate them into our benchmarking report.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In January, we commenced work on <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/wasmx\/fizzy\">Fizzy<!-- --><\/a>, a new WebAssembly engine. Features like integer-only support (no floating point operations) and interpreter-only execution render it well-suited for blockchain applications. Additionally, a clean codebase written in modern C++17 along with the objective of easy embeddability aim to make Fizzy a practical, modular component for Eth 2.0 client implementations. By the time of this update, Fizzy can pass nearly all official test cases (with the exception of Wasm validation, which is yet to be implemented) and compares excellently on speed benchmarks.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"formal-verification\">Formal Verification<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em```html\n\n\n<p class=\"chakra-text css-0\"><em>Written by Leo Alt and Martin Lundfall<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"act\">Act<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/act\">Act<!-- --><\/a> is an intuitive and efficient specification language for crafting formal specifications. It is under development with contributions from various groups, and we aspire that in the future, utilizing Act to delineate smart contracts will become standard practice.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">By permitting attributes to be articulated on varied levels, the primary objective of Act as a tool is to facilitate modular verification. The specification can be validated as an independent document, where contract invariants may be assessed from the delineated function\u2019s pre\/post conditions, and the post conditions can be evaluated from a function\u2019s storage updates. Ideally, this modular validation will simplify the process for other tools to verify the accuracy of the source code\/bytecode.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">At present, we are developing three proof backends for the intermediate proofs:<!-- --><\/p>\n<p><!-- --><\/p>\n<ol role=\"list\" class=\"css-13a5a39\">\n<li class=\"css-cvpopp\">Coq definitions<!-- --><\/li>\n<li class=\"css-cvpopp\">K specs<!-- --><\/li>\n<li class=\"css-cvpopp\">SMT theorems<!-- --><\/li>\n<\/ol>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Each backend presents its unique advantages and drawbacks, and we aim to ensure good performance and coverage by advancing all fronts concurrently.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We anticipate launching a prototype for each proof backend and investigating how to articulate loop invariants by June 2020.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We will soon post a comprehensive technical article regarding Act. Contributions to the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/act\">repository<!-- --><\/a> are perpetually welcomed!<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"smtchecker\">SMTChecker<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The SMTChecker is a static analysis module based on model checking found in the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/solidity\">Solidity<!-- --><\/a> compiler, aiming to verify source code assertions during compile-time. Last year, a <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/@leonardoalt\/smtchecker-toward-completeness-1a99c02e0133\">new engine centered around Constrained Horn Clauses<!-- --><\/a> was introduced. This engine&#8217;s key attribute is that it can autonomously discover inductive invariants used to validate assertions, thus enabling support for loops and state characteristics.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Recently, we integrated internal function calls into the engine and continue to enhance support for the Solidity language. Over the next three months, we shall focus on expanding language support, counterexample generation\/presentation, and external function calls, with hopes of evolving the SMTChecker from an experimental stage into a practical and robust tool.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In the future, we also aspire to:<!-- --><\/p>\n<p><!-- --><\/p>\n<ol role=\"list\" class=\"css-13a5a39\">\n<li class=\"css-cvpopp\">Merge the SMTChecker and Act, investigating intriguing concepts like the synthesis of absent code to conform to the specifications \/ synthesis of adversarial code.<!-- --><\/li>\n<li class=\"css-cvpopp\">Develop a Remix plugin for the SMTChecker which would greatly enhance usability.<!-- --><\/li>\n<\/ol>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"verified-abi-encodingdecoding\">Verified ABI encoding\/decoding<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We are partnering with ConsenSys R&amp;D, who are engaged in crafting a verified ABI encoder\/decoder utilizing <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/mmalvarez\/Yul-Isabelle\/\">Yul-Isabelle<!-- --><\/a>. The idea and discussions initiated at Devcon V, and since then, considerable progress has been achieved, bringing us close to a prototype.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Initially, we plan to utilize it with the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/solidity\/tree\/develop\/test\/tools\/ossfuzz\">Solidity Fuzzer<!-- --><\/a> to uncover bugs related to optimization and ABI encoding\/decoding. Our ultimate and somewhat ambitious vision is to incorporate the verified ABI encoder\/decoder into the Solidity compilation process. This would signify that a significant portion of code generation is verified!<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"eth2\">Eth2<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We have consistently supported Runtime Verification in upholding the KEVM formal semantics and validating the deposit contract and beacon chain specifications. The deposit contract is also one of our primary benchmarks during the Act development process. We aim to present an alternative specification for the deposit contract and prove the incremental Merkle tree properties through Act by July, when we also plan to explore Eth2 Phase 1 and Phase 2 attributes that need to be substantiated.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"hevm\">Hevm<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/dapphub\/dapptools\">Hevm<!-- --><\/a>, a Haskell EVM evaluator and debugger can now be utilized for <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/dapphub\/dapptools\/pull\/313\">property-based testing<!-- --><\/a>.<br \/>\nUsers of the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/dapphub\/dapptools\/tree\/master\/src\/dapp\"><span class=\"chakra-text css-ons8vw\">dapp<\/span><\/a> development tool can now formulate Solidity tests whose inputs are randomly generated and executed multiple times against a correctness benchmark. This offers smart contract developers a way to substantially enhance test coverage in a fairly straightforward manner.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Moving forward, we will investigate extending hevm with symbolic execution functionalities. This would enable hevm to formally validate EVM bytecode.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"geth\">Geth<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by P\u00e9ter Szil\u00e1gyi<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In the preceding quarter, the Geth team has been engaged with network infrastructure and establishing the foundation for future updates. This article will merely highlight a few of the significant features; for a comprehensive bullet point overview, please refer to our <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/go-ethereum\/releases\">release notes<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"dns-discovery\">DNS discovery<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A feature we drafted about two years ago and launched last quarter is <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-1459\">DNS-based peer discovery<!-- --><\/a>. Moving forward, Geth v1.9.11+ nodes are equipped with two separate systems to identify peers. The DNS lists act as a fallback strategy when peers cannot be identified through the DHT. They could also serve as the initial point for a Tor integration.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">While DNS-based discovery is a centralized approach, but<br \/>\n&#8220;`we have endeavored to render the functionality of this system as open and unregulated as feasible. The public lists, which are utilized by default, are created by scanning the discovery DHT. Nodes operating any Ethereum client that adheres to <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-868\">EIP-868<!-- --><\/a> and <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-2124\">EIP-2124<!-- --><\/a> will automatically be included in the public lists. If you wish to establish a DNS-based node list for your private or public network, please refer to our <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/geth.ethereum.org\/docs\/developers\/dns-discovery-setup\">DNS Discovery Setup guide<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Currently, there are approximately 1150 publicly routable Ethereum mainnet nodes in the default list; additionally, our public lists also cater to the Ropsten, Goerli, and Rinkeby test networks. At present, the network generates around 8 million DNS queries daily directed towards this discovery system.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/blog.ethereum.org\/images\/posts\/upload_c91594eb79e6dca4c4b5faa979b31317.png\" class=\"chakra-image css-hw6q2r\"\/><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"transaction-propagation\">Transaction dissemination<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">For a couple of years, much of the network bandwidth utilized by Ethereum nodes has been involved in transmitting transactions. Regrettably, this system was never fine-tuned since its launch, leading to excessive waste. Over the past quarter, we have outlined an update to the <!-- --><span class=\"chakra-text css-ons8vw\">eth<\/span> protocol (<!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-2464\">EIP 2464<!-- --><\/a>) that permits transactions to be announced among nodes and only transmitted upon solicitation.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This updated protocol was introduced in Geth v1.9.11, is already in place in Nethermind, and is also being developed for Open Ethereum. As only around 30% of the network currently supports it, the overall reduction in bandwidth remains uncertain; however, preliminary tests with an <!-- --><span class=\"chakra-text css-ons8vw\">eth\/64<\/span> versus <!-- --><span class=\"chakra-text css-ons8vw\">eth\/65<\/span> bootnode experiment with 250 peers reveal promising outcomes.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/blog.ethereum.org\/images\/posts\/upload_d3f7b2e6e8ea7fcbdbfc0b6f99b91b27.png\" class=\"chakra-image css-hw6q2r\"\/><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Based on last week\u2019s activity, <!-- --><span class=\"chakra-text css-ons8vw\">eth\/65<\/span> has the potential to lower transaction propagation bandwidth by about 75%. For one of our bootnodes with 250 full node peers, this equates to a savings of 750KB\/s, or roughly 1.8TB of bandwidth each month. We are confident that there&#8217;s still room for enhancement, but we will proceed gradually.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In addition to <!-- --><span class=\"chakra-text css-ons8vw\">eth\/65<\/span>, Geth added support for transactions exceeding 32KB back in January (thanks to StarkWare), initially setting a soft limit at 64KB that has now been increased to 128KB (higher limits greatly depend on how <!-- --><span class=\"chakra-text css-ons8vw\">eth\/65<\/span> performs on a global scale).<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"dynamic-snapshots\">Dynamic snapshots<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A significant bottleneck in executing the EVM and conducting an initial sync revolves around the state representation utilized in Ethereum: the Merkle Patricia trie. As all state data is structured in a tree format, retrieving any account currently requires about 6-8 random disk lookups on the mainnet. During quick sync, the necessary intermediate trie nodes must be downloaded sequentially to access the actual data.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A feature we have been actively developing for the past six months is dynamic state snapshots: in essence, creating a flat acceleration structure on disk that allows any account or storage slot to be retrieved with just one disk lookup. This concept is similar to Open Ethereum&#8217;s <!-- --><span class=\"chakra-text css-ons8vw\">fatdb<\/span> layout; however, this one is dynamic: the snapshot mechanism in Geth is able to maintain the acceleration structure in real time as the chain evolves (including the mini forks).<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">One advantage of the dynamic snapshots is O(1) EVM state reads. While it might seem like a breakthrough, it\u2019s not entirely so. Most contract executions do not excessively demand disk reads, making the advantage somewhat limited, and many contracts also perform numerous writes, which still need to be added into the Merkle trie. However, dynamic snapshots do allow <!-- --><span class=\"chakra-text css-ons8vw\">eth_call<\/span> operations to be remarkably quick, and they significantly complicate the execution of DoS transactions.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">An <!-- --><em class=\"chakra-text css-0\">even<!-- --><\/em> more intriguing functionality enabled by the dynamic snapshots is a novel synchronization protocol, which we have been striving to finalize for the past two years (initially referred to as <!-- --><span class=\"chakra-text css-ons8vw\">leaf sync<\/span>). The protocol is still a <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/devp2p\/blob\/8a2fe72b8ed134e1e0ee7c055177f9286619c800\/caps\/snap.md\">work in progress<!-- --><\/a>, but if our assumptions hold true, it should enable syncing the Ethereum state at a much faster pace.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"discovery-v5\">Discovery v5<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The initial iteration of the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/devp2p\/blob\/master\/discv5\/discv5.md\">next-generation discovery protocol<!-- --><\/a> has been incorporated into Geth, although it has not yet been activated. While the specifications and implementation remain adaptable, aligning with the Eth 2.0 requirements, it <!-- --><em class=\"chakra-text css-0\">is<\/em> indeed a significant milestone to have a functional version present in the live codebase.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"javascript-team\">Javascript Team<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by: Holger Drewes, Philipp Langhans<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The last quarter was thrilling for the team. For the first time, we gathered in person in early March during EthCC in Paris, strengthened our connections, and deliberated team collaboration, potential partnerships, and future initiatives. Anticipate further updates once we start seeing outcomes.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"ethersjs\">Ethers.js<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Ethers <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethers-io\/ethers.js\/tree\/ethers-v5-beta\">v5<!-- --><\/a> is currently undergoing its final <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethers-io\/ethers.js\/releases\">beta releases<!-- --><\/a> before the official launch. Numerous fixes and enhancements for usability (such as more appropriate names for API calls) discussed within the community have been incorporated in preparation for a robust and stable final release. Notable new features added recently are the new <!-- -->&#8220;`html<br \/>\n<a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethers-io\/ethers.js\/issues\/141\">WebSocketProvider<!-- --><\/a> and provisional <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-1193\">EIP-1193<!-- --><\/a> (Ethereum Provider JavaScript API) assistance.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"web3js\">Web3.js<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">After holding the primary maintenance role for the Web3.js library for over a year, Samuel has determined it is the appropriate moment to embark on <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/twitter.com\/furter_samuel\/status\/1226791764046098435\">new ventures<!-- --><\/a> (many thanks Samuel for all your outstanding efforts! \u2665\ufe0f). We savored a final gathering in the days surrounding EthCC. The library&#8217;s development will now be managed by other team members collectively.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Currently, we maintain a strong emphasis on establishing a reliable release process and are working to familiarize ourselves with the technology stack and protocols since Samuel was the leading authority in this area. Kindly bear with us as we are thus very selective about incorporating new functionalities in the immediate future. For now &#8211; and for the same reasoning &#8211; we will also refrain from development on the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/web3.js\/tree\/2.x\">2.x branch<!-- --><\/a> (presently published as an <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/web3.js\/releases\/tag\/v2.0.0-alpha.1\">alpha version<!-- --><\/a> of the library.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"ethereumjs\">EthereumJS<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We have transitioned the EthereumJS VM to a <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-vm\">monorepo<!-- --><\/a>, merging structurally related libraries (tx, block, blockchain, HF configuration (common)) under a single entity. This will greatly simplify VM development moving forward and enable integrated PRs. A <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-vm\/issues\/681\">v5 release<!-- --><\/a> of the VM based on this new structural foundation is slated for release soon, which will introduce several breaking modifications. Feel free to drop in and participate (and influence) the conversation.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Thanks to the excellent contributions of <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/dryajov\">dryajov<!-- --><\/a>, we now have a functioning <!-- --><span class=\"chakra-text css-ons8vw\">TypeScript<\/span> implementation of the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-devp2p\">devp2p<!-- --><\/a> stack. A release of this is on the horizon.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"grid\">Grid<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Ethereum Grid has been divided into two components: the desktop application and a core module that can manage binaries outside of the Electron environment e.g. on CLI or in various tools like test runners or IDEs (Remix, VSCode). The objective of the core is to offer a compact engine that can be extended through plugins. The essential mechanisms that facilitate secure and stable extensions without having to alter Grid in the future have been established. This was the primary aim of the refactoring and a move towards a finalized product.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Grid can be augmented with small scripts, referred to as workflows, that interact with binaries. Numerous such scripts have been developed and demonstrated at EthCC: <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/PhilippLgh\/Grid-Workflows\">Grid Workflows<!-- --><\/a><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"python-ecosystem-pyevm--trinity--web3py--vyper\">Python Ecosystem [PyEVM \/ Trinity \/ Web3.py \/ Vyper]<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Piper Merriam<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"web3py\">Web3.py<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The Web3.py library has continued making progress on gradual enhancements and stability. Thanks to various third-party contributions, we anticipate releasing preliminary support for mnemonic phrases and HD accounts in the foreseeable future. We are also striving to achieve full async support, although a considerable amount of foundational work still remains to be accomplished in this area.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"trinity\">Trinity<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The Trinity client is actively advancing on both the 1.x and 2.0 projects. Work on the Trinity Eth2 client continues as we approach the establishment of stable, long-term public testnets. On the Eth1.x front, we are persistently working toward a functional mainnet client. One of the most significant outcomes from our efforts over the past two years is the &#8220;Stateless Ethereum&#8221; initiative, which is set to transform the Ethereum mainnet over the next 18-24 months.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"ethpm\">EthPM<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The EthPM group is collaborating with the Solidity team to integrate the packaging standard so that the compiler can compile the resources in a package, generate packages of the compiled resources, and utilize the EthPM specifications for metadata\/contract source validation.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"remix\">Remix<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Feel free to explore <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/remix-ide\">our medium articles<!-- --><\/a> for more comprehensive information.<br \/>\nOur <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/remix-project.org\">public website<!-- --><\/a> has just launched \ud83d\ude09<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"remix-ide---live--desktop-app\">Remix IDE &#8211; Live &amp;&amp; Desktop Application<!-- --><\/h3>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">Comprehensive support for Solidity 0.6.0 breaking changes and features has been incorporated into the Solidity Plugin.<!-- --><\/li>\n<li class=\"css-cvpopp\">Low-level interactions are now feasible (Solidity receive and fallback)<!-- --><\/li>\n<li class=\"css-cvpopp\"><span class=\"chakra-text css-ons8vw\">Light<\/span> and <!-- --><span class=\"chakra-text css-ons8vw\">Dark<\/span> themes have been included. We have redesigned the UIs of the Solidity Plugin and Deploy&amp;Run Plugin.<!-- --><\/li>\n<li class=\"css-cvpopp\">The latest <!-- --><span class=\"chakra-text css-ons8vw\">Remix Plugin Engine(v0.2.0)<\/span> has been effectively integrated into the Remix IDE, along with the remix-simulator (Ethereum dev node in the browser).<!-- --><\/li>\n<li class=\"css-cvpopp\">Moving forward, <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/remix-desktop\/releases\">the desktop edition<!-- --><\/a> will align with Remix live releases.<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"remix-plugin\">Remix Plugin<!-- --><\/h3>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">The latest iteration comes with the capability to support websocket plugins, and we will soon add more types (Secure Ecmascript, IPC).<!-- --><\/li>\n<li class=\"css-cvpopp\">Integration with VScode is currently in the<br \/>\n&#8220;`process and are anticipated to be accessible soon.<!-- --><\/li>\n<li class=\"css-cvpopp\">Here\u2019s <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/remix-plugin\">the guide<!-- --><\/a> for creating plugins.<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"external-plugins\">External Plugins<!-- --><\/h3>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">We encourage external groups to construct their plugins and incorporate them into Remix IDE.<!-- --><\/li>\n<li class=\"css-cvpopp\">There is a Gitter channel specifically for Remix plugins. You can suggest a plugin to the community by initiating a PR in the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/remix-plugins-directory\">remix-plugins-directory repository<!-- --><\/a><\/li>\n<li class=\"css-cvpopp\">If you need financial assistance to develop your plugin, we may be able to help!<br \/>\nHere\u2019s what you should do: &#8211; Kindly create a Github issue (in the repository where your plugin resides) detailing your intentions. &#8211; Contact us via email &#8211; <!-- --><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/en\/2020\/04\/14\/mailto:remix@ethereum.org\">remix@ethereum.org<!-- --><\/a> &#8211; including a document explaining the project, a link to the Github issue, and a proposal for an invoice. &#8211; We will strive to reach out to you and outline the next steps.<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"remix-simulator\">Remix Simulator<!-- --><\/h3>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">The integration with Remix IDE is largely finalized.<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"remix-static-analyzer\">Remix static analyzer<!-- --><\/h3>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">Remix Analyzer has transitioned to TypeScript and now employs the latest AST (Abstract Syntax Tree).<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"remix-tests\">Remix tests<!-- --><\/h3>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">We have introduced new features recently and reached out to the Remix community for their input, which resulted in positive feedback. Here are the Medium articles: <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/remix-ide\/solidity-unit-testing-using-remix-tests-part-1-bc10ab1be864\">part 1<!-- --><\/a> &#8211; <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/remix-ide\/solidity-unit-testing-using-remix-tests-part-2-50a9f486ab5d\">part 2<!-- --><\/a>.<!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"blog-posts--reachout-communities\">Blog posts &amp; outreach communities<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We have begun to share <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/remix-ide\">some fresh content<!-- --><\/a>, which will be our emphasis in the coming months.<br \/>\nAdditionally, we are dedicating resources to workshop content, both creating and promoting it.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"e2e-testing\">E2E Testing<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">David, known as @ioedeveloper, has recently joined the team and is focusing on E2E testing and the Remix IDE, aspiring to streamline our release procedure.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"research-eth1x-stateless-ethereum\">Research [Eth1.X (Stateless Ethereum)]<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by Griffin Hotchkiss<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The array of enhancements to the current Ethereum protocol referred to as \u201cEth1.X\u201d have combined into a more cohesive initiative by researchers to implement and transition toward \u201cStateless Ethereum\u201d. The improvements and areas of exploration are not only significant for boosting the scalability and robustness of the existing chain but are also pertinent and often complement the engineering and design challenges being addressed by Eth2 research teams.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Following EthCC in Paris, a Stateless Ethereum research summit was held, which participants regarded as groundbreaking and overwhelmingly successful.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Updates on the Stateless Ethereum initiative have been documented by Griffin Ichiba Hotchkiss in an ongoing series titled \u201cThe 1.X Files\u201d, which, in addition to summarizing and digesting monthly discussions, delves deeply into the fundamental concepts under investigation and the path forward.<!-- --><\/p>\n<p><!-- --><br \/>\n<!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"research-serenity--eth2\">Research [Serenity \/ Eth2]<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by EF Team<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Danny Ryan, Carl Beekhuizen and the Eth2 research team have continued their regular series titled \u2018Eth2 Quick Update\u2019 and \u2018Validated: Staking on Eth2\u2019 on the EF Blog. For the most recent updates and advancements as we approach the launch of Phase 0, please check out the latest articles below!<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"eth2-quick-update\">Eth2 quick update<!-- --><\/h3>\n<p><!-- --><br \/>\n<!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"validated-staking-on-eth2\">Validated, staking on eth2<!-- --><\/h3>\n<p><!-- --><br \/>\n<!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"security-security--consensus-tests\">Security [Security \/ Consensus Tests]<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by Martin Holst Swende<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The well-being of the Ethereum Mainnet is of utmost importance, and we have examined and published an EIP proposing <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/EIPs\/pull\/2583\">penalties<!-- --><\/a> for state trie misses.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Towards the end of 2019, we awarded several bounties. ChainSecurity acquired an additional 8500 points for three separate reports: 1000 points for a slow execution on Geth caused by an unnecessary duplication of data when CALL variants were made with large calldata; 5000 points from the fund allocated for EIP reviews, for their assistance in evaluating the security of EIP-1884 (which also earned Neville Gretch (contract-library.com) 5000 points); and they submitted a DoS vector for Geth\/Parity, along with Daniel Perez (split 50\/50), which earned each of them 2500 points.<br \/>\nIn early 2020, the prolific bug bounty hunter Sam Sun was granted another 10K bounty points for the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/the-ethereum-name-service\/ens-registry-migration-bug-fix-new-features-64379193a5a\">ENS<!-- --><\/a> vulnerability that required migrating all records to a new registrar.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/holiman\/goevmlab\">Go-Evmlab<!-- --><\/a> repository has been enhanced to better work with Geth and assist during analysis of chain operations, as well as to create custom evm-fuzzers.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We have also conducted two external audits on the forthcoming <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/devp2p\/blob\/master\/discv5\/discv5.md\">Discovery version 5<!-- --><\/a> protocol. One audit was carried out by Least Authority, and another by Cure53. They areboth reachable <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/go-ethereum\/tree\/master\/docs\/audits\">here<!-- --><\/a>. The system is executed (though not yet activated) in Geth already &#8212; examine below.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"consensus-tests\">Consensus examinations:<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Blockchain testing generation code has been restructured and transferred to retesteth.<br \/>\nVMTests are presently produced in Blockchain test format.<br \/>\nStats web server established at <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"http:\/\/retesteth.ethdevops.io\/\">http:\/\/retesteth.ethdevops.io\/<!-- --><\/a><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"solidity\">Solidity<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Composed by Franziska Heintel, Daniel Kirchner, and Christian Reitwiessner<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Since the previous update, the Solidity team has rolled out version 0.6.0. In addition to the plethora of features already disclosed in our last update, this also integrates \u201ctry\/catch\u201d as a high-level syntax to manage failure cases for external calls. Meanwhile, the 0.6 series has achieved stability with various minor versions, and early preparations for the next major release 0.7 have commenced (a forthcoming blog entry will announce the expected features).<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A remarkable new language capability within the 0.6 series is the support for immutable variables. Commencing with version 0.6.5 of Solidity, state variables can be designated as \u201cimmutable\u201d. Immutable variables may be assigned a single time during contract establishment and can be efficiently read from runtime code. The constructor code will directly embed the values designated for the immutables during setup into the runtime code, allowing the runtime cost of an access to only be that of a single PUSH.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Additional language capabilities that have surfaced recently include interface inheritance (which will be complemented by ERC165 interface IDs in the near future), optional reason strings for internal reverts, and the capability to assign storage pointers via inline assembly. The latter facilitates the creation of constructs useful for drafting updatable contracts.<br \/>\nMoreover, we have introduced syntax for CREATE2 via <!-- --><span class=\"chakra-text css-ons8vw\">new C{salt: <salt>}()<\/salt><\/span> and are concurrently transitioning the syntax for establishing gas and value for standard function calls to a similar format: <!-- --><span class=\"chakra-text css-ons8vw\">c.f{value: 10 ether}()<\/span>.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The primary focus of the Solidity team is to extend the new code generation utilizing Yul as an intermediate representation. A variety of language constructs is now endorsed: recent significant additions involve external function calls, try\/catch, enhanced array support, tuples, and more.<br \/>\nOn the backend, the translation of Yul code to Ewasm is now finished, pending some adjustments regarding types, which indicates that completing code generation via Yul IR will yield a Solidity to Ewasm compiler.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The Yul optimizer continues to see improvements; notably, we are introducing the Yul Phaser. The phaser is a utility that harnesses a genetic algorithm to determine the optimal sequence of optimizer steps &#8211; in the future, it may also be possible to apply it to individual contracts if you wish to spend more time on compilation for a less expensive contract.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Further advancements:<br \/>\nsolc-js is now constructed for WebAssembly as opposed to asm.js, which should enhance compilation speed and boost browser compatibility.<br \/>\nThe JSON AST export is now augmented by an AST import that can be utilized for mutation testing and other trials.<br \/>\nThere is ongoing effort towards source verification (at <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/source-verify\">https:\/\/github.com\/ethereum\/source-verify<!-- --><\/a>), striving to compile a collection of validated ABI and source codes of deployed smart contracts through the metadata hashes within the bytecode and to offer a trustless method to retrieve authentic ABI data from IPFS or other resources.<br \/>\nThe Solidity grammar is now defined through antlr, and the antlr-based grammar will be consistently updated by the team.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"smt-checker\">SMT Checker<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The SMTChecker module persists in expanding its support for Solidity, in addition to enhancing its verification methodologies. The new CHC engine now also accommodates internal function calls and multi-transaction counterexamples (unreleased), demonstrating precisely how each transaction must be invoked to breach an assertion. We are currently developing support for external functions and, as usual, advancing support for additional features of the Solidity language.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"solidity-summit\">Solidity Summit!<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Ultimately, we are eagerly anticipating the Solidity Summit, which will occur online on April 29-30. The Solidity Summit is an interactive platform featuring discussions and brief presentations concerning Solidity, Yul, language design, and tooling. We aspire to have productive discussions that yield improvement proposals and pave the route for tangible implementations. Additionally, we wish to cultivate communication among teams tackling similar subjects and pinpoint requirements for the Ethereum smart contract ecosystem. For details on registration, agenda, and the livestream, please visit the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/solidity-summit.ethereum.org\/\">Solidity Summit website<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"follow-us-online\">Follow us online<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">For regular updates, you can track the Solidity team <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/twitter.com\/solidity_lang\">on Twitter<!-- --><\/a> or explore more Solidity-related materials such as feature deep dives, release notifications, and bug reports on the newly launched <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/solidity.ethereum.org\/\">Solidity blog<!-- --><\/a>!<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"zokrates\">ZoKrates<!-- --><\/h2>\n<p><!-- --><\/p>\n<hr aria-orientation=\"horizontal\" class=\"chakra-divider css-1e6gg7n\"\/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Composed by Jacob Eberhardt<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Since the last update, the ZoKrates team has created and launched the inaugural version of zokrates.js, a biblioteca for compiling, executing, and proving ZoKrates programs from JavaScript. It operates using WASM at its core and is already powering our Remix plugin!<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">As a component of this initiative \u2013 and to enhance programmatic interaction with ZoKrates \u2013 a fresh version of the ZoKrates ABI was engineered. It is now proficient in exposing intricate data types following the same style Solidity employs through ABI specifications.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">To bolster efficiency, we have incorporated additional optimization strategies into the ZoKrates compiler: function call memoization, identification of unconstrained variables, and more. These enhancements are currently under review and subject to testing, and we anticipate introducing them in the next release.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Native verification \u2013 a feature frequently requested by our users \u2013 is established as a prototype and is presently undergoing testing.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Lastly, the roll-out of unsigned integers in ZoKrates, benefiting from automatic optimizations, is making progress. This is especially advantageous when utilizing well-known hash functions such as SHA256 and implementing algorithms that inherently incorporate binary representations.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">&#8212;<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">\ud83e\udd84<!-- --><\/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\/04\/14\/ef-supported-teams-research-and-development-update-2020-pt-1\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dear friends, From our personnel to you and your loved ones, we wish for the well-being and safety of everyone and their families during these challenging weeks. To help pass the time while we are all indoors, it&#8217;s time again to inform the community on advancements made by some of the EF-supported initiatives not addressed<\/p>\n","protected":false},"author":3,"featured_media":7535,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[722],"class_list":["post-7534","post","type-post","status-publish","format-standard","has-post-thumbnail","category-ethereum","tag-return-a-list-of-comma-separated-tags-from-this-title-ef-supported-teams-research-development-update"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Innovative Insights: The Latest Developments from EF-Supported Teams - WSJ-Crypto<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Innovative Insights: The Latest Developments from EF-Supported Teams - WSJ-Crypto\" \/>\n<meta property=\"og:description\" content=\"Dear friends, From our personnel to you and your loved ones, we wish for the well-being and safety of everyone and their families during these challenging weeks. To help pass the time while we are all indoors, it&#8217;s time again to inform the community on advancements made by some of the EF-supported initiatives not addressed\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/\" \/>\n<meta property=\"og:site_name\" content=\"WSJ-Crypto\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-19T20:23:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/01\/upload_c91594eb79e6dca4c4b5faa979b31317.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"687\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"wsjcrypto\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"wsjcrypto\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/\",\"url\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/\",\"name\":\"Innovative Insights: The Latest Developments from EF-Supported Teams - WSJ-Crypto\",\"isPartOf\":{\"@id\":\"https:\/\/wsj-crypto.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/01\/upload_c91594eb79e6dca4c4b5faa979b31317.png\",\"datePublished\":\"2025-01-19T20:23:29+00:00\",\"author\":{\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/#primaryimage\",\"url\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/01\/upload_c91594eb79e6dca4c4b5faa979b31317.png\",\"contentUrl\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/01\/upload_c91594eb79e6dca4c4b5faa979b31317.png\",\"width\":1600,\"height\":687},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wsj-crypto.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Innovative Insights: The Latest Developments from EF-Supported Teams\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wsj-crypto.com\/#website\",\"url\":\"https:\/\/wsj-crypto.com\/\",\"name\":\"WSJ-Crypto\",\"description\":\"Just Another Crypto News Website\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wsj-crypto.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7\",\"name\":\"wsjcrypto\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g\",\"caption\":\"wsjcrypto\"},\"url\":\"https:\/\/wsj-crypto.com\/index.php\/author\/wsjcrypto\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Innovative Insights: The Latest Developments from EF-Supported Teams - WSJ-Crypto","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/","og_locale":"it_IT","og_type":"article","og_title":"Innovative Insights: The Latest Developments from EF-Supported Teams - WSJ-Crypto","og_description":"Dear friends, From our personnel to you and your loved ones, we wish for the well-being and safety of everyone and their families during these challenging weeks. To help pass the time while we are all indoors, it&#8217;s time again to inform the community on advancements made by some of the EF-supported initiatives not addressed","og_url":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/","og_site_name":"WSJ-Crypto","article_published_time":"2025-01-19T20:23:29+00:00","og_image":[{"width":1600,"height":687,"url":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/01\/upload_c91594eb79e6dca4c4b5faa979b31317.png","type":"image\/png"}],"author":"wsjcrypto","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"wsjcrypto","Tempo di lettura stimato":"3 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/","url":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/","name":"Innovative Insights: The Latest Developments from EF-Supported Teams - WSJ-Crypto","isPartOf":{"@id":"https:\/\/wsj-crypto.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/#primaryimage"},"image":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/01\/upload_c91594eb79e6dca4c4b5faa979b31317.png","datePublished":"2025-01-19T20:23:29+00:00","author":{"@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7"},"breadcrumb":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/#primaryimage","url":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/01\/upload_c91594eb79e6dca4c4b5faa979b31317.png","contentUrl":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2025\/01\/upload_c91594eb79e6dca4c4b5faa979b31317.png","width":1600,"height":687},{"@type":"BreadcrumbList","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/19\/innovative-insights-the-latest-developments-from-ef-supported-teams\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wsj-crypto.com\/"},{"@type":"ListItem","position":2,"name":"Innovative Insights: The Latest Developments from EF-Supported Teams"}]},{"@type":"WebSite","@id":"https:\/\/wsj-crypto.com\/#website","url":"https:\/\/wsj-crypto.com\/","name":"WSJ-Crypto","description":"Just Another Crypto News Website","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wsj-crypto.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7","name":"wsjcrypto","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/86fe8af82ea089646d6639ca2f87e0243d8688d957bd8e3ec22ec3c457cc16d4?s=96&d=mm&r=g","caption":"wsjcrypto"},"url":"https:\/\/wsj-crypto.com\/index.php\/author\/wsjcrypto\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/7534","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/comments?post=7534"}],"version-history":[{"count":3,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/7534\/revisions"}],"predecessor-version":[{"id":7539,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/7534\/revisions\/7539"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/media\/7535"}],"wp:attachment":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/media?parent=7534"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/categories?post=7534"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/tags?post=7534"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}