User Activated Sidechains
sidestr is a way to run a chain beside Bitcoin or its BLAKE2b fork: Bitcoin's transaction rules, blocks that are valid because they are signed, no subsidy, and every coin a coin locked on the parent with a refund path. The rules are documents with activation heights, and a node applies one because its operator adopted it.
Draft 0.0.1, 15 September 2026. Three chains beside the BLAKE2b testnet4, 150 test coins pegged, one signer each, validated by the same engine that runs datstr. Next: a browser validator, a public transaction endpoint, peg-in claims, a faucet.
A peg-in is a taproot output on the parent whose key path is the peg holders' and whose script path refunds the pegger after a timelock. The sidechain mints exactly what is pegged and nothing else. A dead sidechain costs time, not coins.
Bitcoin's rules with one added and one removed: a block must carry a signature satisfying the chain's challenge, in the shape BIP 325 gave signet, and the subsidy is zero. Fees go to the signer.
A rule change is a signed document with an activation height. A node follows the keys its operator chose, shows the text before applying anything new, and refuses what it did not adopt. Signers can stall a chain; they cannot change it.
Validators check every rule and trust the signers for which pegs exist and for ordering. For coins with no value.
Validators also hold the parent's headers and peg outputs, and refuse a peg-in claim they cannot verify.
Several independent signers, a rotation, and a path back to the parent if they all vanish. Liveness is the only thing trusted.
A parent may be a siding. Coins flow down by peg-in and up by peg-out; the parent's blocks are the child's clock, and trust compounds with depth.
A siding is an overlay on the same engine that validates Bitcoin and its BLAKE2b fork in a tab: the network beside its parent, and one rule for the block signature, evaluated by the engine's own script interpreter. A validator needs no key, no hash and no permission, syncs from any mirror, and agrees with the producer at every height or says exactly where it stopped. Genesis is deterministic from the chain document: the same file gives the same block 0, byte for byte.
Blocks are receipts for transactions. A producer idles when it has nothing to include and keeps a heartbeat so timelocks keep moving. A chain is a JSON document and a key, which makes a siding cheap enough to make one per project, per agent, or per afternoon.
| chain | parent | pegs | prefix | genesis |
|---|---|---|---|---|
sidestr:txbt4-siding | Knots BLAKE2b testnet4 | 4 × 25 tBTC | ts | 0864df37…987f |
sidestr:aatest | Knots BLAKE2b testnet4 | 25 tBTC | ta | 63993fae…7a7e |
sidestr:aastage | Knots BLAKE2b testnet4 | 25 tBTC | tg | 580c4ad4…dff6 |