The author talks about making Ethereum more humane and user-friendly, but jargon like "The Internet of Agreements" and "Humanizing the Singularity" makes me think he's mostly interested in becoming a thought-leader through Branding™. Those terms and his bombastic language in general will not help bring Ethereum to the masses like he claims to want to do.
Also, the idea that Ethereum at $100 implies this amazing decentralized future is simply wrong, because that also implies that Ethereum at $1 didn't mean anything. Instead his argument should center around the many different businesses, products and experiments being built on the platform.
I think the post was good, but I was definitely surprised when I clicked the link to his venture capital firm only to see the ™ symbol next to "The Internet of Agreements".
"Internet of Agreements" we hope to stand up as a series of conferences, and then a trade association a bit like a more participatory "Internet of Things." Remember that Linux, Ethereum, Internet of Things are all trademarks. It's very much how the world works: if you want to build a commons, first you have to have something to share.
This statement that "If you want to build a commons, first you have to have something to share" doesn't relate in any way to a need to own this concept. Trademarking "Internet of Agreements" doesn't somehow give you more of "something to share", rather it gives you less. Whatever your reasons for capturing your IP, so that you can monetize and control it, generosity isn't among them IMHO.
What you're trying to do is define a space so that you can capture an outsized share of the attention and therefore the financial value from it. Plenty of people name spaces without needing that capture.
I think you'll find that most conferences have their name trademarked. We would get trampled by IBM, Microsoft and the rest if we didn't hold the trademark: in this instance, IP law protects the little guy, and that's how it should work.
I have FOSS'd very, very significant IP in my time - most notably the Hexayurt Project - and it has been incredibly hard to get things done. In this instance, we need the protection in order to have our vision - rather than that of one of the big Stack companies - shape the future a little.
I think Vinay has great insights into gun control, the hexayurt, and some other topics, however, on ETH, I think he's totally in error. I'd be happy to livestream chat him about it.
Disclaiming the misunderstood "marketcaps:"
Crypto currency market cap descriptions are comedic. As soon as you actually try and sell your coins into the market, you see that you've eaten through the order book and driven the whole market down 10 percent. With thin markets like cryptocurrencies, if you market sell a million of coins, you actually make quite a large dent in the order book. Thus, a disclaimer should be included that crypto market caps are very not like the market caps you're used to seeing in the stock market.
The blockchain is not a way to "arrange a lot of computers to do the same thing." it literally is just a chain of blocks. Moving them is the nodes job, and you can sibil attack the nodes if you wish. ALso, when machines drop offline or get hacked, the network notices quite dearly, as I'm sure you noticed when your ETH network was non functional a couple times this year right? You guys [formed a choir and forgot the chorus] when you rolled back the dao transactions...
Please don't use the highest ever seen price to describe the block reward for mining, its usually not $500 every twelve seconds right?
"A smart contract is a tool for changing the world." So far it seems they've only changed thew world for the worse? Is there a successful smart contract yet? Is the net gain going to exceed the loss from those poor dev's that learned how easy it is for a program to do something you didn't think it would, and now all the money is gone. Maybe, or maybe you could use safer languages for the contracts.
"Systems like Bitcoin or Ethereum have many, many implementations. As long as they can all smoothly work together (and bugs at this level are, indeed, very rare) the whole thing works like a single machine. That nobody owns."
It is surely owned. The chain itself exists on drives that are owned, the nodes and their bandwidth is owned, bitcoin has *many implementations? hmm. If no one owns it, who are these people voting for BIP's? Seems like ownership to me. The coins, the nodes, the miners are owned, and they lobby.
"Nobody owns the internet, and we get along just fine." Some citizens don't have this view, or the freedom to see it.
"[btc]The mining thing rapidly centralized in the hands of a relatively small number of miners, " You are avoiding that in ETH how?
"The ideas behind Bitcoin certainly ran into trouble as they encountered regulation" avoiding that in ETH how?
"And this is the core vision of the Ethereum community: a world in which two people can deal directly with each other, and the systems that support their interaction don’t distort the message as they carry out our instructions. You say what you want, and the machines carry your instructions to the person on the other end of the deal. Directness is the real fruit of disintermediation: people dealing as they would face-to-face, but with the benefit of a network."
Uh. I think the darknets are doing this at scale already?
I don't think the libertarians will like this: "I went to Norway recently, and I suggested at a talk I did that we could move Scandinavia very quickly to experiments involving a blockchain for payments, fully supported by their government, on the basis that taxation could be built directly into the platforms they might use (it’s unlikely, today, the Norwegian government could collect taxes in Ether not Kroner!)." When the Russians take out your internet, I guess you just won't have commerce for a while.
Your arguments for a blockchain seem to support BTC better than they do ETH. Your arguments for peer to peer commerce seem to support the darknet markets more than they do ETH. You hand wave oracles with your "internet of agreements" You will end up with human judges. Oracles solution on its own is worth more than all crypto currently.
"I think Ether at $100 means that so many people believe in the world they think Ethereum will create, that it is becoming inevitable." Dogecoin appeared pretty inevitable for a while.
Smart contracts are seriously entirely useless unless you solve oracles. If you can't trust your oracle, you can't trust your contract. Period. No hand waving.
Thus. If you want to build crypto products that are useful, like shapeshift, timestamp, and lots of other things, great! Don't think that it is ETH that you need to make that happen. Also, what exactly do I need ETH for if I want to use the ETH network for all its dreamed majesty? Isn't all I need gas, and how correlated is gas likely to be with ETH? You have humans setting that relationship no? ETH is where smart people go to throw away their BTC gains.
That being said, you're a smart dude and I like lots of what you've worked on. If you have to trust a human, you'll need a human judge. If you want to not have judges, you need to not need to trust humans. If you dont' want to trust humans, than you must determine the state of the "real world" for your "smart contracts" to make decisions. That thing that measures the real world is an Oracle. Since your oracle can be cheated, or ddos'd or make a mistake, you're back to human judges again.
Until you can create a digital oracle that is trustworthy and can translate real world events into data to be plugged into logic in your smart contract, you are wasting your time. You will, end up with judges. Hell, the DAO didn't even get to fail at the oracle level, it failed before it even got to make its first "smart investment."
All the talk of smart contracts is merely hand waving away the oracle problem. All the talk of blockchains is sadly also hand waving of lots of issues as well, which is why we've really only seen one successful one, and some of it's users nearly have a gun to their head, so it's quite compelling for them to eat the risks and make it work.
Thus the more brain power and money power that go into things that are useful instead of smart contracts with no oracles, the happier I'll be.
>As soon as you actually try and sell your coins into the market, you see that you've eaten through the order book and driven the whole market down 10 percent. With
There is no way you could push down the market 10 percent today. Maybe back in 2011, or maybe in one of the lesser known cryptocurrency markets. But in Ethereum, you could unload a huge number of ETH and the price wouldn't budge. I'm assuming of course you're not an institutional trader, in which case of course Ethereum trading volumes are insufficient to absorb large trades without significant price movements.
>Smart contracts are seriously entirely useless unless you solve oracles.
Even a basic cryptocurrency transaction (sending ETH from Account 1 to Account 2) utilizes smart contracts. Having Turing Complete script evaluation just means the range of smart contracts possible becomes larger. So for example, schemes like Lightning Network are possible with Ethereum, without any changes to the protocol.
>There is no way you could push down the market 10 percent today.
GDAX fell about 8% yesterday, from $96.82 to $89.07 in one hour (May 4, 9-10am) with about $2 million worth of trades. It's a little early to call this a post-volatility era.
It's volatile alright, but that's not the same thing as being able to push the market down with a retail-sized trade, let alone push it down a staggering 10%. And just because the market dropped 8%, doesn't mean the drop can be attributed to $2 million worth of Ether put up for sale on GDAX.
The daily trading volume is $300 million at last count. There's arbitrage happening across exchanges so the price on one exchange is not isolated from what's happening on others.
Crypto is a hard space. Most people's startups have lost them money compared to what they would have made had they just bought btc and held. Other's have left the btc ship with predictions of failure (Falkvinge, Hearn) and their doom predictions haven't yet and perhaps may not come true. I feel that many the great mind is lost to boredom with boring old BTC, the crypto you can actually buy things with. This makes me sad, for surely BTC is not yet where anyone would like it to be. The braindrain has a cost.
Massive amounts of braindrain have funneled into ETH, and not just dev's but dollars. It's like 21 inc. They failed so hard that they pivoted into a payments layer. I literally paid them a 6 percent fee to send some BTC to their founder. I could have just sent him btc directly, but then they wouldn't have a profit model right?
Thus. Time and money can be wasted. I believe that much of ETH is such a waste. And even worse, it's actually a risk magnet that convinces others to do unsafe things, like tie millions of dollars up in smart contracts, that are quite unsmart.
Bitcoin's not exciting enough, so let's iterate all the xyz thing but with bitcoin ideas. They nearly all fail, so then we're on to, lets have shorter block times, or lets tie proof of work to something that's not electricity, like storage or selfies. Then there's the "smart" layers like colored coins, branded tokens, and mastercoin, and ETH which layers on itself.
So the situation is, everyone wants to get rich, but you can only get rich in crypto if you A. start with lots or B. Get in really early. Since most people don't start with lots, and most people aren't "early" to BTC, they venture into altcoin land, also known by a diminutive term I won't use here. You could C. ico, pump and dump as well.
Thus everyone wants to get in early, and get in on the pump, few want to work with boring, slow, nearly impossible to change BTC, corners get cut, and sheep get shaved.
The growing pains BTC had cost a couple orders of magnitude less financial harm?
Value comes from scarcity + demand. Open source software is by definition not scarce. Thus if a cryptocurrency has value, it's not it's code that its the value, it's the network effect of users using it that prevents other copies from outcompeting them at lower fees. Thus for any cryptocurrency token to have lasting value, it must derive that value from something external to it's bad ass code.
Take a look at how many things you can buy with BTC that you can't with ETH, that is the value, that is hard to replicate, hard to penetrate. Even lower volatility due to giant order books is a plus. Thus, when I see open source projects try to make money on the quality of their code, they're missing out on where the value comes from.
Now, could ETH be amazing, sure. Would it be amazing if the tokens were worth $1 or 10 cents, or 1 cent? Probably, the same way tcp packets are amazing, and worth pretty damn little.
SO when people hop on the pump, on a currency that is only hitting 1 metric, the pump one, it's dangerous and risky.
Then there's the risk that your'e enticing dev's to write smart contracts, when smart contracts are hard to write. And you're giving them all the tools they need to hang themselves.
Then there's the risk that you say lots of things that are inaccurate, which I guess I'll just tackle in a giant post next, lol.
I don't mind Bitcoin. But it's 10 years old. I was warning them in November 2013 about getting their political act together and innovating. https://youtu.be/P-7JIQKbm5U is me keynoting in London on just this topic.
I am a fan of Ethereum but I wish they (and other alt-coins) would be honest about the fact that there is very much a central authority at work; in Ethereum's case, it's a small network of developers and mining pools. That's not necessarily bad, but let's at least be honest about it.
Admit that central authorities have a role to play (and may take many different forms). Recent events clearly reflect, to me at least, that the value of a blockchain doesn't depend upon the lack of a central authority (indeed, investors may feel safer with a steady hand on the wheel) or immutability (Ethereum violated supposed rule #1 and look at how the market has voted, i.e. ETH/ETC price variance).
The top 5 ETH pools control about 75% of the hash rate. Buterin (for whom I have lots of respect) and others have routinely commented that centralization is a problem in both PoW and PoS systems. In both systems, the problem is "the rich get richer" (as PoW is essentially "proof of stake" in the form of expensive hardware and electricity).
But more to the point, look at what happened with ETH and ETC. The Ethereum Foundation could have decided to hard fork without any particular % of support. Consensus was needed for price support, not to complete the fork. Let's say they forked with only 25% support. The new fork retains the ETH brand. The old chain rebrands (i.e. ETC). The market then votes on how much they value the old versus the new. Now look at ETH/ETC since the fork: the market is saying that they feel more comfortable with a known, trusted authority (i.e. small group of developers with trademarks and a conference schedule) than they do with true democratized first principles of immutable code. I'm not a righteous zealot, I agree with what ETH did and would have done the same thing; I am just calling it out for what it is.
Humans love to collect, horde, and trade items: puka shells, tulips, dot com stocks. Speculation is hard-wired into the human DNA. At some points, asset prices become hopelessly disconnected from the value and utility of the underlying asset. I think the initial rush into crypto was healthy because it funded (and continues to fund) hundreds of full-time researchers who can push the field forward. But at some point the speculative fever becomes a disease that can hurt more than it helps. The sooner we develop real-world applications based on public blockchains as an anchor-point to reality, the better.
> And my point was that if you look at ETH/ETC, the market is saying that they feel more comfortable with a known, trusted authority (i.e. small group of developers with trademarks and a conference schedule) than they do with true democratized first principles of immutable code.
But the fork wasn't a referendum on the governance model of Ethereum. If you picked ETC, you get your liberterian utopia - but you also get a chain where someone made off with 10% of the Ether supply.
Pre-fork ETH owners didn't necessarily have to pick one over the other. Miners had to allocate their resources between the two chains (but could split their bets, and some did so). Pre-fork ETH owners ended up with both chains in a kind of 2-for-1 special.
Every market transaction since then has been a referendum on which model the market prefers. Ultimately, the market price dictates a LOT of down-stream behaviors, e.g. some miners will switch back and forth between ETH and ETC (and other alt-coins) based on hourly yield.
But that's completely beside the point: the point is that you can't have the libertarian-utopia-chain without also getting the hacker-got-away-with-his-loot chain.
Hi I'm the original author of the piece and I'll be around for the next couple of hours to answer questions. Glad to see such a lot of debate here already!
The problem with smart contracts is that they are only 100% trustless as long as all the input data is already present on the blockchain.
Even something banally simple as "if such and such win the world cup deposit earnings there" cannot be 100% trustless. How does one overcome this problem?
I don't think smart contracts can overcome this problem while remaining 100% trustless.
"Trustless" is a terrible meme, as the term is misleading and the implementation of the concept is impossible. The truth is:
There is no cloud, just other people's computers.
Smart contracts can make trust relationships explicit.
By using a blockchain system, you entrust a network - which you may have no control over - with application state. If you rely on such a network, you indirectly also rely on the network infrastructure and operators' social and economic incentives.
I agree "smart contract" is a poor term, but they're way more than "conditional payment" - you can do a lot of things with them that have nothing to do with paying money.
Yes, in fact this is one of the most interesting websites for me now, especially when looking at general purpose distributed computing beyond blockchains. See here for a few notes of mine: https://github.com/void4/notes/issues/5
if we're going to simplify language then call it what it is: a program. the only reason they're called contracts is because they were theorized within the context of future financial instruments, smart contract is a historical artifact for a kind of automated thing that might have one day appeared in many forms, but now we know. calling them programs would have been more immediately accessible to programmers which is clearly where the weight is shifting, contract should have been reserved for the DSL lawyers use to write programs. ¯\_(ツ)_/¯
I think it means a lot of people are going to lose a lot more money than $1 Ether would have meant.
1. The halting problem states you can't predict what a turing complete program will do, until you run it. This means to some degree, that you can't predict what your "smart" contract will do, until it does it. Thus turing completeness causes security to be far, far harder than non turing completeness. This is how you lose the millions of dollars as the DAO did after it passed audits.
2. Competing implementations of consensus code in different languages greatly increases breakdown of consensus. (more millions have been lost over this, and it created a fork at about 10 percent the value of the old chain.)
3. You can buy things with bitcoin. What can you buy with ETH? If you can't buy anything with a currency, it's not a currency.
Thus, human resolved chain rollbacks? Check. Failed consensus between implementations? Check. Passed audit yet totally failed smart contracts? Check. No place to spend them? Check. New tokens given out all the time forever? Check.
Every dollar that goes into bad ideas is taken directly from the good ideas. Smart contracts can never be smart until oracles are solved. Oracles aren't solved. ETH has all the technical odds and history stacked against it, however some how, the people that bought them aren't dumping.
There's a saying that the market can stay irrational longer than you can stay solvent.
> The halting problem states you can't predict what a turing complete program will do, until you run it. This means to some degree, that you can't predict what your "smart" contract will do, until it does it. Thus turing completeness causes security to be far, far harder than non turing completeness. This is how you lose the millions of dollars as the DAO did after it passed audits.
The Halting Problem states that you can't create a general purpose algorithm for predicting what an arbitrary program in a Turing Complete language will do. This is very different.
"The naïve Ethereum people think they've cleverly sidestepped this with the notion of "gas" but actually all they're doing is cheating with this messy kludge: because simply saying "we'll arbitrarily make the program stop running at some point" does not make "smart contracts" written in Ethereum "decidable" - as we've seen, these contracts can still blow up / go wrong in other ways before they run out of gas."
https://www.reddit.com/r/btc/comments/4p0gq3/why_turingcompl...
This comment is simply incorrect. The gas limits do make smart contracts decidable. It is a mathematical fact. Bringing the idea that things have gone wrong with Ethereum as proof to the contrary is completely absurd. Things have also gone wrong with Bitcoin [1]. Is it undecidable now too?
Indeed. All you have to do is test every possible input, in much the same way that any computation on a real computer is technically decidable because the limited amount of RAM means that it can only have a finite number of states. Neither of those limits actually makes solving the problem feasible in practice.
>Neither of those limits actually makes solving the problem feasible in practice.
That's the point. Theoretical limitations has no bearing on solving the practical problem. That is why RichardHeart's original point [1] is wrong.
[1] The halting problem states you can't predict what a turing complete program will do, until you run it. This means to some degree, that you can't predict what your "smart" contract will do, until it does it. Thus turing completeness causes security to be far, far harder than non turing completeness. This is how you lose the millions of dollars as the DAO did after it passed audits.
Pretty sure the parent was saying the opposite. Testing every possible input is infeasible, since the number of possible inputs (and number of possible states) is HUGE.
Parent said "Neither of those limits actually makes solving the problem feasible in practice." This is correct, since the input space is too huge to feasibly explore. Yes, it is technically correct that there are a finite number of states that your laptop can be in. No, it does not mean that I can practically enumerate all possible states my code can be in.
Formal verification will be necessary in practice. This is not an ideal outcome either, since (1) you have to formally specify the problem you're trying to solve and (2) the proof that the code meets the specification can easily be bigger than the program, by many orders of magnitude. Even this does not guarantee that bugs won't happen, since there's no guarantee that your specification accurately describes the problem you're solving.
> This comment is simply incorrect. The gas limits do make smart contracts decidable. It is a mathematical fact.
This line of reasoning does not help me write better code, and does not address the parent's concerns. Using this argument, I can say that every single program I will ever run in my lifetime is also decidable, since eventually the computer I'm using to run it will stop working. This of course does not mean that I will write bug-free code, nor does it mean that I will write code that is feasible to prove correct.
What I want is a decidable programming language where it is always feasible to reason about the smart contract's halting states for arbitrary input. Bitcoin and its derivatives let me do this. Ethereum does not.
Sorry, I didn't qualify "always feasible" well enough. What I meant was, I want it to be feasible to reason about the halting states of every single smart-contract that will ever interact with my code. Not just the ones that I write, but also the ones that are reachable from my smart contract's call graph, and the ones that call into my smart contract.
If I can do this, then I can feasibly reason about how my code will react to other peoples' inputs (e.g. I can prove the absence of DAO-like re-entrance bugs). The fact that Ethereum allows smart contracts to be written in undecidable languages means that this is not feasible in practice.
Because in practice, I'm trying to reason about the consequences of submitting a given transaction. A transaction can invoke many smart contracts in addition to mine. It's not enough for my code to be correct; every piece of code the transaction causes to run has to be correct as well.
If you want to know what a given transaction will do, you can simply run it locally; no need for formal analysis. Formal analysis is useful for proving properties about your program like "the total balance will always equal the sum of the accounts" and "transfers never increase the sender's balance".
But you can reason about what any possible transaction can do by reasoning about all possible inputs to your code; you don't need to know anything about how other contracts were written, since even if they are formally provable, they could send you literally any input.
Edit: Rereading your earlier comment, I understand now - you're talking about other contracts your code calls, not vice-versa. In that case, I'd point out that you're totally free to either write those contracts yourself if they're not already provably secure, or write your own code such that it's formally proved to work regardless of what those contracts do.
> But you can reason about what any possible transaction can do by reasoning about all possible inputs to your code; you don't need to know anything about how other contracts were written, since even if they are formally provable, they could send you literally any input.
I also have to reason about the transactions that invoke other smart contracts that, through one or more subsequent calls, will call into mine. These transactions are inputs to my smart contract as well. Recall that the DAO was hacked by an "attacker" contract that called into it, for example.
> I'd point out that you're totally free to either write those contracts yourself if they're not already provably secure, or write your own code such that it's formally proved to work regardless of what those contracts do.
If formal specification and verification were practical, we'd be doing it in every programming domain. Normally, few people bother since (1) it takes a lot of work, and (2) the consequences of bugs are small in most domains, especially compared to the consequences of not shipping code on time. If you have not tried to formally specify and verify the correctness of a non-trivial program before, I encourage you to try it before recommending that strategy (especially if that recommendation includes telling developers to rewrite other peoples' code).
Since smart contracts have other peoples' money attached to them, the developers' first priority must be user safety. Ethereum does not appear to take this seriously, since (1) its default programming languages are not designed to be amenable to formal verification, and (2) smart contracts are allowed to call into one another.
I would much rather program on a blockchain that kept smart contracts completely isolated from one another, and required me to submit a machine-checked proof that the user's money (1) will be sent to an address of the user's choice automatically no more than X blocks after the deposit, and (2) cannot leave the smart contract at an earlier time without a one-time-use signature from the user. If a smart contract cannot be proven to do both of these things, then the blockchain should prevent it from running.
"3. You can buy things with bitcoin. What can you buy with ETH? If you can't buy anything with a currency, it's not a currency."
This is the one that really sticks out to me. What do people need any of this for? I think they did a fine job pitching the value of smart contract / blockchain technology. But why do I, or a bank, or society need anything beyond those?
The tech may be useful, but what 99% of these discussions come down to is whether you think a decentralized currency and disintermediated payments system have value. I don't really see the need for the vast majority of society to have the former in the long run, and I think the latter is actively harmful and impractical. Like you pointed out, you're inevitably going to have these code failures, disagreements, etc. Those are basic failures of any human-designed and human-negotiated system. As far as those go, I still prefer to wager my business on the time-worn technology of English common law.
As far as the tech goes, yes, banks should get behind some of this. Their infrastructure is garbage and could well benefit from associations of private chains and the like.
Is that something we want? Because it doesn't sound like something I want.
I like that there's some level of the human element in the personal transactions I conduct with businesses, and I don't think I'm alone given how hackneyed the joke about bypassing automated phone support systems has become. If something falls outside company procedures there's usually someone who can help me out by bending the rules or deferring to a superior who can make an exception, or at the very least explain why it can't be done. Empathy plays a role.
If the entire business transaction is automated sure, maybe the more mundane everyday processes run smoother, but if there's an exception that wasn't accounted for you're shit out of luck.
> I like that there's some level of the human element in the personal transactions I conduct with businesses, and I don't think I'm alone[...]
I'm quite sure the same argument was being used by many brick and mortar stores at the dawn of e-commerce.
In certain businesses empathy matters, in many of them it doesn't. There are also businesses that would never be built without the blockchain - and that's the most interesting part.
>I'm quite sure the same argument was being used by many brick and mortar stores at the dawn of e-commerce.
It was, but even then every e-commerce company has a chain of escalation that, at some point, ends at a human who isn't controlled by an algorithm. Setting your business logic and "walking away" as the original comment said wouldn't have that escalation path. If it does, then how is it much different from the way things work now?
I've been in crypto since 2011. If critical mass/adoption/press/uptime/wallets/ matter to you, then there's you know what. The problems ETH has had would be predicted by anyone looking at their choices. They will continue to have the same problems for the same core reasons. Good news for people long ETH though, it seems the market doesn't really care about the downtime, or forks, or risks of dual codebases or the halting problem of turing comleteness in smart contracts. Hell, they dont' even care about user wallet adoption, or retailer adoption, so, it would seem that the price can just keep going up without really hitting any of the metrics other crypto's have cared about.
> 1. The halting problem states you can't predict what a turing complete program will do, until you run it. This means to some degree, that you can't predict what your "smart" contract will do, until it does it. Thus turing completeness causes security to be far, far harder than non turing completeness. This is how you lose the millions of dollars as the DAO did after it passed audits.
While others have pointed out that this is wrong, it's worth amplifying: Turing machines are deterministic. You can run the contract locally and observe how it behaves, and it will behave the same way in the same environment elsewhere. If this wasn't the case, you couldn't have consensus at all.
> 2. Competing implementations of consensus code in different languages greatly increases breakdown of consensus. (more millions have been lost over this, and it created a fork at about 10 percent the value of the old chain.)
The DAO hard fork had nothing to do with a consensus failure. There's been one single short-lived mainnet fork due to a consensus issue, which was quickly resolved with - to the best of my knowledge - no financial loss.
> While others have pointed out that this is wrong, it's worth amplifying: Turing machines are deterministic. You can run the contract locally and observe how it behaves, and it will behave the same way in the same environment elsewhere. If this wasn't the case, you couldn't have consensus at all.
"Deterministic" != "feasible to reason about halting states for all inputs." Running it locally to see how it behaves for a handful of inputs is definitely not sufficient for claiming that the code behaves correctly (i.e. is "secure").
Recall that people lost money in the DAO not because they didn't test how the DAO behaved when they sent their Ether to it. They lost money because someone discovered the contract as implemented did not behave the way it was expected and advertised to behave. Had it been possible to reason about the DAO's halting states for all possible inputs, the re-entrance bug would have been caught and fixed before the DAO was released.
Formal analysis will help sort this out. Larry Paulson trained up these guys: https://www.imandra.ai/
And similar tech can be applied to smart contracts. Would have spotted the DAO bug. Not ready for prime time yet, but will be around the same time as sharding maybe...
I routinely pay for things with ethereum - and if the target only accepts btc, then I can just shapeshift.
The "Halting Problem" is a red herring here - eth transactions are technically not Turing complete since they automatically halt when they run out of the finite supply of ether attached to the transaction. Saying that ethereum isn't feasible because of the halting problem is like saying cars aren't feasible because an object in motion stays in motion - there are countless practical ways to manage it, and if nothing else stops you, in the end you'll definitely run out of gas.
Here (and when I see people generally using the term) is the meaning of "shapeshift" simply that you go to shapeshift.io and exchange from one cryptocurrency to another?
Theoretically ETH can easily replace bitcoin as a payment method for anything that can be bought with BTC currently. I would imagine some people investing in ETH are expecting that to happen.
To be fair, BTC had a lot of problems in the early years too.
And note I'm trying to be technology agnostic as we build out the VC firm and the Internet of Agreements organisation - I am not of the opinion any of these systems are going to scale cleanly. I think we will need to go back and build it from scratch on an abstraction like pi calculus and work it up from there, not try to accelerate the Proof of Work systems by increments.
Only time will tell, though. I'm flexible on this.
as someone who's been involved since the beginning, the only thing $100 means is there are enough people invested that the real work can begin where developers and teams can take the time to learn how to build for it without worrying it'll disappear tomorrow. that assurance counts for something, but beyond that do -not- consider this a "production ready" platform. There will be failure. There will be losses. treat this as a place to experiment and dabble in the future but don't strive for world domination, let success build naturally. fuck the hype.
> By all and any standards, this is a success beyond anything dreamt of when the project started
I doubt this is true. When Bitcoin came out I think a lot of people realized a whole new game was afoot. An autonomous ledger was demonstrated and the race was on to create the autonomous everything else. An autonomous application host was the obvious brass ring, and whoever got it seemed assured to spark a market at least as big as Bitcoin.
I can't imagine Vitalik was thinking anything other than "if this works, it will be huge." That's a big if, but I think the stakes were clear.
This guy Vinay Gupta really has a gift for writing about technology. Lots of clear technical concepts without resorting to jargon, bright syntax and style, and never pedantic.
Bitcoin has had several drastic price corrections in its life. We are yet to see this from Ether. I suspect the fall will be greater if it starts >$100.
Of course, we will look back on this in 5 years and think $100 ETHER was cheap!
What do you think about the idea that people in failed states with unstable currencies would want to store their wealth in Bitcoin? Or the idea that people would want to use it for international money transfers?
"Just pump and dump" implies you don't believe legitimate uses underlie the coin.
> What do you think about the idea that people in failed states with unstable currencies would want to store their wealth in Bitcoin?
It's a stupid idea because there's always two parties to any transaction.
You know why they don't just store their wealth in dollars? Because nobody is insane enough to sell them dollars for a worthless piece of paper.
Bitcoin works the same way. How much Bitcoin would you give for a Zimbabwe Dollar during hyperinflation? Obviously none.
So you have yet another hard currency that nobody can get ahold of. What's the point, again?
> Or the idea that people would want to use it for international money transfers?
I buy things internationally all the time. It works pretty great, it costs me nothing and it costs the recipient 4.4% plus a fixed $0.30 per sale.
Plus if they try and screw me over somehow I get all my money back and try someone else, and they get slapped with a big-ass chargeback fee for being an asshole. How much are the chargeback fees in the Bitcoin model? Who do I call to get my money back?
Also, I can tell you for sure that Bitcoin costs quite a lot in fees to buy, sell, or trade. Each transaction is what, $0.50 in fees nowadays?
Insofar as Bitcoin represents a single world currency, the problem is that on a macro level this isn't a good idea. Separate currencies that can inflate/deflate (i.e. "appreciate" and "depreciate") are a way to levellize structural imbalances, and without this relief valve you can end up with total collapse instead of just workers who are upset that an iPhone costs $1000. Inflation is good, it reflects a growing economy, it's only when it turns into hyperinflation that this is problematic.
For a microcosm of this problem, you can see the ongoing problems with the structural imbalances between Greece and the high-earning German economies over the last 10 years. If they had currencies that could appreciate and depreciate, Greek labor would be very cheap on the international market. But since they're stuck in the Euro together, they can't do that.
The growth function for the money supply probably isn't optimal either, for these reasons. The ability to adjust the supply is critical for controlling both inflation and deflation, under various circumstances.
> Insofar as Bitcoin represents a single world currency, the problem is that on a macro level this isn't a good idea.
I don't think a scenario in which bitcoin became the single currency that the world used is very likely to happen.
I suspect what is going to happen is that bitcoin is going to be the world's first Electronically Tradable Liquid Asset (ETLA) that is frictionless and uncensorable. Its going to legitimize the concept of a much wider class of ETLAs being acceptable as money. Any company stock that has high price stability could function as money if we had a platform whereby people could trade fractional shares of stock at low fees.
This is going to take away the ability of central banks to manipulate the money supply. If a given country's CB tried to print money to cause inflation, the population would figure it out quickly and the price of ETLAs in that currency would immediately rise.
> I don't think a scenario in which bitcoin became the single currency that the world used is very likely to happen.
What I mean is the concept of it becoming an international currency where people actually transact business in it directly, instead of it being a commodity that needs to be converted to and from a local currency.
As such there will always inherently be exchange fees for international transaction, just like when you pay a fee for a credit-card transaction in a foreign currency. You're paying a middleman to hold those currencies so you can convert on-demand.
What I'm jabbing at here is the idea that there are "no fees" in Bitcoin, which is a point often used by its advocates.
The transaction fee is actually absurdly high nowadays - the average transaction fee is now above $1 [0]. For all the effort spent complaining about credit card fees - this is a totally absurd price, you only break even with the standard credit card fee at $23 dollars or more. Just from the transaction fees.
And of course every time you use a middleman of some kind they will (naturally) take their own cut. Buy Bitcoin? The exchange takes their cut. Buy something from a retail store? Bitpay takes their cut. Of course that's how capitalism works, but you pay that on top of the transaction fees.
Some people have the idea that somehow Bitcoin becomes the currency that you only make big transactions in, and transactions will happen off-chain somehow. But that necessarily involves a lot more middlemen taking their own cuts. Even if that's automatic, you know someone's gonna get paid.
> This is going to take away the ability of central banks to manipulate the money supply. If a given country's CB tried to print money to cause inflation, the population would figure it out quickly and the price of ETLAs in that currency would immediately rise.
Yeah, governments are going to love having a complete ledger of everyone's transactions. No more tax evasion, no more drug trafficking. We're halfway there with electronic clearing as it is - this will finally get rid of that pesky untraceable cash once and for all. Can't wait. /s
Bitcoin isn't anonymous, it's pseudonymous. As long as you're transacting something in real life, or exchanging it for another currency it's relatively easy to track you down. And you can easily track back through multiple transactions. When I hand you a cash bill - that's it.
Anyway, any cryptocurrency that gets adopted by a country would certainly include the ability to control the rate at which currency is issued. If governments wanted their currency to be tied to a commodity which they had no control over, they would never have left the gold standard.
Also, the whole "coin mining" thing is really pointless with a national currency. The point of the distributed ledger is that you don't have to trust someone. But really the government can trust themselves, and centralized systems have tons of advantages over distributed ledgers. For starters, massively greater transaction rates, also it's trivial to correct mistakes, or debit people as needed.
We could call it a "bank account". And then to authorize a transaction, a physical token you carry could communicate with this bank account to cryptographically authenticate you. We could call that a "chip and pin card". No warehouses full of graphics cards doing useless hashes are needed in this groundbreaking new system.
Now Ethereum? That's actually fairly cool in its own way. It's certainly not changing the world right now but these are the early days. I question its utility versus any other cloud computing - at the end of the day there is no "cloud", only someone else's computer - but hooking that directly to what's basically pre-authenticated chip-and-pin transactions is fairly cool in its own way.
We could replace a lot of the useless Etherium hashing with "first person to submit a valid block wins" though - so basically you are paying someone to watch for conditions X,Y,Z to be met. Getting rid of the mining and going with first-watcher-to-submit-a-validated-transaction would incentivize speed and efficiency over doing math that doesn't matter. But again, that is probably something where you could serve millions of people with one big server.
In comparison, Bitcoin is just digital gold, it's a whole lot of sound and fury but at the end of the day it just sits there and does nothing (except burn electricity).
But hey, everyone agrees it has value and therefore it does. It's just not actually backed by anything, the math itself is relatively pointless (unless you happen to need a giant hashtable of course).
I think there are legitimate uses, I don't have faith in the organizations behind them.
Both Bitcoin and Ethereum have had fundamental differences in the orgs and fractured. Currencies isn't exactly like open-source orgs where fracturing the foundation is perfectly fine.
Both BTC and ETH don't actually reward randomly. Instead, everyone is just trying a large amount of 'solutions' until one works. The first to find and distribute such a solution is said to have 'mined' such a block and gets to add his reward into the record by modifying that block.
Because there is no way to know the true solution, everyone is just guessing so in the end it is random chance that determines who gets to mine a block, but those who spent more effort have proportionally more chance to win.
Bigger computers equals faster search, which we could explain to non techies as buying more lottery tickets. I try never to explain mining to a general audience. It's too low level for a clean semantic mapping between what they want to know about, and how it all really works.
Imaging a million haystacks with a million different keys scattered within them. There is a lock which only one of those keys can open; it is difficult to find the key, but when you do, anyone can easily verify it is correct by turning it in the lock. Once a key has been found, a new lock is created and the process starts again.
The more robots (mining power) you have to search for the key, the more likely it is that you will find it before competing machines do.
Besides explaining how we are looking for a nonce, I find it both difficult as well as elucidating to explain how whomever mined a block is rewarded.
The main point of block-chain is decentralization. It is thus important to emphasize that there isn't a central authority that rewards the mining of a block, but instead that the miner includes his reward in the block. It is also important (though less relevant) that the challenge of mining a block is a mathematical result of the last block. It too arises without a central authority.
Moving to even less relevant and yet interesting thing is that not all miners need be mining the same block. This is already the case for the 'reward' they are mining, but miners are free to exclude a transaction from their mining attempts. This then begets the matter of fees as a secondary incentive for mining besides the block reward.
Also, the idea that Ethereum at $100 implies this amazing decentralized future is simply wrong, because that also implies that Ethereum at $1 didn't mean anything. Instead his argument should center around the many different businesses, products and experiments being built on the platform.