區塊鏈加密貨幣五年來的進展 - vitalik

banq發表於2019-11-24

2014年,我發表了一篇文章和一個演講,其中列出了數學,電腦科學和經濟學方面的難題,我認為這些難題對於加密貨幣領域(後來我稱為它)的成熟至關重要。在過去的五年中,情況發生了很大變化。在這篇文章中,我將逐一介紹2014年以來的16個問題,並逐一介紹一下我們今天的情況。最後,我將介紹針對2019年難題的新選擇。

這些問題可分為三類:(i)加密,因此,如果根本想解決,則可以用純數學技術解決;(ii)共識理論,對工作證明和權益證明進行了重大改進, (iii)經濟,因此與建立涉及給予不同參與者的激勵措施的結構有關,並且通常涉及應用層而不是協議層。我們看到所有類別都取得了顯著進步,儘管比其他領域有所進步。

可伸縮性

可伸縮性是我們在理論上已取得巨大進展的一個技術問題。五年前,幾乎沒有人考慮過分片。現在,分片設計已司空見慣。除了以太坊2.0,我們還有OmniLedgerLazyLedgerZilliqa以及似乎每月都會[url=https://medium.com/@giottodf/zilliqa-a-novel-approach-to-sharding-d79249347a1f]發表的[/url]研究論文。

從根本上講,我們已經有了許多技術,可以使驗證者組安全地就單個驗證者無法處理的更多資料達成共識,並且這些技術還可以使客戶間接驗證區塊的全部有效性和可用性,即使低於51%攻擊條件。這些可能是最重要的技術:

話雖如此,分片區塊鏈仍未在實時操作中出現。從理論上講,主要存在關於剩餘細節的爭議,以及與分片網路的穩定性,開發人員的經驗以及減輕集中化風險有關的挑戰;基本的技術可能性似乎不再令人懷疑。

時間戳

建立分散式激勵相容系統,無論是在區塊鏈頂部還是其自身的區塊鏈上的覆蓋圖,都可以使當前時間保持較高的準確性。所有合法使用者在某個“真實”時間周圍均具有正態分佈的時鐘,標準偏差為20秒...兩個節點之間的相距不超過20秒。

以太坊實際上只有13秒的阻塞時間,並且沒有特別先進的時間戳技術。它使用一種簡單的技術,即客戶端不接受其宣告時間戳早於客戶端本地時間的塊。也就是說,這尚未經過嚴重攻擊的測試。

但是,總的來說,時間戳記並不是當前面臨的研究挑戰的前沿。也許一旦權益鏈(包括以太坊2.0以及其他)的證據作為真實的實時系統線上出現,這種情況就會改變,我們將看到問題所在。

任意計算證明

基本上是說,建立一個SNARK(或STARK或SHARK或...)。SNARK越來越得到人們的理解,甚至在當今的多個區塊鏈中也已經使用了SNARK(包括以太坊上的tornado.cash)。SNARK作為隱私技術(請參閱Zcash和tornado.cash)和可伸縮性技術(請參閱ZK RollupSTARKDEXSTARKing擦除編碼資料根)都非常有用。

效率方面仍然存在挑戰;進行算術友好的雜湊函式是一個很大的問題,而有效證明隨機記憶體訪問是另一回事。此外,還存在一個尚未解決的問題,即證明者時間中的O(n * log(n))爆炸是否是基本限制,或者是否有某種方法可以像防彈一樣僅使用線性開銷進行簡潔的證明(不幸的是,花費線性時間)驗證)。現有方案還存在存在漏洞的風險。通常,問題出在細節而不是基礎上。

程式碼混淆

對於給定的任何程式P,混淆器都可以生成第二個程式O(P)= Q,從而如果給定相同的輸入,則P和Q返回相同的輸出,並且重要的是,Q表示沒有關於P內部的任何資訊。一個人可以在Q內隱藏一個密碼,一個祕密加密金鑰,或者一個人可以簡單地使用Q來隱藏演算法本身的專有工作。

用簡單的英語來說,問題是我們想提出一種“加密”程式的方法,以便加密的程式仍將為相同的輸入提供相同的輸出,但是該程式的“內部”將被隱藏。 。混淆的示例用例是一個包含私鑰的程式,其中該程式僅允許私鑰對某些訊息進行簽名。

