I am not sure whether this is better posted in Protocol Design or here. I generally tend to view Bitcoin first more from an economic lens such that all the technical underpinnings (while very important to get right too!) are more of a necessary side effect of trying to achieve an economic goal of: long lived, self-consistent and decentralized base money for civilization. So I am posting it here.
In that vain, I have been trying to solve the “sats now” vs the “sats later” problem in the most bitcoin-aligned way I can think of. It is a bit of a moonshot, but here is what I have come up with so far. I welcome any feedback.
BMAX
Introduction and Motivation
Bitcoiners like to say “1 sat = 1 sat.” In a narrow, protocol sense, that is true: the rules do not distinguish one satoshi from another. But economically, it is obviously false. A sat you can spend in the next block is not the same good as a sat that is unspendable for ten years. Time, and the ability (or inability) to act in time, is part of what you are holding.
Markets notice what we would sometimes prefer to ignore. Even if Bitcoin were perfectly fungible on‑chain (it is not), the time value of money makes “a future sat” a different economic object from “a present sat.” Today, Bitcoin gives us a very rough expression of this: newly mined coins are timelocked for 100 blocks, so miner rewards are, in effect, 17‑hour zero‑coupon bonds backed by Bitcoin consensus. After that brief delay, all sats become “fungible enough,” and the protocol ceases to care about time as a distinct economic dimension.
The rest of global finance does not stop there. It runs on term structures: 3‑month, 2‑year, 10‑year, 30‑year instruments and their corresponding yields. These imperfect, politically distorted yield curves still perform a real function: they let people compare “1 unit of money now” with “1 unit of money later” in a common language. Long‑lived infrastructure, capital budgeting, insurance, pensions, and even basic corporate planning are all, at bottom, about mapping future cash flows into present decisions via some discount function.
Bitcoin, if it is to be the monetary base for civilization, cannot forever outsource this role to fiat credit systems and central banks.
What is missing is a Bitcoin‑native way to discover a discount curve for sats themselves—a way to price time in Bitcoin terms—without:
- requiring any changes to Bitcoin,
- introducing custodians who issue IOUs,
- relying on oracles, interest‑bearing stablecoins, or fiat yield curves as inputs.
In other words, we want a mechanism that lets the market say, in sats, “this is what 1 BTC delivered in 5 years is worth today”—and we want that mechanism to be as trust‑minimized and Bitcoin‑aligned as possible.
BMAX is an attempt to get as close as we can to that ideal, without touching Bitcoin at all.
At a purely mechanical level, BMAX is “just” a p2pool‑style, proof‑of‑work sharechain that mines Bitcoin blocks. From Bitcoin’s perspective, BMAX is a normal mining pool that:
- produces fully valid block templates,
- sometimes wins the coinbase,
- and splits that coinbase according to its own off‑chain rules.
Inside BMAX, however, we deliberately structure those off‑chain rules to surface what Bitcoin currently hides:
- Shares are perpetual, equity‑like claims on future BMAX‑mined Bitcoin rewards. Each share has a probabilistic chance, via a deterministic random selection (p2share), of receiving a full coinbase when BMAX finds a block.
- Bonds are created by burning shares to enter a FIFO queue that is serviced by future coinbases. When a bond is redeemed, its principal shares are destroyed (and no longer eligible for selection in the random-share mechanism), permanently shrinking share supply.
If you accept that “1 sat now” and “1 sat in ten years” are different economic goods, BMAX is a proposal for letting Bitcoiners price that difference in Bitcoin terms, without asking anything more of Bitcoin than what it already provides.
Abstract
BMAX is a p2pool‑style, proof‑of‑work sharechain that coordinates decentralized Bitcoin mining without any changes to Bitcoin. BMAX issues two instruments—probabilistic equity‑like shares and FIFO queue‑based bonds—that determine how the Bitcoin coinbase is allocated when the pool finds a valid block. A deterministic random selection mechanism (p2share) picks one share and constrains the Bitcoin coinbase: if chosen share is unbonded, its owner receives the full coinbase; if it is bonded, the full coinbase is used to redeem up to M bonds from the head of the queue. Bonds are created by burning unbonded shares and redeemed in FIFO order, burning their principal shares at redemption and making share supply deflationary over time. A difficulty‑style control loop adjusts the share cost of creating new bonds so that the expected time to redeem half the current bond queue tracks a target horizon. The purpose is to let the market discover a Bitcoin‑native term structure for sats funded solely by actual Bitcoin block rewards.
Protocol summary
BMAX nodes are, by definition, also full Bitcoin nodes.
Core state (at sharechain height k)
Difficulties:
- D_{S,k}: sharechain difficulty (in units of 2^{32} hashes).
- D_{B,k}: Bitcoin difficulty (same units), taken from validated Bitcoin headers.
Share supply:
- U_k^*: total unbonded shares outstanding.
- V_k^*: total bonded shares outstanding (principals of all unredeemed bonds).
- S_k^* = U_k^* + V_k^*: total shares outstanding.
- \alpha_k = \dfrac{V_k^*}{S_k^*}: bonded fraction.
Bond queue:
- Q_k: number of outstanding bonds (FIFO).
- Each bond has a principal \pi measured in shares (set at creation).
- M \ge 1: max number of bonds redeemed per redemption event (genesis constant).
- Optional B_{\text{per\_block\_max}}: cap on newly created bonds per sharechain block.
Bitcoin reward:
- R_k: sats paid by the Bitcoin coinbase in a Bitcoin win (subsidy + fees).
Share issuance:
- Per sharechain block, the miner receives newly issued unbonded sharesU_k = c \cdot D_{S,k}where c is a genesis constant.
Fees:
- Sharechain transaction fees are paid in unbonded shares and collected by sharechain miners.
p2share: deterministic random selection on Bitcoin wins
When a sharechain block at height k is also a Bitcoin‑valid block:
-
All nodes deterministically compute a selected share index
q = \text{sha256}(\text{"q selector"} \,\|\, H_{k-1}) \bmod S_kwhere H_{k-1} is the previous sharechain block hash and the state used for S_k is fixed by consensus (e.g., “pre‑block state”).
-
Coinbase allocation rule:
- If the selected share is unbonded: pay the full R_k to that share’s owner.
- If the selected share is bonded: treat this win as a redemption event and allocate the full R_k to the bond queue as follows:
- Let m = \min(M, Q_k).
- Redeem the first m bonds in FIFO order.
- Each redeemed bond receives\frac{R_k}{m} \text{ sats.}
- For each redeemed bond with principal \pi_{\text{bond}}, burn its principal shares (these shares become ineligible for future random selection):V_{k^+}^* = V_k^* - \pi_{\text{bond}},\quad S_{k^+} = S_k - \pi_{\text{bond}}.
Bond creation (bonding)
To create a bond at sharechain block k, the creator pays a bonding price \pi_k in unbonded shares.
Consensus effects per bond created:
- U_{k^+}^* = U_k^* - \pi_k
- V_{k^+}^* = V_k^* + \pi_k
- Q_{k^+} = Q_k + 1
All bonds created within the same sharechain block use the same \pi_k. Optionally enforce B_{\text{per\_block\_max}}.
Control loop: dynamic bonding price \pi_k
Goal: steer the expected number of sharechain blocks needed to redeem half of the current bond queue toward a target T_{\text{target}} > 0.
Expected half‑clear time T_k
Define:
-
Expected sharechain blocks per Bitcoin win:
\theta_k = \frac{D_{B,k}}{D_{S,k}}. -
Redemption events needed to redeem half the queue (by count):
N_k^{(1/2)} = \begin{cases} 0, & Q_k = 0,\\[4pt] \left\lceil \dfrac{Q_k}{2M} \right\rceil, & Q_k > 0. \end{cases} -
A Bitcoin win is a redemption event with probability \alpha_k (a uniformly selected share is bonded with probability \alpha_k).
Thus:
Update rule for \pi_k
Genesis parameters:
- T_{\text{target}} > 0: target expected half‑clear time (in sharechain blocks).
- \phi_{\text{up}} \ge 1: max multiplicative increase per block.
- \phi_{\text{down}} \in (0,1]: max multiplicative decrease per block.
- \pi_{\text{init}} \ge 1: initial bond price (shares per bond).
Per sharechain block k>0:
-
Compute
r_k = \frac{T_k}{T_{\text{target}}}. -
Clamp
f_k = \begin{cases} \phi_{\text{down}}, & r_k < \phi_{\text{down}},\\[4pt] r_k, & \phi_{\text{down}} \le r_k \le \phi_{\text{up}},\\[4pt] \phi_{\text{up}}, & r_k > \phi_{\text{up}}. \end{cases} -
Update
\pi_k = \pi_{k-1} \cdot f_k. -
Round deterministically to an integer number of shares and enforce bounds:
\pi_k = \min\left( U_k^*,\; \max\left( 1,\; \left\lfloor \pi_k \right\rceil \right) \right).
Properties:
- \pi_k \ge 1 and \pi_k \le U_k^*.
- Per‑block multiplicative change is bounded (except where clipped by 1 or U_k^*):\phi_{\text{down}} \le \frac{\pi_k}{\pi_{k-1}} \le \phi_{\text{up}}.
- If Q_k = 0, then T_k = 0 and the rule pushes \pi_k down (bounded by \phi_{\text{down}}) toward 1.
Security notes
BMAX is an external sharechain, so deep sharechain reorgs must be made expensive and visible.
- Bitcoin anchoring (optional but recommended): participants periodically commit sharechain headers into Bitcoin via compact timestamp commitments. Nodes treat history before the most recent sufficiently confirmed anchor as final for practical purposes (reject reorgs that would cross it).
- BMAX‑mined Bitcoin blocks as checkpoints: when BMAX wins a Bitcoin block, the coinbase outputs encode a specific allocation consistent with the sharechain state. Rewriting that allocation would require rewriting Bitcoin, which is outside BMAX’s threat model.
Economic interpretation
The intended economics of BMAX rely on several layers working well together. The protocol itself only defines shares, bonds, and the control loop; markets decide prices.
- Unbonded shares \approx solo mining: perpetual probabilistic claim. When selected on a Bitcoin win, they receive the full R_k.
- Bonds: created by burning \pi_k shares to enter a FIFO queue. When a bonded share is selected on a Bitcoin win, the full R_k is paid to redeem up to M bonds; redeemed bonds burn their principal shares.
- Term structure: the market prices shares and bonds against BTC; the protocol’s only “knob” is \pi_k, adjusted mechanically to keep the bond queue’s expected half‑clear time near T_{\text{target}}, using only D_{B,k}, D_{S,k}, Q_k, and \alpha_k.
While such markets cannot be guaranteed by protocol design alone, both Bitcoin and BMAX are permissionless and L2-capable (i.e. Lightning) networks, so it is plausible that atomic swap markets will emerge to support trading between BTC, shares, and bonds.
Conclusion
If Bitcoin is going to stand alone as global base money, something like this—Bitcoin‑native time pricing—needs to exist somewhere. BMAX is one concrete, implementable proposal for how to get there, without asking the base layer to change at all.