create account

Ethereum’s Not-so-Smart Contracts by dantheman

View this thread on: hive.blogpeakd.comecency.com
· @dantheman ·
$2,445.36
Ethereum’s Not-so-Smart Contracts
It turn’s out I was right about [The DAO being Dead on Arrival](/crypto-news/@dan/is-the-dao-going-to-be-doa). Today a bug in the so-called smart contract enabled an attacker to drain The DAO of millions of dollars worth of ETH. The fallout of this attack will be long lasting. In the best of all possible outcomes, the ETH will be returned and the DAO will be shutdown. In the worst case investors in the DAO will lose tens of millions of dollars.

## Smart Contracts are Dumb  

The problem with Smart Contracts is that they are actually incredibly dumb. They possess no intelligence at all. Unlike normal contracts which can be interpreted by smart people, smart contracts are interpreted by computers.  Computers are dumb. They can only do what they are told. 


When a lawyer drafts a traditional contract, she attempts to capture the meeting of the minds. This means there is a common understanding on the intent and purpose of the contract.  

When people use Smart Contracts the intent is to replace faulty legal contracts, which might not be enforced as intended, with unambiguous code contracts which are guaranteed to be executed as coded.

## Meeting of Mind and Machine 

The problem with Smart Contracts is that they assume there is an accurate agreement between the people who use the contract and the machine which will execute the contract. In the case of The DAO, the authors and reviewers were unable to detect that the computer had a different understanding than they did.  


