{"id":7066,"date":"2018-05-13T19:31:41","date_gmt":"2018-05-13T19:31:41","guid":{"rendered":"https:\/\/davidgerard.co.uk\/blockchain\/?p=7066"},"modified":"2021-04-20T21:28:53","modified_gmt":"2021-04-20T21:28:53","slug":"ethereum-casper-only-has-to-work-well-enough-worse-is-better-in-action","status":"publish","type":"post","link":"https:\/\/davidgerard.co.uk\/blockchain\/2018\/05\/13\/ethereum-casper-only-has-to-work-well-enough-worse-is-better-in-action\/","title":{"rendered":"Ethereum Casper proof-of-stake only has to work well enough: Worse is Better in action"},"content":{"rendered":"<p>Proof-of-work cryptocurrency mining is bad, stupid and damaging. Bitcoin uses 0.1% of all worldwide electricity consumption \u2014 as much power as Ireland\u00a0\u2014 for just\u00a0<a href=\"https:\/\/blockchain.info\/charts\/transactions-per-second?timespan=30days\">two to four transactions per second.<\/a> This is a large enough externality that <a href=\"https:\/\/www.nytimes.com\/2018\/01\/21\/technology\/bitcoin-mining-energy-consumption.html\">everyone else is noticing, and has a few objections.<\/a><\/p>\n<p>&nbsp;<\/p>\n<blockquote class=\"twitter-tweet\" data-width=\"550\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">Thinking about how to reduce CO2 emissions from a widespread Bitcoin implementation<\/p>\n<p>&mdash; halfin (@halfin) <a href=\"https:\/\/twitter.com\/halfin\/status\/1153096538?ref_src=twsrc%5Etfw\">January 27, 2009<\/a><\/p><\/blockquote>\n<p><script async src=\"https:\/\/platform.twitter.com\/widgets.js\" charset=\"utf-8\"><\/script><\/p>\n<p>&nbsp;<\/p>\n<p>Proof-of-work was a kludgy hack. When Satoshi Nakamoto created Bitcoin, he needed decentralisation \u2014 and this hack approximated it.<\/p>\n<p>The approximation worked well enough for a few years. But proof-of-work has economies of scale, so \u2014 per <a href=\"https:\/\/davidgerard.co.uk\/blockchain\/table-of-contents\/\">chapter 5<\/a> of <a href=\"https:\/\/davidgerard.co.uk\/blockchain\/book\/\">the book<\/a>\u00a0\u2014 it naturally recentralises. So we now have <a href=\"https:\/\/blockchain.info\/pools\">three or four mining pools<\/a> controlling <i>most<\/i> of the Bitcoin transactions. Other cryptocurrencies do <a href=\"https:\/\/arewedecentralizedyet.com\/\">even worse.<\/a><\/p>\n<p>Cryptocurrency advocates have cast about for other consensus mechanisms that can approximate decentralisation\u00a0\u2014 but aren&#8217;t as stupidly damaging as proof-of-work.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/davidgerard.co.uk\/blockchain\/2017\/11\/15\/bail-bloc-mine-monero-generate-co2-send-less-money-than-you-spent-to-charity\/smokestacks-by-hans-at-pixabay-cc0\/\" rel=\"attachment wp-att-2209\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-2209\" src=\"https:\/\/davidgerard.co.uk\/blockchain\/wp-content\/uploads\/2017\/11\/smokestacks-by-hans-at-pixabay-CC0.jpg\" alt=\"\" width=\"600\" height=\"450\" srcset=\"https:\/\/davidgerard.co.uk\/blockchain\/wp-content\/uploads\/2017\/11\/smokestacks-by-hans-at-pixabay-CC0.jpg 960w, https:\/\/davidgerard.co.uk\/blockchain\/wp-content\/uploads\/2017\/11\/smokestacks-by-hans-at-pixabay-CC0-300x225.jpg 300w, https:\/\/davidgerard.co.uk\/blockchain\/wp-content\/uploads\/2017\/11\/smokestacks-by-hans-at-pixabay-CC0-768x576.jpg 768w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h3>Proof-of-stake<\/h3>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Proof-of-stake\">Proof-of-stake<\/a> was <a href=\"https:\/\/bitcointalk.org\/index.php?topic=27787.0\">first proposed<\/a> by BitcoinTalk user QuantumMechanic on 11 July 2011. The idea is that you show your commitment by holding coins. You get to mine the next block \u2014 and thus, get the coins \u2014 in proportion to your current holding:<\/p>\n<blockquote><p>I&#8217;m wondering if as bitcoins become more widely distributed, whether a transition from a proof of work based system to a proof of stake one might happen. What I mean by proof of stake is that instead of your &#8220;vote&#8221; on the accepted transaction history being weighted by the share of computing resources you bring to the network, it&#8217;s weighted by the number of bitcoins you can prove you own, using your private keys.<\/p><\/blockquote>\n<p>Proof-of-stake is a bit too obviously &#8220;thems what has, gets&#8221;\u00a0\u2014 so you have to convince the users to go along with it. It&#8217;s also as naturally centralising as proof-of-work, if not more so.<\/p>\n<p>The other problem is that people routinely spend up to $99.99 to get $100 \u2014 thus, proof-of-stake will <a href=\"http:\/\/www.truthcoin.info\/blog\/pow-cheapest\/\">rapidly approximate proof-of-work.<\/a> Though spending $99.99 out of your bank account is unlikely to be as directly damaging as burning $99.99 of coal. Probably.<\/p>\n<p>The idea is usually presented with variations, such as factoring in how old the holding is and so on. The Wikipedia article details <a href=\"https:\/\/en.wikipedia.org\/wiki\/Proof-of-stake#Criticism\">various weaknesses<\/a> of the schemes, and ways to cheat.<\/p>\n<h3>Ethereum and proof-of-stake<\/h3>\n<p>Vitalik Buterin has been <a href=\"https:\/\/bitcoinmagazine.com\/articles\/what-proof-of-stake-is-and-why-it-matters-1377531463\/\">talking about proof-of-stake since 2013.<\/a> Ethereum was intended to be proof-of-stake in the <a href=\"https:\/\/github.com\/ethereum\/wiki\/wiki\/White-Paper\">white paper,<\/a> but Buterin noted in 2014 that <a href=\"https:\/\/blog.ethereum.org\/2014\/10\/03\/slasher-ghost-developments-proof-stake\/\">proof-of-stake would be nontrivial<\/a>\u00a0\u2014 so Ethereum went for proof-of-work instead, while they worked on the problem.<\/p>\n<p>There are lots of existing proof-of-stake cryptocurrencies \u2014 but they&#8217;re all tiny altcoins nobody much cares about.<\/p>\n<p>Ethereum is bigger and more important than all the rest, with hundreds of millions of (notional) dollars sloshing around in it \u2014 so they really have to get it right.<\/p>\n<p>Ethereum Casper, the project to move Ethereum to proof-of-stake, started in 2014. It&#8217;s been <a href=\"https:\/\/www.coindesk.com\/ethereum-casper-proof-stake-rewrite-rules-blockchain\/\">six months away<\/a> for four years now. The <a href=\"https:\/\/github.com\/ethereum\/wiki\/wiki\/Proof-of-Stake-FAQs\">Proof of Stake FAQ<\/a> is a list of approaches that haven&#8217;t quite worked well enough. Casper has had numerous <a href=\"https:\/\/www.coindesk.com\/ethereum-time-highs-overshadow-wave-technical-issues\/\">technical<\/a> and <a href=\"https:\/\/www.coindesk.com\/fundamentally-vulnerable-ethereums-casper-tech-takes-criticism-curacao\/\">security<\/a> issues. The current version only adds a bit of proof-of-stake to the existing proof-of-work system.<\/p>\n<p>But <a href=\"https:\/\/www.coindesk.com\/first-version-ethereums-casper-upgrade-published\/\">Casper 0.1<\/a> has just been released\u00a0\u2014 and Buterin is <a href=\"https:\/\/www.coindesk.com\/the-economics-of-ethereums-coming-consensus-change-are-taking-shape\/\">talking about<\/a> taking it live. Can this work?<\/p>\n<h3>Worse is Better<\/h3>\n<p>&#8220;Worse is Better&#8221; is a phrase <a href=\"http:\/\/dreamsongs.com\/WorseIsBetter.html\">coined by Richard P. Gabriel<\/a> in his 1991 essay <a href=\"http:\/\/dreamsongs.com\/WIB.html\">&#8220;Lisp: Good News, Bad News, How to Win Big,&#8221;<\/a> in the section <a href=\"http:\/\/dreamsongs.com\/RiseOfWorseIsBetter.html\">&#8220;The Rise of Worse is Better.&#8221;<\/a><\/p>\n<p>The idea is that perfection is good\u00a0\u2014 but a quick hack may be more <em>viral<\/em>.<\/p>\n<blockquote><p>I believe that worse-is-better, even in its strawman form, has better survival characteristics than the-right-thing, and that the New Jersey approach when used for software is a better approach than the MIT approach.<\/p><\/blockquote>\n<p>This is okay as long as you can approximate your way to full functionality.<\/p>\n<p>Ethereum has always been a bit slipshod \u2014 it&#8217;s not technically polished, it has a history of frequent hard forks for\u00a0protocol changes, and so on.<\/p>\n<p>Solidity, the main smart contract language, is a JavaScript descendant, and explicitly targets middling JavaScript developers. There&#8217;s lots to hate about Solidity as a language \u2014 <a href=\"https:\/\/news.ycombinator.com\/item?id=14691212\">&#8220;<span class=\"c00\">Solidity is so riddled with bizarre design errors it makes PHP 4 look like a work of genius.<\/span>&#8220;<\/a> As the <a href=\"https:\/\/medium.com\/@cincinnati\/the-ponzico-white-paper-8baa98b19b97\">PonzICO white paper<\/a> puts it: &#8220;the EVM seems most efficient at transpiling developers who make bad Node.js into developers who make bad Solidity.&#8221;<\/p>\n<p>But \u2014 Solidity is the <i>first<\/i> successful smart contract language, and Ethereum is the first successful smart contract platform.<\/p>\n<p>I think this is <i>precisely because<\/i> Ethereum has been happy to approximate stuff until it works <i>well enough. A<\/i>nd Solidity lets middling JavaScript developers participate at all \u2014 you don&#8217;t have to be a computer scientist who&#8217;s comfortable with non-Turing-complete and functional smart contract languages.<\/p>\n<p>This results in some hilarious disasters, both on a small scale \u2014 the first Ethereum smart contracts exploring the field of <a href=\"https:\/\/davidgerard.co.uk\/blockchain\/ethereum-smart-contracts-in-practice\/\">incompetent fraud<\/a> \u2014 and a large scale \u2014 <a href=\"https:\/\/davidgerard.co.uk\/blockchain\/the-dao\/\">The DAO disaster.<\/a> And the <a href=\"https:\/\/davidgerard.co.uk\/blockchain\/2018\/04\/26\/smart-contracts-stupid-humans-new-major-erc-20-token-bugs-batchoverflow-and-proxyoverflow\/\">disasters continue.<\/a> But none that are bad enough to kill it.<\/p>\n<h3>Ethereum as a centralised system<\/h3>\n<p>Ethereum has the faith of its community\u00a0\u2014 much more so than Bitcoin has\u00a0\u2014 because <i>so far<\/i> the Ethereum developers have kept pulling the rabbits out of the hat. Functionally, they\u2019re the trusted central entity.<\/p>\n<p>Even the bit where they forked Ethereum just to rescue the big boys&#8217; money from The DAO hacker didn&#8217;t kill off trust in the developers. (It shook it a bit, producing Ethereum Classic.)<\/p>\n<p><a href=\"https:\/\/davidgerard.co.uk\/blockchain\/2018\/04\/07\/saifedean-ammous-the-bitcoin-standard-the-austrian-case-for-bitcoin\/\">The market doesn&#8217;t care<\/a> about the Bitcoin ideology behind decentralisation. It cares about price \u2014 &#8220;number go up&#8221; \u2014 and functionality \u2014 is the public Ethereum blockchain <a href=\"https:\/\/www.ccn.com\/cryptokitties-isnt-as-popular-as-you-think-it-is\/\">clogged with cat pictures<\/a> today?<\/p>\n<p>The market treats centrally administered ICO tokens, and centrally-controlled cryptocurrencies like Ripple (XRP), as the same class of object as Bitcoins or ether. The market wants what it wants, not what ideologues want it to want.<\/p>\n<p>So Casper just has to be <em>good enough<\/em> for the system to keep going. The market and the ecosystem won&#8217;t care that it&#8217;s functionally centralised, so long as it more or less works.<\/p>\n<p>And, in any case \u2014 Ethereum proof-of-work mining is even more centralised than Bitcoin, with four pools controlling 75% of it. We left decentralisation behind long ago.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/davidgerard.co.uk\/blockchain\/2018\/05\/13\/ethereum-casper-only-has-to-work-well-enough-worse-is-better-in-action\/ethereum-mining-pools-2018-05-13\/\" rel=\"attachment wp-att-7086\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-7086\" src=\"https:\/\/davidgerard.co.uk\/blockchain\/wp-content\/uploads\/2018\/05\/ethereum-mining-pools-2018-05-13.png\" alt=\"\" width=\"600\" height=\"261\" srcset=\"https:\/\/davidgerard.co.uk\/blockchain\/wp-content\/uploads\/2018\/05\/ethereum-mining-pools-2018-05-13.png 878w, https:\/\/davidgerard.co.uk\/blockchain\/wp-content\/uploads\/2018\/05\/ethereum-mining-pools-2018-05-13-300x131.png 300w, https:\/\/davidgerard.co.uk\/blockchain\/wp-content\/uploads\/2018\/05\/ethereum-mining-pools-2018-05-13-768x334.png 768w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>As long as:<\/p>\n<ul>\n<li>the network remains secure enough to function at all<\/li>\n<li>the price of ether doesn&#8217;t crash<\/li>\n<li>the ICO tokens keep pumping and dumping<\/li>\n<li>the latest <a href=\"https:\/\/davidgerard.co.uk\/blockchain\/2018\/04\/21\/news-14000-cryptokitties-to-kill-ethereum-history-of-earn-coms-pitato-ransomware-cryptographers-on-cryptocurrency\/\">CryptoKitties<\/a> doesn&#8217;t clog it <em>too<\/em> badly<\/li>\n<li>and it doesn&#8217;t have any disasters that are more expensive than the ones the current system has, like The DAO or the <a href=\"https:\/\/davidgerard.co.uk\/blockchain\/2017\/11\/08\/the-ethereum-parity-wallet-disaster-play-by-play\/\">Parity wallet disaster<\/a><\/li>\n<\/ul>\n<p>\u2014 then Casper will be a <i>good enough<\/i> proof-of-stake that the community can live with it.<\/p>\n<p>Casper doesn&#8217;t have to work well enough for the ideologues \u2014 it just has to work well enough for the market.<\/p>\n<br><br><div align=\"center\"><p><a href=\"https:\/\/www.patreon.com\/bePatron?u=8420236\"><img src=\"https:\/\/davidgerard.co.uk\/blockchain\/wp-content\/uploads\/2021\/10\/become_a_patron_button.svg\" alt=\"Become a Patron!\" title=\"Become a Patron!\" width=217 height=51><\/a><br><p style=\"align:center;\" class=\"patreon-badge\"><i>Your subscriptions keep this site going. <a href=\"https:\/\/www.patreon.com\/bePatron?u=8420236\">Sign up today!<\/a><\/i><\/p><\/div>","protected":false},"excerpt":{"rendered":"<p>Casper is the new &#8220;proof-of-stake&#8221; system for Ethereum. It doesn\u2019t have to work well enough for the ideologues \u2014 it just has to work well enough for the market.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[642,82,2220,644,643],"class_list":["post-7066","post","type-post","status-publish","format-standard","hentry","category-uncategorised","tag-casper","tag-ethereum","tag-proof-of-stake","tag-richard-p-gabriel","tag-solidity"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/davidgerard.co.uk\/blockchain\/wp-json\/wp\/v2\/posts\/7066","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/davidgerard.co.uk\/blockchain\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/davidgerard.co.uk\/blockchain\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/davidgerard.co.uk\/blockchain\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/davidgerard.co.uk\/blockchain\/wp-json\/wp\/v2\/comments?post=7066"}],"version-history":[{"count":28,"href":"https:\/\/davidgerard.co.uk\/blockchain\/wp-json\/wp\/v2\/posts\/7066\/revisions"}],"predecessor-version":[{"id":8011,"href":"https:\/\/davidgerard.co.uk\/blockchain\/wp-json\/wp\/v2\/posts\/7066\/revisions\/8011"}],"wp:attachment":[{"href":"https:\/\/davidgerard.co.uk\/blockchain\/wp-json\/wp\/v2\/media?parent=7066"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/davidgerard.co.uk\/blockchain\/wp-json\/wp\/v2\/categories?post=7066"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/davidgerard.co.uk\/blockchain\/wp-json\/wp\/v2\/tags?post=7066"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}