關於 Ouroboros 的設計:嚴謹性和工程性對於關鍵基礎設施至關重要

最近在 Steemit 上有一篇博文對於 Ouroboros 有很多論斷。這篇文章有很多事實性的錯誤。例如,它論斷 Ouroboros 論文中的“DPOS” 是代表 “delegated proof of stake”,而事實上, DPOS 是代表 “dynamic proof of stake”, 再者它認爲協議需要“2/3 以上”的誠實節點,事實上只需要大多數誠實節點就可以了,也就是說,遵守協議的節點的股權之和只要大於全部股權一半就可以了。

對於那些對 Ouroboros 協議感興趣並認同其基本理念的朋友,我們認爲有必要在此深入地迴應這篇文章。除了指出博文中不準確的地方,我們也藉此機會着重介紹我們按照 Ouroboros 的設計所做的大體工作以及我們在 IOHK 正在進行的相關研究。

Ouroboros 是我們本着在 2011 年比特幣論壇上討論過的 PoS 想法的精神所創造的使用了委託的股權權益證明 (PoS) 協議。我們的論文列舉了影響它的設計的相關的參考。 PoS 是一個強大的概念,對我們第一次發表 Ouroboros 論文之前之間和之後的相關工作有很大啓發。 在所有其他已經實現了 PoS 的有真實價值的區塊鏈系統中,Ouroboros 的獨特之處在於它是基於一個形式化的安全模型以及一個被數學證明了的健壯的交易賬本的 . 這標誌着在區塊鏈系統設計的方法論上有了根本性的轉變。

區塊鏈系統正從未知到關鍵基礎設施階段過渡;因此,所有過於典型的軟件工程的方法,例如儘快發佈一個“最小可工作的產品”然後修復問題,已經不太適用了。關鍵基礎設施的故障會對民衆的的生活造成巨大沖擊因此需要嚴格的工程規範以儘可能實現最高標準。可靠性而非達到隨意制定的標準的最大性能纔是主要目標。性能當然非常重要,但是性能要求是最終應用領域的一個功能,而且從可靠性的角度而言,最差情況下的性能纔是最重要的,而非理想情況下的峯值。

和所有區塊鏈領域的其他協議一樣,Ouroboros 需要一定程度的同步性 . 出塊週期必須保持與接近完成必要信息交換的時間一致 . Ouroboros 中 20 秒的時間段長度對於裝滿交易的區塊跨越 P2P 網絡的邊界是相當保守的,因爲節點可以是在地理上距離非常遠,系統在交易高峯期時的互聯性是遠稱不上完美的 . 裝滿交易的區塊能保持比這個數字快得多的速度穿越全球性的網絡是不大可能的,因此任何能極大地改善或者號稱能極大改善的方案要麼就是錯的,要麼只提供了低標準的去中心能力或者安全性,比方說它只是解決了一個比 Ouroboros 簡單的問題 . 是要達成一個健壯的全員參與的即使在遭受攻擊也能持續有效工作的服務,還是要創建一個高性能的部分人蔘與的(地理上或者資源上)但需要對網絡穩定性保持過度樂觀的方案,這兩者之間需要權衡。

不可逆性,即交易在區塊鏈協議中保持不變的屬性,是體現抗攻擊強度的一個必要的功能 . 在中本聰的比特幣論文以及 Ouroboros 論文都是如此,參見章節 10.1 中交易確認的實際時間的內容 . 因此,有關不可逆性的言論,如果不能量化抗攻擊級別,則需要對之保持警惕 . 例如,Ouroboros 能 99.9% 的保證在五分鐘內能抵抗住持有 10% 股權的攻擊者,這個份額在今天相當於 20 多億美元的市值 . Byzantine 共識協議能提供“非黑即白”的不可逆性,換句話說,根據協議只要在某個時間窗口內大多數或者絕大多數節點是誠實的,協議就能保證不可逆性 . 然而,抗攻擊級別一旦能達到接受一半攻擊者的界線,這也是目前 Ouroboros 所能承受的,性能和去中心程度會遭受極大的壓力。

共識過程可能被少部分持有大比例大股權的持有者控制的問題是非常重要的,但是這在當前 Cardano 系統的版本(Byron 版本)上是沒法應用的。 我們已經證明的是 Ouroboros 可以很方便地演變成一個公平的交易賬本(這裏的公平是指即使有攻擊者存在的情況下,賬本仍可以公平地記錄所有被協議參與者執行的關鍵步驟). 這使我們可以平衡一些合理的協議上的差異(例如:相當於在 PoS 環境下的自私的挖礦行爲)並提供 Nash 均衡的論證來說明能夠提供許多不同類型的激勵機制給不同行爲的參與者 . 當前,IOHK 研究院正積極地最終確認將集成進 Shelley 版本中的激勵機制,它將支持股權池且會正確地激勵委託行爲從而提供有效的去中心的動力 . 我們方法論的關鍵在於爲理性參與者設計一種新穎的獎勵機制,爲合理分配委託權提供適當的激勵 . 目標首先是避免力量集中在一小組參與者手中,因爲不成熟的獎勵機制會導致在 Pareto 分佈的股權持有者羣體中此問題的發生,其次提供一個合適的激勵制度來保證有足夠數量的代表。我們非常高興這個是可行的;它將是該領域的首創,與以前一樣,我們將廣泛傳播,包括完整的技術細節,並提交給同行。

這些給我們的 Cardano 哲學帶來最終的獨一無二的優勢。 科學同行評審已經完善了幾個世紀。 被國際密碼學會議(也稱 Crypto),也是 Ouroboros 被提交上去的組織,和其他頂級會議所實施的方式,力求消除利益衝突,併產生最高級別的客觀性。 評審的方法被稱爲“雙盲”,即文件是被匿名提交的,評審人也是對作者匿名的專家。 每年評審提交論文的專家委員會由兩名由國際密碼學研究協會指定的項目聯合主席組成,該組織成立於 1982 年,是密碼學研究領域的傑出組織。

被邀請進委員會擔任專家是個人長期致力於密碼學領域的很重要的認可(甚至可以精確地指出一個人服務了多少次)。 區塊鏈協議完全符合密碼學科學文獻,因此同行科學評審將由該社區完成。 當然,我們歡迎任何人的評論。 這就是爲什麼我們公開了非常詳細的白皮書,並提供確切而具體的聲明以確保聲明的內容不會產生不確定性,我們也非常感謝任何有關這些聲明的實質性的討論。 我們強烈鼓勵其他項目也提交他們的作品進行同行科學評審。 他們將享受徹底的,有根據的和客觀的批評帶來的好處,他們也將有機會展示他們方法的所有優勢和創新。