Tag Archives: Rachel Rose O’Leary

Yet Another Innovation: “Reversible” ICOs

One of this year’s leading contenders for the CryptoTulip of the Year is “ICO” technology.  This post-Nakamotoan technology continues to develop, even in the face of disaster after disaster, not to mention global failure of unprecedented magnitude.

Of course, and “Initial Coin Offering” was originally modelled after an “Initial Public Offering” of stock—except without the pesky regulations.  At base, it amounts to “send me money, and I’ll send you a token”.  Ideally, the token will be worth something in the future, though it is not always clear just what the token could be used for.  And roughly 50% of the time, the tokens are never worth anything.

Surprisingly enough, this opaque and immutable blockchain technology has led to serious problems for the punters. In the very possible event that the ICO takes the money and runs, there is no way to complain, let alone get your money back. (The code is the law.)  And even honest ICOs have had disastrous bugs that cause massive losses of funds, with no way to  fix things.

One of the biggest problems with ICOs has been their fundamental design. A key pillar of Nakamotoan trustless trust is that the blockchain is immutable.  Noone can change history and steal your stuff. “Smart contracts” extend this principle to immutable executable code, which is both unchangeable (and therefore, unfixable) and makes immutable actions (and therefore, accidents cannot be repaired).

In several splashy cases, these codes had bugs in them that resulted in disastrous losses.  (Indeed, Ethereum was awarded CryptoTulip of the Year for 2017, largely on the basis of these impressive failures.) These bugs and the illegitimate results could not be fixed, at least not without rewriting history in a radially anti-Nakamotoan way.  (Again, see the 2017 CyptoTulip Award.)

Responding to these entirely forseeable challenges, the “godfather” of ICOs is now proposing a new variant:  Reversible ICOs [1]. (He apparently does not see the irony in the acronym RICO, more familiar in the wider world as the US Racketeer Influenced and Corrupt Organizations Act, used to bring down mobsters.)

Fabian Vogelsteller, early developer and said “godfather” of ICOs, has proposed a new executable contract that lets investors return their tokens for a refund at any time.  This is not exactly a breathtaking innovation in the real world, but it is revolutionary for cryptocurrencies.

Actually, it is not so much revolutionary as reactionary.  One of the key goals of Bitcoin was to eliminate the cost and inconvenience (to vendors) of cancelled payments. For that matter, these refunds are essentially rewriting history, which kind of defeats the purpose of using a blockchain in the first place.

As far as I can tell, these “reversibles” make the IPO more of a credit instrument.  The “purchaser” is making an unsecured, no interest loan that might be convertible to something else in the future.  No points awarded for inventing “debt“.

Furthermore, in order to make this work, the ICO issuer will have to maintain reserves of fiat cash or other assets, to be able to redeem cash outs.  This is a good thing, if not at all Nakamotoan.

ICOs will also be subject to “bank runs”, if everybody decides to exit at once.  Say, in the event that  a catastrophic bug in the software destroys confidence in the enterprise.  In the real world, enterprises generally maintain adequate reserves only when forced to by regulation.  So it isn’t clear how prudent unregulated RICOs will actually be.

So these RICOs are essentially recreating many of the features of  conventional, “centralized”, finance, atop the inefficient, unregulated, and bug ridden “decentralized” blockchain infrastructure.

Clearly, with the RICO proposal, ICO technology has reached a new level of irrationality.  It is certainly a leading candidate for the CryptoTulip of the Year in 2018.


  1. Rachel Rose O’Leary (2018) The Godfather of Ethereum ICOs Wants to Let Investors Take Their Money Back. Coindesk, https://www.coindesk.com/ethereums-token-standard-creator-wants-to-make-icos-reversible/

 

Cryptocurrency Thursday

The Weirdness At The Bottom Of Cryptocurrencies

The heart of the Nakamotoan cryptocurrency project is the use of computational difficulty to create a consensus “nonce” that serves as the timestamp for ordering transactions.  Different cryptosystems use different approaches, but the basic idea is for nodes to race to solve a computation, with the first (or at least one of them) chosen to be the consensus.  The problem must be so difficult that recomputing it before the next update is infeasible.

This is a clever idea, and it has worked pretty well in practice.

There are some serious question marks about this approach.  The notion of just how “hard” a problem may be is kind of iffy, which is why cryptocurrencies have an adjustable knob to make things harder, if needed.  A big part of this iffiness is that notions of computational difficulty are based on estimates of and assumptions about computing technology.  As practice has shown, computing systems can and will adapt to cryptocurrency protocols, to become vastly more efficient than any “average” network of “average” systems would be.

But I wasn’t going to harp on the philosophically shaky foundations of consensus protocols.

What I wanted to comment on is just how weird, how upside down, this entire concept is.

My many decades of software engineering were, at bottom, mainly about making code go faster.  (OK, most of my time was actually spent fixing bugs to make code work less wrongly, but the point of the code was to go fast.)

Nakamotoan protocols turn this on its head.  The entire point is to go slow, at least slow enough to defeat replays.  And in the event that we figure out how to make it go faster, the knob is turned to slow it back down!

That’s just crazy wrong, for normal software!

It also makes for weird adversarial dynamics, in which protocols try to “defend” against the most successful implementations.  Again—that’s just nuts, for normal software.

A case in point would be 2017 CryptoTulip of the Year, Ethereum.

