Category Archives: “Smart contracts”

Cryptocurrency Spins Out Into The Woods?

Is cryptocurrency technology heading down a path to disaster?

This summer Bitcoin is dominated by the ongoing crisis of “governance”, which is leading to fork after fork. It is increasingly evident that Nakamotoan “decentralized” and “consensus” based decision making is less than optimal for something serious like digital money.

The Bitcoin “community” (and we must use the term loosely) is, as Alyssa Hertig trenchantly says, a “Culture of Infighting”.

Sigh.

This has also been a year of multiplying “Initial Coin Offerings”, ICOs. Aided by an ever more automated process, practically anyone can whip up their own tokens, have a quick online auction, and pick up a quick mill or more. Cool!

(And I do mean “quick”. ICOs are infamous for their opaque online auctions that last a few minutes and are sucked up by big players.)

If this sounds like selling unregistered securities (on unregulated markets), the US Securities and Exchange Commission agrees. The SEC Guidance is pretty simple: if it looks like a security, then it is covered by US laws. Period.

Has this dampened enthusiasm? Not much, though it has been a boon for lawyers as people try to thread the needle to avoid regulation, yet still cash in.

As Avtar Sehra comments, the world of ICOs is now exploring various “workarounds” that resemble the “creative” business models of Pachinko parlors. These efforts basically try “to execute undercover securities issuances”.

It’s questionable how well this will work. The SEC tends to be pretty unforgiving of such shenanigans.

And Sehra makes the important point that pouring effort into this penny ante quick money stuff is neglecting the real opportunities that may exist to use this technology within the legal framework.

These workarounds “may be limiting the vision and creativity required to see the true scale of what ICOs and digital tokens could represent; blinding many in the industry to possible risks if they take the wrong path.”

Honestly, it seems to me that cryptocurrency technology is charging down the wrong path, ignoring warning signs and shoving aside the grown ups.


  1. Alyssa Hertig, Bitcoin’s Battle Over Segwit2x Has Begun Coindesk.August 30 2017, https://www.coindesk.com/bitcoins-battle-segwit2x-begun/
  2. Avtar Sehra, The New Pachinko? Exploring the Economics of Initial Coin Offerings Coindesk.August 20 2017, https://www.coindesk.com/the-new-pachinko-exploring-the-economics-of-initial-coin-offerings/
  3. US Securities and Exchange Commission, SEC Issues Investigative Report Concluding DAO Tokens, a Digital Asset, Were Securities. 2017: Washington, DC. https://www.sec.gov/news/press-release/2017-131

 

 

Cryptocurrency Thursday

Shock Report: “Smart Contracts” Are Subject To Interpretation

To hear enthusiasts for “Smart Contracts”, they are magic. The meaning of the contract is enshrined in code, and executed by computers. Cryptographic signatures and blockchain protocols assure that the contract is executed correctly and honestly. Once written, no human intervention is needed or, indeed, possible.

Entire businesses are created on this basis, so called Distributed Autonomous Organizations. Once created, these DAOs chunk along mechanically, executing business “autonomously”. No one disagrees about the results, mistakes and conflict are not possible.

This is better than magic. It’s the magic of capitalism raised to the power of magic!

What could possibly go wrong?

In the very drafty basement of this castle in the air lies the claim that these executable contracts are not only always and completely correct, but also accurately and unambiguously express the intentions of the humans involved.

The former would be an historic first in the history of software, and the latter would be an historic first in the history of human thought.

You don’t have to take my word for it.

This month, the International Swaps and Derivatives Association (ISDA) issued a whitepaper, “Smart Contracts and Distributed Ledger – A Legal Perspective” [1]

The ISDA is a group that publishes standards for contract language for derivative contracts. These people define what “is” is, and what “means” means.

With all the nitter-natter about doing derivatives trading using executable “contracts” on a blockchain, the ISDA has taken up the question of just hos “contract-y” these so-called contracts may be.

The report is rather long and dry, and generally extremely well thought out.

The key point probably is:

