{"id":7811,"date":"2025-01-27T04:03:40","date_gmt":"2025-01-27T03:03:40","guid":{"rendered":"https:\/\/wsj-crypto.com\/?p=7811"},"modified":"2025-01-27T04:03:40","modified_gmt":"2025-01-27T03:03:40","slug":"innovative-insights-a-progress-report-on-ef-backed-research-development-teams","status":"publish","type":"post","link":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/","title":{"rendered":"Innovative Insights: A Progress Report on EF-Backed Research &amp; Development Teams"},"content":{"rendered":"\n<div id=\"\">\n<p class=\"chakra-text css-gi02ar\">Comrades,<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Since the previous EF-Supported Teams update, advancements have been observed throughout. From enhanced network conditions to the upcoming Istanbul launch and the development of Eth1.x and Eth2, all critical areas fundamental to the functionality and longevity of Ethereum are progressing.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This edition emphasizes teams and initiatives from the Foundation and the broader Ethereum ecosystem that are striving to expand and enhance Ethereum as a whole. In this issue, we will discuss updates from several teams featured in <!-- --><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2019\/06\/21\/ef-supported-teams-development-report-2019-pt-1\">the prior report<!-- --><\/a>, fully endorsed projects that are integral components of the Ethereum ecosystem such as Eth2.0 Research, Geth, and Solidity, along with additional ecosystem initiatives.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Have fun!<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"aleth--c-ethereum\">Aleth \/ C++ Ethereum<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by Andrei Maiboroda<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The Aleth group was among those client teams developing the Istanbul upgrade for the Eth1.x chain, and <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/aleth\/releases\/tag\/v1.7.2\">Aleth 1.7.2<!-- --><\/a> has been released with complete support for Istanbul.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"evm--other-consensus\">EVM &amp; other consensus<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Key achievements for the evmone project:<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Following the initial launch of this experimental rapid EVM implementation, we concentrated on extracting even greater performance from it. The <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/evmone\/releases\/tag\/v0.2.0\">0.2.0<!-- --><\/a> version is approximately 66% quicker than its predecessor. Subsequently, the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/evmone\/releases\/tag\/v0.3.0\">0.3.0<!-- --><\/a> release extended evmone&#8217;s compatibility with the Istanbul specifications. For those intrigued by the concepts that evmone explores and for further details on optimizing EVM, please refer to the slides from the <!-- --><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> presentation at Devcon5, as well as the <!-- --><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\">Efficient gas calculation algorithm for EVM<!-- --><\/a> article.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The EVMC project (the cross-language API for EVM implementations) has undergone necessary updates incorporating support for Istanbul. All of this is included in the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/evmc\/releases\/tag\/v7.0.0\">EVMC 7.0.0<!-- --><\/a> release.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Several improvements have been made in the aleth-interpreter to eliminate unnecessary state access in the execution of certain opcodes. These deficiencies were identified thanks to the excellent EVM test suite provided by <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/evmone\">evmone project<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The aleth-interpreter has also transitioned from utilizing boost::multiprecision to the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/chfast\/intx\">intx library<!-- --><\/a>. This signifies a movement towards delivering the aleth-interpreter without a boost dependency, and it has also permitted us to conduct intriguing benchmarks to assess how inadequate the boost implementation of 256-bit integers was for our objectives.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Post-Istanbul, we chose to incorporate several proposed EIPs for the forthcoming hard fork (Berlin): <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-1380\">EIP-1380<!-- --><\/a> Reduced gas expenses for self-calls and <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-2046\">EIP-2046<!-- --><\/a> Reduced gas expenses for static calls made to pre-compiles. These implementations can now be activated in the testeth tool, details below.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"networking\">Networking<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We have integrated an optimization that has long been utilized by other mainnet clients: immediately disseminating new blocks to peers following the PoW check rather than awaiting full validation and execution. Furthermore, we established a maximum limit on the number of previously discarded transactions retained by the transaction pool (now set to 1024).<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The client version reported during devp2p handshake was rectified, thus enabling Aleth&#8217;s version to be accurately displayed on <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethernodes.org\/client\/aleth\">ethernodes<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"rpc\">RPC<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A series of corrections have been implemented to better align with the input\/output formats utilized in the RPC interfaces of other clients. Numerous methods have experienced a substantial performance enhancement due to a fix that removed unnecessary transaction re-executions. This may be evident in scenarios involving frequent RPC requests, such as when utilizing <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/retesteth\">retesteth<!-- --><\/a> with aleth.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"database\">Database<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Reconstructing the indices from the existing blocks database has been corrected and optimized, allowing for improved optimization and modification of the index database structure in the future.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"testeth-tool\">Testeth tool<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The structure of the consensus tests folder has been reorganized by the testing team, and testeth now accommodates it &#8211; all tests addressing fork rules prior to Istanbul are categorized in the LegacyTests suite.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">State tests can now be generated and executed using a string format like &#8220;ForkName+EIP_number&#8221; instead of a traditional fork name in the expect section. This facilitates anyone intending to prototype new EIPs in aleth to create tests for them before the EIP is validated for the fork &#8211; this is the fundamental concept behind the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/notes.ethereum.org\/@holiman\/S1ELAYY7S?type=view\">EIP-centric forking process<!-- --><\/a>, which is currently being embraced by the All Core Devs community. As an illustration of this mechanism, the two new EIPs mentioned earlier (EIP-2046 and EIP-1380) can be activated in testeth, and we&#8217;ve produced a few <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/tests\/commit\/b7dfd94d252714f53557260421e52eed8d76c0e2\">state<!-- --><\/a> <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/tests\/commit\/8bbbd484227684339ec64ed6a0083d0b137436c8\">tests<!-- --><\/a> to demonstrate this functionality.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We have also rectified and optimized the functionality of testeth to execute any custom test file (beyond the established consensus test structure) and enhanced its output to be more aligned with the EVM tool of go-ethereum. This enabled us to incorporate testeth into <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/holiman\/goevmlab\">goevmlab<!-- --><\/a> project, where aleth&#8217;s EVM implementation is now partaking in a cross-fuzzing initiative alongside three other prominent clients&#8217; EVMs.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Among other advancements:<!-- --><\/p>\n<p><!-- --><br \/>\n<!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"ecosystem-support-program\">Ecosystem Support Program<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by the ESP Team<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"taiwan-specific-grants\">Taiwan-Specific Grants<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We have recently <!-- --><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2019\/11\/14\/announcing-a-taiwan-specific-wave\">bestowed<!-- --><\/a> a series of five grants ranging from <!-- --><span class=\"math math-inline\"><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http:\/\/www.w3.org\/1998\/Math\/MathML\"><semantics><mrow><mn>2<!-- --><\/mn><mo separator=\"true\">,<!-- --><\/mo><mn>000<!-- --><\/mn><mo>\u2212<!-- --><\/mo><\/mrow><annotation encoding=\"application\/x-tex\">2,000-<!-- --><\/annotation><\/semantics><\/math><\/span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8389em;vertical-align:-0.1944em\"\/><span class=\"mord\">2<!-- --><\/span><span class=\"mpunct\">,<!-- --><\/span><span class=\"mspace\" style=\"margin-right:0.1667em\"\/><span class=\"mord\">000<!-- --><\/span><span class=\"mord\">\u2212<!-- --><\/span><\/span><\/span><\/span><\/span>5,000 at <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/crosslink.taipei\/\">Crosslink Taipei<!-- --><\/a>. This represents the latest in a series of locality-focused waves aimed at highlighting the contributions of communities globally.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"growing-non-financial-support\">Increasing Non-Financial Support<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We are persistently broadening our understanding of &#8220;support&#8221; for initiatives where a traditional grant may not be suitable. Some of the non-financial support we&#8217;ve offered includes rounds of feedback with expert advisors, linking teams working on similar projects, AWS credits, invitations to events, and other forms of assistance.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"website-improvements\">Enhancements to the Website<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Our newly revamped website <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/esp.ethereum.foundation\/\">https:\/\/Ecosystem.Support\/<!-- --><\/a> is evolving! We began modestly with a FAQ section and modifications to the homepage &#8211; we plan to follow this up with a grants showcase and a dedicated blog for regular updates.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We aim to ensure valuable skills are utilized, hence we&#8217;ve overhauled our inquiry forms to be somewhat more open-ended, featuring a <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/esp.ethereum.foundation\/explore\/\">designated pathway<!-- --><\/a> for individuals keen on contributing to the ecosystem but uncertain about their role. Feel free to explore and apply!<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"ewasm\">Ewasm<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Alex Beregszaszi and Paul Dworzanski<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Since the previous update, the focus of the Ewasm team has transitioned towards research on Eth 2.0, collaborating closely with other teams.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">As the launch of Eth 2.0 phase 0 approaches, the development of the phase 2 execution layer is actively ongoing, concurrently with the progression of phases 0 and 1. Multiple proposals have emerged concerning the architecture of phase 2. The Ewasm team has been working on refining designs through prototypes and benchmarks, building upon a minimal base in Scout.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"scout\">Scout<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/phase-2-execution-prototyping-engine-ewasm-scout\/5509\">Scout specification<!-- --><\/a> serves as a minimal interface for EEs (Execution Environments). This simplified interface is sufficient to prototype stateless EEs, which are necessary for validating the stateless model and informing the design of Ewasm and phase 2.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Scout comprises three implementations:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ewasm\/scout\">scout<!-- --><\/a> in Rust, crafted for rapid prototyping and collaboration (it employs a Wasm interpreter with profiling capabilities),<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ewasm\/scout.ts\">scout.ts<!-- --><\/a> in Typescript for swift prototyping and browser compatibility,<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">and <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ewasm\/scoutone\">ScoutOne<!-- --><\/a> in C++, optimized for performance and production use, to be embeddable by Eth 2.0 clients.<!-- --><\/p>\n<p><!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"execution-environments\">Execution Environments<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In contrast to the Eth 1 stateful model that suffers from known scaling challenges, Eth 2 is suggested to be stateless, where state is preserved off-chain, with only a hash representing the state remaining on-chain, alongside witnesses being included in transactions.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The stateless model brings forth new challenges. Prototypes and assessments are essential to confirm its feasibility.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The Ewasm team has devoted significant effort to prototyping and measuring stateless EEs, which we categorize as follows:<!-- --><\/p>\n<p><!-- --><\/p>\n<ol role=\"list\" class=\"css-13a5a39\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">An EE that must align with Eth 1 data structures and execution.<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">SMPT (Stateless Merkle Patricia Trie) utilizing RLP to serialize the witness and transaction data, employing the Eth1 signature scheme.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">An EVM implementation in Assemblyscript.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ewasm\/biturbo\">biturbo<!-- --><\/a> (formerly known as TurboToken), using Multiproof to more effectively encode witness data and also endorsing EVM execution.<!-- --><\/p>\n<p><!-- --><\/li>\n<\/ul>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Architectures that do not require backward compatibility.<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/poemm\/stateless_kmm_token\">KMM (Katajainen Makinen Merkle) Token<!-- --><\/a> EE that is enhanced for witness size and execution duration.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Groth16 verifier implementation to facilitate zk-SNARKs within Eth 2.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">STARK verifier implementation.<!-- --><\/p>\n<p><!-- --><\/li>\n<\/ul>\n<p><!-- --><\/li>\n<\/ol>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Significantly, the ongoing investigation into the relationship between Eth 1 and Eth 2 chains is noteworthy. To assist in the evaluation of the &#8220;switchover&#8221; proposal, which involves integrating Eth 1 into an EE on Eth 2, the Eth 1 EEs previously mentioned were prototyped. The team is also actively analyzing proposals that link the two networks and their consequences on EE architecture.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Our primary objective is to ensure a positive developer experience for both current and prospective DApps.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This EE initiative has been influencing the design of Scout and Eth 2.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"fast-cryptography\">Rapid Cryptography<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">For Ewasm to thrive, we need to perform expensive cryptographic operations on-chain. Fortunately, crypto frequently encounters runtime bottlenecks through bigint arithmetic. Initially, we benchmarked various implementations of cryptographic primitives to pinpoint bottlenecks. Subsequently, we created a rapid native bigint API to mitigate these issues. Finally, we enhanced the highly optimized <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/iden3\/websnark\">websnark<!-- --><\/a> library, in collaboration with its developers, to utilize this bigint API.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The outcomes are promising: with the bigint API integrated in interpreters, we are nearing native speeds for elliptic curve operations (!), which serve as fundamental components for various cryptographic tasks. We can now perform pairings at speeds close to native efficiency. This represents the most significant recent achievement of Ewasm.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">This effort has enabled the EE prototypes mentioned earlier to function within the performance limits of Eth 2.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"speed-metering-size\">Velocity, Metering, Size<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Ewasm encompasses numerous other endeavors concerning speed, metering (reducing metering runtime overhead and accurately approximating runtime), and bytecode size. From optimizing the Wasm engine to conducting metering analysis and bytecode transformations, the Ewasm team is diligently crafting the ideal execution system.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"tooling\">Tools<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We are consistently developing tooling for Ewasm.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Bindings for Eth 2 and bigint APIs are available for <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ewasm\/scout.ts\/tree\/master\/assembly\">Assemblyscript<!-- --><\/a> and <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ewasm\/ewasm-rust-api\">Rust<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In cases where Wasm bytecode needs enhancements, a versatile tool called <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/wasmx\/wasm-chisel\">chisel<!-- --><\/a> has been developed to facilitate various transformations (such as reducing bytecode size and modifying imports\/exports) necessary for both Ewasm and non-Ewasm applications.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"formal-verification\">Formal Validation<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by Leo Alt<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The newly established Formal Verification team is engaged in creating tools, assisting other Foundation teams with formal models and proofs, and collaborating with members of the Ethereum FV community.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Recently, efforts have primarily concentrated on:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Solidity&#8217;s SMTChecker, an unbounded model checking tool for Solidity smart contracts.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">KYul, Yul semantics represented in K. KYul further aids the Solidity compiler by generating bisimulation proofs for both optimized and non-optimized Yul code.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Spearheading the development of a smart contract specification language with support from various FV community members. This specification language is aimed at delineating contract properties and aspires to be straightforward and compatible with multiple FV tools.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Assisting the Eth2 research team and Runtime Verification in the verification efforts for the Beacon Chain.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Managing HEVM (together with Dapphub), a fully compliant Haskell EVM implementation.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Supporting the Testing team in expanding the coverage of Ethereum tests by addressing the gaps identified in various EVM implementations.<!-- --><\/p>\n<p><!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"geth\">Geth<!-- --><\/h2>\n<p><!-- --><\/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\">With the release of v1.9.0 in July, the Geth team has primarily focused on refining the existing code base; addressing any issues uncovered; and <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/go-ethereum\/releases\/tag\/v1.9.8\">preparing the client for the Istanbul hard fork<!-- --><\/a>. In addition to these maintenance modifications &#8211; amounting to 8 releases &#8211; the team has also been laying the foundation for new developments to come.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We have amassed a significant collection of 5 EIPs concerning ENRs (Ethereum Node Records) designed for networking and peer discovery. Utilizing these, Geth nodes have gradually been upgraded to broadcast considerably more information about themselves than prior protocols permitted (e.g., IPv4 and IPv6 addresses, Ethereum network affiliation, configured and applied forks, light server capabilities, etc.). The fork ID work has already been implemented atop the eth protocol, enabling Geth nodes to neatly partition the network between incompatible devices. These records are also indexed by a new discovery service accessible over DNS (not yet finalized), complicating eclipse attacks substantially and facilitating Ethereum functioning in environments where UDP is restricted (DNS over HTTPS).<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In terms of performance, we are advancing on multiple fronts. On one hand, we strive to lessen the burden on the network by enabling smarter propagation of transactions (and quite possibly blocks); meanwhile, we are developing a state snapshotter that can follow&#8230;the active chain serves as an acceleration framework for EVM execution as well as state synchronization. In the interim, we are developing various configuration avenues for Geth that will enable users to eliminate unnecessary portions of the database (without affecting network wellness), thereby conserving valuable SSD space. All these seem like encouraging trajectories, and we will disclose some metrics shortly.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A considerable effort has been dedicated to the light client infrastructure, allowing server operators to assign and oversee client priorities and resource allocations through the RPC API. Although long-term, light client incentivization is intended to function through the peer-to-peer protocol, the existing feature set already enables an operator to gather payments independently from Geth and align them with Geth&#8217;s internal bookkeeping. This should instantly empower anyone to establish a paid light server service (though it&#8217;s important to note that this is still in the prototype stage). Efforts are ongoing toward the complete P2P payment layer.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"javascript-team\">Javascript Team<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Contributors: Samuel Furter, Holger Drewes, Marc Garreau, Everton Fraga, Richard Moore<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">You may have already been informed, as it was no secret, but we will take this opportunity of the EF Dev Report to formally declare: <!-- --><strong>the EF has assembled a formidable new JavaScript team<!-- --><\/strong> which consolidates the following well-known projects under one umbrella:<!-- --><\/p>\n<p><!-- --><br \/>\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Members from these varied teams have commenced collaborating across project lines and to <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/js-organization\/issues\/1\">address interoperability challenges<!-- --><\/a> and we anticipate robust synergies to develop in the medium-term future. This initial quarter has been utilized for the new team to cultivate unity, foster trust, and establish essential organizational frameworks. Prepare to learn more in 2020 when we will unveil and implement a cohesive strategy and vision to amplify our influence supporting the Ethereum JavaScript\/TypeScript developer ecosystem (you are sincerely invited to <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/js-organization\">engage in the discussion<!-- --><\/a>). This endeavor will extend beyond the scope of the previous individual projects.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">However, the current initiatives will not be overlooked. We are very much cognizant of the need to nurture and advance tools that are widely utilized within the community. Thus, here are the respective updates to illuminate what has transpired within these projects during the last quarter.<!-- --><\/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\">We have rolled out several patches for <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/web3.js\">Web3.js<!-- --><\/a> since the previous EF blog announcement and transitioned to semantic versioning. These adjustments included TypeScript support, enhanced transaction signing features, added transaction confirmation workflow properties, introduced the long-awaited JSON-RPC method <!-- --><span class=\"chakra-text css-ons8vw\">getChainId<\/span>, incorporated the <!-- --><span class=\"chakra-text css-ons8vw\">connected<\/span> event into the subscriptions, expanded the provider interface with the method <!-- --><span class=\"chakra-text css-ons8vw\">supportsSubscription<\/span> and additional utility functions to utilize bloom filters.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">More specifics about the new features and enhancements can be found in our release notifications on <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/web3.js\/releases\">GitHub<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">At present, we are concentrating on minimizing the bundle size, enhancing performance, introducing reconnection for the <!-- --><span class=\"chakra-text css-ons8vw\">WebsocketProvider<\/span>, and refining the TypeScript developer experience.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In addition to all of these exciting enhancements, we&#8217;ve been fortunate to welcome <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/cgewecke\/\">Chris<!-- --><\/a> to the EF-JS Team. Chris is currently supporting <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/web3.js\">Web3.js<!-- --><\/a> development but will also be engaged in all other EF-JS packages.<!-- --><\/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\">We have been preparing <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethers-io\/ethers.js\/tree\/ethers-v5-beta\">v5<!-- --><\/a> for public use, and adoption has been consistently increasing. Many thanks to everyone experimenting with it and reporting issues.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The emphasis on v5 has been on enhancing extensibility and refining the API for framework developers, including a new framework, ethers-app, specifically aimed at dapp developers.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">With the decrease in new issues, we are anticipating the launch of v5 for production shortly, with only a few minor modifications in the pipeline and a couple of nodes remaining in the completely overhauled documentation.<!-- --><\/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\">Noteworthy developments on the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereumjs\">EthereumJS<!-- --><\/a> front include the releases of various components aimed at <!-- --><span class=\"chakra-text css-ons8vw\">Istanbul<\/span> support: the VM has received a significant <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-vm\/releases\/tag\/v4.1.0\">v4.1.0<!-- --><\/a> update in September and we are currently <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-vm\/pull\/607\">resolving<!-- --><\/a> the final bugs to ensure the VM&#8217;s full compliance with the official testing suite. Other relevant updates in the context of <!-- --><span class=\"chakra-text css-ons8vw\">Istanbul<\/span> include releases of the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-tx\/releases\/tag\/v2.1.1\">transaction<!-- --><\/a>, <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-block\/releases\/tag\/v2.2.1\">block<!-- --><\/a>, and <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-common\/releases\/tag\/v1.4.0\">common<!-- --><\/a> (hardfork and network logic) libraries.<!-- --><\/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\">Since the last EF blog update, numerous significant enhancements have been introduced to <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/grid.ethereum.org\/\">Ethereum Grid<!-- --><\/a>. The application now resides in your operating system&#8217;s taskbar, providing an intuitive interface to download, configure, and execute Ethereum clients and tools. The plugin system continues to undergo refinements with each new integration,but similarly thrilling are Grid Applications. Applications have been developed to test RPC functions, retrieve block information through Geth&#8217;s GraphQL implementation, authorize transactions with Clef, and much more. The team has been engaged in creating guides about the capabilities offered by Grid, which can be accessed on the <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/ethereum-grid\/\">Medium publication<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"python-ecosystem-pyevmtrinityweb3pyvyper\">Python Ecosystem [PyEVM\/Trinity\/Web3.py\/Vyper]<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written 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\">Recent efforts have been directed towards enhancing stability and updating documentation. The primary goal currently is to introduce asynchronous support for the library.<!-- --><\/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 progressing toward a beta launch that will feature the newly created &#8220;Beam Sync&#8221; (<!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/@jason.carver\/intro-to-beam-sync-a0fd168be14a\">https:\/\/medium.com\/@jason.carver\/intro-to-beam-sync-a0fd168be14a<!-- --><\/a>). We are also concentrating on teamwork with the larger community of client developers to address significant challenges such as state bloat and determining a transition strategy for Eth 1.x into the 2.0 ecosystem.<!-- --><\/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\">Our ongoing efforts are concentrated on ecosystem tools. The <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethpm-cli.readthedocs.io\/en\/latest\/\"><span class=\"chakra-text css-ons8vw\">ethpm-cli<\/span><\/a> continues to enhance, facilitating the installation of packages from diverse sources along with package creation and distribution.<!-- --><\/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\"><em class=\"chakra-text css-0\">Contributed by Yann Levreau<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">With regards to Remix, we have numerous updates to present. In recent months, our group has been engaged in:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Enhancing the Remix Plugin and collaborating with communities in various capacities &#8211; <!-- --><span class=\"chakra-text css-ons8vw\">@GrandSchtroumpf<\/span>.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Developing a WebSocket Plugin for Edi Sinovcic&#8217;s GitHub integration.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Assisting Quorum in the integration of their Remix plugins.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Collaborating with Waffle (Ethworks) on their plugins.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Working with the VSCode Ethereum group to incorporate the plugin engine as a VSCode extension.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Transitioning to fully decentralized loading of plugin resources (currently using IPFS).<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Remix libraries: <!-- --><span class=\"chakra-text css-ons8vw\">@Aniket<\/span> has recently joined the team to enhance, maintain, and advocate for the remix libraries repository <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/ethereum\/remix\">https:\/\/github.com\/ethereum\/remix<!-- --><\/a>. This involves critical contributions to remix-debug (transaction debugging), remix-tests, remix-solidity, remix-analyzer (new module added: warning for ether transfers in loops)<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Remix libraries: completing remix-simulator and increasing tests on remix-debug <!-- --><span class=\"chakra-text css-ons8vw\">@iurimatias<\/span><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Enhancing the IDE\u2019s file explorer to support folders and conventional features. Collaborating with Ethworks on new themes. Employing the Monaco editor. Adjusting compiler version according to the Solidity pragma &#8211; <!-- --><span class=\"chakra-text css-ons8vw\">@Lianahus @ryestew @Aniket @GrandSchtroumpf<\/span><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We announced Remix desktop here <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/remix-ide\/remix-desktop-8c1e9e946ee1\">https:\/\/medium.com\/remix-ide\/remix-desktop-8c1e9e946ee1<!-- --><\/a>, and we are currently finalizing it. Stay tuned for a release very soon! &#8211; <!-- --><span class=\"chakra-text css-ons8vw\">@yann300 @lianahus<\/span><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Remix Workshop is a plugin operating within the Remix plugin API.<!-- --><\/p>\n<p><!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">It enables the creation of tutorials, registration of tutorials, and provides an avenue for students and learners to actively engage with tutorials. The range of tutorials being developed is extensive (Solidity, Vyper, general Ethereum concepts, etc&#8230;). It really depends on the creators of the tutorials! The initial proof of concept was successful and we are progressing towards launching a first version with input and feedback from various teams in the community. &#8211;\u00a0 <!-- --><span class=\"chakra-text css-ons8vw\">@GrandSchtroumpf @ryestew<\/span><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Workshops and outreach beyond the community: one part of our mission is also to contribute to educational initiatives in various manners. We anticipate this will gain more significance in 2020. &#8211; <!-- --><span class=\"chakra-text css-ons8vw\">@ryestew @Aniket @GrandSchtroumpf @team<\/span><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Organizing workshops \/ meetups (ESCE, Consensys, Devcon, Dappcon).<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Engaging with organizations and individuals from beyond the community. Not necessarily to onboard them in a technical sense, but more to provide an initial understanding of blockchain, Ethereum, and beyond.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Practically developing a tool for that (see Remix workshop)<!-- --><\/p>\n<p><!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"research-cbc\">Research [CBC]<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Contributed by Aditya Asgaonkar<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">For the Casper CBC project team, our recent focus has been on:<!-- --><\/p>\n<p><!-- --><\/p>\n<ol role=\"list\" class=\"css-13a5a39\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Defining the minimal CBC Casper protocol along with validator strategies for liveness within a consolidated framework (termed Valid Labeled State transition &amp; Message production system, VLSM). A public document is currently in progress and will be shared shortly.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Formal verification of VLSM<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Utilizing CBC Casper components to enhance the Eth2.0 design, such as <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/ethresear.ch\/t\/cross-shard-messaging-system\/6201\">https:\/\/ethresear.ch\/t\/cross-shard-messaging-system\/6201<!-- --><\/a><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Community engagement initiatives like this AMA: <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/www.reddit.com\/r\/ethereum\/comments\/dsiz9j\/ama_we_are_the_cbc_casper_research_team\/\">https:\/\/www.reddit.com\/r\/ethereum\/comments\/dsiz9j\/ama_we_are_the_cbc_casper_research_team\/<!-- --><\/a><\/p>\n<p><!-- --><\/li>\n<\/ol>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Keep an eye out for more updates shortly!<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"research-plasma\">Research [Plasma]<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by Plasma Group<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Since May, we have been diligently engaged in advancing scaling technology. Four distinct teams within the ecosystem are developing the Generalized Plasma specification for various blockchains, including OmiseGO, Matic, Cryptoeconomics Lab, and Plasm. While many of our colleagues are focused on production payments, we have started exploring somewhat less examined domains for scaling, such as application development and overall composability. Progress in this area includes the Optimistic Virtual Machine &#8211; a universal dispute language for layer 2 constructions, along with our demonstration with Uniswap for Devcon5 &#8211; a scalable payments and exchange game available at <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/unipig.exchange\">Unipig Exchange<!-- --><\/a>. This game is built on an optimistic rollup chain &#8211; a concept that originated from discussions with Barry Whitehat &amp; Vitalik during the Scaling Ethereum conference in early June.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">As we conclude the year, we are gearing up to release a paper for the OVM, along with preparing more comprehensive documentation for Optimistic Rollup. Currently, those interested in learning about it can find a description on our blog detailing how to construct it for arbitrary smart contracts, accompanied by some preliminary documentation illustrating the transition from plasma to optimistic rollup at:<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Our Forum: <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/plasma.build\/t\/rollup-plasma-for-mass-exits-complex-disputes\/90\/1\">https:\/\/plasma.build\/t\/rollup-plasma-for-mass-exits-complex-disputes\/90\/1<!-- --><\/a><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">On Github: <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/gist.github.com\/karlfloersch\/1bf6ab7871f41e3a5a921c0a007ad5c6\">https:\/\/gist.github.com\/karlfloersch\/1bf6ab7871f41e3a5a921c0a007ad5c6<!-- --><\/a><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Plasma Call: <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/youtu.be\/5RpYoU6xD_M?t=1136\">https:\/\/youtu.be\/5RpYoU6xD_M?t=1136<!-- --><\/a><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"research-serenity--eth2\">Research [Serenity \/ Eth2]<!-- --><\/h2>\n<p><!-- --><\/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\">After Devcon5, Danny and the Eth2 research team initiated a weekly series of quick Eth2 updates, and recently a series centered around validating in Eth2. For the latest information and developments as we approach the commencement of Phase 0, refer to the links below, and remain tuned to the <!-- --><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/\">EF Blog<!-- --><\/a>!<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Overall, advancements are ongoing towards the Phase 0 testnets and mainnet launch. Phase 1 specifications and prototypes are progressing simultaneously, while Phase 2 continues active and productive R&amp;D efforts.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2019\/11\/27\/validated-staking-on-eth2-no-0\">Validated: Staking on Eth2 #0<!-- --><\/a> &#8211; 2019-11-27<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2019\/11\/21\/eth2-quick-update-no-4\">Eth2 Quick Update #4<!-- --><\/a> &#8211; 2019-11-21<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2019\/11\/08\/eth2-quick-update-no-3\">Eth2 Quick Update #3<!-- --><\/a> &#8211; 2019-11-08<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2019\/10\/31\/eth2-quick-update-no-2\">Eth2 Quick Update #2<!-- --><\/a> &#8211; 2019-10-31<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><a class=\"chakra-link css-ug8vf0\" href=\"https:\/\/blog.ethereum.org\/2019\/10\/23\/eth2-quick-update\">Eth2 Quick Update #1<!-- --><\/a> &#8211; 2019-10-23<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"security-security--consensus-tests\">Security [Security \/ Consensus Tests]<!-- --><\/h2>\n<p><!-- --><\/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\">In terms of security, there has been considerable activity concerning the Istanbul hard-fork. The previous python-based fuzzer (Evmlab) <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/github.com\/holiman\/goevmlab\">has been recreated in Go<!-- --><\/a>, and has been utilized to produce EIP-targeted fuzzers. These fuzzers have been employed to create test cases (exposing implementation errors in both Besu and Nethermind) and have been utilized to execute millions of test scenarios contrasting Geth and Parity &#8211; and as of late November, we also had Aleth and Nethermind VMs operating on the same fuzzer framework. Thus, we are currently conducting differential fuzzing with four EVMs!<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In addition, we are also executing libfuzzer-based fuzzers on Geth and Parity, a task spearheaded by <!-- --><span class=\"chakra-text css-ons8vw\">@cryptomental<\/span>.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Some time ago, it was revealed on the Bounty page that <!-- --><span class=\"math math-inline\"><span class=\"katex\"><span class=\"katex-mathml\"><math xmlns=\"http:\/\/www.w3.org\/1998\/Math\/MathML\"><semantics><mrow><mn>15<!-- --><\/mn><mi>K<!-- --><\/mi><mi>U<!-- --><\/mi><mi>S<!-- --><\/mi><mi>D<!-- --><\/mi><mi>w<!-- --><\/mi><mi>a<!-- --><\/mi><mi>s<!-- --><\/mi><mi>a<!-- --><\/mi><mi>l<!-- --><\/mi><mi>l<!-- --><\/mi><mi>o<!-- --><\/mi><mi>c<!-- --><\/mi><mi>a<!-- --><\/mi><mi>t<!-- --><\/mi><mi>e<!-- --><\/mi><mi>d<!-- --><\/mi><mi>t<!-- --><\/mi><mi>o<!-- --><\/mi><mi>w<!-- --><\/mi><mi>a<!-- --><\/mi><mi>r<!-- --><\/mi><mi>d<!-- --><\/mi><mi>s<!-- --><\/mi><mi>s<!-- --><\/mi><mi>e<!-- --><\/mi><mi>c<!-- --><\/mi><mi>u<!-- --><\/mi><mi>r<!-- --><\/mi><mi>i<!-- --><\/mi><mi>t<!-- --><\/mi><mi>y<!-- --><\/mi><mi>a<!-- --><\/mi><mi>u<!-- --><\/mi><mi>d<!-- --><\/mi><mi>i<!-- --><\/mi><mi>t<!-- --><\/mi><mi>s<!-- --><\/mi><mi>o<!-- --><\/mi><mi>f<!-- --><\/mi><mi>E<!-- --><\/mi><mi>I<!-- --><\/mi><mi>P<!-- --><\/mi><mi>s<!-- --><\/mi><mi mathvariant=\"normal\">.<!-- --><\/mi><mi>O<!-- --><\/mi><mi>u<!-- --><\/mi><mi>t<!-- --><\/mi><mi>o<!-- --><\/mi><mi>f<!-- --><\/mi><mi>t<!-- --><\/mi><mi>h<!-- --><\/mi><mi>i<!-- --><\/mi><mi>s<!-- --><\/mi><mo separator=\"true\">,<!-- --><\/mo><mi>w<!-- --><\/mi><mi>e<!-- --><\/mi><mi>h<!-- --><\/mi><mi>a<!-- --><\/mi><mi>v<!-- --><\/mi><mi>e<!-- --><\/mi><mi>a<!-- --><\/mi><mi>w<!-- --><\/mi><mi>a<!-- --><\/mi><mi>r<!-- --><\/mi><mi>d<!-- --><\/mi><mi>e<!-- --><\/mi><mi>d<!-- --><\/mi><\/mrow><annotation encoding=\"application\/x-tex\">15K USD was allocated towards security audits of EIPs. Out of this, we have awarded <!-- -->&#8220;`html\n<\/annotation><\/semantics><\/math><\/span><span class=\"katex-html\" aria-hidden=\"true\"><span class=\"base\"><span class=\"strut\" style=\"height:0.8889em;vertical-align:-0.1944em\"\/><span class=\"mord\">15<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.07153em\">K<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.10903em\">U<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.05764em\">S<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.02778em\">D<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.02691em\">w<!-- --><\/span><span class=\"mord mathnormal\">a<!-- --><\/span><span class=\"mord mathnormal\">s<!-- --><\/span><span class=\"mord mathnormal\">a<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.01968em\">ll<!-- --><\/span><span class=\"mord mathnormal\">oc<!-- --><\/span><span class=\"mord mathnormal\">a<!-- --><\/span><span class=\"mord mathnormal\">t<!-- --><\/span><span class=\"mord mathnormal\">e<!-- --><\/span><span class=\"mord mathnormal\">d<!-- --><\/span><span class=\"mord mathnormal\">t<!-- --><\/span><span class=\"mord mathnormal\">o<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.02691em\">w<!-- --><\/span><span class=\"mord mathnormal\">a<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.02778em\">r<!-- --><\/span><span class=\"mord mathnormal\">d<!-- --><\/span><span class=\"mord mathnormal\">ssec<!-- --><\/span><span class=\"mord mathnormal\">u<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.02778em\">r<!-- --><\/span><span class=\"mord mathnormal\">i<!-- --><\/span><span class=\"mord mathnormal\">t<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.03588em\">y<!-- --><\/span><span class=\"mord mathnormal\">a<!-- --><\/span><span class=\"mord mathnormal\">u<!-- --><\/span><span class=\"mord mathnormal\">d<!-- --><\/span><span class=\"mord mathnormal\">i<!-- --><\/span><span class=\"mord mathnormal\">t<!-- --><\/span><span class=\"mord mathnormal\">so<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.10764em\">f<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.05764em\">E<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.07847em\">I<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.13889em\">P<!-- --><\/span><span class=\"mord mathnormal\">s<!-- --><\/span><span class=\"mord\">.<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.02778em\">O<!-- --><\/span><span class=\"mord mathnormal\">u<!-- --><\/span><span class=\"mord mathnormal\">t<!-- --><\/span><span class=\"mord mathnormal\">o<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.10764em\">f<!-- --><\/span><span class=\"mord mathnormal\">t<!-- --><\/span><span class=\"mord mathnormal\">hi<!-- --><\/span><span class=\"mord mathnormal\">s<!-- --><\/span><span class=\"mpunct\">,<!-- --><\/span><span class=\"mspace\" style=\"margin-right:0.1667em\"\/><span class=\"mord mathnormal\" style=\"margin-right:0.02691em\">w<!-- --><\/span><span class=\"mord mathnormal\">e<!-- --><\/span><span class=\"mord mathnormal\">ha<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.03588em\">v<!-- --><\/span><span class=\"mord mathnormal\">e<!-- --><\/span><span class=\"mord mathnormal\">a<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.02691em\">w<!-- --><\/span><span class=\"mord mathnormal\">a<!-- --><\/span><span class=\"mord mathnormal\" style=\"margin-right:0.02778em\">r<!-- --><\/span><span class=\"mord mathnormal\">d<!-- --><\/span><span class=\"mord mathnormal\">e<!-- --><\/span><span class=\"mord mathnormal\">d<!-- --><\/span><\/span><\/span><\/span><\/span>5K each to Neville Gretch <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/contract-library.com\/\">contract-library.com<!-- --><\/a> and Hubert Ritzdorf (Chainsecurity) for their contribution in assessing the security ramifications of EIP-1884.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Numerous additional bounties have been given, the majority of which will be disclosed publicly shortly.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"solidity\">Solidity<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by Christian Reitwiessner<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The Solidity programming language and compiler persist in stabilizing and incorporating features requested by the community. These encompass capabilities to produce Solidity code for utilization in various adaptable formats, along with stability and security enhancements. The team is focused on a forthcoming 0.6.0 release, along with updates to the 0.5.x branch.<!-- --><\/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\">Solidity offers experimental preview output of webassembly code via the &#8211;ewasm switch. We have broadened most of the Yul optimizer stages to accommodate eWasm code, are developing the glue code that translates EVM-style Yul to eWasm-style Yul, and possess a functional prototype for eWasm binary code generation necessary to deploy contracts.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"solidity-060\">Solidity 0.6.0<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We are nearing completion with the implementation of breaking changes and aspire to release Solidity 0.6.0 later this year. Several of the new modifications consist of:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Explicit &#8220;virtual&#8221; and &#8220;override&#8221; keywords are required for overriding functions.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">ABIEncoderV2 is no longer classified as experimental.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A fallback function has been divided into a &#8220;receive ether&#8221; function and an actual &#8220;fallback&#8221; function.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Abstract contracts must (and can be) designated as &#8220;abstract&#8221;.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Structs and enums can now be defined at the file level.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Setting the length of a storage array arbitrarily is disallowed.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The push() function is supported to add new default-initialized elements to a dynamic storage array.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">An &#8220;leave&#8221; statement has been introduced to Yul \/ Inline Assembly to exit from the current function.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Support for multiple return values in NatSpec has been added.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Improved formatting for error messages in the command line.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Metadata hash defaults to IPFS, with the option to switch to Swarm or remove it.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Removal of &#8220;revert reason strings&#8221; from the binary is now permitted.<!-- --><\/p>\n<p><!-- --><\/li>\n<\/ul>\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 has acquired a new model-checking engine that accommodates loops and enables the verification of assertions considering an unbounded number of transactions. For further details about the modifications, click here: <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/@leonardoalt\/smtchecker-toward-completeness-1a99c02e0133\">https:\/\/medium.com\/@leonardoalt\/smtchecker-toward-completeness-1a99c02e0133<!-- --><\/a>.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We are presently engaged in facilitating function calls within the new engine, which<br \/>\n&#8220;`will facilitate multi-contract evaluation even when the invoked code remains undisclosed.<!-- --><\/p>\n<p><!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"yul-optimizer\">Yul Optimizer<!-- --><\/h3>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The Yul optimizer is now capable of considering the side-effect-free nature of user-defined functions, thus allowing optimization across such function invocations. It can eliminate unnecessary sload and mload calls and take into account conditional local values of variables.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Compiler Interface:<!-- --><\/p>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">If standard-json is utilized, the compiler generates bytecode exclusively for the chosen contract or halts after parsing and analysis if bytecode is not requested.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">The &#8211;error-recovery option can be employed to recuperate from most parser issues, enabling the creation of an AST even for invalid input.<!-- --><\/p>\n<p><!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In addition to the modifications mentioned earlier, we have integrated numerous minor bug fixes and features.<!-- --><\/p>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"state-channel-research\">State Channel Research<!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Composed by Liam Horne<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">In recent months, the Ethereum state channels research and development community has made significant strides.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Most thrillingly, state channels are operational on the mainnet. <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/medium.com\/connext\/connext-v2-0-is-on-mainnet-b818864d3687\">Connext<!-- --><\/a>, a micropayment platform leveraging our work, has been active in production since September 2019. The scalability and user experience improvements offered by state channels are now practical benefits for users. <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/daicard.io\/\">Go try it out!<!-- --><\/a><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Behind the scenes, research and development have been industrious over the past six months. This summer, the two main state channel research teams &#8211; Counterfactual and Magmo &#8211; merged their efforts into a single project and protocol called &#8220;StateChannels&#8221;. This collaboration has hastened our pace and simplified the experience for Ethereum&#8217;s application developers, who no longer need to consider which channel standards they intend to endorse.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">More specifically, in recent months we have:<!-- --><\/p>\n<p><!-- --><br \/>\n<!-- --><\/p>\n<h3 class=\"chakra-heading css-145upk7\" id=\"whats-next-for-state-channels\">What\u2019s next for state channels?<!-- --><\/h3>\n<p><!-- --><\/p>\n<ul role=\"list\" class=\"css-1onhfjo\">\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We are developing two demonstration applications, entirely built on the Client API, running in the browser through our reference hub.<!-- --><\/p>\n<p><!-- --><\/li>\n<li class=\"css-cvpopp\">\n<!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Onboarding new initiatives, attracting more contributors, and ensuring state channels remain exceptionally developer-friendly.<!-- --><\/p>\n<p><!-- --><\/li>\n<\/ul>\n<p><!-- --><\/p>\n<h2 class=\"chakra-heading css-1w54o5f\" id=\"zokrates\">ZoKrates <!-- --><\/h2>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Written by Jacob Eberhardt<!-- --><\/em><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">We are pleased to announce a major update regarding progress towards transforming ZoKrates into a robust yet intuitive toolkit for zkSNARKs on Ethereum.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Great news for ZoKrates developers: In-browser development of ZoKrates code is now available in <!-- --><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-ug8vf0\" href=\"https:\/\/remix.ethereum.org\/\">Remix<!-- --><\/a>. You can locate the ZoKrates plugin through the plugin manager in the left tab.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">A long-awaited feature has been a more sophisticated type system, and with our recent release, we delivered just that: ZoKrates now accommodates complex user-defined types in the form of structs and multi-dimensional arrays. To ensure seamless interaction with ZoKrates programs utilizing these new types externally, we have introduced a JSON-ABI, facilitating easy programmatic access.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">To enhance the readability of ZoKrates, we restructured our module system and modified the file extensions of ZoKrates source code files to <!-- --><span class=\"chakra-text css-ons8vw\">.zok<\/span>. Additionally, the internal parser re-implementation based on a formal DSL grammar &#8212;previously mentioned in our last update&#8212; has been successfully completed.<!-- --><\/p>\n<p><!-- --><\/p>\n<p class=\"chakra-text css-gi02ar\">Finally, further optimizations have been introduced in compiled programs to decrease both execution and proof generation duration. We presented these findings along with applications using ZoKrates at Devcon V in Osaka to educate the community!<!-- --><\/p>\n<\/div>\n<p><br \/>\n<br \/><a href=\"https:\/\/blog.ethereum.org\/en\/2019\/12\/03\/ef-supported-teams-research-and-development-update-2019-pt-2\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comrades, Since the previous EF-Supported Teams update, advancements have been observed throughout. From enhanced network conditions to the upcoming Istanbul launch and the development of Eth1.x and Eth2, all critical areas fundamental to the functionality and longevity of Ethereum are progressing. This edition emphasizes teams and initiatives from the Foundation and the broader Ethereum ecosystem<\/p>\n","protected":false},"author":3,"featured_media":6562,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[722],"class_list":["post-7811","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: A Progress Report on EF-Backed Research &amp; Development 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\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Innovative Insights: A Progress Report on EF-Backed Research &amp; Development Teams - WSJ-Crypto\" \/>\n<meta property=\"og:description\" content=\"Comrades, Since the previous EF-Supported Teams update, advancements have been observed throughout. From enhanced network conditions to the upcoming Istanbul launch and the development of Eth1.x and Eth2, all critical areas fundamental to the functionality and longevity of Ethereum are progressing. This edition emphasizes teams and initiatives from the Foundation and the broader Ethereum ecosystem\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/\" \/>\n<meta property=\"og:site_name\" content=\"WSJ-Crypto\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-27T03:03:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2024\/12\/devcon-lights-edit-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1042\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"23 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\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/\",\"url\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/\",\"name\":\"Innovative Insights: A Progress Report on EF-Backed Research &amp; Development Teams - WSJ-Crypto\",\"isPartOf\":{\"@id\":\"https:\/\/wsj-crypto.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2024\/12\/devcon-lights-edit-scaled.jpg\",\"datePublished\":\"2025-01-27T03:03:40+00:00\",\"author\":{\"@id\":\"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7\"},\"breadcrumb\":{\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/#primaryimage\",\"url\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2024\/12\/devcon-lights-edit-scaled.jpg\",\"contentUrl\":\"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2024\/12\/devcon-lights-edit-scaled.jpg\",\"width\":2560,\"height\":1042},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/wsj-crypto.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Innovative Insights: A Progress Report on EF-Backed Research &amp; Development 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: A Progress Report on EF-Backed Research &amp; Development 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\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/","og_locale":"it_IT","og_type":"article","og_title":"Innovative Insights: A Progress Report on EF-Backed Research &amp; Development Teams - WSJ-Crypto","og_description":"Comrades, Since the previous EF-Supported Teams update, advancements have been observed throughout. From enhanced network conditions to the upcoming Istanbul launch and the development of Eth1.x and Eth2, all critical areas fundamental to the functionality and longevity of Ethereum are progressing. This edition emphasizes teams and initiatives from the Foundation and the broader Ethereum ecosystem","og_url":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/","og_site_name":"WSJ-Crypto","article_published_time":"2025-01-27T03:03:40+00:00","og_image":[{"width":2560,"height":1042,"url":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2024\/12\/devcon-lights-edit-scaled.jpg","type":"image\/jpeg"}],"author":"wsjcrypto","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"wsjcrypto","Tempo di lettura stimato":"23 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/","url":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/","name":"Innovative Insights: A Progress Report on EF-Backed Research &amp; Development Teams - WSJ-Crypto","isPartOf":{"@id":"https:\/\/wsj-crypto.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/#primaryimage"},"image":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/#primaryimage"},"thumbnailUrl":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2024\/12\/devcon-lights-edit-scaled.jpg","datePublished":"2025-01-27T03:03:40+00:00","author":{"@id":"https:\/\/wsj-crypto.com\/#\/schema\/person\/88a93723b30416db1a352d5a0096c4a7"},"breadcrumb":{"@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/#primaryimage","url":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2024\/12\/devcon-lights-edit-scaled.jpg","contentUrl":"https:\/\/wsj-crypto.com\/wp-content\/uploads\/2024\/12\/devcon-lights-edit-scaled.jpg","width":2560,"height":1042},{"@type":"BreadcrumbList","@id":"https:\/\/wsj-crypto.com\/index.php\/2025\/01\/27\/innovative-insights-a-progress-report-on-ef-backed-research-development-teams\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wsj-crypto.com\/"},{"@type":"ListItem","position":2,"name":"Innovative Insights: A Progress Report on EF-Backed Research &amp; Development 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\/7811","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=7811"}],"version-history":[{"count":2,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/7811\/revisions"}],"predecessor-version":[{"id":7817,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/posts\/7811\/revisions\/7817"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/media\/6562"}],"wp:attachment":[{"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/media?parent=7811"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/categories?post=7811"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wsj-crypto.com\/index.php\/wp-json\/wp\/v2\/tags?post=7811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}