The Ethereum protocol to date is a Nakamotoan proof problem, and, inevitably, developers have ported it from general purpose CPUs to GPU vector coprocessors (with the side effect of boosting Nvidia’s bottom line and aggravating the global shortage of GPUs).  This is what you call, “good programming”, as well as, “obvious engineering”.

This year, the process of good engineering continued, with the release of specialized processors (ASICs) custom designed to execute the Etherum problem superfast.  This development is exactly the kind of thing that ASICs were invented to do. And it threatens to make the GPU based operations uncompetative, just as GPU implementations made generic CPUs obsolete.

To be clear, the existence of these faster computations both outraces slower technology and eventually forces the difficulty setting to raise, further disadvantaging the turtles. In short, the assumptions about how “hard” the problem is have been undone by technical advances.

In most computer engineering, this would be considered a good thing, at least technologically.  Getting answers cheaper, faster, and better is a good thing, no?

However, in crypto land, this is a problem.  The problem is a mix of economic interests and technical issues.  Each generation of development is more expensive and therefore concentrated in relatively few nodes.  This threatens the entire Nakamotoan political-economic-social order, which depends onwidely distributed control of the network.

As a result, technical advances have been greeted with a desire to block them out [1].  That’s right, these fearless innovators want to hack the protocol to defeat the latest innovations.  “Distuption”,  yes, but only the right disruption.

So, to recap.  The entire Nakamotoan project depends on the weird necessity of keeping software slow.  And now, it seems to depend on making sure that the software only runs on certain systems and not on better ones.

The imagined defenses  against ASICs are as strange as you might expect.  One notion is to try to create dummy transactions designed to choke specific ASIC implementations.  (This is conceivable because ASICs are extremely optimized for one specific computation, and therefore possibly fragile in the face of unexpected inputs.)

Other ideas involve changes to the protocol designed to somehow block out ASICs. I don’t know how these would work, but it’s clearly a spy-versus-spy effort, back and forth, with new revisions of software and ASICs getting momentary advantage.  I think the underlying assumption is that software is cheaper and faster to modify than hardware, though I wonder how true that is.

(These approaches, by the way, fly in the face of the entire point of the decentralized system: the decentralized network is supposed to be uncensorable. It is not supposed to be possible to control access to the network.  ‘To save the protocol, we had to destroy the protocol.’)

And finally, many systems are moving to post-Nakamotoan protocols that aren’t based on raw computing power.  In the case of Ethereum, the roadmap is to shift to ‘proof-of-stake’, which essentially means one-dollar-one-vote.  Plutocracy is not quite as innovative as Nakamoto’s design, to say the least. But it is far less vulnerable to brute force technical defeat (though still vulnerable to many classic forms of corruption).

It’s all so weird and topsy-turvy.


  1. Rachel Rose O’Leary (2018) Ethereum Meeting Leaves Open Questions Ahead of October Upgrade. Coindesk, https://www.coindesk.com/ethereum-call-leaves-pressing-questions-open-ahead-of-october-upgrade/

 

Cryptocurrency Thursday

Blockchain Voting is not Democratic

On-chain voting fundamentally degrades to plutocracy” [1]

Well, duh!

That’s the whole idea of cryptocurrency, isn’t it?


This summer, a group of researchers at Cornell look at “on chain” voting and find many fundamental flaws [1].  Aside from the “one dollar, one vote” fundamentals, voting via “smart contracts” is vulnerable to, wait for it, vote buying.  *Gasp*  Who saw that coming?


Look, voting is all about trust.  Any voting beyond a group of people you know personally involves protocols for assuring trust in the votes. So why would a “trustless” blockchain be a good way to accomplish that?

It’s not exactly that simple, of course.  If you can establish adequate protocols to create trust where you need it, then a blockchain might be a useful tool for reliably broadcasting and archiving the results and other important data.  But a blockchain per se doesn’t make a voting scheme “fair” or “free” or anything else without good protocols on top.

And a blockchain is only a useful tool to the degree that it can be “trusted” to not screw up the intentions of the protocols.

The point of the article is that the very design of blockchains is inherently susceptible to several kinds of mischief and cheating.  Worse, the cheating would be invisible and, in that unique blockchain-way, irreversible.


Electronic voting has been studied for decades, and the research shows that it is extremely difficult to get right.  Academic research also shows that they require trusted third parties.  Blockchain voting schemes generally ignore this research, and, in any case, permissionless blockchains cannot implement coercion-free voting.

“The blockchain space today, with predictable results, continues its tradition of ignoring decades of study and instead opts to implement the most naive possible form of voting: directly counting coin-weighted votes in a plutocratic fashion, stored in plain text on-chain.”

(Predictably, the Coindesk report cites a number of such dismissive comments about this report itself [2].)

One of the obvious attacks is vote buying.  This is particularly easy if the voters are weakly authenticated as in many blockchain polls.  The speed and flexibility of blockchains also means that vote buying (perhaps in the form of splitting the payout from the result) are easy to do, and potentially hard to document.

“Vote buying marketplaces can be run efficiently and effectively using the same powerful tool for administering elections: smart contracts.”

It is also interesting to see that trusted hardware is an excellent tool for manipulating blockchain voting.  This is ironic, but actually makes sense.  The purpose of trusted hardware is to constrain and coerce the user to use only certain software and certain behaviors.  A system that say, enforces digital rights, can also enforce an illicit vote buying scheme.  The trusted hardware makes it easier to collude.