Certain operational clauses within legal contracts lend themselves to being automated. Other non-operational clauses – for instance, the governing law of a contract – are less susceptible to being expressed in machine-readable code. Some legal clauses are subjective or require interpretation, which also creates challenges.” (p. 3)

Basically, some “smart contracts” are simple bits of code that do something. But an actual derivative contract has a lot more in it that “operational” clauses, and you can’t leave them out. Furthermore, it’s those “non-operational” parts that are the subject of interpretation and dispute. Very few law suits are about account numbers or dollar amounts, they are always about whether and how rules apply.

The bottom line is that “smart contracts” will be subject to interpretation and dispute, period. The question is how to make them work well.

It is important to note that the ISDA report is talking about contracts in the legal sense of the word, an agreement recognized by law. While enthusiastic techies may imagine that they can declare their code to be outside any conventional legal system, it is generally the case that judges will decide what they have jurisdiction over. Code that isn’t recognized in a jurisdiction is probably not a contract in that jurisdiction, no matter how cunning it is.

Which means that the ISDA’s opinion is relevant, to say the least.

The “non-operational” language includes common phrases such as “good faith”, and “ordinary practice”. The report points out that these terms are intended to be subject to interpretation, if only because it is never possible to state all possible future conditions. They also point out that these terms may be interpreted differently by different authorities, which is why it is important to specify which authority will rule.

The report suggests hybrid contracts, part of which are machine executable, and part of which are interpreted by humans. This will require standardization of executable contract code, so the contracts will work everywhere. In short, the report concludes that ISDA has a critical role to play.


  1. International Swaps and Derivatives Association, Smart Contracts and Distributed Ledger – A Legal Perspective. 2017. http://www2.isda.org/attachment/OTU3MQ==/Smart%20Contracts%20and%20Distributed%20Ledger%20%20A%20Legal%20Perspective.pdf

 

Cryptocurrency Thursday

A Quantum-Safe Blockchain?

I noted earlier that the arrival of quantum computing (QC) is a dire threat to the Internet in general and cryptocurrency in particular. Despite the rhetoric about how groundbreaking the Nakamotoan blockchain [2] was, the implementation of Bitcoin is hardly technically cutting edge. Based on easily available cryptography currently used on the Internet, there was no consideration of the expected arrival of QC. It has arrived [3], and Bitcoin is obsolete.

What is to be done? That is not clear. There are no known ways to make the current Bitcoin protocol and data structures “quantum safe” let alone secure the rest of the Internet that Bitcoin relies on.

Last week there was excitement about an announcement from the Russian Quantum Center, which reports that they have developed “the first quantum safe blockchain” [1]. I’m far from expert on Quantum Key Distribution (QKD), but the basic idea is to replace public key based digital signatures with QKD. This addresses the greatest vulnerability in the blockchain. (I’m not positive that this addresses all the vulnerabilities, but I really don’t understand this technology very well.)

This is a good idea, indeed, an obvious approach. Problem solved!

Actually, it’s not clear that this theoretical solution is even relevant to Bitcoin in the real world.

First of all, QKC is a method for sharing keys between trusted parties (and it is rare and expensive).   This is great at the root of networks, where there are a relative handful of peers and steps can be taken to establish trust. The current PKI systems, on the other hand, are open source, ubiquitous, and equally available to everyone. We don’t need any “root” to be able to establish trust between us.

It’s not clear how soon we’ll all be able to exchange keys with each other via QKC. Until then, this technology is controlled by the big boys. That’s quite a problem for the decentralized philosophy of Nakamotoan blockchains. If we have to trust the root key managers, then we might as well have centralized servers, no?

Maybe the quantum internet will be deployed quickly, though IPV6 still isn’t fully deployed after 25 years, and there is a whole lot more “net” than there used to be. Depending on what this new architecture looks like, it might or might not be the right stuff for peer-to-peer protocols to run on, anyway.

The system described in the paper is essentially a whole new protocol. I’m not sure how it could be retrofitted on a system which already has zillions of records stored. Even if things were “quantum safe” from now on, would the old transactions be secure and trusted? I dunno.

