Skip to content
This repository was archived by the owner on May 2, 2025. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions overview.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
# What is Braidpool?

Braidpool is a decentralized mining pool for bitcoin. It is a short-lived DAG-based blockchain solely for the purpose of producing bitcoin blocks. It decentralizes *share accounting* and *payout*, in addition to transaction selection.
Braidpool is a decentralized mining pool for bitcoin. It is a short-lived Directed Acyclic Graph based blockchain (is it a blockchain or layer 2?) solely for the purpose of producing bitcoin blocks. It decentralizes *share accounting* and *payout*, in addition to transaction selection.

# Why?

Bitcoin's long block time (10 minutes) introduces revenue variance for miners that can only be overcome by being a larger and larger miner. For this reason Mining Pools have come into existence to pool hashrate from different miners to reduce their variance. This directly impacts the decentralization of the bitcoin network since pools want to maximize their hashrate to minimize their variance, but cannot get bigger than 51% or they are perceived as an attack risk on Bitcoin. A centralized pool "looks like" an individual miner with respect to the Bitcoin network.
Bitcoin's long block time (10 minutes) introduces revenue variance for miners that can only be overcome by being a larger and larger miner. For this reason Mining Pools have come into existence to pool hashrate from different miners to reduce their variance and increase their chances of winning blocks. This directly impacts the decentralization of the bitcoin network since pools want to maximize their hashrate to minimize their variance and increase chances, but cannot get bigger than 51% or they are perceived as an attack risk on Bitcoin. A centralized pool "looks like" (looks like or actually is?) an individual miner with respect to the Bitcoin network.

Braidpool aims to decouple the problems of transaction selection, variance reduction, device monitoring, and mining payout in order to enhance the businesses of both pools and individual miners.
Braidpool aims to decouple the problems of transaction selection, variance risk, device monitoring, and mining payout in order to enhance the businesses of both pools and individual miners.

# What does Braidpool mean for existing pools?

Existing pools can run *on top* of Braidpool at no cost to them (Braidpool will be zero-fee) and we encourage them to do so. Doing this allows pools to decouple themselves from two unwinnable games:

**Variance reduction**:
Pools can only reduce revenue variance by being big, but being big makes them an attack risk to a decentralized network, and a single point of control for hostile governments. The 51% attack risk still exists but is transferred to Briadpool itself. By having many miners acting individually in Braidpool instead of the pool appearing as one big miner, the risk of a 51% is substantially reduced. It would be safe for all miners to be running on top of Braidpool, as long as no single miner has more than 51% of the hashrate. It's also safe for a buyer of shares to buy more than 51% of the shares without becoming a risk to decentralization.
Pools can only reduce revenue variance by being big, but being big makes them an attack risk to a decentralized network, and a single point of control for hostile governments. The 51% attack risk still exists but is transferred to Briadpool itself. By having many miners acting individually in Braidpool instead of the pool appearing (acting?) as one big miner, the risk of a 51% is substantially reduced. It would be safer if all miners operated on top of Braidpool, as long as no single miner has more than 51% of the hashrate. It's also safe for a buyer of shares to buy more than 51% of the shares without becoming a risk to decentralization.

**Transaction selection**:
Pools are commonly accused of censoring transactions and constantly fight a PR battle over it. By leaving this responsibility to individual miners, transaction selection is decentralized. Block template construction is not outsourced as it is on Ethereum, which has resulted in more centralization around MEV-boosting traders and "compliant" blocks which are antithetical to Bitcoin.

**By running on top of Braidpool, pools can get out of the above unwinnable games and focus on the other aspects of their business:**