The paper describes the design of “hidden” DAOs which autonomously suborn voters, collecting and paying for votes.  This a “dark” DAO, in that the participants and operations can be hidden from everyone.  Thus, these attacks both manipulate the election and serve to deligitimize the process, due to the influence of unknown and undetectable attackers.

The paper discusses a fascinating attack, using blockchains to attack voting, including the consensus process itself (mining), in other blockchains.  This basically amounts to bigger fish-eating littler ones.  It’s actually a pretty important point:

“in a world with only one smart contract system, Ethereum, internal incentives may lead to stable equilibria. With two players, and the underdog incentivized to launch a bribery attack to destroy their competitors, such equilibria can be disrupted, changed, and destroyed.”

In general, the researchres find that blockchain voting degenerates to plutocracy—one dollar one vote.  Specifically, “all on-chain voting schemes where users can generate their own keys outside of a trusted environment inherently degrade to plutocracy”. This is scarcely surprising, since the creators and implementers of blockchains generally subscribe to this aspect of “libertarian” politics, and thus do not see any problem with excluding practically all of the world from decision making, nor with letting founders, scammers, and criminals have vast voting power.


The paper summarizes the core findings in six points:

  1. Permissionless e-voting *requires* trusted hardware.
  2. The space of voting and coordination mechanisms is massive and extremely poorly understood.
  3. The same class of vote buying attacks works for any identity system.
  4. On-chain voting fundamentally degrades to plutocracy.
  5. Hard fork-based governance provides users the only exit from such plutocracy.
  6. Multiple blockchains interacting can break the incentive compatibility of all chains.

And, as noted, they call attention to the important question of the (real) world of multiple blockchains.

“A critical and surprisingly underexplored open area of research is modelling the macroeconomics of competition between blockchains, gaining insight into how exactly such internal equilibria can fail.”


I’ll point out that at the very foundation, voting requires trust:  trust in the process and trust in the results.  Conventional voting systems expend great efforts authenticating voters, assuring fair access to the process (e.g., setting questions), and validating the results.  Proper voting authorities work hard to create trust in the process.  Critically, voting authorities take responsibility for the process.  Responsibility is really important for creating a trusted system, don’t you think?

Blockchains are “trustless”, which means that they not only don’t help with the central problem of voting, but are actually the wrong technology.  To hold trustworthy votes with blockchain, the process will generally replicate many features of non-blockchain systems (authentication of voters, certification of results), but the blockchain isn’t useful for these processes.  And, by the way, the trust in the whole system depends on the whole, end-to-end, process, of which blockchain is a tiny part.

These problems matter quite a bit because the governance of these blockchains is based on these forms of voting.  As we have seen, Nakamotoan consensus doesn’t necessarily work very well when big money is on the line.  This paper suggests that these failures may be partly due to the flawed, non-democratic nature of blockchain voting.  And the paper suggests that the very core consensus process is vulnerable to deliberate manipulation.  Yoiks.

These problems also matter because many people look to blockchains as a mechanism for creating a fairer, more democratic economy and society  (e.g., here, here, here, here, to mention only a few). Sometimes this sentiment is driven by a deep distrust of conventional authorities, often well earned.  But even so, replacing a corrupt political process with a technical system that is susceptible to corrupt manipulation is not actually a solution.

A blockchain is a trustless system.  Noone should trust trustless elections.

It’s just that simple.


  1. Philip Daian, Tyler Kell, Ian Miers, and Ari Juels, On-Chain Vote Buying and the Rise of Dark DAOs, in Hacking Distributed Blog. 2018. http://hackingdistributed.com/2018/07/02/on-chain-vote-buying/
  2. Rachel Rose O’Leary (2018) The ‘Dark DAO’ Threat: Vote Vulnerability Could Undermine Crypto Elections. Coindesk, http://hackingdistributed.com/2018/07/02/on-chain-vote-buying/

 

Cryptocurrency Thursday

CryptoTulip of the Year: Ethereum Could Repeat

As noted last week, “The ICO” is clearly a strong candidate for this year’s not-at-all-coveted “CryptoTulip of the Year” award.

But it would be a mistake to count out last year’s winner, Ethereum, for a repeat.  For one thing, everything that carried Ethereum to recognition is still happening.  In particular, the Great Oopsie of 2017 is still unresolved, with no resolution in sight.

Nor is the underlying governance crisis settled. In fact, no progress has been made this year [2].   One “innovation” this year has been the “Council of Ethereum Magicians”,  which seeks to solve the dilemmas of deadlocked democracy through an unelected group of technocrats, Philosopher Kings.  In this, Ethereum recapitulates Plato’s Republic, described circa 380BCE.  This is also the secret of “success” for the European Union (see [3]) and the Euro.

Of course, Ethereum is also the platform of choice for ICOs, as well as many other crypto manias, including flat out Ponzi schemes and  even an assassination market. There is nothing quite like fraud built on top of a faulty technical platform, with no one in charge!  It’s bogosity all the way down!

“Larry Cermak, an analyst, described the situation on Sunday as “depressing.”

“”Legitimate use cases like [decentralized exchanges] and prediction markets are not gaining any traction while scams and useless games are thriving,” Cermak tweeted.” (quoted in [4])