<center>![DWIMNWIS](https://www.allacronyms.com/260757rbot.png)</center>

Even the best coders are often surprised by unintended side effects of the code they write. Any sufficiently complex (aka smart) piece of software is bound to have bugs. This means that putting your money in the hands of a *new* smart contract can be just as risky as leaving your money any place else.

## Implications for Smart Contract Design

If we are going to move into a world of *smart contracts*, then we need to make sure our smart contracts are *smart enough* to recognize and accommodate their own fallibility. This means every non-trivial smart contract needs a governance model that allows people to be the final judge and/or enforcers of the contract.

When someone writes a smart contract, they must first document the intent in terms that the human parties to the contract can clearly understand. Any deviation from the stated intent is a *bug* and the parties involved need the ability to rectify it.

This means every smart contract must be built on top of a sophisticated foundation smart contract that implements a governance model advanced enough to reliably upgrade the contract to express its desired outcome.

## Separation Interface from Implementation

Experienced software developers know the importance of separating the *interface* from the *implementation*.  This allows a program to do the same thing in two different ways. More importantly, it allows complex systems to be built on modular parts. The parts provide an interface that everyone else expects to (and depends on) behave in a particular manner. 

Any deviation from the intended behavior is considered a bug in the implementation of the interface, not the interface itself.  Having multiple independent implementations of the same interface provides a degree of redundancy that makes it unlikely that both implementations will suffer the same bugs. The more independent implementations that agree, the less likely there is a bug in the result.

## User Actions are Abstract Inputs

User actions are signed messages that serve as the inputs to smart contracts. The purpose of a blockchain should be limited to establishing the order of messages. The outcome of a smart contract needs to be an independent interpretation of these messages.  If there is a bug in the contract, then the messages should be re-interpreted as the people involved originally intended.

## Side Chains are Superior 

A side chain is nothing more than a smart contract with a proper governance model. One or more people are selected to evaluate inputs to the contract and generate signed messages that cause the desired effect within other *chains*.  

If *The DAO* were a Side-chain, then the DAO token holders would elect *curators* who would interpret the rules of *The DAO* and then sign messages to initiate payments to the desired *contractors*.  If a bug were found in the *implementation* of The DAO’s *interface*, then the *curators* could update their code.

Assuming the rules of *The DAO Sidechain* allowed ample time to review the outputs for potential bugs, then everyone could rest assured that no money would escape without adhering to the *intent* of the DAO.

## Reliance on Humans 

Many people are loath to rely on humans as the final arbiter of smart contract interpretation. More still are skeptical of systems that depend upon voting. 

The reality is that you either rely upon *human* coders and code reviewers to be infallible in implementing and interpreting the intended *interface*, or you rely upon a panel of *human* judges to determine if the code is behaving as intended and to change the code after the fact if an unexpected bug in the *implementation* is discovered.

While it is possible to trust most people to do the right thing most of the time, it is impossible for the most trustworthy coder to certify that their code will always do the right thing. The logical conclusion is that it is better to trust someone with the power to *change the code* than it is to trust the code to be perfect.

## Smart Contracts with Human Backup 

The combination of smart contracts with human governance gives us the strengths of both. The very existence of a smart contact and well documented *interface* means that human judges have a much more *objective* job.  

Contracts written in legalese are often ambiguous and/or self contradictory. The process of writing a *smart contract* involves a level of clarity that leaves little room for subjective reinterpretation. Humans merely have to judge whether the *output* matches the *specification* and *intended meaning* of the code.  Resolving the dispute means approving a new implementation of an existing interface.

## The Future is Standardized Contracts

The risks involved with writing new smart contracts are huge. Only the most heavily used and tested contracts can be trusted for any mission critical business operations. The longer a contract is used, the less likely it is to contain undiscovered bugs. 

This means the cost of developing and deploying new smart contracts will be incredibly high. Platforms like Ethereum have attempted to lower the barrier to entry by eliminating many common bugs, but no one has invented a programming language capable of doing what we mean instead of what we say.

Anyone serious about implementing smart contracts on Ethereum will need to design their contracts on top of rock-solid governance systems that give *people* the power to correct bugs in the code. This in turn means giving *people* the power to *steal* the funds held by the contract if they collude to intentionally change the contract. 

By the time you make a complex Ethereum contract robust against human programing errors you end up with the trust profile of a *Sidechain*. Sidechains are more flexible and scalable than having every computation performed by a single blockchain.  

## Conclusion

Due the the nature of Etheruem and the implementation of *The DAO*, the *intent* of the contract is ultimately being left to *human judges* which will decide if and how to hard fork Ethereum to correct a bug in a specific contract.

The principle is clear, despite all of the hype around “objective” and “decentralized” platforms, Ethereum and other platforms are governed by a small group of people whose job it is to enforce the *intent*. It is time we stopped pretending these platforms are trust free, and instead recognize that we will always end up trusting someone with the power to fix bugs. The power to fix bugs is the power to destroy.  

New smart contracts are like new companies, they cannot be fully trusted.  Old smart contracts are like large, well-established companies: people implicitly trust them with their money. It is time we started acting accordingly.
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 95 others
👎  , , ,
properties (23)
authordantheman
permlinkethereums-not-so-smart-contracts
categoryethereum
json_metadata{"tags":["ethereum","thedao","smartcontract"],"image":["https://www.allacronyms.com/260757rbot.png"],"links":["/crypto-news/@dan/is-the-dao-going-to-be-doa"]}
created2016-06-17 19:00:06
last_update2016-06-17 19:00:06
depth0
children26
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value1,222.747 HBD
curator_payout_value1,222.615 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length8,309
author_reputation240,292,002,602,347
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,687
net_rshares173,337,877,100,028
author_curate_reward""
vote details (163)
@alahrules · (edited)
You are implying that eth is governed by a small group of people? YOU? that have the steemit account with 90% of the total coins of steem??? That you already had 100 servers ready since the launch??? Hahah... cut the crap dan... cut the crap... 
and you powered down. the steemit account again??????????  did you forgot that anyone can see the power downs...?
👍  
👎  , ,
properties (23)
authoralahrules
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160617t212856533z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-17 21:28:54
last_update2016-06-18 02:03:21
depth1
children4
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length359
author_reputation-8,044,190,792,484
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,844
net_rshares-43,582,018,179,246
author_curate_reward""
vote details (4)
@alahrules ·
and i dont even want to mention.. that you upvote your own posts, for even more profit... greed killed bts... and you are doing it again this time....
👎  
properties (23)
authoralahrules
permlinkre-alahrules-re-dantheman-ethereums-not-so-smart-contracts-20160617t213042815z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-17 21:30:42
last_update2016-06-17 21:30:42
depth2
children3
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length150
author_reputation-8,044,190,792,484
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,848
net_rshares-26,471,919,173,769
author_curate_reward""
vote details (1)
@alahrules ·
You are implying that eth is governed by a small group of people? YOU? that have the steemit account with 90% of the total coins of steem??? That you already had 100 servers ready since the launch??? Hahah... cut the crap dan... cut the crap...
 and you powered down. the steemit account again?????????? did you forgot that anyone can see the power downs...?
👎  
properties (23)
authoralahrules
permlinkre-alahrules-re-alahrules-re-dantheman-ethereums-not-so-smart-contracts-20160618t020411566z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-18 02:03:42
last_update2016-06-18 02:03:42
depth3
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length358
author_reputation-8,044,190,792,484
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id36,030
net_rshares-26,471,919,173,769
author_curate_reward""
vote details (1)
@friend5 ·
$1.16
If you don't want to mention it ................ then why did you mention it? What other bodily functions can't you control?
👍  ,
properties (23)
authorfriend5
permlinkre-alahrules-re-alahrules-re-dantheman-ethereums-not-so-smart-contracts-20160618t064349349z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-18 06:43:54
last_update2016-06-18 06:43:54
depth3
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.578 HBD
curator_payout_value0.579 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length124
author_reputation523,588,824,586
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id36,166
net_rshares2,301,539,890,116
author_curate_reward""
vote details (2)
@kenmonkey ·
BTS is still working pretty well... not even close to dead. Actually it's been a very safe investment if you bought at around the current price.
properties (22)
authorkenmonkey
permlinkre-alahrules-re-alahrules-re-dantheman-ethereums-not-so-smart-contracts-20160618t050529218z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-18 05:05:33
last_update2016-06-18 05:05:33
depth3
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length144
author_reputation2,563,921,047,776
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id36,126
net_rshares0
@aurel ·
http://www.colabug.com/thread-1566099-1-1.html
properties (22)
authoraurel
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160712t115530704z
categoryethereum
json_metadata{"tags":["ethereum"],"links":["http://www.colabug.com/thread-1566099-1-1.html"]}
created2016-07-12 11:55:30
last_update2016-07-12 11:55:30
depth1
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length46
author_reputation121,930,920,906
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id84,788
net_rshares0
@belfordz ·
It also happens to be that the main intent is to remain wealthy while growing wealthier.
properties (22)
authorbelfordz
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160720t072014615z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-07-20 07:20:15
last_update2016-07-20 07:20:15
depth1
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length88
author_reputation34,078,890,529
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id212,449
net_rshares0
@belidged ·
Hi Dan, I wanted to let you know I just posted this article to linkedin today and it got over 94 hits so far. Keep being awesome and relevant even when your ahead of the curve, which you usually are. commercecoin.com :-)
👍  
properties (23)
authorbelidged
permlinkre-dantheman-ethereums-not-so-smart-contracts-20171017t231643018z
categoryethereum
json_metadata{"tags":["ethereum"],"app":"steemit/0.1"}
created2017-10-17 23:16:42
last_update2017-10-17 23:16:42
depth1
children0
last_payout2017-10-24 23:16:42
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length220
author_reputation107,019,740,819
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id17,929,596
net_rshares3,715,354,394
author_curate_reward""
vote details (1)
@byron-hazard ·
but , its most smartest new coin today
👍  
properties (23)
authorbyron-hazard
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160617t190620607z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-17 19:06:27
last_update2016-06-17 19:06:27
depth1
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length38
author_reputation682,889,840,468
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,699
net_rshares58,209,042
author_curate_reward""
vote details (1)
@cryptoctopus ·
$0.02
>It is time we stopped pretending these platforms are trust free, and instead recognize that we will always end up trusting someone with the power to fix bugs. The power to fix bugs is the power to destroy.

