Skip to content

caelumproject/SCI59

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Caelum project token (SCI59)

SCI59 is an entirely new token distribution model for the Ethereum network. Caelum project is the first to successfuly implement a Proof of Work mining distribution combined with Masternode reward structure.

SCI59 will be the primary token for using any Caelum related project.

Deployment

In order to deploy the entire project, a few steps are needed. Since SCI59 uses abstract contracts, all contract must be deployed seperated. This approach has the benefit that the contract can be updated in the future, eliminating the need to fork or redeploy a new token should any issue occur.

  • Deploy DataStorage.sol, Masternode.sol, and SCITokenBase.sol on the network.
  • On the Masternode contract, call the setDataStorage function with the DataStorage contract's deployed address.
  • On the SCI59TokenBase contract, call the setDataStorage function with the Masternode contract's deployed address.

The SCI59TokenBase contract is now ready to start minting using 0xbitcoin mining software of your choice. Input the SCI59TokenBase address in the mining software to start mining SCI59 tokens.

Distribution of SCI59 explained

Before we understand why a masternode reward system matters, and what advantages it offers, we need to understand how the entire supply will be distributed over the cours of multiple years.

Masternode rewards

The usage of masternode rewards has proven to be an easy distribution method, gaining a passive amount of tokens in return for a collateral amount of tokens. This system, first introduced in Dash, has gained a lot of popularity over regular Proof of Work mining methods.

While many tokens and dapps exists on the Ethereum network, none has been innovative enough to try and create a Proof of Work + masternode reward system. Most projects choose to distribute their tokens during ICO events, given the fact that this is a perfect way to raise large capitals in a short period of time. The major drawback in this approach is that most of those ICO projects have no further intention on innovation or producing a product once the funds are transferred in their personal wallets.

Tough the concept of raising large capitals may be tempting, the Caelum Project team decided to launch the project without an ICO event. We created and developed the code in our own time, choosing innovation and technology over quick cash.

Reward structure

Caelum Project will use what's known as a fair reward structure. This simply means that anyone can join the project and have an equal chance to earn SCI59 tokens.

Each mining phase will last approximatly 1 month. +/- 6 blocks will be produced per hour. Every mining epoch will last 4500 blocks.

Calculation method: 4500 / (6 blocks*24hours) gives an average of 32 days.

Reward calculation

To calculate the rewards, we must determine the current mining phase. The calculation method is therefore multiplied by 10. Ethereum will always round numbers, meaning having a multification by factor 10 is a valid way of determing the phase.

function calculateRewardStructures() public {
        uint getStageOfMining = mining_epoch / 4500 * 10;

        if(onTestnet) {
            getStageOfMining = mining_epoch / 25 * 10;
        }

        // Set first month full PoW and after 9 months full MASTERNODE (small % for miners to incentivize keeping mining)
        if (getStageOfMining < 10) {rewards_ProofOfWork = rewards_globalReward ; rewards_Masternodes = 0; return;}
        if (getStageOfMining > 90) {rewards_ProofOfWork = rewards_globalReward / 100 * 2 ; rewards_Masternodes = rewards_globalReward / 100 * 98;return;}


        uint _rew = (rewards_globalReward / 100) * getStageOfMining;
        uint remain = (rewards_globalReward - _rew);

        setBaseRewards(remain, _rew);
    }

Let's dive in detail of what's happening here.

First off, we calculate the current mining stage. Ethereum will always round numbers, meaning having a multification by factor 10 is a valid way of determing the phase. Our first 4500 blocks will return 1, the next 4500 2 , and so on.

Next we check if we are on a testnet. During testnet runs, we can lower the amount of needed blocks before switching to the next mining stage. Without this parameter, it would take years to fully debug and run the contract on a testnet.

Now things are getting intresting.

During launch

if (getStageOfMining < 10) {rewards_ProofOfWork = rewards_globalReward ; rewards_Masternodes = 0; return;}

This means that during the first month, the mining reward is very low. This is to prevent the instant mining attack. During such attack, powerfull miners race to mine the first hundreds of blocks, leaving out small scale miners. While this hurts the fair distribution methodology, it also hurts the financial future of a token once it's listed on exchanges since those attackers are more then likely to dump all instamined tokens at once. Using this protection, everyone has a fair chance of preparing mining software until we reached the second month of the mining phase.

After PoW phase

if (getStageOfMining > 90) {rewards_ProofOfWork = rewards_globalReward / 100 * 2 ; rewards_Masternodes = rewards_globalReward / 100 * 98;return;}

Equally, we takes measures that prevent our userbase to stop mining once the PoW method is over, and SCI59 is fully masternode controled. PoW miners will always receive a minimum of 2% once the mining phase is over.

Proportional reward structure

uint _rew = (rewards_globalReward / 100) * getStageOfMining;
uint remain = (rewards_globalReward - _rew);

This function calculates the reward in relation to the mining stage. If we would be in stage 4, the reward is calculated as 40%. The remaining reward then goes towards the masternodes. The reward structure is always 100% of the initial reward amount, divided between the PoW and Masternodes in relation to the mining stage as percentage. This means that SCI59 launches as 100% Proof of Work and 0% Masternode, and with each mining phase (4500 blocks), 10% will be decreased from the PoW and increased at Masternode rewards until we reached 100% masternode rewards (98% masternode, 2% miners as explained above)

Graphical overview of reward distributions during first year

Alt text

Graphical overview of reward distributions on longer term

Alt text

Conclusion

Masternodes are a good way to distribute tokens, where only a small amount of input is required to obtain enough tokens to use as collateral for setting up the masternode.

In our 144 week example, only 7% of the total rewards will be distributed to miners, where 78% will be distributed amongst masternodes. The biggest cavaet for the holders is that mining is required to obtain enought tokens to enjoy the masternode distribution method; This trivial approach ensures a durable solution where SCI59 tokens will have an intrestic value because of the mining fees.

When taking these calculations in consideration, it's important that the user is aware that every masternode will receive a block reward in turn, just like any other masternode system. Once every masternode holder has been payed, a new round opens and the payout starts from the first address in line.

About

SCI59 Token - Official Caelumproject token

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published