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

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

Author:

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

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

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

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

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

為什么要“驗證”?

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

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

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

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

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

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

SmartMoney和套利者通過Vitalik拋售SHIK后引發的價格波動進行套利:金色財經報道,據Lookonchain監測,在昨日Vitalik地址拋售約5萬億枚SHIK后,SHIK的價格暴跌近80%,某些SmartMoney和套利者立即以非常低的價格買入SHIK,然后賣出。其中一個SmartMoney地址在SHIK以14枚ETH賺了96枚ETH,另一名套利者用6枚ETH賺了89.6枚ETH。[2023/3/8 12:49:11]

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

定義派vs協和派

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

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

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

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

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

(譯者注:翻譯如下)

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

VitaDAO完成410萬美元融資,輝瑞風投部門Pfizer Ventures等參投:1月30日消息,去中心化自治組織VitaDAO完成410萬美元融資,輝瑞的風投部門Pfizer Ventures、Shine Capital、L1 Digital、Balaji Srinivasan等參投。

這是輝瑞在web3領域的第一筆投資,該公司通過特殊目的工具持有Vita治理代幣,甚至參與了治理提案。該輪融資的消息是在輝瑞先前宣布向VitaDAO提供500,000美元的承諾之后發布的。

VitaDAO資助的項目主要關注長壽和衰老過程,支持了生產mRNA藥物的斯坦福大學分拆公司 Turn Biotechnologies,以及哥本哈根大學一項關于了解藥物對衰老過程影響的研究。

VitaDAO旨在利用這筆資金進一步資助長壽研究項目和將于明年從DAO中剝離出來的生物技術初創公司。(TheBlock)[2023/1/30 11:36:40]

確立你的貨幣主權

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

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

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

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

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

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

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

Vitalik Buterin澄清:我不是“反馬斯克分子”:金色財經報道,以太坊聯合創始人Vitalik Buterin今日在社交媒體上表示,馬斯克接管Twitter的最大的可能不是他會做出任何具體的政策決定,而是讓他的支持者膽大妄為。不過,該言論隨后在社交媒體引發了大量爭議,Vitalik Buterin目前已經做出澄清,他表示:“不知道為什么這么多人在這條推文中讀到我反對馬斯克的潛臺詞,我不是反馬斯克分子(anti-Elon)。[2022/4/30 2:41:37]

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

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

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

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

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

進一步分析“驗證”

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

動態 | Stellar發布公告提醒用戶警惕欺詐性空投活動Stellar-Activity:Stellar官方Reddit發布公告,提醒用戶警惕欺詐性空投活動。最初是StellarShade然后變成Stellar Dolphin Fork,現在叫Stellar-Activity(XLA)。此類騙局使用相同的運作模板進行詐騙——先是在bitcointalk.org發帖稱將在某一特定日期進行大空投,然后開始發放贈品,推行營銷策略以在社交媒體上吸引不知情的粉絲來傳播這一消息,粉絲們在不知情的情況下間接地進行二次傳播,致使更多的人上當。騙子們聲稱將會以2:1的比例給你提供XLA(每持有1XLM就給予2XLA),然后誘使你在他們的賬戶查看器里輸入私鑰,之后盜取你所有的賬戶存款。[2018/12/2]

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

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

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

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

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

輕客戶端和欺詐證明

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

以太坊創始人Vitalik Buterin:加密貨幣不是用來炒的:以太坊(Ethereum)創始人維塔利克-巴特林(Vitalik Buterin)認為,加密貨幣技術正朝著錯誤的方向前進。巴特林在推特上發帖稱:“包括以太坊在內所有加密貨幣社區的人都聽著:需要注意,帶著數千億美元的數字紙上財富到處炫耀,和為社會做些有意義的事情之間是有區別的。”[2017/12/29]

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

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

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

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

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

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

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

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

分片

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

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

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

這就是可審查性在現實世界的意思:并不是一切都需要一直經過所有人的驗證,而是(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:區塊鏈VITITAVITA有人靠區塊鏈4天就掙了30萬vite幣還能起來嗎Sharpe CapitalVital Ethereum

歐易交易所app下載
慧子:K線中的三重頂形態的技巧及運用_NFT

慧子:K線中的三重頂形態的技巧及運用什么是K線三重頂形態?三重頂又稱為三尊頭,是外匯交易中經常用到的一種技術指標,下面清風老師就為大家介紹一下K線三種頂形態.

1900/1/1 0:00:00
交易所的DeFi斗爭 熱潮背后的流量隱憂_EFI

就像神功修煉到最后,永遠有一層看不見的屏障,中心化交易所們現如今也遇到了這個難題。2020年,馬太效應在交易所賽道中表現得愈發明顯,強者愈強,壁壘森嚴,新型交易所難以實現進一步的跨越.

1900/1/1 0:00:00
yearn.finance (YFI)_YEA

基本信息: 英文全稱:yearn.financeYFI 英文簡稱:YFI 項目簡介: Yearn.finance是一個去中心化金融平臺,致力于提供聚合理財、杠桿交易以及其他金融服務.

1900/1/1 0:00:00
幣虎已恢復MKC提幣業務_GER

尊敬的用戶: 幣虎交易平臺已恢復MKC提幣業務。邀您體驗! 幣虎團隊 2020年8月28日 DCG請求法院駁回Gemini對該公司及其創始人的欺詐訴訟:金色財經報道,Digital Curren.

1900/1/1 0:00:00
動作頻頻,ZT交易所全球化布局加速_DEF

據官方公告,ZT交易所近日以來一直頻繁上幣,ZT創新板即將上線GLE、ABL、SWTH等多個熱門幣種。不難發現,最近的ZT可謂是動作頻頻.

1900/1/1 0:00:00
關于支持Elrond(ERD)主網切換為Elrond Gold(EGLD)的公告_GLD

親愛的用戶:幣安將支持Elrond主網切換為ElrondGold的計劃,具體安排如下:香港時間2020年08月30日中午12:00暫停ERD充值、提現業務,進行主網切換.

1900/1/1 0:00:00
ads