自 ETH 2.0 採用 BLS 簽名技術以來已有 2.5 年左右,以下是一些里程碑事件。

2018 年 5 月,我在 ethresear.ch 上發表了一篇文章,指出 BLS 簽名可以讓 ETH 2.0 實現 32 ETH 的最低質押機制,以及 1024 個分片,可以將去中心化程度和可擴展性提高几個數量級。

2018 年 10 月,我寫信告訴 Dan Boneh (以太坊基金會的密碼學顧問)說:“我們正在考慮效仿 Zcash 和 Chia,在 ETH 2.0 中使用 BLS12-381 曲線。” 對此,他回覆道:“(以我們的現有知識來看) BLS12-381 曲線是正確的選擇。” 當時的背景是,一篇 2016 年的論文將 BN254 的安全等級從大約 128 位降至 110 位。鑑於區塊鏈基礎設施的設計目標是能夠沿用數十年,爲此我們採取密碼學保守主義,而且 ETH 2.0 研究團隊確實不滿意 BN254 的現狀。(使用 BLS 簽名的另一個原因是,在密碼學生產系統中使用曲線配對本身就很激進了。)

在 2019 年 3 月和 4 月,我們做了一些號召工作。我聯繫了很多區塊鏈項目(Chia、Filecoin、Dfinity、Cosmos 和 Ledger 等),旨在讓所有項目都採用同樣的密碼學原語,以便實現互操作性、庫重用、共享安全審計等。具體來說,我們的目標是號召人們參與 IETF BLS 標準化工作。這項工作是獨立啓動的,當時仍處於萌芽狀態。有數十個人蔘與這項工作,創建了 Telegram 羣組,並定期舉行電話會議。

還是在 2019 年 4 月,Riad Wahby 在這篇文章中提議了針對 BLS12-381 的常量時間曲線哈希。常量時間哈希的用處很大,可以簡化 SNARKs 的算術化,簡化區塊鏈操作碼的 gas 計量,爲特定應用解決時序和 DoS 攻擊問題,也就自然而然地成爲了 IETF 標準的一部分。實際上,剩餘標準化工作(例如,選擇生成器和點序列化)很多都是由 Zcash 完成的。

2019 年 9 月, Carl Beekhuizen 寫了三個 EIP (2333、2334、2335),從除 IEFT 標準以外的方面對 BLS 進行標準化,例如,量子安全備份、HD 錢包(分層確定性錢包)和密鑰庫等。

2019 年 11 月,我們正在研究性能最好的 BLS12-381 實現。我自己開始學習更復雜的 BLS 優化,並在 Prysm 的 Raul 的介紹下認識了 Shigeo Mitsunari (目前最快的實現 Herumi 庫的作者)。幾周後,以太坊基金會給了 Shigeo 一筆資金,讓他跟進 IETF 標準的草案,爲 ETH 2.0 客戶端寫一些 binding,並提升 Herumi 庫的性能。雖然 Herumi 庫的性能是最好的,但是這個庫非常複雜,很難進行形式化驗證。

2020 年 1 月,Supranational【該團隊由三名 Intel 前資深員工組成,負責 VDF (可驗證延遲函數)項目的所有硬件工作,我每週都會與他們進行電話會議】告訴我,他們相信自己能夠創建一個庫,不僅在性能上優於 Herumi 庫,而且對形式化驗證更友好。爲此,他們還專門找來了 Andy Polyakov。Andy Polyakov 是一名專門研究高性能密碼學的工程師,具備形式化驗證的經驗。

2020 年 4 月,以太坊基金會和 ProtocolLabs 給了 Supranational 一筆資金,用於構建生產級庫,並讓彙編實現通過 Galois 團隊的形式化驗證。2020 年 6 月,第一版 BLST 上線,性能驚人。接下來的幾個月,由於創建了綁定,並得到了集成支持,ETH 2.0 客戶端集成了 BLST。ETH 2.0 客戶端在性能上得到了巨大提升(關於具體的例子,請查看這裏和這裏)。

在 2020 年,我們必須應對的複雜因素之一是,IEFT 標準草案的修改。這些修改在很大程度上是我們所無法控制的。雖然這些修改從技術層面上來看很小,但是在操作層面上很難,因爲需要多個參與方之間進行協調。這些修改造成了很大的摩擦,有時需要花費數小時來討論具體細節(細節決定成敗)。

2020 年 9 月,BLST 庫被移交給了 Galois 團隊。同時,形式驗證取得了重大發展。同樣在 9 月,Danny (又與 ProtocolLabs 一起)寫了一篇徵求意見書,要求審計 BLST 的 binding (這部分不屬於形式化驗證)和彙編(未經過 100% 的形式化驗證)。審計工作由 NCC 公司負責,並於 10 月開始。NCC 有望在幾周內完成綁定的審計工作。

總而言之,這無疑是一個漫長而曲折的過程,涉及早期研究、密碼分析安全性、標準化、性能、形式化驗證和審計。我們所走的每一步都是在努力朝着正確的方向前進,而不是爲了走捷徑。正如我在這條推特中所言,我們在增加以太坊 2.0 的實現難度,放棄了原本可走的捷徑,追求長期的質量。

我希望上述內容可以讓大家明白,爲了向正確的方向邁進,我們投入了大量工作,比我在 2018 年預期的還要多。我想,每個關注 ETH 2.0 的人都致力於推動 ETH 2.0 在 2020 年如期創世。準備好你的質押品吧 :)

(完)

(文內有許多超鏈接,可點擊左下 ”閱讀原文“ 從 EthFans 網站上獲取)


原文鏈接 :

https://www.reddit.com/r/ethfinance/comments/jghide/daily_general_discussion_october_23_2020/g9sz7jm/

作者 :Justin Drake

翻譯 & 校對 :閔敏 & 阿劍


你可能還喜歡:

乾貨 | 理解 BLS 簽名算法

科普 | Eth2 驗證者如何生成和保護取款密鑰

引介 | 以太坊 2.0 信標鏈驗證者