Mining
Mining is an integral activity in Joint protocol. It involves the triggering of various operations that maintains the protocol's liveliness.
Due to the nature of smart contracts on the blockchain, they cannot execute operations alone; they can only perform operations whenever a user interacts with them by creating a transaction.
The Joint protocol requires miners to create transactions that perform various operations necessary to complete user-driven processes.
Users who create transactions to perform a specific protocol operation are called miners.
Transaction Types
There are several types of transactions miners can create. Some of these transactions are created in response to swap events and must be sent within a specific period.
Draft Transaction
A draft transaction is used to randomly draft mediators into a new dispute or re-appealed dispute. When a dispute is created, the smart contract cannot automatically draft mediators; it relies on the miners to call the draft
method until all mediators are assigned to the dispute. For instance, when a dispute requires three (3) mediators, the draft
method can be called only three (3) times for that dispute.
The dispute will be fully initialised once all mediators have been drafted.
Un-draft Transaction
An un-draft transaction removes mediators from an inactive dispute. An inactive dispute is a dispute that has been abandoned through a re-appeal or executed. When a dispute is no longer active, miners can call un-draft
multiple times to remove the mediators and prepare them for their next draft.
For instance, if three (3) mediators are drafted to a dispute, it will take three (3) un-draft
calls to un-draft the mediators.
Un-drafting is only possible when the target dispute has been executed.
Decision Execution
A decision execution transaction is used to execute the ruling of a dispute after the voting phase has ended. When voting ends, mediators call the executeDecision
method on the dispute to execute the ruling. The call will release the token locked in the dispute, cancel the swap or mark the dispute as abandoned if it was re-appealed. Miners can only call this method once per dispute.
Fee Transfer
The Joint protocol sets aside a portion of protocol revenue to be distributed to token holders via the FeePool
staking contract. Miners are responsible for calling the transferToFeePool
core contract function to initiate a transfer of accrued fees into the FeePool
contract. Miners can call the function once per token and within a specific duration.
Enrolment
Mining is open to everyone. Intending miners do not need to stake any tokens. The only expense on the miner is the host network transaction fee.
Incentives
The Joint protocol rewards miner for their service to the protocol by minting new P2P tokens. The protocol reward allocated to the miner, will include the transaction fees paid to execute transactions and a substantial amount as a wage.