It’s going to be a very competitive race for this year’s CryptoTulip Award.  We’ll see how the second half of the year plays out.

  1. Brady Dale and David Floyd (2018) Ponzi Games Are Breaking Out on the Ethereum Blockchain. Coindesk, https://www.coindesk.com/scam-or-be-scammed-ponzi-games-are-breaking-out-on-ethereum/
  2. Rachel Rose O’Leary (2018) Ethereum’s Most Heated Tech Debate Is Proving It’s Far From Over. Coindesk, https://www.coindesk.com/ethereums-most-heated-tech-debate-is-proving-its-far-from-over/
  3. Yanis Varoufakis, Adults in the Room: My Battle with the European and American Deep Establishment, New York, Farrar, Straus and Giroux, 2017.
  4. Rachel Rose O’Leary (2018) What Scams? Ethereum’s Vision for Apps Is Only Growing Bolder. Coindesk, https://www.coindesk.com/what-scams-ethereums-vision-for-apps-is-only-growing-bolder/
  5. David Floyd (2018) The First Augur Assassination Markets Have Arrived. Coindesk, https://www.coindesk.com/the-first-augur-assassination-markets-have-arrived/

 

 

Cryptocurrency Thursday

Ethereum Governance Thrashing

Winner of the 2017 CryptoTulip of the Year Award, the Ethereum community is working hard to repeat this year.

I give this community credit.  They are one of the most open and open-hearted cryptocommunities out there. As they tackle the deep problems encountered by every Nakamotoan cryptocurrency, they are honestly and openly trying to find good solutions.

Which makes it especially painful to watch them struggle and strain so hard.

Ethereum is still struggling to figure out what to do about last fall’s oopsie  which has frozen $100M worth of Ether due to a minor coding error.  The obvious and normal solution is to override the technical error, and return the funds to the owners in some simple fashion.  But Nakamotoan blockchains cannot do this, except by rewriting history.  Ethereum already went through that with an earlier oopsie, which caused the creation of an alternative version of Ethereum.  That was an ad hoc decision by a few insiders, and most people agree that there should be a better way to do it.

This question has generated heated discussions of decision making.  A proposal for a standard way to allow proposals for rewriting history was hotly contested.  An official way to violate the core sanctity of the ledger is bound to be controversial, and led to consideration of how contested decisions can and should be made.

Other communities have fallen apart over such issues, but Ethereum has retained remarkable solidarity even in the face of deep divisions [2].

But, just like other crypto communities (and many Internet communities), they seem bound to recapitulate the history of human government, step by step.  (This kind of ignorance is one of the consequences of eschewing conventional education, IMO.)

So, “Ethereum Is Throwing Out the Crypto Governance Playbook” [3] reports Rachel Rose O’Leary.  This turns out to be a proposal governance by “non-political” technocrats.  If the problem is that “technical debates have been obscured by politics”, then the solution is to let “the developers” decide what the code is and does.

This concept was called the “Fellowship of Ethereum Magicians” and Rachel Rose O’Leary tagged it a “Magic Solution?” [5].. ‘?”, indeed.  This concept is said to be modelled after the Internet Engineering Task Force (IETF), which has stewarded the basic technical specifications of the Internet.   (The IETF has also stewarded hundreds of proposals that were never adopted or implemented.)

Apparently, the person quoted has never participated in actual Internet standards development, since it is characterized as operating “without any kind of corporate funding or any other sponsorship body that could in some way influence the activity of the collective.”  Really?  Do you know anything at all about the development of the DARPAnet NSFNet Internet?

Another proposed “innovation” is an “Experimental Voting” scheme [4]. This turns out to be a variant of “one dollar-one vote” (basically, with a deflator to dilute the top end of the distribution).  At bottom, people will buy a stake in a decision. In principle, this will make the decision fair and representative of the stake holders, if not of the world in general.

To review.  Ethereum currently has a classical Nakamotoan governance, inspired by the open source software model. Majority rules, minority walks.  Consensus via apartheid. And In the case of Ethereum, there is a visible and influential founder who wields enormous implicit power [1].

Tossing out this Nakamotoan playbook, the “innovations” include a dictatorship by experts (Plato’s Republic). Technicians above politics will run the show, they’ll let us all know what has been decided.  The second “innovation” is market-based voting, essentially shareholder “democracy”. People with money will buy votes to make their wishes come true. (That’s never been tried before!)

Wow!  Such amazing originality.

There is a third “innovation”, and that is a (potentially giant) town hall meeting [6]. In fact, Wolfie Zhao reports that “Ethereum Summit Attendees Commit to Governance Plan” [6].  This plan includes teleconferences, creation of “open-source tools to collect key signals and metrics,” and an open Summit (i.e., a town hall meeting). The idea is to develop a more visibly democratic process.

Oh, and meetings, bloody meetings.

I’m not really sure what “key signals and metrics means”, but I’m very sure that different people will have different opinions on what should be measured, and how to interpret the measures. (Pesky politics again!)

And I am 100% sure that an unstructured meeting will not produce any clear results. In fact, it could easily devolve into factions and *gasp* politics.

The key theme here (aside from my own use of Coindesk’s irreplaceable reporting) is a trust in technology and a distrust of humans.  This philosopy is fundamental to the Nakamotoan project.  Somehow, technical solutions will save us from the fallibility and selfishness of humans.

No points for guessing my own view on that.

But, again, I am impressed at how well Ethereum is handing this struggle (however misguided and hopeless it may be). These is genuine respect and decency most of the time (and when things have fray, it is for very good reason).

