Protocol Specification¶
Soqucoin is derived from Dogecoin Core 1.14.x with fundamental cryptographic upgrades. The consensus rules maintain Scrypt PoW compatibility with existing ASIC hardware while replacing all signature and privacy primitives with quantum-resistant alternatives.
Key Differences from Dogecoin¶
| Component | Dogecoin | Soqucoin |
|---|---|---|
| Signatures | ECDSA (secp256k1) | ML-DSA-44 (FIPS 204) |
| Address Format | Base58Check | Bech32m |
| Address Hashing | SHA-256 + RIPEMD-160 | BLAKE2b-160 |
| Privacy | None | Lattice-BP++ (opt-in) |
| Batch Verification | None | PAT + LatticeFold+ |
| Stablecoin | None | USDSOQ (native L1) |
| Merge Mining | AuxPoW (parent: LTC) | AuxPoW (parent: LTC) |
| Block Time | 60 seconds | 60 seconds |
Consensus Opcodes¶
Soqucoin extends the script engine with four custom opcodes for post-quantum operations:
| Opcode | Hex | Witness Version | Purpose |
|---|---|---|---|
OP_CHECKPATAGG |
0xfd |
v2 | PAT Merkle commitment verification |
OP_CHECKFOLDPROOF |
0xfc |
v3 | LatticeFold+ batch proof verification |
OP_LATTICEBP_RANGEPROOF |
0xfa |
v4 | Lattice-BP++ range proof verification |
OP_USDSOQ_* |
0xf6-0xf9 |
v5 | USDSOQ authority operations |
All opcodes are dispatched through VerifyScript() → EvalScript() with full witness version routing.
Transaction Format¶
Soqucoin uses SegWit (Segregated Witness) for all transactions. The witness data carries Dilithium signatures instead of ECDSA:
Version | Flag (0001) | Inputs | Outputs | Witness | Locktime
│
┌──────────────┘
├── Dilithium Signature (2,420 bytes)
└── Public Key (1,312 bytes)
Block Structure¶
Standard Bitcoin/Dogecoin block structure with two additions:
- AuxPoW Header: For merge-mined blocks from parent chain (LTC/DOGE)
- PAT Proof: Optional 100-byte aggregated signature proof per block
Network Parameters¶
| Parameter | Stagenet | Regtest |
|---|---|---|
| P2P Port | 44556 | 18444 |
| RPC Port | 44555 | 18332 |
| Address Prefix | ssq1 |
soqrt1 |
| Magic Bytes | 0xfcc1b7dc |
0xfabfb5da |
| Target Spacing | 60 seconds | 60 seconds |
Soft Fork Activation¶
| Feature | Activation Method | Status |
|---|---|---|
| LatticeFold+ (v3) | ALWAYS_ACTIVE |
Active from genesis |
| Lattice-BP++ (v4) | BIP9 | Active on regtest, pending audit for mainnet |
| USDSOQ (v5) | BIP9 | Active on regtest, pending audit for mainnet |
| PAT (v2) | ALWAYS_ACTIVE |
Active from genesis |
Source Code¶
| Component | Location |
|---|---|
| Consensus rules | src/validation.cpp |
| Script engine | src/script/interpreter.cpp |
| Dilithium crypto | src/crypto/dilithium/ |
| PAT aggregation | src/crypto/pat/ |
| LatticeFold+ verifier | src/crypto/latticefold/ |
| Lattice-BP++ | src/crypto/latticebp/ |
| PQ Wallet | src/wallet/pqwallet/ |
Full source: github.com/soqucoin/soqucoin