π Horcrux
Last updated
Last updated
Horcrux is a distributed signing tool that splits the validator's private key into multiple parts, ensuring its security. This approach prevents key compromise even if one part is accessed.
Download and install Horcrux:
Go to the official .
Download the latest version for your system:
Extract the archive:
Verify the installation:
Create a configuration file:
This will create a basic configuration file at ~/.horcrux/config.yaml
.
Horcrux requires at least two servers (three or more are recommended) to split the key. Setup involves:
Horcrux servers for distributed signing.
Validator node to interact with the blockchain network.
Ensure the following:
SSH access and server setup.
Install Horcrux on each server.
Configure firewalls to allow communication between servers on the Horcrux ports.
Time synchronization: Make sure all servers use NTP for synchronized time.
Generate a shared validator key: Copy your validator's private key to one of the Horcrux servers and run:
Parameters:
--output-shares 3
: Number of parts the key will be split into.
--threshold 2
: Minimum number of parts required for signing.
Distribute keys across servers: Copy the generated files to other servers:
Synchronize configuration: Ensure the config.yaml
file is identical on all servers.
Create a service file: On each server, create a file at /etc/systemd/system/horcrux.service
:
Start and check the service:
Update the validator's configuration file: In the config.toml
file of your validator node, specify the remote Horcrux address for signing:
Restart the validator:
Check connectivity: Ensure the validator node successfully connects to the Horcrux servers.
Test signing: Verify transactions are signed correctly by creating a test transaction on the network.
Setup monitoring: Use tools like Prometheus and Grafana to monitor the validator and Horcrux servers.
Isolate Horcrux servers: Restrict access to only the validator node.
Keep software updated: Regularly update Horcrux and the operating systems.
Backup configuration: Store copies of the configuration and key shares in a secure location.