« Back to home

A call for changes to PoW in Bitcoin

Let's start from the beginning...

"6. Incentive

By convention, the first transaction in a block is a special transaction that starts a new coin owned by the creator of the block. This adds an incentive for nodes to support the network, and provides a way to initially distribute coins into circulation, since there is no central authority to issue them. The steady addition of a constant of amount of new coins is analogous to gold miners expending resources to add gold to circulation. In our case, it is CPU time and electricity that is expended.

The incentive can also be funded with transaction fees. If the output value of a transaction is less than its input value, the difference is a transaction fee that is added to the incentive value of the block containing the transaction. Once a predetermined number of coins have entered circulation, the incentive can transition entirely to transaction fees and be completely inflation free.

The incentive may help encourage nodes to stay honest. If a greedy attacker is able to assemble more CPU power than all the honest nodes, he would have to choose between using it to defraud people by stealing back his payments, or using it to generate new coins. He ought to find it more profitable to play by the rules, such rules that favour him with more new coins than everyone else combined, than to undermine the system and the validity of his own wealth."

-Satoshi Nakamoto (https://bitcoin.org/bitcoin.pdf)

The very foundation that allows Bitcoin to function is Proof-of-Work. The economic incentive that allows PoW to function is the block reward, or Incentive, which is described above.

Satoshi's written explanation is that with a block reward, nodes on the network will be incentivized to support the network, be incentivized to stay honest, and through one's own greed not attack the network. Bitcoin's greatest weakness is at the point of block creation, which is why the incentive is tied to it.

That incentive (or greed) in my eyes is two fold, one is the block reward and two sunk cost in mining equipment. One can instantly, or nearly instantly cash out their block reward and with the advent of forks like Bitcoin Cash, and numerous, numerous others, one's investment into mining equipment no longer requires Bitcoin's survival to remain profitable.

Miners no longer have the incentive to support the Bitcoin network after a block reward has been gained. A miner's support of a network should not vary based on difficulty changes of other networks or profitability of other chains.

I think as time has gone on the community has begun to understand that attacks against Bitcoin will not happen quickly (right at the time of block creation), but happen subtly, politically, quietly and over time.

Miners who continue to support Bitcoin (or whatever other fork decides to implement my proposal) should be rewarded for that continued support, and incentivized with continued rewards to avoid a miner maliciously attacking the network, since they can just turn around and mine a fork and keep producing income off their mining investment.

The Solution - ePoW

My proposed fix to the lack of economic incentives in proof of work is what I'm going to call 'escrowed proof-of-work". Essentially it will change a block reward from just an upfront payment to an upfront payment as well as a series of escrowed payments that will continue paying out to a miner for 8 more months.

The additional payments would occur every month (as measured generally in blocks) for 8 months after the initial block reward (using a timelock script as briefly discussed on this wiki page: https://en.bitcoin.it/wiki/Timelock)

What this means is every miner who mines a block would continue receiving payments for 8 months. This gives a miner economic incentive to continue supporting the network and not attack it... For at least 8 months. If miners cannot cash out their reward instantly with no loss to the investment they made into mining equipment, the greed that the whitepaper describes kicks in again.

Getting this approved by the network

Now we get to talk about compromises.

This change to give the network more fundamental security should be fairly well supported by the community. However for the miners, seeing their block reward get cut in half by the implementation of this proposal is a non-starter.

So, let's double the block reward.

Moving forward miners would continue to receive 12.5BTC upfront. However, they'd also get 8 months of additional payments of 1.5625 BTC each, totaling 12.5BTC.

Miners get more rewards, users of the network get a stronger network that is less likely to be manipulated.

Considerations/FAQ

Q: This means that there would be more than 21 million BTC created?
A: Yes. The 21 million figure number is arbitrary anyways, it will not have as much impact on immediate supply, only supply in the long term. However since some community members' trust in Bitcoin is essentially based in its disinflationary nature, one solution to keep the 21 million BTC limit would be to increase the amount of division in the block reward in the future. Higher payouts now, smaller payouts farther into the future.

Q: Won't this produce more selling pressure.
A: Miners will have more BTC to liquidate, which will provide increase selling pressure. However since this additional BTC is timelocked, there won't be any additional selling pressure until 1 month out from implementation, and the resolution of reconciling Bitcoin miners' lack of incentive from screwing with the network should help add buying demand for Bitcoin.

Q: Won't increased use of scripts in the mined blocks will lower available space for transactions?
A: The reason I picked a monthly payout schedule is to limit the amount of transactions needed for the reward incentive. Other than the original reward transaction, each escrowed payment will only require one additional transaction's place. This should not cause an untoward amount of block usage, and with Lightning implementation on the horizon this should not cause too much of an issue.

Q: How will mining pools pay out escrowed rewards?
A: The escrowed payments will be flexible in sending payment to a different address or potentially 8 different addresses. The mining pools could either choose to pay themselves the escrowed payments and then payout to all active pool participants during the block reward, or they could elect to use the escrowed payments as a reward for the top 8 participants

Q: Who is coding this?
A: Not me, I am not a developer by trade. I'm working with a developer right now to submit a BIP.

Q: Would this require a hard fork or a soft fork?
A: I am uncertain on this. I think it would be a hard fork, since un-upgraded clients would see new coins appear out of nowhere. It would definitely turn into a hard fork at the next block reward halving as well.

What's next?

This is an initial proposal, written to gain insight into the community's perspective both on the problem I laid out, as well as my potential solution. If you support this idea, let me know in the comment section. If you see issues in my proposal or have questions, please let me know and I'll work to resolve them in the comments.