Dive into SMPC-based Threshold Signature Scheme
本系列文章大都使用基本数学演示,有些博文里面还利用开源库隐去了一些复杂计算,主要是奶爸自己学习记录,只适用于基本了解,在看博文过程中请根据关键字自己做大量搜索进行扩展学习。
我司的无私钥钱包是一种 SMPC-based TSS(基于多方安全计算的门限签名)的实现,21 年时虽然依葫芦画瓢将核心的 multiparty ecdsa 的 keygen、sign 逻辑抽取封装成了 SDK,但是其背后的详细原理其实不算了解。心里一直没有放下这个事情,念念不忘,必有回响。
之前接触时重点放在了 ECDSA 上面,被椭圆曲线那一套东西给拦住了。其实搞懂我司 SMPC-based TSS 这一套方案很简单,ECDSA 椭圆曲线数字签名算法只是跟链集成使用的 (扩展阅读:一些比较流行的链使用的签名算法),他可以换成其他的签名算法比如 EDDSA、Schnorr。
而实现 SMPC-based TSS 的核心在于密钥分享,原始的密钥分享是 Shamir's Secret Sharing,后面 Feldman 提出了优化的 VSS 可验证密钥分享。最后 gg18 这个论文将 Feldman VSS、同态加密 结合起来实现了 Keyless Multiparty ECDSA。
Chapters
- ECDSA (29 Oct 2022,👀232)
- Shamir's Secret Sharing 秘密分享 (29 Oct 2022,👀559)
- Feldman VSS 可验证的秘密分享 (31 Oct 2022,👀999,💬2)
- Vanity GG18 (21 Nov 2022,👀496)
- MPC 缺点:RFC6979 (10 Jan 2023,👀406)