Multiparty-Computation
是否需要 MPC 協議的各方?
對於許多加密應用程序,使用多方協議。這個想法是創建密鑰/秘密的共享並將它們提供給多方。我的問題是:各方都必須參與多方協議還是存在協議,只需要例如> 51%的份額就可以正確計算?
當然,例如,如果我們使用 $ k $ 的 $ n $ Shamir 秘密共享然後只需要 k 個參與者來重建秘密或對秘密做一些事情(即使沒有透露它)。
如果失去的參與者有關鍵資訊,那麼無論您是在進行安全多方計算還是每個人都是誠實的並且所有資訊都是共享的,您都可能需要該資訊。
通常,MPC 協議有兩個主要參數:參與者的數量 $ n $ ,以及您希望容忍的腐敗方的數量, $ t $ . 正如您所提到的,通常情況下,協議通過秘密共享數據的方式工作,至多 $ t $ 參與者無法恢復它,但 $ t+1 $ 當事人可以。至少,您需要 $ t+1 $ 各方供您計算,否則一組 $ t $ 受賄方可以自行完成計算並了解結果/秘密。
一些協議(稱為不誠實多數協議)設計為 $ t=n-1 $ 請記住,這意味著您不能比始終參加所有派對做得更好。但是,其他一些協議(在誠實多數設置中)考慮較低的門檻值,例如 $ t<n/2 $ 或者 $ t<n/3 $ . 這很有用,因為這可以導致更有效的協議和更強的不可區分性概念(例如資訊理論與計算安全),但代價是容忍更少的損壞。在這些情況下,您可以考慮進行優化,例如,所有 $ n $ 各方積極參與協議一段時間(例如,在預處理階段,生成乘法三元組——如果你熟悉這個概念),然後只 $ t+1 $ 可以保留執行的其餘部分。