比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > 火必APP > Info

區塊鏈:Vitalik Buterin:區塊鏈“驗證”的哲學

Author:

Time:1900/1/1 0:00:00

區塊鏈的一個強大特性是鏈上每一部分的操作都可以被獨立驗證。即使區塊鏈上絕大部分的礦工被攻擊者控制了,且該攻擊者嘗試推動無效區塊的敲定,網絡也可以輕易拒絕。

甚至那些當時并不在驗證區塊的用戶也收到其他正在驗證的用戶發出的警報,他們可以確認攻擊者的區塊鏈是無效的,然后自動拒絕該鏈,并且進行協調以接受遵循規則的鏈。

但我們真正需要多少驗證呢?我們是需要100個還是1000個獨立驗證節點?我們是否需要創造一種文化使得全世界的普通用戶都運行軟件來驗證交易?

這些問題本身就很困難,雖然區塊鏈領域發軔于一條“Nakamoto”工作量證明式的區塊鏈,但如果我們想架構基于更優共識機制的區塊鏈,這些問題是我們需要解決的關鍵挑戰。

為什么要“驗證”?

51%攻擊正推進無效區塊的敲定。我們需要網絡拒絕這條鏈!

用戶驗證區塊鏈主要有兩點好處:首先,它能最大程度提高節點對權威鏈做出正確判斷并維持該鏈的幾率。通常,有最多礦工/驗證者支持認為有效的鏈被定義為權威鏈。由此,無效鏈就自然被拒絕了。

如果需要在多條有效鏈中選擇,那么有最多礦工/驗證者支持的鏈勝出。所以,如果你的節點可以驗證所有的有效狀態,也就可以檢測出哪些鏈是有效、哪些鏈是無效的,從而最大程度提高你正確判斷哪條是權威鏈的幾率。

但關于為什么驗證區塊鏈是有利的,還有另一個更深層次的原因。假設一個能力很強的攻擊者試圖推動協議的改變,并得到大多數礦工的支持。如果沒有其他人驗證這條鏈,這次攻擊就很容易成功了:默認情況下,每個人的客戶端都會接受這條新鏈。

等到大家都知道發生什么事了,這將取決于是否有異議者試圖協調其他人來反對這條鏈。但如果一般的用戶都在驗證,那么協調的問題就落在了另一邊:這成了想要改變協議的人的責任去說服用戶自行下載軟件補丁,接受協議的更改。

如果有足夠多的用戶在驗證,那么改變協議的嘗試并不會在默認情況下成功(defaulttovictory)。相反,試圖改變協議的這一舉動會變得有爭議,并在默認情況下陷入混亂(defaulttochaos)。

Vitalik:未來的以太坊升級或可實現在手機上運行全節點:9月5日消息,以太坊聯合創始人Vitalk Buterin在韓國區塊鏈周期間表示,從長遠來看,我們有計劃維護完全驗證的以太坊節點,你可以在手機上運行它。

Vitalik強調了解決以太坊網絡中心化問題必須解決的六個關鍵點,并稱全節點是以太坊追求更高去中心化程度的重要組成部分。他還提到了以太坊的路線圖,其中包括使用“Verkle樹”的“無狀態客戶端”。

今日早些時候消息,Vitalik Buterin表示,節點中心化是以太坊面臨的主要挑戰之一,應通過降低和簡化節點的運行成本來解決該問題,但完美的解決方案可能需要再等10年甚至20年。他認為,以太坊整體上最緊迫的問題是實現更高水平的可擴展性。[2023/9/5 13:19:58]

混亂會中斷很多工作,且需要帶外的社會協作來解決,但這會給攻擊者帶來更大的阻礙,削弱攻擊者認為他們能夠輕易成功并脫身的信心,甚至打消他們嘗試發起攻擊的念頭。如果大多數用戶都在驗證,而攻擊只得到大部分礦工的支持,那么這樣的攻擊將會默認走向失敗(defaulttofailure),這是最好的結果。