This is truly a ray of hope: with enough good will and good leadership, pretty much any technical system can be made to work.  So maybe Ethereum can make it after all.  But if it does, it will be because of trust, not trustlessness, and people, not technology.


I should acknowledge the consistent and useful reporting from Coindesk on these issues.  Rachel Rose O’Leary and  Wolfie Zhao obviously have the Ethereum Desk at Coindesk, and they have done a thorough and even handed job.  Thanks, much.


  1. Rachel Rose O’Leary (2018) Ethereum Governance ‘Not That Bad’ Says Buterin Amid Fund Debate. Coindesk, https://www.coindesk.com/ethereum-governance-not-bad-says-buterin-amid-fund-debate/
  2. Rachel Rose O’Leary (2018) Ethereum Infighting Spurs Blockchain Split Concerns. Coindesk, https://www.coindesk.com/even-ethereums-top-developers-think-blockchain-split-might-inevitable/
  3. Rachel Rose O’Leary (2018) Ethereum Is Throwing Out the Crypto Governance Playbook. Coindesk, https://www.coindesk.com/ethereum-throwing-crypto-governance-playbook/
  4. Rachel Rose O’Leary (2018) Experimental Voting Effort Aims to Break Ethereum Governance Gridlock. Coindesk, https://www.coindesk.com/experimental-voting-effort-aims-break-ethereum-governance-gridlock/
  5. Rachel Rose O’Leary (2018) Magic Solution? ‘Fellowship’ of Coders Embark on Ethereum Quest. Coindesk, https://www.coindesk.com/ethereums-magic-solution-fellowship-coders-embark-governance-quest/
  6. Wolfie Zhao (2018) Ethereum Summit Attendees Commit to Governance Plan. Coindesk, https://www.coindesk.com/ethereums-eip0-attendees-commit-to-governance-plan/

 

Cryptocurrency Thursday

Ethereum Contracts Are Buggy!

CryptoTulip of the Year for 2017, Ethereum is still thrashing around.  It seems like there is another great idea for totally remaking the system every week or so.  Indeed, sometimes there are so many ideas flying around it is hard to see how it can all stick together in a single system.

Nevertheless, confidence and enthusiasm remain high, even though they still haven’t figured out how to deal with last year’s big “oopsie” that left millions of dollars worth of Ethereum unreachable.

Personally, I don’t really think that a gang of unelected philosopher kings is really going to solve the problem.  (Plato advocated this back in the day, but it has never worked as advertised.  “Wise dictators” are usually just dictators.)


 

Meanwhile, out in the real world….

Several exchanges reportedly have “paused” Ethererum contracts in response to reports of bugs. In fact, they basically stopped support for the problematic ERC-20 protocol completely.

Wow!  Crypto exchanges acting almost like real, grown up businesses!  What a concept!

Of course, I have to wonder, “why now?”

The particular bugs in question are just the latest of a long line of such bugs. So why were they allowing ERC-20 in the first place?

All snarking aside, this development actually raises some very important points.

First of all, the bugs in question aren’t necessarily a flaw in the protocol, they are mainly just bad programs.  There will always be bad programs.  There is no such thing as a bug free programming language, and there can never be one.  If using Ethereum contracts depends on all contracts being correct, then it will never work, it can never work. Never.

Second, despite the decentralized protocol, and the fact that “no one” is in charge, in the real world the end-to-end system does have people in charge, and can respond to problems. In this case, the operators of the exchanges have intervened to protect their customers and their business.

Unfortunately for some users, the response is a draconian ban on the whole ERC-20 protocol. In this case, I don’t see much alternative.  It’s impossible to really tell if some ERC-20 contract is a problem or not.

Third, note that just because the blockchain is decentralized and immutable doesn’t mean that everyone has to agree on what to do with it.  The ERC-20 protocol and code is still there, indeed, it will be there until the heat death of the universe. But a lot of people can’t use it because their exchange does not honor the protocol.  Ironically, the “decentralization” that assures there is no one who can “censor” the blockchain, also assures that there is no one who can “censor the censors” of the blockchain.

This kind of behavior could be problematic in the long run. If part of the network accepts some contracts and not others, then how can anyone really use the system.  This is sort of a really soft ‘fork’ that effectively splits the network Even though there is a single technical system, it is used differently by different sub networks.

Ethereum is certainly pushing hard to repeat the CryptoTulip of the Year in 2018!


  1. Nikhilesh De (2018) Crypto Exchanges Pause Services Over Contract Bugs. Coindesk, https://www.coindesk.com/crypto-exchanges-pause-services-over-contract-bugs/
  2. Rachel Rose O’Leary (2018) Ethereum Infighting Spurs Blockchain Split Concerns. Coindesk, https://www.coindesk.com/even-ethereums-top-developers-think-blockchain-split-might-inevitable/
  3. Rachel Rose O’Leary (2018) Ethereum Is Throwing Out the Crypto Governance Playbook. Coindesk, https://www.coindesk.com/ethereum-throwing-crypto-governance-playbook/
  4. Rachel Rose O’Leary (2018) Ethereum’s Dialogue Divide Is Slowing Answers to Its Toughest Questions. Coindesk, https://www.coindesk.com/ethereums-dialogue-divide-slowing-answers-toughest-questions/

 

Cryptocurrency Thursday

Cryptocurrency Governance: Ethereum Leads The Way

