Yeah, I think I originally saw it when you posted it. I read it from time to time and it makes me laugh, especially the bit about the sidewalks and intentionally shooting the mailbox.
My libertarian-leaning friends were not so amused.
As a cryptocurrency fan who chose to invest nothing more than some time learning an interesting new system, I think that things are going just fine. We ran an experiment, and we are getting really interesting results; the kind of results that make good anecdotes in textbooks, decades later.
It's just too bad that the experiment was orders of magnitude larger than it needed to be. But if most of that was speculation and greed, then little value has been lost.
It's incredibly satisfying to watch this unfold after getting downvoted to death and told "bitcoin is inherently flawed, BlockChain Technology is muh future" in other threads.
After spending 4 years in bitcoin and having watched all the copy+pastecoins fail similarly to alternative internets I can say that any new blockchain isn't revolutionary or innovative in the way most people shallowly believe in the hopes of finding "the next bitcoin". It's already here just accept it.
You could make the same claim about bitcoin not being needed, given that we have money and a working banking system. Your POV is just as invested in bitcoin as others are in Ethereum.
No. Bitcoin IS different. Its network is vastly larger. Newspapers became obsolete when the internet came to fruition. Bitcoin is doing the same to fiat currency. There are many intranets but we all know which one we are talking about when someone says "the internet".
Bitcoin is different, but by no means is it or will it in any way obsolete government issued currency (it's wrong to call it fiat as if bitcoin isn't also fiat, which it is). It is however the only crypto currency that matters and will remain so.
This. Bitcoin is currently paying transaction fees through inflation, but as the halving process continues, those fees will shift back into the marketplace in a less implicit way, as miners need to continue being paid.
Tech like this will never die, it will just become less used if that problem isn't solved, but there will always be some group of people willing to use it despite those charges due to the nature of decentralized cash transfers without a trusted party.
True, "fiat money" would technically be "inconvertible paper money made legal tender by a government decree."
Bitcoin by contrast is "inconvertible digital money made legal tender by no-one because it's not legal tender".
So.. it's fiat in the sense that "by fiat" sense - which is where fiat money as a term comes from, but not in the strict "fiat money" sense of the phrase.
Fiat also means money that isn't a commodity or backed by a commodity. Bitcoin is fiat in this sense the same as USD. Additionally, the blockchain and it's rules are a form of government that is issuing bitcoin and thus it qualifies as government issued as well. You don't have to be a state to be a government.
Did you just compare consumer preference in media consumption with a government failing as if the connection is self evident? You're fucking with me right?
Anonymity significantly hinders tax assessment and collection. Removing anonymity to increase taxable base is part of reason for the rapid push towards electronic transactions away from cash even in developing markets (the other parts are cost of securing cash & to reduce middlemen corruption).
So governments & financial institutions will certainly embrace blockchain tech as a potential way to possibly reduce transaction paperwork (read eliminate backoffice jobs) but anonymity which underlies bitcoin is unlikely to be supported by governments.
I suspect they're referring to https://www.bitt.com/ lobbying the government there, which their CEO was talking about at an event I attended a few months ago.
Bitt is providing a credit card style phone app there that uses blockchain technology. That's a very very different thing from a government considering using bitcoin instead of their own currency.
It's one thing to have a tiny transaction-volume virtual currency like bitcoin circulating without any explicit government laws allowing it or not allowing it.
It's quite another thing for paavokoya to make the bold claim that bitcoin will replace government fiat currencies. That won't happen. Government currencies like USA dollars and Euros are backed by courts and police. Bitcoin doesn't have that. Bitcoin usage beyond the trivial can always be suppressed by the government. All it takes is for the government to pass a law that says, "property purchased with bitcoin is null and void".
Any non-government crypto-currency exists at the pleasure and amusement of the government.
Government has the ultimate power and infuses that power into the fiat currency. That power is spread across tax collectors, courts, and law enforcement. On the other hand, bitcoin can't create its own "Bitcoin Sovereign Island" with its own sympathetic government. Alt-coin enthusiasts overestimate the ability of bitcoin to overthrow government sponsored money.
>USA dollars are not "backed by courts and police" (what does that even mean?).
>Property cannot be null or void, so a government decree as such would be meaningless.
Sorry for writing in shorthand and not making the meaning clearer. It's not the property that's nullified but the transaction of that property.
Ok, you agree to buy a car or domain name from a seller for 100 bitcoins. After you pay the 100, the seller keeps the keys/title/domain. You go to court to help recover your "money" -- aka bitcoins, because it was a fraudulent transaction. The court doesn't recognize the transaction because it doesn't recognize bitcoin as legal consideration. Case closed. You then try to go to the police/sheriff to seize "your" property. The police ask for the court order. You don't have one.
If the government wants to pass a law stating that bitcoin transactions are not recognized, it can do so. It doesn't have to pass such a law at the moment, because bitcoin transaction volume is trivial.
>In the US, government power is derived exclusively from the people, by the people.
Did the "power of the people" stop FDR from confiscating gold?[1] Gold was even more entrenched than bitcoin is today. Did the "power of the people" direct the government to take their 1980 dollars and reduce its purchasing power to 1/3rd in 2016?[2]
There's a difference between repeating the ideals of "government of the people, by the people, for the people" from Lincoln's Gettysburg Address and the reality of how government actually exercises its power _against_ the people.
If Bitcoin activity got so large that it threatened the USA government's power to manipulate its Federal Reserve Notes to pay debt obligations (at least in nominal terms) or inflate the money supply to pay for Social Security & Medicare, it will make all bitcoin transactions null and void by decree.
Therefore, I disagree with paavokoya that Bitcoin will make fiat currencies like US Dollars and Euros "obsolete". Bitcoin doesn't have that power because Bitcoin doesn't come with its own courts, police, aircraft carriers, etc -- a.k.a. all the apparatus of government. It's the backing of government that enabled the US Dollar to become a global reserve currency.
> You go to court to help recover your "money" -- aka bitcoins, because it was a fraudulent transaction.
I don't understand what this means. Courts don't only consider cases where you pay ordinary money for an exhcange of goods. Contracts exist for purely material exchanges, so I don't see "give me bitcoin for X" wouldn't count.
If bitcoin becomes large enough, governments will simply say "Anything you buy with bitcoin will be taxed the same way you did with dollars. Oh by the way, you also have to show us how you earned that bitcoin, in the same way with dollars."
Eventually, I believe one of the two things would happen:
(1) Bitcoin becomes part of the "system", like Paypal, Amazon, and Visa. It remains one of the handful of convenient methods of transaction for some situations. Some of its early adopters publicly denounce it as corrupted by the government and mega-corporations, and move on to greener pasture.
In the late 80s, the regional director of the Chelybainsk Oblast was executed by firing squad for economic sabotage - possession of US dollars. (Mind you, two years later, nobody cared one whit about his crime, given that everyone came into the possession of US dollars.)
I think it's safe to say that governments will not allow things that will seriously threaten their fiscal policy. For all the wonders of cryptocurrencies, they have to intersect with the real world in order to be useful.
Not true. Bitcoin is highly centralized, there are less than 10 mints that matter. Bitcoin is thus more centralized than many government operated currencies.
The 'decentralized' attribute is a big lie, and it's good illustration how big lies successfully operate today as they did in the past centuries. They just need repetition.
Bitcoin is for the underserved. It services the people that can't be served in incumbent institutions, and they use it because it's as close as they can get to the dollar.
The reason that Ethereum is particularly silly, is because there are no underserved code execute'rs. (Go to Alphabay or Bovada if you doubt this)
I assume that is meant as sarcasm, because if I had very little money I would certainly be worried about losing half of it over the weekend because of things like a hack the causes some panic and sends the exchange rate down. And the possibility to double my money due to rising Bitcoin prices would certainly not wipe out my worries.
I would also not be a huge fan of spending tens of millions of Dollars every year on electricity and hardware to heat the planet and process an amount of transactions that could easily be processed by a single centralized server for a fraction of the costs.
The key criticism I can make toward Etherium is that it tries to do too much in one system. If we want smart contracts it would be better to build an orthogonal smart contract system that uses Bitcoin.
So are you just a Bitcoin fanboy? Because otherwise most people interested in bitcoin seem more on the "let the market decide" side of the fence, and don't really have an emotional investment in "the others" failing.
What an incredibly rude thing to even say. While it is 100% the fault of the people who "invested"(if you can call it that) in this. At the end of the day its someone else's hard earned money, perhaps stupid at spending, but hard earned money.
I honestly feel really bad for the people who are loosing so much of their money, it should not happen to anyone. Its a horrible horrible situation for the people involved.
I agree with strong bitcoin position. I can tell you one thing, I've read paper about bitcoin and know it's architecture (I've written software communicating with bitcoin network) and person that wrote it is genius. I encourage you to read about bitcoin architecture (if you did not already), it's beautiful. Every detail was thought about including 51% of hashing power attack, blockchains with different length, inflation, double spending etc. It's battle tested solution and i don't see any other crypto currency to challenge bitcoin anytime soon.
It's not a binary win/loose situation. Cryptocurrencies are like neighboring countries who's economies are intertwined. For proof see the 10% fall in BTC when the DAO was hacked. This 'hack' could bring a lot of innovation in creating proper smart contracts so there is a small upside to this.
I'm not sure why you'd find this satisfying, unless you hate innovation.
Also, I agree that the same Dapps can be run with Bitcoin, so it's not like everyone needs to switch to Ethereum. It does have some advantages over Bitcoin, though that might not be enough given the huge adoption Bitcoin has already.
Are you seriously suggesting that Bitcoin has outright replaced traditional currency in several countries? That's a pretty strong claim that will need some supporting evidence, I'm very skeptical there exists a country where the majority of the population has been part of a single Bitcoin transaction, much less use it as their primary currency. When i peak outside the bubble I see people who haven't even heard of Bitcoin and don't have any intrinsic opposition to Fiat currency.
Acerbic personal jabs like this are not allowed on Hacker News. We ban accounts that do this repeatedly, so please don't do it. Instead, please (re-)read the site guidelines and post civilly and substantively, or not at all.
There's no central control of the Ethereum blockchain. Various parties are making various recommendations and arguing forcefully because there is no way for a central authority to simply change the blockchain logic. Whether any proposed fork will survive is unclear because it's a decentralized decision.
I'm struggling to understand why anyone would want to bail the DAO investors out of their stupid investment by forking. They told everyone that the code is the final word, someone used the code to empty their bank accounts. Either you believe in what the ethereum block chain espouses or you don't.
It's really annoying to think that they are going to get this bailout now though, while in the future they are surely going to thumb their noses at anyone who makes similar contract mistakes. The ability to see a contract through to it's full intent should not depend on your social proximity to the Ethereum development team.
If it ends up just being just the DAO that get's "bailed out"(that's not the right phrase for what's happening, but I don't know a better one), then it would to hard to make a just moral argument. But there have been a lot of contracts go sideways: https://blog.ethereum.org/2016/06/19/thinking-smart-contract...
If they rolled the whole system back and said, "Ok lesson learned. Let's not fuck this up again." I could get behind that. People who get ahead by doing some black-hat stuff would be pissed, but to bad for them. Maybe they'll decide to stay away.
If they give DAO a hard-fork refund, they're going to need to convince the community that this wont happen again, or explain the rules about when it might happen again. Otherwise, no one is going to trust the system.
The DAO was dodgy to begin with, the problem with Ethereum is that most people investing have no understanding of the tech behind, beyond thinking that Vitalik is some sort of genius and that it's "zero risk".
This is the best argument I've heard: "Would you like to own an asset where at least 5% is controlled by 1 person known to be a scammer?" Me neither. The hard-fork is distasteful, but it's the best move for the fast majority of stake-holders.
Why should that matter? Would you rather 5% be in the hands of gullible idiots? Because that's what a fork accomplishes. They're going to lose their money to scammers again eventually.
Watching Ethereum discover why there are lawyers is similar to watching the Bitcoin community find out why there are (central) banks.
The bitcoin world now has "consensus" meetings which from an outsiders' perspective look a lot like the kind of meetings at Davos that bitcoin was supposed to be against, only without regulation, consumer protection and any recourse against bad actors within the upper spheres of influence.
In future of ethereum there'll have to be "arbitration committees" which will look a lot like courts. Self-appointed, unregulated courts of course.
You are very much mistaken on that one. Those consensus meetings can not decide anything against the will of the users. In fact bitcoin core would hard fork bitcoin if miners agreed to mine too big blocks and nobody could dictate the users of either of the chains to switch to the other. The user is in full control which type of bitcoin he wants to use but as such forks cause insecurity in the market, consensus meetings are held, to gauge the overall potential for consensus on the available options going forward. The most recent changes like CSV are only activated if 95% of miners want them, which would not stop the other 5% from going on without that. And you can be damn sure about seriously controversial changes triggering a 5% fork if need be.
If the govt changes monetary policy, your held dollars change definition; if bitcoin devs do anything my bitcoins remain as per the definition i agreed to. I can choose to move to that new currency or not.
You can stipulate in a contract that it may only be settled with paper notes printer before 1974. It would be silly, since it would make transacting difficult. But no more so than holding some deprecated shard of a cryptocurrency. A better store of value are real assets.
The vast majority of people using Bitcoin are locked out of profitable Bitcoin mining because of asics and power costs. There's a small cartel of Chinese miners that have the power to decide 'what Bitcoin is'. You can use whatever Bitcoin software you want, but if you're not using theirs, it's worthless.
That's not true. You could just as well say that there is number of exchanges in the world that trade Bitcoin against USD and other currencies. It is this trade that give Bitcoin value, and only the Bitcoin fork the exchanges use is valuable. If all the miners would fork Bitcoin today to change consensus (perhaps to earn more from mining), and all the users and exchanges stayed behind, that would only be visible as a drop in mining power. In reality it's much more complicated, and consensus changes are not to be made lightly.
That does not mean that miners dictate which fork to use. The opposite situation, that miners wanted bigger blocks but exchanges and users refused, would be similarly impossible. It's a bit like mutually assured destruction, nobody wants to see a big drop in value.
missed a couple Govt classes? The existence of central banks are opposed by people who want to restrict third-party control of their money, not let any loser who walks by have a say (like DAO)
Ethereum is a bad idea and people are too embarrassed to admit it. I get it. However, turning around and shoehorning that sentiment into "They don't understand central banking" is just foolish and highlights the sort of headstrong obliviousness that has essentially springboarded DAO into the spotlight to begin with.
Smart contracts aren't good for stupid users. Someone outsmarted a big group, now they're having a fit because all of their money is going to leave, and rather than walk away from the poker table with their head hung low, they've decided to just rob the dealer and try for heisting the vault while they're at it.
And then they have the gall to say "Oh, you just dont understand the purpose of central banking" as they oppose a system that they put in place to benefit themselves, by themselves.
What (I think) OP is saying is that at the end power is what matters and the power is not evenly distributed like the blockchain. Looking at the long block size discussion you can see which stakeholders has power while others just watch.
I am long on cryptocurrencies but the community at large needs a reality check to see where they currently fit.
But at least with bitcoin it is possible to insert an arbitration layer over and above the currency. The execution of transfers in bitcoin is still separate from any associated contract, which makes it more flexible and therefore more viable imho.
Watching this rapid evolution towards traditional legal systems reminds me of an oddball scifi story about life on the surface of a neutron star. Everything moves so quickly that, by our perspective orbiting the star, civilizations may rise and fall within days.
It isn't true that they have no recourse. The miners can simply refuse to upgrade, or people can make new forks of their own. That is the best kind of oversight - the ability to fork the currency.
How does it do any of those things? Provided a fork is sufficiently rare, as it should be, because the threat of a fork is enough to mostly keep it from happening - it should have minimal impact on any of those things.
You could equally say that the threat of collapse of the US government dilutes the utility, marketplace and value of the US dollar. Sure, it's true, but it's irrelevant.
Despite Bitcoin's downsides, they've never actually had an issue nearly as bad as what Ethereum's experiencing now.
With Bitcoin, most issues were a result of private organizations misappropriating money or security. But the entire foundation of Ethereum is now considered completely unreliable.
But wasn't the smart contract system the selling point for the novelty of Ethereum? If it doesn't work reliably, why should we use it over the more mature and stable Bitcoin?
It works reliably, insofar as you are fully able to write and execute a desired contract, but also able to write a contract that shoots you in the foot.
Like a certain programming language's features, it may happen to be easier than not.
That's a strange way to design a financial contract system. I mean, just like Rust checks for memory safety at compile time, can't the contract language make similar checks? Or perhaps the contracts can run in a simulator first?
Yes, you can write a contract language (or improve an existing one) which contains static checks. That hasn't been implemented yet probably because of lack of resources. The higher level contract language is compiled down to byte code.
You can in addition implement these safety checks to be executed during runtime, but that costs money.
My understanding is that the bug was in a particular contract written using the Ethereum contract "language", not Ethereum itself. E.g., one does not stop using Python because there's a bug in Quora
The people who screwed up the DAO smart contract can't fix the problem from within the DAO, and they want to change the rules of Etherium to fix the DAO's problem. The fact that the same people are behind Etherium, the DAO, and the programmable door-lock startup makes this possible. It also makes it suspicious. In the Bitcoin world, all too often we've seen an "outside hack" that turned out to be insiders.
Somewhat related: the lock in my apartment is actually based on cryptography too. It uses SHA-1, which is somewhat scary, because it's not considered "safe" anymore. The algorithm was probably chosen because it uses less energy compared to safer ones, as the lock gets the energy from the turning of the key.
Oh god, its some random IoT company that is using the blockchain to run its IoT platform for no reason, and then decided to pivot into a decentralized investment fund.
Professional security audits of The DAO's smart contract code never caught this bug. This conclusively shows it's impossible for a mere mortal developer (or even a team of seasoned security professionals) to write smart contracts that behave in predictable ways. As an outsider, I will never use Ethereum for this reason.
The EVM may be reliable, but the humans that use it are completely unreliable, and it's the humans that form the foundation of any distributed system.
It doesn't seem that rational to stop using Ethereum simply because a single smart contract contained a bug. It's a new project so there's bound to be bugs here and there. Of course, maybe your position is that you will never use any Ethereum-like software, which might become impractical in the future.
It's almost like you didn't read the comment. They had experts review their code, and they didn't catch the bug. They had huge public interest, and nobody caught the bug. So the chances are, unless big, breaking changes to the platform are made, the vast majority of contracts that will ever be written will be buggy.
Bitcoin has turned out to be quite secure technically. The problem with Bitcoin is that anonymous unidirectional remote money transfers are the con man's dream. Bitcoin thus became a scam magnet. The goal of Etherium was to provide something akin to a contract so that remote parties could not just take the money and run. That seems to have failed technically.
(Another big problem with Bitcoin at scale is that you can't count it without access to the keys that let you spend it. This makes outside auditing very difficult and helped to enable the Mt. Gox scam. Etherium doesn't address that. Some multi-signature scheme where external parties could determine that an account has funds without the key needed to take them would be useful for a cryptocurrency. But, as Etherium shows, adding complexity adds exploitable bugs.)
> Some multi-signature scheme where external parties could determine that an account has funds without the key
Correct me if I misunderstand, but checking that an account has funds is trivial. It's in the blockchain. Multi-signature transactions are also standard.
> Another big problem with Bitcoin at scale is that you can't count it without access to the keys that let you spend it.
That's not remotely true, I'm not sure what gave you that idea. Bitcoin at its core is based around asymmetric encryption, which allows only 1 party to send money but everyone to verify it. By sharing a public key (a bitcoin address) you can see the funds, but can not spend it. In fact, right from the start bitcoin client even included the ability to sign and verify messages from addresses to prove ownership. Right now I could give you the bip44 (public key) of my wallet and you could see every transaction I have received, sent (and all future ones, from that wallet). But you'll have no ability to spend my money. Although I'm not going to do that for the same reason most people won't: privacy.
Anyway, there's been proof of solvency schemes for a long times, it's just most exchanges and services (with a few notable exceptions) haven't seen a business case in implementing it.
Umm? Maybe you misread the title: "Off-Chain Transactions" which according to the article: "An off-chain transaction is the movement of value outside of the block chain."
So yeah, an exchange like Mt Gox can not prove they own the USD they should own, but can prove they own the bitcoin they claim to own. How is this a problem or limitation of bitcoin again?
"Another big problem with Bitcoin at scale is that you can't count it without access to the keys that let you spend it."
I'm not an expert, but I'm pretty sure one could use the private key, without revealing it, to sign a message, for example "%date I, %owner, own the bitcoin in $account".
Then anyone else could check the signature against the public key on the blockchain.
The issue here appears to be a human misunderstanding of best practices. An investment gone awry, maybe due to insider malfeasance or incompetence. Bitcoin has most certainly had its fair share of those too. This is Ethereum's Mt.Gox moment.
No, Bitcoin was never supposed to be "against Davos meetings". These consensus meetings are all and only about increasing network capacity, that is all. You seem to conflate different concepts without understanding them. I suggest you read the Introduction of Satoshi's famous whitepaper¹. In short Bitcoin is about: (1) providing non-reversible electronic transactions, (2) reducing transaction costs, and (3) enabling micro-transactions:
"Commerce on the Internet has come to rely almost exclusively on financial institutions serving as
trusted third parties to process electronic payments. While the system works well enough for
most transactions, it still suffers from the inherent weaknesses of the trust based model.
Completely non-reversible transactions are not really possible, since financial institutions cannot
avoid mediating disputes. The cost of mediation increases transaction costs, limiting the
minimum practical transaction size and cutting off the possibility for small casual transactions,
and there is a broader cost in the loss of ability to make non-reversible payments for nonreversible
services. With the possibility of reversal, the need for trust spreads. Merchants must
be wary of their customers, hassling them for more information than they would otherwise need.
A certain percentage of fraud is accepted as unavoidable. These costs and payment uncertainties
can be avoided in person by using physical currency, but no mechanism exists to make payments
over a communications channel without a trusted party."
Commerce on the Internet has come to rely almost exclusively on financial institutions serving as
trusted third parties to process electronic payments. While the system works well enough for
most transactions, it still suffers from the inherent weaknesses of the trust based model
The problem with [a trusted central authority] is that the fate of the entire money system depends on the company running the mint, with every transaction having to go through them, just like a bank.
Sure, it's hard to say exactly what Bitcoin is for or against, given that it's a multi-faceted community with many different goals. But to deny that decentralization and lack of central planning is a huge motivation / driver / goal of both the original inception of Bitcoin, and also the community that developed around Bitcoin, is pretty hard to believe.
Yes it is hard to say what Bitcoin is for or against. But to be clear: it is not "central planning" in general that the Bitcoin community is against. The community wants no central planning of the MONETARY POLICY (eg. they want no long-term inflation). That is why there is a fixed 21 millions coins (therefore no policy to decide about), which is arguably one of the most liked property of Bitcoin.
The original poster insinuated Bitcoin needed all-powerful policy planners ("Davos meetings"), which is false. All that is taking place is community discussions about scaling (block size increase), but it would be absolutely incorrect to compare this to "Davos meetings".
The interesting thing to me about bitcoin's oligopoly of miners is that it is based on a real thing: "Hashing Power". This corresponds to real electricity usage and real chip design. In most systems there is something holy, sacred and arbitrary in it that maintains the structure. Bitcoin suffers from this the least compared to other systems.
I've been trying to tell people this for a while now. Bitcoin has to be the most wasteful software project ever made; I'm sure it has indirectly pumped millions of tons of CO2 into the atmosphere at this point. And for what? The blockchain is a neat academic piece for which we have yet to find a good use. Bitcoin is not usable as a currency (except for illicit trade) and it never will be. The only thing Bitcoin has ever been good for is as a pump & dump scheme, and the "dump" part already happened anyway.
If we're going to blow so much computer power on raw calculations, we could use it for Folding@home, SETI@home, or any number of other great causes. But this is just a waste.
The major problem of Solidity (Ethereum’s language) is the Turning completeness. This makes it incredibly hard to reason about any property of the contracts (since everything is undecidable due to Rice’s theorem).
I don’t know why they didn’t reduce the computing power, so it becomes much easier to reason and automate the reasoning about contracts.
Do they really need Turing completeness?
This could be one of the better things about Bitcoin's blockchain: it's simpler and easier to reason about.
Turing incompleteness was a very significant design decision by Satoshi. If it had been designed by more than a single person, I don't think that decision would have been made. I think that's because the balance of paranoia vs flexibility would have favored flexibility in a larger group. People have to trust each other to form groups so they are naturally less paranoid the larger they become.
It was very ambitious. I guess they could have just hard coded some simple contracts mimicking existing financial instruments: an equity that pays out variable profits from a certain address to owners, a credit that periodically pays out a fixed amount, options, packages such as convertibles, indices, and so forth.
About the Turing completeness, is there any limit to what you can calculate? What's to stop me from doing a contract that eats up an unreasonable number of calculations? That could easily be something that works fine when n is small but explodes when a bunch of different people are involved. Something that might be hard to check beforehand.
Ethereum uses "gas" to quantify the computational resources a contract consumes. There is a slowly growing limit to the amount of gas a contract is allowed to consume in order to execute.
Not sure if this is exploiting the same bug as the first split. But commenters on yesterday's thread have noted [1] that the DAO code currently executing seems to be several days older, and out of sync with the newer github repo [2][3].
This is one way to get a free code review /s
There was an issue raised on their repo to make exploitable bugs private [4]. So far it doesn't appear to have gained traction but I wonder, what will it say about decentralized communities, and the focus on the sanctity of their code as a contract, if it's accepted.
No, I'm saying the running code is older. The repo has been updated since, so there are updates/fixes/pull requests in the repo that haven't been deployed to the running code yet.
The most recent bugs that appear to have been fixed are still present in the running instance of the DAO.
(Prompted by your post, I have since edited my previous post to clarify the intended wording.)
That's a great question: how is new code deployed on a smart contract?
If this is even possible, what prevents the holders of The DAO's account keys from deploying a new "Send all outstanding balance to this wizard" version of the code?
If it's not possible to change the running version of a smart contract, how does the community plan to deal with these sorts of problems?
It could be either, depending on the way the contract was written.
Out-of-band would be something like m-of-n control of a secret 'update' key where any properly signed update-to-script-X message is accepted. You'd vote by providing your segment of the key, or not.
In-band would be something like the DAO but where there was a special "update self" proposal with some set of quorum and rules all enforced in-script.
Both have their place. In-band is more transparent, and can have a lot of complexity modeling the intended domain. (Classes of shares with more voting power, auditors with vetoes, etc.) Out-of-band is more likely to work in cases where the script has major bugs.
Unless there's a provision to allow for that, it isn't possible.
If there is such a provision it would likely be for the old contract to forward funds to a new contract and simply "step aside". Everyone would use the new contract but refer to it with the same name.
It seems easy to screw up. To end up breaking the new contract too, or have funds still pile up at the old one that it was no-longer capable of forwarding, etc. Even if there is a provision it may not actually be useful.
> If this is even possible, what prevents the holders [...]
Well, nothing. (Do you have their home addresses?)
That's why there often isn't a provision for it, it's a catch-all such as "or any terms that may be added at a later date."
Well, this is a mess. Remember, there's a clock ticking - there are, what, 25 more days before the funds from the first exploit become liquid. With more exploits being found, the original proposed patch, which just blocks a specific destination address, won't work.
The price of Etherium has fallen about 35% since this started. The Etherium market cap has dropped from $1.5bn to under $1bn. Volume hit an all time high, and the price is still in a screaming dive as people try to get out.[1]
I wouldn't be surprised if the person behind the exploit turns out to be an insider. That would be in keeping with cryptocurrency tradition. In the Bitcoin world, most of the major "hacks" turned out to be insider theft.
I am not convinced that this is actually theft. The "exploit" was simply code. And code rules, in the "The DAO"/ethereum world.
Indeed, isn't it arguable that said insider(s) (and I agree it's probably an inseder) should identify themselves and challenge the leadership who are damaging their own credibility and that of ethereum generally? All these rollbacks -> they are the ones which are arguably illegal as they override the code. In my view, the so-called thieves have a legitimate claim on the ETH they have made and the investors in the DAO should respect the old caveat-emptor idea which is axiomatic to all investments, both inside and outside the blockchain world. They invested in a dog, and they should lose all their money. This is efficient markets at work.
no, because the VC is ruled by law, and The DAO was ruled only by code, even if it contained exploits. As such the rules of the code - the law of The DAO - were followed.
The correct analogy is that the exploiters shorted the investment after performing thorough due diligence, and made a profit doing so, at the expense of more ignorant investors. That those more ignorant investors included the founders of ethereum and the authors of the code, is deliciously ironic especially considering (perhaps even because of) their own self-importance[1], but it is ultimately immaterial.
Everything is ruled by law, unless you are stateless. In USA, it is legally impossible for some one with net worth under a $1million to sign away protections by claiming due diligence.
question: say it is ascertained that 80% of the value of the DAO was tightly held by a small number of people all worth > 1m USD, then have those people signed away their due diligence through the explicit primacy of the code as per the DAO's terms?
question 2: those worth less than 1m USD -> who do they sue? The "thieves" who were acting according to the terms and conditions? Or the DAO itself?
The DAO, ultimately, is a human construct and subject to human laws. Just because you write a something in code and do a bit of hand waving, it doesn't mean that contract law, etc, magically ceases to exist.
Why insider ? Ethereum/TheDAO posted an ad that said "$40M investment award to anyone who can find an exploitable bug in our open-source contract software" , which would affect many a competent outsider.
"I am disappointed by those who are characterizing the use of this intentional feature as "theft". I am making use of this explicitly coded feature as per the smart contract terms and my law firm has advised me that my action is fully compliant with United States criminal and tort law."
There's much argument over whether this is a hoax.
There's a good writeup in American Banker.[2] They question whether the rules should be changed.
Patrick Murck, a lawyer and researcher at Harvard University's Berkman Center:
"The contract is the code, it's unstoppable code, it's unbreakable, it's self-executing and autonomous — right up until everything goes wrong. And then, 'No no no no, that's theft!' Which is some social norm that we've attached to it that's not based in the code, and then we're going to stop the whole system and basically bail it out," he said. "Is this something we're going to do every time a smart contract fails? Or is this just because there are a lot of [Ethereum] insiders in the DAO?"
There is an incentive to exploit contracts. Contracts that stand unexploited mean that they probably cannot be exploited. More complex contracts should re-use smaller, proven contracts.
This model should work in the long term. Just make sure not to invest too much on too complicated contracts that do not re-use smaller proven contracts.
Only composed contracts which stood unexploited for longer amounts of time should have a lot of money involved.
I'm not saying that there will not be flaws, but this dynamic where there is an incentive to exploit the contracts (be it composed or not) makes contracts which stood longer more interesting.
166 comments
[ 2.9 ms ] story [ 137 ms ] threadMy libertarian-leaning friends were not so amused.
It's just too bad that the experiment was orders of magnitude larger than it needed to be. But if most of that was speculation and greed, then little value has been lost.
After spending 4 years in bitcoin and having watched all the copy+pastecoins fail similarly to alternative internets I can say that any new blockchain isn't revolutionary or innovative in the way most people shallowly believe in the hopes of finding "the next bitcoin". It's already here just accept it.
Or it will just die once users have to pay the real transaction costs and it becomes really obvious how expensive that system is.
https://blockchain.info/charts/cost-per-transaction-percent
Bitcoin by contrast is "inconvertible digital money made legal tender by no-one because it's not legal tender".
So.. it's fiat in the sense that "by fiat" sense - which is where fiat money as a term comes from, but not in the strict "fiat money" sense of the phrase.
Oh really? Please do explain why a government would ever allow bitcoin to challenge its currency.
So governments & financial institutions will certainly embrace blockchain tech as a potential way to possibly reduce transaction paperwork (read eliminate backoffice jobs) but anonymity which underlies bitcoin is unlikely to be supported by governments.
It's quite another thing for paavokoya to make the bold claim that bitcoin will replace government fiat currencies. That won't happen. Government currencies like USA dollars and Euros are backed by courts and police. Bitcoin doesn't have that. Bitcoin usage beyond the trivial can always be suppressed by the government. All it takes is for the government to pass a law that says, "property purchased with bitcoin is null and void".
Any non-government crypto-currency exists at the pleasure and amusement of the government.
Government has the ultimate power and infuses that power into the fiat currency. That power is spread across tax collectors, courts, and law enforcement. On the other hand, bitcoin can't create its own "Bitcoin Sovereign Island" with its own sympathetic government. Alt-coin enthusiasts overestimate the ability of bitcoin to overthrow government sponsored money.
USA dollars are not "backed by courts and police" (what does that even mean?).
Property cannot be null or void, so a government decree as such would be meaningless.
>Government has the ultimate power
Maybe under some theories, but again, not in the US. In the US, government power is derived exclusively from the people, by the people.
>Property cannot be null or void, so a government decree as such would be meaningless.
Sorry for writing in shorthand and not making the meaning clearer. It's not the property that's nullified but the transaction of that property.
Ok, you agree to buy a car or domain name from a seller for 100 bitcoins. After you pay the 100, the seller keeps the keys/title/domain. You go to court to help recover your "money" -- aka bitcoins, because it was a fraudulent transaction. The court doesn't recognize the transaction because it doesn't recognize bitcoin as legal consideration. Case closed. You then try to go to the police/sheriff to seize "your" property. The police ask for the court order. You don't have one.
If the government wants to pass a law stating that bitcoin transactions are not recognized, it can do so. It doesn't have to pass such a law at the moment, because bitcoin transaction volume is trivial.
>In the US, government power is derived exclusively from the people, by the people.
Did the "power of the people" stop FDR from confiscating gold?[1] Gold was even more entrenched than bitcoin is today. Did the "power of the people" direct the government to take their 1980 dollars and reduce its purchasing power to 1/3rd in 2016?[2]
There's a difference between repeating the ideals of "government of the people, by the people, for the people" from Lincoln's Gettysburg Address and the reality of how government actually exercises its power _against_ the people.
If Bitcoin activity got so large that it threatened the USA government's power to manipulate its Federal Reserve Notes to pay debt obligations (at least in nominal terms) or inflate the money supply to pay for Social Security & Medicare, it will make all bitcoin transactions null and void by decree.
Therefore, I disagree with paavokoya that Bitcoin will make fiat currencies like US Dollars and Euros "obsolete". Bitcoin doesn't have that power because Bitcoin doesn't come with its own courts, police, aircraft carriers, etc -- a.k.a. all the apparatus of government. It's the backing of government that enabled the US Dollar to become a global reserve currency.
[1]https://en.wikipedia.org/wiki/Executive_Order_6102
[2]http://data.bls.gov/cgi-bin/cpicalc.pl?cost1=1000&year1=1980...
I don't understand what this means. Courts don't only consider cases where you pay ordinary money for an exhcange of goods. Contracts exist for purely material exchanges, so I don't see "give me bitcoin for X" wouldn't count.
Eventually, I believe one of the two things would happen:
(1) Bitcoin becomes part of the "system", like Paypal, Amazon, and Visa. It remains one of the handful of convenient methods of transaction for some situations. Some of its early adopters publicly denounce it as corrupted by the government and mega-corporations, and move on to greener pasture.
(2) Bitcoin loses its initial lure and dies off.
I think it's safe to say that governments will not allow things that will seriously threaten their fiscal policy. For all the wonders of cryptocurrencies, they have to intersect with the real world in order to be useful.
The 'decentralized' attribute is a big lie, and it's good illustration how big lies successfully operate today as they did in the past centuries. They just need repetition.
The reason that Ethereum is particularly silly, is because there are no underserved code execute'rs. (Go to Alphabay or Bovada if you doubt this)
Who exactly falls into this category?
I would also not be a huge fan of spending tens of millions of Dollars every year on electricity and hardware to heat the planet and process an amount of transactions that could easily be processed by a single centralized server for a fraction of the costs.
What an incredibly rude thing to even say. While it is 100% the fault of the people who "invested"(if you can call it that) in this. At the end of the day its someone else's hard earned money, perhaps stupid at spending, but hard earned money.
I honestly feel really bad for the people who are loosing so much of their money, it should not happen to anyone. Its a horrible horrible situation for the people involved.
http://bitcoincharts.com/markets/bitfinexUSD.html
Looks up close to 100% in two months.
I'm not sure why you'd find this satisfying, unless you hate innovation.
Also, I agree that the same Dapps can be run with Bitcoin, so it's not like everyone needs to switch to Ethereum. It does have some advantages over Bitcoin, though that might not be enough given the huge adoption Bitcoin has already.
Acerbic personal jabs like this are not allowed on Hacker News. We ban accounts that do this repeatedly, so please don't do it. Instead, please (re-)read the site guidelines and post civilly and substantively, or not at all.
https://news.ycombinator.com/newsguidelines.html
https://news.ycombinator.com/newswelcome.html
We detached this subthread from https://news.ycombinator.com/item?id=11933544 and marked it off-topic.
This is hard-tech sitcom.
"oops, just a practice!"
i don't think it's any coincidence that's how it works in the 'real world' either, with big banks and governments.
at the end of the day, it's about people. money isn't real.
If they rolled the whole system back and said, "Ok lesson learned. Let's not fuck this up again." I could get behind that. People who get ahead by doing some black-hat stuff would be pissed, but to bad for them. Maybe they'll decide to stay away.
If they give DAO a hard-fork refund, they're going to need to convince the community that this wont happen again, or explain the rules about when it might happen again. Otherwise, no one is going to trust the system.
That's just not very wise.
I don't know if I buy it, but there it is.
The bitcoin world now has "consensus" meetings which from an outsiders' perspective look a lot like the kind of meetings at Davos that bitcoin was supposed to be against, only without regulation, consumer protection and any recourse against bad actors within the upper spheres of influence.
In future of ethereum there'll have to be "arbitration committees" which will look a lot like courts. Self-appointed, unregulated courts of course.
I am in full control of which currency I use when transacting.
Ethereum is a bad idea and people are too embarrassed to admit it. I get it. However, turning around and shoehorning that sentiment into "They don't understand central banking" is just foolish and highlights the sort of headstrong obliviousness that has essentially springboarded DAO into the spotlight to begin with.
Smart contracts aren't good for stupid users. Someone outsmarted a big group, now they're having a fit because all of their money is going to leave, and rather than walk away from the poker table with their head hung low, they've decided to just rob the dealer and try for heisting the vault while they're at it.
And then they have the gall to say "Oh, you just dont understand the purpose of central banking" as they oppose a system that they put in place to benefit themselves, by themselves.
I am long on cryptocurrencies but the community at large needs a reality check to see where they currently fit.
Watching this rapid evolution towards traditional legal systems reminds me of an oddball scifi story about life on the surface of a neutron star. Everything moves so quickly that, by our perspective orbiting the star, civilizations may rise and fall within days.
https://en.wikipedia.org/wiki/Dragon%27s_Egg
Not a great idea for a currency.
You could equally say that the threat of collapse of the US government dilutes the utility, marketplace and value of the US dollar. Sure, it's true, but it's irrelevant.
You're... kind of agreeing with me here.
The reason a threat of a fork works is because it had the results I mentioned.
Basically what is the point you're trying to make?
With Bitcoin, most issues were a result of private organizations misappropriating money or security. But the entire foundation of Ethereum is now considered completely unreliable.
Considered by who? The bugs are in the smart contract, not Ethereum itself.
Like a certain programming language's features, it may happen to be easier than not.
You can in addition implement these safety checks to be executed during runtime, but that costs money.
The door lock company is the funniest part of the whole thing. It makes this meltdown so much less surprising tbh.
Somewhat related: the lock in my apartment is actually based on cryptography too. It uses SHA-1, which is somewhat scary, because it's not considered "safe" anymore. The algorithm was probably chosen because it uses less energy compared to safer ones, as the lock gets the energy from the turning of the key.
The EVM may be reliable, but the humans that use it are completely unreliable, and it's the humans that form the foundation of any distributed system.
(Another big problem with Bitcoin at scale is that you can't count it without access to the keys that let you spend it. This makes outside auditing very difficult and helped to enable the Mt. Gox scam. Etherium doesn't address that. Some multi-signature scheme where external parties could determine that an account has funds without the key needed to take them would be useful for a cryptocurrency. But, as Etherium shows, adding complexity adds exploitable bugs.)
Correct me if I misunderstand, but checking that an account has funds is trivial. It's in the blockchain. Multi-signature transactions are also standard.
That's not remotely true, I'm not sure what gave you that idea. Bitcoin at its core is based around asymmetric encryption, which allows only 1 party to send money but everyone to verify it. By sharing a public key (a bitcoin address) you can see the funds, but can not spend it. In fact, right from the start bitcoin client even included the ability to sign and verify messages from addresses to prove ownership. Right now I could give you the bip44 (public key) of my wallet and you could see every transaction I have received, sent (and all future ones, from that wallet). But you'll have no ability to spend my money. Although I'm not going to do that for the same reason most people won't: privacy.
Anyway, there's been proof of solvency schemes for a long times, it's just most exchanges and services (with a few notable exceptions) haven't seen a business case in implementing it.
[1] https://en.bitcoin.it/wiki/Off-Chain_Transactions#Auditing
So yeah, an exchange like Mt Gox can not prove they own the USD they should own, but can prove they own the bitcoin they claim to own. How is this a problem or limitation of bitcoin again?
I'm not an expert, but I'm pretty sure one could use the private key, without revealing it, to sign a message, for example "%date I, %owner, own the bitcoin in $account".
Then anyone else could check the signature against the public key on the blockchain.
Would that not be enough?
"Commerce on the Internet has come to rely almost exclusively on financial institutions serving as trusted third parties to process electronic payments. While the system works well enough for most transactions, it still suffers from the inherent weaknesses of the trust based model. Completely non-reversible transactions are not really possible, since financial institutions cannot avoid mediating disputes. The cost of mediation increases transaction costs, limiting the minimum practical transaction size and cutting off the possibility for small casual transactions, and there is a broader cost in the loss of ability to make non-reversible payments for nonreversible services. With the possibility of reversal, the need for trust spreads. Merchants must be wary of their customers, hassling them for more information than they would otherwise need. A certain percentage of fraud is accepted as unavoidable. These costs and payment uncertainties can be avoided in person by using physical currency, but no mechanism exists to make payments over a communications channel without a trusted party."
¹ https://bitcoin.org/bitcoin.pdf
The problem with [a trusted central authority] is that the fate of the entire money system depends on the company running the mint, with every transaction having to go through them, just like a bank.
Sure, it's hard to say exactly what Bitcoin is for or against, given that it's a multi-faceted community with many different goals. But to deny that decentralization and lack of central planning is a huge motivation / driver / goal of both the original inception of Bitcoin, and also the community that developed around Bitcoin, is pretty hard to believe.
The original poster insinuated Bitcoin needed all-powerful policy planners ("Davos meetings"), which is false. All that is taking place is community discussions about scaling (block size increase), but it would be absolutely incorrect to compare this to "Davos meetings".
If we're going to blow so much computer power on raw calculations, we could use it for Folding@home, SETI@home, or any number of other great causes. But this is just a waste.
So, beware of status quo bias.
I don’t know why they didn’t reduce the computing power, so it becomes much easier to reason and automate the reasoning about contracts.
Do they really need Turing completeness?
This could be one of the better things about Bitcoin's blockchain: it's simpler and easier to reason about.
Of course not, this is why Bitcoin only supports a handful of transaction types which closely mimic things you might do w/ paper checks or cash.
About the Turing completeness, is there any limit to what you can calculate? What's to stop me from doing a contract that eats up an unreasonable number of calculations? That could easily be something that works fine when n is small but explodes when a bunch of different people are involved. Something that might be hard to check beforehand.
As for being hard to check beforehand, you're absolutely right. You can read about the consequence of this in one case on this reddit thread: https://www.reddit.com/r/ethereum/comments/4ghzhv/government...
This is one way to get a free code review /s
There was an issue raised on their repo to make exploitable bugs private [4]. So far it doesn't appear to have gained traction but I wonder, what will it say about decentralized communities, and the focus on the sanctity of their code as a contract, if it's accepted.
[1] https://news.ycombinator.com/item?id=11928936
[2] https://github.com/slockit/DAO
[3] https://github.com/TheDAO/DAO-1.0
[4] https://github.com/slockit/DAO/issues/264
The most recent bugs that appear to have been fixed are still present in the running instance of the DAO.
(Prompted by your post, I have since edited my previous post to clarify the intended wording.)
Could such a possibility not be used to change smart contracts post-facto?
If this is even possible, what prevents the holders of The DAO's account keys from deploying a new "Send all outstanding balance to this wizard" version of the code?
If it's not possible to change the running version of a smart contract, how does the community plan to deal with these sorts of problems?
Out-of-band would be something like m-of-n control of a secret 'update' key where any properly signed update-to-script-X message is accepted. You'd vote by providing your segment of the key, or not.
In-band would be something like the DAO but where there was a special "update self" proposal with some set of quorum and rules all enforced in-script.
Both have their place. In-band is more transparent, and can have a lot of complexity modeling the intended domain. (Classes of shares with more voting power, auditors with vetoes, etc.) Out-of-band is more likely to work in cases where the script has major bugs.
Unless there's a provision to allow for that, it isn't possible.
If there is such a provision it would likely be for the old contract to forward funds to a new contract and simply "step aside". Everyone would use the new contract but refer to it with the same name.
It seems easy to screw up. To end up breaking the new contract too, or have funds still pile up at the old one that it was no-longer capable of forwarding, etc. Even if there is a provision it may not actually be useful.
> If this is even possible, what prevents the holders [...]
Well, nothing. (Do you have their home addresses?)
That's why there often isn't a provision for it, it's a catch-all such as "or any terms that may be added at a later date."
You wouldn't sign that contract, would you?
Why is this even controversial? Lots of projects embargo dangerous vulnerabilities.
The price of Etherium has fallen about 35% since this started. The Etherium market cap has dropped from $1.5bn to under $1bn. Volume hit an all time high, and the price is still in a screaming dive as people try to get out.[1]
I wouldn't be surprised if the person behind the exploit turns out to be an insider. That would be in keeping with cryptocurrency tradition. In the Bitcoin world, most of the major "hacks" turned out to be insider theft.
[1] http://coinmarketcap.com/currencies/ethereum/
(It actually works on all instances of the DAO's code address, not just the famous ~$150M instance.)
https://github.com/ethereum/go-ethereum/pull/2715
> There's simply the notion of --illegal-code-hashes that takes a list of hashes that are placed in "ignore-mode".
Indeed, isn't it arguable that said insider(s) (and I agree it's probably an inseder) should identify themselves and challenge the leadership who are damaging their own credibility and that of ethereum generally? All these rollbacks -> they are the ones which are arguably illegal as they override the code. In my view, the so-called thieves have a legitimate claim on the ETH they have made and the investors in the DAO should respect the old caveat-emptor idea which is axiomatic to all investments, both inside and outside the blockchain world. They invested in a dog, and they should lose all their money. This is efficient markets at work.
The correct analogy is that the exploiters shorted the investment after performing thorough due diligence, and made a profit doing so, at the expense of more ignorant investors. That those more ignorant investors included the founders of ethereum and the authors of the code, is deliciously ironic especially considering (perhaps even because of) their own self-importance[1], but it is ultimately immaterial.
[1] https://daohub.org/curator.html
question 2: those worth less than 1m USD -> who do they sue? The "thieves" who were acting according to the terms and conditions? Or the DAO itself?
"I am disappointed by those who are characterizing the use of this intentional feature as "theft". I am making use of this explicitly coded feature as per the smart contract terms and my law firm has advised me that my action is fully compliant with United States criminal and tort law."
There's much argument over whether this is a hoax.
There's a good writeup in American Banker.[2] They question whether the rules should be changed.
Patrick Murck, a lawyer and researcher at Harvard University's Berkman Center:
"The contract is the code, it's unstoppable code, it's unbreakable, it's self-executing and autonomous — right up until everything goes wrong. And then, 'No no no no, that's theft!' Which is some social norm that we've attached to it that's not based in the code, and then we're going to stop the whole system and basically bail it out," he said. "Is this something we're going to do every time a smart contract fails? Or is this just because there are a lot of [Ethereum] insiders in the DAO?"
[1] http://pastebin.com/CcGUBgDG [2] http://www.americanbanker.com/news/bank-technology/what-the-...
[1]: https://www.reddit.com/r/ethereum/comments/4oo1io/an_open_le...
This model should work in the long term. Just make sure not to invest too much on too complicated contracts that do not re-use smaller proven contracts.
This assumes that compositions of unexploitable contracts are themselves not exploitable, which isn't true in general.
I'm not saying that there will not be flaws, but this dynamic where there is an incentive to exploit the contracts (be it composed or not) makes contracts which stood longer more interesting.