I was talking about this with my dad. It feels like there is no way to escape the Greek classics on political philosophy. Whenever decision making and ressources are involved, we have to deal with politics and governance. In the case of  blockchain technology, the devs are the legislators, the "smart" contracts the legislations, etc.

Blockchain forces us to reconsider the way we come to consensus but to this day, we haven't been able  to find an alternative to what was brought forward thousands of years ago.

Posted on hackernews: https://news.ycombinator.com/item?id=11924892 please upvote.
👍  , , , , ,
properties (23)
authorcryptoctopus
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160617t191649792z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-17 19:16:42
last_update2016-06-17 19:16:42
depth1
children1
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.012 HBD
curator_payout_value0.011 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length806
author_reputation365,406,972,531,657
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,712
net_rshares75,461,554,494
author_curate_reward""
vote details (6)
@tie-warutho ·
I don't like vote brigading or asking people to upvote something. Share it and they will vote how they like.
👍  ,
properties (23)
authortie-warutho
permlinkre-cryptoctopus-re-dantheman-ethereums-not-so-smart-contracts-20160617t221713966z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-17 22:17:15
last_update2016-06-17 22:17:15
depth2
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length108
author_reputation586,778,809,443
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,889
net_rshares891,525,463
author_curate_reward""
vote details (2)
@dana-edwards ·
$33.71
The problem is even old software can sometimes not be trusted. OpenSSL?
In some cases intelligence agencies put backdoors (bugs) strategically in certain software.

