Built a proof of concept of Bitcoin vaults to showcase CTV & CSFS on Mutinynet signet. Basic vault: Funds locked to a P2TR output with a single leaf CTV script committing to a trigger tx template. Trigger moves to a conditional P2TR: IF branch requires CSV delay + hot key sig; ELSE is CTV to cold address (immediate, no sig). NUMS internal key forces script spends. Hybrid vault extends to two leaves: One for CTV path (same as basic). Second for CSFS: Verifies a Schnorr sig over a delegation message (e.g., "EMERGENCY_DELEGATION:AMOUNT=...:RECIPIENT=...:EXPIRY=...:VAULT=...") from treasurer key, allowing direct spend to recipient (escape hatch). Demo flow 1: Cold clawback via CTV. Fund vault P2TR. Broadcast trigger (satisfies CTV from vault). Then broadcast cold tx from trigger (ELSE branch, satisfies CTV to cold). No delay. Works as emergency response if trigger detected (e.g., hot key compromise). Demo flow 2: Delegation via CSFS. Treasurer signs message authorizing ops team to spend X sats to Y by Z block (though the amount and other dynamic transaction params are not enforced in the demo, would require OP_AMOUNT, might be possible forcing the spender to provide the transaction data in the witness, check the signature of the tx data with CSFS, and then introspect the transaction elements we want like the amount, but not sure the parsing / splitting of the transaction elements would be practical). Spend vault directly via CSFS leaf: Witness includes sig, message hash, treasurer pubkey, script, control. Bypasses CTV/timelock for authorized emergencies.
Running Bitcoin ZK Knots, baby! We've successfully run a POC verifying a STARK proof of Bitcoin's mainnet block #1 inside a modified Bitcoin Knots client. The proof validates critical consensus rules: - Timestamp - Chain difficulty - Block difficulty - Proof of Work Here’s the technical flow: - A Cairo program defines the block header consensus rules & generates the execution trace: - The STWO prover generates the STARK proof from the trace: - A modified ProcessNewBlockHeaders function in Bitcoin Knots performs the proof verification: The main purpose of this POC was to test the integration of our Rust-based proving stack into the C++ codebase. The ultimate vision? To improve Initial Block Download (IBD) dramatically by allowing the entire chain's validity to be verified with a single recursive proof. Once Raito is fully equipped with recursive proving and strong performance, we'll be back to implement a full, real-world IBD with ZK verification enabled. Stay tuned! Follow our StarkWare Bitcoin Github for updates:
Decentralized mining on Bitcoin is an important area. We've developed a prototype within Stratum v2 that leverages STARK proofs to achieve a more trustless system and better preserve the strategies of individual miners. Our demo shows the individual miner (JD client) generating a STARK proof for the validity of the coinbase transaction and the total fees of the block template, all without disclosing the list of transactions. The JD server can then verify this STARK proof, confirming the block template's validity and the claimed sum of fees, without gaining any knowledge about the specific transactions. This also provides an advantage for mining pools from a regulatory perspective due to plausible deniability, which in turn improves the network's censorship resistance. While this is currently a proof of concept, our goal is to extend it to include full transaction validity in the future. We're keen to collaborate with teams working on decentralized mining and will also be exploring this with Datum. #Bitcoin #DecentralizedMining #StratumV2 #Datum #STARKs #ZeroKnowledgeProof