BitDust Roles and Coins
Draft 2
NOTE: This is an early draft proposal. The current implementation is different: the BitDust blockchain, wallet and storage contracts already exist in the software (but do not affect anything yet), see Blockchain and storage contracts; the Rebuilder role is not implemented yet. Only the roles involved in payments are listed here, see Ecosystem for the full list of roles. An alternative approach is described in the Merchants draft proposal.
Roles
Customer
Consume resources from other nodes: storage, network traffic, CPU time
Pay the Miner with BTC or ETH to "buy a service"
Receive an "empty" BitDust coin from the Miner
Send the BitDust coin to the Supplier to "pay for service"
Supplier
Donate part of their own HDD/SSD drive to the Customer so that they can store something
Receive a "signed" BitDust coin from the Customer
Send the "confirmed" BitDust coin to the Miner to "sell storage service"
Receive BTC or ETH from the Miner
Router (Proxy Server)
Help other nodes to connect to each other and send/receive packets: re-route network traffic
Help nodes behind NAT to receive incoming connections
Receive a "signed" BitDust coin from the Customer
Send the "confirmed" BitDust coin to the Miner to "sell network bandwidth service"
Receive BTC or ETH from the Miner
Rebuilder
Help a new Supplier to reconstruct "missing" data fragments and store Customer data
Receive a "signed" BitDust coin from the Supplier
Send the "confirmed" BitDust coin to the Miner to "sell CPU service"
Receive BTC or ETH from the Miner
Miner
Help other nodes to get read access to the blockchain
Publish transactions on the blockchain for other nodes
Receive BTC or ETH from the Customer
Generate an "empty" BitDust coin and give it to the Customer
Receive the "confirmed" BitDust coin from the Supplier, Rebuilder or Router
Send BTC or ETH to the Supplier, Rebuilder or Router
Finally, "burn" the BitDust coin as a "proof of storage"
Rules
Every Customer can make only one transaction per Miner. If they require more coins, they will have to find another Miner in the network
Every Supplier, Rebuilder or Router can make only one transaction per Miner. If they want to sell more "confirmed" coins to "burn" them, they will have to find another Miner in the network
A BitDust coin cannot be transferred after it has been "burned"
A fixed maximum life-cycle duration for each BitDust coin will be decided later (3-12 months) - the whole BitDust blockchain will be periodically cleaned up and mining will start from scratch all over again in the next cycle