In many ways Ethereum has surpassed the patriarch of the unhappy crypto family, garnering the CryptoTulip Award for 2017 .  As noted in the award, Ethereum is particularly noted for its whipsawing cognitive dissonance.

This week, Rachael Rose O’Leary gives a nice rundown on the dissonance surrounding EIP867, the proposal for a standard process for “returning funds”—by rewriting history [3].

The proposal itself is not especially innovative or radical, at least for most contexts.  But in the cryptoworld, the very idea is deeply contested, and has attracted fierce arguments and resistance.  O’Leary characterizes the dispute as reflecting two different Nakamotoan (Buterine?) principles:

  1. Code is Law
  2. Code is a Process

One of the curiouser concepts coming out of the Nakamotoan tradition is the slogan that “code is law”.  This is the principle underlying “smart contracts”, and the Distributed Autonomous Organizations built on them.  Technically, the idea is that the immutable, “write once” ledger is the sole and final “truth” of the system. If it’s on the ledger, it’s valid, else, not.

Applied to executable contracts, this means that once entered in the blockchain, the code is, by definition, correct—whether or not puny humans agree.  Furthermore, since the code and its results are immutable, they are beyond appeal, at least technologically.

These days, even talking about or planning for the possibility of appeals is anathema to many true believers.

I’ll note that the “code is law” slogan implicitly defines “law” as a set of impersonal, automatic, and immutable mechanical rules.  While humans have never yet achieved the superhuman state of being able to flawlessly write and execute unambiguous rules, some people seem to hope that computer code can provide this sort of “law”.  (The many oopsies already seen in Ethereum certainly raise questions about the supposed virtues of code.  This might have something to do with the fact that code is written by fallible humans.)

The “code is a process” view described by O’Leary is more aligned with the viewpoint of users, and with the notion that the code is there for a purpose and the purpose is “the law”.  In particular, the ledger and executable contracts are there to fulfill the intentions of the users.  From this point of view, tf and when the code does not meet the intentions of the humans, it is the code that is wrong, not the puny mortals. In this world, the mechanized processes (“the code”) are part of an overall system, not the ultimate and complete definition of it.

This “code is process” view is, of course, pretty similar to conventional business and engineering practices.  Inevitably, the determination of “correct” results depends on the opinions of the humans involved.  There may be quite a few people involved, and they may not agree with each other. For this reason, in this real life scenario, there always needs to be processes for judging and deciding cases.  You might say that “process is the law”.


The bitter spat about EIP867 is actually about the very nature of cryptocurrency systems.  Should we trust code more than humans? Can we trust code more than humans?  Are cyprotocurrency systems mechanical devices moving data around according to immutable rules?  Or are they people-to-people systems for transacting whatever business the people want?

One of Nakamoto’s “disruptive” idea is to evict people from the system.

(I think the syllogism implicitly is something like:
“People can’t be trusted”. 
“Therefore, remove the people from the loop.”
“Ergo, the system can be trusted.”)

Ethereum is finding that the people aren’t so easy to evict.

These fundamental questions are mutually contradictory, and therefore difficult to resolve in a single system. It falls upon the Nakamotoan-style “governance” process of Ethereum, adopted from open source software. Decisions are made through a propose-comment-revise-agree process, with final agreement in the form of de facto “consensus”—if you run the code, you “agree”, and if you don’t agree, you don’t accept the code.

To date, the savage talk in Ehterland shows that this governance process is not capable of deciding these issues. This has also been true in Bitcoinland .

I’ll note that the Nakamotoan concept of “consensus” in practice actually means “if you don’t like it, you can split off your own branch”.  This isn’t exactly what most of us mean by the term “consensus”, it is much more like “religious schism” (or apartheid)..  The resulting splitting is certainly “disruptive”, but not really in any good way.

While I would (and have) characterized the governance of cryptocurrencies as catastrophically flawed, Oleary reports  Ethereum founder and opinion leader Vitalik Buterin thinks it is “not that bad”.  He thinks the problem is “poor communication” [1].

What we got here is a failure to communicate.” (from Cool Hand Luke (1967))

With all due respect, I think Sensei Vitalik is flat wrong here.  The controversy is not about the way the proposal is presented, it is about the fact that such a proposal should not even be possible, in a Nakmotoan, code-is-law, world.  Worse, the fact that the powers-that-be have ruled such a move to be in-bounds reflects a deep disagreement about what the game is. (And it doesn’t help that there is a whiff of “insider trading” involved as well.)

No amount of explanation or communication can fix this kind of fundamental disagreement.


As Ethereum thrashes so visibly, it is important to say that these issues are endemic to Bitcoin and every other Nakamotoan cryptocurrency. However, Ethereum’s successful pioneering of “smart contracts” has pushed the community into extremely visible confrontations with the flawed logical foundations of the whole “code is law” movement.

Interesting times.


  1. Rachel Rose O’Leary (2018) Ethereum Governance ‘Not That Bad’ Says Buterin Amid Fund Debate. Coindesk, https://www.coindesk.com/ethereum-governance-not-bad-says-buterin-amid-fund-debate/
  2. Rachel Rose O’Leary (2018) Hard Fork Refund? Developer to Appeal Ethereum for Hacked Millions. Coindesk, https://www.coindesk.com/35-million-refund-developer-appeals-ethereum-hard-fork-hack-reversal/
  3. Rachel Rose O’Leary (2018) High Stakes: Ethereum’s Fight Over Lost Funds Explained. Coindesk, https://www.coindesk.com/high-stakes-ethereums-fight-lost-funds-explained/

 