Regardless of the ultimate usefulness of this or any other “quantum safe” blockchain, it is hard to see how it could ever be adopted by Bitcoin. For the past two years, we have seen Bitcoin thrash, unable to implement a very simple technical upgrade to deal with block sizes.  How in the world will it implement something even more radical, something that may require new hardware and fundamental changes to the system? I’m not holding my breath.

My own guess is that Bitcoin and other similar cryptocurrencies with come down with a sudden crash when quantum equipped hackers break in and steal everything. The end will be swift and irreversible.

It is more likely that this QKD technology will appear in private blockchains, running on private networks. On the other hand, if you have already built a trusted network with QKD, then you may not actually get much benefit from using a blockchain. I dunno. We’ll have to see.


  1. E.O Kiktenko., N.O. Pozhar, M.N. Anufriev, A.S. Trushechkin, R.R. Yunusov, Y.V. Kurochkin, A.I. Lvovsky, and A.K. Fedorov, Quantum-secured blockchain. 2017. https://arxiv.org/abs/1705.09258
  2. Nakamoto, Satoshi, Bitcoin: A Peer-to-Peer Electronic Cash System. 2009. http://bitcoin.org/bitcoin.pdf
  3. National Security Agency, Commercial National Security Algorithm Suite and Quantum Computing FAQ. National Security Agency CNSS Advisory Memorandum MFQ U/OO/815099-15, 2016. https://cryptome.org/2016/01/CNSA-Suite-and-Quantum-Computing-FAQ.pdf

 

Cryptcurrency Thursday

Blockchain Use Cases: Theme Parks?

Jegar Pitchforth writes in Coindesk about “5 Ways Theme Parks Could Embrace Blockchain” [1]. His basic idea is that theme parks are historically “early adopters” and pioneers of technology, and should pioneer the use of blockchain technology.

He specifically identifies five use cases:

  1. Ticketing
  2. “Fastpass tickets” (i.e., specific deals)
  3. Theme Park Currency (Branded)
  4. Audience Surveys
  5. Pay audience to advertise

Hmm.

These are scarcely new ideas. Indeed, the entire article refers to existing programs. The point must be, and the question is, what does blockchain technology bring to the table? How would a blockchain be better than current technology?

Let’s look at his use cases to see what value blockchain brings, if any.

In the case of ticketing, it seems that the main advantage is that a blockchain system can be securely accessed by any smartphone.   Current systems work fine, as far as I know, and wearable technology makes it even more convenient than a smartphone.

The “Fastpass” use case has the potentially interesting wrinkle of using “smart contracts” to implement markets for these ‘rights’. Guests could trade and bargain for seats on rides, and so on.  Or there could be various conditions attached (“You can ride if you and 3 of your friends show up in 15 minutes….”)

Assuming that this kind of activity is a desirable feature (and for some fantasy worlds, I’m not sure that you want people diverting attention to such matters), it isn’t clear that blockchain is any better or worse than any other technology. After all, so called “smart contracts” are really, really simple logic, which can easily be built into a conventional database.

The idea of Theme Park Currency is nothing more or less than digital tokens or coupons, with a ton of general purpose overhead. Since these ‘coins’ are essentially private tokens issued by the park, they aren’t “decentralized” at all. In that sense, blockchain is a terrible choice, completely incongruent with the use case.

The last two hinge on using the cryptocurrency as loyalty points to incentivize the victims guests. This may or may not be desirable thematically (and is certainly ethically problematic when children are involved), but you don’t need a blockchain or private cryptocurrency to make it work.

Overall, there is little technical or logical reason why blockchain technology is especially well suited for any of these use cases. Indeed, to the degree that blockchain is generic and invites attention to commerce it is interfering with the effort to create a magic world and to command total attention and immersion.

It is true that a blockchain-based solution might be cheap and easy compared to creating a secure private network. However, much of the cost and effort must go into the user experience not the back end details, so I’m not sure if there would be much cost savings.

Most of the features of the blockchain are actually irrelevant to these use cases. The data systems of a theme park are extremely private and highly localized. What is the advantage of using an open, internet-wide data system?

