Tendermint KMS
Using Tendermint KMS for BitNet Validator Security
Tendermint KMS (Key Management System) allows BitNet validators to separate key management from their core nodes. It improves validator security by protecting keys against compromise, reducing the risk of double-signing, and supporting hardware security modules (HSMs) such as Ledger or YubiHSM.
Benefits of Tendermint KMS
Hardware or software-based double-signing protection
Support for secure devices (e.g., Ledger, YubiHSM 2)
Defense-in-depth through physical separation of the signing process
Secure centralized key signing across multiple validators or BitNet zones
Prerequisites for Installing KMS
Install the following dependencies:
Install Rust:
Compiling Tendermint KMS from Source
Clone the repository and build the binary:
For YubiHSM support, replace --features=ledger
with --features=yubihsm
.
This creates the tmkms
binary at:
KMS Configuration with Ledger Devices
Ledger requirements:
Ledger Nano X or S
Ledger Live installed
Tendermint Validator App (Developer Mode)
Enable Developer Mode in Ledger Live and install the Tendermint App.
Create a config file:
Start the key manager:
Connecting BitNet Node to KMS
Edit config.toml
in your BitNet node to enable external key signing:
Start your BitNet validator node:
Once launched, the Ledger device will request confirmation before signing messages. If confirmed, the KMS will automatically handle signature requests securely.
Final Note on KMS Security
These instructions serve as a starter guide. For production, validators must fully evaluate the security implications of KMS usage.
The "TEST" message on the Ledger device screen is shown only in pre-release firmware. It should not appear once the Tendermint app is officially published.
Last updated