Turing complete smart contracts will never be fully trusted but as Dan says, the best we can do is use the most established code which has been checked the most. At the same time the purpose of smart contracts, blockchains, or code is to serve communities. These communities may include participants that are machines and humans but in the end a community requires some kind of governance to determine what to do if code fails or in order to always make sure the best interests of the community are considered.
👍  
properties (23)
authordana-edwards
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160618t061854457z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-18 06:18:54
last_update2016-06-18 06:18:54
depth1
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value16.854 HBD
curator_payout_value16.854 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length675
author_reputation353,623,611,191,427
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id36,149
net_rshares18,639,679,265,351
author_curate_reward""
vote details (1)
@dennis-estenson ·
If you don't want your ETH anymore, you could burn it in tribute, by sending it to the address [0xACDCacDcACdCaCDcacdcacdCaCdcACdCAcDcaCdc](https://steemit.com/acdc/@dennis-estenson/burn-your-eth-in-the-highway-to-hell).
properties (22)
authordennis-estenson
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160712t084922735z
categoryethereum
json_metadata{"tags":["ethereum"],"links":["https://steemit.com/acdc/@dennis-estenson/burn-your-eth-in-the-highway-to-hell"]}
created2016-07-12 08:49:21
last_update2016-07-12 08:49:21
depth1
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length220
author_reputation6,952,244,850
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id83,965
net_rshares0
@kenny-crane ·
This post contains a lot of information, and I'm only technically equipped to understand part of it.   I do understand about coders writing code that they think will work one way, only to find the computer follows the code exactly but does something the coder didn't expect!  The information about using sidechains is something I need to study.  Thanks for putting this out for all of us to see and discuss!
👍  ,
properties (23)
authorkenny-crane
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160617t221802584z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-17 22:18:00
last_update2016-06-17 22:18:00
depth1
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length407
author_reputation234,763,011,158,820
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,890
net_rshares652,602,728
author_curate_reward""
vote details (2)
@skriptroid ·
My only interaction with DAO was when I read the information on their webpage. Although a bold initiative it was obvious that was flawed, mainly on its economics rather than its smart contracts side. I did not even bother to buy a single token.

I will agree with those who pointed out, it was the human factor that caused the havoc, since the machine just went ahead and executed the code introduced. Of course this assesement may change as soon as new information come into light and the incident is studied thoroughly.

Regardless of the abovementioned I would go a step further, and for the sake of the argument, even dismiss it all. The reason of this failure is too many new features were tried upon a single platform on a single shot. Most of the time this ends badly, as there are too many "X factors", and according to Murphy's Law, the probability of failure is increased significantly.

Smart contracts need not anyone to intrepret them or give a final approval as long as it is widely understood their limitations and advantages. As soon as this is a fact, then it will be possible to develop the field. Let's not compare the discipline of contract composition being around for centuries, with a fresh trustless effort of just a few months (smart contracts) or years (blockchain).

I could not agree more with the points made about interface-implementation, sidechains and standardized contracts for the masses.

Governance is not critical and will only serve as a middle step so as to allow those involved in smart contracts to mature, feeling safe and shielded by malicious or accidental incidents in the mean time.

My advise as always, is to start making simple smart contracts, with the lowest degree of freedom, and as soon as there is confidence built up, then move to more complex structures. Even in that case, initially, I would still just bind together simple smart contracts with predicates, working with "truth tables".

Just another exciting day in the never boring world of blockchain.

Always do your own research before you invest and remember. If it is too much for you to understand, either skip or wait until you do understand what is going on.

Cheers!
👍  
properties (23)
authorskriptroid
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160618t082420798z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-18 08:24:45
last_update2016-06-18 08:24:45
depth1
children1
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,185
author_reputation563,630,330,217
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id36,223
net_rshares0
author_curate_reward""
vote details (1)
@yah · (edited)
Honestly I think the real problem here is that there was so much value tied up in the DAO. 

IMHO theDao investors need to lose big here so future DAO are approached more cautiously.

> Just another exciting day in the never boring world of blockchain.

