You want to write something related to (say) a share price, or property ownership? Then your code needs to trust an external system providing the data, and the users need to trust that other people will honour the 'facts' decided by your program on the blockchain.
You want to create even a simple system that opens a lock when someone pays money? (The much-hyped Slock.it startup selling 'smart' locks) The blockchain makes no promise that a physical lock will operate based on bits in the blockchain. You have to trust that someone isn't cheating you.
And why is this need for extra trust a problem? Because once you require trust, you are back into the real world where we already have real solutions to these Ethereum based problems, that rely on trust (e.g. Share dealing, property sales, etc). By moving onto the blockchain, you have gained nothing and only complicated matters.
It's like the IoT: putting a blockchain into an existing system is just as helpful as wiring your fridge up to the Internet. For anyone getting seriously involved in Ethereum, sorry for your loss.
I appreciate good criticism, and you bring up an important point (which the digital currency communities have solved so far in an ad-hoc manner using "oracles", look it up if you aren't already familiar with it. At best it's a half solution, but it's not quite as bad as you portray here).
But why add that last statement? Just to be a jerk? Revel in your superior understanding/arrogance? I don't get it.
Edit: And for the record, I own no Ethereum and a few cents or dollars worth of Bitcoin, not sure how much.
For those who don't know, Theymos is the name of the person who controls the most important communication channels: /r/Bitcoin, Bitcoin.org, and others. He has a clear and stated agenda and makes no bones about his policies. In short he curates social media channels to reflect his point of view and hide opposition.
The blatant censorship and the armies of trolls arguing their convoluted logic have ended most polite and reasoned conversation on the topic.
My prediction is that many many Ethereum users will be hearing the SFYL phrase when their promised 'trustless' system fails or the armies of scammers converge on a new blockchain.
Sorry for your loss.
Suppose every user who "slocks" something has to put up a stake, or an account with some Ether in it. If there is then a dispute a user could submit it to a decentralized jury of some sort, also putting up their own stake, and which ever party loses has to pay damages from the linked account.
Ethereum isn't interesting solely because it allows computations, but also because it provides a immutable datastore (as bitcoin does) that then can be used in Smart Contracts and systems. I see it as a platform for building trust, not a guarantee of trust.
"Decentralized jury", aka p2p conflict resolution sounds quite expensive and like a system even more ripe for gaming: this would not be servers slowly heating a room for some fractional hint of a reward, this would be people who would be extremely unlikely to donate their time unless they have some form of hidden agenda (which might be as generic as white supremacists, to pick any random group, always voting in favor of disputants who drop subtle hints of the "right" ethnicity in their problem description texts). And due to the extra-legal nature of the system, there would not even be a law against it.
As for your second point the proposed solution for that, as mentioned by varav in another comment, is Schelling Point consensus, as described by Vitalik Buterin.
In essence, you call multiple random assessors, with no knowledge of each other, to respond to your given question, or in this case to pass judgement. They're then rewarded based on how close they are to the "average" or consensus. Augur and Truthcoin/Hivemind use a similar idea, and the former is deployed live.
I don't think there's an automatic or immediately clear solution, but its by no means impossible, and the value added by Ethereum could justify coming up with one.
If you incentivize assessors enough to make the rate of non-assessors sufficiently small, you not only make the process very expensive, you also open the door far and wide to non-assessing by not seriously considering the options and selecting one of the "truths" at random. Market research has this pretty much under control because they ask so many questions in one go and random-voters tend to enter subjectively-random values that are quite visible to statistical analysis, but i doubt this could be transferred to conflict resolution, because the requirements for a serious answer are so much higher there. I really doubt that this is solvable, not every problem is a good match for a crows-* solution.
I'm curious what you think of using a blockchain as a conflict resolver with a large company on the other end. Essentially, instead of having your average joe resolve the conflict, the user can pick eBay, Amazon, etc. to act as resolver.
I realize there is no incentive for established companies to provide this service, but I see it as quite empowering for the consumer and seller so maybe someday people will fight for it. I personally think that if this was to work, it wouldn't be a mom & pop shop providing conflict resolution, instead it would be a large semi-transparent entity like eBay. All blockchain would do is provide a trusted medium for everyone to transact on.
But are we still looking at problems solved by a blockchain or are we already looking at problems caused by it? Honestly, I think I've lost track at some point.
i find this statement worrisome on its face. for matters of the legal and/or moral variety, i don't want jurors to have an incentive. i want them to be compelled by law to execute the duties appointed to them by the democracy they participate in. jury duty should not be a financial opportunity.
'They're then rewarded based on how close they are to the "average" or consensus.'
similarly, i do not want a juror who's aiming to give the same answer most people would give, which sounds like a perverse sort of guessing game. i want a juror who will consider the evidence and pronounce a judgement based on their understanding of the evidence and the law. i want a juror to have the opportunity to exercise their right to jury nullification. etc.
i'm not saying that the current western implementations of democracy and jurisprudence are perfect. but they have at least grappled with a bunch of philosophical questions about what say an individual might have. and while i'm a big believer in the potential of things like the etherium and bitcoin blockchains to make our lives better and to facilitate relationships we couldn't have had before, i'm vary wary of the feeling that these systems by their very existence imply clear well-defined solutions to old political and social problems. that is not the case. the existence of a robust tool does not get you out of having to think philosophically.
Do you, though?
One large problem with bitcoin is that you cannot prove that you don't own a given address.
IF this is also true for Ethereum, all you really get is proof that you sent money to an address; not that the address necessarily belongs to anyone.
In a way though your point still stands, a user could always claim that someone else put the listing up or someother situation beyond their control, UNLESS there is previous history within the slock.it ecosystem, which would be very easy to see.
And how can those people prove that they didn't receive your money?
As in, I want to dispute that the address you've sent money to is under my control.
As for the reliability of external data sources to a contract running on Ethereum, there are multiple proposed solutions.
One is to use some sort of reputation tokens similar to what Augur - a prediction market built on Ethereum; employs.
Another solution that was suggested by one of the co-founders of the Ethereum project is to use "Schelling points" as guides since a large number of non-communicating reporters of events will most likely converge at what is closest to the truth.
> other people will honour the 'facts' decided by your program
I don't really see that as a technical limitation of Ethereum. IANAL but, if the terms of the smart contract can be codified into a legal agreement, then the decisions of the program can be made enforceable by law.
ETH has a powerful use case as programmable money which settles faster and cheaper than any other, and has native support for payment channels and other complexities not only because of it's Turing complete language, but because it does not use bitcoin's UTXO architecture.
Not all interested in Ethereum view smart contracts as the best use case.
Care to elaborate the benefits of using ethereum for value transfers vs. bitcoin? Block size limit is an obvious advantage, but what are the others?
> ETH has a powerful use case as programmable money which settles faster and cheaper than any other
That is quite a claim, which makes me doubt if you know what you are talking about. In blockchain-based systems the costs are related to market dynamics. Eg. miners can decide what they put to blocks and at what price. Or is ethereum somehow fundamentally different in this aspect?
> and has native support for payment channels and other complexities not only because of it's Turing complete language, but because it does not use bitcoin's UTXO architecture.
Payment channels are perfectly supported by Bitcoin, what do you mean by "native"? Is it how much easier to use payment channels in ETH in practice, are people actually using them?
Why is ethereums account-based architecture better than Bitcoin's UTXO architecture? Isn't really obvious to me.
>In blockchain-based systems the costs are related to market dynamics. Eg. miners can decide what they put to blocks and at what price. Or is ethereum somehow fundamentally different in this aspect?
Both Bitcoin and Ethereum are fundamentally different from current payment systems, and as Ethereum goes to PoS, it will likely be quite different than Bitcoin's PoW. Both probably represent an improvement on current transaction methods, i.e. credit card with 1-2%, plus $0.2 to $0.3 flat processing fees.
>Payment channels are perfectly supported by Bitcoin, what do you mean by "native"?
I mean that off-chain channels can be integrated without changes to the current Ethereum code.
>Why is ethereums account-based architecture better than Bitcoin's UTXO architecture? Isn't really obvious to me.
For bitcoin one txn requires n signatures for n unspent outputs. For Ethereum one txn requires just one signature. This has consequences for efficiency of micropayments and payment channels.
If you're not familiar with Bitcoin, "Bitcoin script" is the pseudolang that must be used to program Bitcoin. One of its most prominent features is that it has no loops. Most Bitcoin applications involve a ton of jumping through hoops to even make them work at all. The equivalent programs on Ethereum are short and look like C.
If Bitcoin can add real programmability, Ethereum is done for. But so far, the Bitcoin community has not even been able to change a single constant (I'm referring to the block size debate).
The thing the Ethereum client adds is the ability to take the data in the transaction storage (weather it be return or a defined datafield makes no difference) and pass it through an EVM to generate the current state. So there is no reason for that functionality to be limited to just the Ethereum client.
You would take that piece of the client and run the opscode in the return data storage across several transactions.
I thought this was obvious to anyone who understands the discussion on a reasonably technical level. I suspect many posters in this thread are just Ethereum investors with no programming knowledge.
You'd still need to trust the manufacturer, and that an entity with significant (nation-state? Fortune 50?) resources hasn't successfully tampered with it, but that's a lot easier than trusting the average owner of a lock.
2) Locks could be connected to the Internet without any messy block chains getting in the way. It would really on trust, but you wouldn't need any nation-states behind it. (You can also rent locks without internet connectivity at all and without blockchains, so Slock.it is really a double layer of wasted complexity)
EDIT: the intent here was to expose overconfidence and vague predictions, not pay fan service to ethereum or suggest an actual bet. if anybody is interested in how to make proper predictions, I recommend the books by Philip Tetlock, especially the latest called Superforecasting .
EDIT2: I wasn't aware my views are so controversial, so here is some more background: If somebody was convinced something couldn't happen, he'd assign a probability of 0 to that event. If that person wanted to act according to her believes, taking on bets, no matter the odds, would have positive expected utility. Since almost nobody takes on such bets, it suggests that we generally over-exaggerate when we say things like "impossible" or "sorry for you loss", hence we are being overconfident.
The other is vagueness. By not being clear about what exactly we are predicting, we're leaving the door open to back out of it later. In fact, Tetlock has found that, by making vague predictions, experts could later convince themselves (and others) that they were "close", skewing their sense of accuracy. Unfortunately, when subject to a prediction tournament with strict rules, they would score no better than random .
You should work on your reading comprehension. The parent never made these claims. Whose beliefs are you even talking about? Saying something is not useful and not practical is not the same as saying it will fail or stop existing.
The only thing you're doing here is psychologically manipulating someone into accepting a bet with conditions you yourself chose that are clearly in your favour.
You didn't even define what the vague phrases "the Etherum project will fail" or "the project is no longer around" is even supposed to mean. The betting conditions are effectively "give me everything you have when I feel like it".
You're offering a nonsensical bet.
We live a world where people often delight in keeping obscure things alive. Even http://nyan-coin.org still has a following!
As an illustration of what I mean, I'll be incredibly surprised if bitcoin ever truly dies, and the price ever truly tanks. I'd expect coins to remain above $100, as a few people will flat-out refuse to sell for less, and minimal trading will still take place. Anything in the "real" world though? naaaaah.
Not really; my point was that some things never die, however functionally useless they become.
The top comment said that Eth will become functionally useless, and the bet offered didn't involve it becoming functionally useless.
All it'd take is two bored people to stop this from happening, merrily trading just for their own delight.
As with bitcoin, I'd be really surprised if any of these coins stopped being used entirely, thanks to tech enthusiasts keeping them alive.
So why not try offering a bet on the success of a project, rather than going through the horror of trying to prove a negative?
Bitcoin's major problems are scale, miner centralization, and developer centralization. Ethereum is worse than Bitcoin in all three respects. Transactions on Ethereum are heavier, develoepment is very heavily controlled by the Ethereum foundation and by Consensys, and the block algorithm in Ethereum more strongly favors larger miners as compared to Bitcoin (which already favors bigger miners).
Further, the Ethereum develoepment team is under qualified. There have been several ametuer mistakes, including allowing negative balance, leaking private keys, and putting consensus at risk by advocating that different users should be running different consensus codebases. Most of the highly capable developers in the cryptocurrency ecosystem avoid Ethereum because it's not been constructed well, nor does it's design suggest strong resistance to adversarial environments.
Bitcoin did go through similar growing pains. Bitcoin did have many ametuer mistakes when getting started. But those have all been fixed, and there is a positively enormous amount of competent mindshare powering Bitcoin, and the thoroughness of decentralization in Bitcoin is unmatched by any altcoin, including Ethereum.
Ethereum has offered a lot of cool tricks with its turing complete scripting language, but is standing on a house of cards. It scales less well than Bitcoin, it's design more heavily promotes centralization, it's development is more ametuer, and the potential applications offered by its fancy scripting language are not actually that much stronger than what you can do with Bitcoin. The showcase applications such as Augur and Slockit suffer from weak cryptographic fundamentals and under-qualified developers even worse than Ethereum does.
The idea that Bitcoin developers are competent and Ethereum developers aren't is simply not borne out by basic observations of what the two camps have been doing lately. And the market is responding to that. Hence, this article.
Proponents of cryptocurrencies could easily fix this by creating one that grows by k% forever (like Friedman's k-percent rule). But they won't because this destroys the "get rich quick" aspect of the technology which they won't admit is the main thing they are drawn to.
If they were serious they would have fixed this problem and made sure bitcoins generate long run inflation.
Could bitcoin's popularity stand on its own with just its net benefits as a transaction medium after the allure of ponzi investment has been removed?
Plus, Bitcoin isn't deflationary by any standard definition of the word. It's not inherently price deflationary of course, since that's dictated by demand. And the money supply inflates, albeit at a known predictable rate which slowly decreases over time.
This supports the hypothesis that cryptocurrencies are not useful as currencies and people mostly like them for their ponzi investment allure. This would make them not viable in the long run, the digital equivalent of gold but with even less intrinsic fallback value.
The latter I'd say are better served by a currency that encodes a price stability algorithm rather than a hyperdeflationary one. The former on the other hand...
Bitcoin or Altcoins are not a get rich quick scheme. They provide value for users by making transfer of wealth globally possible. The traditional infrastructure cost for this is many trillions of dollars (you pay it with taxes and inflation).
Otherwise, it basically blocks net aggregate marginal investment. It transforms people's savings from being tied to real physical things that are going to create value in the future when they want to redeem those savings to an accumulation of idle bits that won't be able to produce anything.
This is also the reason too low inflation in the eurozone for example, is so destructive.
Bitcoin is volatile, but its extremely useful as money (if you live in Argentina or Zimbabwe, etc.). Descendants types will be far superior to government debt as money. Deflation basically means price-appreciation versus other assets. Inflation as its currently happening is fraudulent accounting on a unprecedented scale. The blockchain by contrast offers honest computer based accounting.
Because they were late in their money printing, velocity dropped and they had to print much more getting much less effect per unit and yes did put the world at risk of future spike of inflation if this money starts moving.
Sufficient high, well controlled, early enough inflation prevents velocity from dropping, prevents the investment and labor markets from jamming, prevents from having to print too much, prevents large stockpiles of idle money from accumulating and prevents later difficult to control spikes in inflation.
You mean, it could be useful as money in theory, but in practice it is not. It is not practical to meet one's needs transacting in bitcoin even in affluent regions where computers, internet access and general computer literacy are ubiquitous, so those economically strained regions where citizens are struggling just to meet their basics needs are places where bitcoin is a complete non-starter; it is not at all viable.
There is no evidence whatsoever that "too low inflation in the eurozone is so destructive". You're mistaking dogma with fact.
I disagree. When I learned about what can be built with the Ethereum Virtual Machine, I quit my job to build decentralized applications full time.
You can either wait for decentralized apps to work their way into your life, or you can ignore the naysayers and find out for yourself if these tools are worth building with.
It's not great, but if you look at Ethereum you'll see the same distribution (2 pools have 50%, 4 pools have 75%) and Ethereum does not have anywhere near the same throughout load, which is where most of the centralization pressure comes from. Further, Ethereum is supposedly much more vulnerable to selfish mining attacks, which means a pool that decides to start doing selfish mining should be able to overtake the others in terms of profitability very quickly.
Any details on this?
Work -- any form of work -- is subject to industrial scaling effects and economies of scale:
Meanwhile all these POW-based currencies have deflationary economics and deflating mining revenue due to rising difficulty. That makes less efficient mining less profitable over time, driving smaller miners out of business and accelerating the effect. Any proof of work based system like Bitcoin or Ethereum will in the end be monopolized by whomever has the cheapest electricity, cooling, and hardware, and the most labor-efficient mining operation.
This is the most powerful bearish argument on Bitcoin and other cryptocurrencies that I have. Gold and other hard currency materials are randomly distributed by geology and physics, helping prevent total monopolization of mining. Paper currencies are monopolized by default, so you know it's controlled by the Fed or some government... the devil you know. But these things are guaranteed to be monopolized by... uhh... we don't know yet. You could end up with a currency controlled by Kim Jong Un or Dr. Evil and his white Persian cat. (I'll take Dr. Evil.) Serious global organizations are not going to adopt a reserve currency whose future control is up for grabs by whomever can build the most efficient data center and/or snow over the development community most effectively.
That's why Chinese miners have so much power on the Bitcoin block chain. Cheap coal and a total lack of an EPA makes power very cheap for them, and they also have local access to very cheap labor and cheap hardware production.
In the very long term if Bitcoin or any other POW-based currency became cumulatively worth enough, someone in a chilly place like Russia, Scandinavia, or Canada could build a hydroelectric powered arctic circle (free cooling) super data center full of ASICs and own the entire block chain. There are places on Earth with unbelievably cheap power (big hydro, constant prevailing winds, etc.) and free cooling due to a cold local climate. A coastal location in the arctic using arctic seawater for cooling and a dam on a local river would be ideal. Nobody would be able to compete with that.
Bitcoin has two big things going for it, at least insofar as the mainstream market is concerned:
1) The 2008 financial crash and its terribly bungled and corrupt aftermath destroyed peoples' long term faith in the "devils we know," creating essentially a market niche for a competing financial system that offers better governance and transparency. Bitcoin, Ethereum, etc. and the many companies working in these ecosystems are trying to address that niche.
(Side note: I wish the West's leadership would wake up and realize just how profound a loss of confidence occurred in 2008-2009. I don't think the effect has manifested yet. It's too deep and profound a loss of faith and the population is still processing it.)
2) Existing methods of sending cash overseas like Western Union are absolutely freaking horrible. We've used Bitcoin to pay overseas contractors because it amounts to only one root canal vs. Western Union's three or four tooth extractions with pliers per payment. Bank wires requires that I physical visit a f'ing physical bank, which is even worse.
That means though that Bitcoin's advantage would disappear if:
1) Entities like the US Federal Government and the Federal Reserve took actual steps to reform themselves and implement a plan of action for dealing with things like the 2008 crash that is more honest, equitable, and well thought out than "yank money out of our arse and hand it to other Yale alumni until the fires go out."
2) Companies like Western Union realize they are in the 21st century and act accordingly, implementing low friction easy to use methods of wiring money with low fees.
Bitcoin would still have a niche if those two things happened, but its niche would be smaller and probably further outside the mainstream of commerce.
Of course if Bitcoin ends up controlled by the Chinese PLA, none of those above advantages might matter much.
This requires having enough miners willing to mine at a loss, just like we have millions of people willing to play the lottery at a loss.
In fact mining should be made to resemble an ongoing lottery as much as possible, by
1) limiting the custom hardware efficiency advantage to less than an order of magnitude, using a memory bound PoW
2) allowing users to mine with a single click, either to install an app that mines on their smartphone while charging overnight, or from their WebAssembly supporting browser
You could argue this would be morally superior to one sustained by bloodshed and political power mongering. (Fiat currency is ultimately backed by state power, a.k.a. violence.)
Maybe a workaround is to make a banking institution that cannot be corrupted by people. It buys and tests (maybe prints?) it own hardware, it check-sums itself continuously. It patrols its own perimeter. It fixes what it can and it crashes gracefully forever when it finds itself compromised. Of course, the research (yet alone engineering) problems it presents are huge and I doubt that a sovereign computer system is something desirable.
The funny thing is that there are very few exchanges where you can buy ETH for USD directly instead you have to first buy BTC then exchange it for ETH.
Ethereum is a world computer. As in, it acts like a single public computer that can perform computations for anyone who is willing to pay for them, but instead of this computer being run by a third party, it's run by the network as a whole.
This is useful for any situation where you would usually need a trusted third party to perform some computations or enforce one side of a bargain - for example ecommerce/escrow, trading, voting, bets, issuing stock/currency, plus other things that probably have not even been thought of yet.
I agree, it can be a pretty wishy-washy mission statement at times. But then again, so was the idea of a global communications network where anyone could communicate with everyone and publish their own content in the 1980s.
Example: I bet a friend that Hillary will be the next president. We create an Ethereum app/contract/whatever and fund it with $50 (worth of 'ether') each. When the election rolls around, we want to pay the winner automatically, but how can you do that?
You could have a rule to check some 'official' source on the internet but that data could easily be faked or unavailable. Then what?
If this kind of app is not suited to Etherium, then what are some good examples of Etherium's capabilities?
There are a few ways to act as the oracle who indicates what the outcome of an event was. You can tell users to just trust you, which is what every centralized prediction market does with few problems. You can pick a few trusted oracles and require a majority vote. Or you can use any data that is served over a TLS connection so the outcome can be cryptographically verified, which is what Oraclize.it does. All of these approaches work for Gnosis markets.
Compared to actual Python code, or Ruby code, or any code that you can imagine, Ethereum VM code is a hobbled down child's toy. Think: Gameboy from 1995. The memory is scant. The performance, abysmal.
> This is useful for any situation where you would usually need a trusted third party to perform some computations or enforce one side of a bargain - for example ecommerce/escrow, trading, voting, bets, issuing stock/currency, plus other things that probably have not even been thought of yet.
You can do all of those things with Bitcoin. We don't promote it much because no one has cared to use any of it for years. It's always hooked in investors, though. Lots and lots of investors.
We're in the process of defining economic interactions—both existing and novel interactions—as entries in a digital historical record to eliminate the need for middlemen in much of our economy and give everyone access to financial tools that were once limited to the wealthy and their corporations. Social interactions that don't involve money can be built as well.
Join us. Let's build software that users control.
(I've tried explaining these as applications that no one controls, but that has a wild west connotation that isn't applicable.)
it's also a statement that's simply not true. the parties that usually control financial and legal systems might not control it. it might be the case that no single person or single organization controls it. but to say that "no one controls" it is false. there are people whose input controls it. if that were not the case, it would not be useful.
> the user's choice to use the application in the first place.
Right, but if none of the users can even run the so called "peer-to-peer" component, what's the difference between that and run-of-the-mill centralized DB software? Either way nobody but the chosen few can directly access the DB.
Users can run a node of the peer-to-peer component if they want. Anyone can. They just don't have to.
That trait is far from being unique to blockchains.
But no, users aren't in full control of cloud software.
> Users can run a node of the peer-to-peer component if they want. Anyone can. They just don't have to.
After 18 months of block size debate, this is deja vu. No, anyone can't run a node if you make it cost $5k/mo
Ethereum solves this problem by creating truly virtual machine that does not have physical location. If somebody wants to tamper with the execution there is no address to drive to or datacenter to cut power from. Even service providers themselves can prove that they have locked themselves out. Without ethereum you just have to take their word for it.
This all comes with caveats.
Radical transparency, everyone can see your code and when it is running.
Cost, you need to pay for every instruction to keep the system running and to prevent spamming.
It's a shared resource, you need to wait for your turn and the computer is very slow.
Is there usecase for such contraption remains to be seen.
Bitcoin could be easily made Turing complete. If each transaction can store 80 bytes of information, then one could use 48 bytes to store code and the remaining 32 bytes to refer to another transaction storing the next block of code and thus chain together code. Unless I am missing something, a new currency is simply unnecessary, and will always be at a second-mover disadvantage.
Soon, I am sure a prototype of what I described will be released on bitcoin thus obscuring Ethereum. A solid use-case for distributed computing would be distributed HTTP delivery. If ethereum could offer a product for decentralized web-hosting, then I would buy into their product, but until then the whole situation is just vaporware to me.
It offers a more powerful scripting language to define contracts.
> Ethereum could quickly outdate itself by defining a fixed language.
If offers a "bytecode" type language which can be created by compiling contracts in >=2 languages already. Bitcoin currently lets you define contracts in the equivalent of assembly code, with no higher level languages available. So this statment seems to apply more to Bitcoin than Ethereum.
> Bitcoin could be easily made Turing complete.
Bitcoin developers can't even agree to a simple block size increase. What makes you think they would be able to do something as complex as adding turing-complete scripting capabilities?
> Unless I am missing something, a new currency is simply unnecessary.
Since bitcoin does not support 2-way pegged sidechains yet, it's not possible to launch a new blockchain without launching a new currency to power that blockchain. Besides, you need a way to reward the miners.
> Soon, I am sure a prototype of what I described will be released on bitcion thus obscuring Ethereum.
That's basically what Rootstock is supposed to be. Although at present, it seems to be vaporware.
A year ago I used to have a similar viewpoint to you, that Bitcoin had such a massive first mover advantage and network effects that it would remain the dominant public blockchain, and that even as new inventions appeared, they would be backported to bitcoin. But over the past 6 months I've realized how useless Bitcoin is without a genuine respected leader/BDFL, and now think that without a leader it's doomed to design by committee and stalemate on key decisions, which leaves the playing field wide open for competitors like Ethereum.
Ethereum's features with Turing-completeness and all the things it can do are great, but everyone is missing the point that not all of that is needed. What is needed is simple: people who act professionally, who get things done, and a network that is not artificially limited.
Litecoin could have taken on this role even more easily than Ethereum, or Dogecoin, or any of the other coins - but they refused to increase their blocksizes when they had the chance. Ethereum is coming of age now partially due to its Homestead release, but also due to the critical bitcoin halving event in July that is going to throw cryptocurrency into chaos.
People are missing the point - Ethereum isn't popular because it is better than bitcoin. It's popular because it has good people in charge. In that way, Mike Hearn is right.
Indeed, the block size debate did not stalemate. It resulted in the small blockists winning, due to the much more aggressive tactics they used (e.g. hiring a bunch of developers then asserting they'd all quit forever if the block size were changed).
Here's an example of the proud know-nothingness. The interesting part begins at 17:30. The speaker, Julia Tourianski, makes a fair attack against Mike Hearn for his departure, but then she goes on to point out that developers are faced with low morale because the community doesn't support their work. The conversation then moves to leaving Reddit and other media because "the trolls" (presumably persons who are in favor of a blocksize increase) have taken over.
Moreover it a red herring to assert that Bitcoin has to scale to support every single financial transaction in the world just like it would be a red herring to attack the architecture of the Internet because it cannot scale today to include every form of communication we perform today.
Red herring/ strawman / Nirvana arguments are the defense for the entire small block position. Bitcoin, like every other information technology, does not need to meet every need today. It simply needs
1. Sufficient free capacity to encourage growth, and
2. Continuous improvement
Maybe you should present the argument, since it wasn't presented where you said I'd find it.
It is indeed time to get back on track developing SPV!
Most large blockers are running businesses that depend on no/low fees, plus the reddit mob that goes with whatever argument sounds most conspiratorial (aka Blockstream sabotaging Bitcoin for sidechains).
I see that "the block size should not exceed 4MB for X=90%; and 38MB for X=50%", but I don't think that 50% reduction of number of nodes would be a serious decentralization problem (we've seen a similar reduction already due to the implementation of SPV clients).
Mining centralization could be a bigger problem, but with headers-first mining the block size wouldn't contribute to it.
Also the authors of the article assume the use of Bitcoin’s current peer-to-peer overlay network, that can be drastically optimized.
I've chosen 20x because Gavin had conducted 20Mb tests more than a year ago, before many optimizations took place.
There is nothing bad in the low fees. Low fees is the marketing strategy to boost the usage of Bitcoin and create the large enough ecosystem. Miners are being subsidised by bitcoin holders for a reason.
Larger the blocks while preserving a reasonable degree of decentralization -> lower the fees per transaction -> more people use Bitcoin -> more valuable the bitcoin ecosystem is -> higher the price of bitcoin -> mining is more profitable -> stable and secure infrastructure for the new global economy.
It is sustainable, but only for certain amount of transactions. Even if the block size limit stays at 1MB, I'm pretty sure some group of people/organizations will keep using bitcoin for something. Those who are not happy with it will move elsewhere, but there is so much infrastructure/tools/etc for bitcoin already, that many have will hard time switching to something new.
If most people prefer to use other crypto instead then Bitcoin may fall into a death spiral:
...lower the demand for bitcoins -> lower the price of bitcoin AND lower amount of bitcoin transactions -> less profitable the mining -> less secure the network -> lower the demand for bitcoins....
Thanks for bitcoinj though.
As a regular in the cryptocurrency world, it's evident that no matter what you do, someone is going to find a reason to criticize you. One day these people are criticising Bitcoin for being run by a cabal of closely knit developers, the next you see this guy saying Bitcoin doesn't have a leader and is instead being designed by an apparently leaderless committee. They seem to alter their concerns and their approach to criticising Bitcoin depending on which way the wind is blowing.
BTW, I'm going to assume something and you should too: adrianmacneil here is almost assuredly long ETH. He probably albeit less assuredly so doesn't own any BTC. In any case you can assume I have the opposite portfolio.
First and foremost, Bitcoin and Ethereum couldn't possibly be more different. Bitcoin is a "Peer-to-Peer Electronic Cash System". Bitcoin places a higher value on securing the cash. It places tamper resistance above all else, and generally takes no chances on that. That's a feature, not a bug.
Because if that core unit fails, then the entire cash system collapses. You can't exactly have a global currency that fails mid voyage. Modern financial systems don't do that very often and neither should Bitcoin.
Conversely, Ethereum is a smart contracts platform through and through. It has 15 second block times. It has its own VM. This VM has had critical vulnerabilities in the recent past, and is less than 1 year into production.
Notice how Bitcoin could never be about smart contracts like Ethereum does, at its core, since Bitcoin could only do that by taking on existential risk?
However, that doesn't mean Bitcoin can't better manage its risk by making what is essentially a "unikernel" for Ethereum functionality on top of the Bitcoin network. Sure it won't be totally perfect, but it will do everything Ethereum does, without exception, and will do so without compromising the core of Bitcoin's network, when doing so would jeopardize the cash system.
And this is what the poster I'm responding to completely misses when he says:
> [Ethereum] offers a "bytecode" type language which can be created by compiling contracts in >=2 languages already. Bitcoin currently lets you define contracts in the equivalent of assembly code, with no higher level languages available. So this statment seems to apply more to Bitcoin than Ethereum.
The point is, once you have the unikernel model down, who cares if it's Ethereum? Ethereum's VM is very first generational, highly unproven, highly unstable, has God knows how many vulnerabilities not to mention competitors who develop competing languages and competing VMs. We don't want to be in that business. We want to be in the business of running the best of it as a unikernel without even remotely jeopardizing the entire system all at once, though I understand Ethereum kind of had to do that in order to raise money. Turns out if you don't raise a bunch of money from a bunch of investors, you don't get people to voluntarily promote you on HN and Reddit.
> That's basically what Rootstock is supposed to be. Although at present, it seems to be vaporware.
Speaking of Ethereum promoters, they do have a knack for reminding you how the unikernels of cryptocurrency will surely never exist. Nothing to see here.
Also, I agree that comparing BTC and ETH is bogus, they share nothing more than a blockchain but have completely different goals and governance structures, ETH being more like a traditional startup.
In a world were most people haven't heard of blockchains or distrust them, 'competing' with other blockchains is just silly (nobody is really competing anyway, except for mindshare on forums).
Now, disclaimer, I am long ETH, though not by much. Cool sci-fi stories and evangelism aside, I think it's like other startups so it should face the same risk of ruin, which is roughly 90%. So in that sense we might even agree, except I feel like this "very first generational, highly unproven, highly unstable" might turn into something.
> once you have the unikernel model down, who cares if it's Ethereum?
That's a very technical argument, but I'm not at all convinced that the world will adopt a technically superior solution, especially if it is late to the game. Without momentum behind it, it might not even be superior for long. So if there is any application for blockchain VMs, it will probably run on the EVM, all else being equal.
These tokens ruin a lot of the incentives that makes open source software work. They attract non-technical people and ideologues. The whole thing is a mess.
Naturally, to the extent an investment makes you "rich", the investment occupies a proportionately larger share of your net worth. And to the extent it's a major component of your net worth, especially if your net worth allows for you to retire early, this makes for a situation where you will justify doing and saying anything and everything possible to promote your own interests, which are now dominated by, in our case Bitcoin or Ethereum.
This is why distinguished readers can practically see the greed pouring out of people's eye balls as they discuss these "technologies". Pro tip: call it a "technology" when you're invested in it, but call it an "investment" when you're not.
As you've noted, this gets incredibly frustrating to deal with in the cryptocurrency world. Not just because it applies to so many people, but because cryptocurrency itself is all just a confidence game of trying to get people to buy into a particular unit of account.
For example, I doubt if any of the Ethereum people actually use smart contracts, like ever. They're only using that as an angle to poach investment capital off Bitcoin. We all can see this is true because no one is making any money on "smart contracts". Ironically, the only people who have ever made money on smart contracts - cough Ethereum - did it by selling other people on the idea of smart contracts. Buy smart contracts now!
The main point of my post was responding to Bitcoin evangelism with counter arguments, so I guess it did come across a little fanboyish. I don't disagree that it would be nice if Bitcoin could become a sort of "layer 1" in the blockchain space, with smart contracts built on top of it using additional protocols (and I believed for the past couple years that this was the most likely outcome for Bitcoin).
The main problem I now have with this model is that there are still missing features in this layer 1 which Bitcoin needs to support before decent solutions can be built on top of it (e.g. 2-way pegged sidechains, which require at least a couple of new opcodes). Every time Bitcoin wants to support a new use case, it requires someone to submit a BIP, months of development work, debating, and a soft fork to implement. For an example, see the recent OP_CHECKLOCKTIMEVERIFY soft fork. This is not the sort of thing which can be built in layer 2 - it needs to be supported by the underlying blockchain, specifically so that people can build other layer 2 solutions on top of it. This is just one of many features - every few weeks someone suggests a new opcode on the bitcoin mailing list (and they often get shot down). This is why I originally got excited about Ethereum - while the "turing complete" badge is a bit of a buzzword, they really have solved the problem of creating a generic blockchain which can have anything else built on top of it.
Now, this is not to say that Ethereum is entirely without risk. For sure, Bitcoin is a more secure network, and definitely a better place to park your money if you are looking for long term stability. Bitcoin is also optimizing for stability and decentralization over adding shiny new features, which is simply different priorities and not at all a bad thing. Ethereum still have a long road ahead of them, both with attempting to shift a live blockchain to proof of stake, and with scaling (which will probably be even harder than the challenges Bitcoin is currently facing). But overall I find the project to be a very interesting and exciting development in the blockchain space.
Almost as if a primary motive behind designing crypto "currency" protocols is not a stable value exchange medium, but rather instead an investment system for early adopters to exploit late adopter buyers?
The Dai enables Ethereum users to transact with smart contracts and applications on the Ethereum blockchain without having to deal with the volatility that is associated with traditional cryptocurrencies such as Bitcoin. It also functions as a decentralized savings account as it is long term deflationary, resulting in slow and steady capital gains.
Maker is able to maintain the price stability of the Dai through the Dai Credit System, which backs the Dai with collateral stored in Ethereum smart contracts, while simultaneously functioning as an internet-based, p2p credit market that commoditizes credit by allowing anyone with valid collateral to take out loans that have low transaction costs and no middle man fees."
I invite you to "exploit" late adopters as well by investing in some project. it will cure you of this notion that uncertainty doesn't exist.
No, actually they haven't. Try and explain how a distributed system should be Turing complete in a scientific paper and you'd notice its not possible. Eventually this will be discovered and this blockchain will implode. The centralised team doesn't even claim that the chain will last - they want to migrate to PoS.
Are you just saying "try it and be really careful about it and you will see that it is impossible"? Because I don't see why that claim should be convincing without, saying why?
(Maybe I missed some other comment of yours?)
A simple increase from 1MB blocks as proposed in 2010 by the software's creator is treated by obstructionists like Greg Maxwell as "theft" and a violation of social contract and blocked for six years.
Some of the original obstructionists are still at it, and so far, Mike Hearn is right: it's working.
How gullible would one have to be to think that reengineering Turing-completeness into the system will be remotely possible?
Any idea why this is the case?
Suppose the article has 10M viewers, 1% decides to buy some ETH for investment, on average $500, that means $50M of extra demand in a matter of days. (These numbers are wild guesses.) Current daily trade volume is $25M.
There's also an easy path for a dissenting quorum to reincorporate on their own.
Also, regarding bitcoin, there is the lightning network which can take most of the load off the main chain.
Why is this important? Well, lets imagine a dice game. If on a traditional server, the program can cheat and give an unnatural edge to the site-owner. With ethereum programs, you can look at the source and know that said dice program is 'fair'. At the same time, from the perspective of the programmer, the blockchain ensures the users can't cheat you, either.
Now this sounds cool, but I can say from first hand experience that this is actually kinda trash. Last I looked into this (around October), programs were limited to a very low number of clock cycles before the program cancelled out.
How long a program would be too long? Through experimentation I found that a program more than about 30-40 lines of their C-like language would regularly hit the limit. What happens when you hit the operations limit? the program rolls-back without any effect, eating your transaction fee. Now, you can pay for more operations, but there is a limit. Even with the max number of operations you can't do too much. You can store values on the block chain, but any write or update takes up an substantial amount of 'gas' (the unit of currency for computation and storage).
So to imagine the limits, their 'global computer' acts like a coin-op machine where each quarter gets you 40-50 bytes of storage OR maybe 500 clock cycles on a virtual CPU. But, if the program tries to use more than a quarter, everything is rolled-back and your quarter is gone. (There is (last I checked), no way to know if your program will go over. Just trial and error).
Not only that, but (last i checked), the programs were compiled to a bytecode and there was no dissembler. Meaning that if someone wants to verify a program, they need the exact source code and exact compiler the dev used, and must MD5 the results.
Beyond that, there isn't really any good testing tools. Last i checked, the only way to run a program is to deploy it. So, you have to setup your own private chain to test on and continuously deploy and wait and test. There was a way to sort-of put debug prints in your program, but remember how I mentioned that a program that fails rolls-back? Well, it won't output anything either. And there were operations (some undocumented) that would simply crash the program. Index-out-of-bound? Silently crash program. AND the act of debug-printing would take up valuable storage (pushing your program over the edge of the limit).
In summary, the 'global computer' is so limited to be practically useless and the development process is (currently) a fate worse than hell.
Blockchains have to produce new blocks regularly to be useful. Think of the gas limit like the amount of time you have to render a new frame in graphics applications. If you have unbounded computation in a time-dependent system that anyone can submit instructions to, you're gonna get some DoS attacks.
> There is (last I checked), no way to know if your program will go over. Just trial and error
It's easy to check: blockchains are deterministic state machines. You can simulate a transaction to see what would happen with the current state, and as long as the state of your contract isn't modified by another transaction in the meantime, you'll get the same results on the chain.
> Last i checked, the only way to run a program is to deploy it. So, you have to setup your own private chain to test on and continuously deploy and wait and test.
Most developers use TestRPC to simulate a blockchain. It's like developing a web app with SQLite or another in-memory database.
Bitcoin: 1.2 Exahash / second
Ethereum: 1.6 Terahash / second
So attacking bitcoin costs roughly 150BTC per hour, while attacking Ethereum costs roughly 1200ETH (worth about 30BTC currently) per hour.
This suggests Bitcoin is 5 times more "secure".
In reality, Bitcoin hashrate has increased over 30x in the last 2 years and the exchange rate in USD has actually decreased in the same period. That suggests we aren't using anywhere near the upper bound of energy that remains economical.
Given that Bitcoin network performs 1 million x as many hashes per second than Ethereum, the energy cost per Ethash must be somewhere like 200,000x more expensive than SHA256 to compute if we are to assume Bitcoin is only 5x as 'secure'. I have't fired up an Ether mining rig to test whether that is the case or not, but it seems highly unlikely so I'm still maintaining a 51% attack against Bitcoin is orders of magnitude more costly to perform than the equivalent attack on Ether.
Realistic 'energy use per hash' for SHA256 versus Ethash would be good numbers to have that either refure or back that up.
UPDATE: found some numbers from mining rig data. We can use 'hashes per joule' numbers for the most efficient Bitcoin mining rig and Ethereum mining rig.
Top Bitcoin mining rig performs 4000 Mhash/J according to 
Top Ether mining rig performs 0.08 Mhash/J according to 
So if every miner achieves those numbers, the Bitcoin network is currently running around 300,000,000W versus 20,000,000W on Ethereum network (15x).
So, perhaps not orders of magnitude more secure, but probably at least one! (for the time being).
Being honest never requires being a jerk. That is always a choice you make.
Remove context from his statement and surrogate anything we have objective knowledge of (e.g. housing market 2009) and the statement morphs from "arrogant prediction and condescension" to an appropriate comment on reality.
There are very few contexts I can think of where "telling a fat person they are fat" is useful information for that person.
"Being honest" isn't a valid defense against being an asshat.