{"id":50311782,"url":"https://github.com/cmdruid/quantroot","last_synced_at":"2026-05-28T21:30:55.257Z","repository":{"id":349874539,"uuid":"1204315630","full_name":"cmdruid/quantroot","owner":"cmdruid","description":"A very gentle post-quantum upgrade for Bitcoin Taproot.","archived":false,"fork":false,"pushed_at":"2026-04-15T18:24:59.000Z","size":315,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-15T19:35:22.284Z","etag":null,"topics":["bitcoin","post-quantum","quantum","sphincs","taproot"],"latest_commit_sha":null,"homepage":"https://www.quantroot.org","language":"Astro","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cmdruid.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-07T22:35:31.000Z","updated_at":"2026-04-15T18:25:04.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/cmdruid/quantroot","commit_stats":null,"previous_names":["cmdruid/quantroot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cmdruid/quantroot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdruid%2Fquantroot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdruid%2Fquantroot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdruid%2Fquantroot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdruid%2Fquantroot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cmdruid","download_url":"https://codeload.github.com/cmdruid/quantroot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmdruid%2Fquantroot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33627934,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bitcoin","post-quantum","quantum","sphincs","taproot"],"created_at":"2026-05-28T21:30:54.311Z","updated_at":"2026-05-28T21:30:55.250Z","avatar_url":"https://github.com/cmdruid.png","language":"Astro","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quantroot\n\n**Post-Quantum Security for Bitcoin Taproot**\n\nQuantroot is a soft-fork upgrade path that brings [SPHINCS+](https://sphincs.org/) (SLH-DSA) post-quantum signatures to Bitcoin through Taproot — with zero cost today and full protection when you need it.\n\n**Website:** [www.quantroot.org](https://www.quantroot.org) | **Get Started:** [docs/GETTING_STARTED.md](docs/GETTING_STARTED.md)\n\n## How It Works\n\nQuantroot is a **quantum insurance policy** you can deploy today:\n\n1. **Create Taproot outputs** with a hidden hybrid tapleaf. Zero on-chain overhead — your outputs look like ordinary Taproot.\n2. **Spend normally** with fast Schnorr key-path spends (~64 bytes). The hybrid leaf stays hidden.\n3. **If a quantum threat emerges**, the network activates the soft fork. BIP 368 hardens key-path spends; BIP 369 enables SPHINCS+ verification.\n4. **Redeem via the hybrid tapleaf** using both Schnorr and SPHINCS+ signatures. Your funds are protected by hash-based cryptography that doesn't rely on elliptic curves.\n\n## Four Companion BIPs\n\n### Consensus Layer\n\n| BIP | Title | Description |\n|-----|-------|-------------|\n| [368](repos/bips/bip-0368.mediawiki) | Taproot Key-Path Hardening | Requires internal key disclosure via annex, bans NUMS points, closes quantum ECDLP attack on key-path spends |\n| [369](repos/bips/bip-0369.mediawiki) | OP_CHECKSPHINCSVERIFY | Redefines OP_NOP4 for SPHINCS+ signature verification in Tapscript, signatures carried in the Taproot annex |\n\n### Wallet Layer\n\n| BIP | Title | Description |\n|-----|-------|-------------|\n| [395](repos/bips/bip-0395.mediawiki) | Quantum-Insured Extended Keys | Extends BIP 32 with SPHINCS+ key material (qpub/qprv), `qr()` output descriptor, seed-only backup |\n| [377](repos/bips/bip-0377.mediawiki) | PSBT Extensions for SPHINCS+ | PSBT fields for SPHINCS+ pubkeys, signatures, and annex data with two-round signing workflow |\n\n## Quick Start\n\n```bash\nbitcoin-cli createwallet \"quantum\"\nbitcoin-cli createsphincskey\nbitcoin-cli getquantumaddress\nbitcoin-cli exportqpub\nbitcoin-cli listsphincskeys\n```\n\nBoth BIP 368 and BIP 369 are active from block 1 on regtest.\n\n## Running bitcoin-qt\n\nBuild the local Qt binary with:\n\n```bash\nmake build-bitcoin\n```\n\nLaunch on regtest with the repo demo datadir:\n\n```bash\nmake qt-regtest\n```\n\nLaunch on signet with your default user settings:\n\n```bash\nmake qt-signet\n```\n\nFor signet, `bitcoin-qt` uses your normal Bitcoin Core config, typically\n`~/.bitcoin/bitcoin.conf` on Linux. If wallet sends fail with fee estimation\nerrors, enable a fallback fee in the signet section:\n\n```ini\nsignet=1\n\n[signet]\nfallbackfee=0.0001\n```\n\n## Benchmarks\n\n| | Schnorr | SPHINCS+ |\n|---|---------|----------|\n| **Sign** | ~27 µs | ~918 ms |\n| **Verify** | ~27 µs | ~1,756 µs (64x) |\n| **Signature** | 64 bytes (16 vB) | 4,080 bytes (1,020 vB) |\n\nSPHINCS+ uses NIST FIPS 205 SLH-DSA with a custom Bitcoin parameter set at NIST Category 1 (128-bit classical security).\n\n## Test Coverage\n\n| Category | Count |\n|----------|-------|\n| Consensus tests (BIP 368 + 369) | 42 |\n| Wallet unit tests (key, qextkey, descriptor, DB) | 46 |\n| Functional tests (RPCs, PSBT, activation, script-path) | 66 |\n| **Total** | **154** |\n\n## Building from Source\n\n```bash\ncd repos/bitcoin\ncmake -B build \u0026\u0026 cmake --build build -j$(nproc)\n\n# Unit tests\nbuild/bin/test_bitcoin --run_test=sphincskeys_tests,qextkey_tests,qis_descriptor_tests,script_tests\n\n# Functional tests\npython3 test/functional/wallet_sphincs.py --configfile=build/test/config.ini\npython3 test/functional/wallet_sphincs_psbt.py --configfile=build/test/config.ini\npython3 test/functional/wallet_sphincs_activation.py --configfile=build/test/config.ini\npython3 test/functional/wallet_sphincs_scriptpath.py --configfile=build/test/config.ini\n```\n\n## Repository Layout\n\n| Directory | Contents |\n|-----------|----------|\n| `repos/bitcoin` | Bitcoin Core fork (submodule, `quantroot` branch) |\n| `repos/bips` | BIP specifications and test vectors |\n| `docs/` | [Getting started](docs/GETTING_STARTED.md), [architecture](docs/ARCHITECTURE.md), [overview](docs/OVERVIEW.md), [changes](docs/CHANGES.md) |\n| `test/` | [Demo guide](test/DEMO.md), [test overview](test/README.md), automated E2E |\n| `dev/` | Implementation [plans](dev/plans/) and audit [reports](dev/reports/) |\n| `services/` | Docker service definitions |\n\n## License\n\nThis monorepo infrastructure is MIT licensed. The Bitcoin Core fork retains its upstream MIT license. The vendored SLH-DSA library is triple licensed under Apache-2.0 / ISC / MIT. BIP specifications are BSD-3-Clause.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmdruid%2Fquantroot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcmdruid%2Fquantroot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmdruid%2Fquantroot/lists"}