程式碼混淆的解決方案對於區塊鏈協議將非常有用。

不幸的是,這仍然是一個難題。在解決該問題方面,正在進行持續的工作,一方面進行構造(例如this),以減少對我們實際上不知道的數學物件(例如,一般的密碼多線性對映)的假設,另一方面,嘗試減少實際實現所需的數學物件。但是,所有這些路徑都離建立可行和已知的安全性還很遙遠。請參閱https://eprint.iacr.org/2019/463.pdf瞭解該問題的更一般概述。

基於雜湊的密碼學

建立一個簽名演算法,該演算法不依賴於任何安全性假設,而是基於雜湊的隨機oracle屬性,以最佳大小和其他屬性來維持針對經典計算機的160位安全性。

自2014年以來,在這方面取得了兩大進展。SPHINCS是一種“無狀態”(意味著多次使用它不需要像隨機數一樣記住資訊)簽名方案,在此“難題”列表釋出後不久就釋出了,並提供大小約為41 kB的純基於雜湊的簽名方案。

另外,已經開發了STARK,並且可以基於它們建立相似大小的簽名。我僅僅五年前都沒有想到過,不僅可以使用簽名,而且可以使用通用的零知識證明。

基於雜湊的加密技術尚未解決的主要問題是聚合簽名,類似於BLS聚合使之成為可能。眾所周知,我們可以對許多Lamport簽名進行STARK,但這效率低下。一個更有效的方案將是受歡迎的。

耐ASIC的工作證明

解決該問題的一種方法是基於一種很難專門化的計算型別來建立工作量證明演算法。

在“困難問題”列表釋出大約六個月之後,以太坊決定採用其抗ASIC的工作證明演算法:Ethash。Ethash被稱為難儲存演算法。

Ethash旨在通過使記憶體訪問成為執行PoW計算的主要部分來實現ASIC抵抗。Ethash並不是第一個難於記憶的演算法,但它確實增加了一項創新:它在兩層DAG上使用偽隨機查詢,從而提供了兩種評估函式的方式。首先,如果一個人擁有整個(〜2 GB)DAG,則可以快速計算出它;這是難以記憶的“快速路徑”。其次,如果只有DAG的頂層,則可以更慢地計算它(仍然足夠快以快速檢查提供的單個解決方案)。這用於塊驗證。

Ethash在抵抗ASIC方面被證明非常成功。經過三年和數十億美元的區塊獎勵後,ASIC確實存在,但其功能和成本充其量最多比GPU 高2-5倍。已經提出了ProgPoW作為替代方案,但是越來越多的共識認為,耐ASIC的演算法將不可避免地具有有限的壽命,並且ASIC 具有缺點,因為它使51%的攻擊便宜。

我相信可以建立提供中等級別ASIC抵抗力的PoW演算法,但是這種抵抗力是有限的,並且ASIC和非ASIC PoW都有缺點。從長遠來看,區塊鏈共識的更好選擇是股權證明。

有用的工作證明

有用的工作量證明所面臨的挑戰是,工作量證明演算法需要許多屬性:

  • 難以計算
  • 易於驗證
  • 不依賴大量外部資料
  • 可以有效地以小的“一口大小”的塊進行計算

不幸的是,保留所有這些屬性的有用計算並不多,並且大多數確實具有所有這些屬性並且“有用”的計算僅“有用”了很短的時間,無法在它們周圍構建加密貨幣。

但是,有一個可能的例外:零知識證明生成。區塊鏈有效性方面的零知識證明(例如,一個簡單示例的資料可用性根源)難以計算且易於驗證。此外,它們很難計算。如果“高度結構化”計算的證明變得太容易了,則可以簡單地切換到驗證區塊鏈的整個狀態轉換,由於需要對虛擬機器和隨機記憶體訪問進行建模,因此這變得非常昂貴。