定義派vs協和派

請注意,這個論證邏輯與我們經常聽到的非常不一樣:當一條區塊鏈的規則發生了改變,從“定義”上來說,這條鏈就不再是正確鏈了,無論有多少用戶認同這些新的規則,重要的是你個人可以選擇留在那條你所贊同的舊鏈上。

這是GavinAnderson提出的定義派的一個典型觀點:

我想提出一個比特幣宏觀上的技術定義:

“比特幣”是一個記錄唯一的、經過有效簽名的交易的賬本,這些交易都被打包進由區塊組成的鏈上,這條鏈始于創世區塊。這條區塊鏈遵循2100萬個比特幣的發行計劃,有著累計最高的雙重SHA256工作量證明。

如果要闡釋全節點的價值,另外一個來自theWasabiwallet的觀點表達得更加直接。

(譯者注:翻譯如下)

當運行比特幣全節點時,你可以界定自己自愿同意的精確貨幣規則,沒有人可以將這一選擇強加在你身上。因此,任何自主個體想要獲得財務獨立,都必須運行全節點。一旦你自己的規則切實設立了,你的軟件會在比特幣的點對點網絡里發現與你的規則不沖突的其他節點。這些對等節點會給你發送符合他們規則的有效交易和區塊,你可以自己驗證這些交易和區塊是否符合你的規則。如果被提議的交易中有一筆與你的規則相沖突,那么可以標記它為無效,然后切斷與該節點的連接并禁止該節點給你發送惡意交易。

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]

確立你的貨幣主權

通過全節點,你可以對比特幣這種可靠貨幣的規則進行界定、驗證和執行。

請留意這個觀點的兩個核心點:

如果區塊鏈的一個版本不接受你認為是基本的且不可商榷的規則,那么從定義上來說它就不是比特幣區塊鏈,無論有多少人承認該鏈。

重要的是你所在的區塊鏈上的規則是你認為可接?受的。

但是,我認為這種“個人主義”的看法是非常錯誤的。為什么呢,讓我們來看一下會引起顧慮的一個情景:絕大多數的參與者都接受對協議規則的某些改變,而只有你覺得無法接受。

比如,如果未來交易費變得非常低,那么為了保持鏈的安全性,差不多所有人都同意采用一些新規則來增加發行量。而你堅持要繼續執行舊的規則來運行你的節點,然后對大多數人所在的鏈進行分叉。

從你的觀點來看,你的幣仍然保持在以你認同的規則來運行的系統中。但這又如何呢?其他人不會接受你的代幣;交易所不會接受你的代幣;網站會展示新幣的一些高峰值,但所指代的是多數人所在鏈的代幣。你的代幣沒有“價值”。加密貨幣和區塊鏈從根本上來說是社會建構的,如果沒有其他人相信它們的話,它們什么都不是。

所以,那另一派的觀點是什么呢?它的核心理念是用協和謬誤(coordinationproblem)的方法來解決區塊鏈的工程安全問題。

通常來說,現實世界中的協和謬誤是很糟糕的事:如果英語這門語言可以擺脫它高度復雜性和不規則的拼寫系統,僅僅保留發音,或如果美國轉用公制,或如果我們可以在一次經濟蕭條中把物價和工資都下調10個百分點,這些對大多數人來說都是好事。然而,在現實中,這些轉變都需要得到每個人的同意才可行,這經常是非常非常困難的。

Gokhshtein Media創始人:感覺Vitalik Buterin和Elon Musk會聯手開發狗狗幣:金色財經報道,Gokhshtein Media創始人David Gokhshtein 在社交媒體上披露,我們將會看到以太坊聯合創始人 Vitalik Buterin 和特斯拉首席執行官 Elon Musk 聯手并“以某種方式”開發狗狗幣 DOGE,此前 Vitalik Buterin 曾公開建議 DOGE 盡快切換到權益證明(PoS)共識機制,而 Elon Musk 也和他有過互動并提問“什么是愛?” David Gokhshtein 還表示,他可以肯定 Vitalik Buterin和Elon Musk 不會在比特幣上有任何合作。[2022/11/25 20:45:23]

