6 ms·
Ethereum was supposed to have every feature under the sun from the start, proof-of-stake perhaps being the second most hyped. (Turing completeness being the cle
by xorcist 9y ago
Ethereum was supposed to have every feature under the sun from the start, proof-of-stake perhaps being the second most hyped. (Turing completeness being the clear first, which is problematic given the halting theorem and all that, so it's now rich statefullness instead.) And PoS is one of those ideas that most people looking at cryptocurrencies end up trying some variant of. PoW is obviously wasteful and it would be nice to improve on that. The problem is that it doesn't have the same properties as PoW have, and that are hard to do without.
The problems are the basic ones, how to avoid colluding stakers, how to neuter the market for consumed stakes, how to deter chain splits. There is a constant flow of new coins that try various approaches, but the ones that have survived have all had to resort to some variant of checkpoints where a trusted third party decides on regular intervals which chain is valid. This has obvious implications for a supposedly trustless digital currency, where you don't really need that complicated blockchain anymore.
This Ethereum PoS FAQ is much like other documentation from the Ethereum Foundation quite dense where most paragraphs introduce terms not seen elsewhere (economic finality? slashing? weak subjectivity?). If you want the interesting bit, the TL;DR, then skip to the part about weak subjectivity. Read it, and then read it again and bear in mind how other coins solved this problem.
Tell me I'm wrong, but I think this bit with the key part being that the node "authenticate out of band", involve a certain third party with a Very Important Key. In which case the rest of the theory in the document doesn't matter much, does it?
- CryptoPunk 9y agoThe assumption is that social consensus works but is slow, so can be effective for determining which coins were deposited for staking three months in the past, since the social consensus process would have had three months to arrive at that determination. Individuals would likely use different means of arriving at this consensus, from public forums, to having personal lists of trusted nodes that their node polls, to referring to well known public blockchain explorers. And of course, if their own node was online three months ago, it wouldn't have to trust anyone.
- Taek 9y agoSocial consensus is vulnerable to the formation of factions, and only works when everyone is actually united. As we've seen from the 2-party US political system to the bch/segwit/segwit2x factions of Bitcoin, achieving social consensus around something is rare. I personally would not want to use social consensus to determine the result of chain turbulence caused by a weakness in the consensus code. If we are going to fall back on social strategies, haven't we forgone the biggest advantage of blockchain in the first place? (the ability to know the state of consensus without needing to trust anyone)
- CryptoPunk 9y agoSocial consensus's suitability depends on the use-case. For example, social consensus is used to determine 'what is Bitcoin', and works pretty well for that use (the BCH hard fork notwithstanding). For determining the state of the blockchain at some point in the past, it is probably effective, because the fact unambiguously revealed itself at some point in the past. The trusted sources can even be Trusted Execution Environments that automatically output the state at t minus 3 months. There is very little room for factionalism, given deviating from the truth is so obvious when the whole interested world could see the objective truth three months prior and would have trusted sources they can rely on to relay that fact to them.
- Taek 9y agoThe problem is that with social consensus you can argue for the way that it should have been in addition to arguing about the way that it was. This is exactly what happened with the DAO. Socially, the Etherum community decided that the DAO attack should not have happened, so they made a new client that required everyone to upgrade, and then they altered history that had actually happened. This of course resulted in two factions, one that disagreed with the change and one that agreed with the change. If you are using Etherum and your client complains that there are two valid histories and then asks you to use social consensus to pick the 'true' history, do you feel confident in the platform? Especially if you know that you have thousands of millions of dollars that you wanted to put into the system.
- rothbardrand 9y agoThe assumption that PoW is wasteful is one with an ideological basis that comes from a lack of understanding of the purpose PoW serves, and I suggest you read the Satoshi white paper. Ethereum uses a lot of handwaving to justify what is ultimately a pump program to make insiders and large ETH holders richer.
- cocktailpeanuts 9y ago> The assumption that PoW is wasteful is one with an ideological basis that comes from a lack of understanding of the purpose PoW serves I agree with this, but I think the real problem with PoW is the mining pools centralizing. People seem to think the recent swift soft fork is something to be celebrated, but I think it's kind of scary how swift it was. It just means that the mining pools are so centralized that the transition was so easy. Then again, this is something even PoS will probably suffer from.
- XorNot 9y agoIdeological? There's no disputing power bills.
- Pyxl101 9y agoI don't know much about the Etherium, but I don't see what problem there is with respect to Turing completeness and the halting problem. My understanding was that programs are limited to a finite number of steps in the Etherium virtual machine.
- edward_monahan 9y agoThe halting problem in essence states that no algorithm can exists which determines whether or not a given algorithm will terminate given some input. Ethereum makes the assumption that given a user-defined algorithm and a user-defined input, that within the limitations of the EVM whether or not the algorithm will halt can be determined. We know that that this can not be the case due to the halting problem. It may always be possible for there to be an implementation specific EVM-escape which could result in a catastrophic failure and loss of Ethereum for the end user.
- Shorel 9y agoIf my memory serves me well, every step of any program in Ethereum will consume some 'ether' from a predefined stash, that is, someone has paid to run the program. As soon as the ether runs out, the program can not and will not continue. This hack sidesteps the halting program entirely. Now, we can not know if a program can halt with a theoretical unlimited ether, but as there's no unlimited ether, all programs will halt.
- nebabyte 9y agoCorrect. "Gas" (some amount of Eth set aside for fees) covers the cost of running the contract, so you're free to run a non halting program - the EVM will happily accept however much gas you set aside and continue chugging along. This isn't the first time PoS has been used to secure a coin, either. (With the number of altcoins out there that's not even surprising). Eth shifting to it would just represent the first major coin to use it.
- Pyxl101 9y ago> Ethereum makes the assumption that given a user-defined algorithm and a user-defined input, that within the limitations of the EVM whether or not the algorithm will halt can be determined. No, it does not make that assumption. It simply limits the algorithm to a finite number of steps (opcodes in EVM) based on the amount of ether that was paid for. Imagine an actual Turing machine - a symbol based ticker tape. Each operation of the machine is one step. You can run it for a given number of cycles and stop without knowing or needing to know whether the algorithm expressed through the Turing machine will halt or not. See this explanation of what "gas" is on the ethereum network: https://ethereum.stackexchange.com/questions/3/what-is-meant-by-the-term-gas https://ethereum.stackexchange.com/questions/3/what-is-meant...
- paulmd 9y agoI'm in total agreement about the dangers here. It seems absolutely insane to institute these kind of untested changes on a production system. These belong in some other coin, not Ethereum. Furthermore it's insane that miners are just going along with this plan. They think since they hold Ethereum now that they will receive greater future rewards - but this is literally a parable that we warn our children about - "The Goose That Laid The Golden Eggs". http://www.mythfolklore.net/aesopica/perry/87.htm http://www.mythfolklore.net/aesopica/perry/87.htm If these changes were simply switched on then they would have absolutely no chance of standing, there would be an immense backlash. VB is exploiting social-engineering to push these changes with the whole "Ice Age" scheme. Gotta boil that frog slowly.
- CryptoPunk 9y agoProof of Stake was part of the original plan for Ethereum. Everyone knew going in that it would transition to it. The entire development team, not just Vitalik, has agreed to use ice ages to encourage the entire community to hard fork, to prevent orphan chains from emerging every time one of these planned changes is implemented. It's unfair and inaccurate to describe the execution of a long-established plan that has been part of Ethereum since the beginning as some sort of nefarious plot being pushed through using manipulation.
- Taek 9y agoDoes it really make sense to push an untested, highly criticized, and drastically different security architecture onto a live $20 billion system? Especially from a team that has a history of borking updates (Spurious Dragon)? If there was an ounce of sanity here you'd at least have a 12 month trial period in an altcoin to iron out the kinks.
- DoubleMalt 9y agoEthereum is the testing ground for Ethereum Classic ;)
- nebabyte 9y ago
- runeks 9y ago> PoW is obviously wasteful and it would be nice to improve on that. PoW is only wasteful if either a) you consider distributed consensus worthless or b) there’s a cheaper way to achieve the same result. I think we all agree that distributed consensus is not worthless, and you spend the rest of your post arguing that there is currently no known way to achieve the same result while consuming fewer resources. So how can we say it’s wasteful? In many areas of work, human beings spend time and energy to produce valuable information, which they later sell (that’s what consultants do, basically). A proof of work spent is also valuable information, because it can be used to prevent double spending, and miners sell these proofs in exchange for bitcoins. If consultants spend a month on producing information that is later sold at a price that exceeds what they spent on producing it, we say they have provided value. I would argue that, likewise, when a miner spends a day to produce information that is later sold at a profit (in bitcoins), it has provided value to the market — otherwise there’d be no one willing to pay for this information.
- nebabyte 9y ago> Turing completeness being the clear first, which is problematic given the halting theorem and all that, so it's now rich statefullness instead Um, pretty sure it was a solved problem from the start? You could always submit a non halting contract, it'd just burn through your gas and stop.
- DennisP 9y agoEvery coin has some level of weak subjectivity, since you have to go out of band to know what software to run.