Braidpool: Decentralized Bitcoin Mining Pool

Braidpool is a protocol proposal for a decentralized Bitcoin mining pool.
It aims to handle everything that a mining pool does, but in a distributed way.
How does Braidpool work?

Bitcoin Mining Favors Large Miners

Bitcoin mining favors miners who are providing the most hashing power to the network.
It's just the nature of the protocol and because the block time is programmed to be 10 minutes on average.
The likelihood of a miner finding a block reward is correlated with the amount of hash power they contribute.
Smaller miners have to endure with more variance (unpredictability) when it comes to mining profits.
This makes it harder to budget a profitable mining business.

Mining Pools to Reduce Variance (Unpredictability)

The above factors have led miners to join mining pools where payouts to miners can be more predictable.
A mining pool conventionally does 3 things:
1️⃣ Constructs block templates
2️⃣ Keeps track of individual miners' work (shares)
3️⃣ Custodies and distributes rewards

Mining Centralization

Pooled mining affects the decentralization of the Bitcoin network.
Pools want to get more hashrate to reduce variance, but they don't want to become too big to be a 51% attack risk to the network.
Problems with mining pool centralization:
⚠️ Pool operators have the ultimate say on which transactions to select in a block (censorship)
⚠️ Known or regulated pools can be pressured by a government to seize miners' bitcoin or KYC them

Directed Acyclic Graph (DAG) to Decentralize Mining Share Accounting

Braidpool aims to decentralize share accounting, payouts and transaction selection.
Each individual miner in Braidpool is required to run a full Bitcoin node and construct its own block templates.
To keep track of individual miners' contributions to the pool, Braidpool uses a directed acyclic graph (DAG) layer-1 blockchain on top of the Bitcoin blockchain.
This blockchain is only for the purpose of producing Bitcoin blocks.
There is no altcoin, ICO etc.!
Braidpool DAG blocks are "weak blocks" that are valid Bitcoin blocks, except that they don't meet the difficulty target requirement of a valid Bitcoin block on the Bitcoin blockchain.
They only meet the 1000x easier difficulty target within the Braidpool DAG blockchain.
These weak blocks take the role of shares in the Braidpool mining scheme, and allows the distribution of shares between miners according to the hashing power they have provided to the pool.
Braidpool is a bit like a merge-mined "layer-2" to decentralize mining payouts.
Technically Braidpool's DAG is not a chain of blocks, but a graph of "beads".
Beads can have parent beads, and the graph can have diamonds or other higher-order graphs within it.
A DAG doesn't have orphan blocks like Bitcoin does, and therefore can be much faster.
Each bead (share) has a value based on the number of SHA256 hashing performed.

Non-Custodial Payouts via FROST Multisig

At the end of a difficulty adjustment epoch (2016 Bitcoin blocks or about 2 weeks), Braidpool shares settle on the Bitcoin blockchain and the protocol pays to individual miners via a multisig.
This multisig is called FROST.
It enables large multisig quorums, currently for around 50 participants.
Basically, individual miners share mining shares amongst themselves in a distributed way and reach a 2/3 consensus on how to pay each miner in a self-custodial way.
If miners can't reach consensus on the payouts, the most recently signed transactions become valid, and the miners will effectively revert to solo mining.

Improved Revival of P2Pool

Braidpool is a new iteration of P2Pool, a past mining protocol with the aim of decentralizing mining pools.
P2Pool is effectively a Bitcoin blockchain on top of the Bitcoin blockchain itself with a 30-second block time for the purpose of decentralizing pool payouts.
P2Pool couldn't scale and it's not being used anymore.
When more miners joined the pool, the difficulty required for shares grew, making it more difficult for small miners.
In Braidpool's DAG, it's not a zero-sum game which miner will win the share because there are no orphaned blocks in a DAG.
The difficulty is set dynamically within a 2016-block epoch and small miners have less variance even if the pool grows larger!

Hashrate Derivatives to Incentivize Miners

Because the output that distributes funds to miners can be assigned to any address, Braidpool's design provides building blocks for hashrate derivatives markets.
A Braidpool bead represents a share within the protocol that can be traded in e.g. futures or options contracts.
This can reduce miners' variance risk.
A pool or a financial market maker can e.g. buy miners' shares in exchange for bitcoin.
Or if a newbie small miner wants to lock in their risk until the mining rigs are paid etc.
These kind of contracts are common with e.g. agricultural commodities dealing with variance related to weather conditions, energy prices etc.
Braidpool doesn't intend to be an exchange platform for hashrate derivatives, and the trading would have to happen outside the scope of the protocol.
Hashrate derivatives could also help bootstrapping the adoption of Braidpool.
Braidpool is an open-source protocol, not a company, so it can't subsidize miners in any way to start using it.
But if miners can reduce variance and mining pools can make extra buck participating in hashrate contracts, both will have the incentive to use Braidpool.
The financial risks of mining with Braidpool will be pushed from miners to financial market makers!

Opportunities for Entrepreneurs and Volunteers

Braidpool requires miners to run their own nodes, which is not what miners currently often do.
Maybe there are business opportunities within Braidpool for Bitcoin entrepreneurs to help miners with node installation!
Braidpool is still in early development and not ready to use yet.
It relies on volunteer contributions, both technical and financial.
Meanwhile as a miner, you can use DEMAND pool because it also requires you to use your own node, for practice!
DEMAND uses Stratum V2 mining protocol.
More about Stratum V2 here: #537092
What do you think about the Braidpool proposal?
Is it a good solution to decentralize Bitcoin mining pools?

Additional Resources

Recommend the Braidpool team explore https://start9.com as a recommended option for miners to run a bitcoin core node.
reply
Awesome. Thanks for sharing.
Love to see more developments in the decentralization of mining.
reply
This is really interesting. I've been wanting to get involved with mining for a long time and this sounds like a really attractive option.
reply
Decentralized mining seems like a really good idea.
Maybe there are business opportunities within Braidpool for Bitcoin entrepreneurs to help miners with node installation!
Surprised to see this. Wouldn't miners have the tech chops to run a node?
reply
Yes, but often not the ideological chops. They're the blue collar mercenaries who just plug the machines in and make money.
I wonder how to incentivize them to run more nodes. Maybe some slick UX plug-and-play system could help?
reply
Got it. So it's the incentive to run a node, not the know-how. If large miners are purely mercenary, then there must be some financial benefit, however small, to sway them. Convincing them on idealogical grounds sounds like an uphill battle. A few conceptual options that come to mind:
  • Establish Braidpool as the leading decentralized mining pool and focus on the benefit of decentralization in mining as the core message (which it looks like you primarily do). People should find Braidpool if they look for "decentralized mining".
  • Talk to all the major pools and see if there are any that would shift to decentralization. I am skeptical they would because once power is attained, it is rarely relinquished. Which leads to the next point.
  • Target that long tail of the 2.3% "Other" category that do not want to be part of a huge mining pool. These are likely the more idealogical miners.
  • Talk to the Stratum V2 devs to see if they would support positioning decentralizing mining pools.
  • Talk to the Bitaxe folks and other "nerd miner" hardware mfgs to see if they would support positioning decentralized mining pools with their product. Buyers of these devices are not mercenary because there is no money in it. They are curious, like me, who want to learn more and I speculate that many also run nodes, like I do.
  • Create a territory here on @sn as the central hub for Decentralized Mining communications.
reply
Deep technical stuff here
reply
Amazing. Thanks for sharing
reply
I don’t fully understand it yet, but it seems very well thought out and promising! I’ll reread this and more literature on it
reply