Bitcoin Forum
June 24, 2024, 12:28:18 AM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Were do the conflicts actually arise if you use another reward for mining?  (Read 792 times)
remotemass (OP)
Legendary
*
Offline Offline

Activity: 1120
Merit: 1017


ASMR El Salvador


View Profile WWW
February 26, 2013, 11:38:00 AM
 #1

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?

{ Imagine a sequence of bits generated from the first decimal place of the square roots of whole integers that are irrational numbers. If the decimal falls between 0 and 5, it's considered bit 0, and if it falls between 5 and 10, it's considered bit 1. This sequence from a simple integer count of contiguous irrationals and their logical decimal expansion of the first decimal place is called the 'main irrational stream.' Our goal is to design a physical and optical computing system system that can detect when this stream starts matching a specific pattern of a given size of bits. bitcointalk.org/index.php?topic=166760.0 } Satoshi did use a friend class in C++ and put a comment on the code saying: "This is why people hate C++".
Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
February 26, 2013, 01:07:50 PM
 #2

Desynchronisation. Which could happen when an altclient tries to process inputs from a block with increased reward.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4672



View Profile
February 26, 2013, 01:44:05 PM
 #3

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.
Sukrim
Legendary
*
Offline Offline

Activity: 2618
Merit: 1006


View Profile
February 26, 2013, 01:46:42 PM
 #4

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.

https://www.coinlend.org <-- automated lending at various exchanges.
https://www.bitfinex.com <-- Trade BTC for other currencies and vice versa.
Killdozer
Full Member
***
Offline Offline

Activity: 203
Merit: 100



View Profile
February 26, 2013, 01:55:25 PM
 #5

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.

Come-from-Beyond
Legendary
*
Offline Offline

Activity: 2142
Merit: 1009

Newbie


View Profile
February 26, 2013, 02:18:48 PM
 #6

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?
DannyHamilton
Legendary
*
Offline Offline

Activity: 3430
Merit: 4672



View Profile
February 26, 2013, 02:21:56 PM
 #7

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.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!