區塊鏈有效性的零知識證明為區塊鏈使用者提供了巨大的價值,因為他們可以替代直接驗證鏈的需求;儘管有了簡化的區塊鏈設計,並針對可驗證性進行了優化,但Coda已經在這樣做。這些證明可以極大地幫助改善區塊鏈的安全性和可擴充套件性。也就是說,實際需要完成的計算總量仍然遠遠少於工作量證明礦工當前完成的計算量,因此,充其量充其量不過是權益證明區塊鏈證明的附加項,而不是完整的關於共識演算法。

權益證明

解決挖掘集中化問題的另一種方法是完全取消挖掘,並轉向其他機制來計算共識中每個節點的權重。迄今為止,討論中最流行的替代方法是“股權證明”-也就是說,與其將共識模型視為“一個CPU功能單位,一票”,它變成了“一個貨幣單位,一票”。

現狀:理論上取得重大進展,尚待進行更多實際評估。

當今最有趣的共識演算法從根本上類似於PBFT,但是用一個動態列表替換了固定的驗證器集,

截止到今天,我們(在許多其他演算法中):

儲存證明

第三種方法是使用計算能力或貨幣以外的稀缺計算資源。在這方面,已提出的兩個主要替代方案是儲存和頻寬。原則上沒有辦法提供給定或使用頻寬的事後加密證明,因此,頻寬證明應最準確地視為社會證明的一個子集,在後面的問題中進行討論,但是儲存證明是當然可以通過計算完成。儲存證明的一個優點是它完全可以抵抗ASIC的攻擊。硬碟驅動器中的儲存型別已經接近最佳。

現狀:儘管在理論上還有很多工作要做,但還有很多實際的進展,以及更多的實際評估。

有許多計劃使用儲存協議證明的[url=https://filecoin.io/filecoin.pdf]區塊[/url],包括ChiaFilecoin。也就是說,這些演算法尚未經過野外測試。我自己的主要關注點是集中化:這些演算法實際上是由使用備用儲存容量的較小使用者主導,還是由大型採礦場主導?

穩定值加密資產

比特幣的主要問題之一是價格波動問題。問題:以穩定的價格構造加密資產。

現狀:有些進展。

MakerDAO現在已經投入使用,並且已經穩定了將近兩年。它的基本抵押資產(ETH)的價值下跌了93%,倖免於難,現在發行的DAI超過1億美元。它已經成為以太坊生態系統的支柱,許多以太坊專案已經或正在與之整合。其他合成令牌專案(例如UMA)也在迅速獲得發展。

但是,儘管MakerDAO系統在2019年艱難的經濟環境中倖免於難,但這種情況絕不是可能發生的最艱難的情況。

另一個可能是更大挑戰的主要挑戰是,類似於MakerDAO的系統的穩定性取決於某些基本的oracle方案。確實存在針對Oracle系統的不同嘗試,但對於在大量經濟壓力下它們能否承受得住的問題,尚無定論。

去中心化公共物品激勵

通常,經濟體系中的挑戰之一是“公共物品”問題。例如,假設有一個科學研究專案將花費100萬美元來完成,並且眾所周知,如果這項研究完成,則所產生的研究將為100萬人節省5美元。總體而言,社會收益是明確的……[但是]從每個人的貢獻的角度來看都是沒有道理的……到目前為止,大多數公共產品問題都涉及集中化。附加假設和要求:完全可信賴存在用於確定某個公益任務是否已經完成的oracle(實際上這是錯誤的,但這是另一個問題的領域)

現狀:有些進展。

一般認為,為公共物品提供資金的問題分為兩個問題:資金問題(從何處獲得公共物品的資金)和偏好彙總問題(如何確定什麼是真正的公共物品,而不是某些個人的物品)寵物專案)。假設後者已解決,則此問題專門針對前者(有關該問題的工作,請參見下面的“分散式貢獻指標”部分)。

