Shared Forging

From Nxt Wiki
Jump to: navigation, search

What we do need is as many clients as possible forging. This will secure the network, and more importantly improve the bandwidth of the network. Using pools is the wrong direction. I do not think its a good idea to make the effective_balance leaseable. This will only lead to centralization and only a few clients beeing online the whole day.

Instead, lets try to built a system were the top X forgers of each block get equally paid out. This should be doable without pools: As transparent forging allows us to determine the next forger, it would also allow us to determine the top X forgers for each block. Have the fee split among them accoring to their 'contribution'.

Example:

   Through Transparent forging, the network knows, that 
   Account A will forge the Block in 30 Seconds 
   Account B could forge in 50 Seconds 
   Account C could forge in 55 Seconds 
   The fee of this Block is 100 Nxt. 

So A will get 46.5 Nxt, B will get 28 Nxt and C will get 25.5 NXT (rounded).


This could be extended to X accounts where X is the number of accounts forging for at least Y blocks in a row. For example, set Y to 5 to have the blocks rewarded forging for at least five blocks. Y could be adjusted to the average download time of the blockchain: If the average speed of the network is 1 MB/s and the Blockchain is 60 MB, it would take 1 Minute to download. At an average Blockrate of 0.4/min, Y would be set to 3. This makes sure, that only accounts get fees which have distributed the blockchain once on average.