Smart Contracts versus Simple Contracts

in #smart8 years ago

After the latest events with the DAO-hack made everyone a bit wiser regarding the issues surrounding Smart Contracts and the way they are being implemented with their own language, I've been pondering whether all this is an overkill to satisfy corner cases that wouldn't be able to get served with "dumb" contracts.

After all, smart contracts are difficult to program, difficult for the two parties to check for "code errors" (they'd need "hackers" to check for code exploits, like having ...lawyers that check for legal loopholes), difficult to use, etc etc. On top of that you open a very large attack surface through the use of a custom made turing-complete language. Is all this complexity worth it?

I mean why not implement SIMPLE contracts?

Simple contracts would not be based on their own programming language, but on ready, 100% safe and deterministic templates.

For example, you choose a category from a tab: Property Contracts.

Then you click over the next tab and describe the property (say 10 BTC).

Then you click on "conditions", etc etc, and then you choose the other party of the contract and click send so that he can receive it and sign it if he likes. For electronic-type contracts or IoT, you could have it scripted between different PCs on whether to accept or not based on the conditions.

So, in my mind, a template-based smart contract platform that covers, say, 50-60-70% of use cases (with superior simplicity and 100% safety) would have a tremendous advantage over a complicated and problematic smart-contract platform. Eventually the use-cases can be increased, as the number of ready contract templates increases and sometime later a simple-contract platform may be able to cover 80-90%+ of the needs that would be covered by a smart-contract platform.

Let's say you want to add a distributed voting or distributed funding allocation contract and it is currently not supported. You simply add a template to it and then, that too is possible. All safe, all 100% deterministic, no rooms for "coding errors", etc etc.

Surely that must be far better than the alternative that led to the DAO-fiasco, right?

Sort:  

I absolutely agree with you. As time goes by, as I see more and more gaps in Ethereum's business model.

The main promise of Ethereum was that anybody can deploy a smart contract without asking anybody's permission. Yes, it's true. Kind of. Theoretically you can but practically not, unless you are a highly skilled Solidity coder or pay tons of money to hire one.

 Also, their smart contracts have been advertised as unstoppable but now it seems that turing-completeness requires them to be stoppable. 

Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.030
BTC 68854.36
ETH 3283.36
USDT 1.00
SBD 2.67