Multi-Signature
musig2 與 BIP-32 樣式隨機數鏈
我對固定簽名者池將簽署一系列許多消息的情況感興趣。據我了解, musig2 將允許預處理,簽名聚合器可以提前從每個簽名者那裡收集公共隨機數對的列表,然後從每個簽名者那里為每條消息使用一對以進行簽名。簽名者需要保存與每個公共 nonce 關聯的私鑰,並且聚合器需要指示每個簽名使用哪個私鑰。
我想知道,是否可以以與 BIP-32 允許生成公鑰列表相同的方式從鏈碼生成公共隨機數列表?因此,簽名者將承諾“擴展公共隨機數”(R,c),(S,d),然後簽名聚合器將在每條消息中包含一個序列號,以 BIP-32 的方式定義隨機數密鑰對? 或者,更好的是,是否可以將 BIP-32 序列號替換為正在簽名的消息的某些確定性函式?
我想知道,是否可以以與 BIP-32 允許生成公鑰列表相同的方式從鏈碼生成公共隨機數列表?
絕對不。(私人)隨機數需要對其他參與者完全不可預測。如果您的(公共)隨機數是根據公開(對其他參與者)已知的 xpub 生成的,則這意味著相應的私有隨機數之間存在已知的關係。這完全破壞了 MuSig 及相關方案的安全性。在看到一些部分簽名後,其他參與者將能夠計算您的私鑰。
確實存在一種將 MuSig 與確定性隨機數相結合的方案,稱為MuSig-DN(免責聲明:我是合著者)。然而,它比一組公開可導出的隨機數要復雜得多,並且涉及零知識證明,參與者相互證明他們的隨機數是誠實生成的。