應用密碼學
分散式金鑰生成
分散式金鑰生成(DKG)讓一群人建立一對共享的公/私鑰,使私鑰從不在任何單一地點存在——連設置過程中的一瞬間都沒有。協議結束時,聯合公鑰人人皆知,但每方只持有對應祕密的一份份額。
典型作法(Pedersen DKG,建構於 Feldman 可驗證祕密分享之上)是平行進行的:每位參與者選一個隨機祕密並對它做可驗證祕密分享,把份額連同對多項式係數的公開承諾分送給所有其他人,使得不正確或惡意的份額能被偵測並提出申訴。把每個人的貢獻加總,便得到一個聯合祕密——所有隨機祕密之和——其中每方如今握有一份 Shamir 份額,外加一把聯合公鑰,但沒有人會得知那個聯合祕密本身。穩健的 DKG 能容忍最多 t 個發送錯誤份額或中途退出的惡意參與者。
DKG 是門檻簽章與 MPC 託管的去信任啟動:它移除了那個在純 Shamir 分享中、分割金鑰前會短暫得知整把金鑰的「發牌者」。它被用來設置驗證者門檻金鑰、隨機性信標(drand 把 DKG 與 BLS 結合),以及跨鏈橋的簽署者集合。它也能主動重新分享——在不更動公鑰的情況下刷新每個人的份額——以輪換祕密,並隨時間修復部分被攻破的情形。
DKG 相對於 Shamir 祕密分享的全部價值,就在於消除可信發牌者。在 Shamir 中,必須有人先知道祕密才能分割它;在 DKG 中,祕密一誕生就已分散在各方之間,且從不被重組。
又稱
另見