但是,在區塊鏈應用上,我們將協和謬誤轉化為優勢。我們將協和謬誤創造的摩擦作為抵擋中心化攻擊者發起的不當行為的壁壘。

我們建構具有特性X的系統,并保證會保持特性X,因為將規則從X改為非X需要所有人都同意并且同時升級他們的軟件。即使有攻擊者可以強推改變,這樣做也是非常難的,尤其是當用戶負責積極協調異議以抵抗改變的時候,難度會更大。

請注意協和派觀點的特別之處在于:完全不同于上述所說運行全節點的目的只是為了獨善其身,且在出現爭議性強的硬分叉時,只有運行全節點的人才是安全的。而協和派觀點更像是群體免疫:越多的人參與驗證,每個人就越安全,且即使只有一部分人在驗證,每個人也能得到高度保障。

進一步分析“驗證”

我們現在進入下一個話題,它與輕客戶端和分片這些話題的相關性很強:通過驗證我們實際上實現了什么呢?要理解這一點,讓我們先回到前文所述,即如果攻擊發生了,對于攻擊的發展方向,我們有以下的偏向排序:

默認失敗>默認混亂>默認成功

符號“>”在這里當然表示“優于”。最好的情況是攻擊直接失敗;稍次的情況是攻擊引起混亂,大家對什么是正確鏈莫衷一是;最壞的情況是攻擊輕易成功。為什么陷入混亂比攻擊成功要好得多?

游戲公司Gravity將與The Sandbox合作,為旗下游戲Ragnarok構建元宇宙土地:7月27日消息,The Sandbox 與游戲公司 Gravity 達成合作,將把 Gravity 旗下游戲“仙境傳說”(Ragnarok)在 The Sandbox 中構建元宇宙土地,以及使用 Ragnarok IP 的各種內容和 NFT,此外用戶可以參加以 Ragnarok 元宇宙=和角色為主題的未來游戲 Jam。[2022/7/27 2:41:20]

這個問題與動機有關:混亂增加了攻擊者的成本,抵消他們最終能成功的勝算,從一開始削弱他們發起攻擊的信心。“默認混亂”(default-to-chaos)的設定意味著攻擊者不僅需要成功對區塊鏈發起51%攻擊,還需要贏得使整個社區信服、跟隨改變的“社會戰”。成功發起51%攻擊并不代表最終的勝利,隨后“社會戰”的難度遠大于此,因此攻擊行為也變得沒有那么誘人。

驗證機制的目的就是將攻擊結果從“默認成功”偏移向“默認失敗”(理想情況下),或“默認混亂”(沒那么理想的情況下)。如果大家都有一個能充分驗證的節點,當有攻擊者試圖改變區塊鏈的一些規則時,這樣的攻擊會失敗。

如果部分人有能充分驗證的節點,但大部分其他人都沒有,這種情況下攻擊會導向混亂。但現在我們還可以思考:有沒有其他方法可以實現同樣的效果?

輕客戶端和欺詐證明

順著這個邏輯,自然發展出有欺詐證明(fraudproof)的輕客戶端。今天大多數區塊鏈的輕客戶端只對由大部分礦工支持的一個特定區塊做簡單的驗證工作,而不費心去查看其他協議規則是否被執行。這些客戶端的運行都基于大多數的礦工是誠實的的假定。

如果有爭議性的分叉發生了,客戶端默認跟隨鏈上的大多數,那就變成了是由用戶來主動選擇是否要留在以舊規則運行的少數人所在的鏈上。因此,在今天輕客戶端的機制下,攻擊是默認成功的。但如果加上欺詐證明的話,情況會變得不一樣。

