<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Consensys on Medium]]></title>
        <description><![CDATA[Stories by Consensys on Medium]]></description>
        <link>https://medium.com/@Consensys?source=rss-6c7078bf7b01------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*H3AHNe7BiDo7rqWzLD2L7g@2x.png</url>
            <title>Stories by Consensys on Medium</title>
            <link>https://medium.com/@Consensys?source=rss-6c7078bf7b01------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 13 Nov 2026 17:35:56 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@Consensys/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[MetaMask Mobile Now Available on Android and iOS!]]></title>
            <link>https://medium.com/metamask/metamask-mobile-now-available-on-android-and-ios-c03bf20d4e3b?source=rss-6c7078bf7b01------2</link>
            <guid isPermaLink="false">https://medium.com/p/c03bf20d4e3b</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[decentralization]]></category>
            <category><![CDATA[cryptocurrency]]></category>
            <category><![CDATA[dapps]]></category>
            <category><![CDATA[ethereum]]></category>
            <dc:creator><![CDATA[Consensys]]></dc:creator>
            <pubDate>Thu, 03 Sep 2020 22:01:01 GMT</pubDate>
            <atom:updated>2020-09-03T22:01:01.212Z</atom:updated>
            <content:encoded><![CDATA[<h4>Explore dapps, manage your digital assets, and more with MetaMask’s new mobile Ethereum wallet.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*XnOC5FRt9ekBSqCI.png" /></figure><p>Today, we’re excited to announce the launch of MetaMask Mobile! 🎉 Built with dApp discoverability in mind, MetaMask Mobile equips every smartphone user with the tools to explore and participate in Web3, securely. It’s free to <a href="https://metamask.app.link/bINSOVVki9">download</a> and available to all iPhone and Android users.</p><figure><a href="https://metamask.app.link/bINSOVVki9"><img alt="" src="https://cdn-images-1.medium.com/max/793/1*4PWg-mrV92UHxy7pDRRzdw.png" /></a></figure><p>The app offers all the stuff you’d expect from an Ethereum wallet-like trading tokens and managing your digital assets. But unlike standard wallets, you can also use MetaMask Mobile to browse Web3, discover new dApps and interact with them-from anywhere, anytime. You can take Web3 with you, wherever you go.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F-bk0Ibnk1As%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D-bk0Ibnk1As&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F-bk0Ibnk1As%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="854" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/2080fb383791c32181becec9238068f3/href">https://medium.com/media/2080fb383791c32181becec9238068f3/href</a></iframe><h3>Browse, Buy, Send, and Sign</h3><p>We’re excited to start serving our massive user base on mobile and we’re incredibly inspired by what this product could potentially do for the +2 billion people worldwide who can only access the Internet through a mobile phone. By enabling mobile access to Web3, we hope our app creates the opportunity for a whole new generation of smartphone users to access a more transparent and security-focused Internet.</p><h3>How to Get Started</h3><ul><li>Take out your smartphone and head to the App Store or Google Play to <a href="https://metamask.app.link/bINSOVVki9">download</a> MetaMask Mobile.</li><li>Open the app and MetaMask will step guide you through your account set up and wallet creation.</li><li>Already a MetaMask user? Setting up the app is just as smooth. Open and connect to Web3 in a matter of seconds.</li></ul><h3>For Beta Testers</h3><p>Testflight users currently using the beta version on iOS will continue to have access to it. However, to start using the <em>production </em>version of MetaMask Mobile, you’ll need to download the app from the Apple App Store and set up your wallet again using your wallet’s seed phrase or syncing with your MetaMask extension.</p><p>For Android users currently using the Open Beta version, the app will update seamlessly to the production version. If you have auto-updates enabled, there is no action required.</p><p>If you choose to leave the beta program, <strong>make sure you secure your wallet by saving your wallet seed phrase and the private keys for any imported accounts</strong>. Google Play Store may ask you to reinstall upon leaving the beta.</p><p>Here are a few how-to videos to help you manage your seed phrase and private keys:</p><ul><li><a href="https://youtu.be/77Tko8Rv_wA">Find your seed phrase</a></li><li><a href="https://youtu.be/O4aPV6s3LL0">Secure your wallet</a></li><li><a href="https://youtu.be/TD2qo2xWEYQ">Import account with private key</a></li></ul><h3>Want Web3 in Your Pocket?</h3><p>Discover new dapps, trade digital assets, and more from anywhere.</p><figure><a href="https://metamask.app.link/bINSOVVki9"><img alt="" src="https://cdn-images-1.medium.com/max/394/1*aVI36x_DvarwTRk3kz2t7A.png" /></a></figure><p><em>Originally published at </em><a href="https://consensys.net/blog/news/metamask-mobile-now-available-on-android-and-ios/"><em>https://consensys.net</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c03bf20d4e3b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/metamask/metamask-mobile-now-available-on-android-and-ios-c03bf20d4e3b">MetaMask Mobile Now Available on Android and iOS!</a> was originally published in <a href="https://medium.com/metamask">MetaMask</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[ConsenSys Acquires J.P. Morgan’s Quorum to Advance Enterprise Blockchain Adoption]]></title>
            <link>https://medium.com/consensys-media/consensys-acquires-j-p-morgans-quorum-to-advance-enterprise-blockchain-adoption-2e78b1af970?source=rss-6c7078bf7b01------2</link>
            <guid isPermaLink="false">https://medium.com/p/2e78b1af970</guid>
            <category><![CDATA[ethereum]]></category>
            <category><![CDATA[cryptocurrency]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[business]]></category>
            <dc:creator><![CDATA[Consensys]]></dc:creator>
            <pubDate>Wed, 26 Aug 2020 16:26:37 GMT</pubDate>
            <atom:updated>2020-08-26T16:26:37.619Z</atom:updated>
            <content:encoded><![CDATA[<h4>The JPM Quorum open source codebase will now be maintained by ConsenSys and made compatible with other enterprise products.</h4><figure><a href="https://consensys.net/quorum"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*o_MpZ7hF4FtVPRvd.png" /></a></figure><h3>What’s Happening</h3><p>On August 25th, 2020, JP Morgan and ConsenSys announced that the Quorum open source project would be acquired and managed by ConsenSys as part of a strategic investment by JPM.</p><p>The acquisition is a major step in the acceleration of enterprise adoption of blockchain technology and Ethereum-based solutions. By using Quorum with ConsenSys’ other enterprise product offerings, businesses can build highly customizable, secure, and performant solutions.</p><ul><li><a href="http://consensys.net/blog/press-release/consensys-acquires-quorum-platform-from-jp-morgan"><strong>Read the press release</strong></a></li><li><a href="http://consensys.net/quorum"><strong>Visit the new Quorum website</strong></a></li></ul><h3>What Is ConsenSys Quorum?</h3><p>With this announcement, ConsenSys is pleased to announce its new open source protocol offering, <a href="http://consensys.net/quorum">ConsenSys Quorum</a>. ConsenSys Quorum is an open source protocol layer that serves as a foundation for businesses to build public or private Ethereum-based enterprise solutions. ConsenSys Quorum is made up of four layers of open source codebase: client software, private transaction management, external transaction signing, and additional tooling.</p><figure><a href="http://consensys.net/quorum"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*mdLXezhd3DH2d00f.png" /></a></figure><p>For help with the implementation and maintenance of the open source layer, developers and businesses can request subscription-based support from <a href="http://consensys.net/quorum/support">ConsenSys Quorum Support</a>. Our support team consists of developers and expert contributors across all the open source projects under ConsenSys Quorum.</p><p>On top of the open source layer, developers and businesses can also deploy a range of <a href="http://consensys.net/quorum/products">institutional-grade product features</a> developed by ConsenSys to enable asset tokenization and management, payments, document management, workflow optimization, risk compliance, and more.</p><figure><a href="https://pages.consensys.net/introducing-consensys-quorum"><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*AaqegMDEhNZp1f8FzlHzzw.png" /></a><figcaption>Tune into our <a href="https://pages.consensys.net/introducing-consensys-quorum">upcoming webinar</a> on September 16th.</figcaption></figure><h3>What the Acquisition Means for Businesses and Developers</h3><p>The acquisition of Quorum by ConsenSys signals an important step in the ecosystem’s commitment to enterprise adoption and development. With Quorum, ConsenSys will expand its enterprise Ethereum offerings in three primary ways: 1) commitment to open source development, 2) aligned evolution and development for both private and public enterprise solutions, and 3) more robust production-grade features on top of open source codebases.</p><h4>Commitment to Open Source Development</h4><p>Under ConsenSys, ConsenSys Quorum will remain an open source codebase, available for anyone to begin building production-grade applications. <a href="http://consensys.net/quorum/developers">Robust documentation</a> will be maintained by the ConsenSys protocol engineering team. ConsenSys Quorum will continue ConsenSys’ long history of open source protocol development, particularly with the continued development of Hyperledger Besu, the mainnet-compatible Ethereum client.</p><p>ConsenSys also offers <a href="http://consensys.net/quorum/support">support subscriptions for ConsenSys Quorum</a> to accelerate time to market and provide confidence in production networks. The goal is to ensure the ability to build blockchain-based solutions remains permissionless, while also providing support services to accelerate adoption if needed.</p><h4>Private and Public Enterprise Solutions</h4><p>To date, ConsenSys has maintained Hyperledger Besu, a mainnet-compatible <a href="https://consensys.net/enterprise-ethereum/">Enterprise Ethereum</a> client. Under JPM, Quorum has supported many enterprise-grade solutions on private Ethereum-based networks. With the acquisition, ConsenSys Quorum will align the development of both private-permissioned and mainnet-compatible enterprise solutions, enabling a more complete and robust evolution of blockchain technology among businesses. In the near future, ConsenSys will work towards making GoQuorum interoperable with Hyperledger Besu, aligning with ConsenSys’ vision of enabling both private and public network use cases.</p><h4>Production-Grade Features and Services</h4><p>With the acquisition, ConsenSys will accelerate the development of a suite of products that run on the ConsenSys Quorum open source protocol layer. These product modules enable a configurable approach to enterprise applications, allowing businesses across industries to build highly customized solutions to fit specific needs. The intention of these product modules-paired with the open source nature of the ConsenSys Quorum codebases-is to open the doors to theoretically limitless business adoption.</p><p>Altogether, the acquisition of Quorum solidifies ConsenSys as the go-to source for enterprises seeking to learn more about, explore options for, and eventually build production-grade solutions that fit their business needs.</p><h3>A Detailed Look at ConsenSys Quorum: The Complete Open Source Blockchain Protocol Layer for Business</h3><p>With the announcement of the acquisition, ConsenSys Quorum developers will have a choice of two open source stacks to build on: Go-based GoQuorum or Java-based Hyperledger Besu.</p><p>The Go-based stack (previously known as “Quorum” under JPM) includes the GoQuorum client software, the Tessera private transaction manager, and the EthSigner private key manager. The Java-based Hyperledger Besu stack will consist of the same projects that are known and used by ConsenSys today, recategorized under ConsenSys Quorum. The Java-based stack includes the Hyperledger Besu client software, the Orion private transaction manager, and the EthSigner external transaction signer.</p><figure><a href="http://consensys.net/quorum/developers"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*HaghLYEGkEvAsUX5.png" /></a></figure><p>With the announcement of the acquisition, Hyperledger Besu, Orion, EthSigner will be bundled in the ConsenSys Quorum offering along with GoQuorum and Tessera. As mentioned above, ConsenSys Quorum will now give developers the option to choose between the Go-based GoQuorum or Java-based Hyperledger Besu stacks. In the near future, we will be adding additional functionality to Quorum, enhancing the developer experience and providing value-added functionality further up the stack.</p><p><strong>PegaSys Orchestrate</strong> will join the Codefi application suite as Codefi Orchestrate, a collection of core technical components for every enterprise blockchain solution. Codefi Orchestrate will include the expanded capabilities to accelerate the production of enterprise blockchain solutions, reduce development costs, and quicken time-to-market. It will connect a number of Codefi product modules and features with the Quorum open source protocol layer.</p><p><strong>PegaSys Plus</strong> will be replaced by ConsenSys Quorum Support, a subscription-based support service providing developers and businesses with on-demand support for the Quorum open source protocol projects. ConsenSys Quorum Support also offers plugins, which extend the Hyperledger Besu Ethereum client and provide functionality to address additional enterprise requirements.</p><p><strong>PegaSys Teku and R&amp;D </strong>won’t be going anywhere. In the coming months, they will live elsewhere within ConsenSys, but the work will continue uninterrupted. For the time being, they can still be found on the <a href="https://pegasys.tech/">PegaSys site.</a></p><h3>Evolving and Accelerating Enterprise Adoption With ConsenSys Quorum</h3><p>ConsenSys is building a suite of products that can be built on the ConsenSys Quorum open source protocol layer. These product modules enable businesses to build customizable solutions optimized for their specific industry needs. Among other features, these feature modules enable asset tokenization and management, payments, document management, workflow optimizatifon, and risk compliance.</p><p>The enterprise product modules are all compatible with the Quorum open source layer through <a href="http://codefi.consensys.net/orchestrate">Codefi Orchestrate</a>. Orchestrate enables businesses to build blockchain-powered applications by simplifying the development and connectivity of <a href="http://consensys.net/quorum/products">business applications with the Ethereum blockchain</a>.</p><figure><a href="http://consensys.net/quorum/products"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*95qLLsGwFF4YAEVE.png" /></a></figure><h3>How to Get Started With ConsenSys Quorum</h3><p>Everything you need to get started with Quorum as either a developer or a business can be found on the <a href="http://consensys.net/quorum">ConsenSys Quorum site</a>. Our <a href="http://consensys.net/quorum/developers">developer page</a> includes further information about the open source codebases and links to our documentation. <a href="http://consensys.net/quorum/products">Our product page</a> explains the product modules available on top of Quorum and contact information to begin building enterprise applications on top of Quorum. If you are an enterprise or developer looking for hands-on support, <a href="http://consensys.net/quorum/support">contact us here</a>.</p><h4>Join our community</h4><ul><li><a href="https://discord.gg/hYpHRjK">ConsenSys Quorum Discord</a></li><li><a href="http://twitter.com/ConsenSysQuorum">ConsenSys Quorum Twitter</a></li><li><a href="http://linkedin.com/showcase/consensys-quorum">ConsenSys Quorum LinkedIn</a></li><li><a href="https://bit.ly/34DxDAu">GoQuorum Slack</a></li><li><a href="http://chat.hyperledger.org/">Hyperledger Besu Rocketchat</a></li></ul><p><em>Originally published at </em><a href="https://consensys.net/blog/news/consensys-acquires-jpm-quorum/"><em>https://consensys.net</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2e78b1af970" width="1" height="1" alt=""><hr><p><a href="https://medium.com/consensys-media/consensys-acquires-j-p-morgans-quorum-to-advance-enterprise-blockchain-adoption-2e78b1af970">ConsenSys Acquires J.P. Morgan’s Quorum to Advance Enterprise Blockchain Adoption</a> was originally published in <a href="https://medium.com/consensys-media">ConsenSys Media</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Solidity Best Practices for Smart Contract Security]]></title>
            <link>https://medium.com/consensys-media/solidity-best-practices-for-smart-contract-security-54d309a622c2?source=rss-6c7078bf7b01------2</link>
            <guid isPermaLink="false">https://medium.com/p/54d309a622c2</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[smart-contracts]]></category>
            <category><![CDATA[solidity]]></category>
            <category><![CDATA[developer]]></category>
            <category><![CDATA[ethereum]]></category>
            <dc:creator><![CDATA[Consensys]]></dc:creator>
            <pubDate>Sat, 22 Aug 2020 16:01:01 GMT</pubDate>
            <atom:updated>2020-08-22T16:01:01.846Z</atom:updated>
            <content:encoded><![CDATA[<h4>From monitoring to timestamp considerations, here are some pro tips to ensure your Ethereum smart contracts are fortified.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*HbvPbLhiOfU-mw2L.jpg" /></figure><p><em>By </em><a href="https://diligence.consensys.net/"><em>ConsenSys Diligence</em></a><em>, our team of blockchain security experts.</em></p><p>If you’ve taken the <a href="https://consensys.net/blog/blockchain-development/the-smart-contract-security-mindset/">smart contract security mindset</a> to heart and are getting a handle on the <a href="https://consensys.net/blog/blockchain-development/ethereum-smart-contract-security-recommendations/">EVM’s idiosyncrasies</a>, it’s time to consider some security patterns that are specific to the Solidity programming language. In this roundup, we’ll focus on secure development recommendations for Solidity that may also be instructive for developing smart contracts in other languages.</p><p>Okay, let’s jump in.</p><h3>Use assert(), require(), revert() properly</h3><p>The convenience functions <strong>assert</strong> and <strong>require</strong> can be used to check for conditions and throw an exception if the condition is not met.</p><p>The <strong>assert</strong> function should only be used to test for internal errors, and to check invariants.</p><p>The <strong>require</strong> function should be used to ensure valid conditions, such as inputs, or contract state variables are met, or to validate return values from calls to external contracts.</p><p>Following this paradigm allows formal analysis tools to verify that the invalid opcode can never be reached: meaning no invariants in the code are violated and that the code is formally verified.</p><pre>pragma solidity ^0.5.0;<br><br>contract Sharer {<br>    function sendHalf(address payable addr) public payable returns (uint balance) {<br>        require(msg.value % 2 == 0, &quot;Even value required.&quot;); //Require() can have an optional message string<br>        uint balanceBeforeTransfer = address(this).balance;<br>        (bool success, ) = addr.call.value(msg.value / 2)(&quot;&quot;);<br>        require(success);<br>        // Since we reverted if the transfer failed, there should be<br>        // no way for us to still have half of the money.<br>        assert(address(this).balance == balanceBeforeTransfer - msg.value / 2); // used for internal error checking<br>        return address(this).balance;<br>    }<br>}</pre><p>See <a href="https://swcregistry.io/docs/SWC-110">SWC-110</a> &amp; <a href="https://swcregistry.io/docs/SWC-123">SWC-123</a></p><h3>Use modifiers only for checks</h3><p>The code inside a modifier is usually executed before the function body, so any state changes or external calls will violate the <a href="https://solidity.readthedocs.io/en/develop/security-considerations.html#use-the-checks-effects-interactions-pattern">Checks-Effects-Interactions</a> pattern. Moreover, these statements may also remain unnoticed by the developer, as the code for modifier may be far from the function declaration. For example, an external call in modifier can lead to the reentrancy attack:</p><pre>contract Registry {<br>    address owner;<br><br>    function isVoter(address _addr) external returns(bool) {<br>        // Code<br>    }<br>}<br><br>contract Election {<br>    Registry registry;<br><br>    modifier isEligible(address _addr) {<br>        require(registry.isVoter(_addr));<br>        _;<br>    }<br><br>    function vote() isEligible(msg.sender) public {<br>        // Code<br>    }<br>}</pre><p>In this case, the Registry contract can make a reentracy attack by calling Election.vote() inside isVoter().</p><p><strong>Note: </strong>Use <a href="https://solidity.readthedocs.io/en/develop/contracts.html#function-modifiers">modifiers</a> to replace duplicate condition checks in multiple functions, such as isOwner(), otherwise use require or revert inside the function. This makes your smart contract code more readable and easier to audit.</p><h3>Beware rounding with integer division</h3><p>All integer division rounds down to the nearest integer. If you need more precision, consider using a multiplier, or store both the numerator and denominator.</p><p>(In the future, Solidity will have a <a href="https://solidity.readthedocs.io/en/develop/types.html#fixed-point-numbers">fixed-point</a> type, which will make this easier.)</p><pre>// bad<br>uint x = 5 / 2; // Result is 2, all integer division rounds DOWN to the nearest integer</pre><p>Using a multiplier prevents rounding down, this multiplier needs to be accounted for when working with x in the future:</p><pre>// good<br>uint multiplier = 10;<br>uint x = (5 * multiplier) / 2;</pre><p>Storing the numerator and denominator means you can calculate the result of numerator/denominator off-chain:</p><pre>// good<br>uint numerator = 5;<br>uint denominator = 2;</pre><h3>Be aware of the tradeoffs between abstract contracts and interfaces</h3><p>Both interfaces and abstract contracts provide one with a customizable and re-usable approach for smart contracts. Interfaces, which were introduced in Solidity 0.4.11, are similar to abstract contracts but cannot have any functions implemented. Interfaces also have limitations such as not being able to access storage or inherit from other interfaces which generally makes abstract contracts more practical. Although, interfaces are certainly useful for designing contracts prior to implementation. Additionally, it is important to keep in mind that if a contract inherits from an abstract contract it must implement all non-implemented functions via overriding or it will be abstract as well.</p><h3>Fallback functions</h3><h4>Keep fallback functions simple</h4><p><a href="http://solidity.readthedocs.io/en/latest/contracts.html#fallback-function">Fallback functions</a> are called when a contract is sent a message with no arguments (or when no function matches), and only has access to 2,300 gas when called from a .send() or .transfer(). If you wish to be able to receive Ether from a .send() or .transfer(), the most you can do in a fallback function is log an event. Use a proper function if a computation of more gas is required.</p><pre>// bad<br>function() payable { balances[msg.sender] += msg.value; }<br><br>// good<br>function deposit() payable external { balances[msg.sender] += msg.value; }<br><br>function() payable { require(msg.data.length == 0); emit LogDepositReceived(msg.sender); }</pre><h4>Check data length in fallback functions</h4><p>Since the <a href="http://solidity.readthedocs.io/en/latest/contracts.html#fallback-function">fallback functions</a> is not only called for plain ether transfers (without data) but also when no other function matches, you should check that the data is empty if the fallback function is intended to be used only for the purpose of logging received Ether. Otherwise, callers will not notice if your contract is used incorrectly and functions that do not exist are called.</p><pre>// bad<br>function() payable { emit LogDepositReceived(msg.sender); }<br><br>// good<br>function() payable { require(msg.data.length == 0); emit LogDepositReceived(msg.sender); }</pre><h3>Explicitly mark payable functions and state variables</h3><p>Starting from Solidity 0.4.0, every function that is receiving ether must use payable modifier, otherwise if the transaction has msg.value &gt; 0 will revert ( <a href="https://consensys.github.io/smart-contract-best-practices/recommendations/#remember-that-ether-can-be-forcibly-sent-to-an-account">except when forced</a>).</p><p><strong>Note: </strong>Something that might not be obvious: The payable modifier only applies to calls from <em>external</em> contracts. If I call a non-payable function in the payable function in the same contract, the non-payable function won&#39;t fail, though msg.value is still set.</p><h3>Explicitly mark visibility in functions and state variables</h3><p>Explicitly label the visibility of functions and state variables. Functions can be specified as being external, public, internal or private. Please understand the differences between them, for example, external may be sufficient instead of public. For state variables, external is not possible. Labeling the visibility explicitly will make it easier to catch incorrect assumptions about who can call the function or access the variable.</p><ul><li>External functions are part of the contract interface. An external function f cannot be called internally (i.e. f() does not work, but this.f() works). External functions are sometimes more efficient when they receive large arrays of data.</li><li>Public functions are part of the contract interface and can be either called internally or via messages. For public state variables, an automatic getter function (see below) is generated.</li><li>Internal functions and state variables can only be accessed internally, without using this.</li><li>Private functions and state variables are only visible for the contract they are defined in and not in derived contracts. <strong>Note</strong>: Everything that is inside a contract is visible to all observers external to the blockchain, even Private variables.</li></ul><pre>// bad<br>uint x; // the default is internal for state variables, but it should be made explicit<br>function buy() { // the default is public<br>    // public code<br>}<br><br>// good<br>uint private y;<br>function buy() external {<br>    // only callable externally or using this.buy()<br>}<br><br>function utility() public {<br>    // callable externally, as well as internally: changing this code requires thinking about both cases.<br>}<br><br>function internalAction() internal {<br>    // internal code<br>}</pre><p>See <a href="https://swcregistry.io/docs/SWC-100">SWC-100</a> and <a href="https://swcregistry.io/docs/SWC-108">SWC-108</a></p><h3>Lock pragmas to specific compiler version</h3><p>Contracts should be deployed with the same compiler version and flags that they have been tested the most with. Locking the pragma helps ensure that contracts do not accidentally get deployed using, for example, the latest compiler which may have higher risks of undiscovered bugs. Contracts may also be deployed by others and the pragma indicates the compiler version intended by the original authors.</p><pre>// bad<br>pragma solidity ^0.4.4;<br><br><br>// good<br>pragma solidity 0.4.4;</pre><p>Note: a floating pragma version (ie. ^0.4.25) will compile fine with 0.4.26-nightly.2018.9.25, however nightly builds should never be used to compile code for production.</p><p><strong>Warning: </strong>Pragma statements can be allowed to float when a contract is intended for consumption by other developers, as in the case with contracts in a library or EthPM package. Otherwise, the developer would need to manually update the pragma in order to compile locally.</p><p>See <a href="https://swcregistry.io/docs/SWC-103">SWC-103</a></p><h3>Use events to monitor contract activity</h3><p>It can be useful to have a way to monitor the contract’s activity after it was deployed. One way to accomplish this is to look at all transactions of the contract, however that may be insufficient, as message calls between contracts are not recorded in the blockchain. Moreover, it shows only the input parameters, not the actual changes being made to the state. Also events could be used to trigger functions in the user interface.</p><pre>contract Charity {<br>    mapping(address =&gt; uint) balances;<br><br>    function donate() payable public {<br>        balances[msg.sender] += msg.value;<br>    }<br>}<br><br>contract Game {<br>    function buyCoins() payable public {<br>        // 5% goes to charity<br>        charity.donate.value(msg.value / 20)();<br>    }<br>}</pre><p>Here, Game contract will make an internal call to Charity.donate(). This transaction won&#39;t appear in the external transaction list of Charity, but only visible in the internal transactions.</p><p>An event is a convenient way to log something that happened in the contract. Events that were emitted stay in the blockchain along with the other contract data and they are available for future audit. Here is an improvement to the example above, using events to provide a history of the Charity’s donations.</p><pre>contract Charity {<br>    // define event<br>    event LogDonate(uint _amount);<br><br>    mapping(address =&gt; uint) balances;<br><br>    function donate() payable public {<br>        balances[msg.sender] += msg.value;<br>        // emit event<br>        emit LogDonate(msg.value);<br>    }<br>}<br><br>contract Game {<br>    function buyCoins() payable public {<br>        // 5% goes to charity<br>        charity.donate.value(msg.value / 20)();<br>    }<br>}</pre><p>Here, all transactions that go through the Charity contract, either directly or not, will show up in the event list of that contract along with the amount of donated money.</p><p><strong>Note: Prefer newer Solidity constructs</strong>. Prefer constructs/aliases such as selfdestruct (over suicide) and keccak256 (over sha3). Patterns like require(msg.sender.send(1 ether)) can also be simplified to using transfer(), as in msg.sender.transfer(1 ether). Check out <a href="https://github.com/ethereum/solidity/blob/develop/Changelog.md">Solidity Change log</a> for more similar changes.</p><h3>Be aware that “Built-ins” can be shadowed</h3><p>It is currently possible to <a href="https://en.wikipedia.org/wiki/Variable_shadowing">shadow</a> built-in globals in Solidity. This allows contracts to override the functionality of built-ins such as msg and revert(). Although this <a href="https://github.com/ethereum/solidity/issues/1249">is intended</a>, it can mislead users of a contract as to the contract&#39;s true behavior.</p><pre>contract PretendingToRevert {<br>    function revert() internal constant {}<br>}<br><br>contract ExampleContract is PretendingToRevert {<br>    function somethingBad() public {<br>        revert();<br>    }<br>}</pre><p>Contract users (and auditors) should be aware of the full smart contract source code of any application they intend to use.</p><h3>Avoid using tx.origin</h3><p>Never use tx.origin for authorization, another contract can have a method which will call your contract (where the user has some funds for instance) and your contract will authorize that transaction as your address is in tx.origin.</p><pre>contract MyContract {<br><br>    address owner;<br><br>    function MyContract() public {<br>        owner = msg.sender;<br>    }<br><br>    function sendTo(address receiver, uint amount) public {<br>        require(tx.origin == owner);<br>        (bool success, ) = receiver.call.value(amount)(&quot;&quot;);<br>        require(success);<br>    }<br><br>}<br><br>contract AttackingContract {<br><br>    MyContract myContract;<br>    address attacker;<br><br>    function AttackingContract(address myContractAddress) public {<br>        myContract = MyContract(myContractAddress);<br>        attacker = msg.sender;<br>    }<br><br>    function() public {<br>        myContract.sendTo(attacker, msg.sender.balance);<br>    }<br><br>}</pre><p>You should use msg.sender for authorization (if another contract calls your contract msg.sender will be the address of the contract and not the address of the user who called the contract).</p><p>You can read more about it here: <a href="https://solidity.readthedocs.io/en/develop/security-considerations.html#tx-origin">Solidity docs</a></p><p><strong>Warning: </strong>Besides the issue with authorization, there is a chance that tx.origin will be removed from the Ethereum protocol in the future, so code that uses tx.origin won&#39;t be compatible with future releases <a href="https://ethereum.stackexchange.com/questions/196/how-do-i-make-my-dapp-serenity-proof/200#200">Vitalik: &#39;Do NOT assume that tx.origin will continue to be usable or meaningful.&#39;</a></p><p>It’s also worth mentioning that by using tx.origin you&#39;re limiting interoperability between contracts because the contract that uses tx.origin cannot be used by another contract as a contract can&#39;t be the tx.origin.</p><p>See <a href="https://swcregistry.io/docs/SWC-115">SWC-115</a></p><h3>Timestamp dependence</h3><p>There are three main considerations when using a timestamp to execute a critical function in a contract, especially when actions involve fund transfer.</p><h4>Timestamp manipulation</h4><p>Be aware that the timestamp of the block can be manipulated by a miner. Consider this <a href="https://etherscan.io/address/0xcac337492149bdb66b088bf5914bedfbf78ccc18#code">contract</a>:</p><pre>uint256 constant private salt =  block.timestamp;<br><br>function random(uint Max) constant private returns (uint256 result){<br>    //get the best seed for randomness<br>    uint256 x = salt * 100/Max;<br>    uint256 y = salt * block.number/(salt % 5) ;<br>    uint256 seed = block.number/3 + (salt % 300) + Last_Payout + y;<br>    uint256 h = uint256(block.blockhash(seed));<br><br>    return uint256((h / x)) % Max + 1; //random number between 1 and Max<br>}</pre><p>When the contract uses the timestamp to seed a random number, the miner can actually post a timestamp within 15 seconds of the block being validated, effectively allowing the miner to precompute an option more favorable to their chances in the lottery. Timestamps are not random and should not be used in that context.</p><h3>The 15-second Rule</h3><p>The <a href="https://ethereum.github.io/yellowpaper/paper.pdf">Yellow Paper</a> (Ethereum’s reference specification) does not specify a constraint on how much blocks can drift in time, but <a href="https://ethereum.stackexchange.com/a/5926/46821">it does specify</a> that each timestamp should be bigger than the timestamp of its parent. Popular Ethereum protocol implementations <a href="https://github.com/ethereum/go-ethereum/blob/4e474c74dc2ac1d26b339c32064d0bac98775e77/consensus/ethash/consensus.go#L45">Geth</a> and <a href="https://github.com/paritytech/parity-ethereum/blob/73db5dda8c0109bb6bc1392624875078f973be14/ethcore/src/verification/verification.rs#L296-L307">Parity</a> both reject blocks with timestamp more than 15 seconds in future. Therefore, a good rule of thumb in evaluating timestamp usage is: if the scale of your time-dependent event can vary by 15 seconds and maintain integrity, it is safe to use a block.timestamp.</p><h4>Avoid using block.number as a timestamp</h4><p>It is possible to estimate a time delta using the block.number property and <a href="https://etherscan.io/chart/blocktime">average block time</a>, however this is not future proof as block times may change (such as <a href="https://blog.ethereum.org/2015/08/08/chain-reorganisation-depth-expectations/">fork reorganisations</a> and the <a href="https://github.com/ethereum/EIPs/issues/649">difficulty bomb</a>). In a sale spanning days, the 15-second rule allows one to achieve a more reliable estimate of time.</p><p>See <a href="https://swcregistry.io/docs/SWC-116">SWC-116</a></p><h3>Multiple inheritance caution</h3><p>When utilizing multiple inheritance in Solidity, it is important to understand how the compiler composes the inheritance graph.</p><pre>contract Final {<br>    uint public a;<br>    function Final(uint f) public {<br>        a = f;<br>    }<br>}<br><br>contract B is Final {<br>    int public fee;<br><br>    function B(uint f) Final(f) public {<br>    }<br>    function setFee() public {<br>        fee = 3;<br>    }<br>}<br><br>contract C is Final {<br>    int public fee;<br><br>    function C(uint f) Final(f) public {<br>    }<br>    function setFee() public {<br>        fee = 5;<br>    }<br>}<br><br>contract A is B, C {<br>  function A() public B(3) C(5) {<br>      setFee();<br>  }<br>}</pre><p>When a contract is deployed, the compiler will <em>linearize</em> the inheritance from right to left (after the keyword <em>is</em> the parents are listed from the most base-like to the most derived). Here is contract A’s linearization:</p><p><strong>Final &lt;- B &lt;- C &lt;- A</strong></p><p>The consequence of the linearization will yield a fee value of 5, since C is the most derived contract. This may seem obvious, but imagine scenarios where C is able to shadow crucial functions, reorder boolean clauses, and cause the developer to write exploitable contracts. Static analysis currently does not raise issue with overshadowed functions, so it must be manually inspected.</p><p>For more on security and inheritance, check out this <a href="https://pdaian.com/blog/solidity-anti-patterns-fun-with-inheritance-dag-abuse/">article</a></p><p>To help contribute, Solidity’s Github has a <a href="https://github.com/ethereum/solidity/projects/9#card-8027020">project</a> with all inheritance-related issues.</p><p>See <a href="https://swcregistry.io/docs/SWC-125">SWC-125</a></p><h3>Use interface type instead of the address for type safety</h3><p>When a function takes a contract address as an argument, it is better to pass an interface or contract type rather than raw address. If the function is called elsewhere within the source code, the compiler it will provide additional type safety guarantees.</p><p>Here we see two alternatives:</p><pre>contract Validator {<br>    function validate(uint) external returns(bool);<br>}<br><br>contract TypeSafeAuction {<br>    // good<br>    function validateBet(Validator _validator, uint _value) internal returns(bool) {<br>        bool valid = _validator.validate(_value);<br>        return valid;<br>    }<br>}<br><br>contract TypeUnsafeAuction {<br>    // bad<br>    function validateBet(address _addr, uint _value) internal returns(bool) {<br>        Validator validator = Validator(_addr);<br>        bool valid = validator.validate(_value);<br>        return valid;<br>    }<br>}</pre><p>The benefits of using the TypeSafeAuction contract above can then be seen from the following example. If validateBet() is called with an address argument, or a contract type other than Validator, the compiler will throw this error:</p><pre>contract NonValidator{}<br><br>contract Auction is TypeSafeAuction {<br>    NonValidator nonValidator;<br><br>    function bet(uint _value) {<br>        bool valid = validateBet(nonValidator, _value); // TypeError: Invalid type for argument in function call.<br>                                                        // Invalid implicit conversion from contract NonValidator<br>                                                        // to contract Validator requested.<br>    }<br>}</pre><h3>Avoid using extcodesize to check for externally owned accounts</h3><p>The following modifier (or a similar check) is often used to verify whether a call was made from an externally owned account (EOA) or a contract account:</p><pre>modifier isNotContract(address _a) { uint size; assembly { size := // bad<br>modifier isNotContract(address _a) {<br>  uint size;<br>  assembly {<br>    size := extcodesize(_a)<br>  }<br>    require(size == 0);<br>     _;<br>}</pre><p>The idea is straight forward: if an address contains code, it’s not an EOA but a contract account. However, <strong>a contract does not have source code available during construction</strong>. This means that while the constructor is running, it can make calls to other contracts, but extcodesize for its address returns zero. Below is a minimal example that shows how this check can be circumvented:</p><pre>contract OnlyForEOA {    <br>    uint public flag;<br><br>    // bad<br>    modifier isNotContract(address _a){<br>        uint len;<br>        assembly { len := extcodesize(_a) }<br>        require(len == 0);<br>        _;<br>    }<br><br>    function setFlag(uint i) public isNotContract(msg.sender){<br>        flag = i;<br>    }<br>}<br><br>contract FakeEOA {<br>    constructor(address _a) public {<br>        OnlyForEOA c = OnlyForEOA(_a);<br>        c.setFlag(1);<br>    }<br>}</pre><p>Because contract addresses can be pre-computed, this check could also fail if it checks an address which is empty at block n, but which has a contract deployed to it at some block greater than n.</p><p><strong>Warning: </strong>This issue is nuanced. If your goal is to prevent other contracts from being able to call your contract, the extcodesize check is probably sufficient. An alternative approach is to check the value of (tx.origin == msg.sender), though this also <a href="https://consensys.github.io/smart-contract-best-practices/recommendations/#avoid-using-txorigin">has drawbacks</a>.</p><p>There may be other situations in which the extcodesize check serves your purpose. Describing all of them here is out of scope. Understand the underlying behaviors of the EVM and use your judgement.</p><h3><strong>More on this topic:</strong></h3><ul><li><a href="https://consensys.net/blog/blockchain-development/the-smart-contract-security-mindset/">The Smart Contract Security Mindset</a></li><li><a href="https://consensys.net/blog/blockchain-development/ethereum-smart-contract-security-recommendations/">Ethereum Smart Contract Security Recommendations</a></li></ul><p><em>Originally published at </em><a href="https://consensys.net/blog/blockchain-development/solidity-best-practices-for-smart-contract-security/"><em>https://consensys.net</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=54d309a622c2" width="1" height="1" alt=""><hr><p><a href="https://medium.com/consensys-media/solidity-best-practices-for-smart-contract-security-54d309a622c2">Solidity Best Practices for Smart Contract Security</a> was originally published in <a href="https://medium.com/consensys-media">ConsenSys Media</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Formally Verifying the Ethereum 2.0 Phase 0 Specifications]]></title>
            <link>https://medium.com/consensys-media/formally-verifying-the-ethereum-2-0-phase-0-specifications-f7be0c179262?source=rss-6c7078bf7b01------2</link>
            <guid isPermaLink="false">https://medium.com/p/f7be0c179262</guid>
            <category><![CDATA[security]]></category>
            <category><![CDATA[research-and-development]]></category>
            <category><![CDATA[ethereum]]></category>
            <category><![CDATA[cryptocurrency]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[Consensys]]></dc:creator>
            <pubDate>Wed, 12 Aug 2020 15:14:29 GMT</pubDate>
            <atom:updated>2020-08-12T15:14:29.365Z</atom:updated>
            <content:encoded><![CDATA[<h4>An update from ConsenSys R&amp;D on their effort to bring trustworthiness to the Beacon Chain and the core foundations of Eth2.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*BK0GxIaYkvjKoY5_.jpg" /></figure><p>The Automated Verification team on ConsenSys R&amp;D have been working on a formal specification and verification of the <a href="https://consensys.net/blog/blockchain-development/the-ethereum-2-0-beacon-chain-explained/">Beacon Chain</a> for a few months. We are happy to report that lots of progress has been made and although not complete yet, we have managed to develop <a href="https://github.com/PegaSysEng/eth2.0-dafny">a solid and formally verified kernel of the Beacon Chain</a>. For the first time, our work provides an unmatched level of trustworthiness to the core foundations of the <a href="https://consensys.net/blog/blockchain-explained/what-is-ethereum-2/">Ethereum 2.0</a> infrastructure.</p><h3>Methodology</h3><h4>Verification vs. Testing</h4><p>We used the <a href="https://aws.amazon.com/blogs/security/aws-security-profile-rustan-leino-senior-principal-applied-scientist/">award-winning</a> verification-aware programming language <a href="https://github.com/dafny-lang/dafny">Dafny</a> to write a (functional and logical) <strong><em>specification</em></strong> of each Beacon Chain function, an <strong><em>implementation</em></strong> of each function, and a that the implementation conforms to its specification. In other words, we have mathematically verified the absence of bugs. The implementations that we have eventually proved correct are based on <a href="https://github.com/ethereum/eth2.0-specs">the official Eth2.0 specifications</a> with the caveat that we have fixed and reported some bugs and inconsistencies.</p><p>Our methodology is different to testing as we <strong>mathematically prove</strong> conformance of the functions to their specifications, for inputs. Testing cannot range over infinitely many inputs, and as a consequence can discover bugs but not prove the absence of bugs.</p><p>And the best thing is that we do not need to publish a paper nor to review the proofs. The proofs are part of the code base and written as programs. Yes, in Dafny, you can write a proof as a developer-friendly program. Also, the <strong><em>proofs are mechanically checked</em></strong> by a theorem prover, leaving no room for incomplete or flawed proofs.</p><h4>Properties We Have Proved</h4><p>The properties range from the absence of <a href="https://github.com/PegaSysEng/eth2.0-dafny/blob/45a591d179664250ff42fb9afc5523f3a2e1f623/src/dafny/beacon/StateTransition.dfy#L419">arithmetic under/overflows</a> and <a href="https://github.com/PegaSysEng/eth2.0-dafny/blob/45a591d179664250ff42fb9afc5523f3a2e1f623/src/dafny/beacon/ForkChoice.dfy#L353">index out of bounds</a>, the conformance of each function to logical (first-order logic) pre/post-conditions ( <a href="https://github.com/PegaSysEng/eth2.0-dafny/blob/45a591d179664250ff42fb9afc5523f3a2e1f623/src/dafny/merkle/Merkleise.dfy#L459">merkelise example here</a>), to more complex ones involving functions’ compositions. For example, we have the following <a href="https://github.com/PegaSysEng/eth2.0-dafny/blob/45a591d179664250ff42fb9afc5523f3a2e1f623/src/dafny/ssz/Serialise.dfy#L258">property of the SSZ</a> <strong>Serialise/Deserialise</strong> functions: for each object x, Deserialise(Serialise(x)) = x, i.e. deserialising a serialised object returns the original object. We have also established a<a href="https://github.com/PegaSysEng/eth2.0-dafny/blob/45a591d179664250ff42fb9afc5523f3a2e1f623/src/dafny/beacon/ForkChoice.dfy#L161"> number of invariants</a>, and used them to prove that the core operations of the Beacon Chain and ForkChoice ( <strong>state_transition, on_block</strong>) actually <a href="https://github.com/PegaSysEng/eth2.0-dafny/blob/45a591d179664250ff42fb9afc5523f3a2e1f623/src/dafny/beacon/ForkChoice.dfy#L295">build a chain of blocks</a>: for any block b in the store, the ancestors of b form a finite totally ordered sequence leading to the genesis block, which is the main property of a blockchain!</p><h3>The Benefits of Formal Verification</h3><p>Any formal methodist would insist that verification is a security best practice. Here’s exactly how this methodology ensures a secure and trustworthy infrastructure for Ethereum 2.0.</p><h4>Functional Specification</h4><p>First, we have lifted the official Eth2.0 specifications to a <strong><em>formal logical and functional specification</em></strong>. For each function, we formally define <strong><em>what the function is expected to compute,</em></strong> not how. This provides <strong><em>language-agnostic developer-friendly reference specifications</em></strong> that can be used to develop more secure implementations, with less effort.</p><h4>Modularity</h4><p>Second, our specifications, implementations and proof architecture are . As a result, we can easily <strong><em>experiment with new implementations (e.g. optimisations)</em></strong> and check their impact on the overall system. Think of a clever hack to implement a function? Change the implementation and ask Dafny to check that it still conforms to its specification. If it does, the proofs of the components that use this function are not impacted.</p><h4>Executability</h4><p>Third, our implementations are <strong><em>executable</em></strong>. We can compile and run a Dafny program. Even better, you can <strong><em>automatically</em></strong> <strong><em>generate code</em></strong> in some popular programming languages like C#, Go (and soon Java) from the Dafny code. This can be used to complement existing code bases or to generate <strong><em>certified tests</em></strong>. The implementation to be tested can use our proved-correct functions to compute the expected result of a test and check it against its own result.</p><h4>Everything in a Single Language</h4><p>Last but not least, our code base is <strong><em>self-contained</em></strong>. It contains the specifications, implementations, documentations, and proofs, all in a single, readable, simple and semantically well-defined programming language.</p><h3>Questions and Considerations</h3><h4>What about the soundness of the verification engine?</h4><p>You might be wondering, “what if the Dafny compiler/verifier is buggy?” We actually know Dafny is buggy (<a href="https://github.com/dafny-lang/dafny/issues">dafny repo issues</a>), but we do not rely on the absence of bugs in Dafny. We rely on Dafny (and its verification engine) to be . Soundness means that when Dafny reports that proofs are correct, they are indeed correct.</p><h4>What if the specification we have written is not the right one?</h4><p>In this case, we would prove conformance to a wrong requirement. Yes, this can happen and there is no silver bullet to fix this problem. However, as we mentioned before, Dafny is executable. This enables us to run the code and get some confidence that our specifications are the right ones. And our specifications are written in first-order logic with no room for dispute about the meaning, so if you notice a problem, let us know and we will fix it.</p><h4>What if Dafny cannot prove that an implementation conforms to a specification?</h4><p>This can happen, but in this case Dafny has some feedback mechanisms to help investigate what steps of a proof cannot be verified. And until now, we have always managed to build proofs that Dafny can automatically check.<br>We welcome your feedback, so please check out <a href="https://github.com/PegaSysEng/eth2.0-dafny">our eth2.0-dafny repository</a>. We’ve been excited to watch Ethereum 2.0 development reach its recent testnet milestones, and we look forward to working with teams across the ecosystem to ensure the next phase of the network is built on a rock solid foundation.</p><p><em>Acknowledgement: Thanks to my teammates Joanne Fuller, Roberto Saltini (Automated Verification team), Nicolas Liochon</em>, <em>and to Avery Erwin for comments on a preliminary version of this post.</em></p><h3>Read More About Ethereum 2.0</h3><ul><li><a href="https://consensys.net/blog/blockchain-explained/what-is-ethereum-2/">What Is Ethereum 2.0?</a></li><li><a href="https://consensys.net/knowledge-base/ethereum-2/glossary">Ethereum 2.0 Glossary</a></li><li><a href="https://consensys.net/knowledge-base/ethereum-2/faq">Ethereum 2.0 FAQ</a></li><li><a href="https://consensys.net/knowledge-base/ethereum-2/">Ethereum 2.0 Knowledge Base</a></li></ul><p><em>Originally published at </em><a href="https://consensys.net/blog/blockchain-development/formally-verifying-the-ethereum-2-0-phase-0-specifications/"><em>https://consensys.net</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f7be0c179262" width="1" height="1" alt=""><hr><p><a href="https://medium.com/consensys-media/formally-verifying-the-ethereum-2-0-phase-0-specifications-f7be0c179262">Formally Verifying the Ethereum 2.0 Phase 0 Specifications</a> was originally published in <a href="https://medium.com/consensys-media">ConsenSys Media</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[DeFi Is Doing to Money What Email Did to the Postal Service]]></title>
            <link>https://medium.com/consensys-media/defi-is-doing-to-money-what-email-did-to-the-postal-service-f0f85c871fa0?source=rss-6c7078bf7b01------2</link>
            <guid isPermaLink="false">https://medium.com/p/f0f85c871fa0</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[bitcoin]]></category>
            <category><![CDATA[defi]]></category>
            <category><![CDATA[cryptocurrency]]></category>
            <category><![CDATA[ethereum]]></category>
            <dc:creator><![CDATA[Consensys]]></dc:creator>
            <pubDate>Wed, 05 Aug 2020 15:58:58 GMT</pubDate>
            <atom:updated>2020-08-05T15:58:58.863Z</atom:updated>
            <content:encoded><![CDATA[<h4>An excerpt from our recent Ethereum ecosystem report on the exponential opportunity of decentralized finance.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZPVpSLKvPSLsP_JnJQJRSw.png" /></figure><p><em>The following is an excerpt of </em><a href="https://twitter.com/defi_dad?lang=en">DeFi Dad’s</a> <em>closing commentary from the </em><a href="https://consensys.net/insights/q2-2020-defi-report/"><em>Q2 Ethereum DeFi Report</em></a><em>. For tutorials on DeFi basics, yield farming, and more, check out his </em><a href="https://www.youtube.com/channel/UCatItl6C7wJp9txFMbXbSTg"><em>YouTube Channel.</em></a></p><p>Years from now, I believe Q2 2020 will be looked upon as a turning point in the rise of <a href="https://consensys.net/blockchain-use-cases/decentralized-finance/">DeFi</a> and a cementing of Ethereum’s inescapable network effects. Everything worth building is being built on Ethereum, and the narrative fueling this sentiment is the drive to build a new alternative P2P finance system. We’re talking about money legos that stack together to save us time, save us money, and enable greater global access in applications with remarkably low fees, remarkably high yield, and the absence of middlemen.</p><figure><a href="https://consensys.net/insights/q2-2020-defi-report/"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*QmGW2cTuN0diyYHr.png" /></a></figure><p>Q1 already brought about the very public milestone of $1 billion total value locked TVL deposited into DeFi applications, but it was unexpectedly followed by the global economic downturn associated with the coronavirus pandemic. I could have never predicted that after a near 50% drawdown in prices across cryptoasset markets to end Q12020, Q2 would rebound to a new historic milestone of $4 billion deposited into DeFi applications and protocols.</p><blockquote>There’s something for everyone in DeFi.</blockquote><p>Beyond the flashy numbers and hard hitting data you’ll discover in <a href="https://consensys.net/insights/q2-2020-defi-report">this report</a>, there’s a simple explanation for all this growth: there’s something for everyone in DeFi. The composability of DeFi money legos combined with the largest community of Ethereum developers by many orders of magnitude has resulted in new P2P money applications for lending, borrowing, trading, stablecoins swaps, DEX aggregators, margin trading, futures, BTC futures, tokenized BTC, options, derivatives for commodities and forex, and newly launched ETF-like exposure thanks to Balancer. Most of this was either launched or made widely available for use in Q2-over just 3 months.</p><figure><a href="https://consensys.net/insights/q2-2020-defi-report/"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*zoD2kjPsG_wTwA-o.png" /></a></figure><blockquote><em>DeFi on Ethereum has seen more innovation in 3 months than legacy finance has seen in 3 decades.</em></blockquote><p>It’s not complicated when you use these applications regularly and recognize not only do they work, but they impart an asymmetric value that our community would be devastated to lose access to. If you can recall having first experienced the likes of email, AOL Instant Messenger, and Napster, you cannot un-see such revolutionary value. DeFi is doing to money what email did to the postal service.</p><p>Thanks to the <a href="https://consensys.net/blog/news/the-100-projects-pioneering-decentralized-finance/">variety of DeFi applications</a> built on Ethereum, there’s something for everyone to benefit from. It would be a shame for you to read <a href="https://consensys.net/insights/q2-2020-defi-report">this ecosystem report</a> of rich data and insights and not follow up by actually trying one of many DeFi applications revolutionizing how future generations will transact peer-to-peer, but one quick warning: once you see this, there’s no turning back.</p><h3>Download the Q2 Ethereum DeFi Report</h3><p>Discover the biggest trends in decentralized finance.</p><figure><a href="https://consensys.net/insights/q2-2020-defi-report/"><img alt="" src="https://cdn-images-1.medium.com/max/299/1*kmf7_BUXHYpA4MSam1qMzg.png" /></a></figure><p><em>Originally published at </em><a href="https://consensys.net/blog/news/defi-is-doing-to-money-what-email-did-to-the-postal-service/"><em>https://consensys.net</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=f0f85c871fa0" width="1" height="1" alt=""><hr><p><a href="https://medium.com/consensys-media/defi-is-doing-to-money-what-email-did-to-the-postal-service-f0f85c871fa0">DeFi Is Doing to Money What Email Did to the Postal Service</a> was originally published in <a href="https://medium.com/consensys-media">ConsenSys Media</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The State of the Ethereum Network: 5 Years Running]]></title>
            <link>https://medium.com/consensys-media/the-state-of-the-ethereum-network-5-years-running-c9f546c7b0cd?source=rss-6c7078bf7b01------2</link>
            <guid isPermaLink="false">https://medium.com/p/c9f546c7b0cd</guid>
            <category><![CDATA[bitcoin]]></category>
            <category><![CDATA[ethereum]]></category>
            <category><![CDATA[cryptocurrency]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[blockchain]]></category>
            <dc:creator><![CDATA[Consensys]]></dc:creator>
            <pubDate>Thu, 30 Jul 2020 20:10:42 GMT</pubDate>
            <atom:updated>2020-07-30T20:10:42.825Z</atom:updated>
            <content:encoded><![CDATA[<h4>Looking back on the first five years of our ecosystem’s quest to upgrade the Internet.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*6sFO0xuWUW557MxghhyQVA.png" /></figure><ol><li><em>First, no one’s heard of you.</em></li><li><em>Then they’ve heard of you but think you’re nuts.</em></li><li><em>Then they understand your product, but think it has no opportunity.</em></li><li><em>Then they view your product as a toy.</em></li><li><em>Then they see it as an amazing toy.</em></li><li><em>Then they start using it.</em></li><li><em>Then they couldn’t imagine life without it.</em></li></ol><p><em>–Morgan Housel, “When You Change the World and No One Notices”</em></p><h3>No One’s Heard of You</h3><p>Ethereum is now the most actively developed, most transacted upon blockchain network in the world. But five years ago today, when the <a href="https://raw.githubusercontent.com/openethereum/openethereum/master/ethcore/res/ethereum/foundation.json">genesis block</a> was mined into existence and the network officially launched, few people outside of software engineering circles had heard of the Ethereum blockchain.</p><h4>Ethereum: Bitcoin Plus Everything</h4><p>In Goldman Sachs’ 2015 landmark report, <a href="https://www.goldmansachs.com/insights/pages/macroeconomic-insights-folder/what-if-i-told-you/report.pdf">“What If I Told You The Blockchain Could Disrupt Everything,”</a> Ethereum was listed as a “startup.” Elsewhere it was described as a “group.” People were trying to understand what it was and exactly what made it different from Bitcoin, a digital cash system. At ConsenSys, we spent, and still spend, a good chunk of time explaining these differences. They can’t be emphasized enough:</p><ul><li>Bitcoin is a single application of blockchain technology.</li><li>There are many different types of blockchains, with very different properties.</li><li>Ethereum is one type of blockchain.</li><li>Ethereum is open source and therefore owned by everyone.</li></ul><p>If you want to know what blockchains mean for the future of human networks and the distribution of power, <a href="https://twitter.com/naval/status/877467629308395521">this tweetstorm</a> from Naval Ravikant is a good place to start.</p><h4>The Developer’s Blockchain</h4><p>The Ethereum blockchain was built according to five design principles, outlined in Vitalik Buterin’s <a href="https://ethereum.org/en/whitepaper/">Ethereum White Paper</a>:</p><ul><li>Simplicity</li><li>Universality</li><li>Modularity</li><li>Agility</li><li>Non-discrimination and non-censorship</li></ul><p>One way to think about it is, if someone asked you to build a machine that took these principles to their logical limit, you’d end up with a machine like Ethereum.</p><p>In their book <a href="https://github.com/ethereumbook/ethereumbook"><em>Mastering Ethereum</em></a><em>, </em>Andreas Antonopoulos and Gavin Wood call Ethereum the “developer’s blockchain, built by developers for developers.” Developers generally prefer software that is open, usable, programmable, and powerful. Thousands and then hundreds of thousands of devs gravitated toward Ethereum because the source code is free, you can build on what others have built, the smart contracts are standardized and templatizable, and the possibilities are endless when you start interlocking contracts and plugging in different data feeds.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*XwtFcBZmbjbBcOG0.png" /><figcaption>New decentralized applications (dapps) per month launched on the Ethereum blockchain.</figcaption></figure><p><a href="https://www.stateofthedapps.com/">State of the Dapps</a> did a huge service to the ecosystem when it started digging into dapp contracts and fingerprinting GitHub repos, uncovering the frenzy of behind-the-scenes developer activity on Ethereum. When the New York Times published <a href="https://www.nytimes.com/2018/01/16/magazine/beyond-the-bitcoin-bubble.html">“Beyond the Bitcoin Bubble,”</a> it felt like people were finally paying attention. Bitcoin was just the tip of the blockchain iceberg, and it was only a matter of time before the rest of the world followed the developers.</p><h3>They Think You’re Nuts</h3><h4><strong>The DAO</strong></h4><p>In 2016, the DAO hack, and the hard fork that followed, caught everyone’s attention. Some people thought this Ethereum thing was nuts. What happened, the <a href="https://www.wired.com/2016/06/50-million-hack-just-showed-dao-human/">press said</a>, “raises philosophical questions about the viability of such systems.”</p><p>But developers said, “This is a rite of passage.”</p><p>The community got to work documenting <a href="https://consensys.github.io/smart-contract-best-practices/known_attacks/">known attacks</a> and battle-testing <a href="https://openzeppelin.com/contracts/">smart contract libraries</a>. While there has been no shortage of <a href="https://magoo.github.io/Blockchain-Graveyard/">security incidents</a> over the years, decentralized autonomous organizations are now a staple of the Ethereum ecosystem (Aragon, Moloch DAO, Legal DAO, Maker DAO), and hard forks are a proven model for upgrading the network’s protocol.</p><h4>Positive Sum Thinking</h4><p>Think about what else used to be “nuts” in our ecosystem:</p><ul><li>Enterprises operating on a public network</li><li>Different blockchains working together</li></ul><p>100-year-old firms like Ernst &amp; Young are now using <a href="https://consensys.net/blog/blockchain-development/introduction-to-zk-snarks/">zero-knowledge proofs</a> to develop private transaction solutions on the public Ethereum network. And they’re collaborating with a fleet of other organizations to push the <a href="https://consensys.net/blog/press-release/ey-and-consensys-announce-formation-of-baseline-protocol-initiative-to-make-ethereum-mainnet-safe-and-effective-for-enterprises/">Baseline Protocol</a> forward and help enterprises onboard to mainnet.</p><p>Ethereum and Hyperledger, once perceived as rival DLT initiatives, are now fully integrated via Besu, Burrow, and Sawtooth. Even Fabric supports Ethereum smart contracts.</p><p>The maximalist, one-blockchain-to-rule-them-all thinking that characterized the early days of the cryptosphere has fallen away in favor of a grander vision of interoperating blockchain protocols. Over the past few months, we’ve seen a huge uptick in <a href="https://consensys.net/blog/news/new-ethereum-defi-report-wrapped-bitcoin-eth-insurance-yield-farming/">“wrapped bitcoin”</a> -bitcoin represented as ERC-20 tokens on Ethereum that allow bitcoin holders to participate in the decentralized finance protocols that are not available on the Bitcoin network.</p><p>The point is, the positive sum thinking of early adopters that once seemed far-fetched and technically impossible is now more and more a reality. In the words of Jeff Bezos, “Invention requires a long-term willingness to be misunderstood.”</p><h3>They Understand It But…</h3><h4>ICO Fever</h4><p>In early 2018, the blockchain and Ethereum community was still reeling from the shock that 2017 had sent through the cryptosphere. The ICO boom of 2017 had initiated one of the greatest bull markets in Ethereum’s history on the backs of considerable speculation and unprecedented ERC-20 token launches. The boom demonstrated first-hand the power of the network effect opportunities at the core of blockchain technology. However, a number of countries-China, South Korea, Morocco, Colombia, Singapore, and many others-issued either bans or severe warnings to their citizens about bitcoin, ether, and other crypto assets.</p><p>When the glow of $1000+ ETH prices wore off and crypto winter descended, the industry began reconsidering the past year of ICOs and reckoning with its darker legacies. Fortune reported that <a href="https://fortune.com/2018/02/25/cryptocurrency-ico-collapse/">nearly 50% of all ICO projects had already failed</a> by February. The Verge published a sobering report on the <a href="https://www.theverge.com/2018/4/3/17192886/bitcoin-cryptocurrency-south-korea-millennials">mental health and despair of many South Korean millennials</a> in the aftermath of the crypto bull market.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*PvZAP1GdJnOPFAu0.png" /><figcaption>The creation of ERC-20 token contracts on Ethereum.</figcaption></figure><p>Today, there are over 160k ERC-20 token contracts on the Ethereum network. Many were created in early 2018 during the height of the ICO boom. In the last few months of this year, we have seen the creation of ERC-20 tokens begin to increase towards similar levels, yet without the price volatility we all experienced in late 2017 and early 2018.</p><h4>“Ethereum Killers”</h4><p>The ICO boom and its aftermath provided rich soil for a crop of new programmable blockchains, many of which positioned their technology as the replacement of Ethereum. The most notable of these “Ethereum killers” was EOS, which released a white paper in 2017.</p><p>The post-ICO marketing narratives of new blockchains focused largely on the shortcomings of Ethereum: scalability, privacy, UX, and utility. Some of these shortcomings were perceived, some real, and some exaggerated.</p><p>Altogether, the Ethereum ICO boom and aftermath had many understanding the technology, but still searching for compelling use cases and opportunities. One silver lining of the crypto boom and winter was that it spurred us to pay attention to lower-level and perhaps more revealing blockchain metrics beyond price and transaction volume: smart contract deployments, decentralization, and risk.</p><h3>They Think It’s a Toy</h3><h4>On-Ramps and NFTs</h4><p>As the Ethereum community developed new token standards like <a href="https://eips.ethereum.org/EIPS/eip-721">ERC-721</a>, gaming and art emerged as fun onramps to the underlying blockchain technology. And it made sense: games have built-in micro-economies and collectibles, and digital art that was hashed to the blockchain was easily monetizable and provably authentic. Marketplaces like <a href="https://superrare.co/">SuperRare</a> popped up for digital artwork. People talked about “proof of taste.”</p><h4>CryptoKitties</h4><p>The viral sensation that first shock-loaded the Ethereum network was an unassuming dapp called CryptoKitties, a digital kittens trading game that seemed like a cross between Neopets and futures trading. In December 2017, total network requests more than doubled as prices for the CryptoKitties surged into the six figures. <a href="https://consensys.net/blog/news/the-inside-story-of-the-cryptokitties-congestion-crisis/">A taskforce of developers</a> from MetaMask, Infura, Grid+, and Axiom Zen came together to optimize UX and explore longer-term scaling solutions to relieve the congestion. In collaborating, they realized something profound about Ethereum protocol development. As Alex Miller from Grid+ noted, “Everyone who owns ether is incentivized to make the system better.”</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/0*QoB6TBamOnyS4AHO.png" /><figcaption>Daily Active Users (DAU) have followed a similar pattern as account growth. January 16, 2018 saw the most DAUs of any day in the last 5 years, with 723,085 unique addresses interacting on mainnet.</figcaption></figure><p>People also realized that gamers and artists were running businesses straight out of their <a href="https://metamask.io/">Ethereum wallets</a>. Devs had unlocked economic models where previously none had existed. They brought finance to gaming-now it was time to see if they could gamify finance.</p><h3>They Think It’s an Amazing Toy</h3><h4>The Rise of DeFi</h4><p>There’s an argument that all of Ethereum is <a href="https://consensys.net/blockchain-use-cases/decentralized-finance/">decentralized finance (DeFi)</a>. At its core, the blockchain is maintained by a network of incentivized miners who continue spending resources in order to receive a decentralized currency as a reward. That accumulated currency is then sold to other people and enters into the ecosystem.</p><p>DeFi as it is more commonly understood, however-as a set of interconnected protocols that have the opportunity to supplant the traditional financial vehicles of today-emerged onto the scene in late 2017 with MakerDAO’s release of DAI. <a href="https://makerdao.com/en/">MakerDAO</a> allowed ETH to be locked into the smart contract and the DAI stablecoin to be taken out as collateral. After that moment, the Ethereum DeFi ecosystem grew steadily, largely still dominated by MakerDAO.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*EBxo3OvTMJe0sBlF.png" /><figcaption>Total ETH and WETH locked in DeFi protocols.</figcaption></figure><p>2019 was <a href="https://consensys.net/blog/news/2019-was-the-year-of-defi-and-why-2020-will-be-too/">the year of DeFi</a>, but its influence still remained constricted largely to the community of people who were already familiar with the technology and had been working in the ecosystem for some time. <a href="https://consensys.net/blog/news/the-100-projects-pioneering-decentralized-finance/">Many companies</a> were building DeFi protocols, but overall, the UX felt rudimentary and the capabilities still fairly limited except for the most skilled DeFi users.</p><p>In the early months of 2019, the DeFi ecosystem was in many ways a sandbox, where Ethereum enthusiasts were road testing these open protocols and proving out the case for decentralized finance. In the aftermath of the 2018 bear market, ETH holders may have felt cautious about “putting their ETH to work” rather than HODLing in the hopes of another bull market.</p><h4>Financial Primitives and Money Legos</h4><p>Financial primitives are the basic decentralized financial capabilities and technologies that can be combined or built on top of by others in order to create more complex and/or specific applications. These financial primitives and the applications built on top function a bit like legos, to use a popular analogy. Money legos stacked on top of money legos stacked on top of more money legos creates an interwoven, interconnected financial structure that is both strong and customizable.</p><p>These money legos reached critical mass in late 2019, hurling us into 2020 and taking DeFi from the status of “amazing toy” to the early stages of a critical tool for reimagining our financial infrastructure.</p><h3>They Start Using It</h3><h4>Software Eats Finance</h4><p>Five years ago, it would have seemed outlandish to <a href="https://www.coindesk.com/software-ate-the-world-heres-how-it-eats-finance">“move $15 trillion of global gross domestic product to open source programmable blockchains.”</a> Now that seems like the only way to bring speed, resilience, transparency, and ultimately trust to our global financial system, which is still running on 30-year-old banking software.</p><p>Forward-thinking enterprises followed the developers and have been investing in Ethereum for years now. Our partnership with Microsoft starting in 2015 was one of our earliest efforts to help enterprises adopt blockchain tech via <a href="https://azure.microsoft.com/en-us/blog/ethereum-blockchain-as-a-service-now-on-azure/#:~:text=%E2%80%9CEthereum%20Blockchain%20as%20a%20Service,dev%2Ftest%2Fproduction%20environment.&amp;text=That%20makes%20Azure%20a%20great,Production%20Environment%20for%20Blockchain%20applications">Ethereum Blockchain as a Service on Azure</a>. The <a href="https://entethalliance.org/">Enterprise Ethereum Alliance</a> and <a href="https://www.hyperledger.org/">Hyperledger</a> have also become valuable environments for large institutions to actively collaborate, vet deployment options, and develop common enterprise standards.</p><h4>The Institutional Herd</h4><p>So who are the major players using Ethereum? It’s a long list. <a href="https://consensys.net/blockchain-use-cases/finance/komgo/">Trade finance giants.</a> <a href="https://consensys.net/blog/press-release/covantis-initiative-announces-technology-partner-consensys/">Agritech giants.</a> 32 of the <a href="https://www.forbes.com/sites/michaeldelcastillo/2020/02/19/blockchain-50/#50debce57553">Forbes Blockchain 50</a> projects this year are built on Ethereum. Now, the powerhouses are moving in. The Depository Trust &amp; Clearing Corporation, which processes around $2 quadrillion worth of transactions per year, recently announced an <a href="https://consensys.net/blog/enterprise-blockchain/major-financial-clearinghouse-is-exploring-ethereum-for-digital-asset-management/">Ethereum-based prototype</a> for digital asset management.</p><p>New initiatives are constantly sprouting up. In their <a href="https://consensys.net/blog/enterprise-blockchain/blockchain-in-europe-learnings-from-the-eu-blockchain-observatory-and-forum/">final report</a> last month, the EU Blockchain Observatory and Forum shared a crowdsourced blockchain initiative map that now charts over 700 initiatives worldwide.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/992/0*EI7bZNyeymXyW-z7.png" /><figcaption>The EU Blockchain Observatory and Forum’s Global Blockchain Initiative Map.</figcaption></figure><p>Some of these projects are still very exploratory. Three-hundred-year-old central banks, for example, won’t adopt blockchain-based payments systems overnight. But according to a <a href="https://www.bis.org/publ/bppdf/bispap107.pdf">recent paper</a> from the Bank for International Settlements, 80% of these legacy institutions are actively researching <a href="https://consensys.net/solutions/payments-and-money/cbdc">central bank digital currency (CBDC)</a>. The incumbents are realizing that in a world with super apps, bundled services, and an increasingly digital economy, Ethereum is not just the infrastructure they need to do bigger business with one another, but their lifeline for serving the 21st-century customer.</p><h4>Plug-and-Play Ethereum</h4><p>Since the beginning, ConsenSys’ mission has been to build enough infrastructure and tooling to enable the rest of the world to keep building a new trust infrastructure alongside us. We often liken this process to building a rocket ship mid-flight. The stakes are incredibly high and there’s no stopping now.</p><p>Over the past year, we’ve been working hard to bring our products together into a full stack, integrated suite that makes Ethereum more plug-and-play than ever before, whether you’re a dapp team that needs API access to node infrastructure or a financial institution that is ready to optimize business processes and digitize financial instruments. With a layer 2 solution like the <a href="https://consensys.net/blog/press-release/skale-token-to-launch-on-consensys-codefi-activate-on-august-17th-2020/">SKALE Network</a> shaping up and <a href="https://consensys.net/blog/blockchain-explained/what-is-ethereum-2/">Ethereum 2.0</a> on the horizon, we’re excited to see how new and improved usability and network performance unlocks developers, enterprises, and the next wave of super users.</p><h3>They Can’t Imagine Life Without It</h3><p>This chapter of the seven-step path to the big breakthrough is still being written and will unfold slowly but surely in the years to come. Innovation of this scale often can’t be measured in quarters or even years. However, we like to think that there are some users-and some major institutions-who already can’t imagine life without Ethereum.</p><p>Thank you all of you across the ecosystem for your support, enthusiasm, and tireless work these past five years. Upgrading our global infrastructure is no small feat, but it is a worthwhile and profoundly rewarding one. We can’t wait to see what this network looks like in another five years.</p><h4>Some Recommended Resources for Exploring Ethereum</h4><ul><li><a href="https://consensys.net/knowledge-base/">Blockchain Knowledge Base</a></li><li><a href="https://consensys.net/knowledge-base/ethereum-2/">Ethereum 2.0 Knowledge Base</a></li><li><a href="https://consensys.net/knowledge-base/webinars/">Blockchain Webinars</a></li><li><a href="https://consensys.net/blog/blockchain-explained/want-to-really-understand-blockchain-you-need-to-understand-state/">Want to Really Understand Blockchain? You Need to Understand State</a></li></ul><p><em>Originally published at </em><a href="https://consensys.net/blog/news/the-state-of-the-ethereum-network-2020/"><em>https://consensys.net</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c9f546c7b0cd" width="1" height="1" alt=""><hr><p><a href="https://medium.com/consensys-media/the-state-of-the-ethereum-network-5-years-running-c9f546c7b0cd">The State of the Ethereum Network: 5 Years Running</a> was originally published in <a href="https://medium.com/consensys-media">ConsenSys Media</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Introducing the Deposit Launch Pad for Ethereum 2.0]]></title>
            <link>https://medium.com/consensys-media/introducing-the-deposit-launch-pad-for-ethereum-2-0-96eb2045a31b?source=rss-6c7078bf7b01------2</link>
            <guid isPermaLink="false">https://medium.com/p/96eb2045a31b</guid>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[cryptocurrency]]></category>
            <category><![CDATA[ethereum]]></category>
            <category><![CDATA[decentralization]]></category>
            <category><![CDATA[crypto]]></category>
            <dc:creator><![CDATA[Consensys]]></dc:creator>
            <pubDate>Mon, 27 Jul 2020 00:00:00 GMT</pubDate>
            <atom:updated>2020-07-27T22:48:55.743Z</atom:updated>
            <content:encoded><![CDATA[<h4>Codefi Activate and the Ethereum Foundation’s Eth2 Launch Pad, now in testnet phase, is designed for self-validators who intend to stake 32 ETH into Ethereum 2.0’s official deposit contract.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*p90jYaXB3Y0WG-_e" /></figure><p>Like all great missions, launching the world computer of tomorrow requires a platform that guides, strengthens, and fuels its journey across the bounds of our digital space. Today, we are excited to announce the go-live of the <a href="https://medalla.launchpad.ethereum.org/">Eth2 Launch Pad application</a>, which marks the entry point for validators to commence their journey on the Eth2 chain. It’s time to get your testnet ETH ready!</p><p>Over the past few months, <a href="http://activate.codefi.net/">Codefi Activate </a>and the <a href="https://ethereum.org/en/foundation/">Ethereum Foundation (EF) </a>have been heads down to make it easier for users to stake and become a validator on <a href="https://consensys.net/blog/blockchain-explained/what-is-ethereum-2/">Ethereum 2.0</a>. The result of this effort is the Eth2 Launch Pad, an application designed to securely guide you through the process of generating your Eth2 key pairs and staking your 32ETH into the official deposit contract. The Launch Pad was designed for self-validators, that is, hobbyists who intend to run their own validator and are comfortable running commands in a terminal screen on their computer.</p><p>Initially, the Launch Pad will only be compatible with the Eth2 <a href="https://github.com/goerli/medalla/blob/master/medalla/README.md">Medalla testnet </a>, which is scheduled to go-live once the genesis threshold of 16,384 validators (524,288 ETH) is met. The testnet is designed to provide ample time to ensure the <a href="https://consensys.net/blog/blockchain-development/the-ethereum-2-0-beacon-chain-explained/">Beacon Chain</a> functions without error. Following the testnet phase, the Eth2 Launch Pad will continue to act as an entry portal for validators to stake real ETH for the Mainnet.</p><p>In this post, we will provide a brief overview of the collaboration, some fun facts about the application, as well as the needs and design goals that the Eth2 Launch Pad fulfills.</p><p>We look forward to providing the community with ongoing educational fuel and software tools to catalyze participation in this next chapter.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F4jpzo9qOaP8%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D4jpzo9qOaP8&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F4jpzo9qOaP8%2Fhqdefault.jpg&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=youtube" width="640" height="480" frameborder="0" scrolling="no"><a href="https://medium.com/media/96226019f129913a8ef8ac874efa32d3/href">https://medium.com/media/96226019f129913a8ef8ac874efa32d3/href</a></iframe><h3>Joining Forces: A Background on the Collaboration</h3><p>In 2019, we began digging into the Eth2 ecosystem to explore where Codefi Activate could add value to the roll out of Eth2 and fill existing communication gaps between the protocol builders, service providers and existing ETH holders with the approaching release of Phase 0. We have since focused our mission on developing educational resources and insights on Eth2 economics, as well as industry and validator research, the findings of which were recently released as the <a href="https://consensys.net/blog/news/the-ethereum-2-staking-report/">Eth2 staking ecosystem report </a>.</p><p>Shortly after DevCon V we connected with Carl Beekhuizen, who was leading the deposit Command-Line-Interface (CLI) effort at the Ethereum Foundation (EF). Beyond the code, Carl has also focused on the user experience of ETH holders becoming validators for the first time. Given our existing Eth2 research efforts and our experience with launching networks, collaborating with the EF and Deep Work Studio was a congruent next step to ensuring the launch of Phase 0 was built in a way that prioritized user experience, but also articulated associated risks and educational information for users to feel comfortable setting up their own Eth2 validators.</p><p>Over the past few months we have been hard at work <a href="https://consensys.net/insights/eth-2-staking-ecosystem-report">researching</a>, <a href="https://medium.com/deep-work-studio/eth2-deposit-launchpad-an-interface-for-the-first-world-computer-3e089138b264">designing</a>, and <a href="https://github.com/ethereum/eth2.0-deposit">building</a> the Eth2 Launch Pad and we’re excited to share the outputs of this effort with you!</p><p>The Eth2 Launch Pad was <a href="https://github.com/ethereum/eth2.0-deposit">open-sourced </a>during the Ethereal Summit on May 8th, allowing users to host the application locally. Since its initial release, it has been great to <a href="https://twitter.com/jimmyragosa/status/1260284226244673536?s=12">see immediate engagement </a>and feedback from the community. We continue to encourage teams and users to provide feedback!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/0*1oBx5qFOgJopLEjc" /></figure><h3>Fun Facts</h3><ul><li>The Eth2 Launch Pad mascot is Leslie the Rhino, named after the American computer scientist Leslie Lamport.</li><li>The Eth2 spec repo currently has 72 direct contributors.</li><li>The Eth2 deposit contract for the testnet will simulate the requirement to reach a Genesis threshold of 524,288 ETH staked or 16,384 validators</li></ul><h3>Getting to Genesis: A Brief Summary of Phase 0</h3><p><a href="https://consensys.net/blog/blockchain-explained/what-is-ethereum-2/">Ethereum 2.0 </a>will be released in phases, starting in 2020 with Phase 0. Phase 0 will launch the <a href="https://consensys.net/blog/blockchain-development/the-ethereum-2-0-beacon-chain-explained/"><em>beacon chain</em></a>, which is the component of the Ethereum 2.0 blockchain that implements the <a href="https://consensys.net/blog/blockchain-explained/what-is-proof-of-stake/">Proof of Stake consensus mechanism</a>. The beacon chain will manage the registry of validators, who will begin attesting and proposing blocks.</p><p>In order for the beacon chain to launch its genesis block on mainnet, at least 524,288 ETH must be staked on the network, divided among a minimum of 16,384 validators to ensure sufficient security and decentralization. Reaching genesis will be simulated on the live Medalla testnet.</p><p>Each validator instance will require a deposit of 32 ETH to be added to the activation queue and begin attesting and proposing blocks on the beacon chain. Until withdrawals are enabled (at least after Phase 0), depositing ETH in the deposit contract is a one-way, non-reversible process.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/0*306T6h9FO4aC9wgO" /></figure><h3>What needs does the Eth2 Launch Pad fulfill?</h3><h4>Validators losing ETH = Eth2 losing validators</h4><p>Simply put, if validators lose their ETH, Eth2 will lose validators. The process of depositing your ETH into the Eth2 deposit contract could result in multiple possible errors or attack vectors. These risks include losing your funds due to sending them to the wrong deposit contract address, falling prey to phishing attacks or someone stealing your private key and mnemonic phrase if generated and stored in an insecure manner. No one wants unhappy validators with lost or stolen funds!</p><p>To mitigate these risks, the Eth2 Launch Pad was designed as a front-end application designed to guide you through the process of generating your key pairs, depositing your ETH, and registering your validator on the Ethereum 2.0 beacon chain in the most secure way possible. The deposit interface will be hosted by the Ethereum Foundation.</p><p>During your journey through the Eth2 Launch Pad, you will:</p><ol><li>Learn about the risks and responsibilities of becoming a validator on Eth2</li><li>Select how many validators instances you would like to run</li><li>Securely generate the validator key pair and mnemonic phrase, via an offline CLI for each validator instance you would like to run</li><li>Generate and upload the deposit data file(s) containing your validator public key(s) required to register your validator(s) upon completion of the Launch Pad</li><li>Deposit 32 ETH per validator instance into the official deposit contract. This will be done through a trusted and verified access point hosted by the Ethereum Foundation.</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/0*aCvT3Tnurx-dqi_h" /><figcaption>Eth2 Launch Pad User Flow &amp; Architecture Overview</figcaption></figure><h4>Education</h4><p>Before you start your journey as a validator, it is paramount that you are aware of your responsibilities, including the rewards of fulfilling your duties to provide uptime and behave honestly in the consensus process, as well as the risks and penalties of failing to do so. Because the initial deposit of ETH into the deposit contract is one-way until later development phases, outlining and understanding the trade-offs of participation and setting expectations is critical.</p><p>For this reason, the Launch Pad was designed to act as both a deposit application as well as an educational tool box and source of truth curated to educate future validators about:</p><p>Warning messages and explanatory sections introduce “deliberate friction” in the user experience to slow down users and ensure they take in all the critical context provided to them.</p><h4>Key Pair Generation</h4><p>Validators using the Launch Pad will be required to generate their mnemonic and validator key pairs, which will be used when validators are ready to launch their respective validator clients. The public key allows you to view your validator stats and activity, while your private validator key, which must remain online at all times, is used for voting and proposing blocks.</p><p>In the Launch Pad, validators will also generate a mnemonic phrase to generate their withdrawal keys. During Phase 2, this mnemonic phrase will enable you to generate the keys to your castle, which will allow you to withdraw your ETH deposit and accrued rewards.</p><p>The generation of the validator key pair and mnemonic phrase has been designed to be done via a CLI to enable this process to be done in a secure, offline environment.</p><p>We are thrilled to have helped pave the way for initial deposits on the Ethereum 2.0 test- and mainnet and are excited to see applications and client integrations develop alternative pathways to interact with the Eth2 deposit contract in the future. A special shoutout to Chris Battenfield and George Weiler for their development work on this effort.</p><p>Watch this space for some more exciting announcements from our team!</p><p><em>Written by Collin Myers and Mara Schmiedt.</em></p><h3><strong>More on this topic</strong></h3><ul><li><a href="https://consensys.net/knowledge-base/ethereum-2/">Ethereum 2.0 Knowledge Base</a></li><li><a href="https://consensys.net/blog/blockchain-explained/what-is-ethereum-2/">What Is Ethereum 2.0?</a></li><li><a href="https://consensys.net/blog/blockchain-explained/what-is-proof-of-stake/">What Is Proof of Stake?</a></li></ul><p><em>Originally published at </em><a href="https://codefi.consensys.net/blog/introducing-the-deposit-launch-pad-for-eth2"><em>https://codefi.consensys.net</em></a><em> on July 27, 2020.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=96eb2045a31b" width="1" height="1" alt=""><hr><p><a href="https://medium.com/consensys-media/introducing-the-deposit-launch-pad-for-ethereum-2-0-96eb2045a31b">Introducing the Deposit Launch Pad for Ethereum 2.0</a> was originally published in <a href="https://medium.com/consensys-media">ConsenSys Media</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SKALE Token to Launch on Codefi Activate on August 17th, 2020]]></title>
            <link>https://medium.com/consensys-media/skale-token-to-launch-on-codefi-activate-on-august-17th-2020-d9baf569c9c6?source=rss-6c7078bf7b01------2</link>
            <guid isPermaLink="false">https://medium.com/p/d9baf569c9c6</guid>
            <category><![CDATA[cryptocurrency]]></category>
            <category><![CDATA[ethereum]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[token]]></category>
            <category><![CDATA[defi]]></category>
            <dc:creator><![CDATA[Consensys]]></dc:creator>
            <pubDate>Fri, 24 Jul 2020 15:41:50 GMT</pubDate>
            <atom:updated>2020-07-24T16:09:01.899Z</atom:updated>
            <content:encoded><![CDATA[<h4>SKALE Network’s SKALE token (SKL) will be available for purchase through a 3-day Dutch auction on the platform on August 17th, 2020 at 12:00p EST.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*1jl6udQTsYbN9hEN" /></figure><p><a href="https://activate.codefi.network/">Activate</a>, by <a href="https://codefi.consensys.net/networks">ConsenSys Codefi</a>, is the first platform designed to launch decentralized networks and allow customers to purchase, manage, and use their tokens in one application. The <a href="https://skale.network/">SKALE Network’s</a> SKALE token (SKL) will be available for purchase through a 3-day Dutch auction on the platform on August 17th, 2020 at 12:00PM EST. <a href="https://consensys.net/blog/press-release/consensys-codefi-announces-skale-network-as-the-first-project-to-launch-a-token-on-the-activate-platform/">Announced in February</a>, the SKALE Network is the first project to launch with Activate, which has since <a href="https://activate.codefi.network/register">accepted registrations </a>to participate. For users verified on the platform, registrations for the auction are now open on <a href="https://activate.codefi.network/skale">https://activate.codefi.network/skale </a>.</p><p>The SKALE token supports the highly anticipated <a href="https://skale.network/">SKALE Network</a>, an open source elastic blockchain network designed specifically for scaling Ethereum by increasing transaction speeds, lowering transaction costs, and creating seamless workflows for end users and developers building applications on Ethereum. The SKALE Network’s mainnet has been live since <a href="https://skale.network/blog/3-2-1-blast-off-skale-mainnet-is-live/">June 30th</a>. Each application using the SKALE Network gets its own chain for executing transactions at sub-second block times, with over 2,000 transactions-per-second. In addition to running full-state smart contracts, SKALE chains offer decentralized storage and can execute machine learning in smart contracts. Over 40 decentralized applications are currently building on SKALE, ranging from games to <a href="https://consensys.net/blockchain-use-cases/decentralized-finance/">decentralized finance</a>, to streaming audio and more. The combination of SKALE and Ethereum is a truly decentralized cloud that allows Web 3 applications to compete with Web 2 on both a cost and performance basis.</p><p>“There has been fantastic growth in decentralized applications and DeFi being built on Ethereum. ConsenSys Codefi is designed to enable the builders of our ecosystem with modular tools for commerce and finance, including the applied use of tokens. SKALE is a major step forward for the operating progress of the Ethereum economy, and we are thrilled to support the team,” said Lex Sokolin, Global Co-Head of ConsenSys Codefi. “Our goal has been to build a vertically integrated platform that enables a robust network launch and on-going use — where people can purchase and put their tokens to work as they’re intended. On Activate, after users purchase SKL tokens, they can start contributing to the security and scalability of the network through staking, starting from genesis,” said Collin Myers, Token Strategy Lead at ConsenSys Codefi. Users may be eligible to earn rewards through this activity.</p><p>Not only can users buy SKL tokens directly from SKALE Network on the Activate platform, but SKL token holders can stake SKL tokens in accordance with the SKALE Network’s protocol, and receive staking rewards directly from the network in return, without having to leave the application. Activate’s network dashboard makes it easy for users to decide which staking-as-a-service provider to choose to delegate their SKL tokens on the network. The SKL token is a hybrid-use token that participates in the network security mechanism, and is used as a means of payment for SKALE chains.</p><p>Activate uses the <a href="https://codefi.consensys.net/blog/proof-of-use-activating-networks-through-encoded-participation">“Proof of Use </a>“ distribution mechanism designed to get tokens to holders whose primary purpose is utilizing network tokens for their intended purpose. Proof of Use programmatically requires users who acquire tokens during a launch to actively “prove use” of their tokens on the network’s mainnet in specific use cases before they’re allowed to transfer or redeem them. In the case of SKALE, participants will be required by the protocol to delegate at least 50% of their purchased tokens for 90 days before being able to transfer them outside the network. This creates a measurable incentive mechanism aimed at minimizing speculative behavior from participants, while maximizing active contribution to the network. Proof of Use aligns with Codefi Activate’s <a href="https://codefi.consensys.net/blog/activate-token-launch-standards">Token Launch Standards </a>which establish fair, accountable, and transparent practices.</p><h3><strong>About SKALE</strong></h3><p>SKALE is an elastic blockchain network that gives developers the ability to easily provision highly configurable fully decentralized chains that are instantly compatible with Ethereum. SKALE chains can execute sub-second block times, run up to 2,000 tps per chain, and run full-state smart contracts, support decentralized storage, execute Rollups, and machine learning in EVM. The SKALE Network is an open source project with many contributors including SKALE Labs, Inc. headquartered in San Francisco, CA. The SKALE Network’s supporters include Blockchange, ConsenSys Labs, Hashed, HashKey, Floodgate, Multicoin Capital, Recruit Holdings, Signia VP, and Winklevoss Capital. The SKALE Network is supported by top validators in the world including Blockware, ConsenSys, Certus.One, Chorus One, Dokia, Figment Networks, Hashed, Staked, StakewithUs, and Stake X, as well as key infrastructure player Bison Trails. For more information please visit <a href="http://www.skale.network/">www.skale.network </a>, @SkaleNetwork on Twitter, and @skaleofficial on telegram.</p><h3><strong>About N.O.D.E. Foundation &amp; Anstalt</strong></h3><p>The Network of Decentralized Economics (N.O.D.E.) Foundation is a non-profit entity based in Liechtenstein created to carry out the mission of supporting the SKALE Network open source project. The foundation is supported by the N.O.D.E. Anstalt, a subsidiary business arm of the Foundation. The Foundation is also supported by SKALE Labs, Inc. headquartered in San Francisco, CA. SKALE Labs provides support to the Network by contributing to the open source code, community growth, and other key efforts to facilitate the growth and adoption of the SKALE Network.</p><h3><strong>More on this topic</strong></h3><ul><li><a href="https://consensys.net/blog/press-release/consensys-codefi-announces-skale-network-as-the-first-project-to-launch-a-token-on-the-activate-platform/">Announcing the SKALE Network Token Launch on the Codefi Platform</a></li><li><a href="https://codefi.consensys.net/blog/skale-staking-and-rewards-primer">SKALE Staking and Rewards Primer</a></li></ul><p><em>Originally published at </em><a href="https://consensys.net/blog/press-release/skale-token-to-launch-on-consensys-codefi-activate-on-august-17th-2020/"><em>https://consensys.net</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d9baf569c9c6" width="1" height="1" alt=""><hr><p><a href="https://medium.com/consensys-media/skale-token-to-launch-on-codefi-activate-on-august-17th-2020-d9baf569c9c6">SKALE Token to Launch on Codefi Activate on August 17th, 2020</a> was originally published in <a href="https://medium.com/consensys-media">ConsenSys Media</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Teku Ethereum 2.0 Client: Request for Proposals]]></title>
            <link>https://medium.com/consensys-media/teku-ethereum-2-0-client-request-for-proposals-35a65c41151e?source=rss-6c7078bf7b01------2</link>
            <guid isPermaLink="false">https://medium.com/p/35a65c41151e</guid>
            <category><![CDATA[ethereum]]></category>
            <category><![CDATA[cryptocurrency]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[security]]></category>
            <category><![CDATA[development]]></category>
            <dc:creator><![CDATA[Consensys]]></dc:creator>
            <pubDate>Tue, 21 Jul 2020 19:46:15 GMT</pubDate>
            <atom:updated>2020-07-21T19:46:15.781Z</atom:updated>
            <content:encoded><![CDATA[<h4>In preparation for launch, PegaSys Teku is now seeking an external security assessment of the Teku Ethereum 2.0 codebase.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*YTbnakxttncc8svs.jpg" /></figure><p><a href="https://content.consensys.net/wp-content/uploads/teku-security-assessmnt-rfp.pdf"><em>View our security assessment RFP for Teku</em>→</a></p><p>PegaSys has been a huge supporter of <a href="https://consensys.net/blog/blockchain-explained/what-is-ethereum-2/">Ethereum 2.0</a> development since its early days. On the one hand, we have R&amp;D teams pushing back the boundaries on several fronts. On the other, we have created one of the leading Ethereum 2.0 client implementations, <a href="https://pegasys.tech/teku/">Teku</a>.</p><p>Teku is written in Java, with an Apache 2 license, and is a full implementation of the Eth2 Phase 0 specification, the <a href="https://consensys.net/blog/blockchain-explained/what-is-proof-of-stake/">Proof of Stake</a> beacon chain. Once the <a href="https://consensys.net/blog/blockchain-development/the-ethereum-2-0-beacon-chain-explained/">beacon chain</a> is launched, holders of ETH will be able to lock up stakes and participate in securing the chain by running validators such as Teku, for which they will receive in-protocol staking rewards.</p><p>The launch of the Eth2 beacon chain is now only a small number of months away, and we are working hard to ensure that Teku will be production-ready in good time. Teku has already successfully participated in all three public Eth2 multi-client testnets to date, Witti, Schlesi and Altona, alongside client implementations from other teams.</p><p>As part of our preparations for launch, we are now seeking an <strong>external security assessment of the Teku codebase</strong>. The security of all Eth2 clients is paramount: downtime will cause stakers to lose stake through penalties; loss of keys can cause a loss of stake through being slashed. Maximum uptime, maximum correctness, and a high degree of security are vital.</p><p>If your team has experience in reviewing large Java codebases, distributed peer-to-peer systems such as blockchains, advanced cryptographic constructs such as BLS signatures, and has a first-class security background, then we would warmly invite you to respond to our RFP for a security assessment of Teku. In-depth knowledge of Ethereum 2.0 is not required, but could be an advantage.</p><p>Please see our <a href="https://content.consensys.net/wp-content/uploads/teku-security-assessmnt-rfp.pdf"><strong>Request for Proposals document</strong></a> for all the details and information on how to reply to the RFP. The closing date for responses is 23:59 UTC on Monday 3rd August 2020.</p><p>We look forward to hearing from you!</p><h3>More on this topic</h3><ul><li><a href="https://consensys.net/blog/blockchain-explained/what-is-ethereum-2/">What Is Ethereum 2.0?</a></li><li><a href="https://consensys.net/blog/blockchain-explained/what-is-proof-of-stake/">What Is Proof of Stake?</a></li><li><a href="https://consensys.net/blog/blockchain-development/the-ethereum-2-0-beacon-chain-explained/">The Ethereum 2.0 Beacon Chain Explained</a></li></ul><p><em>Originally published at </em><a href="https://consensys.net/blog/blockchain-development/teku-ethereum-2-0-client-request-for-proposals/"><em>https://consensys.net</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=35a65c41151e" width="1" height="1" alt=""><hr><p><a href="https://medium.com/consensys-media/teku-ethereum-2-0-client-request-for-proposals-35a65c41151e">Teku Ethereum 2.0 Client: Request for Proposals</a> was originally published in <a href="https://medium.com/consensys-media">ConsenSys Media</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[New Ethereum DeFi Report: The Rise of Wrapped Bitcoin, ETH Insurance, and Yield Farming]]></title>
            <link>https://medium.com/consensys-media/new-ethereum-defi-report-the-rise-of-wrapped-bitcoin-eth-insurance-and-yield-farming-27dc8a63be03?source=rss-6c7078bf7b01------2</link>
            <guid isPermaLink="false">https://medium.com/p/27dc8a63be03</guid>
            <category><![CDATA[ethereum]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[cryptocurrency]]></category>
            <category><![CDATA[defi]]></category>
            <category><![CDATA[bitcoin]]></category>
            <dc:creator><![CDATA[Consensys]]></dc:creator>
            <pubDate>Thu, 16 Jul 2020 21:28:25 GMT</pubDate>
            <atom:updated>2020-07-16T21:28:25.104Z</atom:updated>
            <content:encoded><![CDATA[<h4>Download our latest report on the biggest trends in decentralized finance.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*ZBDxvrJZDWKVDr6k.jpg" /></figure><p>ConsenSys Codefi just published its Q2 2020 <a href="https://consensys.net/insights/q2-2020-defi-report/"><strong>Decentralized Finance Report</strong></a>, a summary and analysis of Ethereum’s DeFi ecosystem this past quarter. Some of the main topics covered in the report include:</p><ul><li>Overall DeFi data statistics, summaries, and visualizations.</li><li>DeFi user behavior and network visualizations of the user relationships between protocols.</li><li>COMP, Compound, and Yield Farming.</li><li>BTC tokenized on Ethereum.</li><li>Major security incidents and the rise of DeFi insurance.</li><li>The performance of specific high-profile protocols, including Uniswap, Maker, and Compound.</li><li>The state of stablecoins in Ethereum DeFi.</li><li>A look towards DeFi in 2020 and beyond.</li></ul><figure><a href="https://consensys.net/insights/q2-2020-defi-report/"><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*hNj8CUC_X07W5mYj.png" /></a></figure><p>In this report, we identified the three most important DeFi events in Q2:</p><h3>1. BTC Tokenized on Ethereum</h3><p><strong>What happened: </strong>In May, the amount of BTC on Ethereum (represented by tokenized BTC such as WBTC) surpassed the amount of BTC on the Lightning Network, Bitcoin’s layer 2 scaling network.</p><p><strong>Why it matters: </strong>Cross-chain interoperability is anti-maximalist, but is the more likely future of blockchain. The teams enabling the tokenizing of BTC on Ethereum have been embracing this belief, and it is paying off. Also, Ethereum’s DeFi ecosystem has such a strong gravity that even BTC holders have been finding ways to use it.</p><h3>2. COMP and Yield Farming</h3><p><strong>What happened:</strong> Compound released its governance token COMP in mid-June. Tokens have been rewarded daily to borrowers and lenders on Compound. The result has been that enterprising DeFi users have been maximizing their COMP yield (i.e. “yield farming”) by using DeFi mechanisms to unlock capital and then lending/borrowing on Compound.</p><p><strong>Why it matters:</strong> Yield farming took the DeFi ecosystem by storm in the last two weeks of the quarter. Crucial metrics like ETH locked and daily active users soared after being fairly stagnant earlier in the quarter. However, data (discussed below) suggests the frenzy did not bring many new users into DeFi, demonstrating that DeFi’s innovation must be paired with education and UX before we see the DeFi community grow beyond its current borders.</p><h3>3. Three Major Security Incidents</h3><p><strong>What happened: </strong>Uniswap, Lendf.me, and Bancor all had high-profile security incidents this quarter, collectively resulting in $26M USD stolen (most of which was returned, discussed in the report).</p><p><strong>Why it matters:</strong> Security incidents are inevitable in emerging technology. The DeFi community continues to develop strategies to hedge against it, including: auditing services, security products, and insurance applications. All of this is benefited by the open source nature of DeFi, which allows third parties to monitor DeFi dapps, provide suggestions, and analyze attacks to help protect the entire community in the future.</p><h3><a href="https://consensys.net/insights/q2-2020-defi-report/">Download the Q2 Ethereum DeFi Report</a></h3><p><em>Originally published at </em><a href="https://consensys.net/blog/news/new-ethereum-defi-report-wrapped-bitcoin-eth-insurance-yield-farming/"><em>https://consensys.net</em></a><em>.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=27dc8a63be03" width="1" height="1" alt=""><hr><p><a href="https://medium.com/consensys-media/new-ethereum-defi-report-the-rise-of-wrapped-bitcoin-eth-insurance-and-yield-farming-27dc8a63be03">New Ethereum DeFi Report: The Rise of Wrapped Bitcoin, ETH Insurance, and Yield Farming</a> was originally published in <a href="https://medium.com/consensys-media">ConsenSys Media</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>