Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: remotemass on February 26, 2013, 11:38:00 AM



Title: Were do the conflicts actually arise if you use another reward for mining?
Post by: remotemass on February 26, 2013, 11:38:00 AM
I understand that the code that imposes the 21 million limitation is:

//on main.cpp
int64 static GetBlockValue(int nHeight, int64 nFees) { int64 nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210000 blocks, which will occur approximately every 4 years
nSubsidy >>= (nHeight / 210000);

return nSubsidy + nFees;
}

But what actually, prevents an adulterated client - with another reward set on the code above - to create blocks that are accepted by the other nodes?


Title: Re: Were do the conflicts actually arise if you use another reward for mining?
Post by: Come-from-Beyond on February 26, 2013, 01:07:50 PM
Desynchronisation. Which could happen when an altclient tries to process inputs from a block with increased reward.


Title: Re: Were do the conflicts actually arise if you use another reward for mining?
Post by: DannyHamilton on February 26, 2013, 01:44:05 PM
But what actually, prevents an adulterated client - with another reward set on the code above - to create blocks that are accepted by the other nodes?

You would have to convince the people running those other nodes to run your adulterated client.

Every full node on the network validates the blocks it receives before adding them to the local copy of the blockchain and forwarding them on to peers.

If you broadcast a block with a reward that is too high, all the peers that you broadcast it to will refuse to relay it and refuse to add it to their blockchain.


Title: Re: Were do the conflicts actually arise if you use another reward for mining?
Post by: Sukrim on February 26, 2013, 01:46:42 PM
But what actually, prevents an adulterated client - with another reward set on the code above - to create blocks that are accepted by the other nodes?
Nothing, as long as the reward is smaller than the maximum you outlined. It actually already happened - there will never be exactly 21 million BTC mined.


Title: Re: Were do the conflicts actually arise if you use another reward for mining?
Post by: Killdozer on February 26, 2013, 01:55:25 PM
Quote
But what actually, prevents an adulterated client - with another reward set on the code above - to create blocks that are accepted by the other nodes?

Basically, both of those 2 things cannot happen, only one of them can.


Title: Re: Were do the conflicts actually arise if you use another reward for mining?
Post by: Come-from-Beyond on February 26, 2013, 02:18:48 PM
Quote
But what actually, prevents an adulterated client - with another reward set on the code above - to create blocks that are accepted by the other nodes?

Basically, both of those 2 things cannot happen, only one of them can.

Why? Is "Subsidy" value included into a block?


Title: Re: Were do the conflicts actually arise if you use another reward for mining?
Post by: DannyHamilton on February 26, 2013, 02:21:56 PM
Is "Subsidy" value included into a block?

Yes.

All value represented by bitcoin is included in a block.  If it isn't in a block, then there is no value to draw upon.