Radium Protocol Change Proposal
Hello Friends, Over the past few weeks, I have had an idea running around in my head about some possible changes that i think will be beneficial to Radium and Rads. I have put a good bit of thought and testing into it, and I am now sure that it is feasible; however I want to get some community feedback. Please stick with me, as this has ended up being a rather long post.
For the sake of this discussion, a “Smart Transaction” refers to any smartchain actions that write data into the blockchain. Example operations include creating an account, recording a file fingerprint/hash, or placing text in the blockchain. Actions such as reading text notes, or verifying a file with One Click Verify are read-only and do not require writing to the blockchain and are not “Smart Transactions”. Additionally “SmartChain” will be referred to as “SC”.
Over a year ago, when I was designing the original SC protocol, I decided that we would need to charge a fee for immortalizing data in the blockchain, and that that fee should be returned to the radium holders as a bonus coins, in addition to the standard block reward. At that time, the simple way of accomplishing this was to require high-fee transactions for smart transactions, causing the fees to be awarded to whoever staked the next block. The problem with this system however is that the bonus coins would be awarded all in one lump, and the individual chance of receiving a bonus would be low.
In an attempt to spread the fees out more evenly and make the system more fair, I developed the Radon asset, and Slow Decay. This is the current model, and it requires a person to send several high-fee transactions over a period of time using the Slow Decay process. In return for these high-fee transactions in which the user is charged Radium, they are rewarded with Radon is then used use to perform Smart Transactions. This system does successfully spread out the fees and increased the fairness of the system, however it was not without issue.
The biggest difficulty with the current Radon-Decay system is that it is complicated and not user friendly. The user must plan ahead, initiate the Slow Decay process, and then wait to accumulate enough Radon to perform whatever Smart Transaction(s) they may want to perform. Additionally, it only does a mediocre job at spreading out the bonuses among the stakers. A second issue is that the Radon-Decay system causes some degree of bloat. The repeated high-fee transactions required to generate Radon accumulate, and will eventually have a measurable impact on the size of the blockchain. Thirdly, and most important to me, the Radon-Decay code is complicated and difficult to maintain correctly. It introduces several places where coding errors could occur, and it also significantly increases the time required to sync the SC. Having considered all the above (and lots of additional coding nuances i won’t bore you with) I have come up with the following solution;
Eliminate the Radon-Decay system, and replace it with a new wallet based solution where all transactions fees are paid out over over a span of 1440 blocks. Let me explain. Currently, if someone was to perform a transaction with a fee of 1 RAD, the person who staked that block would be rewarded with the standard 1 RAD block reward, AND the 1 RAD transaction fee, for a total of 2 RADS for the one block. Under the proposed system, the usual 1 RAD would be awarded for the block, but the 1 RAD fee would be evenly divided among the next 1440 blocks. This means, that EVERYONE who stakes a block in the 24 hours after a high fee transaction, would receive a bonus. In the case above, instead of one lucky person receiving a block worth 2 RADs and everyone else only getting 1 RADS, all the blocks in the next 24 hours would be worth 1 + (bonus/1440) rads.
This system solves MANY problems. First, it gets rid of the complicated Radon-Decay system, and allows users to perform Smart Transactions like account creation and various Proof-Of-Existance nearly instantly. There will be no more waiting for Radium to decay to Radon, and no more confusion between the two. I think that this will eliminate a huge barrier to acceptance that Radium has faced. Second, the original idea of rewarding those who are staking coins is not only maintained but improved. The staking rewards will be more even and more fair than before. Even those who are only taking small amounts of coins have a reasonable chance of receiving a bonus. Third, the bonus rewards will be visible on the block explorer, allowing potential investors to see the bonuses on the blockchain in real time. Forth: it will reduce blockchain bloat in the long run. Fifth: It will make my life a lot easier, not needing to update and maintain the Radium-Decay code, giving me more time to spend on developing new technology to incorporate into Radium. It opens the door for web based integrations, and perhaps even a fully functional web based SmartChain interface that could function without a local wallet.
Under the new system, All a new user would need to do is buy some Radium off the exchange, fill out the registration form, and click register, and accept the fee in Radium. Quick, clean, simple, and easy. And now for the potential issues. First, in order to implement the above system, we will have to make changes to the core wallet code. This will require another hard fork. While the risk of any significant issues are very low, performing a hard fork takes a lot of planning and time. Second, the code to distribute the transaction fees across many blocks is brand new (to the best of my knowledge) and there is no existing code base to look to for guidance. While we have been successfully testing this new code on the test net, and would never fork until we have tested everything we could possible test on testnet, the possibility of bugs still exists. I would also have to offer a Radon buyback, to replace the Radon people generated through decay.
If you are still reading, and I have not put you to sleep or worse, i applaud your perseverance. I am specifically looking for feedback, suggestions, and criticisms to this proposal. If i was not clear on any of the above points, and a point needs expanded, please don’t hesitate to ask.
Stop by our Slack channel for a chat, or leave a message here.
Looking forward to your insight,
JJ12880Slack
https://projectradon.slack.comSlack Invite
https://projectradon-slack.herokuapp.com/