Please describe your proposed solution.
Cryptocurrency projects often require the use of "hot wallets'' to sign wallet transactions necessary for live services, making them vulnerable to private key theft and fraudulent activities by attackers. Traditional hardware wallet devices cannot be used for these purposes, as they require a human-in-the-loop to manually approve and authenticate every transaction. To address this issue, we propose the development of a hardware-based hot wallet that ensures enhanced security and autonomy for cryptocurrency projects, such as cross-chain bridges, side-chains, dexes, and token mints.
For example, a service providing a cross-chain bridge from BTC to ADA maintains wallets on each blockchain. When users provide BTC, the bridge mints an equivalent amount of a "wrapped" BTC token on the Cardano blockchain. Likewise, when users send wrapped BTC to the bridge on the Cardano side, these tokens are "unwrapped", i.e. burned, and the original BTC locked on the Bitcoin chain is sent to the user. This bridge service must maintain "hot wallets" on both blockchains and the dapp's software will automatically sign transactions from these wallets as users utilize the bridge. If an adversary gains access to the server running this service, the wallet keys can be compromised, allowing adversaries to steal all of the BTC being held by the bridge. This isn't a hypothetical scenario; billions of dollars of cryptocurrency has been stolen through leaked hot wallet keys. Protecting the integrity of autonomous transactions is crucial for the success and trustworthiness of cryptocurrency services.
Our solution is to develop a field-programmable gate array (FPGA)-based hardware device that leverages physical unclonable function (PUF) technology and deliberate electrical interface restrictions to prevent attackers from extracting private keys from the device. The hardware hot wallet will differ from traditional hardware wallets by providing continuous and automatic transaction signing once the device owner unlocks it with an authentication code.
A PUF utilizes unique physical properties of a hardware device to generate a one-of-a-kind response to a challenge. In the context of our solution, the PUF is leveraged to securely store a wallet’s key within the device. The primary advantage of using a PUF is that it makes it virtually impossible for an attacker to retrieve the private key from the device, even through sophisticated attacks. By utilizing this unclonable and tamper-resistant mechanism, our solution would ensure a high level of security and protection for the private key, safeguarding it against unauthorized access and potential theft.
In addition to leveraging the PUF for securing the private key, our solution implements an additional layer of security by restricting access to the device itself. To ensure maximum protection, we will employ a restricted UART interface for communication between the hardware device and a host computer. This deliberate choice eliminates any potential vulnerabilities that could arise from complex and exploitable communication protocols, such as Ethernet. The device’s software will only accept a very limited communication protocol and will not allow shell access to the device. By utilizing this basic interface, we effectively minimize the attack surface and make it virtually impossible for an attacker to gain remote access to the hardware.
Key benefits:
- Enhanced security: The use of PUF technology guarantees protection against private key theft, ensuring the integrity of cryptocurrency transactions.
- Autonomous transaction signing: The hardware hot wallet will streamline operations by automatically signing incoming transactions (once authenticated), removing the need to manually sign wallet transactions in order to ensure the security of wallet keys.
- Versatile application space: The hardware-based wallet can be utilized (and customized) for various cryptocurrency services, including cross-chain bridges, side-chains, dexes, and NFT mints. Application-specific firmware can be developed to run within the secure environment of the embedded device.