Cryptocurrency Thursday

Cognitive Dissonance, Thy Name Is Ethereum

Ethereum was awarded the designation as CryptoTulip of 2017, and no small part of that distinction was due to its on-going efforts to deal with the catastrophic results of buggy “smart contracts”.

The DAO disaster of 2016 was “fixed” via an ad hoc hard fork that had the tiny side effect of creating a second, rump Ethereum currency.  Since that time, Ethereum has done several more forks to respond to problems.  And in 2017 a little oopsie resulted in millions of dollars worth of Ether being locked in inaccessible accounts.  This goof has not yet been addressed by a hard fork or any other technical fix.

The underlying problem, of course, is that Nakamotoan cryptocurrencies are designed to be “write once”, with the ledger being a permanent, unchangeable record.  This feature is intended to prevent “the man” from rewriting history to cheat you out of your money.  (This is a key part of the Nakamotoan definition of a “trustless” system.)

Ethereum has implemented executable contracts on top of this “immutable” data, which is where a lot of the problems come from.  Software is buggy, and “smart contracts” inevitably have errors or just plain produce incorrect or unintended results, such as theft.  But there is no way to correct the unmodifiable ledger, except by violating the write-once principle, i.e., a hard fork to rewrite history.

True Nakamotoists deeply believe in the unchangeable ledger not only as an engineering design but as the logical foundation of the new, decentralized world economy.  But Ether-heads have (mostly) acquiesced to multiple ad hoc forks to work around grievous bugs, which to my mind completely trash the whole point of the Nakamotoan ledger. The CryptoTulip Award citation noted “the tremendous cognitive dissonance Ethereum has engendered”.


It is very interesting, therefore, to see current discussions proposing to regularize this recovery process [2]. The idea, of course, is to reduce the risk and delay of ad hoc fixes with a more open proposal and review process.  Unfortunately, this process publicly endorses the very practice that the ledger is supposed to preclude.

This proposal has not been uncontroversial, for many obvious reasons.

In addition to the obvious problem with the whole idea of ever rewriting the ledger, the Ethereum community is dealing with questions about how “decentralized” decision making should work.

Theoretically, anyone on the Internet can have a stake in decisions about Ethereum software and protocols.  However, in the crypto world—and “open source” in general—some people are more equal than others.  Active programmers, AKA, “developers”, have influence and often veto power over technical developments.  And operators of large mining operations have veto power in their ability to adopt or reject particular features.

In the earlier ad hoc forks, the devs decided and then implemented the fork. There was little discussion, and the only alternative was the nuclear option of continuing to use the denigrated fork—which many people did. The result was two Ethereums, further muddled by additional changes and forks.

The proposed new process requires public discussion of forks, possibly including video debates. Critics complain (with good reason) that this is likely to introduce “politicians” into the process. I would say that it also will create factions and partisan maneuvering.  It is not inconceivable that (gasp) vote buying and other corruption might arise.

In short, this public decision-making process will be openly political.  What a development. The governance of Ethereum is discovered to be political!

Politics (from Greek: πολιτικα: Polis definition “affairs of the cities”) is the process of making decisions that apply to members of a group.

The explicit acknowledgement of human decision making creates a tremendous cognitive dissonance with the Nakamotoan concept of a “trustless” system, where all decisions are by “consensus”.  (In practice, “consensus” means “if you disagree, you can split off your own code”.)

But it also clashes with the core Ethereum idea of “smart contracts”, which are imagined to implement decentralized decision making with no human involvement. The entire idea of the DAO was to create an “unstoppable” enterprise, where all decisions were implemented by apolitical code.  When Ethereum forked to undo the DAO disaster, it essentially undermined the basic rationale for “smart contracts”, and for Ethereum itself.

And now, they want to have humans involved in the decision making!

The very essence of this dissonance is capture in a quote from Rachel Rose O’Leary:

For now, no further action will likely be taken on the proposal until ethereum’s process for accepting code changes, detailed in EIP-1, has been clarified.” [1]

In other words, EIP-867 is so completely inconsistent with the decision-making process it isn’t even possible to talk about it.  I guess they will continue to muddle through, ad hoc, violating the spirit of Nakamotoism.

I think that Ethereum is managing to radically “disrupt” itself and the whole concept of Nakamotoan cryptocurrency.


  1. Rachel Rose O’Leary (2018) Ethereum Devs Call for Public Debate on Fund Recovery. Coindesk, https://www.coindesk.com/ethereum-devs-call-public-debate-fund-recovery/
  2. Dan Phifer, James Levy, and Reuben Youngblom, Standardized Ethereum Recovery Proposals (ERPs). Etherium Ethereum Improvement Proposal, 2018. https://github.com/ethereum/EIPs/pull/867
  3. Rachel Rose O’Leary (2018) Ethereum Developer Resigns as Code Editor Citing Legal Concerns. Coindesk,  https://www.coindesk.com/ethereum-developer-resigns-as-code-editor-citing-legal-concerns/

 

 

Cryptocurrency Thursday

Ethereum explores actual software engineering

Cryptocurrency software generally has rather spotty quality.  Aside from the usual woes of ‘open source’ software, including a rush to market, minimal budgets, endless happy talk from the business side, and inexperienced programmers; cryptocurrencies suffer from their ‘decentralized’ governance model, which makes serious engineering difficult.

