一種權益證明設計哲學
像以太坊(和比特幣、NXT、Bitshares等)這樣的系統本質上是新型的加密經濟組織(cryptoeconomic organisms ) — 完全建立在網路空間裡的去中心化、無管轄的機構,由密碼學、經濟學和社會共識來共同維護。他們有點像BitTorrent,但又不完全一樣,因為BitTorrent沒有狀態(state)的概念——而這是一個至關重要的區別。他們有時又會被稱為去中心化自治公司,但他們又不完全像個公司 ——比如你不能將微軟進行硬分叉。他們又有點像開源軟體專案,但他們也不完全是這樣的——你可以使區塊鏈分叉,但是不像分叉OpenOffice這樣的開源專案那樣容易。
這些加密經濟網路有多種不同風格——有些基於ASIC的工作量證明(PoW)、有些基於GPU的工作量證明、有些原生權益證明(PoS)、有些授權股權證明(DPOS)、還有很快和大家見面的Casper權益證明——這些不同的風格不可避免地有著他們的底層哲學。一個大家熟知的例子就是工作量證明“神教”的觀點,一條“正確的”區塊鏈被定義為礦工消耗最多經濟資本創造出的鏈。起初這只是一個協議內分叉選擇規則,而現在在很多情況下成為了一個神聖的教條——參見這條我和Chris DeRose的推特討論,一些人在很嚴肅地想要捍衛該觀點的純粹性,甚至在面對雜湊演算法改變型別的協議硬分叉時也是如此。位元股的授權股權證明提供了另一種連貫的哲學,所有人都遵從一個更加簡單的原則,這就是股東投票。
每一種哲學,包括中本聰共識、社會共識、股東投票共識,都會得到它們各自的結論,引致一種價值系統,從它們自己的角度觀察,這些結論和價值系統們是合理的,雖然當它們相互對比時,肯定會被其它哲學所批評。Casper共識也有其哲學基礎,但至今還沒有人簡潔明瞭地闡述過。
我、Vlad、Dominic、Jae還有很多人都對權益證明理念和如何設計它有著不同的看法,在這裡我想闡述一下我對這個問題的思路。
我將直接列出我的觀察,然後得出結論。
密碼學在21世紀是極其特殊的,因為密碼學是為數不多的在對抗衝突中都持續地大大偏向防守者一方的領域之一。摧毀一座城堡遠遠比建造更容易,島嶼都是可防衛的,但仍會受到攻擊,但一個普通人的橢圓曲線密碼學(ECC)祕鑰是足夠安全的,它甚至可以抵禦國家級入侵。數字朋克(Cyperpunk)哲學基本上就是利用這種珍貴的不對稱性,來創造一個可以更好的保持個體的自主性的世界,而加密經濟學保護的是具有一致性和協作性的複合系統的安全與活力,而非僅僅保護私人資訊的完整和保密,在某種程度上可以說是該哲學的延伸。自詡為數字朋克精神繼承者的系統都應保持這種基本屬性,使毀滅或破壞它的成本比利用和維護它的成本要大得多。
“數字朋克精神”不僅僅是關於理想主義的。創造出一個維護比攻擊更容易的系統也是一種合作的設計。
在中長期看來,人類相當善於處理共識。即使反對者可以獲得了無限的雜湊算力,在主鏈上發起了51%攻擊,甚至逆轉了一個月的歷史記錄,但要說服整個社群這個鏈是合法的比僅僅擁有超越主鏈的雜湊算力要困難得多。他們需要破壞區塊瀏覽器,社群中每個受信任的成員,紐約時報,Archive.org(網際網路檔案)和無數其它網路記錄,總的來說,在這個資訊科技密集的21世紀,要說服整個世界這個新的攻擊鏈是主鏈,跟說服全世界美國登月並沒有發生一樣困難。無論區塊鏈社群是否承認(要知道比特幣核心社群的確認可社會層面的首要地位),這些社會考量才是所有區塊鏈的長期保障。
然而,一個僅僅由社會共識保護的區塊鏈效率實在太低,速度太慢,而且很容易使爭論沒完沒了地持續下去(雖然困難重重但這已經發生了),因此,在短期內,經濟共識(economic consensus)在保護區塊鏈的活力(liveness)和安全性方面的作用是極其重要的。
因為工作量證明的安全只能來自區塊獎勵(用Dominic Williams的話來說,它缺少3E中的兩個),而且給礦工的激勵只能來自丟失未來區塊獎勵可能性的風險,工作量證明執行的邏輯是:只有鉅額的挖礦獎勵,才有鉅額的算力保護網路,這是工作量證明成功執行的邏輯基礎。在工作量證明機制下,從攻擊中恢復是非常困難的:第一次攻擊發生時,你可以使用硬分叉來改變工作量證明,從而使攻擊者的ASIC失效,但第二次發生時你就不再有這個選擇了,所以攻擊者可以反覆進行攻擊。因此,挖礦網路的規模必須足夠大,以至於發起攻擊是無法想象的。網路每天的算力成本是X,小於X的攻擊者沒有動力發起攻擊。我對於工作量證明的邏輯是持反對態度的,一是因為他會消耗大量能量,二是因為它並沒有實現數字朋克精神——它的攻擊成本和防守成本是1:1的,並沒有防守優勢。
權益證明機制通過懲罰而不是獎勵打破了這一對稱性。將錢“存入”保證金的驗證者會獲得微小的獎勵,以補償他們凍結的資本和對節點的維護,並採取額外的預防措施來保障他們的私鑰安全。逆轉區塊的代價會是同時間獲得的獎勵的成百上千倍。因此,如果用“一句話哲學”來解釋權益證明的話,“它的安全性不是來自於燃燒的能源,而是來自提高經濟損失的經濟價值”。給定的區塊或狀態具有X的安全性,只要證明,對於任何衝突的區塊或狀態而言,除非惡意節點支付X價值的協議內罰金,達到一個相同程度的確定性(finalization)是不可實現的。
理論上說,如果大多數驗證者勾結起來,他們可以接管整條鏈並做出不利的舉動。然而,通過巧妙的協議設計,他們通過這種操控手段可以獲得的額外利潤能夠被儘可能地限制,更重要的是,如果他們試圖阻止其他驗證者的加入,或者實行51%攻擊,整個社群可以簡單地協調進行硬分叉,並刪除有問題的驗證者的存款。組織一次成功的攻擊可能有5000萬美元的成本,但清理其後果的過程並不會比2016年11月25日Geth/Parity共識的失效複雜太多。兩天後,區塊鏈和社群會重新回到正軌,攻擊者比原來少了5000萬美元,而社群的其他成員則可能變得更富有了,因為攻擊會導致代幣的價格由於攻擊後的供應緊縮而上漲。這就是給你提供的攻擊防禦不對稱性。
我們不應因為上述言論就認為計劃外的硬分叉會成為常規事件;如果需要的話,在權益證明機制裡的單一51%攻擊成本可以設定得和在工作量證明裡的永久51%攻擊成本一樣高,那麼昂貴的攻擊成本及其低效性就可以保證幾乎不會有人發起攻擊。
經濟學不是一切。個人行為者可能會受到協議外動機的驅動,他們可能會被黑,他們可能會被綁架,他們可能僅僅是某天喝多了就決定破壞區塊鏈,去你的成本。此外,從光明的一面看來,個體的道德寬容和低效的溝往往把攻擊的成本提高到遠高於協議中定義的所謂的損失價值(value-at-loss)水平。這是一個我們不能依賴的優勢,同時這也是一個我們不應隨意拋棄的優勢。
因此,最優的協議是在各種模型和假設下都執行良好的協議––具有協調選擇(coordinated choice)的經濟理性,具有個人選擇(individual choice)的經濟理性,簡單容錯,拜占庭容錯(理想化來說,最好同時具有適應性和非適應性對抗變體),如由Ariely和Kahneman啟發的行為經濟模型(我們都只是做了一點點弊)和其他經得起推敲的現實和實際的模型。擁有兩個層面的防禦是很重要的一點:通過經濟激勵,防止集中化的非法行業同盟(cartel)反社會行為,並通過去中心化激勵,防止非法行業同盟的形成。
能夠儘快處理工作的共識機制是有風險的,必須非常謹慎地處理,因為如果處理工作的效率與激勵掛鉤,則高效加激勵的組合將獎勵網路級別的中心化(例如,所有的驗證者都在同一個主機服務商下面),造成系統風險。對於不介意驗證者傳送訊息速度的共識協議來說,只要他們在可接受時間內(比如4-8秒,因為以我們的經驗,我們知道在以太坊下的延遲一般約為500毫秒-1秒)完成,就不會有這些問題。一個可能的折中點是建立可以非常快速運作的協議,但其中類似於以太坊叔塊機制的機制需確保,當節點使其網路連線度超過一定程度時獲得的邊際獎勵是相當低的。
至此,雖然還有很多細節和對於細節問題的分化存在,但上述至少是我的Casper版本建立起來的核心原則。從這裡出發,我們當然可以爭論在競爭價值之間的權衡利弊。我們是要給每年增發1%以太幣,一次補救性硬分叉要付出5000萬美元的代價,還是0增發率和500萬美元的補救性硬分叉代價?我們什麼時候要為了降低協議在容錯模式下的安全性,而增加其在經濟模式下的安全性?擁有一個可預測的安全水平和擁有一個可預測的發行級別,我們更關心哪個?這些都是另一篇部落格要寫的問題,而實現這些價值之間的不同權衡的問題就留給以後更多的部落格討論吧。我們遲早都會說到的。