編者注:本文為TaipeiEthereumMeetup社區成員邱駿的譯作,譯自2018年8月Vitalik介紹Casper發展歷程的長推特。一年過去,Eth2.0的分叉選擇規則已確定為LMDGhost,而非Vitalik在該長推特中表示偏愛的IMDGhost,但文中提到的Casper的觀念演變史,仍足一觀。
前言
以太坊針對PoS共識模型的研究最早始于2014年,這些研究后來演變成目前廣為人知的?CaspertheFridenlyFinalityGadget?/?CorrectbyConstruction兩種共識模型,它們分別由兩個不同的團隊開發且存有不少差異。Vitalik用一系列推文簡述了從2014以來Casper的開發脈絡,由于中文社群仍缺乏針對Casper開發路線相關的總結,因此譯者特將此系列推文翻譯成中文并且補上一些注解,希望可以成為開發者或研究員在學習Casper時的重要文獻,并期望讀者對Casper設計理念有更直覺的理解。
為了避免讀來生硬,建議讀者先大略掌握PBFT/CasperFFG/GHOST的重要概念,PBFT的部分可以參考譯者的這篇文章:若想搞懂區塊鏈就不能忽視的經典:PBFT。最后要特別感謝以太坊基金會研究員梁智程提供諸多素材與協助校閱。
以下正文開始。
簡介
我將要用一系列的推文來解釋以太坊Casper共識協定的研究歷史/脈絡/進展,包括FFGvsCBC的爭論、混合模型到完全PoS的轉換、隨機性扮演的角色、共識機制的設計考量以及其他議題。
Vitalik Buterin:賬戶抽象可為以太坊帶來數十億美元的收益:金色財經報道,最近在巴黎舉行的以太坊社區會議(EthCC)上的一次演講中,以太坊創始人Vitalik Buterin詳細介紹了賬戶抽象升級如何讓用戶用用于交易的代幣支付Gas費,從而吸引數十億人使用以太坊。帳戶抽象使用戶能夠從外部擁有的錢包(EOA)切換到基于智能合約的錢包。如果此次升級成功,錢包管理將比現在更加高效和輕松。Buterin和社區相信,這可以使加密技術得到廣泛采用。
此外,加密貨幣領域充斥著丟失助記詞或助記詞被盜的用戶。通過賬戶抽象,用戶可以創建充當可編程智能合約的非托管錢包。據報道,錢包恢復只是此次新升級帶來的眾多功能之一。Buterin相信此次升級可以給以太坊帶來數十億美元的收益。[2023/7/20 11:05:50]
無利害關系問題與遠程攻擊
以太坊的權益證明研究始于2014年1月的Slasher協定。雖然Slasher演算法并不是非常理想,但它引入了一些重要觀念,特別是利用罰金來解決「無利害關系問題」。然而,我所使用的罰金相當少,單只取消投票獎勵。VladZamfir于2014年中加入了,他迅速引入驗證者必須押金的方法。押金是比獎勵還大的數字,做出錯誤的行為將會使押金被取走。
我們花了2014下半年的大部分時間試著解決「遠程攻擊」,攻擊者可以將他們的押金從主鏈提領出來,并且形成另一條具有更多簽名的攻擊鏈,如此欺騙新加入的節點,讓他們以為攻擊鏈是一條主鏈。如果攻擊鏈與主鏈分叉的時間點距離當前相當近,攻擊鏈不會造成問題,因為驗證者若在兩條鏈上同時對兩個互相抵觸的訊息簽名,則這個簽名可以當成懲罰驗證者的證據來沒收押金;但是若分叉發生在很久之前,攻擊者可以取出押金以避免被沒收。
V神、孫宇晨支持的生命科學組織VitaDAO擬設營利性公司推動長壽技術發展:4月6日消息,由以太坊創始人“V神”支持創立的生命科學研究去中心化組織VitaDAO在推特宣布,正在投票決定是否創建一家營利性公司來確保和分配長壽研究的資金。該公司將命名為 VitaTech,作為 VitaDAO 的子公司/附屬公司運營,它將利用公共資金來授權美國大學開發的長壽技術,并支持它們的持續發展。除V神外,波場TRON創始人孫宇晨此前也曾大力支持VitaDAO的發展。
今年1月,VitaDAO宣布完成410 萬美元融資,融資方包括Coinbase的前首席技術官 Balaji Srinivasan、全球最大的藥企輝瑞的投資部門 Pfizer Ventures,這也是輝瑞在 Web3 領域的首筆投資。VitaDAO 表示將會利用這筆資金進一步資助長壽研究項目和將于明年從DAO中剝離出來的生物技術初創公司。
去年10月,孫宇晨向VitaDAO旗下“長壽獎基金”進行捐款,孫宇晨也因此次捐贈成為“長壽獎基金”的第二大捐贈者,僅次于以太坊創始人V神。[2023/4/6 13:47:30]
我們最后得出:遠程攻擊是無法避免的,原因大致跟PoW擁護者所說的差不多。然而,我們沒有接受他們的結論。因為我們發現:我們可以引入兩個額外的安全假設來解決遠程攻擊:1.節點至少每4個月要登入一次;2.節點直接拒絕4個月以上的回溯。
這對PoW擁護者來說是個令人厭惡的肉中刺,因為這感覺是一個「信任假設」:每一次同步區塊時,你必須先信任某個來源以取得區塊鏈。但是對我們這些齷齪的主觀主義者來說,這不是大問題:不管在哪一種情況,你都需要某個可信來源告訴你區塊鏈所使用的共識規則,所以PoS所需的額外信任并不大。
Vitalik Buterin 闡述加密貨幣美好愿景的擴展定義:包括改善擴容、隱私、UX 和加密社交等:12月31日消息,以太坊創始人 Vitalik Buterin 針對 Paradigm 聯合創始人 Matt Huang 提問的“關于加密貨幣美好愿景的擴展定義是什么”回復稱,改善擴容、改善隱私、改善 UX、對于普通用戶而言更安全的用戶賬戶(非中心化服務)、“支付 +SoV+DeFi”為更多的人提供價值、加密社交起飛、身份和 SIWE(Sign-In with Ethereum)成功、DAO 新組織范式得到更廣泛的采用等。[2022/12/31 22:18:16]
確立了押金及罰金的使用后,我們接下來要決定它們「是什么」。我們知道我們希望的是「經濟敲定性」,驗證者將會基于以下方式對區塊簽名:一旦一個區塊被敲定,如果要敲定一個沖突的區塊,則必須要有大部分的驗證者簽出與自己先前訊息沖突的訊息。但對于這樣的訊息,可以被鏈偵測并懲罰。
我寫了一篇又臭又長又離題的「賭注共識」文章。賭注共識是一個有趣的提案:驗證者下注哪一個區塊會被敲定,而賭注決定了哪一個鏈會形成共識。PoW也具有這樣的性質,因為挖礦是一種賭注。如果你賭注在對的鏈上,你會獲得獎勵;如果你賭注在錯的鏈上,你失去挖礦成本。但在PoS我們可以有更高的賠率:驗證者的賠率一開始很低,但是隨著驗證者看到彼此對于某個區塊的信心逐漸增加,所有人的賠率都會平行地指數上升,直到所有人都賭注同一個區塊,這就是敲定。
CasperCBC
同時,Vlad開始大量研究機制設計,特別是讓Casper更能抵抗寡占。我們也開始研究受到古典拜占庭容錯啟發的共識,例如Tendermint。Vlad認為古典BFT并沒有說服力,他想透過一個他稱為「正確建構」的方法嘗試重新發明BFT。
哥倫比亞政府選擇基于Algorand區塊鏈的Vitalpass作為官方數字疫苗接種護照:9月11日消息,由Auna Ideas基金會和Koibanx共同創建并利用Algorand區塊鏈開發的COVID-19數字疫苗接種護照Vitalpass,已被哥倫比亞政府選為其官方免疫接種證書。
據悉,哥倫比亞是拉丁美洲第一個采用這種技術的國家。此前,薩爾瓦多政府與拉丁美洲區塊鏈資產代幣化和金融基礎設施公司Koibanx簽署了一項協議,以在Algorand之上開發其區塊鏈基礎設施。(雅虎財經)[2021/9/11 23:17:57]
正確建構的哲學與傳統BFT相當不同的點在于「敲定」是完全主觀的。CBC的哲學是,驗證節點對訊息簽名,且若他們簽了與他們先前的訊息相抵觸的訊息,則他們必須提交一個「辯護」以證明他們投票的新訊息與舊訊息相比之下有較多的支持,以取得「轉換」的權利。
為了偵測敲定性,節點尋求訊息的模式。這些訊息可以證明,多數驗證節點以一種方式可靠地對某區塊B投票,且偏離B必須大部分驗證者非法轉換投票。例如,若所有節點投給B,則所有節點都投給「包含所有人對B的投票的區塊」,這證明了他們支持B且知道其他所有人都支持B,因此他們不會有轉換的合法理由。
最后我放棄了賭注共識,因為這個方法似乎有根本上的風險。我也回頭試著理解PBFT是怎么運作的。雖然這花了一點時間,但過了幾個月后我搞懂了。
CasperFFG
我試著簡化了PBFT,將其放入區塊鏈的脈絡,并把它描述為4個「砍押金條件」,這些規則闡述哪些訊息的組合是自我抵觸因此違反規則的。我定義了決定區塊是否敲定的規則并且證明了最關鍵的「安全性」與「可行活躍性」:1.若某區塊被敲定了,則無法在不少于1/3驗證者違反砍押金條件下敲定另一個抵觸的區塊;2.若某區塊被敲定了,2/3誠實的驗證者總是可以合作以敲定新的區塊。因此只要有2/3誠實的驗證者,演算法就不會推翻之前的決定或卡住。最后我將砍押金條件從4條簡化成2條,并發展成CasperFFG——被設計成為任何PoW/PoS/其他類型區塊鏈提供敲定性的覆蓋層。
Vitalik Buterin:BTC本身是有問題的,BCH值得去爭取:Vitalik在推特上發文稱,“BCH是比特幣名稱的合理競爭者,雖然社區支持隔離見證(SegWit)已經一年有余,但目前并未得出合理的擴容方案。”[2017/11/16]
敲定性是一個非常重要的進展:一旦區塊被敲定,無論網絡怎么延遲都能保證安全,而且回溯區塊需要超過1/3驗證者作弊,且可被檢測出來且并銷毀押金。因此,回溯敲定性的成本可能會高達數億美元。透過不同的方式,CasperCBC以及FFG都達到了這個特性。
要注意的是:CasperCBC和FFG都是抽象的覆蓋層,他們都需要建立在某個現有的分叉選擇規則之上。用大白話講,CasperCBC是敲定覆蓋層適應分叉選擇規則;而CasperFFG是分叉選擇規則適應敲定覆蓋層。
FFGvsCBC
Vlad最初對分叉選擇規則的偏好是「最新訊息驅動GHOST」——一種針對PoS的改版GHOST;而我最初的偏好是先采取「混合式PoS」,使用PoW作為基底的分叉選擇規則。
在最初版的FFG當中,PoW將會逐個區塊地運作一條鏈,而PoS將會緊隨在后敲定區塊;CasperCBC從一開始就是完整的PoS。同時,Vlad跟我各自提出了共識誘因的理論。
這里有一個非常重要的區別是「唯一可歸責錯誤」——你可以知道出錯時誰應該負責而被懲罰,以及「非唯一可歸責錯誤」——一個錯誤可能是多方中的一方造成的。一個非唯一可歸責錯誤的經典案例是離線vs屏蔽,也稱為「言者-聽者錯誤等效性」。
懲罰唯一可歸責錯誤是容易的;懲罰非唯一可歸責錯誤則是困難的。如果你無法分辨區塊停止敲定是因為少數的節點離線或是因為多數的節點正在屏蔽少數會怎么樣?針對這個議題目前有三種解法:1.輕微地懲罰兩邊;2.嚴厲地懲罰兩邊;3.將鏈一分為二,各自懲罰兩條鏈的其中一邊,且讓市場決定哪條鏈較有價值。或者可以參考我寫的這篇。
2017年11月,我把CasperFFG砍押金條件以及對由于「平方溢金」導致的1/3節點離線的問題的解法寫成論文。
當然,我非常清楚訴諸社交層面來解決51%攻擊并不是很好,因此我開始尋求至少能讓鏈上節點能自動偵測「合法鏈」與「攻擊鏈」的方法。這是一個早期的想法。這想法還不錯,但是仍不是最理想的,除非網絡毫無延遲,否則它只能保證節點之間嫌疑分數差異的上限,而并非所有節點完全同意。
同時,我對Vlad的模型的主要批判與「泄氣攻擊」有關,攻擊者可以有效威脅要制造51%攻擊來造成所有人損失金錢,因而驅使所有其他人退出,因此只用極低的成本便能主導鏈。Vlad開始建立經濟模型以評估在他的模型之下進行上述攻擊的實際成本。
值得一提的是,上述所有的議題并非為PoS獨有。事實上在PoW中,人們傾向直接放棄且假設預防51%攻擊幾乎不可能,且51%攻擊是必須不計代價避免的末日。但是,如同以太坊的傳統,Vlad與我誤把「有野心的」這個詞當成贊美,而繼續研究減緩以及恢復51%攻擊的不同方法。
2018年初,Vlad在CBC的研究開始快速推進,包括安全性證明的進展。—看這個史詩般的2小時簡報以跟上2018年3月為止的研究進度同時,CasperFFG也有了重大進展,以合約的方式實現的決定使開發工作變得容易。2017年12月31日,我們發布了Python版的測試網。
Casper與分片開發路線的整合
不幸的是,FFG的開發慢了下來。以合約實現FFG雖然把一些事情變得更容易,卻讓未來要從EVM轉到EWASM以及從單鏈Casper轉到分片Casper的工作變得更困難。此外,團隊的研發工作被分成「主鏈Casper」和「分片鏈Casper」,可想而知在這兩個團隊之間產生了大量不必要的重復工作。
2018年6月,我們做了一個重大的決定:放棄以合約實現的CasperFFG,取而代之的是追求以一條獨立鏈運作的Casper,如此的設計將使分片變得更加容易。
完全PoS的轉換導致我開始更認真思考PoS的分叉選擇規則。CasperFFG與CBC都需要全部的驗證節點在每個「時期」投票以敲定區塊,這代表每秒將會數以萬計的簽章傳向每個驗證節點。BLS簽名聚合使其在計算成本上是可行的。但是我想試著利用這些額外的簽名以讓鏈更加穩固,在幾秒內取得等同于「100個確認」的安全性。這里是我初步的想法。
然而,所有這些分叉選擇的方法都有一個缺點:它們都將驗證節點分為「見證節點」與「出塊節點」,而這些負責產生區塊的出塊節點擁有過大的權力。這樣做不太好,主要是因為它需要我們有一個很安全的鏈上隨機數生成器以公平地挑選出塊節點,而鏈上隨機數生成器很困難,而且一些簡單的方法例如RANDAO似乎有愈來愈多問題。JustinDrake跟我開始解決這個問題:Justin使用VDF,這是一個輸出具有確定性與可驗證的函數,但需要大量不可平行化處理的序列時間進行運算,使提前竄改變得不可能;而我對Vlad教妥協,使用基于GHOST的分叉選擇規則以大幅減少對出塊節點的依賴,允許在惡意出塊節點大于90%且誠實見證節點大于50%的狀況下,鏈仍能不受干擾地成長。Vlad很開心,但還沒開心到極點:他偏好LMDGHOST,而我偏好IMDGHOST。
大約同一時間,我也試著想出一個方法來「流水線化」CasperFFG,將敲定時間從2.5個時期減至理論上最佳的2個時期。我對RPJ分叉選擇規則能夠很好地相容于FFG這件事感到開心。它還有一個很重要的「穩定性」:分叉選擇是一個對未來分叉選擇的好預測。這看起來很明顯,但我們卻很容易做出不具有這種特性的分叉規則。最近的進展是:LMDGHOST可能由于技術細節只能在2回合中有25%容錯,但是IMDGHOST仍可以有完整的33%容錯。
FFG與CBC之間主要的取舍是:CBC似乎有較好的理論性質;而FFG似乎比較容易實現。同時,VDF也取得了許多進展。
還有,我最近決定研究LeslieLamport1982年的老論文,在這邊論文中他提出了一個共識演算法:若假設所有節點,包括觀察者,皆在線上且具有很低的網絡延遲,則具有99%容錯。網絡延遲的假設按理來說會使其不適合作為主要的共識算法。然而,它可以在某一個情境運作相當良好:作為51%屏蔽偵測的嫌疑分數替代方案:基本上,如果51%共謀團體開始屏蔽區塊,其他驗證節點以及一般節點可以偵測到屏蔽的發生,并且使用99%容錯的共識演算法來達成屏蔽正在發生的共識,并協調少數分叉。關于這個研究的長期目標就是要盡可能減少對社交層的依賴,并將破壞鏈穩定的成本最大化,使其利用社交層回溯的可能性最小化。
還有什么?FFG的部分還有形式化證明,規格的完善,以及實現的持續進展,并著眼于安全及迅速的開發。CBC的部分也差不多。接下來讓我們勇往直前吧!
原文鏈接:
https://medium.com/taipei-ethereum-meetup/history-and-state-of-ethereums-casper-research-85e8fba26002
作者:?JuinChiu
本文首發于TaipeiEthereumMeetup的Medium站,EthFans經授權轉載,為符合大陸讀者的習慣,進行了簡繁轉換并將部分術語改為習慣用法。
據Cointelegraph8月21日報道,Facebook旗下的通訊應用程序WhatsApp為了在印度尼西亞推出數字支付服務,正與多家數字支付公司以和一家當地的國有銀行開展初步談判.
1900/1/1 0:00:002009年比特幣網絡的推出預示著全新的金融時代的開始。這個全新的金融時代由完全透明和去中心化的價值存儲和交換所驅動.
1900/1/1 0:00:00Web3.0是去中心化的互聯網。在這里,用戶完全可以掌控自己的數據、身份信息以及命運。Web3基金會就在促成這件事,挖掘去中心化網絡軟件協議,尋找有價值的項目.
1900/1/1 0:00:00據Trustnodes.com8月31日報道,比特幣閃電網絡的開發者RustyRussell表示:許多閃電網絡相關的項目都存在安全問題,這可能會導致用戶資金的損失.
1900/1/1 0:00:00前言:本文簡單明了地闡述了達成共識的兩個主要流程:區塊的提議和區塊的共識達成。區塊的提議主要涉及到PoW和PoS機制,也就是工作量證明和權益證明的機制,用以抵抗女巫攻擊,安全地選出可靠的區塊提議.
1900/1/1 0:00:00譯者注:提前說明以下信息,也許可以幫助讀者更好地理解本文的內容以及我們在翻譯用詞上的選擇:在以太坊2.0中,驗證者的職責之一是提交attestation.
1900/1/1 0:00:00