Above all, the entire theme of a “theme park” is trust. We hand over part of our life to the designers, trusting them to give us a safe and enchanting experience. Ticketing, tokens, and whatever else must all be integrated to be part of this trusted experience. What is the advantage of using a “trustless” technology to implement this deeply trustful system?

Overall, it looks to me like you could use blockchain technology, but there is hardly a compelling case to do so. And if you do, it will be necessary to integrate it into the overall magic, which likely will mean that the blockchain should be invisible. If it is done right, you’ll never know it is there.

Actually, a successful deployment would be very good for blockcahin technology in general, because it would have to create a safe and wonderful user experience.  To data, the “user experience” with blockchains is very, very weak. A Disney quality interface would lift all boats.

For example, a blockchain system requires guests (including children?) to manage cryptokeys  In the theme park this must be safe, intuitive, and generally invisible.  Developing cool metaphors and UI to do this would be a great thing to see, and would advance the whole field.


  1. Jegar Pitchforth, 5 Ways Theme Parks Could Embrace Blockchain (And Why They Should) May 16 2017, http://www.coindesk.com/5-ways-theme-parks-embrace-blockchain/

 

Cryptocurrency Thursday

A Bad Idea Implemented with A Bad Idea

Let’s be clear. I find gambling to be boring and stupid myself, and I don’t admire gambling businesses that are built the weaknesses of people. Casino and other on-site gambling is a bad idea, but at least it gets people out in the world a little bit. Online gambling is a really, really bad idea, enabling people to feed their worst inclinations in the privacy of their own home.

You won’t b surprised that I’m not a big fan of the new initiative by an opaque company called Better Gaming, who are building an Ethereum Slot Machine: a slot machine that uses Ethereum smart contracts.

The innovation here is that this game is running entirely in a smart contract. No servers are required to operate the game, unlike existing online casinos.

Running “entirely in a smart contract” isn’t quite accurate: there is no server, but much of the logic runs on your local device.  However the logic of the gambling machine is implemented with smart contracts, which is the main point.

Readers of this blog know that I have a low opinion of “smart” contracts, Ethereum or otherwise. So, I’m especially excited to see this poorly designed technology used to implement the inherently bad idea of a slot machine. Not.

Obviously, the game itself isn’t innovative. They have gone to great trouble to replicated the behavior of these ubiquitous one-armed bandits. The “innovation” is to eliminate the server, in a fully decentralised and provably fair.” system.

For once, this Distributed App (Dapp) is actually solving a real problem: trusting your online gambling provider not to cheat is, well, a gamble. Gamblers can’t win, but they want to lose honestly.

The game’s logic has to be wholly processed within the smart contracts so that anyone who wants to can see that the game is playing by the rules and can’t cheat

Of course, they are also “solving” another problem, how to run an unregulated gaming operation, “off shore” from everywhere. Cryptocurrency is, if nothing else, a perfect digital “poker chip”, easy to move around, and not tracked by annoying tax agencies or vice squads. This slot machine isn’t taxed or regulated, and all the money goes…who know where it goes?

To give them their due, there are a couple of legitimate technical innovations in this product (at least according to their write up).

First of all, they made the user app asynchronous from the blockthain. It’s extremely important to give instant gratification to the lab rat gamer, and the blockchain has too much latency to always respond instantly. So they worked out protocols to mask the delay, presumably with caching on your local device. This is a significant achievement, and certainly caught Corin Faife’s attention in Coindesk. If this is successful, it may be a model to emulated by every Dapp.

A second technical feature is the random number generation (RNG). As Donald Knuth pointed out all those years ago, “Random numbers should not be generated with a method chosen at random.” [2] This group uses the blockchain with its pseudorandom hash in its random umber generation. I’m not sure what their method is, exactly, but this is a rather clever idea because the hashes are already very solid pseudorandom numbers.

 

Overall, this is yet another example of how bad ideas sometimes inspire brilliant software. This sounds like it will be a very solid implementation of a bad idea (a digital slot machines), and it will make excellent use of a bad idea (Distributed apps using Ethereum contracts), with some creative technical wrinkles. Sigh.

