以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

Vitalik Buterin:區塊鏈“驗證”的哲學_VITA:區塊鏈dapp開發pdf

Author:

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

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

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

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

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

為什么要“驗證”?

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

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

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

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

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

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

Vitalik Buterin:賬戶抽象可為以太坊帶來數十億美元的收益:金色財經報道,最近在巴黎舉行的以太坊社區會議(EthCC)上的一次演講中,以太坊創始人Vitalik Buterin詳細介紹了賬戶抽象升級如何讓用戶用用于交易的代幣支付Gas費,從而吸引數十億人使用以太坊。帳戶抽象使用戶能夠從外部擁有的錢包(EOA)切換到基于智能合約的錢包。如果此次升級成功,錢包管理將比現在更加高效和輕松。Buterin和社區相信,這可以使加密技術得到廣泛采用。

此外,加密貨幣領域充斥著丟失助記詞或助記詞被盜的用戶。通過賬戶抽象,用戶可以創建充當可編程智能合約的非托管錢包。據報道,錢包恢復只是此次新升級帶來的眾多功能之一。Buterin相信此次升級可以給以太坊帶來數十億美元的收益。[2023/7/20 11:05:50]

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

定義派vs協和派

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

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

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

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

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

(譯者注:翻譯如下)

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

V神將推特名改為豚林vitalik.eth,并呼吁關注不友好的AI風險問題:金色財經報道,以太坊創始人Vitalik Buterin將推特名改為豚林vitalik.eth。昨日,V神呼吁更多的人關注“不友好的AI風險”問題,認為這是未來一兩個世紀可能讓人類脫軌的“最大事情”。V神稱,在未來1-2個世紀里,不友好的AI風險仍然可能是最大的事情,可能會嚴重阻礙人類登上星球。強烈建議更多的人關注這個問題。

推特一名粉絲表示,第三次世界大戰可能是當前人類面臨的一個更大風險時,V神表示不同意這個觀點。V神稱,不,如果真的很糟糕的話,第三次世界大戰可能會殺死10到20億人(主要是由于食品供應鏈中斷),但它不會消滅人類,一個糟糕的人工智能可能真的會永遠地消滅人類。[2022/6/10 4:16:07]

確立你的貨幣主權

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

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

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

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

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

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

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

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

Vitalik:Rollup有可能使以太坊TPS達到每秒10萬筆交易,甚至更多:7月24日,“2021世界區塊鏈大會·杭州”在杭州未來科技城學術交流中心開幕。以太坊創始人Vitalik Buterin(V神)受邀出席并發表主題演講《以太坊進入2.0之后,會發生什么?》。他表示,現階段, Rollup可以擴展到每秒大約4000到5000筆交易。假設整個以太坊生態都可以用上Rollup,然后有了數據分片之后,我們可能有20到50倍更多的空間。Rollup有可能使以太坊TPS達到每秒10萬筆交易,未來甚至更多。分片首先會添加一些基礎的安全性,然后再增加更多的安全性,然后分片會迎來越來越多的改進。(巴比特)[2021/7/24 1:12:51]

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

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

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

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

進一步分析“驗證”

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

Gravitation-X創始人Jakies:數字支付可有效解決跨境支付難題:Gravitation-X創始人Jakies在剛剛的金色財經直播間中表示:目前,傳統的跨境支付方式有較長的清算時間,手續費較高,有時跨境支付欺詐會帶來跨境資金風險。通過Gravitation-X技術創建點對點支付方式,促進跨境業務發展。會大幅度提高效率。[2020/5/2]

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

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

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

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

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

輕客戶端和欺詐證明

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

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

聲音 | 江卓爾:分片提升容量難度大時間長 故而Vitalik提出使用BCH或者ETC作為以太坊數據層:7月25日消息,萊比特礦池CEO江卓爾表示,分布式系統(去中心化系統)有一個不可能三角,稱為分布式系統CAP定理,指的是在一個分布式系統中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區容錯性),三者不可兼得。Vitalik提出用分片方法提升容量,但分片方法的難點是一致性,也就是CAP中的C,Consistency(一致性),這個是一個要挑戰不可能三角的開發,所以開發難度很大,時間長,所以Vitalik才提出使用BCH或者ETC作為以太坊數據層的短期方案,來解決ETH的燃眉之急。[2019/7/25]

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

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

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

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

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

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

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

分片

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

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

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

這就是可審查性在現實世界的意思:并不是一切都需要一直經過所有人的驗證,而是(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:區塊鏈VITVITA以太坊區塊鏈dapp開發pdfVita Inuvita幣官網以太坊硬幣ETHD

比特幣交易
ICS相互鏈:時代賦能,萬商鏈盟_MINI:KEN

今年是一個很特別的年份。疫情的襲來,打亂了浩浩湯湯的全球化進程,一時之間,竟然出現了一幅逆全球化的圖景,讓人猝不及防.

1900/1/1 0:00:00
市值第五的波卡 生態里還有哪些機會?_STA:Koala Currency

2020年,隨著波卡主網的逐步上線、平行鏈測試網Rococo的首次升級、開啟DOT轉賬,波卡生態已開始進入爆發期。但是隨著生態的火熱,打著「波卡「生態項目的騙局也浮出水面.

1900/1/1 0:00:00
歐洲刑警組織和國土安全局搗毀的臭名昭著的電影海盜_比特幣:泰達幣和比特幣區別大嗎現在

大規模的國際調查已逮捕了幾名涉嫌進行非法電影盜版活動的個人。該調查是在18個國家/地區的執法機構的協調下進行的,并得到了國土安全部和歐洲刑警組織的支持,調查的重點是臭名昭著的電影盜版團伙,通常被.

1900/1/1 0:00:00
比特幣相繼跌破下方后,近期有趨勢直上‘11900’的高位跡象_比特幣:poolx幣行情

天開篇之前先講一點和具體行情無關的東西,所謂的交易之道是什么?做交易,最忌諱使用壓力資金。資金一旦有了壓力,心態就會扭曲.

1900/1/1 0:00:00
BKEX Global 關于上線DOTUSDT與ATOMUSDT永續合約的公告_BAL:BXBTC

親愛的BKEXer: ?? BKEXGlobal將于2020年8月28日15:05上線DOTUSDT與ATOMUSDT永續合約.

1900/1/1 0:00:00
EthHub 聯合創始人稱以太坊改進提案 EIP-1559 可能會在 6 到 12 個月內推出_以太坊:比特幣最新價格行情以太坊實時行情

鏈聞消息,EthHub聯合創始人AnthonySassano撰文稱,「以太坊改進提案EIP-1559可能會在未來6到12個月內推出。不過,如果在接下來的幾個月中出現任何重大阻礙,就另當別論.

1900/1/1 0:00:00
ads