Smart-contracts: It's the incentive scheme that really matters

in #technology8 years ago (edited)

Inspired by the very recent Ethereum price rise, I'd like to offer my thoughts on the subject of smart-contracts and the growing myths around them. I hope my input will be complementary to this excellent article by @dantheman.

Trivial

We all know what smart-contracts are: they are computer protocols that facilitate, verify, or enforce the negotiation or performance of a contract, or that make a contractual clause unnecessary.

The above definition is quite clear but I have the impression there are lots of misconceptions about what it actually implies. I guess we tend to associate smart-contract with those smug examples served by companies like Slockit. You want to rent car and you need to pay the rental fee and a deposit, so the smart-contract ensures that you get access to the car once you have paid both of these and then get the deposit back once you are done with the car. That's quite trivial from a logical point of view (the only non-trivial part is how to arrange the whole process in the real world, e.g. solving disputes, but that's another subject). Has Vitalik made all this effort with Turing completeness just to handle such simple stuff? I don't think so.

Non-trivial

Actually, I think such sales pitches distract people from analyzing more complex examples which already exist in the public domain but we tend not to realize they are in essence complex smart-contracts. All blockchains listed on market-coin-cap are in fact various incarnations of smart-contracts and by playing with them or reading their white-papers you can get the feeling how difficult it is to come with a worthwhile smart-contract.

It's the incentive scheme

In my view, the most essential part of a smart-contract is its solution for the incentive scheme problem. A smart-contract's incentive scheme needs to be structured in such a way as to:

  • encourage people to use the smart-contract (so that they frequently interact with each other via the smart-contract),
  • discourage bad actors from cheating and abusing other users,
  • find a way to cover the costs associated with running the business.

Combing those three aspects into one package is absoluty non-trivial.

Very few actually work

Feel free to correct me if I am wrong, but I have the impression that there are very few smart-contracts in existence that actually work and even if they do, they still have their weaknesses that require further improvements. The first example that comes into my mind is the blockchain block production solution (be it proof-of-work, proof-of-stake or any other hybrid). Each approach has it downsides. As of now, the most effective one seems to be DPOS (Delegated Proof of Stake) invented by BitShares. Ethereum has been working hard to come up with an improvement on that in the form of Casper. This example shows how hard this matter is, mainly on the logical level.

Another example of a non-trivial smart-contract is the business model (or product) of a blockchain, e.g. Sia's product is cloud storage, Factum's product is managing data and keeping records, Monero's product are untraceable payments. In all these cases the difficult part is how to make a viable business out of it, or in other words, how to encourage the user to make the effort required to use the system, including accepting the fees.

Spectacular failures

The industry is young but there have been already spectacular failures in this area. The most recent one is NuBits, an attempt to create a digital currency pegged to fiat (USD in this case). It has failed because, as it turns out, the underlying smart-contract has a fundamental flaw (incentives for maintaining both the peg and liquidity around it are not properly aligned). And this happened despite the fact that people behind this project are quite smart (as you can conclude by reading their forum) but clearly not smart enough - I remember Daniel Larimer's warning about NuShares / NuBits published long time ago (anybody has a link to it?).

Another example of a badly structured smart-contract is the famous DAO. It will be interesting to see how this project evolves and if it's able to fix its problems (both the evident ones but also the more latent ones) before it hits the wall.

Positive examples

For me, so far only Ripple and BitShares have come up with solid smart-contracts that have actually proved themselves in real-life situations. Other potential candidates to join this elite group are (this is my subjective choice): Augur, Maker and MaidSafe, and of course Steem. Bitcoin is a special case - I think as a smart-contract it has enormous downsides (e.g. governance issues, scalability issues, horrendous costs associated with the proof-of-work mechanism) but still the first mover advantage has turned out to be so huge that it is able to offset all those flaws.

The meta level

I deliberately did not include platforms like Ethereum (or Lisk) in my list, as they belong to a separate category. Their domain is the meta level, as they are smart-contracts for producing other smart-contracts. As of now, they are just an empty space which will only have any value once they are populated with many non-trivial smart-contracts. And we all know how hard it is to come up with one. I've done a little bit of research (e.g. this or this) but very few of the projects hyped by the media make me truly convinced about their mass adoption potential.

By the way, please note that BitShares is the only platform that spans these two worlds. As a decentralized exchange and stable-coin platform, it is probably the most sophisticated and mature smart-contract ever deployed. At the same time, BitShares also acts as a robust solution on the meta level - it offers a way to deploy third-party smart-contracts (via worker proposals) for those projects that need industrial grade performance.

Ethereum's business model

I absolutely agree with @dantheman that attracting well structured smart-contracts which implement clever business models, can turn out to be hard for those meta-platforms. (Why would I want to share my income with the hosting platform? The network effect seems to be the only good reason). As a result they can end up playing the role of a storage for trivial cases of smart-contracts (i.e. those without any business potential) or a laboratory for experimentations, but not as a final deployment platform. It will be interesting to watch how Augur evolves and if it will choose to stay on Ethereum once it gets big.

And this brings me to the recent events in the crypto-space. It looks like Bitcoin has eventually acquired a solid competitor. This has one major implication: there is a growing demand to move value back and forth between BTC and ETH and sooner or later somebody will come up with a solution that makes this process automated and risk-free. Paradoxically, this could damage Ethereum business model. The only rational explanation for the recent appreciation of Ethereum is the assumption that its token will be needed in the future as a fuel for Ethereum-based smart-contracts. But who will need ETH once value can be moved between different blockchains easily, so that with good advertising you could tap into Ethereum network effect but still deploy your business outside Ethereum?

Sort:  

I have never been entirely convinced that a Turing Complete language to write a smart contract is necessary for the vast majority of businesses. Here's to looking forward to RootStock!

I have similar doubts. In this context, the Tau-Chain concept with its proof-of-code-execution is extremely interesting.

Generally, it's hard to have a negative outlook about Ethereum when you consider the enormous funds they now have at their disposal but I think there are many aspects that people buying ETH are not aware of, e.g. who will verify the newly created smart-contracts in terms of their potential malign behavior? Also, I think in many cases of Ethereum start-ups, their businesses could easily be built using a centralized solutions - being on blockchain gives them no real advantage except publicity.

Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.030
BTC 69264.29
ETH 3316.64
USDT 1.00
SBD 2.66