Yesterday, the Human Rights Foundation announced a wave of new grants for a variety of projects. I want to focus on a specific project and grant: Braidpool and the grant Kulbreet Singh He received to continue his work on its actual implementation.
The past few weeks have been dominated by discussions around the recent launch of Ocean, and their decision to filter out inscriptions and other types of transactions that they consider to be spam. Talk about liquidating their transactions completely dominated the discussion, obscuring the topic of improving decentralization in the mining ecosystem.
Hopefully, Braidpool will serve as a reset for the conversation on this topic. While Ocean is a centralized mining pool that aims to decentralize parts of its operations, i.e. building block blocks and mining payments (at least above an economically feasible threshold), Braidpool is a fully decentralized mining pool protocol. No aspect of the complex was left to a central entity in its design.
A pool traditionally does three main things:
- They build block templates that miners mine
- They divide the work, i.e. the nonce numbers each individual miner attempts to hash the block die with in order to find a valid block, and track who has found shares that meet the stake's difficulty requirements to earn a portion of the next coinbase prize.
- They save the bounty payments and distribute them to individual miners
Braidpool handles all three of these things in a distributed way.
- In Braidpool, each individual hasher is required to run its own full node, and in the process create its own block templates.
- To handle the process of tracking who did the work, Braidpool implements its own blockchain consisting of “weak blocks.” These weak blocks are essentially perfectly valid Bitcoin blocks that Braidpool members mine, except that they do not meet the mainnet's target difficulty requirements. They achieve a less difficult goal set within Braidpool. These vulnerable blocks take on the role of arrows in the chart, allowing individual miners to track who contributed how much work to the group's effort to find the block.
- Braidpool, like Ocean, aims to handle the distribution of mining rewards among miners in a non-custodial way, but they take a very different approach to Ocean. This aspect of the protocol has evolved a lot since my last article on it. Instead of integrating with the Lightning Center to facilitate atomic payouts to miners when a block is found with a coinbase that pays to the center, they have moved to a multisig threshold-based model using FROST multisig, an m-of-n Schnorr scheme. All miners in the pool send the coinbase reward to a FROST address consisting of all individual miners with the required 2/3 signing majority, and after finding a block, they pre-sign a transaction that pays the individual miners for their contribution. Periodically, the pool takes all of the previous spendable coinbase outputs, condenses them into a single UTXO, and then updates the transaction tree that pays each miner their proportional profits.
One of the issues with Braidpool will be the same one that plagued Ocean initially: the boot process. However, unlike Ocean, there is no “Braidpool Company” to support the initial period of fickle luck and uncertainty in finding the block. This begs the question, who goes first? Any actual Braidpool must quickly grow to a large enough portion of the network to smooth out fluctuations in luck, or miners who stay with a pool that doesn't achieve that growth will simply end up losing their money. Also, since there is no “model provider of last resort” to fall back on, as Ocean will be once Stratum v2 is integrated, miners He should Run their own nodes. This requires a smooth and intuitive user experience so as not to alienate miners from participating in the protocol. As an open source project rather than a company, the user experience can be refined and improved over the next year as it is developed.
The plan the protocol creators had in place to initially try to get the pool working is quite simple: push the risks of mining with Braidpool away from the actual miners and into the financial market makers. The fact that one of the outputs in the off-chain transactions that distribute funds between miners can be assigned to any address opens the door to people purchasing the right to have these mining reward outputs committed to their addresses. This gives the ability to build futures, options or other financial contracts in addition to the mining process. Such tools give miners participating in Braidpool a way to mitigate the variance risks associated with bootstrapping a new pool.
Going back to the perimeter for a moment, they have made a very significant contribution in this space in trying to pioneer architectural changes in the mining ecosystem to counter prevailing centralizing pressures. However, it is undeniable that they do not see any continued growth, and growth is a necessity for them to have a real impact on the issues they were founded to address.
Hopefully, Braidpool will be an alternative path to addressing these issues without making the controversial decisions that led Ocean to sabotage its own efforts. Keep your eyes open over the next few days for a deeper look at Braidpool at the protocol level.