Readit News logoReadit News
runeks · 8 years ago
> Delay of the ice age / difficulty bomb by 1 year, and reduction of block reward from 5 to 3 ether

I wonder if the planned switch to proof-of-stake is ever going to happen.

In any case, what's the point of continuously postponing a pre-programmed difficulty bomb (via a hard for), when miners can just remove this part from the code and continue with that fork if they wish? Because of this, it seems like it doesn't do much difference compared to just switching to PoS via a hard fork whenever it's ready. I mean, if miners really want to continue with PoW, removing those couple of lines, that define the difficulty time bomb, from the Ethereum code surely won't be a problem, right?

SimonPStevens · 8 years ago
The preprogrammed difficulty bomb is not to stop people who want to intentional stay on the old fork. It's to stop the old fork winning consensus by default due to people who don't actively upgrade.

Pushing through protocol changes could be hard if everyone who takes the default action of doing nothing is counted as a vote against any protocol change. I think we see this with bitcoin where change is very conservative and slow because any change has to gain enough support to be actively upgraded by a majority.

The difficulty bomb just means that if there is ever disagreement about a protocol change, everyone will have to actively choose a side rather than the 'no' side getting all the non-active default votes.

It basically just means that changes can be done faster.

metroidfan832 · 8 years ago
>everyone will have to actively choose a side rather than the 'no' side getting all the non-active default votes

No, this just shifts the do-nothings from 'no' to 'yes', as they will have to actively create something that will let them stay with what they currently have. It is technically and morally dangerous because most people aren't technical enough to understand what they are being forced to accept.

DennisP · 8 years ago
They just released the fourth proof of concept for proof of stake, they've simplified the design so it's not much more complicated to implement than proof of work, and they've got some formal proofs of its properties. They're also working on a PoC for the initial sharding design. Here's the latest dev roundup:

https://blog.ethereum.org/2017/10/09/roundup-6/

runeks · 8 years ago
In the blog post[1], on which Casper PoC4[2] is based, Vitalik writes:

> Accountable safety is what brings us this idea of “economic finality”: if two conflicting hashes get finalized (ie. a fork), then we have mathematical proof that a large set of validators must have violated some slashing condition, and we can submit evidence of this to the blockchain and penalize them.

Why would the validators, who decide what goes into blocks, willingly include a proof that they have cheated?

As far as I can see, these proofs must be communicated out-of-band (not through the blockchain) by nodes, since no validator would ever incriminate itself by including a proof that it has cheated.

How do nodes coordinate this, and come to agreement on which chain is the right one?

[1] https://medium.com/@VitalikButerin/minimal-slashing-conditio...

[2] https://github.com/ethereum/pyethereum/pull/809

xorcist · 8 years ago
Last time the Casper fork was discussed on HN I read through a very long and very dense document only to find out that Vitalik, or someone similar, had a key that decided which blocks were genuine, in case of dispute. I take it that design has not changed? In that case I am surprised the design could not be simplified further.
ojr · 8 years ago
you also need a developer ecosystem, I prefer any solution, that is fast, secure, and has low fees
meirelles · 8 years ago
IMHO such planned improvements shouldn't be called hard forks, it's a kind misleading for folks outside cryptocurrencies.
barkingcat · 8 years ago
But it is a hard fork, termed that way by the organization that is the custodian of the ethereum network. It is only misleading if people outside cryptocurrencies misrepresent what a hard fork means.
socrates1024 · 8 years ago
Ethereum foundation is not the custodian of the network. This is a debatable point, since it's not perfectly clear what that would mean. Ethereum Foundation doesn't own the miners or the validating nodes on the network, and can't control who joins or what software they run. Like other development teams, they can propose and try to drum up support for upgrades, which they've been successful at so far.

Detractors of Ethereum would prefer to view the Foundation as having much greater influence over the network, since that would mean it's less centralized. Proponents of Ethereum on the other hand would say Ethereum Foundation's role is similar to that of Bitcoin Core, except the divisiveness hasn't set in yet (or in the case of Ethereum Classic, opposing factions split off before it got bad).

