More On Smart Contracts

The cryptocurrency community continues to struggle to find actual users, at least users outside “the Dark Net”.

This year Ethereum has generated a great deal of interest in “smart contracts”, which use a blockchain but not necessarily Bitcoin or any specific crypto currency. There are few technical differences to distinguish between alternative cryptocurrencies or blockchains, but Ethereeum has banged the drum loudly about its Ethereum Virtual Machine that offers the completely-not-innovative “Turing complete” computations on the blockchain.

As I have noted earlier, there is much pushback against the more enthusiastic claims for so-called “smart contracts”. With good reason.

As Gideon Greenspan comments in Coindesk, “Many Smart Contract Use Cases Are Simply Impossible”. I myself have pointed out the unrealistic assumptions about external data, and he adds two more glaring problems: supposedly automatic payment (how could this actually happen?), and confidential data. The latter point is this: transparency is not desirable in many cases, including market transactions. If the blockchain is truly transparent, then everybody has exactly the same information. How can markets even work in that condition?

Chris DeRose asks in Coindesk, “Who Will Pay for Turing-Complete Smart Contracts?” His point is that “turing complete” features require the processing network to do a lot more work compared to “non-turing” approaches such as the original Bitcoin features. How can this be supported in a decentralized network? Why would all the nodes expend resources to process your contracts for you? As he notes, this last year has proved that processing even a few megabytes every ten minutes is objectionable to many operators.

I will add another twist to these points. The consensus based blockchain protocol asks every user of the system to host part or all of the records on the ledger, and if they wish to process records, they must execute the logic of any “contracts” found there (at least enough to validate the records they are interested in). Functionally, this means that any computer that directly uses the blockchain must load the data and execute work on behalf of whoever has posted the entries.

It seems to me that there is a potential legal issue here. I’m pretty sure that many organizations have “authorized use” rules that would seem to preclude using them as full nodes, and possibly of even loading the blockchain. I can imagine complaints about “misuse of company resources”, if a work computer is processing smart contracts.

There could be even greater risks. If the blockchain contains gambling payouts or extralegal commerce (which it does), then my computer is harboring the books for what may be illegal transactions where I am. Last I heard, it isn’t legal to possess illegal betting records, nor to let drug dealers use your computer for illegal purposes. I could imagine the police simply confiscating any computer that has the Bitcoin blockchain on it, on the grounds that the blockchain contains (encrypted) evidence of criminal activity. I could also imagine that if your business processes such records, then it could be declared to be abetting organized crime.

Now, the defense is that these are not your transactions or data, and you don’t know anything at all about the parties or payments. For that matter, is there any evidence that any alleged crime has occurred in your local jurisdiction? Etc. Maybe this line of argument will work, but I wouldn’t bet on it.

This is even more reason for looking at “private” blockchains, with or without “Turing complete” contracts. These will have someone legally responsible, and documentation of the parties involved. At least you will be able to assess if it is legally safe in your jurisdiction.



Cryptocurrency Thursday


2 thoughts on “More On Smart Contracts”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s