It's so freaking interesting isn't it?
properties (22)
authoryah
permlinkre-skriptroid-re-dantheman-ethereums-not-so-smart-contracts-20160618t134829348z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-18 13:48:30
last_update2016-06-18 13:48:42
depth2
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length292
author_reputation1,065,757,906,124
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id36,380
net_rshares0
@trogdor ·
Great points. Thanks for posting. It sounds like I need to learn more about sidechains and how they work.
properties (22)
authortrogdor
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160617t190636315z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-17 19:06:36
last_update2016-06-17 19:06:36
depth1
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length105
author_reputation22,905,182,177,434
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,700
net_rshares0
@vrdad ·
The problem wasn't Ethereum or The Dao it was an exploit in a contract. That and greed. Really it could have gone the other way and just been fixed. The only problem some people are evil.
👍  
properties (23)
authorvrdad
permlinkre-dantheman-ethereums-not-so-smart-contracts-20160617t191554536z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-17 19:15:45
last_update2016-06-17 19:15:45
depth1
children8
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length187
author_reputation324,544,445,703
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,709
net_rshares60,957,988,703
author_curate_reward""
vote details (1)
@dantheman ·
$2.35
The contract is code. Ethereum executed perfectly and did exactly what the code said to do.  This is the problem.  Now ethereum is being changed even though it functioned perfectly.  The problem is that regardless of how perfect ethereum is, coders of smart contracts will never be perfect.
👍  , , , , , , , , ,
properties (23)
authordantheman
permlinkre-vrdad-re-dantheman-ethereums-not-so-smart-contracts-20160617t201018173z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-17 20:10:18
last_update2016-06-17 20:10:18
depth2
children5
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value1.174 HBD
curator_payout_value1.174 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length290
author_reputation240,292,002,602,347
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,767
net_rshares3,779,522,294,077
author_curate_reward""
vote details (10)
@dana-edwards ·
$34.97
The problem is centralized trust is masked by puritan idealists. Puritan idealists will say smart contracts are trustless and we should trust the math but if you can't understand what the code is doing because the code is obfuscated then you can only trust the programmers rather than the code.

Turing complete smart contracts  by design require ultimate trust in the programmers who write it, the auditors who check it, and the curators who stamp approval. All of the security checks and trust in the core developers failed and if it could fail for The DAO it could fail for future smart contracts of Ethereum itself.

The main thing to do is to restore trust. The community which cannot trust the developers is failed. At the same time maybe we will never be able to trust Turing complete smart contracts running on Ethereum and in that case other projects must be considered.
👍  
properties (23)
authordana-edwards
permlinkre-dantheman-re-vrdad-re-dantheman-ethereums-not-so-smart-contracts-20160618t062306432z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-18 06:23:09
last_update2016-06-18 06:23:09
depth3
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value17.487 HBD
curator_payout_value17.488 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length879
author_reputation353,623,611,191,427
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id36,154
net_rshares19,020,080,883,012
author_curate_reward""
vote details (1)
@vrdad ·
Ethereum isn't being changed. It will be the same as before.
properties (22)
authorvrdad
permlinkre-dantheman-re-vrdad-re-dantheman-ethereums-not-so-smart-contracts-20160617t210611197z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-17 21:06:00
last_update2016-06-17 21:06:00
depth3
children3
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length60
author_reputation324,544,445,703
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id35,821
net_rshares0
@steemed ·
A truly greedy person would have siphoned off just enough to where it wouldn't be detected. Whoever exposed the DAO bug had a benevolent heart.
properties (22)
authorsteemed
permlinkre-vrdad-re-dantheman-ethereums-not-so-smart-contracts-20160618t032019549z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-18 03:20:03
last_update2016-06-18 03:20:03
depth2
children1
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length143
author_reputation23,215,872,177,290
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id36,075
net_rshares0
@dana-edwards · (edited)
Or maybe they wanted to destroy Ethereum. Did they really think they'd be able to spend it? And by doing this it puts every smart contract project in jeopardy and trust in all developers of smart contracts in question.

How do you prove a developer or group of developers aren't deliberately obfuscating the code to sneak backdoors or bugs in it? I don't think this issue is over. Wait and see...

Next time some developers ask you to feed their smart contract with ETH you'll put a lot less money in it or perhaps you wont bother at all. I mean if you can't prove for sure you can trust the developer or the smart contract then how do you know it's not a donation to anonymous hackers somewhere and that the programmers aren't the hackers?
👍  
properties (23)
authordana-edwards
permlinkre-steemed-re-vrdad-re-dantheman-ethereums-not-so-smart-contracts-20160618t063322029z
categoryethereum
json_metadata{"tags":["ethereum"]}
created2016-06-18 06:33:24
last_update2016-06-18 06:35:12
depth3
children0
last_payout2016-08-24 00:14:21
cashout_time1969-12-31 23:59:59
total_payout_value0.000 HBD
curator_payout_value0.000 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length740
author_reputation353,623,611,191,427
root_title"Ethereum’s Not-so-Smart Contracts"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id36,160
net_rshares471,079,240
author_curate_reward""
vote details (1)