- DOCUMENT INCOMPLETE - DO NOT SHARE **
By: Rob Andrews
Proof-of-Giving is a flavor of Proof-of-Work geared for a high adoption rate.
It rewards miners who are small, medium, or large in tranches.
The idea is to increase the chance of solving based on those who have tithed the greatest in the block-tranche to the orphan foundation.
First, the sum of tithes to the orphan foundation wallet is summed over the last 24 hours of blocks. This miner-public-key-sum is the weight reward level the miner will receive for block solving for a given tranche-interval-phase block.
Orphan foundation tithes will be modified to contain the miners signature, so that the sum of orphan tithes over 24 hours for that miner will accumulate and give the miner an even higher chance of solving a block in their tranche.
To remove the necessity of having a pool, miners tithes will 'register' the miners public receiving address and signature for 24 hours. It will be of greater benefit for a miner to send incremental tithes (over the 24 hour period) from the same registered wallet, for a greater chance of a reward (in contrast to sending tithes from separate wallets). As the sum of the amount tithed will place the miner in a higher tranche paying a higher reward.
This also prevents botnets from forming, because rewards are based on individual miner controller wallets and tithe amounts, not based on ramping up POW competition.
The system will constantly use a 205 block lookback, so it will constantly be updated with the most recent 24 hour information.
The statistics for the "round" will be available in the wallet and on the overview, for a nice new UI feature.
Example with one tithe of 100 bbp and one tithe of 225,000 bbp: Current Round Tithes: 225,000 Tranche 0: 0-14062 BBP Tranche 1: 14063-29,100 BBP ... Tranche 15: 205,930-225,000 BBP ...
How does this system promote easy adoption? A brand new user is able to mine in a plug-n-play environment, with as little as 10 bbp. They boot the wallet, use the defaults, and tithe .50 bbp to the foundation. They are now mining in tranche 0.
What happens on a day where no one tithes? All tranches will be zero in the breaks table. Therefore anyone can mine on that day.
How does this system reward a very high giver? If one gives 50,000 BBP and this lands in tranche 15, this miner will have a very high advantage every 15th block.
How does this system root out botnets? The very first requirement to running a botnet is to be rewarded on 1-nth of the machines for POW work (otherwise it would be a useless endeavor). For example, if BiblePay was pure POW, it would be advantageous to run 10 POW machines and collect a random reward on 1 machine. However, since POG is set up to increase your chances of mining a block by the SUM of the individual wallet contribution (IE: three tithes from one wallet create an advantage, as the sum of the tithes is used), this is an advantage over three distinct tithes from 3 wallets - as the higher tranches pay a higher reward.
The miner who found the block is given 20% of the block reward and the remaining 80% of the reward is split equally to everyone in the tranche, weighted by the tithe amount. Therefore no pool is required.
Pool mining is replaced with the action of tithing. Once you have a tithe in a tranche, you are guaranteed to receive a reward once a tranche block is solved.
PODC is removed, so as to give the entire reward to the POG miners, and to promote 'easy adoption' by new users.
100% of the foundation tithes are used for orphan sponsorships.
The POG algorithm is very green, because miners who do not have a tithe in a certain Tranche will sleep during that block. The block interval phase determines which miners will mine that block deterministically.
51% attack resistance Since all mining public keys will be registered in Tithes, it will not be possible to create a standard outsider 51% attack, but instead the attacker will first need to buy out the tranches first (IE tithe more than the current tranche levels). Then they will need to deal with the competition in each tranche, and finally we still have DGW which will increase dramatically if blocks are solved too fast.
EXAMPLE 1: TRANCHE 0 REWARD
In this example, Tranche 0 (this is equal to block interval 0, occurring once every 16 blocks), in this tranche we have the lowest amount givers. Let us assume 5 miners tithed, with 3 tithes from miner 1:
- Inbound Tithes
- Miner 1: Tithed 20+100+100 = 120 TOTAL
- Miner 2: Tithed 20
- Miner 3: Tithed 30
- Miner 4: Tithed 40
- Miner 5: Tithed 50
Let us assume Miner 2 found the block (even though miner 1 had the greatest tithe-hash-power).
- Miner 1 weight: 46%
- Miner 2 weight: 8%
- Miner 3 weight: 12%
- Miner 4 weight: 15%
- Miner 5 weight: 19%
The tranche is broken into weights: Sum of Tithes to foundation : 260 bbp
- Block distribution:
- Miner 1 Reward: 3680
- Miner 2 Reward: 640 + 2000
- Miner 3 Reward: 960
- Miner 4 Reward: 1200
- Miner 5 Reward: 1520
There will be 5 recipients in this block. Block subsidy is 10,000 bbp (without PODC, after Sanc was paid). 2,000 BBP bonus is reserved for miner 2 (since s/he found the block - this promotes controller wallets to be ON). 8,000 bbp remains for the group.
Total: 10000 BBP