下圖是欺詐證明最簡化的運作形式。通常,區塊鏈上的一個區塊只會影響一小部分的區塊“狀態”。

Vitalik:以太坊2.0或需多年才能解決擴容問題:以太坊聯合創始人Vitalik Buterin表示,以太坊基礎層可擴展性還有很長路要走,很可能在很多年之后都無法實現區塊鏈基礎層擴容。按照Vitalik說法,基于應用程序基礎層擴容或許會在以太坊2.0最后一個主要階段完成之后才會出現,所以可能需要等待幾年。Vitalik表示,他鑒于當前情況建議將以太坊擴容工作全部放在二層Layer 2解決方案上,同時他建議一旦「以太坊1.5階段」完全通過權益證明,那么基本上就不會關注擴容問題了。如果用戶不確信「以太坊1.5階段」能夠解決容量問題,那么還可以采取折衷方法,即:擁有少量執行分片(比如4-8個)和更多數據分片。Vitalik建議在錢包中直接構建二層協議,比如MetaMask或Status,他也強調在「跨二層協議傳輸」方面需要做更多工作,二層解決方案可以某種方式成為協議本身一部分,而以太坊1.0則可以用作為Optimistic Rollup客戶端。[2020/10/3]

如果一個充分驗證的節點在驗證一個區塊時發現它是無效的,他們可以生成一個數據包,這個數據包是從區塊狀態獲得的,包含剛好能驗證這個區塊的數據。他們向輕客戶端廣播這個數據包。這樣,即使他們沒有鏈上的其他數據,輕客戶可以使用這個數據包的數據自行驗證區塊。

區塊鏈上的一個區塊只會影響一小部分的賬戶。

欺詐證明會包含這些賬戶的數據以及證明數據正確性的默克爾證明

這項技術有時也以“無狀態驗證”為人所知:與保存一份完整的區塊鏈狀態數據不同,客戶端可以只保存區塊頭,客戶端可以通過向其他節點請求區塊驗證所需的狀態的默克爾證明來進行實時驗證。

這種技術的優勢在于輕客戶端可以只在它們收到警報時才對個別區塊進行驗證,警報是可驗證的,所以如果輕客戶端接收到一個錯誤的警報,它們可以停止接收該節點的警報。

因此,正常情況下輕客戶端仍然是輕量的,只需要驗證由大多數礦工/驗證者支持的區塊。但在一些特殊情況下,大多數人支持的鏈會包含輕客戶端不接受的區塊,只要有至少一個誠實節點在驗證欺詐區塊,那個節點會將其視為無效,廣播欺詐證明,由此導致網絡的其他節點都拒絕這個欺詐區塊。

分片

分片是協和派觀點的一種自然延展:在分片系統里,交易數量太多了,要求大多數人一直在線直接驗證是不現實的。但如果經過合理設計,系統里任何無效的單獨區塊都可以被檢測到,且可以用欺詐證明來證明其無效性,然后在整個網絡廣播。?

一個使用分片系統的網絡可以理解為其中的每個人都是一個輕客戶端。只要每個分片上的參與者人數達到了一個最低門檻,那么整個網絡都有了群體免疫。

另外,在分片系統里,區塊生成(不只是區塊驗證)是相當方便的,且可以通過消費型筆記本電腦完成,這一點是非常重要的。當網絡的核心不再需要依賴高性能硬件時,可以降低拒絕少數人所在鏈的門檻,同時使得大多數人所驅動的協議改變更難“默認成功”并迫使所有其他人接受。

這就是可審查性在現實世界的意思:并不是一切都需要一直經過所有人的驗證,而是(1)每個部分都有足量的人進行驗證,只要有錯誤發生都會被檢測到;(2)當錯誤被檢測到,且對所有人都清晰可見。

也就是說,長期來看,區塊鏈肯定可以改善這種情況。ZK-SNARKs就是其中一種方式:這是一種高效可驗證的密碼學證明,它使區塊礦工可以向客戶端證明區塊是否滿足一些任意的、復雜的有效性條件。

