With the upcoming release of Version 0.2.0, Crypti will officially be unveiling our Delegated Proof-of-Stake system (DPOS). We wanted to take the time to release some specifics on how this will change the network and make sure everyone has the chance to prepare for the transition.
What is DPOS?
Delegated Proof-of-Stake is a consensus system originally designed by the Bitshares team for use in their network. The rendition that we are using for Crypti is based on their work and the system that they use with some distinct changes to the system, for instance, we ported the entire code base over to Node.js to match the goals of our project.
It’s important to understand that DPOS is a drastic shift in the way the network functions and will allow for a much stronger network while still maintaining the decentralization that is important to all crypto currency projects.
What are DELEGATES?
The network itself will consist of 101 “delegates”. As a stand-alone user, you may choose to register any account you run as a delegate. Keep in mind that registration alone will not make your account begin forging or earning rewards, but rather make you a nominee to be voted in as an active delegate. The registration essentially makes you a stand-by delegate who is then eligible to receive votes.
Accounts can be registered as a delegate from within the new wallet. A fee will be involved in registration and will be 10,000 XCR per registration.
Once an account is registered as a delegate, it can start accepting votes. Votes are cast by holders of XCR. A Crypti account can use the wallet to vote, using their XCR holdings as weight, for up to 33 delegates at a time (for a 1 XCR fee). These votes are then assigned to the selected delegate and added to its total vote count. The 101 delegates with the highest vote count will be selected as the active delegate accounts that will run the Crypti network.
When casting votes, an account may vote for more than 33 delegates total, but only cast 33 votes in one transaction (for 1 XCR). An account may also only vote for 101 total delegates at any given time. If you have already cast 101 votes, you must remove votes from current nominated delegates in order to cast additional votes.
The more XCR the voter holds, the more valuable the weight of their vote on a 1 XCR to 1 Vote basis (down to the 8th decimal place). So if I am a user and I have 1 million XCR, when I vote for a delegate it counts as the weight of 1 million votes towards the total for that delegate.
Votes can be removed from delegates in the same manner. The transaction costs the same 1 XCR and will allow you to de-vote a poorly performing delegate. In this manner, the users of the network can self regulate the quality of the servers that are actually running the important pieces of the network.
The network works through a series of what we call “rounds”. During one round, each of the 101 delegates will be responsible for securing one block on the network. Blocks will be randomly assigned to the delegates and will change every round for added security. One round equates to 101 blocks. Blocks on the Crypti network are 10s on average. If a delegate fails to respond during their designated block, they will be skipped and the next selected delegate will essentially secure 2 blocks and a block could be extended for 20s. This makes it highly important to vote for delegates that have strong standards and a low number of missed blocks.
Statistics for each delegate representing up-time and how many designated blocks they have missed will be available to allow everyone to know what delegates are dependable and which ones are not. This will help determine where to cast your votes to ensure the network functions as optimally as possible.
The TX FEE & Rewarding Delegates
In version 0.2.0, forging will be drastically changed in Crypti. Transaction fees will now be a hard coded 0.5%. These fees will be rewarded to the active delegates on the network and this is one area where we have made some changes to how a traditional DPOS system works.
For Crypti DPOS, all transaction fees from each block in the round will be combined into one amount. Rather than reward each delegate with the TX fee amount from their particular block, each delegate that secures one block in a round will receive an even share of the total transaction fees for the entire round.
In a typical round, 101 delegates will secure 101 blocks. All tx fees will be combined, 10% will be remove from the pool for the Foundation (to help the Foundation raise additional funds for long term development) and the remaining 90% will be divided by 101 (the number of delegate in that round that secured a block) and then evenly distributed to all delegates. The reason we have made this change was to make the rewards equitable to all active delegates. Rather than penalize a delegate who is paying to help run the network for being selected to forge a 0 fee block, we believe an even distribution is better in the long term.
An example of how this works would be as follows:
Block #1 = 1000 XCR in fees Block #2 = 1000 XCR in fees Block #3 = 20000 XCR in fees …….. Block 101 = 5000 XCR in fees After all 101 blocks have been secured and the round is complete, all fees would be added together. 1000 + 1000 + 20000 + 5000 = 27000 XCR 27,000 XCR x 10% = 2700 XCR distributed to the Foundation XCR account 27,000 XCR x 90% / 101 delegates = 240 XCR distributed to each delegate account
This is just a simple example to show how the fees would be distributed. In this instance, instead of delegates forging blocks #4-#100 receiving 0 XCR for this round, they would instead receive 240 XCR. This ensures that delegates have a more consistent distribution of fees from the network.
This is an enormous and exciting change for the Crypti network and we can't wait to fire it up! IF you have any additional comments or questions that we didn't cover, let us know and we will publish an answer! We want to make sure everyone is as prepared as possible for the switch!
After version 0.2.0 we have a lot of additional features down the pipe. For a look at what is to come, read our official Crypti Roadmap!