Introduction

The mantra 'Not your keys, not your coins' rings true for anyone delving into the realm of cryptocurrencies. It’s almost law - hand over the keys to your crypto kingdom to a third party, and you might as well consider your coins lost. Time and again, we've seen the disastrous outcomes: people duped and treasures plundered; the decentralised dream turns into a centralised nightmare.

MPC Wallets solve several of the long-standing issues with both self-custody, and exchange custody of cryptocurrency wallets. Silent Shard provides a framework to integrate MPC into your own wallets and apps.

Silent Shard Duo is a cutting-edge library designed to fundamentally shift the approach to security and reliability of digital wallets, exchanges, and asset custodianship. By implementing a decentralised Two-party Multi-Party Computation (MPC) system, Silent Shard Duo addresses the critical challenges associated with the theft or loss of private keys. Under this new paradigm, the secret key is split into two shards, which can only sign messages when the custodians of these shards cooperate. The secret itself is never revealed - so the shards can be re-used as many times as necessary.

Built on the foundation of a performant Rust codebase, Silent Shard Duo is portable, and can integrate with various platforms including C (through which it can be accessed by Kotlin/Swift, React Native, Flutter, and more), and Typescript through binding libraries. The common core to all these platforms ensures compatibility across devices and platforms, even as the base code is maintained.

By introducing a secure, portable method for distributing the authority to sign transactions, Silent Shard positions itself as an indispensable tool for both companies and individuals seeking to safeguard their digital assets and streamline operations.

Core Functionality

Distributed Key Generation

Wallets have secret keys, which are used to sign messages. Silent Shard Duo generates this secret by having two devices act in concert - in such a way that neither party can learn the secret key.

Distributed Signature Generation

In order to create a signature, complex cryptographic computation needs to be done. We might assume that in order to do that computation, we would need the shards to come together so that both parties can learn the secret, but that isn't the case. Instead, by being careful about what information is sent and received by each party, it becomes possible to compute the signature for an arbitrary message without needing to learn any new information - the two parties just cooperate to run the algorithm.

Key rotation

If an adversary learns both key shards, they would be able to gain control of the wallet, and sign whatever messages they please. To guard against this, the Silent Shard Duo system allows the user to rotate their shares while keeping the public key of the wallet the same. New shares become incompatible with old ones, meaning that an adversary would need to learn two shares from the same epoch. Frequent rotations makes this a difficult task.

Last updated