有效性證明比欺詐證明更好,因為它們不依賴于交互博弈發現欺詐。另一項重要的技術是數據可用性(dataavailability)檢測,它可以用來保護網絡不受那些數據沒有完全公開的區塊的影響。

數據可用性檢測是基于一個非常保守的假定,那就是網絡上至少有少量的誠實節點在繼續運行,好的方面是誠實節點的數量門檻并不高,且即使在有大量攻擊者的情況下門檻也不需要提高。

實時性與51%攻擊

現在我將對“默認混亂”(defaulttochaos)這種情況的最嚴重后果進行論述:51%攻擊。在眾多社區中,現行的常態是如果51%攻擊成功了,那么51%攻擊的鏈就必然成為有效鏈。

現實通常都高度遵循這種常態,在最近以太經典(ETC)遭遇的51%攻擊中得到充分體現。攻擊者對3000多個區塊進行回滾(期間通過雙花竊取了807,260個ETC),他將鏈的交易往前回溯得很遠,而這對于ETC的兩個客戶端之一OpenEthereum來說,在技術上是無法實現的;結果就是,Geth的節點跟隨了攻擊者的鏈,而OpenEthereum的節點留在了原來的鏈上。

即使這次意外并不是ETC社區計劃內的設計,我們可以說這次攻擊事實上的確是“默認混亂”的走向。不幸的是,社區隨后通過投票決定接受更長的攻擊鏈成為權威鏈,ETC在推特上將這一舉動形容為“一如既往,遵循工作量證明”。因此,社區規范主動地幫助攻擊者獲得勝利。

但其實我們可以對權威鏈進行不同的定義并達成共識。試想這樣一條規則,一旦一個客戶端把某個區塊打包到權威鏈,而該區塊有超過100個后續區塊,從那時起該客戶端將拒絕任何不包含該區塊的鏈。

或者,在一個以最終確定性為導向的權益證明機制設定里(比如以太坊2.0),試想這樣一條規則,當一個區塊被最終敲定了,它就永遠不能被回滾了。

為了方便說明,以5個區塊為回滾上限為例;

實際上回滾上限可以更長,如100—1000個區塊

也就是說,這實際上對權威鏈的定義作出了重大的改變:與客戶端只看他們接收到的數據本身不同,客戶端還要看數據是什么時候收到的。這可能會因為網絡延遲出現客戶端間產生分歧的情況:如果出現由于大型攻擊,互相沖突的區塊A和區塊B在同一時間被敲定了,且一些客戶端先看到A,一些先看到B的情況,怎么辦?

但我會說這是好事,因為這意味著試圖回滾交易的51%攻擊不會“默認成功”,而是“默認混亂”,然后帶外的應急響應機制可以在兩個區塊間選擇哪個被打包到鏈上。如果協議設計合理的話,強制升級到帶外應急響應的成本是很高的:在權益證明機制里,這種情況會要求1/3的驗證者犧牲他們的存款,接受被罰沒的后果。

我們可以將這個方法拓展到其他方面。我們也可以嘗試使審查交易的51%攻擊走向“默認混亂”。對實時檢測器(timelinessdetectors)的研究將各種類型的攻擊都默認走向失敗這個方向推進,盡管還會有一些混亂的情況,因為對于連接不穩定或不在線的節點,實時檢測器沒有多大作用。

對于重視不可篡改性的區塊鏈社區,采用這種回滾限制可能是更優的發展方向。說實話,無論一筆交易已經被打包到鏈上多長時間,也很難說這條區塊鏈是不可篡改的,總是可能有一些很強的攻擊者發起無法預料的攻擊,讓區塊鏈上的交易發生回滾。

當然,我知道即使是BTC和ETC,在極端情況下都已經設有回滾限制。如果發生回滾幾周交易的攻擊,社區可能會采用用戶發起的軟分叉來拒絕攻擊者的鏈。但社區如果能更確切地在這件事上達成共識并將其形式化,會是向前邁出的一大步。

