Skip to content

Commit

Permalink
feat x/bridge: updated TSS.md (#7898) (#7910)
Browse files Browse the repository at this point in the history
(cherry picked from commit 32a5797)

Co-authored-by: keruch <[email protected]>
  • Loading branch information
mergify[bot] and keruch authored Apr 2, 2024
1 parent 7892e2f commit e2fe73d
Showing 1 changed file with 31 additions and 14 deletions.
45 changes: 31 additions & 14 deletions x/bridge/TSS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,32 @@

## Library selection

| Repo | Keygen | Signing | Transport | Security | Last release | Go version | Notes |
|---------------------------------------------------------------------------|--------|---------|-----------|-------------------------|--------------|------------|------------------------|
| [bnb-chain/tss-lib](https://github.com/bnb-chain/tss-lib) |||| Audited on Oct 10, 2019 | Jan 16, 2024 | 1.16 | 705 stars |
| [thorchain/tss](https://gitlab.com/thorchain/tss/go-tss) |||| Audited on Jun 16, 2020 | Fer 8, 2024 | 1.20 | Production-use example |
| [getamis/alice](https://github.com/getamis/alice) |||| Audited on May 19, 2020 | Nov 30, 2023 | 1.20 | Granted by Coinbase |
| [taurusgroup/frost-ed25519](https://github.com/taurusgroup/frost-ed25519) |||| Not audited | Mar 11, 2021 | 1.14 | Good README |
| [unit410/threshold-ed25519](https://gitlab.com/unit410/threshold-ed25519) |||| Not audited | Feb 21, 2020 | 1.19 | |
| [coinbase/kryptology](https://github.com/coinbase/kryptology) | | | | Papers + HackerOne | Dec 20, 2021 | 1.17 | Archived |
| [SwingbyProtocol/tss-lib](https://github.com/SwingbyProtocol/tss-lib) | | | | | | | Fork of binance |
| Repo | Keygen | Signing | Transport* | Security | Last release | Go version | Notes |
|---------------------------------------------------------------------------|--------|---------|------------|-------------------------|--------------|------------|------------------------|
| [bnb-chain/tss-lib](https://github.com/bnb-chain/tss-lib) |||| Audited on Oct 10, 2019 | Jan 16, 2024 | 1.16 | 705 stars |
| [thorchain/tss](https://gitlab.com/thorchain/tss/go-tss) |||| Audited on Jun 16, 2020 | Fer 8, 2024 | 1.20 | Production-use example |
| [getamis/alice](https://github.com/getamis/alice) |||| Audited on May 19, 2020 | Nov 30, 2023 | 1.20 | Granted by Coinbase |
| [taurusgroup/frost-ed25519](https://github.com/taurusgroup/frost-ed25519) |||| Not audited | Mar 11, 2021 | 1.14 | Good README |
| [unit410/threshold-ed25519](https://gitlab.com/unit410/threshold-ed25519) |||| Not audited | Feb 21, 2020 | 1.19 | |
| [entropyxyz/synedrion](https://github.com/entropyxyz/synedrion) | | | | | | | TODO |
| [coinbase/kryptology](https://github.com/coinbase/kryptology) | | | | Papers + HackerOne | Dec 20, 2021 | 1.17 | Archived |
| [SwingbyProtocol/tss-lib](https://github.com/SwingbyProtocol/tss-lib) | | | | | | | Fork of binance |

__*__ Transport refers to the parties communication during TSS signing.

### bnb-chain/tss-lib

Pros:

* Was [audited](https://github.com/bnb-chain/tss-lib?tab=readme-ov-file#security-audit)
on October 10, 2019, by the Kudelski Security
* Was [audited](https://github.com/bnb-chain/tss-lib?tab=readme-ov-file#security-audit) on October 10, 2019, by the Kudelski Security
* 700+ stars
* A lot of contributors
* Many libs use it as a basis
* Actively maintained

Cons:

* Doesn't have transport or leader election
* Doesn't have built-in transport (but there are repos with its implementation from bnb-chain; see [References](#references) for details)
* Old Go version

### thorchain/tss
Expand All @@ -42,7 +44,8 @@ Pros:
Cons:

* Not popular (11 contributors, 6 stars)
* Doubts on the quality of code (since Throchain itself is quite messy; only doubts without real proofs)
* Doubts on the quality of code
* Hard to import (or even impossible without modifications) due to legacy dependencies

### getamis/alice

Expand All @@ -58,4 +61,18 @@ Pros:
Cons:

* Doesn't have transport or leader election
* HTSS differs from TSS, will need additional time to dig into it
* HTSS differs from TSS, will need additional time to dig into it

## References

1. [Briefly about TSS](https://academy.binance.com/en/articles/threshold-signatures-explained)

2. [Details on TSS workflow](https://docs.bnbchain.org/docs/beaconchain/learn/threshold-signature-scheme/)

3. [Example of signing using bnb-chain/tss](https://github.com/bnb-chain/tss-lib/blob/master/ecdsa/keygen/local_party_test.go)

4. [bnb-chain/tss binary](https://github.com/bnb-chain/node-binary/tree/master/cli/prod/0.6.2-TSS-0.1.2)

5. [CLI and transportation wrappers for bnb-chain/tss](https://github.com/bnb-chain/tss)

6. [Docs on bnb-chain/tss server](https://github.com/bnb-chain/tss/blob/master/doc/UserGuide.md)

0 comments on commit e2fe73d

Please sign in to comment.