Code for the Hard Fork and changes to Reward Bounties

by BlakeKeiller, Sunday, November 08, 2020, 06:55 (392 days ago)
edited by BlakeKeiller, Sunday, November 08, 2020, 07:07

The timeline was to have a discussion about what to do with reward bounties during October, release the code in November and do the hard fork around December. There's been some discussion and two proposals. The first would push things too much in the AIM direction and the second raises potential legal issues.

To keep the timeline ontrack, I have decided to make a decision about reward bounties. Starting at the hard fork block height (currently set at 4500, which should be early December) the 25 bars that would have been put as a reward bounty will be sent to an address I control. I will simply gather these myself and place them as reward bounties on conjectures. If people want bounties to be placed on conjectures they can post about it here and I will put it onto the list that will be receiving bounties.

After 10000 blocks (so, at block 14500) the 25 bars intended for reward bounties will stop being produced altogether. This will roughly mean over 1 year 250,000 bars will be placed as bounties by this manual method.

This obviously isn't my first choice, as it puts too much power into my own hands. If it's controversial enough, anyone is welcome to fork the code and run (and develop) an alternative. I completely support anyone's willingness to take the power out of my hands in exchange for them taking care of the coding work and keeping the network running.

Here is a release candidate for Proofgold 0.2.1 (rc1) including the hard fork code:

https://proofgold.org/proofgold-0.2.1rc1.tgz

The main code changes for the hard fork can be found in block.ml (checking validity of block), staking.ml (creating blocks), utils.ml (giving hard fork starting block and a block height when reward bounties are phased out) and hash.ml (giving the bounty fund address I will control).

A more major change in the code is a rewrite of the code in checking.ml that checks correctness of documents (including proofs). A new data structure makes it easy to check if a variable is free in a term or if a term is normal, making checking significantly faster. There are also new computation bounds to prevent people from attacking the network by creating "correct" but difficult to check documents.

Code reviews are welcome. If all goes well, the finalized Proofgold 0.2.1 code will be ready next week. Then everyone will need to update before block height 4500 (roughly December).


Complete thread:

 RSS Feed of thread

powered by my little forum