dmix · 8 years ago
Maybe calling it a "preplanned hardfork" is the better idea then, as that seems to be a critical difference.
jackschultz · 8 years ago
Very much agree. Hard fork has the implication of people disagreeing to the point where two things go in the opposite direction. Whereas this is just improvement for the future. Using the term hard fork is fine, but throw "update" in the phrase to make it sound positive.
stale2002 · 8 years ago
I mean, you argument is that we should all lie about what the "upgrade/hardfork" is, because the truth could cause controversy.

This change is not backward compatible. Therefore it is a hardfork. Full stop.

pietjepuk88 · 8 years ago
This is quite clear terminology in cryptoworld, although I can understand why people are a bit confused with the events that unfolded in August. A hard fork is any fork where new nodes produce blocks that old nodes do not accept (and vice versa). A soft fork is one where new nodes produce blocks that old nodes accept, but not the other way around (e.g. new nodes reject blocks made by old nodes). That's it.

So this _is_ a hard fork, albeit not a very contentious one. And it _will_ result in a chain split, with the minority chain probably having low activity/worth due to (1) lack of support (2) the ice age which will increase block times to slowly kill it (and that it itself has to be hard forked to stay alive).

wyager · 8 years ago
“Hard fork” has a precise technical definition.
runeks · 8 years ago
(Which is that if all nodes don't upgrade, a chain fork will occur)
siliconviking · 8 years ago
Could this result in ETH splitting up into two currencies again, like it did last year? If so, there will be tax consequences / realized gains for those who sell out of the version they don't want to hold... further complicating things.
SimonPStevens · 8 years ago
Almost certainly not. The expected outcome is that everyone will update their software, and the old fork will die.

Unlike last year this is not a controversial fork. It's just a planned part of the network upgrade process. No groups are planning to boycott the fork.

(It's futher enforced by code in the old fork that will cause it to die shortly, so even if a group of people wanted to keep running the old fork, they would actually have to hard fork it themselves to remove the 'ice age' anyway. So it would have to be a concious act, rather than just people forgetting to upgrade)

quirkot · 8 years ago
Agreed, "schism" is a better term in this instance
Gaelan · 8 years ago
What’s this about an “ice age”?
onestone · 8 years ago
The Ethereum "ice age" is a mechanism to ensure smooth transition to future planned hard forks. By tweaking the difficulty adjustment formula to artificially increase block times after some time (the so called "difficulty bomb") it makes mining on the old chain unprofitable, and incentivizes everyone to move to the/a new one. The general idea is to prevent extreme conservatism and stagnation w.r.t. hard forks, as we are seeing in Bitcoin.
sleavey · 8 years ago
So is this giving the developers the control instead of - as with Bitcoin - the large mining pools? Is that any better?
Galaxeblaffer · 8 years ago
As far as I understand there's a build in ice age/difficulty bomb every year so that clients that don't follow the hard fork will essentially stop working. This incentivizes/forces clients to update and also effectively minimizes the chance of a chain split where some group would just keep running on the old chain. If someone wants to make a chain split, they will have to fork too
rrobukef · 8 years ago
It's just as easy to create a second hard fork disabling the bomb if some group wants to keep the old rules.
doctoboggan · 8 years ago
The ice age is a drastic increase in difficulty that was planned at launch to force the developers to release a proof of stake algorithm. The idea was that no one would want to actually switch to a proof of stake when the time came (miners would lose all their profit, and miners have a lot of power - see current bitcoin situation)

To convince early adopters that there would actually be a switch to proof of stake the ice age was conceived. The ice age can be delayed however as we see here (this isn't the first time its been delayed either)

Switching from proof of work to proof of stake will probably be hard to pull off without disruption.

andrethegiant · 8 years ago
Do you need to do anything if you own ETH?
g09980 · 8 years ago
No. Node owners will upgrade, including exchanges.
redbeard0x0a · 8 years ago
Update your wallet (if you use Mist or Wallet) before making any transactions.

It is an expected fork, basically an upgrade to the network that isn't going to result in a new coin (in practice - technicalities excluded.)

ShabbosGoy · 8 years ago
Can anyone explain what "proof of stake" actually is? My understanding is that it's a virtualized/simulated proof of work system.
Lon7 · 8 years ago
In proof of stake a single node decides what the next block added to chain is. This node gets the block reward and any transaction fees. They don't have to do any calculations, they simply get to decide, according to a set of rules, which transactions are in the next block. (Ethereum complicates this a bit by having multiple nodes "bet" which blocks will be accepted, instead of just one node choosing the block)

In order to decide who gets to be this node, people Stake coins. The probability that you are the chosen node is proportional to the number of coins you have staked. If you are chosen, and you do something against the rules, like double spend coins and try and add this to the next block, then you lose your staked coins.

So instead of rewards being proportional to hashing power, they are proportional to staked coins.

This is still being tested, but it's going pretty well.

rlpb · 8 years ago
> This is still being tested, but it's going pretty well.

AIUI, there isn't consensus today that proof of stake is actually workable.

https://en.wikipedia.org/wiki/Proof_of_stake#Criticism

GordonS · 8 years ago
Reminds me of the UK government's premium bonds
aidenn0 · 8 years ago
"Proof of work" proves that you have performed some calculations. "Proof of stake" proves that you have a certain number of tokens.

[edit] The whole idea of each is to make sock-puppeting when voting on the truth unprofitable.

With the first, you need a near majority of the compute power in the network to have people believe your "lie" with the second you need a near majority of the coins in the network to do so.

[edit2]

Imagine that banks don't exist, instead everyone writes down every transaction that happens. Then at the end of the day we all get together in the village square and vote on who has what money. This would make it so that no minority of the village can steal money from anyone else.

We can't do that with bitcoin &c. because how do you prevent one person from just running a billion bitcoin clients and voting all the money to themselves? So instead bitcoin (very roughly speaking) requires you to prove that you have done some work to get to vote on what the ledger looks like. This is proof of work. If instead it were "one dollar, one vote" that would be proof of stake.

DennisP · 8 years ago
So that's basically the original proof-of-stake design. People figured out various ways to attack it (at least in theory, I don't think there's been a successful attack in the wild).

Ethereum's version is a bit different: to stake, you have to lock up your ETH for at least four months. Then you have your node start betting your staked ETH on which blocks will be accepted by the network. The blocks which are accepted are the ones that get the most stake-weighted bets.

You start with low-confidence votes that won't lose much when you're wrong, see what everybody else does, and progress to high-confidence votes that pay off better when you're right. There's a little bit of inflation plus transaction fees so it's not a zero-sum game, and it all converges on finalized blocks.

This is somewhat analogous to mining; if there's more than one finalized block available, miners have to pick one to build on, essentially betting their electricity on which block will be accepted by everyone else.

Here's an interesting FAQ:

https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ

Deleted Comment

lend000 · 8 years ago
In theory, it means that if minerA has 100 coins, and minerB has 1 coin, minerB will need 100x the hash power to mine the same amount of blocks as minerA on average. Not sure how the implementation is done in Ethereum, but I imagine it involves easier challenges if you sign with a wallet that contains X coins.
ecesena · 8 years ago
Will this lead to a new coin, or is everybody in agreement this time?

Also, what's the plan for ETC, will that also hard fork?

ecesena · 8 years ago
Edit: I’m getting downvoted and don’t understand why. I’m genuinely trying to get more info, not complaining/joking or anything else.
Kelab · 8 years ago
It's normal with ethereum shillers

Broken model users wont want to pay for gas to use the platform

adewinter · 8 years ago
> After the fork, eth.getTransactionReceipt(…) will return a status field. The status field has a value of 0 when a transaction has failed and 1 when the transaction has succeeded.

I wonder why they chose to do it the wrong way around...

tyleraldrich · 8 years ago
It's a status field, not an error code. 0 = False, 1 = True seems like the right way to do things.
ulrikrasmussen · 8 years ago
But why not return a proper Boolean value then?
teekert · 8 years ago
Hard Forks are the new ICOs. Well, after reading a bit better, this is different, it's unlike BCC and BCG but a change in protocol of the main branch.
redbeard0x0a · 8 years ago
Yes, technically it is a Hard Fork (since that is how the code works). But in practice, it is just a network and feature update to Ethereum.