Within Panther, miners run a code fetching the pending (unprocessed) UTXOs mining queue on the Bus tree. They then compute updates to the Merkle trees needed to append the UTXOs of the queue to the trees, create a SNARK-proof that proves the correctness of the updates, and submit these updates to be written on-chain together with the proof to smart contracts. As such, the Panther Miner software acts as the “Bus operator” on behalf of a user. Miners receive rewards for their service to the protocol. In its first implementation, the algorithm to reward miners is fairly simple. Eventually, the Panther community may want to implement a more sophisticated algorithm after some initial usage statistics are collected.
The total amount of rewards for all UTXOs in a queue (“assigned rewards”) is split into two parts:
- A “guaranteed” reward, set at 80% initially, which the miner who processes the queue gets in any case.
- A “contribution to reserves” used to pay for bonuses (explained below).
Should there be reserves to permit it, besides the “guaranteed” reward, the miner who mines a queue may get a premium. Premiums are calculated proportionally to the number of blocks that have passed without the queue getting processed, counting from the creation of the earliest UTXO in the queue. The bonus will be calculated through accrual at a fixed factor, initially set at 0.1% of the “assigned reward” for every pending block.