4 ms·
Can someone explain this in terms understandable to a software engineer with familiarity with cryptocurrency in general but no specific knowledge of ETH?
by raldi 9y ago
Can 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)
- tylersmith 9y agoWhile I disagreed with the DAO fork and disagree with this EIP, neither of them changed immutability. The problematic transactions are still there. These are irregular state transitions that are normally illegal but are hardcoded to be allowed as special one-off favors.