結論

這篇文章其實有幾點啟示。首先,如果我們承認社會協和的正當性,以及我們承認有關“1/N”信任模型(即假設在網絡的某處存在一個誠實的人;不同于假設某特定一方,比如Infura,是誠實的)間接驗證的合理性,那么我們能夠創建擴容性更強的區塊鏈。

其次,至于我們所討論到的驗證機制的可行性,客戶端的驗證至關重要。如果一個網絡只有一小部分人在運行節點且其他全部人都信任他們,這樣的網絡很容易被有特殊利益的人攻擊成功。

但要避免這樣的命運并不代表需要走向另一個極端:每個人都需要一直在線驗證所有交易!系統允許每個區塊被單獨驗證,用戶只需要在有人發出警報的時候驗證區塊,這樣的設計是完全合理的,且能產生同樣的效果。但這就需要認同“協和派”(coordination)對驗證作用的觀點。

最后,如果我們把實時性也列入到定義權威鏈的影響因素,我們就為提高拒絕51%攻擊的能力引入了很多的可能性。其中,最容易獲得的特性是弱主觀性(weaksubjectivity):如果客戶端被要求至少每三個月上線一次,并拒絕回滾三個月以上的交易,那么我們可以把罰沒添加到權益證明機制里,使攻擊的成本變得非常高。

但是我們可以再進一步:我們可以拒絕回滾被敲定區塊的區塊鏈,并由此維持不可篡改性,甚至是抗審查性。由于網絡是不可預測的,在某些情況下依賴實時性的確意味著攻擊會默認走向混亂,但其利大于弊。

當能理解以上這些觀點,我們就能避開以下這些陷阱:(1)過度中心化;(2)驗證過剩導致低效;以及(3)非明智的規范意外使得攻擊更加容易。除此之外,這些思維還能幫助我們構建更有韌性、性能更好、更安全的區塊鏈。

原文鏈接:https://vitalik.ca/general/2020/08/17/philosophy.html

Tags:區塊鏈VIT以太坊VITA區塊鏈是什么多選題Vitalick Neuterin以太坊價格美元實時Vital Ethereum

火必APP
EFI:晚間必讀5篇 | 誰DOT多誰說了算?波卡的治理可沒這么簡單粗暴

1.誰DOT多誰說了算?波卡的治理可沒這么簡單粗暴我們常說?“波卡網絡的發展由DOT持有人決定”,怎么決定?就是通過波卡精妙的治理機制.

1900/1/1 0:00:00
中幣(ZB)將于今日16:00開啟Centrality(CENNZ)申購

根據官方公告,中幣將于香港時間2020年8月27日16:00開啟Centrality申購,申購詳情如下:1、申購時間:香港時間2020年8月27日16:00-16:30;2、申購總額:217.

1900/1/1 0:00:00
比特幣:8.27 午間行情:短期走勢與操作思路

文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
火幣全球站于8月28日11:00上線MLN (Melon) 和BNT (Bancor)

尊敬的用戶: 火幣全球站定于2020年8月28日11:00(GMT8)上線MLN(Melon)和BNT(Bancor).

1900/1/1 0:00:00
FIL:Filecoin研發工程師:在網絡測試中,EIP 1559代碼“似乎正在發揮作用”

Filecoin研發工程師JeromyJohnson表示,在正在進行的網絡測試中,EIP1559代碼“似乎正在發揮作用”。他補充稱,“基本費”曾出現過幾次高峰,但消息進入鏈的時間幾乎沒有延遲.

1900/1/1 0:00:00
萊特幣:美國處于“終端債務螺旋”中,可能有助于加密和數字美元的采用

隨著世界各國政府增加公共支出以減輕COVID-19大流行的經濟影響,2020年可能是債務創紀錄的一年.

1900/1/1 0:00:00
ads