Hello again. Quite a big changes are being prepared for Gridcoin, so let me walk you thru what all can be changed. But keep in mind that my word on this is not authoritative and the changes first must be elaborated, approved by community, voted upon, implemented and tested a before being pushed to production network.
First, you may have noticed, that a poll was created in a topic of Interest payments. Currently a Coin*Age interest calculation is used, which uses the Age multiplied by Value of the UTXO multiplied by the interest rate (in correct units) to calculate the reward amount. The main problem with Coin*Age interest is that, you continue to collect interest even when your wallet is offline. As it is not convenient to keep the wallet open and online 24/7. Big holders noticed this, keep their wallets closed for most of the time and come online only to collect their interest. To keep the network secure, it is important, that big holders keep their wallet open and unlocked for staking.
But they are rewarded the same amount for basically not doing that. For that there exist a Fixed interest reward, which was invented in PoSv3 of Blackcoin. It works by not taking the value and age into account and instead paying constant amount as an Interest per block. The higher balance you hold, the more often you stake, and the more of this interest reward you get. But it you take your wallet offline, you are loosing this rewards.
Currently research reward is calculated using very inaccurate Trapezoid rule. In detail, the midpoint of magnitude at your previous reward and your current magnitude is multiplied by the time since last reward (in days) and current magnitude unit. As you see, the magnitude between your two rewards is not taken into account at all. This can have both negative and positive effect and can be gamed a bit. For details see the development wiki.
We want to replace this calculation by more accurate one. The reward will be based not only on the two, but on average magnitude in that period.
Or this can become irrelevant, if Gridcoin decides to pay the rewards at each superblock.
With the introduction of V8 kernel the time between rewards to some miners increased and is expected to increase more when the interest payment is changed. More and more miners are forced to join the pool. Something must be done to correct this situation. I already written about the potential solutions.
Currently the total network magnitude is capped at 115000. This number is evenly split to all white-listed projects and then split by individual's RAC relative to team gridcoin's RAC in each project.
Then it was promised that 48000 GRC will be paid to BOINCers per day. As you see, it does not add up, so a Magnitude Unit was introduced to bring the average reward per day to 48k. But due to error in the code, the actual average before v8 was
41k. Besides that, the magnitude unit often drops, which steals some of the research rewards.
When a project is offline or does not update it's exported stats, NN keeps using the old values of User and Team RAC. This results in free mag if the project is actually down or wrong mag if only the stats are wrong.
You see, there are few magic numbers, which are not a good thing, plus the complex and buggy magnitude unit, plus the shortcomming of RAC usage.
To solve this issue, it was suggested to replace magnitude with a round, fixed value, either 1 GRC/Mag/Day or 0.01GRC/Mag/Day. Then adjust the total network magnitude to 48 M (or 50 M to make it more round).
The effect of that would be that everyone's mag will increase, so those who don't understand will be happy, but actually won't be paid more. And the payments will be much more accurate and fair, due to removed magnitude unit.
Better "Neural" "Network"
The NN plays important role in research reward distribution. It runs only on Windows nodes. Nodes running the NN periodically download exported statistics from boinc servers process it and calculate magnitude for every CPID. After reaching consensus, one node will create the superblock, containing all magnitudes.
The actual improvement will be making this pice of software run on Linux too. Make it use something more reliable than RAC and properly deal with projects being offline. Properly scaling down the load on project servers and improving the security.
I propose a new superblock voting and staking mechanism. It works in three periods: registration, consensus and staking. The whole process including the stats block production is separate for each project. This is to prevent one misbehaving project to delay consensus. The number of participants is securely and fairly reduced by using cryptographic method of dynamic participant selection.
Currently what binds your wallet to a BOINC CPID is the beacon. First the beacon system is not secure and many users are having problems with bad beacons.
The new system may stop using CPIDs altogether and use the Account IDs instead, as CPIDs are both not very secure. Users are having problems with split CPIDs, CPID changing unexpectedly. And it current system requires user to supply an email address to wallet.
Last there are few other, smaller changes. I want to merge the CoinBase and CoinStake transaction, to save some bytes of the blockchain and maybe half the records in transaction database.
Thank you for reading so far and stay tuned for the actual road-map bundled with a bunch of polls deciding the future of gridcoin. Sadly I most likely wont be able to work on gridcoin as much as I did, because the summer break is over and boss level of university is waiting for me.