{"id":18403,"date":"2026-03-18T04:46:14","date_gmt":"2026-03-18T04:46:14","guid":{"rendered":"https:\/\/cryptoted.net\/index.php\/2026\/03\/18\/ef-supported-teams-research-development-update-4\/"},"modified":"2026-03-18T04:46:14","modified_gmt":"2026-03-18T04:46:14","slug":"ef-supported-teams-research-development-update-4","status":"publish","type":"post","link":"https:\/\/cryptoted.net\/index.php\/2026\/03\/18\/ef-supported-teams-research-development-update-4\/","title":{"rendered":"EF-Supported Teams: Research &#038; Development Update"},"content":{"rendered":"<p> <br \/>\n<br \/><img decoding=\"async\" src=\"https:\/\/blog.ethereum.org\/images\/posts\/devcon-lights-edit.jpg\" \/><\/p>\n<div id=\"\">\n<p class=\"chakra-text css-gi02ar\">Friends,<\/p>\n<p class=\"chakra-text css-gi02ar\">Since the last EF-Supported Teams report, progress has been made across the board. From improved network conditions, to the coming Istanbul release and Eth1.x and Eth2 development, all areas core to the functionality and sustainability of Ethereum are advancing.<\/p>\n<p class=\"chakra-text css-gi02ar\">This series focuses on teams and efforts from the Foundation and larger Ethereum ecosystem that are working to grow and improve Ethereum as a whole. In this edition, we&#8217;re covering updates from many teams highlighted in <a class=\"chakra-link css-vezwxf\" href=\"https:\/\/blog.ethereum.org\/2019\/06\/21\/ef-supported-teams-development-report-2019-pt-1\">the previous report<\/a>, fully supported projects that are core elements of the Ethereum ecosystem like Eth2.0 Research, Geth and Solidity, and other ecosystem efforts.<\/p>\n<p class=\"chakra-text css-gi02ar\">Enjoy!<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"aleth--c-ethereum\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"aleth  c ethereum permalink\" href=\"#aleth--c-ethereum\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Aleth \/ C++ Ethereum<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Andrei Maiboroda<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">The Aleth team was one of the client teams working on Istanbul upgrade to the Eth1.x chain, and <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/aleth\/releases\/tag\/v1.7.2\">Aleth 1.7.2<\/a> was released with full support for Istanbul.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"evm--other-consensus\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"evm  other consensus permalink\" href=\"#evm--other-consensus\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>EVM &amp; other consensus<\/h3>\n<p class=\"chakra-text css-gi02ar\">Important milestones for the evmone project:<\/p>\n<p class=\"chakra-text css-gi02ar\">After the initial release of this experimental fast EVM implementation, we focused on squeezing even more performance out of it. The <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/evmone\/releases\/tag\/v0.2.0\">0.2.0<\/a> release is ~66% faster than the previous one. Following this, the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/evmone\/releases\/tag\/v0.3.0\">0.3.0<\/a> release brought evmone to compatibility with the Istanbul spec. For those more interested in the concepts evmone tries to explore and for more information about optimizing EVM, please see the slides from the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/docs.google.com\/presentation\/d\/1MgXd159bmx37Q70Ng_ggHcClcYLafYqrxNEBFKAMqWI\">Optimization techniques for EVM implementations<\/a> Devcon5 presentation and the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" 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 class=\"chakra-text css-gi02ar\">The EVMC project (the cross-language API for EVM implementations) has received required updates with support for Istanbul. All this is packaged as the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/evmc\/releases\/tag\/v7.0.0\">EVMC 7.0.0<\/a> release.<\/p>\n<p class=\"chakra-text css-gi02ar\">There were a number of optimizations in the aleth-interpreter to get rid of unnecessary state access in the implementation of some opcodes. These inefficiencies become apparent thanks to the great EVM test suite provided by <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/evmone\">evmone project<\/a>.<\/p>\n<p class=\"chakra-text css-gi02ar\">The aleth-interpreter also switched from using boost::multiprecision to <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/chfast\/intx\">intx library<\/a>. This is a step towards shipping aleth-interpreter without boost dependency, but also allowed to do some interesting benchmarks to see how inefficient boost implementation of 256-bit integer was for our needs.<\/p>\n<p class=\"chakra-text css-gi02ar\">After Istanbul, we opted to implement a couple of EIPs proposed for the future hard fork (Berlin): <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-1380\">EIP-1380<\/a> Reduced gas cost for call to self and <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-2046\">EIP-2046<\/a> Reduced gas cost for static calls made to pre-compiles. These implementations now can be activated in the testeth tool, see below<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"networking\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"networking permalink\" href=\"#networking\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Networking<\/h3>\n<p class=\"chakra-text css-gi02ar\">We have implemented an optimization that has for a while been adopted by other mainnet clients: propagating new blocks to peers immediately after PoW check instead of waiting for a full validation and execution. We&#8217;ve also set a cap on the number of previously dropped transactions that are remembered by the transaction pool (now it&#8217;s 1024 such transactions).<\/p>\n<p class=\"chakra-text css-gi02ar\">The client version reported during devp2p handshake was fixed, and allowed Aleth&#8217;s version to be correctly shown on <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/ethernodes.org\/client\/aleth\">ethernodes<\/a>.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"rpc\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"rpc permalink\" href=\"#rpc\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>RPC<\/h3>\n<p class=\"chakra-text css-gi02ar\">We&#8217;ve made a number of fixes to better conform to input\/output formats used in RPC interfaces of other clients. Many methods got a significant performance boost thanks to a fix getting rid of unnecessary block transaction re-executions. This may be noticed in use cases with many frequent RPC requests, for example when using <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/retesteth\">retesteth<\/a> with aleth.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"database\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"database permalink\" href=\"#database\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Database<\/h3>\n<p class=\"chakra-text css-gi02ar\">Rebuilding the indices from existing blocks database was fixed and optimized, this will allow us to optimize and modify the layout of the index database in the future.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"testeth-tool\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"testeth tool permalink\" href=\"#testeth-tool\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Testeth tool<\/h3>\n<p class=\"chakra-text css-gi02ar\">Consensus tests folder structure was reorganized by the testing team, and testeth now supports it &#8211; all the tests covering fork rules before Istanbul are in LegacyTests suite.<\/p>\n<p class=\"chakra-text css-gi02ar\">State tests can now be generated and run with a string like &#8220;ForkName+EIP_number&#8221; in place of a regular fork name in expect section. This allows for anyone planning to prototype new EIPs in aleth to generate tests for them before EIP is accepted for the fork &#8211; this is the basic idea of the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/notes.ethereum.org\/@holiman\/S1ELAYY7S?type=view\">EIP-centric forking process<\/a>, being adopted currently by All Core Devs community. As an example of the mechanism, two new EIPS mentioned above (EIP-2046 and EIP-1380) can be activated in testeth, and we&#8217;ve created a couple of <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/tests\/commit\/b7dfd94d252714f53557260421e52eed8d76c0e2\">state<\/a> <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/tests\/commit\/8bbbd484227684339ec64ed6a0083d0b137436c8\">tests<\/a> to illustrate this feature.<\/p>\n<p class=\"chakra-text css-gi02ar\">We&#8217;ve also fixed and streamlined the feature of testeth to run any custom test file (outside of predefined consensus test structure) and made it&#8217;s output to be more conformant with the evm tool of go-ethereum. This allowed us to integrate testeth into <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/holiman\/goevmlab\">goevmlab<\/a> project, and now aleth&#8217;s EVM implementation is participating in cross-fuzzing effort alongside 3 other major clients&#8217; EVMs.<\/p>\n<p class=\"chakra-text css-gi02ar\">Among other improvements:<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"ecosystem-support-program\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"ecosystem support program permalink\" href=\"#ecosystem-support-program\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Ecosystem Support Program<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by ESP Team<\/em><\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"taiwan-specific-grants\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"taiwan specific grants permalink\" href=\"#taiwan-specific-grants\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Taiwan-Specific Grants<\/h3>\n<p class=\"chakra-text css-gi02ar\">We recently <a class=\"chakra-link css-vezwxf\" href=\"https:\/\/blog.ethereum.org\/2019\/11\/14\/announcing-a-taiwan-specific-wave\">awarded<\/a> a round of five grants of <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-vezwxf\" href=\"https:\/\/crosslink.taipei\/\">Crosslink Taipei<\/a>. This is the most recent in a series of local-specific waves intended to recognize the contributions of communities around the world.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"growing-non-financial-support\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"growing non financial support permalink\" href=\"#growing-non-financial-support\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Growing Non-Financial Support<\/h3>\n<p class=\"chakra-text css-gi02ar\">We&#8217;re continuing to expand our definition of &#8220;support&#8221; for projects where a regular grant is not the right fit. Some of the non-financial support we&#8217;ve provided is feedback rounds with expert advisors, connecting teams that are working on similar things, AWS credit, invitations to participate in events and more.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"website-improvements\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"website improvements permalink\" href=\"#website-improvements\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Website Improvements<\/h3>\n<p class=\"chakra-text css-gi02ar\">Our new website <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/esp.ethereum.foundation\/\">https:\/\/Ecosystem.Support\/<\/a> is growing! We&#8217;ve started small with a FAQ section and some changes to the front page &#8211; we&#8217;ll follow with a grants showcase and dedicated blog for regular updates.<\/p>\n<p class=\"chakra-text css-gi02ar\">We don&#8217;t want valuable skills going to waste, so we&#8217;ve revamped our inquiry forms to be a bit more open-ended, including a <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/esp.ethereum.foundation\/explore\/\">dedicated pathway<\/a> for people who are interested in contributing to the ecosystem but aren&#8217;t sure yet where they fit. Feel free to take a look around, and to apply!<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"ewasm\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"ewasm permalink\" href=\"#ewasm\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Ewasm<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Alex Beregszaszi and Paul Dworzanski<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">Since the last update, the Ewasm team&#8217;s focus has shifted towards research on Eth 2.0, working in close collaboration with other teams.<\/p>\n<p class=\"chakra-text css-gi02ar\">As the launch of Eth 2.0 phase 0 approaches, the phase 2 execution layer is under active development, in parallel with the development of phases 0 and 1. Multiple proposals have been made for the architecture of phase 2. The Ewasm team has been working on informing designs with prototypes and benchmarks, building upon a minimal foundation in Scout.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"scout\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"scout permalink\" href=\"#scout\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Scout<\/h3>\n<p class=\"chakra-text css-gi02ar\">The <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/ethresear.ch\/t\/phase-2-execution-prototyping-engine-ewasm-scout\/5509\">Scout specification<\/a> is a minimal interface for EEs (Execution Environments). This minimal interface is just enough to prototype stateless EEs, which are needed to validate the stateless model, and to inform the design of Ewasm and phase 2.<\/p>\n<p class=\"chakra-text css-gi02ar\">Scout has three implementations:<\/p>\n<ul role=\"list\" class=\"css-1ars4k6\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ewasm\/scout\">scout<\/a> in Rust, designed for rapid prototyping and collaboration (it uses a Wasm interpreter with support for profiling),<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ewasm\/scout.ts\">scout.ts<\/a> in Typescript for rapid prototyping and browser support,<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">and <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ewasm\/scoutone\">ScoutOne<\/a> in C++, designed for performance and production use, to be embeddable by Eth 2.0 clients.<\/p>\n<\/li>\n<\/ul>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"execution-environments\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"execution environments permalink\" href=\"#execution-environments\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Execution Environments<\/h3>\n<p class=\"chakra-text css-gi02ar\">Unlike the Eth 1 stateful model which has known scaling problems, Eth 2 is proposed to be stateless, where state is stored off-chain, and only a hash representing the state is stored on-chain, with witnesses passed as part of the transactions.<\/p>\n<p class=\"chakra-text css-gi02ar\">The stateless model presents new challenges. Prototypes and measurements are needed to validate its viability.<\/p>\n<p class=\"chakra-text css-gi02ar\">The Ewasm team has put great effort into prototyping and measuring stateless EEs, which we classify as follows:<\/p>\n<ol role=\"list\" class=\"css-vgl4zd\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">An EE which must be compatible with Eth 1 data structures and execution.<\/p>\n<ul role=\"list\" class=\"css-1ars4k6\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">SMPT (Stateless Merkle Patricia Trie) using RLP to serialise the witness and transaction data, and using the Eth1 signature scheme.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">An EVM implementation in Assemblyscript.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ewasm\/biturbo\">biturbo<\/a> (previously known as TurboToken), using Multiproof to more efficiently encode witness data and also supporting EVM execution.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Designs without the need for backwards compatibility.<\/p>\n<ul role=\"list\" class=\"css-1ars4k6\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\"><a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/poemm\/stateless_kmm_token\">KMM (Katajainen Makinen Merkle) Token<\/a> EE which is optimized for witness size and execution time.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Groth16 verifier implementation for supporting zk-SNARKs within Eth 2.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">STARK verifier implementation.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p class=\"chakra-text css-gi02ar\">Of notable interest is the active research in the interaction between the Eth 1 and Eth 2 chains. To aid the evaluation of the &#8220;switchover&#8221; proposal, where Eth 1 is moved into a EE on Eth 2, the Eth 1 EEs mentioned above were prototyped. The team is also actively evaluating proposals bridging the two networks, and their implications on EE design.<\/p>\n<p class=\"chakra-text css-gi02ar\">Our ultimate goal is to provide a good developer experience for existing and new DApps.<\/p>\n<p class=\"chakra-text css-gi02ar\">This EE work has been feeding back into the design of Scout and Eth 2.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"fast-cryptography\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"fast cryptography permalink\" href=\"#fast-cryptography\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Fast Cryptography<\/h3>\n<p class=\"chakra-text css-gi02ar\">For Ewasm to be successful, we must execute expensive crypto on-chain. Luckily, crypto often has runtime bottlenecks in bigint arithmetic. First we have benchmarked various implementations of cryptographic primitives to identify bottlenecks. Then we designed a fast native bigint API to address these bottlenecks. Finally we augmented the highly optimised <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/iden3\/websnark\">websnark<\/a> library, in collaboration of its creators, to call this bigint API.<\/p>\n<p class=\"chakra-text css-gi02ar\">The results are encouraging: with this bigint API implemented in interpreters, we approach native speeds on elliptic curve operations (!), which are building blocks for lots of crypto. We can now execute pairings at near-native speeds. This is the biggest recent success story of Ewasm.<\/p>\n<p class=\"chakra-text css-gi02ar\">This work has allowed the EE prototypes above to operate within the performance constraints of Eth 2.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"speed-metering-size\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"speed metering size permalink\" href=\"#speed-metering-size\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Speed, Metering, Size<\/h3>\n<p class=\"chakra-text css-gi02ar\">Ewasm has many other projects related to speed, metering (reducing metering runtime overhead and approximating runtime accurately), and bytecode size. From Wasm engine optimization, to metering analysis, to bytecode transformations, the Ewasm team is working hard to design the best execution system possible.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"tooling\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"tooling permalink\" href=\"#tooling\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Tooling<\/h3>\n<p class=\"chakra-text css-gi02ar\">We are continuously working on tooling for Ewasm.<\/p>\n<p class=\"chakra-text css-gi02ar\">Bindings for Eth 2 and bigint APIs are provided for <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ewasm\/scout.ts\/tree\/master\/assembly\">Assemblyscript<\/a> and <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ewasm\/ewasm-rust-api\">Rust<\/a>.<\/p>\n<p class=\"chakra-text css-gi02ar\">If a Wasm bytecode requires augmentation, an extensible tool named <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/wasmx\/wasm-chisel\">chisel<\/a> is developed to provide various transformations (such as bytecode size reduction and adjustments of imports\/exports) needed by both Ewasm and non-Ewasm use cases.<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"formal-verification\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"formal verification permalink\" href=\"#formal-verification\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Formal Verification<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Leo Alt<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">The new Formal Verification team is working on tools, supporting other Foundation teams with formal models and proofs, and combining efforts with members of the Ethereum FV community.<\/p>\n<p class=\"chakra-text css-gi02ar\">Specifically recent work has focused on:<\/p>\n<ul role=\"list\" class=\"css-1ars4k6\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Solidity&#8217;s SMTChecker, an unbounded model checker for Solidity smart contracts.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">KYul, Yul semantics in K. KYul is further used to support the Solidity compiler by computing bisimulation proofs for non optimized and optimized Yul code.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Leading the development of a smart contract specification language with support from various members of the FV community. The specification language, used to describe contract properties, aims at being simple and supported by many FV tools.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Supporting the Eth2 research team and Runtime Verification in the Beacon Chain verification efforts.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Maintaining HEVM (together with Dapphub), a fully compliant Haskell EVM implementation.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Supporting the Testing team extending the coverage of the Ethereum tests with the gaps discovered in different EVM implementations.<\/p>\n<\/li>\n<\/ul>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"geth\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"geth permalink\" href=\"#geth\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Geth<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by P\u00e9ter Szil\u00e1gyi<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">With the v1.9.0 release out in July, the Geth team has been mostly busy iterating on the existing code base; fixing anything issues discovered; and <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/go-ethereum\/releases\/tag\/v1.9.8\">prepping the client for the Istanbul hard fork<\/a>. Apart from these maintenance changes &#8211; totalling 8 releases &#8211; the team&#8217;s also been laying the groundwork for some new things to come.<\/p>\n<p class=\"chakra-text css-gi02ar\">We&#8217;ve built up a treasure trove of 5 EIPs revolving around ENRs (Ethereum Node Records) to be used in networking and peer discovery. With the help of these, Geth nodes have been gradually extended to advertise a lot more information about themselves than the existing protocols allowed (IPv4 and IPv6 addresses, Ethereum network affiliation, configured and applied forks, light server capabilities, etc). The fork id work has already been deployed on top of the eth protocol, permitting Geth nodes to cleanly partition the network between incompatible machines. The records are also being indexed by a new discovery service exposed over DNS (not yet finalized), which makes eclipse attacks exponentially harder and will permit Ethereum to run in environments where UDP is locked down (DNS over HTTPS).<\/p>\n<p class=\"chakra-text css-gi02ar\">Performance wise, we are working on multiple fronts. On one end of the spectrum, we are trying to reduce the load on the network by making transactions (and maybe even blocks) propagate smarter; whilst on the other end we are working on a state snapshotter that can follow the live chain and act as an acceleration structure for EVM execution as well state sync. In between, we are working on various configuration options for Geth that would permit users to discard parts of the database that are of no use for them (without impacting network health), saving precious SSD capacity. These are all promising paths and we&#8217;ll be sharing some numbers in the near future.<\/p>\n<p class=\"chakra-text css-gi02ar\">A significant amount of work went into the light client infrastructure too, permitting server operators to assign and manage client priorities and resource allowances via the RPC API. Whilst long term, light client incentivization is planned to work through the peer-to-peer protocol, the current feature set already permits an operator to gather payments outside of Geth and synchronize those with Geth&#8217;s internal accounting. This should immediately allow anyone to create a paid light server service (though be aware, that this is at a prototype phase). Work is currently being done towards the fully P2P payment layer.<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"javascript-team\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"javascript team permalink\" href=\"#javascript-team\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Javascript Team<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by: Samuel Furter, Holger Drewes, Marc Garreau, Everton Fraga, Richard Moore<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">You might have already heard, as it was no secret, but will take the occasion of this EF Dev Report to officially announce: <strong>the EF has formed a powerful new JavaScript team<\/strong> which brings together the following well-established projects under one roof:<\/p>\n<p class=\"chakra-text css-gi02ar\">People from these different teams have already started to contribute across project lines and to <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/js-organization\/issues\/1\">discuss interoperability issues<\/a> and we expect strong synergies to unfold in the mid-term future. We used this first quarter as a new team to grow together, build trust and set up necessary organizational structures. Expect to hear more in 2020 when we will present and execute on a coherent strategy and vision to maximize our impact to support the Ethereum JavaScript\/TypeScript developer ecosystem (you are very much invited to <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/js-organization\">join the discussion<\/a>). This will go beyond the reach of the former single projects.<\/p>\n<p class=\"chakra-text css-gi02ar\">The current projects will not be forgotten, however. We are very much aware that we have to care for and further develop on tools which are widely used within the community. So here are the respective updates to shine some light on what happened within these projects during the last quarter.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"web3js\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"web3js permalink\" href=\"#web3js\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Web3.js<\/h3>\n<p class=\"chakra-text css-gi02ar\">We have released multiple patches for <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/web3.js\">Web3.js<\/a> since the last EF blog post and switched over to semantic versioning. Those patches added TypeScript support, extended the transaction signing functionalities, added the transaction confirmation workflow properties, added the long-outstanding JSON-RPC method <span class=\"chakra-text css-ons8vw\">getChainId<\/span>, added the <span class=\"chakra-text css-ons8vw\">connected<\/span> event to the subscriptions, extended the provider interface with the method <span class=\"chakra-text css-ons8vw\">supportsSubscription<\/span> and additional utility functions to work with bloom filters.<\/p>\n<p class=\"chakra-text css-gi02ar\">Further details about the new features and improvements can be seen in our release announcements on <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/web3.js\/releases\">GitHub<\/a>.<\/p>\n<p class=\"chakra-text css-gi02ar\">Currently, we&#8217;re focused on reducing the bundle size, improving performance, adding reconnection for the <span class=\"chakra-text css-ons8vw\">WebsocketProvider<\/span>, and improving the TypeScript DX.<\/p>\n<p class=\"chakra-text css-gi02ar\">On top of all of these great improvements, we&#8217;ve also had the chance to welcome <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/cgewecke\/\">Chris<\/a> to the EF-JS Team. Chris currently supports <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/web3.js\">Web3.js<\/a> development, but will be involved in all other EF-JS packages as well.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"ethersjs\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"ethersjs permalink\" href=\"#ethersjs\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Ethers.js<\/h3>\n<p class=\"chakra-text css-gi02ar\">We&#8217;ve been getting <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethers-io\/ethers.js\/tree\/ethers-v5-beta\">v5<\/a> ready for public consumption, and adoption has been steadily growing. A huge thanks to everyone trying it out and reporting issues.<\/p>\n<p class=\"chakra-text css-gi02ar\">The focus on v5 has been adding extensibility and improving the API for framework developers, including a new framework, ethers-app, with a focus on dapp developers.<\/p>\n<p class=\"chakra-text css-gi02ar\">Since the number of new issues has dropped off, we expect to launch v5 to production quite soon, with just a few small changes in the pipeline and a couple of nodes left in the completely revamped documentation.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"ethereumjs\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"ethereumjs permalink\" href=\"#ethereumjs\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>EthereumJS<\/h3>\n<p class=\"chakra-text css-gi02ar\">Most noteworthy on the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereumjs\">EthereumJS<\/a> side are the releases of the different components targeting <span class=\"chakra-text css-ons8vw\">Istanbul<\/span> support: the VM has gotten a larger <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" 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-vezwxf\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-vm\/pull\/607\">ironing out<\/a> the last bugs to make the VM fully compliant with the official test suite. Other updates to be mentioned in the <span class=\"chakra-text css-ons8vw\">Istanbul<\/span> context are the releases on the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-tx\/releases\/tag\/v2.1.1\">transaction<\/a>, <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-block\/releases\/tag\/v2.2.1\">block<\/a> and <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereumjs\/ethereumjs-common\/releases\/tag\/v1.4.0\">common<\/a> (hardfork and network logic) libraries.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"grid\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"grid permalink\" href=\"#grid\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Grid<\/h3>\n<p class=\"chakra-text css-gi02ar\">Since the last EF blog post update, several major upgrades were made to <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/grid.ethereum.org\/\">Ethereum Grid<\/a>. The app now lives in your operating system taskbar and provides a simple UI to download, configure and run Ethereum clients and tools. The plugin system continues to be refined with each new integration, but equally exciting are Grid Apps. Apps have been made available for testing RPC methods, querying block data via Geth&#8217;s GraphQL implementation, signing transactions with Clef, and more. The team has been busy writing tutorials for what you can do using Grid, which you can find on the <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/medium.com\/ethereum-grid\/\">Medium publication<\/a>.<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"python-ecosystem-pyevmtrinityweb3pyvyper\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"python ecosystem pyevmtrinityweb3pyvyper permalink\" href=\"#python-ecosystem-pyevmtrinityweb3pyvyper\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Python Ecosystem [PyEVM\/Trinity\/Web3.py\/Vyper]<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Piper Merriam<\/em><\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"web3py\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"web3py permalink\" href=\"#web3py\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Web3.py<\/h3>\n<p class=\"chakra-text css-gi02ar\">Recent work has been towards improved stability and documentation. Current focus is on adding async support for the library.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"trinity\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"trinity permalink\" href=\"#trinity\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Trinity<\/h3>\n<p class=\"chakra-text css-gi02ar\">The Trinity client is working towards a beta release which would include the newly developed &#8220;Beam Sync&#8221; (<a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" 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 focusing on collaborative efforts with the broader ecosystem of client teams to try and tackle some of the larger problems like state bloat and figuring out a migration path for Eth 1.x into the 2.0 world.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"ethpm\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"ethpm permalink\" href=\"#ethpm\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>EthPM<\/h3>\n<p class=\"chakra-text css-gi02ar\">We continue to focus on ecosystem tooling.\u00a0The <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/ethpm-cli.readthedocs.io\/en\/latest\/\"><span class=\"chakra-text css-ons8vw\">ethpm-cli<\/span><\/a> continues to improve allowing installation of packages from various sources as well as constructing and publishing packages.<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"remix\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"remix permalink\" href=\"#remix\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Remix<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Yann Levreau<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">Regarding Remix, we have quite a lot of updates to share. In recent months, our team has been at work:<\/p>\n<ul role=\"list\" class=\"css-1ars4k6\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Improving Remix Plugin and working with the communities in various ways &#8211; <span class=\"chakra-text css-ons8vw\">@GrandSchtroumpf<\/span>.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Implementing a WebSocket Plugin for Edi Sinovcic&#8217;s github integration.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Help Quorum to integrate their Remix plugins.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Work with Waffle (Ethworks) on their plugins.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Work with the VSCode ethereum team to integrate the plugin engine as a VSCode extension.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Switch loading plugin resources to be fully decentralized (IPFS for the moment).<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Remix libraries: <span class=\"chakra-text css-ons8vw\">@Aniket<\/span> joined the team recently for improving, maintaining and promoting the remix libraries repository <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/ethereum\/remix\">https:\/\/github.com\/ethereum\/remix<\/a>. That includes the critical work in remix-debug (transaction debugging), remix-tests, remix-solidity, remix-analyzer (new module added: warning for ether transfer in loop)<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Remix libraries: finalizing remix-simulator and adding more tests to remix-debug <span class=\"chakra-text css-ons8vw\">@iurimatias<\/span><\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Improving the IDE&#8217;s file explorer for supporting folders and standard features. Working with Ethworks on new themes. Using the Monaco editor. Set compiler version according the Solidity pragma &#8211; <span class=\"chakra-text css-ons8vw\">@Lianahus @ryestew @Aniket @GrandSchtroumpf<\/span><\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">We introduced Remix desktop here <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/medium.com\/remix-ide\/remix-desktop-8c1e9e946ee1\">https:\/\/medium.com\/remix-ide\/remix-desktop-8c1e9e946ee1<\/a>, and we are now finalizing it. Keep an eye out for a release very soon! &#8211; <span class=\"chakra-text css-ons8vw\">@yann300 @lianahus<\/span><\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Remix Workshop is a plugin running within the Remix plugin API.<\/p>\n<\/li>\n<\/ul>\n<p class=\"chakra-text css-gi02ar\">It allows for creating tutorials, registering tutorials, and for students and learners to practically run tutorials. The scope of tutorials being made is very broad (Solidity, Vyper, general Etherum concept, etc&#8230;). It depends on the tutorials creators! The first POC was successful and we are now moving toward releasing a first version with the help of different teams from the community for receiving advice and feedback. &#8211;\u00a0 <span class=\"chakra-text css-ons8vw\">@GrandSchtroumpf @ryestew<\/span><\/p>\n<ul role=\"list\" class=\"css-1ars4k6\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Workshops and outreach beyond the community: one aspect of our work is also to contribute in the educational effort through various ways. We expect this to take more importance in 2020. &#8211; <span class=\"chakra-text css-ons8vw\">@ryestew @Aniket @GrandSchtroumpf @team<\/span><\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Organize workshops \/ meetups (ESCE, Consensys, Devcon, Dappcon).<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Meet with organisations and people from outside of the community. Not necessarily to onboard them technically, but more to give a first impression of what is blockchain, ethereum and more.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Practically build a tool for that (see Remix workshop)<\/p>\n<\/li>\n<\/ul>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"research-cbc\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"research cbc permalink\" href=\"#research-cbc\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Research [CBC]<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Aditya Asgaonkar<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">For the Casper CBC team, our focus as of late has been on:<\/p>\n<ol role=\"list\" class=\"css-vgl4zd\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Describing the minimal CBC Casper protocol along with validator strategies for liveness in a unified framework (named Valid Labeled State transition &amp; Message production system, VLSM). Public document is WIP, will be released soon.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Formal verification of VLSM<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Using CBC Casper elements to improve the Eth2.0 design, such as <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/ethresear.ch\/t\/cross-shard-messaging-system\/6201\">https:\/\/ethresear.ch\/t\/cross-shard-messaging-system\/6201<\/a><\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Community outreach efforts such as this AMA: <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" 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<\/li>\n<\/ol>\n<p class=\"chakra-text css-gi02ar\">Stay tuned for more soon!<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"research-plasma\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"research plasma permalink\" href=\"#research-plasma\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Research [Plasma]<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Plasma Group<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">Since May, we have been hard at work furthering advancements in scaling technology. There are 4 different teams in the ecosystem building out the Generalized Plasma spec for multiple blockchains, including OmiseGO, Matic, Cryptoeconomics Lab and Plasm. As many of our peers are working hard on production payments, we began to look into slightly less researched areas for scaling, such as application development and general composability. Developments on this front include the Optimistic Virtual Machine &#8211; a universal dispute language for layer2 constructions, as well as our demo with Uniswap for Devcon5 &#8211; a scalable payments and exchange game that can be found at <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/unipig.exchange\">Unipig Exchange<\/a>. The game is built on an optimistic rollup chain &#8211; a design which emerged from conversations with Barry Whitehat &amp; Vitalik at the Scaling Ethereum conference in early June.<\/p>\n<p class=\"chakra-text css-gi02ar\">As we wrap up the end of the year, we are preparing to push out a paper for the OVM, as well as writing up more in-depth documentation for Optimistic Rollup. For now, those who are interested in learning about it can find a description of it on our blog where we describe how to build it for arbitrary smart contracts, along with some early documentation outlining the path from plasma to optimistic rollup on:<\/p>\n<p class=\"chakra-text css-gi02ar\">Our Forum: <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" 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 class=\"chakra-text css-gi02ar\">On Github: <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/gist.github.com\/karlfloersch\/1bf6ab7871f41e3a5a921c0a007ad5c6\">https:\/\/gist.github.com\/karlfloersch\/1bf6ab7871f41e3a5a921c0a007ad5c6<\/a><\/p>\n<p class=\"chakra-text css-gi02ar\">Plasma Call: <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/youtu.be\/5RpYoU6xD_M?t=1136\">https:\/\/youtu.be\/5RpYoU6xD_M?t=1136<\/a><\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"research-serenity--eth2\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"research serenity  eth2 permalink\" href=\"#research-serenity--eth2\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Research [Serenity \/ Eth2]<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by EF Team<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">Following Devcon5, Danny and the Eth2 research team began work on a weekly series of Eth2 Quick Updates, and recently on a series focusing on validating in Eth2. For the latest news and progress as we draw nearer to the launch of Phase 0, see the links below, and stay tuned to the <a class=\"chakra-link css-vezwxf\" href=\"https:\/\/blog.ethereum.org\/\">EF Blog<\/a>!<\/p>\n<p class=\"chakra-text css-gi02ar\">In general, progress continues toward Phase 0 testnets and mainnet launch. Phase 1 specifications and prototypes move in parallel, while Phase 2 continues active and fruitful R&amp;D.<\/p>\n<p class=\"chakra-text css-gi02ar\"><a class=\"chakra-link css-vezwxf\" 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 class=\"chakra-text css-gi02ar\"><a class=\"chakra-link css-vezwxf\" 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 class=\"chakra-text css-gi02ar\"><a class=\"chakra-link css-vezwxf\" 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 class=\"chakra-text css-gi02ar\"><a class=\"chakra-link css-vezwxf\" 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 class=\"chakra-text css-gi02ar\"><a class=\"chakra-link css-vezwxf\" href=\"https:\/\/blog.ethereum.org\/2019\/10\/23\/eth2-quick-update\">Eth2 Quick Update #1<\/a> &#8211; 2019-10-23<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"security-security--consensus-tests\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"security security  consensus tests permalink\" href=\"#security-security--consensus-tests\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Security [Security \/ Consensus Tests]<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Martin Holst Swende<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">On the security side, there has been a lot of action regarding the Istanbul hard-fork. The old python-based fuzzer (Evmlab) <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/github.com\/holiman\/goevmlab\">has been rewritten in Go<\/a>, and has been used to create EIP-targeted fuzzers. These fuzzers have been used to generate test-cases (finding implementation flaws in both Besu and Nethermind) and used to run millions of test-cases comparing Geth and Parity &#8211; and as of late November, we also got Aleth and Nethermind VMs running on the same fuzzer framework. So we are now up to four EVMs doing differential fuzzing!<\/p>\n<p class=\"chakra-text css-gi02ar\">Meanwhile, we are also running libfuzzer-based fuzzers on Geth and Parity, an effort that is being led by <span class=\"chakra-text css-ons8vw\">@cryptomental<\/span>.<\/p>\n<p class=\"chakra-text css-gi02ar\">A while ago, it was announced 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 <\/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-vezwxf\" href=\"https:\/\/contract-library.com\/\">contract-library.com<\/a> and Hubert Ritzdorf (Chainsecurity) for their work helping to assess the security impact of EIP-1884.<\/p>\n<p class=\"chakra-text css-gi02ar\">Several other bounties have been awarded, most of which will be shared publicly soon.<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"solidity\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"solidity permalink\" href=\"#solidity\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Solidity<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Christian Reitwiessner<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">The Solidity language and compiler continues to stabilize and add features requested by the community. These include options to output Solidity code for use in a variety of flexible formats, stability and security changes. The team is working on a new 0.6.0 release as well as updates to the 0.5.x brach.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"webassembly\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"webassembly permalink\" href=\"#webassembly\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Webassembly<\/h3>\n<p class=\"chakra-text css-gi02ar\">Solidity supports experimental preview output of webassembly code using the &#8211;ewasm switch. We extended most of the Yul optimizer stages to cope with eWasm code, are working on the glue code that translates EVM-flavoured Yul to eWasm-flavoured Yul and have a working prototype for eWasm binary code generation which is needed to deploy contracts.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"solidity-060\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"solidity 060 permalink\" href=\"#solidity-060\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Solidity 0.6.0<\/h3>\n<p class=\"chakra-text css-gi02ar\">We are almost finished with implementing breaking changes and can hopefully release Solidity 0.6.0 later this year. Some of the new changes include:<\/p>\n<ul role=\"list\" class=\"css-1ars4k6\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Require explicit &#8220;virtual&#8221; and &#8220;override&#8221; keywords for overriding functions.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">ABIEncoderV2 is no longer experimental.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">A fallback function is split into a &#8220;receive ether&#8221; function and an actual &#8220;fallback&#8221; function.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Abstract contracts have to (and can be) marked &#8220;abstract&#8221;.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Structs and enums can be defined at file-level.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Disallow setting the length of a storage array arbitrarily.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Support push() to add new default-initialized element to dynamic storage array.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Add &#8220;leave&#8221; statement to Yul \/ Inline Assembly to return from current function.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Support multiple return values in NatSpec.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Better error message formatting on the commandline.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Metadata hash is now IPFS by default and can be switched to Swarm or removed.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">Allow &#8220;revert reason strings&#8221; to be removed from the binary.<\/p>\n<\/li>\n<\/ul>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"smt-checker\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"smt checker permalink\" href=\"#smt-checker\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>SMT Checker<\/h3>\n<p class=\"chakra-text css-gi02ar\">The SMTChecker has a new model-checking engine that supports loops and allows checking assertions considering an unbounded number of transactions. Read more information about the changes here: <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/medium.com\/@leonardoalt\/smtchecker-toward-completeness-1a99c02e0133\">https:\/\/medium.com\/@leonardoalt\/smtchecker-toward-completeness-1a99c02e0133<\/a>.<\/p>\n<p class=\"chakra-text css-gi02ar\">We are currently working on supporting function calls in the new engine, which will enable multi-contract analysis even when the called code is unknown.<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"yul-optimizer\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"yul optimizer permalink\" href=\"#yul-optimizer\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>Yul Optimizer<\/h3>\n<p class=\"chakra-text css-gi02ar\">The Yul optimizer can now take side-effect-free-ness of user-defined functions into account and thus optimize across such function calls. It is able to remove redundant sload and mload calls and can take conditional local values of variables into account.<\/p>\n<p class=\"chakra-text css-gi02ar\">Compiler Interface:<\/p>\n<ul role=\"list\" class=\"css-1ars4k6\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">If standard-json is used, the compiler only generates bytecode for the selected contract or stop after parsing and analysis if no bytecode is requested.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">The option &#8211;error-recovery can be used to recover from most parser errors so that you can create something like an AST also for invalid input.<\/p>\n<\/li>\n<\/ul>\n<p class=\"chakra-text css-gi02ar\">Apart from the changes listed above, we implemented numerous small bugfixes and features.<\/p>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"state-channel-research\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"state channel research permalink\" href=\"#state-channel-research\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>State Channel Research<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Liam Horne<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">Over the last several months Ethereum&#8217;s state channels R&amp;D community has made rapid progress.<\/p>\n<p class=\"chakra-text css-gi02ar\">Most excitingly, state channels are live on mainnet. <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/medium.com\/connext\/connext-v2-0-is-on-mainnet-b818864d3687\">Connext<\/a>, a micropayments service built on top of our work, has been live in production since September 2019. The scalability and UX enhancements brought by state channels are no longer theoretical, they&#8217;re benefiting users right now. <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/daicard.io\/\">Go try it out!<\/a><\/p>\n<p class=\"chakra-text css-gi02ar\">Behind the scenes, R&amp;D has been busy over the last 6 months. This summer, the two primary state channel research groups &#8211; Counterfactual and Magmo &#8211; unified their work into a single project and protocol, simply called &#8220;StateChannels&#8221;. This unification has allowed us to move at a faster rate, and also provide an easier experience for Ethereum&#8217;s application developers, who do not need to think about which channels standard they intend to support.<\/p>\n<p class=\"chakra-text css-gi02ar\">More specifically, over the last few months we have:<\/p>\n<h3 class=\"chakra-heading group css-xuzltg\" id=\"whats-next-for-state-channels\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"whats next for state channels permalink\" href=\"#whats-next-for-state-channels\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>What&#8217;s next for state channels?<\/h3>\n<ul role=\"list\" class=\"css-1ars4k6\">\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">We&#8217;re working on 2 demo applications, built entirely on top of the Client API and run in the browser through our reference hub.<\/p>\n<\/li>\n<li class=\"css-0\">\n<p class=\"chakra-text css-gi02ar\">On-boarding new projects, recruiting new contributors, and continuing to make state channels extremely developer friendly.<\/p>\n<\/li>\n<\/ul>\n<h2 class=\"chakra-heading group css-1kpzc4q\" id=\"zokrates\" data-group=\"true\"><a class=\"chakra-link css-128fqrf\" aria-label=\"zokrates permalink\" href=\"#zokrates\"><svg viewbox=\"0 0 24 24\" focusable=\"false\" class=\"chakra-icon css-173jpr1\"><g fill=\"currentColor\"><path d=\"M10.458,18.374,7.721,21.11a2.853,2.853,0,0,1-3.942,0l-.892-.891a2.787,2.787,0,0,1,0-3.941l5.8-5.8a2.789,2.789,0,0,1,3.942,0l.893.892A1,1,0,0,0,14.94,9.952l-.893-.892a4.791,4.791,0,0,0-6.771,0l-5.8,5.8a4.787,4.787,0,0,0,0,6.77l.892.891a4.785,4.785,0,0,0,6.771,0l2.736-2.735a1,1,0,1,0-1.414-1.415Z\"\/><path d=\"M22.526,2.363l-.892-.892a4.8,4.8,0,0,0-6.77,0l-2.905,2.9a1,1,0,0,0,1.414,1.414l2.9-2.9a2.79,2.79,0,0,1,3.941,0l.893.893a2.786,2.786,0,0,1,0,3.942l-5.8,5.8a2.769,2.769,0,0,1-1.971.817h0a2.766,2.766,0,0,1-1.969-.816,1,1,0,1,0-1.415,1.412,4.751,4.751,0,0,0,3.384,1.4h0a4.752,4.752,0,0,0,3.385-1.4l5.8-5.8a4.786,4.786,0,0,0,0-6.771Z\"\/><\/g><\/svg><\/a>ZoKrates\u00a0<\/h2>\n<p class=\"chakra-text css-gi02ar\"><em class=\"chakra-text css-0\">Authored by Jacob Eberhardt<\/em><\/p>\n<p class=\"chakra-text css-gi02ar\">We&#8217;re excited to share a significant new update on progress toward making ZoKrates a powerful, yet user-friendly toolkit for zkSNARKs on Ethereum.<\/p>\n<p class=\"chakra-text css-gi02ar\">Great news for ZoKrates developers: In-browser development of ZoKrates code is now supported in <a target=\"_blank\" rel=\"noopener\" class=\"chakra-link css-vezwxf\" href=\"https:\/\/remix.ethereum.org\/\">Remix<\/a>. You can find the ZoKrates plugin through the plugin manager in the left tab.<\/p>\n<p class=\"chakra-text css-gi02ar\">A long standing request was a richer type system, and with our last release, we shipped exactly that: ZoKrates now supports complex user-defined types in the form of structs as well as multi-dimensional arrays. To enable seamless interaction with ZoKrates programs using these new types from the outside world, we&#8217;ve added a JSON-ABI, which allows easy programmatic access.<\/p>\n<p class=\"chakra-text css-gi02ar\">In an effort to make ZoKrates more readable, we refactored our module system and changed file endings of ZoKrates source code files to <span class=\"chakra-text css-ons8vw\">.zok<\/span>. Internally, the parser re-implementation based on a formal DSL grammar &#8212;mentioned in our last update post&#8212; was completed successfully.<\/p>\n<p class=\"chakra-text css-gi02ar\">Finally, more optimizations were introduced on compiled programs to reduce execution and proof generation time. To educate the community, we presented these results as well as applications using ZoKrates at Devcon V in Osaka!<\/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>Friends, Since the last EF-Supported Teams report, progress has been made across the board. From improved network conditions, to the coming Istanbul release and Eth1.x and Eth2 development, all areas core to the functionality and sustainability of Ethereum are advancing. This series focuses on teams and efforts from the Foundation and larger Ethereum ecosystem that [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":18043,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[24],"tags":[],"kronos_expire_date":[],"class_list":["post-18403","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ethereum"],"_links":{"self":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts\/18403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/comments?post=18403"}],"version-history":[{"count":0,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/posts\/18403\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/media\/18043"}],"wp:attachment":[{"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/media?parent=18403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/categories?post=18403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/tags?post=18403"},{"taxonomy":"kronos_expire_date","embeddable":true,"href":"https:\/\/cryptoted.net\/index.php\/wp-json\/wp\/v2\/kronos_expire_date?post=18403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}