diff --git a/x/bridge/TSS.md b/x/bridge/TSS.md index 7153ddff4b1..1764caa5039 100644 --- a/x/bridge/TSS.md +++ b/x/bridge/TSS.md @@ -2,22 +2,24 @@ ## 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 @@ -25,7 +27,7 @@ on October 10, 2019, by the Kudelski Security 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 @@ -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 @@ -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 \ No newline at end of file +* 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) \ No newline at end of file