This project implements a Hardware Security Module (HSM) simulation system for secure cryptocurrency transaction signing and validation. The system consists of two main components:
- HSM Simulator: A secure environment that generates and manages cryptographic keys for signing Bitcoin and Ethereum (EVM) transactions.
- Data Validator: A service that interacts with the HSM Simulator to validate and process cryptocurrency transactions.
The overall flow of the system is shown below:
- The HSM Simulator starts, generating new private keys and accounts for both Bitcoin (Taproot) and Ethereum (EVM).
- The Data Validator interacts with the HSM to sign transactions and submit them on-chain.
- The system supports multiple chains, including Bitcoin and EVM-compatible chains.
- Multi-chain Support: Bitcoin and EVM-compatible chains
- Secure Key Management: Private keys are securely managed within the HSM
- Transaction Validation: Validates transaction data before signing
- Smart Contract Integration: EVM account contract for secure transaction execution
- Admin Key Recovery: Multi-signature admin key recovery mechanism
- The Data Validator sends signing requests to the HSM Simulator via NATS messaging
- The HSM Simulator verifies the request, signs the transaction, and returns the signature
- The Data Validator submits the signed transaction to the blockchain
For detailed documentation on each component, please refer to:
To set up and run the complete system, follow these steps:
- Set up the HSM Simulator by following its documentation
- Configure the Data Validator according to its documentation
- Start both services to enable secure transaction signing and validation
For more details, refer to the individual service documentation inside their respective folders.