In the majority of Proof-of-Stake (PoS) scenarios, participants who hold cryptocurrency have the ability to create a block, for which they are compensated with additional cryptocurrency. This reward serves as recognition for both their holding of coins and their contributions to the network. The term "stake" is used to refer to these held coins that are locked for a designated period of time. Participants are often provided with opportunities to earn returns on their investments in the form of additional coins through staking. The exact nature of these rewards can differ significantly across various cryptocurrencies.
Staking plays a crucial role in bolstering network security by incentivizing trust. The more a participant stakes, the higher their potential losses, thereby fostering a greater incentive to refrain from undermining the system.
Serving as a parachain of Polkadot, Darwinia's network security responsibilities are transferred to Polkadot's validators, superseding the need for Darwinia validators. While it might initially appear redundant to distribute rewards to collators, Ethereum's transition to PoS and the development of its Layer 2 network necessitates that we assimilate some of its advantageous features to enhance our solution.
Our current Darwinia staking design is built on an older framework and has been influenced by historical factors. The staking process involves two types of staking pools: native token staking pools and commitment token staking pools. If you are not familiar with commitment tokens, I recommend referring to the documentation for more information. This design allows participants to choose from multiple options for staking. Native token holders can either directly deposit their tokens using the staking module or lock their tokens in the deposit module to receive commitment tokens first. They can then participate in the staking module using the surplus of native tokens and commitment tokens. Check out this How To Staking tutorial for instructions.Commitment TokenStaking ModuleDeposit Module