Testnet T0
The following major changes have been made to the Ethereum blockchain node client (GETH).
Account Security
Accounts are secure using Falcon 512 instead of using Elliptic Curve Cryptography. Falcon is a 3rd round final candidate in the NIST post quantum program.
UDP Discovery Protocol
The Ethereum UDP discovery protocol has been changed to accommodate larger discovery protocol packets. Since there is a limit on the MTU size that can be transmitted over the internet, a Forward Error Correction protocol using Reed Solomon codes has been incorporated. This protocol will split larger UDP packets and send them with error correction codes. It will retransmit the packets if required. The packets are merged back at the application layer. This is made possible thanks to the KCP UDP library.
Transport Protocol
RLPX is the Ethereum’s wire transport protocol for intern-node communication. The RLPX communication protocol over TCP has been changed completely to use NTRU HRSS for quantum resistance key exchange, in place of ECIES. ECIES uses elliptic curve cryptography which is vulnerable to quantum computers. The handshake of this protocol has been updated to follow the TLS spec defined in RFC 8446 closely. It uses HMAC KKDF to create cryptographically strong secret keys used for encryption, from the keys exchange using the post quantum cryptography scheme NTRU HRSS. One key difference from TLS is that instead of exchange certificates, the digital signatures of transcripts are used to verify the other node’s account key (which uses Falcon). A follow-up post will detail this hybrid handshake mechanism for post quantum communication. The code has also been modular to separate the serialization scheme, transport scheme and the handshake schemes.
Block Explorer
A Block Explorer has been created for Quantum Coin, as part of the first testnet release. This Block Explorer is available at www.dpscan.app
This Block Explorer features functionality such as ability to see block list, details, transaction list of blocks and accounts, account balances and more. A simple search option for blocks, transactions and accounts is also made available. Functionality will be added incrementally to this Block Explorer. It will also be made available eventually in mobile apps.