We haven't seen the last of this.
We haven't seen the last of this.
Opinion
> ethereum is a blockchain with a turing-complete programming language built on top of it and enables decentralized code execution
Fact -- but double edged sword (my opinion, of course).
I have personally been skeptical of ETH for years as their team have been promising the moon for a variety of use cases.
For me, the biggest blow to ETH is the revelation that "the code is NOT law". This is in contrast to the line they were pushing for years that the code IS law. Then someone found a bug in the first major DAO and the code was quickly changed.
So much for that. If you think that is gonna be the last issue along these lines, I've got a bridge to sell you, too.
Considering Ethereum Classic has all the features of ETH and it follows whatever your distorted definition of 'code is law' means, the fact that ETC is at it's all time low (compared to its price in ETH)). The question remains if ETH violated 'Code is Law', then how come market doesn't care.
Clearly the biggest blow to ETH is NOT the DAO fork. If ETH is not above bitcoin, then among all the reasons I can list, its decision to hard fork is not one of it (because if that is the case then ETC would have been the market leader).
I'm not sure how my view is distorted - it might be naive, I concede.
My view is basically the person who found a flaw in TheDAO code deserved to be rewarded for it, even if it was not the intent of TheDAO, because I was sold (perhaps improperly) on the code being the arbiter, not people or politics.
In my world view, if you and I wrote a contract, and in the contract, there is a typo which says that I will pay you $5 gazillion for an iPhone, then that doesn't mean that the courts must enforce it. Clearly, it doesn't follow the 'intent' of the parties.
Now, what if the other side truly signed the contract because they thought that their iPhone was being bought for 5 gazillion dollars, well this is why we don't "JUST" communicate via the contract. We communicate and perform negotiations via other human channels and the legal contract is a formalized expression of our communication.
Same thing goes with smart contracts. I don't intend to use Smart Contracts because the missing 11th commandment said: "Thou shalt obey the Legal/Smart Contracts to the word". I want to use Smart Contracts because they would be an extension of legal contracts taken to the decentralized + technology domain.
Literally, nobody put their money in the DAO because they thought that if a person puts in $1000 in the DAO then he should be able to take out $10 million if he is clever enough. It wasn't a bounty contract. If that was known beforehand, then there is no way it would have accrued $150 million worth of ethers.
> My view is basically the person who found a flaw in TheDAO code deserved to be rewarded for it, even if it was not the intent of TheDAO, because I was sold (perhaps improperly) on the code being the arbiter, not people or politics.
Lemme put it this way, had the hard fork not happened, but nearly 90% of the Ethereum holders quit Ethereum after that, (which meant that the hacker's bounty would have been decimated, would you still say that Ethereum is never going to succeed because they didn't honor the hacker's bounty?
I don't disagree that Ethereum should have forked, but that is a human response. If we can take human responses to these contracts, then they aren't any different than normal paper contracts.
One lesson is not to trust ANY contract to be immutable if it manages an outsized chunk of network capital. Another is that Ethereum will beat its private competitors, since for contracts to be trustworthy they will need to run on the biggest and most diversified network there is.
The point is, the code is not law, and no solution seems to exist that would make it possible to say it is. This stands for all cryptocurrencies.
There's no reason that smart contracts require Turing completeness (no real world program requires it, for that matter), and software theorem proving will be required for me to take smart contracts seriously. We need to be able to prove things about the contract execution for it to be safe to trust "code as contract".
Im not as upset about the hardfork as many people, though. Social constructs should be changable by politics, not indelible and absolute. That's not what they were selling, but all the same, what they were selling was dystopian nonsense where humans are chained to machines, not their masters. It's a feature not bug of social constructs to be changeable through politics. What matters is the political process to do so.
> I'm personally waiting on an ETH successor with non-Turing-complete, verifiable code.
Absolutely! My premise is that with turing completeness comes more chances for shooting in the foot.
> Im not as upset about the hardfork as many people, though. Social constructs should be changable by politics, not indelible and absolute. That's not what they were selling, but all the same, what they were selling was dystopian nonsense where humans are chained to machines, not their masters. It's a feature not bug of social constructs to be changeable through politics. What matters is the political process to do so.
This is great insight. I think for me, personally, the problem I have is that it seems like there isn't much politics involved at all... a completely centralized and small group made a decision and the great majority of users followed right along (as we would expect them to).
This is not quite how it is (or was anyway) sold to people as a concept.
98% of all bytes and blackbytes will be distributed to
current Bitcoin holders who bother to prove their
Bitcoin balances during at least one of distribution
rounds.
and that Then the number of bytes and blackbytes you receive in
each round will be proportional to the balance of your
Bitcoin address in the snapshot block of that round.
So the rich get richer, again. This is not "fair" in the sense that I thought they meant ;)Similarly, Id want a proof-checked VM for the currency, which ETH is pretty far from supporting.
So verified-ETH would be a larger, more bug-prone project than starting from first principles, developing a language and VM in parallel. (Also, starting a new project gives a chance to change the economics and/or technology used; depending on your views, this might be a benefit.)
https://medium.com/@pirapira/ethereum-virtual-machine-for-co...
I either missed it or it didn't exist last time I looked in to ETH. (About a year ago, pre-DAO.)
Either way, this is a major component of what I'd like to see in smart contracts! (The other two major pieces being a verified VM that supports that spec, and a developer library of "standard" contract pieces -- I don't recall being impressed by directly coding for the EVM, and easy-to-use contracts require a library of "standard legalese".)
Glad to see ETH is putting in the effort.
My priority is on keeping the formal definition in sync with the Yellow Paper and the implementations.
This is a very valid concern, in my opinion. Although some people seem to be working on that, it looks like still in its infancy: https://medium.com/@pirapira/1-000-ether-bounty-on-a-proven-...
I'm also afraid that 'smart contract' is sort of a misnomer. Where regular "social" contracts between people and entities define all sorts of relationships, the contracts that are put on a blockchain-serialized VM can only express relationships in terms of value transfers.
More like the Netflix to BTC's VHS
I personally equate it to DOS vs Android. The potential for ETH is massive... granted security concerns, scalability, POS are equally massive hurdles to overcome.