10 ms·
Proposal to restore a destroyed Ethereum contract
- geoah 9y agoRelated PR https://github.com/ethereum/EIPs/pull/999 https://github.com/ethereum/EIPs/pull/999
- webbles 9y agoWho fucking upvotes this retarded headline. Fuck you.
- bhouston 9y agoIs the affected associates of Vitalik, the benevolent dictator of Ethereum? Then this may get in. I mention this because the DAO losses were address by a hard fork. If enough money is at stake it would be advantageous for Vitalik and other core maintainers to allow for people to pay on getting their PRs accepted. This PR would restore I understand about >$100M in funds. This type of patch is surely worth money in order to accept. At least if Vitalik and friends took money in order to do these types of arbitrary patch PRs to fix other people's problems, then it would at least be a fair playing field. Is Vitalik and other core maintainers already getting paid by the people proposing these types of PRs?
- deleted 9y ago[deleted]
- adrianN 9y agoIf you believe a system where people with more money get more votes to be fair.
- bhouston 9y agoAt least it wouldn't be based on who Vitalik knows personally. I would rather a transparent system that operates with known principles rather than one that is arbitrary and based on knowing Vitalik.
- davesque 9y ago> This type of patch is surely worth money in order to accept. Not necessarily. If accepting this proposal means that the community loses confidence in the platform, then there could be way more money to lose than just what is locked up in that dead contract. Does it seem likely they won't take that into consideration?
- ryan-c 9y agoThe person who wrote this EIP works for Parity. If we're going to be fixing shit like this, can we also restore funds to the poor guy who got robbed of 41k ether? https://medium.com/taptrust/frozen-the-story-of-the-largest-wallet-burglary-in-ethereums-history-a-massive-mystery-and-a-1b0a81f3ee88 https://medium.com/taptrust/frozen-the-story-of-the-largest-... https://www.coindesk.com/35-million-refund-developer-appeals-ethereum-hard-fork-hack-reversal/ https://www.coindesk.com/35-million-refund-developer-appeals...
- bhouston 9y agoOnly those connected to Vitalik get fixes, everyone else is shit out of luck.
- darawk 9y agoThe people connected to Vitalik here just wrote the wallet. It doesn't really help them per se. It helps the innocent people who were hurt by their mistake.
- bhouston 9y agoDoesn't this fix help the company Parity which has connections to Vitalik? According to https://techcrunch.com/2017/12/05/parity-ceo-says-shes-confident-that-its-280m-in-frozen-ethereum-isnt-lost-forever/ https://techcrunch.com/2017/12/05/parity-ceo-says-shes-confi... The co-founder of Parity has $90M at stake in this PR. If it was me and I had $90M at stake, I would totally slip Vitalik a million or two to ensure that this PR was merged.
- adamnemecek 9y agoShit like this will kill eth. If anyone seriously working on this (any anyone with any vested interest in shit like this not happening) wants to have an informal chat about fixing this, I think I have some ideas on fixing this. It's quite legit, if I can say so. Check my profile for email.
- Karunamon 9y agoSerious, not at all snarky question: It seems like the Ether devs will mess with the block chain anytime something happens. This seems like a terrible way to manage one of the unique coins in the crypto space. With that said, aren’t they worried about the risk this conveys to oncomers? Wouldn’t anyone think twice if there’s going to be a fork anytime someone screws up a contract at large enough magnitude?
- pjc50 9y agoIronically, providing a means to reverse disasters is probably good for Etherum; it reduces the number of investors who leave because they've been burned.
- gruez 9y agoIt also kills one of the main selling points, which is that code = law. If you want human intervention, go with regular contracts.
- jyrkesh 9y agoI'm mostly on your side on this one, but you have to remember that a lot of folks see decentralization as merely having more than one option for centralized law/money/etc. Today, I (generally) get one set of a laws if I live in a particular geographic location, but a "centralized" ETH committee/board could serve as an authority for some set of actions by individuals unbound by geography. Some people just want that choice.
- 9y ago
- coralreef 9y agoCan someone explain where the balance is? https://etherscan.io/address/0x863df6bfa4469f3ead0be8f9f2aae51c91a907b4 https://etherscan.io/address/0x863df6bfa4469f3ead0be8f9f2aae...
- cyptus 9y agothis post breaks hacker news mobile page to scroll horizontal
- Everlag 9y agoFrom diving in, it looks like the contract backing a smart wallet implementation had a vulnerability/bug/design flaw allowing an arbitrary actor to kill it[0]. It looks like these contracts are treated as a shared library so the contract being killed means any wallet depending on it is bricked. The solution here seems to be a hard fork of Ethereum to allow revival of that problem contract. This seems unpalatable as, well, avoiding extensive human intervention is a key idea in cryptocoins. Disclaimer: I got off the cryptocoin train awhile back so if I've mistaken anything, please point it out. [0] https://github.com/paritytech/parity/issues/6995 https://github.com/paritytech/parity/issues/6995
- ameliaquining 9y agoIt's not the first time Ethereum has hard-forked to roll back a sufficiently bad bug in a smart contract, and it probably won't be the last. They periodically do hard-forks for other reasons as well. Eventually they might declare it 1.0 and stop doing this, but that's not how it's managed today. At this point I think users accept this as a risk of using Ethereum. Of course anyone who doesn't like it is free to try to keep the old chain alive (indeed, Ethereum Classic is still a thing that exists).
- cslarson 9y agoEthereum Classic also hard forks in order to make changes and other upgrades to it's protocol. Ethereum has not yet hard forked to enact this proposal. At the moment it looks very unlikely to gain the support needed.
- Tepix 9y agoI know it's not a very popular opinion but I think this is a good idea (disclaimer: i am not affected by this issue). The tech is there for the people, not the other way round.
- _jal 9y agoAs a general rule I agree. But in this case it demonstrates that Ether is run by people, not math. That is not what many people want. And indeed, I treat it the same way I do scrip in video games. But until you take away the ability to "rebalance the economy", it will stay a video game.
- factorialboy 9y agoThe point of contention is "all people" or "some people".
- rebuilder 9y agoOn the other hand, if you want human arbitration of contracts, then it seems like that is already available outside the crypto space. It's not a cut-and-dried issue, but personally I do tend towards the view that interfering in contracts via hard forks undermines the credibility of the whole idea behind smart contracts. As it is, it seems smart contracts simply do not work as they should. They seem to be vulnerable to both technical and political risks, which is actually worse than a regular contract.
- Tepix 9y agoIt would be part of a planned hard fork (for other reasons). There will not be a hard fork just for this issue.
- cslarson 9y agoI'm quite torn on this one myself but for now the downsides are outweighing the good. Just the fact that it is very contentious is a big problem. It just isn't worth another possible network split or negative pr it would bring. Ethereum is trying to be a particular kind of base layer blockchain - it needs to encourage the development of non-hard fork solutions to these issues, like better auditing, insurance, etc.
- consto 9y agoIf this is accepted and implemented, could someone explain how Ethereum is a decentralised cryptocurrency?
- jaaames 9y agoIt's not. The Ethereum foundation will continue to merge EIPs like this that benefit them and their cronies. The whole ETH/ETC fork was because they messed up the DAO contract, which set a precedent for "code is law, except when it doesn't suit us".
- cslarson 9y agoThis EIP has not been enacted via a hard fork and from the looks of it doesn't have the required support. The ETC fork happened very early and affected some large percentage of available tokens - I think 15% or so.
- davesque 9y agoSorry to sound a bit snarky, but you have a sample size of 1 as evidence. It seems there's a lot of opposition to this EIP so I wouldn't count on it being accepted.
- pjc50 9y agoThe dirty secret is that cryptocurrency development isn't decentralised; whichever group gets to issue software updates to most users is in charge.
- cslarson 9y agoNope. Users are in charge when they make the choice of which software to use.
- matthewbauer 9y agoAnd you can always leave your country for another country. Doesn’t make it decentralized.
- seibelj 9y agoIf they want to change history to help a privileged group of people, they should have a generalized mechanism and process for doing so. If I can prove I accidentally lost 1 ETH, let alone millions, I should be able to retrieve it via that same process. I love Lord Vitalik as much as any ETH nerd, but the more he dictates to help his friends, the more it will hurt the ecosystem.
- derefr 9y agoThe "generalized mechanism for doing so", in this case, would be the EIP process itself, no? It's a bit like those clients that say of their software, in its requirements, "I want my software to be customizable after-the-fact with any new logic I desire, up-to-and-including the power to completely rewrite the application." Some people try to solve this problem as stated, resulting in the https://en.wikipedia.org/wiki/Inner-platform_effect https://en.wikipedia.org/wiki/Inner-platform_effect. Other people recognize what's happening, and just respond with "the customization mechanism is the source code. You can customize it at any time by contracting a programmer to do so for you." The FDIC of the Ethereum blockchain† seems to be—as this example, and the earlier example of the DAO, would suggest—the Ethereum maintainers themselves. The way the Ethereum maintainers propose changes to the consensus protocol to fix problems is through EIPs. So, if there's an Ethereum "natural disaster", the natural thing to expect in response would be an EIP. † (as opposed to the Ethereum Classic blockchain, which has no such entity, which is rather the point of the fork.) You could create another layer atop the EIP process, formalizing specifically the recovery process from a "loss of money" event... but it's really going to boil down to a consensus-algorithm change in the end, so an EIP is going to have to be involved. (Unless you're suggesting that there should be some way, within the Ethereum VM itself, to aribtrate disputes in a way that invalidates the side-effects of previous contract calls? That'd certainly be a trick... especially given that the said "arbitration" would seem to be a human-complete problem, and Ethereum doesn't even have oracle support yet.)
- seibelj 9y agoIf I can't get my ETH back back when I mess up, then neither should Parity. If the community wants me to get my ETH back when I mess up, then Parity should be able to. I'm not providing a value judgement on whether this is good or bad. I'm saying that it is hypocrisy to let one group get their ETH back over the individual if they have enough political support. But I see your point about the EIP process. Altering history to benefit a group of people is always contentious, so the EIP process is itself a way to do it on a public forum.
- dahdum 9y agoThe debate is mostly happening here: https://www.reddit.com/r/ethereum/comments/8cdqi8/restore_contract_code_at/ https://www.reddit.com/r/ethereum/comments/8cdqi8/restore_co... This change has no consensus like the DAO fix did, and the problem it fixes is both negligible and self inflicted.
- deleted 9y ago[deleted]
- Animats 9y agoPoints made there: 1) The proposed transaction is a dilution. It reduces the value of everyone else's Ether by a payout to Parity. 2) Businesses which use the Etherium system but aren't closely associated with the insiders are at a disadvantage when the insiders can recover from their mistakes, but outsiders cannot.
- Tepix 9y agoIf the DAO had consensus, why do we have ETC (Ethereum Classic) now?
- draw_down 9y agoGee, good thing that whole entire hash is in the headline. Wouldn’t want to misrepresent that huge meaningless string of numbers and letters.
- raldi 9y agoCan someone explain this in terms understandable to a software engineer with familiarity with cryptocurrency in general but no specific knowledge of ETH?
- bhouston 9y agoSmart contract has a bug that caused funds to be lost in an indefinite state. I understand the amount was +$300M but give the fall in value is may now be closer to $100M.
- raldi 9y agoWhat's a smart contract? What's an EIP?
- seibelj 9y agoNo offense, but for a software engineer, you seem to have an aversion to googling answers. Smart contracts are another name for programs that run within the blockchain. Whereas Bitcoin blocks contain data that explains transactions, Ethereum blocks contain data that are virtual machine opcodes. Essentially Ethereum is a never ending list of a single-threaded processor's instructions. These instructions manipulate the global state of a computer. You pay for these transactions with ETH, and when ETH is used to pay for computation on the "world's computer", it is termed gas. EIP's are "Ethereum Improvement Proposals" which are how anyone can propose changes, protocols, whatever to the Ethereum open source project. Like RFC's for the internet protocols.
- raldi 9y agoThanks for taking the time to write this. It will save 1,000 people 10 minutes of googling.
- peterkelly 9y agoEthereum is sort of like Bitcoin, but includes a Turing-complete scripting language. Programs written in this language are called "smart contracts", and can do a much wider range of things than simply dealing with currency. One of the core principles of blockchain technology is immutability - that is, once a transaction becomes part of a blockchain, it stays there forever and can never be undone. In the case of Ethereum, this also includes smart contracts. An advantage of immutable contracts is that users can trust that it will always operate in exactly the way the code was written, and the developer who wrote the contract cannot change the rules, or alter the "terms of service" as so often happens in centralised systems. A disadvantage of immutable contracts is that if there is a bug in the code, it remains there permanently and can never be fixed. In this particular case, there was a bug that allowed someone to instruct the contract to "self destruct" (refuse to process any more transactions), thereby locking away a large amount of ETH. EIP stands for Ethereum Improvement Proposal. This particular proposal (which, as I understand, has not yet been accepted) would alter the Ethereum protocol to handle this specific contract address specially in such a way that reverses effects of the unintended self-destruction, allowing the lost funds to be recovered. This goes against the principle that the blockchain must be immutable, otherwise known as "code is law". Breaking immutability in such a manner is highly controversial; the debate is about whether the development team should make a one-off fix for this particular case because a lot of people lost a lot of money (or rather ETH), or whether they should leave things as-is to avoid destroying trust in Ethereum's promise of immutability. This has happened previously on one occasion; see https://en.wikipedia.org/wiki/The_DAO_(organization) https://en.wikipedia.org/wiki/The_DAO_(organization)
- julienfr112 9y agoIs it time for a second ETC fork ?
- late2part 9y agoHow is this different from the Federal Reserve and Treasury deciding to "save" Bear Stearns but not Lehman?
- raverbashing 9y agoI'm still aghast that "smart contracts" are procedural programs. No wonder a lot of bugs derive from them. Contracts are functional, being procedural should be the exception. They should be functional, scoped, limited (by the VM inclusive), testable.
- gus_massa 9y agoIn this case, the problem was that the function to self destroy the contract didn't have the flag "OnlyTheOwnerCanCallMe" or something like that. A functional program wont save you of missing flags.
- davesque 9y agoThe Ethereum VM accepts opcodes like any other modern computing platform. There's a lot of work going into formal verification of contract code. There's nothing in principle that prevents compilation of smart contracts into VM code via a formally verified compiler that implements a functional language.
- KirinDave 9y agoExcept the majority of the Ethereum community being ideologically opposed...
- mbrock 9y agoWhat do you mean?
- DennisP 9y agoI'm an Ethereum smart contract dev/auditor and active in the community. I'm not aware of any ideological opposition to more functional or verifiable languages. In fact, there are several new languages in development to move things in that direction, including Vyper (originally designed by Vitalik) and Bamboo (designed by the person employed by the EF to work on formal verification).
- 9y ago
- wildchild 9y agoWhy this shit is here?
- twblalock 9y agoStuff like this is why smart contracts won't work for the general public. Nobody wants to live in a world where a bug in a contract lets people steal your money and you can't get it back, even when you can prove who did it. We have contract law to deal with this stuff in the real world. The problem is, if smart contracts are subject to human governance, what advantages do they have over any other kind of contract? How can they be trusted more than anything else that is subject to human governance? Automatic execution of contracts is nice, but if history can be rewritten later, you can't really build a deterministic system on top of them.
- dbasedweeb 9y agoIt’s an expensive, yet ultimately entertaining lesson in why regulations and institutions exist. I suspect that most people knew this was silly going in, but saw there was money to be made. A smaller subset were sufficiently idealistic/ignorant, but quickly learned the lesson. The fun is in the remainder who aren’t just trying to pump money out of rocks, but still really believe in it, the real cryptolibertsrians! It’ll be years before they get over their dreams and crash down to reality, if they ever do.
- AndrewStephens 9y agoJust came in to say exactly this. You can complain about how banks handle transfers all you want, but at least you have a decent shot of getting your money returned if something goes wrong. Sooner or later some court is going to get involved in a case involving smart contracts. I imagine they will ignore what the contract says and go to intent of both parties.
- Paperweight 9y agoAnd by proving here that the blockchain can be forked at will, the whole thing might as well be hosted on an Oracle database at JPMorgan Chase.
- lightedman 9y ago"the whole thing might as well be hosted on an Oracle database" At least the performance difference would be negligibly minimal, given how bad my interactions with various OracleDBs were.
- _bxg1 9y agoThe future is weird.
- AlexCoventry 9y agoA relevant earlier EIP, which I assume this conforms to: > Provide a standardized format for Ethereum Recovery Proposals (ERPs), which relate to recovery of certain classes of lost funds. Individual ERPs will follow the same process as any EIP, but will be formatted and evaluated in a standard way to ensure consistency and transparency.
- 5chdn 9y agoEIP 867 which you are referring to is in limbo, this is not conforming with the ERP.
- mbrock 9y agoIt seems like most people in this thread don't understand that this is just a proposal made by the firm that lost funds and there is very little indication that it will be supported either by the Ethereum Foundation or by the community at large.
- kevindong 9y agoProblems like this are a critical flaw in cryptocurrencies. When something goes horribly wrong, who do you go to for help? You don't have a right to recourse with cryptocurrencies. With real money, you have legal rights that can be exercised by simply filing a complaint with the bank. If that doesn't go well, you go to the regulatory agencies or the courts. Furthermore, if you do succeed in getting help from the community/central committee then you just defeated a goal of cryptocurrencies. Taken directly from the first paragraph of the homepage of the Ethereum website [0]: > Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third-party interference. [0]: https://www.ethereum.org/ https://www.ethereum.org/
- davesque 9y agoRemember, however, that's there's nothing about "real" money that intrinsically bestows upon its users some set of legal rights. Traditional currency users have legal rights because the legal system has had enough time to evolve to handle them properly. A lot of current crypto systems don't specifically include mechanisms for recovery of funds (and, as you point out, many of them claim this shouldn't happen) but that doesn't mean it's not technically possible somehow.
- jiximus 9y agoit would be possible with concealed and rsa signed meta data. so theoretically you would be able to request a transaction revesal submitted to the miners after you verify your identity on the blockchain.
- dustingetz 9y agois there a reason eth’s contracts aren’t coded in haskell or similar
- viach 9y agoI propose to roll Ethereum price back to 2015 for just a day, as a lot of people I know missed it and didn't manage to buy.
- knorker 9y agoI'm shocked, SHOCKED, to see that what the banking system has realised hundreds or thousands of years ago, that sometimes things go wrong and you need to undo it, is actually true. Cryptocurrencies deliberately design around what society has deliberately put in place, because that's what we want.
- xer 9y agoThis is corruption.
- Intellikon 9y agoNo. Just No. This is no different than the bank bailouts that inspired the creation of cryptocurrency. Is Parity too big to fail? If the answer is 'yes', then It's ime to convert all your ETH to ETC.
- pimpindots 9y agoAssuming that in the future most businesses use crytocurrencies (which I think we can all agree on would be awesome and better than what exists), they will need to be able to access their money even if they make a mistake. We're not taking money from you or I and giving it to a failing institution (a bailout). We are setting up a procedure so that when mistakes are inevitably made, someone can still access their funds. After all we all agree it is all of these company's funds, right?