Suave MPC
Threshold secret sharing in SUAVE chain for signing key management
Screenshots



Problem Statement
SUAVE trusted execution environment is used to coordinate threshold secret sharing, where a user's signing key is split into multiple shares and stored in different SUAVE nodes. Users can then submit transaction calldata, where the signing key is reconstructed inside SUAVE to sign the transaction calldata. The resulting signed transaction can be submitted to other chains. As such, the user does not need to manually manage multiple keys on different chains.
Solution
We primarily use Flashbots SUAVE for this project. The Shamir secret sharing library is written in Solidity, and the threshold secret sharing is also coordinated in smart contracts. We use suave-std library to store and retrieve private data (key share) in the confidential data store of SUAVE's node. We also use Typescript and Bun to submit transactions to the SUAVE chain.
Hackathon
ETHGlobal London
2024
Prizes
- 🏆
User security enhancements
Nethermind
- 🏆
Most Unique Offchain App
Flashbots
Contributors
- eerkaijun
24 contributions