總的來說,這裡沒有重大的新突破。解決方案有兩大類。首先,我們可以嘗試引起個人的貢獻,從而為人們提供社會獎勵。我自己關於通過邊際價格歧視進行慈善的提議就是一個例子。另一個是Peepeth的抗瘧疾捐贈徽章。其次,我們可以從具有網路效應的應用程式中收集資金。在區塊鏈領域內,有幾種選擇可以做到這一點:

  • 發行硬幣
  • 在協議級別收取一部分交易費用(例如,通過EIP 1559
  • 從某些第2層應用程式中收取一部分交易費用(例如Uniswap或某些伸縮解決方案,甚至在以太坊2.0的執行環境中收取國家租金)
  • 收取其他部分費用(例如ENS註冊)

在區塊鏈領域之外,這只是一個古老的問題:如果您是政府,則如何收稅;如果您是企業或其他組織,則如何收費。

信譽系統

自2014年以來,聲譽系統實際上並沒有開展太多工作。也許最好的辦法是使用令牌管理的登錄檔來建立可信任實體/物件的管理列表。

卓越證明

一個人可以拿出“證明”貨幣來獎勵玩家拿出某些定理的數學證明。

現狀:沒有進展,問題在很大程度上被遺忘了。

代幣分配的主要替代方法是空投 ; 通常,令牌在啟動時會與其他令牌的現有持有量成比例分配,或者基於其他指標(例如,在握手空投中)分配。尚未真正嘗試直接驗證人類的創造力,並且隨著AI的最新進展,建立僅人類可以執行但計算機可以驗證的任務的問題可能非常困難。

反Sybil系統

與信譽系統問題有些相關的一個問題是建立“唯一身份系統”的挑戰,該系統是一種生成令牌的系統,該令牌證明身份不是Sybil攻擊的一部分...但是,我們希望具有比“一美元一票”更好,更平等的特徵的系統;可以說,一人一票將是理想的選擇。

現狀:有些進展。

已經進行了許多嘗試來解決人類獨特的問題。想到的嘗試包括(不完整的列表!):

隨著對二次投票二次資助等技術的興趣日益濃厚,對某種基於人的反sybil系統的需求也在不斷增長。希望這些技術的不斷髮展和新技術能夠適應它。

分散分發指標

關於確定公益物價值的最新工作並未試圖將確定任務和確定完成質量分開;原因是實際上很難將兩者分開。特定團隊所做的工作往往是不可替代和主觀的,因此最合理的方法是將任務和績效質量的相關性視為一個整體,並使用相同的技術對其進行評估。

二次籌資是個人可以向專案捐款的一種機制,然後根據捐贈的人數和捐贈的數量,使用公式來計算如果彼此完美協調,他們將捐贈多少(即考慮到了彼此的利益,沒有成為公地悲劇的犧牲品。對於任何給定專案,將要捐贈的金額與實際捐贈的金額之間的差額將從某個中央資金池中作為補貼提供給該專案(有關中央資金池的來源,請參閱第11條)。請注意,此機制側重於滿足某些社群的價值,而不是滿足某些給定的目標,而不管是否有人在乎它。由於價值觀複雜性 問題,這種方法對於未知的未知數可能會更加健壯。

最近的gitcoin二次融資回合中,甚至已經在現實生活中嘗試了二次融資,並取得了相當大的成功。在改善二次供資和類似機制方面也取得了一些進展;特別是成對有界的二次融資以減輕串通。還進行了有關反賄賂投票技術的規範和實施的工作,以防止使用者向其投票的第三方證明;這樣可以防止多種串通和賄賂攻擊。

分散式成功指標

問題:想出並實施一種去中心化的方法來測量現實世界中的數字變數...該系統應該能夠測量人類當前可以大致達成的任何共識(例如資產價格,溫度,全球二氧化碳濃度) )

現狀:有些進展。

現在通常將其稱為“ oracle問題”。分散式預言機執行的最大已知例項是Augur,它已經處理了數百萬美元的下注結果。令牌管理的註冊中心(例如Kleros TCR令牌)是另一個示例。但是,由於存在爭議性很強的問題或嘗試了51%的攻擊,這些系統仍未對分叉機制進行實際測試(在此處搜尋“主觀權” )。還以“ 對等預測 ”文獻的形式研究了在區塊鏈空間之外發生的oracle問題。有關領域的最新進展,請參見此處

另一個迫在眉睫的挑戰是,人們希望依靠這些系統來指導資產數量的轉移,該資產的數量要大於系統本機代幣的經濟價值。

點選標題見原文

 

相關文章