BTQ Docs

BTQ Core Documentation

The quantum-resistant Bitcoin fork with Dilithium integration

Welcome to BTQ Core

BTQ Core is a quantum-resistant fork of Bitcoin Core that integrates the Dilithium post-quantum cryptographic signature scheme. This makes BTQ transactions secure against future quantum computer attacks.

BTQ uses CRYSTALS-Dilithium, a NIST-standardized post-quantum signature scheme (FIPS 204), providing 128-bit quantum security.

Why Quantum Resistance?

Current Bitcoin uses ECDSA (Elliptic Curve Digital Signature Algorithm) which could be broken by sufficiently powerful quantum computers using Shor's algorithm. BTQ Core replaces this with Dilithium, a lattice-based signature scheme selected by NIST for post-quantum standardization.

Key Differences from Bitcoin

AspectBitcoinBTQ
Signature AlgorithmECDSA (secp256k1)Dilithium2
Public Key Size33 bytes1,312 bytes
Signature Size~71 bytes2,420 bytes
Transaction Size~250 bytes~3,824 bytes
Quantum ResistantNoYes
Default Port83339333
Address Prefix1..., 3..., bc1...X..., qbtc1q..., qbtc1z... (Dilithium P2MR)

Key Features

  • Dilithium Signatures: NIST-standardized quantum-resistant signatures
  • New Script Opcodes: OP_CHECKSIGDILITHIUM for Dilithium verification
  • Wallet Support: Generate, store, and use Dilithium keys
  • Full RPC Interface: Complete API for Dilithium operations
  • Backward Compatible: ECDSA still supported for legacy transactions

Quick Start

# Clone and build
git clone https://github.com/btq-ag/btq-core.git
cd btq-core
./autogen.sh && ./configure && make -j$(nproc)

# Start regtest node
./src/btqd -regtest -daemon

# Create wallet and generate Dilithium address
./src/btq-cli -regtest createwallet "test"
./src/btq-cli -regtest -rpcwallet="test" getnewdilithiumaddress

Documentation

Current Status

PhaseStatusDescription
Phase 1✅ CompleteCore cryptography wrappers
Phase 2✅ CompleteAddress & script system
Phase 3✅ CompleteWallet integration
Phase 4⚠️ PartialTransaction signing & consensus
Phase 5⚠️ PartialNetwork & mempool policy
Phase 6✅ CompleteRPC & user interface

BTQ Core is under active development. Mainnet deployment requires completion of Phase 4 (block validation) work.

RPC Commands

CommandDescription
getnewdilithiumaddressGenerate new Dilithium address
signtransactionwithdilithiumSign transaction with Dilithium
signmessagewithdilithiumSign message with Dilithium
verifydilithiumsignatureVerify Dilithium signature
importdilithiumkeyImport Dilithium private key

Resources

License

BTQ Core is released under the MIT license.

On this page