System Overview
The diagram below shows how the miners and MSPs communicate. Note, there is no peer to peer communication between miners. The MSPs use point to point communication for replicating state across each other and to to run distributed key generation and FROST signing protocol.
Miners register with any MSP, and then communicate with the MSP’s stratum instance. The shares generated by a miner are submitted to a single MSP, that further broadcasts the share to the entire network. The MSP and miners run a simple hashing protocol described later to make share ownership verifiable so that a miner’s share can not be stolen by other MSPs or miners. MSPs fund DLC based futures contracts taking on the risk of the pool’s luck and providing miners with a steady payout.
We provide a reliable, byzantine fault tolerant broadcast channel available between all nodes that provides Bracha’s Echo Broadcast. Whenever we use the term broadcast in the rest of the document it implies the use of this reliable byzantine fault tolerant broadcast channel. This broadcast channel is used to replicate shares across all MSPs.
Consistent Accounting and Miner Payouts
With access to a consistent share data available on all MSPs, each MSP can run deterministic algorithm to arrive at the same accounting results. That is, all MSPs can independently compute the amount of payouts for all miners and the results will be consistent. This consistency is important as all MSPs have the same messages to sign and can then use FROST signing protocol to generate the signature.
Stratum
MSPs communicate with miners using the stratum protocol. This allows miners with current and older equipment to start using Radpool without an extra effort to run services on site. Miners register with MSPs using the same web based or cli based tools as they used to for registering with existing centralised pool operators. The requirements to register with a MSP are entirely up to the MSP. Radpool does not and can not impose any restrictions on these requirements.