Proof-of-Work
Tidecoin uses a two-phase proof-of-work. Phase 1 is YespowerTIDE (N=2048, r=8), a memory-hard algorithm from the yespower family optimized for CPU L2 cache access patterns. Phase 2 activates with AuxPoW: Tidecoin accepts scrypt solutions from Litecoin’s parent chain (chain ID 8), inheriting Litecoin’s established hashrate.
This page is the protocol-level proof-of-work overview. Mining setup belongs in Mining; AuxPoW structure belongs in AuxPoW.
Activation by network
| Network | Pre-AuxPoW phase | Post-AuxPoW phase |
|---|---|---|
| Mainnet | Active | Built, not active while AuxPoW is disabled. |
| Testnet | Blocks before height 1000 | Active from height 1000. |
| Regtest | Not the default phase | Active from genesis. |
Phase 1: YespowerTIDE
Before AuxPoW activation, Tidecoin validates block work with the Tidecoin YespowerTIDE hash. The design goal of the launch phase was broad participation and memory-hard standalone mining during initial distribution.
Consensus and wallet-facing docs should treat this as the current mainnet phase, not as the long-term mining integration target. Current mining integration work is centered on scrypt merged mining through AuxPoW.
Phase 2: scrypt through AuxPoW
At AuxPoW activation height, UseScryptPoW(params, height) becomes true and
Tidecoin validates block work using the scrypt proof carried by the parent
AuxPoW header. The parent chain does not need to understand Tidecoin; Tidecoin
verifies the AuxPoW commitment and parent proof.
AuxPoW activation simultaneously gates the broader post-AuxPoW ruleset:
| Rule area | Before AuxPoW | At and after AuxPoW |
|---|---|---|
| PoW hash | YespowerTIDE | Scrypt parent proof through AuxPoW |
| Mining model | Standalone Tidecoin mining | Merged mining |
| Signature schemes | Falcon-512 only | Falcon-512, Falcon-1024, ML-DSA-44/65/87 |
| Witness/script | Existing witness rules | Witness v1 / P2WSH-512 and OP_SHA512 enabled |
| PQ verification | Legacy-compatible Falcon-512 mode | Strict PQ verification flags enabled |
Difficulty adjustment
| Parameter | Pre-AuxPoW | Post-AuxPoW |
|---|---|---|
| Target block time | 60 seconds | 60 seconds |
| Retarget interval | 7200 blocks, about 5 days | Every block |
| Method | Periodic legacy retarget | Averaging-window retarget using median time past |
| Averaging window | Not used | 17 blocks |
| Max adjustment down | Period clamp | 32 percent |
| Max adjustment up | Period clamp | 16 percent |
| Mainnet min-difficulty blocks | Disabled | Disabled |
The post-AuxPoW retarget path averages recent targets over a 17-block window and uses median time past to reduce timestamp manipulation.
Quantum-resistance rationale
The long-term merged-mining phase uses scrypt because memory-hard functions are less friendly to clean Grover-oracle construction than stateless hashes. Scrypt requires a scratchpad and data-dependent memory reads; a quantum oracle would need to represent and query that memory coherently, making the attack model far less direct than SHA-256d.
This is a security rationale, not a claim that proof-of-work alone solves every network security problem. Live security still depends on active hashrate, miner participation, pool behavior, network connectivity, and economic incentives.
Source of truth
| Source | What it defines |
|---|---|
src/pow.cpp | PoW hash switch, retarget behavior, target checks. |
src/kernel/chainparams.cpp | Activation heights and PoW parameters per network. |
src/crypto/yespower/tidecoin_pow.* | YespowerTIDE hash implementation. |
src/auxpow.* | AuxPoW proof structure and checks. |
See also: AuxPoW, Mining / Merged Mining, Mining / Miner Software, Security Analysis.