Transactions

分片是 MultiSig 的好選擇嗎?

  • January 31, 2021

出於安全目的,我們要求每次提款都必須經過多台伺服器的“批准”,這樣如果一台伺服器遭到入侵,攻擊者將無法從整個錢包中竊取資金。執行這個概念的典型方法是一個MultiSig地址,其中一個交易只有在多個實體簽署後才被批准。

但是,2/3MultiSig交易的費用幾乎是正常交易費用的兩倍。如果我們想要 3/4(或更高)的 MultiSig,費用會更高。這讓我想到了一種方法來利用 MultiSig 交易提供的安全優勢,而不會在此過程中過度消耗費用。

想到的直接解決方案是分片。簡而言之,我們可以使用Shamir 的秘密共享方案和無限方案(例如 4-of-7 或 3-of-4 等)安全地分解 PK,而不是使用 MultiSig,並將分片儲存在單獨的伺服器上,從而需要多個伺服器“簽署”提款請求。

與分片相比,MultiSig 是否提供任何(安全)優勢?分片是 MultiSig 的可行替代方案嗎?

更新:

也許這個提議的唯一問題是每個伺服器不能使用它的“分片”獨立地“授權”交易。在某些時候,需要知道所有分片才能“重新組裝”PK,以便攻擊者仍然可以將其用作“最薄弱環節”來竊取 PK?它是否正確?

謝謝

  • k -of- nOP_CHECKMULTISIG優於 Shamir 秘密共享的優點:

    • 無需在一台特定機器上重建實際的密鑰。使用 SSS,您本質上依賴於一台機器能夠驗證它將簽署的內容是否符合預期 - 否則您可能會發送您的全部餘額,而不僅僅是您想要支付的款項。此外,如果該密鑰或(在使用 BIP32 公開派生的情況下)任何相關密鑰曾經被重複使用,那麼被入侵的機器實際上會暴露你的整個錢包,包括未來的資金。鑑於最終目標是減少對單個設備安全性的依賴,這並不理想。
    • 問責制:使用基於 SSS 的簽名,鏈上簽名無法告訴您哪些簽名者實際簽署了支出協議,但OP_CHECKMULTISIG可以。如果您希望能夠追踪流氓簽名者。
  • SSS 的優勢OP_CHECKMULTISIG

    • 更便宜的鏈上。
    • 更好的策略隱私(你不會在鏈上透露你實際上正在使用多重簽名策略)。

現在,隨著 BIP 341 - 342 (Taproot) 即將啟動,其中包括對 BIP 340 Schnorr 簽名的支持,將會有更多選擇(聲明:我是這些提案的合著者):

  • 本機門檻值簽名:使用 Schnorr 簽名,可以執行與在公鑰上執行 SSS和在簽名時執行SSS 等效的操作,並最終得到組合公鑰的有效組合簽名。這為您提供了兩者的一些優點,以及一些額外的缺點:

    • 沒有需要組合私鑰的單台機器(只有簽名會被組合,這僅對單個簽名者簽名的特定消息有效)。
    • 缺乏像 SSS 這樣的問責制。
    • 與 SSS 相同的鏈上成本。
    • 與 SSS 相同的鏈上策略隱私。
    • 更複雜的協議,需要簽名者之間進行多輪互動。還要考慮很多邊緣情況,以確保在實踐中安全。有關最近的工作,請參閱FROST。如果您只需要n -of- n(而不是k -of- n),那麼它更簡單且涉及更少;參見例如MuSig2

不過,這不是唯一的選擇。BIP 342中列出了更多替代方案,注 5 。在某種程度上,SSS 和 SSSOP_CHECKMULTISIG是頻譜的兩個極端。例如,您可以建構一個包含樹的 Merkle 根的輸出,其中每個葉子都是一個k -of- k聚合鍵。它可以通過顯示 Merkle 分支和聚合簽名來使用。這通常比OP_CHECKMULTISIG發布所有密鑰和簽名的類似結構便宜,但不如類似 SSS 的方法給你的那麼好。另一方面,它也更簡單。

引用自:https://bitcoin.stackexchange.com/questions/102007