As a result, the major cryptocurrencies all have grievous performance problems, and, of course, awesomely dumb bugs.

Ethereum (winner of the 2017 CryptoTuilip of the Year award) has provided a veritable clinic on the shortcomings of decentralized management of software.

Now, it is true that Ethereum has an actual human founder (Vitalik Buterin), who does intervene to nudge (or even bulldoze) the community in certain directions.  But engineering changes are still done in the decentralized mode:  build it first, and then see if everyone agrees to use the modified software.  Astonishingly enough, letting users decide on every engineering detail (retroactively) is at best awkward, and at worst disastrous.

As widely noted, Ethereum has been experiencing performance issues due to the success of the CryptoKitties game.  In particular, the transactions for this one application have filled up the shared ledger, and sucked down processing time for all the nodes of the network.

Let’s be clear, these technical problems are perfectly normal, and, in fact, they are a sign that the software is successful and maturing.  There are any number of technical moves that might be made to increase capacity or ration usage or both.  Unfortunately, these normal engineering decisions required to save the whole system will disadvantage some individual users. Unfortunately, with the decentralized governance approach, anything that cannot command near unanimous approval cannot be implemented.

Amazingly enough, faced with potential collapse, Ethereum is seeing something almost unthinkable:  actually serious software engineering, beyond happy talk and and wringing in Reddit.

This month saw excitement over actual optimizations of the Ethereum system. Among other amazing fixes, various temporary files have been eliminated, vastly decreasing the storage needed.  Other fixes deal with gross inefficiencies in handling the data structures in memory.  It’s hard work, but pays off with much better performance.

Buterin himself is exploring serious redesigns including “stateless” clients and sharding.  These designs replace the mindless replication of all the data on every node with more clever ways to split up the data and work. These approaches are well known and well tried: they have been in use for decades in systems such as massively multiplayer online games (think World of Warcraft and other similar systems).  I’m sure they can be made to work pretty well for Ethereum.

Obviously, these are good ideas. They were good ideas twenty years before Ethereum was built.  It’s about time that these systems with millions and millions of dollars riding on them got up to reasonable levels of engineering.

I could be grumpy and point out that , back when I was a lad, we used to think things through before we released the product, not after several years, and hundreds of millions of dollars worth of goofs.

More important, though, is the observation that the optimizations that are rolling out now have been implemented by companies and individuals not constrained by a decentralized ‘consensus’ mechanism. The client-side software is more or less ‘open source’, but it isn’t governed by the same ‘everybody or nobody’ consensus rules.  Hence, it is possible to change the code relatively radically and relatively quickly.

In contrast, the server side stuff (e.g., sharding) is moving slowly. It’s worse than design by committee, it’s design by … who knows?  And even if a good plan emerges, it still has to survive the consensus process.  This could take years.

We’ll see.

As I said, this is a becoming case study in the difficulties of engineering decentralized systems.


  1. Alexey Akhunov. 2018. “Roadmap for Turbo-Geth.” Medium, January 6. https://medium.com/@akhounov/roadmap-for-turbo-geth-31cbfb1e72b7
  2. Vitalik Buterin. 2017. “The Stateless Client Concept.” EtherResearch, October. https://ethresear.ch/t/the-stateless-client-concept/172
  3. Rachel Rose O’Leary,  2018. Blockchain Bloat: How Ethereum Clients Are Tackling Storage Issues. Coindesk. https://www.coindesk.com/blockchain-bloat-ethereum-clients-tackling-storage-issues/

 

 

Cryptocurrency Thursday

 

More on CryptoKitties

Continuing the saga of CryptoKitties:

Last week I wondered about the business model and governance of the Ethereum swamping CyptoTulipsKitties game.  This week we learn a bit more.

Rachel Rose O’Leary reports that the game isn’t quite as “decentralized” as many might assume from it use of the Ethereum blockchain and executable contracts. It is mostly open source, with a few bits of game logic kept secret (for sound reasons of playability).

She reports that there are also some secret commands that lets the “core” organization (“Kitty Corp”) backdoor everything.  And playing the game requires agreeing to conventional terms and conditions that give the “core” the right to terminate or modify your assets as they will.   She also reports that the interface actually runs on a conventional server, i.e., a “centralized” architecture.

In short, in many ways, this is a conventional game that uses Ethereum as a database. This is a shocking betrayal of the basic philosophy of crypto, though, it appears to be good game design.

O’Leary quotes developers who endorse this design because “trying to run an app on the ethereum blockchain without using some help from central servers is UX suicide.” (quoting Griff Green)  I.e., as I said “smart contracts” are heinously slow and gawky, and completely unsuitable to use in a game.

So, this highly successful game “Isn’t Quite Ethereum’s Vision for Apps”.  Worse, it is sucking down resources, crowding out others from the common blockchain and consensus protocol.

Furthermore, as I noted last week, there is no barrier to cloning the game. In fact, the open source code means that pretty much anyone can make their own version of this tulip factory. Ethereum may be able to survive one CryptoKitty app, but how will it handle hundreds or thousands of them?

The bottom line is that Ethereum is by far the leader for CryptoTulip of the year.


  1. Rachel Rose O’Leary,  Scratch That: CryptoKitties Isn’t Quite Ethereum’s Vision for Apps. Coindesk.December 13 2017, https://www.coindesk.com/scratch-cryptokitties-isnt-ethereums-vision-apps/