One sign that this is technology whose time has come: the Better Gaming  folks are already making legally licensed online games, and presumably making money.  Yet they believe it is worth building with this new tech, even though they are well aware that the powers-that-be will not easily approve it.  They should get credit for a gutsy technical gamble, and it shows just how promising this technology is.

it’s so new that we don’t expect regulators to fully grasp nor appreciate the implications overnight and there will need to be lots of discussion and negotiation before existing gaming jurisdictions license such activity.”


  1. Corin Faife, Watch This Ethereum Slot Machine Make Payouts in Real Time. Coindesk.April 21 2017, http://www.coindesk.com/watch-ethereum-slot-machine-video/
  2. Donald Knuth, The Art of Computer Programming: Vol. 2: Seminumerical algorithms (3 ed.). Boston, Addison-Wesley, 1997.
  3. Jez San, 1st Demonstration of real-time casino games built with Ethereum Smart Contracts, in Medium. 2017. https://medium.com/@aerobatic/1st-demonstration-of-real-time-casino-games-built-with-ethereum-smart-contracts-165ba72be02e

 

Cryptcurrency Thursday

More Bogosity From Matchpool

I looked at Matchpool earlier. Actually, it is fair to say that I scowled at this project, raising a number of questions and objections. My view is that they don’t understand what they are doing, and are offering a non-solution to a misstated problem.

I concluded

It is early days, so no one is really using this cunning app yet. We’ll have to see, but I’m not expecting it to work very well.

Evidently, this logically shaky project has had a rocky execution as a company as well.

Corin Faife describes “The ICO ‘Scandal’ That Wasn’t”, walking through a couple of news items that he explains aren’t as “scandalous” as some have said.

Much of the fuss seems to be the departure of one of the founders. On the way out the door, he complained about a less-than-completely-transparent transfer of funds, over $1 million worth, out of the ICO account.

Faife tells us that this was actually a transfer from Ethereum into Bitcoin, as a “currency hedge” against the volatility of Ethereum. This isn’t an implausible story, though one wonders whether this kind of volatility it is a great sign for a business that is built on Ethereum.

A second issue is that the transfer itself required three signatures (keys), which is intended to prevent simple theft. It turns out that the remaining founder has two keys (!), partly subverting this security mechanism. He found one other person, and they just did it.

Perhaps multisignature wallets are not quite the silver bullet that some think they are. Anyway, this seems at least a bit “scandalous” to me, that large amounts of cash are sloshing around with little effective accountability.

Faife comments that, if not actually scandalous, the departure of a founder from a brand new company is certainly a bad sign. He reports that the company claims that he left because he submitted code that was rejected and had to be rewritten. (His code was “fired”, so the code quit?)

The story doesn’t explain what kinds of “errors” were flagged, though it is said to be “smart contract code”, which is the stuff that brought down The DAO, and which is notoriously iffy  even when done well.

If this story is true, then it is kind of scandalous that such a poor coder was allowed anywhere near the code base in the first place. It also suggests that this founder probably doesn’t know as much as he believes he does about smart contracts.

Overall, I have to wonder if these people actually have any idea at all what they are doing. These are silly, rookie errors that suggest they really don’t deserve the confidence of investors or users. On top of their fundamental misunderstanding of the real world problems they aim to “fix”, they don’t seem to be able to run a software development project.

The article includes an unintentionally revealing “endorsement”, by project advisor Joe Shapira of Jdate,

I think that Matchpool will be a very beneficial venture for its founders and the investors in its currency.” (quote from Shapira)

Whoa! A dating service that is very beneficial to the founders and investors, but has nothing to say to the actual users? Is that really the right idea?  I don’t think so.

To the extent that this project is focused on investors and not on customers, it is absolutely guaranteed to fail. Assuming it even gets to release. At the rate they are going, I wouldn’t bet on it.


  1. Corin Faife, Matchpool: The ICO ‘Scandal’ That Wasn’t. Coindesk.April 15 2017, http://www.coindesk.com/the-matchpool-ico-scandal-is-all-smoke-and-no-fire/

 

Cryptocurrency Thursday