Vitalik:回顧區塊鏈這5年關鍵進展及新挑戰
原文鏈接:https://vitalik.ca/general/2019/11/22/progress.html
原文鏈接:
作者:Vitalik Buterin
原文鏈接:
原文鏈接:
作者:Vitalik Buterin
歡迎註明轉載。
這些問題可分為三類:
這些問題可分為三類:
2014年,我發表了一篇文章和一個演講,列出了數學、計算機科學和經濟學中的一系列難題,我認為這些問題對於(我當時稱之為的)加密貨幣領域能夠走向成熟非常重要。在過去的五年裡,很多事情都發生了變化。但是,在我們當時認為重要的問題上究竟取得了多少進展呢?我們在哪裡取得了成功,又在哪裡失敗了?在什麼重要的方面我們的想法被改變了?在這篇文章中,我將逐一回顧2014年以來的16個問題,看看我們今天在每個問題上的進展情況。最後,還將包括我對2019年面臨的難題要作出的新選擇。
這些問題可分為三類:
這些問題可分為三類:
(1)密碼學,如果它們根本是可解決的,那麼預計可以用純數學技術解決;
(2) 共識理論,主要改進PoW(Proof of Work,工作量證明)和PoS(Proof of Stake, 權益證明);
(3) 經濟學,涉及創建給予不同參與者激勵的結構,並且經常涉及應用層而不是協議層。我們看到所有類別都取得了重大進展,儘管有些進展比另一些更大。
密碼問題
1、區塊鏈可擴展性(Scalability)
當今加密貨幣領域面臨的最大問題之一是可擴展性問題。大規模區塊鏈的主要問題是信任:如果只有幾個實體能夠運行完整的節點,那麼這些實體可以合謀並同意給自己提供大量額外的加密貨幣;並且,在沒有自己處理整個區塊鏈的情況下,其他用戶將無法自己看到一個區塊是非法的。
問題:創建一種區塊鏈設計,保持類似於比特幣的安全保障,但網絡保持運行所需的最強節點的最高性能在交易數量上基本上是次線性的。
現狀:巨大的理論進步,期待更多來自現實世界的評價。
可擴展性是一個技術性問題,我們在理論上已經取得了巨大的進展。五年前,幾乎沒有人考慮分片;現在,分片設計司空見慣。除了以太坊2.0,我們還有OmniLedger,LazyLedger,Zilliqa,和似乎每個月都會出來的研究論文。在我自己看來,在這一點上的進一步進展是漸進的。從根本上說,我們已經有許多技術,允許驗證者組安全地就單個驗證者無法處理的更多數據達成共識,與此同時,這些技術還可以允許用戶間接驗證區塊的全部有效性和可用性,即使低於51% 攻擊條件。
這些可能是最重要的技術:
隨機採樣,允許隨機選擇的一個驗證者組在統計意義上代替完整的驗證者集合;
欺詐證明,允許了解錯誤的各個節點將錯誤的存在傳播給其他所有人;
保管證明,允許驗證者概率性地證明他們分別下載並驗證了一些數據;
也就是說,完全分片的區塊鏈仍未在實時運行中出現(部分分片的Zilliqa最近開始運行)。在理論方面,主要是關於細節的爭議,以及與分片網絡的穩定性、開發人員體驗和降低集中化風險有關的挑戰;基本的技術可能性似乎不再有疑問。但是仍然存在的挑戰是不能通過僅僅考慮它們就能解決的挑戰;只有開發系統並看到以太坊2.0或類似的鏈運行就足夠了。
現狀:有些進展
現狀:有些進展
問題:創建分佈式激勵相容的系統,無論是在區塊鏈頂部還是其自身的區塊鏈上的覆蓋圖,無論它是在區塊鏈之上的重疊還是其區塊鏈本身,其保持當前時間的高精確度。所有合法用戶的時鐘都在一些“實時”時間的正態分佈中,標準偏差為20秒,兩個節點之間的間隔不超過20秒。該解決方案允許依賴於“N個節點”的現有概念;實際上,這將通過權益證明或非Sybil令牌來實施(參見#9)。系統應持續地提供時間,該時間應在>99%參與的誠實節點的內部時鐘的120s內(如果可能,則更短)。外部系統可能最終依賴於此系統;因此,無論動機如何,它都應保持安全,保證攻擊者控制不超過25%的節點。
現狀:有些進展
現狀:有些進展
實際上,以太坊在13秒的出塊時間和沒有特別先進的時間戳技術的情況下運行得很好;它使用一種簡單的技術,其客戶端不接受聲明的時間戳早於客戶端本地時間的塊。這就是說,這還沒有在嚴重的攻擊下進行測試。
最近的網絡調整時間戳建議試圖通過允許客戶端在客戶端不在本地知道高準確度的當前時間的情況下確定關於時間的共識來改善現狀;但這尚未被測試。總的來說,時間戳並不是當前研究挑戰的重點。也許一旦PoS鏈(包括以太坊2.0以及其他)作為真實的實時系統在線出現後,這種情況就會改變,我們將看到問題的重要性。
3、任意計算證明
問題:創建程序POC_PROVE(P, I) -> (O, Q) 和POC_VERIFY(P, O, Q) -> {0, 1}。其中POC_PROVE執行程序P,I是程序P的輸入,POC_PROVE返回程序P的執行結果O和一個基於計算的Q;POC_VERIFY對P,O,Q,驗證Q和O是否是由POC_PROVE使用P得到的合法運行結果。
但是在效率方面仍然存在挑戰;設計算術友好的哈希函數是一個很大的挑戰,而高效的證明隨機內存訪問是另一個挑戰。此外,還存在一個尚未解決的問題,證明時間以O(n log n)的增長是否是基本限制,或者是否有某種僅使用線性開銷的方法進行簡潔的證明,類似防彈證明(bulletproofs,不幸的是,它需要花費線性的時間做驗證)。現有方案還存在風險。通常來說,問題出在細節而不是基礎上。
現狀:進展緩慢
現狀:進展緩慢
主要追求的目標是創建混淆函數O,給定任意程序P,混淆函數能夠產生第二個程序O(P)=Q,其中P,Q在給定輸入的情況下返回相同結果,重要的是, Q沒有顯示程序P內部的任何信息。人們可以在程序Q中隱藏密碼、經過加密的私鑰或者新發明創造的算法本身。
現狀:進展緩慢
現狀:進展緩慢
通常來說,這個問題想表達的是如何去尋找一種對程序加密的方法,使得加密後的程序在相同輸入下輸出相同的結果,但源程序內部的信息會被隱藏起來。代碼混淆的示例用例是一個包含私鑰的程序,其僅允許私鑰對某些消息進行簽名。
參考鏈接https://eprint.iacr.org/2019/463.pdf了解該問題更一般的概述。
現狀:有些進展
現狀:有些進展
問題:創建一個不依賴安全性假設而是基於哈希值隨機預言機屬性的簽名算法,其可保持和具有最佳尺寸和其他屬性的經典計算機(例如,由Grover算法設計的量子計算機等同於80位比特)等同的160位比特大小安全性。
現狀:有些進展
自2014年以來,這方面已取得了兩大進展。 SPHINCS是一種“無狀態”簽名方案(意味著多次使用不需要像隨機數一樣記住信息),它在此“難題”列表發布後不久就發布了, 並提供大小約為41 kB的純基於哈希的簽名方案。另外,STARK也被開發出來,可以基於它們創建相似大小的簽名。我五年前沒有想到哈希不僅可以用來簽名,還可以用於通用目的上的零知識證明。對於這種情況,我感到非常高興。這意味著,尺寸仍然是一個問題,並且持續不斷的進展正在繼續減小證明的規模(例如,請參閱最新的DEEP FRI),儘管看起來這進展也很緩慢。
基於哈希的加密技術尚未解決的主要問題是聚合簽名,類似於BLS聚合做的那樣。眾所周知,我們可以對許多Lamport簽名進行STARK,但這效率低下,一個更有效率的方案將會很受歡迎。 (如果您想知道是否可以使用基於哈希的公鑰加密,答案是不,你不能以平方次攻擊或者更嚴重的代價進行任何操作)。
共識理論問題
6、抗ASIC的工作量證明(PoW)
解決方案是創建一種解決特殊問題的難度極高的算法,深層討論ASIC的請看這:https://blog.ethereum.org/2014/06/19/mining/
現狀:是我們已經盡力去解決的問題
在“困難問題”列表發布大約六個月之後,以太坊決定採用其抗ASIC的工作證明算法:Ethash。 Ethash被稱為硬性內存算法。從理論上講,常規計算機中的隨機存取存儲器已經得到了很好的優化,因此很難針對特殊應用進行改進。 Ethash旨在通過使內存訪問成為運行PoW計算的重要環節來實現抗ASIC。 Ethash並不是第一個硬性內存要求的算法,但它確實增加了一項創新:它在兩層DAG上使用偽隨機查找,從而提供了兩種評估函數的方式。首先,如果一個人擁有整個(~2 GB)DAG,則可以快速計算出它;這是滿足硬性內存要求的“快速路徑”。其次,如果只有DAG的頂層,則需要緩慢地計算(仍然可以快速驗證結果)。用於區塊驗證。
Ethash在抗ASIC方面被證明非常成功。經過三年和數十億美元的區塊獎勵後,ASIC確實存在,但其功能和成本充其量最多比GPU高2-5倍。已經提出了ProgPoW作為替代方案,但是越來越多的共識認為,抗ASIC的算法將不可避免地具有有限的生命週期,並且ASIC抗性有缺點,因為它使51%的攻擊更加便宜(例如,參見對以太坊經典的51%攻擊https://cointelegraph.com/news/ethereum-classic-51-attack-the-reality-of-proof-of-work)。
我相信可以創建提供中等級別的抗ASIC的PoW算法,但是這種抵抗力是有限的,並且ASIC和非ASIC PoW都有缺點。從長遠來看,區塊鏈共識的更好選擇是股權證明。
7、有用的工作量證明(PoW)
使工作量證明同時有證明之外的作用;常見的候選人是Folding@home之類的東西,Folding@home是一個現有程序,用戶可以將軟件下載到計算機上以模擬蛋白質折疊,並為研究人員提供大量數據,以幫助他們治癒疾病。
現狀:可能不可行,只有一個例外
有用的工作量證明所面臨的挑戰是,工作量證明算法需要許多屬性:
1.難於計算,易於證明
2.不依賴大量外部數據
3.可以高效的分塊計算
不幸的是,沒有很多有用的計算可以保留所有這些屬性,並且大多數具有所有這些屬性並且“有用”的計算只是“有用”的時間太短,無法基於它們構建加密貨幣。
但是,有一個可能的例外:就是零知識證明。區塊鏈方面的零知識證明(例如,一個簡單示例的數據的可用性)難以計算且易於驗證。此外,它們計算難度很高。如果“高度結構化”計算的證明變得太容易了,則可以簡單地切換到驗證整個區塊鏈狀態的變化,由於需要對虛擬機和隨機內存訪問進行建模,因此變得非常昂貴。
區塊鏈有效性的零知識證明為區塊鏈用戶提供了巨大的價值,因為他們可以代替直接驗證鏈的需求;Coda已經在做這件事,儘管它的區塊鏈設計非常簡單,並針對可證明性進行了優化。這些證明可以極大地幫助改善區塊鏈的安全性和可擴展性。也就是說,實際需要完成的計算總量仍然遠遠小於工作量證明礦工當前完成的計算量,因此,充其量充其量不過是權益證明區塊鏈證明的附加內容,而不是完整的關於共識算法。
8、權益證明(PoS)
Casper FFG:
https://arxiv.org/abs/1710.09437
Tendermint:
https://tendermint.com/docs/spec/consensus/consensus.html
HotStuff:
https://arxiv.org/abs/1803.05069
Casper CBC:
https://vitalik.ca/general/2018/12/05/cbc_casper.html
解決挖掘集中化問題的另一種方法是完全取消挖掘,並轉向其他機制來計算共識中每個節點的權重。迄今為止,討論中最流行的替代方法是“股權證明”-也就是說,與其將共識模型視為將一cpu一票變為一幣一票。
https://ethresear.ch/t/analysis-of-bouncing-attack-on-ffg/6113
https://ethresear.ch/t/saving-strategy-and-fmd-ghost/6226
現狀:重大的理論進展,需要更多的實踐評估
在2014年底之前,權益社區的證據清楚表明,某種形式的“弱主觀性”是不可避免的。為了維護經濟安全,節點在首次同步時需要獲取最近的檢查點協議,如果節點離線超過幾個月則需要再次獲取。這是個很大的風險。許多PoW擁護者仍然堅持使用PoW,因為在PoW鏈中,可以發現鏈的“頭”,作為唯一的數據來自可信來源,即區塊鏈客戶端軟件本身。但是,PoS倡導者願意承擔這種風險,因為增加的信任要求並不大,通過長期的保證金證明股權的途徑變得很明確。
如今,最有趣的共識算法從根本上類似於PBFT(Practical Byzantine Fault Tolerance,實用拜占庭容錯算法),但是用一個動態列表替換了固定的驗證器集,任何人都可以通過將令牌發送到具有鎖定時間的系統級智能合約中來加入任何人都可以加入的動態列表(例如,在某些情況下,提取可能最多需要4個月才能完成)。在許多情況下(包括以太坊2.0),這些算法通過對驗證者進行處罰,從而發現他們以某些方式違反協議的行為而實現了“經濟最終性”(有關權益證明的完成之處,請參見此處的哲學觀點)如下:
這些也在繼續進行細化
以太坊2.0(將實施FFG的鏈)目前正在實施中,並已取得了巨大進展。另外,Tendermint以Cosmos鏈的形式運行了幾個月。我認為,關於股權證明的其餘論點與優化激勵措施和進一步規範應對51%攻擊的策略有關。此外,Casper CBC規範仍可以用來作為具體的效率改進。
解決該問題的第三種方法是使用計算能力或貨幣以外的稀缺計算資源。在這方面,已提出的兩個主要替代方案是存儲和帶寬。原則上,沒有辦法提供給定或使用帶寬的事後加密證明,因此,帶寬證明應最準確地視為社會證明的一個子集,在後面的問題中進行討論,但是存儲證明是當然可以通過計算完成。存儲證明的一個優點是它完全可以抵抗ASIC的攻擊。硬盤驅動器中的存儲類型已經接近最佳。
經濟學
現狀:有些進展
現狀:有些進展
比特幣的主要問題之一是對法幣價格的波動。問題:合成對法幣對價穩定的加密資產。
現狀:有些進展
現狀:有些進展
到目前為止,由MakerDAO控制的抵押品低於MKR代幣的價值;如果這種關係發生逆轉,那麼MKR持有者有動機集體試圖“掠奪” MakerDAO系統。有多種方法可以防止此類攻擊,但尚未在現實世界中進行過測試。
現狀:有些進展
現狀:有些進展
通常,經濟體系中的挑戰之一是“公共物品”問題。例如,假設有一個科學研究項目將花費100萬美元來完成,並且已知,如果這項研究完成,則所產生的研究將為100萬人節省5美元。總體而言,公共物品的社會收益是明確的,然而,從每個人的貢獻的角度來看都是沒有道理的。到目前為止,大多數公共物品問題的解決都涉及中心化。附加假設和要求:存在用於確定某個公共物品任務是否已經完成的完全可信賴的預言機(實際上這是錯誤的,但這是另一個問題的領域)
現狀:有些進展
發行代幣
一般認為,為公共物品提供資金的問題可以分為兩個問題:資金問題(從何處獲得公共物品的資金)和傾向聚合問題(如何確定什麼是真正的公共物品,而非某些個人的私人項目)。這裡假設後者已解決,此問題專門針對前者,即資金問題(有關該問題的工作,請參見下面的“分佈式貢獻度量”部分)。
總的來說,這裡沒有重大的新突破。解決方案有兩類。首先,我們可以嘗試引出個人的貢獻,從而為人們提供社會獎勵。我自己關於通過邊際價格歧視進行慈善的提議就是一個例子;另一個是Peepeth的抗瘧疾捐贈徽章。其次,我們可以從具有網絡效應的應用程序中收集資金。在區塊鏈領域內,有幾種選擇可以做到這一點:
發行代幣
在協議級別收取交易費用(例如,EIP 1559)
從某些Layer-2的應用程序中收取交易費用(例如Uniswap或某些可伸縮解決方案,甚至在以太坊2.0的執行環境中收取租借費用)
網絡效應,又稱網絡外部性或需求方規模經濟,指在經濟學或商業中,消費者選用某項商品或服務,其所獲得的效用與「使用該商品或服務的其他用戶人數」具有相關性時,此商品或服務即被稱為具有網絡效應。
現狀:進展緩慢
現狀:進展緩慢"問題:設計一個形式化的信譽體系,包括:一個信譽分數,rep(A,B)-> V,其中V 表示從A 的角度來衡量B 的信譽;一種確定一方可以信任另一方的概率機制;以及在有某進行中或結束的交互記錄狀態下,更新信譽的機制。"現狀:進展緩慢
現狀:進展緩慢
以某種形式上鍊的信息不充足。如果由於某些其他原因,此類(主觀評判)信息開始出現,那麼這類信譽系統可能會變得更加流行。"證明"證明
一個有趣的,而且尚未被大力探索的問題,就是解決[代幣]分配問題(這就是為何不能那麼簡單地適用於挖礦場景-註解:加密哈希的耗費電力運算),(分配遵循)對社會有用的任務,但(設計這個分配)這需要人來驅動的創造性嘗試和天賦。例如,人們可以想出一個
證明
證明
貨幣,獎勵那些給出某些數學定理證明的玩家。
現狀:無進展,問題幾乎被遺忘
代幣分發的主要替代方法是空投的流行;通常,代幣在啟動(初期原始)配時,要么與某些其他代幣的現有持有量成比例分配,要么基於其他指標(例如,握手空投,註解:通過某種驗證的去中心化空投方式)。直接驗證人類的創造力還沒有被真正嘗試過,隨著最近在AI上的進展,創建一個只有人類可以做,但用計算機可以驗證的任務,這可能太難了。
14、去中心化貢獻度
不幸的是,激勵公益物的產出並不是中心化解決的唯一問題。中心化解決的另一個問題是:首先要明確應該產出哪些公益物,然後確定付出多大的工作量才能完成公益物的產出。這一挑戰涉及後一個問題。
現狀:有些進展,重點有所改變
近年來在確定公益物貢獻度的價值方面的的最新進展並沒有將1.確定任務和2.確定完成度這兩個方面分開,原因是在實踐中這二者很難分得開。某些團隊所做的工作往往是不可替代和主觀的,因此最合理的方法是將任務和績效質量的相關性視為一個整體,並使用相同的技術對它們進行評估。
幸運的是,在這方面已經取得了很大的進步,尤其是發現了“二次籌資”後。 “二次籌資”是一種機制,在這個機制下,個人可以向項目捐款。在捐贈者完美協調條件下,基於捐贈的人數和捐贈的數量,使用公式計算捐贈量。 (這裡的完美下調指:即考慮到了每個捐贈者的利益,也不會導致所有捐贈集體悲劇)。在給項目捐贈時,本應捐贈的金額與實際捐贈的金額之間的差額將從某個中央資金池中作為補貼提供給項目方(有關中央資金池的來源,請參閱第11條)。請注意,此機制側重於滿足某些社區的價值,而不是滿足某些給定的目標,而不管是否有人在乎它。由於價值問題的複雜性,這種方法對於未知的未知數可能更健壯。
在現實中,二次融資機制已經在最近的gitcoin二次融資取得了相當大的成功。在改進二次融資機制和類似機制方面也取得了一些進展;例如,成對有界的二次融資可以減少共謀和串通現象。人們還在關於反賄賂投票技術的規範化和實施方面,做了大量工作,防止用戶向第三方證明他們投票給了誰;這防止了多種共謀、串通和賄賂攻擊。
HumanityDAO:
Pseudonym parties:
https://bford.info/pub/net/sybil.pdf
POAP ("proof of attendance protocol"):
BrightID:
15、抗女巫攻擊系統
這個問題有點與信譽系統相關,它是創建“唯一身份系統”的挑戰。抗女巫攻擊系統是一種生成令牌的系統,該令牌證明其身份不屬於女巫攻擊的一部分。然而,我們希望具有比“一元一票”更好,更平等的系統;可以說,一人一票將是理想的選擇。
隨著對二次投票和二次融資等技術的興趣日益濃厚,對某種基於人的反女巫系統的需求也在不斷增長。希望這些技術的不斷發展和新技術能夠滿足這些需求。
現狀:有些進展
現狀:有些進展
現狀:有些進展
新問題
加密混淆
加密混淆
如果我要在2019年再次編寫難題清單,則上述問題將繼續存在,但重點將發生重大變化,同時還將出現新的重大問題。以下是一些精選:
加密混淆
正在進行的有關後量子密碼的工作:既基於哈希,又基於對量子算法安全的“結構化”數學對象,包括橢圓曲線等值線,點陣等。
預言機
預言機
預言機
同態加密和多方計算
同態加密和多方計算
但不再強調“現實測量”,而側重於一般的“獲取實際數據”問題唯一人類身份(或更實際地說,是半唯一人類身份):與上面的#15相同,但強調的是“絕對”的解決方案:與獲得兩個身份相比,要難得多一種,但是即使我們成功了,也無法獲得多個身份既是不可能的,而且也有潛在的危害。
同態加密和多方計算
同態加密和多方計算
實用性仍需要不斷改進。
去中心化治理機制
DAO很酷,但是當前的DAO仍然很原始,我們可以做得更好。
完全形式化對PoS 51%攻擊的響應
正在進行的工作和完善的https://ethresear.ch/t/responding-to-51-attacks-in-casper-ffg/6363
更多公共物品資金來源


