密碼抽簽(cryptographic sortition)
密碼抽簽是Algorand的關鍵創新,也是其得名的由來,其要點如下。首先,Algorand創建并不斷更新一個獨立參數,稱為“種子”。“種子”參數不僅不可能被“敵對者”預測,也不能被其操縱。
其次,在BA★每次循環中,Algorand基于當前 “種子”參數構建并公布一個隨機算法(也被稱為“可驗證的隨機函數”或verifiable random functions,見下文)。該隨機算法中的一個關鍵參數是用戶的私鑰,這個私鑰只有用戶本人才知道。
接著,每個用戶使用自己的私鑰運行系統公布的隨機算法,得到自己的憑證(credential)。憑證值滿足一定條件的用戶就是這一輪的“驗證者”(verifiers)。“驗證者”組裝一個新區塊并連同自己的憑證一起對外發出。其中,在第一個子步驟中憑證值最小(按字典方面排序,見下)的那個“驗證者”的地位比較特殊,稱為“領導者”。
最后,所有“驗證者”基于“領導者”組裝的新區塊運行拜占庭協議BA★。在BA★的每次循環中的每一個子步驟中,被選中的“驗證者”都是不同的。這樣能有效防止驗證權力集中在某些用戶手中,避免“敵對者”通過腐化這些用戶來攻擊
區塊鏈。
從上述過程可以看出,第一,“驗證者”在秘密情況下獲知自己被選中,但他們只有公布憑證才能證明自己的“驗證者”資格。盡管“敵對者”可以瞬間腐化身份公開的“驗證者”,但已不能篡改或撤回他們已經對外發出的消息。第二,所有“驗證者”公布自己的憑證并進行比較后,才能確定誰是“領導者”,也就是“領導者”可以視為由公共選舉產生。第三,隨機算法的性質決定了,事先很難判斷誰將被選為“驗證者”。因此,“驗證者”的選擇過程很難被操縱或預測。第四,盡管“敵對者”有可能事先安插一些交易來影響當前公共賬本,但因為“種子”參數的存在,他仍然不可能通過影響“驗證者”(特別是其中的“領導者”)的選擇來攻擊Algorand。接下來,對密碼抽簽和拜占庭協議BA★做一個相對技術化的介紹。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。