About Testnet T3
The fourth testnet of Doge Protocol, codenamed as T3 was released on Feb 22nd, 2023 (the genesis block was created a few days before this). This blockchain features hybrid post-quantum cryptography and adds on to existing features like Smart Contract and Token support. This blockchain node clients are available for download .
Hybrid Post Quantum Cryptography
T3 uses the Hybrid PQC digital signature algorithm to secure accounts. This asymmetric cryptography scheme uses a hybrid Falcon-ed25519 combo for signing transactions and securing wallets. Falcon is a digital signature scheme that has been standardized by NIST while EdDSA (ed25519) has been selected Feb 2023 by NIST for inclusion in the FIPS 186-5 standard.
It is preferable to use a hybrid signature scheme that uses two crypto schemes behind the scenes: a PQC scheme and a classical scheme (EdDSA). This hybrid model is required to provide a hedge against Lattice based cryptography schemes such as Falcon getting broken on classical computers in the interim.
T3 uses Kyber for encrypting communication traffic. Kyber is a post quantum cryptograpy key establishment algorithm. Prior testnets used NTRU HRSS while T3 switches to the NIST standardized Kyber. The inter-node communication uses a model in which the final client and server encryption keys are derived similar to TLS as detailed in RFC 8446. Kyber is used for key exchange and the key material thus derived is used as input to HMAC HKDF functions (RFC 5869).
Proof of Stake
As with Testnet T2, part 1 of the implementation proof-of-stake consensus has been added, comprising of staking deposits, withdrawals and block rewards. Subsequent testnet will release the full proof-of-stake features.
The following code changes have been made for Testnet T3:
In particular, the go-dp blockchain node client has been modularized in a way that changing a cryptography scheme is trivial. This is a drastic improvement from the original codebase in Ethereum (geth) where cryptography primitives, variables and magic numbers were hardcoded all over the place.
Prior versions of Testnet used a modified version of the liboqs library, but T3 uses the original liboqs library provided by the Open Quantum Safe project.