**Buying shares**:
Existing pools basicaly buy shares in exchange for Bitcoin. Because Braidpool only pays out every 2 weeks, pools can offer miners a faster payout method by buying their shares in exchange for BTC on-chain or in Lightning channels. This is technically a [Forward Contract](https://www.investopedia.com/terms/f/forwardcontract.asp). More complex instruments such as options can be built on top of it, and enable on the Braidpool chain by the ability to send your shares to the address of your pool counterparty. Braidpool is not a Decentralized Exchange and this kind of trading will have to happen privately, on existing exchanges, or over-the-counter (OTC).

Existing pools (Braidpools?) basicaly buy shares in exchange for Bitcoin with no mark up or fee. Shares are measured pari-pasu with the amount of Bitcoin exchanged. Because Braidpool only pays out every 2 weeks, pools can offer miners a faster payout method by buying their shares in exchange for BTC on-chain or in Lightning channels. This is technically a [Forward Contract](https://www.investopedia.com/terms/f/forwardcontract.asp). More complex instruments such as options can be built on top of it, and enable on the Braidpool chain by the ability to send your shares to the address of your pool counterparty. Braidpool is not a Decentralized Exchange and this kind of trading is outside the scope of Braidpool.
**Risk Management**:
Pools take a risk-on position with respect to the number of blocks the pool will win and the fees in those blocks. This is a duty taken on by hedge funds and market makers in other industries, and is accompanied by careful analysis of on-chain usage and expected changes in hashrate due to new mining devices or new facilities coming online. Miners outsource this responsibility in the [PPS model](https://medium.com/luxor/why-should-you-choose-a-pps-pool-5a71ee574478) and pools can continue to provide this service by running on Braidpool without creating a 51% attack risk. The PPS model requires a source of funds on the part of the pool and pools are not simply aggregators but are a financial counterparty. Diversifying this responsibility allows pools to specalize into legal jurisdictions while recognizing the financial nature of this part of their business.

Expand All @@ -46,13 +46,13 @@ An example of a more comprehensive contract that could be created would be a lon

Braidpool is a Directed Acyclic Graph (DAG) of "beads" rather than a blockchain of "blocks". All this really means is that each bead can have multiple parents, and the graph can have diamonds or other higher-order graph structures within it. This is done to overcome the orphan/stale block problem in Bitcoin, while enabling much faster bead times (we estimate about 1000x faster).

These beads are "shares" and every time a miner wins one he adds an entry into the decentralized share accounting ledger that is Braidpool's UTXO set. Every bead could be a bitcoin full bitcion block had it met Bitcoin's difficulty target, but Braidpool has a dynamic difficulty target that is around 1000x easier to hit, resulting in 1000 times more beads than Bitcoin blocks. At the end of the 2016-block difficulty window, all shares are automatically paid out according to the consensus rules of Braidpool, which enforce the Full Proportional payout algorithm.
These beads are "shares" and every time a miner wins one he adds an entry into the decentralized share accounting ledger that is Braidpool's UTXO set. Every bead could be a full bitcion block had it met Bitcoin's difficulty target, but Braidpool has a dynamic difficulty target that is around 1000x easier to hit, resulting in 1000 times more beads than Bitcoin blocks. At the end of the 2016-block difficulty window, all shares are automatically paid out according to the consensus rules of Braidpool, which enforce the Full Proportional payout algorithm.

Custody of accumulated coinbase rewards and fees is performed by a large multi-sig among miners who have recently mined blocks using the [FROST Schnorr signature algorithm](https://glossary.blockstream.com/frost/). Consensus rules on the network ensure that only a payout properly paying all miners can be signed and no individual miner or small group of colluding miners can steal the rewards.

# Current Status and How To Contribute

Braidpool is a nascent project written in Rust. We have published a spec and have a github which currently connects to peers and bitcoind. If any of the above features excite you, it's a great project to get in on the ground floor of a brand new blockchain that is *not* a shitcoin. No premine, no ICO, no BS, and with real utility.
Braidpool is a nascent project written in Rust. We have published a spec and have a github which currently connects to peers and bitcoind. If any of the above features excite you, it's a great project to get in on the ground floor of a brand new blockchain (blockchain or layer 2?) that is *not* a shitcoin. No premine, no ICO, no BS, and with real utility.

We are taking donations at address bcXXXXX and will distribute any received funds to contributors using a bounty and project system.

Expand Down