Darknodes power RenVM by contributing network bandwidth, computational power, and storage space. As such, operating a Darknode incurs a financial cost. To incentive Darknodes to contribute their resources, there needs to be a financial incentive.
Furthermore, the security of RenVM is built on the assumption that acquiring 100,000 REN is non-trivially expensive. The greater the cost of the bond, the greater the security of RenVM. If Darknodes are earning rewards for their contribution of resources, this naturally establishes a cost for REN.
To compensate Darknodes for their work, users of RenVM are required to pay fees. These fees are paid to an Ethereum smart contract, known as the Darknode Payment contract. Once per payment cycle, the Darknode Payment contract distributes these fees evenly to all Darknodes as a reward for their work. Payment cycles happen once every four weeks. Only Darknodes that are actively powering RenVM during the payment cycle are rewarded.
Broadly speaking, RenVM is capable of two kinds of secret computatoions: those that move tokens between blockchains, and those that do not. For secret computations that move tokens between blockchains, dynamic fees are paid to the Darknodes by taking a share of the tokens that have been moved. In all other cases, Dai fees are paid to the Darknodes.
The most common type of fee paid to the Darknode Payment contract is a dynamic fee. Dynamic fees are required when users are moving tokens from one blockchain to another. The fee is specified as a percentage of the moved token.
Users must pay a minimum fee of 0.1% of the moved tokens. Users can optionally increase the fee in steps of 0.01% to encourage Darknodes to prioritise their transaction.
To run general purpose secret scripts, users must pay a fee in Dai. The exact fee is dependent on the amount of data required, the amount of work required, and how much the user wants to be prioritised.
Cost per second per Darknode
Cost per byte per Darknode
After registration, Darknodes must be whitelisted before work will be distributed to them and they can earn rewards. Darknodes registered during a payment cycle will be automatically whitelisted at the beginning of the next payment cycle.
Darknodes that do not actively contribute their resources to powering RenVM will be blacklisted by their peers. Blacklisted Darknodes will no longer have work distributed to them and can no longer earn rewards. The only option for the owner of a blacklisted Darknode is to deregister the Darknode and withdraw the REN bond.
Blacklisting inactive Darknodes protects RenVM from malicious adversaries that might try to take RenVM offline by refusing to do work that has been allocated to them. Darknodes will vote to blacklist other inactive Darknodes after they have been inactive for 24 hours or more.
Blockchains typically define their own gas fees that must be paid when submitting transactions. There are two scenarios to consider:
Gas fees that are paid in addition to the transaction (e.g. paying Ether when using Ethereum) must be paid by whoever submits the transaction to the host blockchain. Darknodes will never submit the transaction to the host blockchain themselves. Universal Interoperability can be used to simplify the user experience and prevent users needing to handle multiple tokens.
Gas fees that are paid from transaction values (e.g. Bitcoin) will have the gas fee deducted from the token amount during interoperation. For example: 1 BTC is shifted to Ethereum and 0.001 BTC is consumed by fees from the Bitcoin blockchain, only 0.999 BTC will end up on Ethereum when the shift completes.