區塊鏈的一個強大特性是鏈上每一部分的操作都可以被獨立驗證。即使區塊鏈上絕大部分的礦工被攻擊者控制了,且該攻擊者嘗試推動無效區塊的敲定,網絡也可以輕易拒絕。
甚至那些當時并不在驗證區塊的用戶也收到其他正在驗證的用戶發出的警報,他們可以確認攻擊者的區塊鏈是無效的,然后自動拒絕該鏈,并且進行協調以接受遵循規則的鏈。
但我們真正需要多少驗證呢?我們是需要100個還是1000個獨立驗證節點?我們是否需要創造一種文化使得全世界的普通用戶都運行軟件來驗證交易?
這些問題本身就很困難,雖然區塊鏈領域發軔于一條“Nakamoto”工作量證明式的區塊鏈,但如果我們想架構基于更優共識機制的區塊鏈,這些問題是我們需要解決的關鍵挑戰。
為什么要“驗證”?
51%攻擊正推進無效區塊的敲定。我們需要網絡拒絕這條鏈!
用戶驗證區塊鏈主要有兩點好處:首先,它能最大程度提高節點對權威鏈做出正確判斷并維持該鏈的幾率。通常,有最多礦工/驗證者支持認為有效的鏈被定義為權威鏈。由此,無效鏈就自然被拒絕了。
如果需要在多條有效鏈中選擇,那么有最多礦工/驗證者支持的鏈勝出。所以,如果你的節點可以驗證所有的有效狀態,也就可以檢測出哪些鏈是有效、哪些鏈是無效的,從而最大程度提高你正確判斷哪條是權威鏈的幾率。
但關于為什么驗證區塊鏈是有利的,還有另一個更深層次的原因。假設一個能力很強的攻擊者試圖推動協議的改變,并得到大多數礦工的支持。如果沒有其他人驗證這條鏈,這次攻擊就很容易成功了:默認情況下,每個人的客戶端都會接受這條新鏈。
等到大家都知道發生什么事了,這將取決于是否有異議者試圖協調其他人來反對這條鏈。但如果一般的用戶都在驗證,那么協調的問題就落在了另一邊:這成了想要改變協議的人的責任去說服用戶自行下載軟件補丁,接受協議的更改。
如果有足夠多的用戶在驗證,那么改變協議的嘗試并不會在默認情況下成功(defaulttovictory)。相反,試圖改變協議的這一舉動會變得有爭議,并在默認情況下陷入混亂(defaulttochaos)。
Vitalik Buterin 2014年的歷史肖像被作為NFT進行拍賣:金色財經報道,加拿大著名攝影師Andrew Miller宣布獨家拍賣以太坊創始人Vitalik Buterin的首張專業且從未售出的肖像,該肖像被鑄造成NFT。此次拍賣恰逢以太坊概念誕生10周年。拍賣將于 7 月 1 日在Manifold.xyz上開始,一直持續到7月30日,為收藏家提供了一個難得的機會來獲得以太坊早期歷史的一部分。起拍價為333 ETH。[2023/7/19 11:03:17]
混亂會中斷很多工作,且需要帶外的社會協作來解決,但這會給攻擊者帶來更大的阻礙,削弱攻擊者認為他們能夠輕易成功并脫身的信心,甚至打消他們嘗試發起攻擊的念頭。如果大多數用戶都在驗證,而攻擊只得到大部分礦工的支持,那么這樣的攻擊將會默認走向失敗(defaulttofailure),這是最好的結果。
定義派vs協和派
請注意,這個論證邏輯與我們經常聽到的非常不一樣:當一條區塊鏈的規則發生了改變,從“定義”上來說,這條鏈就不再是正確鏈了,無論有多少用戶認同這些新的規則,重要的是你個人可以選擇留在那條你所贊同的舊鏈上。
這是GavinAnderson提出的定義派的一個典型觀點:
我想提出一個比特幣宏觀上的技術定義:
“比特幣”是一個記錄唯一的、經過有效簽名的交易的賬本,這些交易都被打包進由區塊組成的鏈上,這條鏈始于創世區塊。這條區塊鏈遵循2100萬個比特幣的發行計劃,有著累計最高的雙重SHA256工作量證明。
如果要闡釋全節點的價值,另外一個來自theWasabiwallet的觀點表達得更加直接。
(譯者注:翻譯如下)
當運行比特幣全節點時,你可以界定自己自愿同意的精確貨幣規則,沒有人可以將這一選擇強加在你身上。因此,任何自主個體想要獲得財務獨立,都必須運行全節點。一旦你自己的規則切實設立了,你的軟件會在比特幣的點對點網絡里發現與你的規則不沖突的其他節點。這些對等節點會給你發送符合他們規則的有效交易和區塊,你可以自己驗證這些交易和區塊是否符合你的規則。如果被提議的交易中有一筆與你的規則相沖突,那么可以標記它為無效,然后切斷與該節點的連接并禁止該節點給你發送惡意交易。
包含Vitalik、馬克庫班等4億Twitter用戶的數據在黑市上出售:12月26日消息,據網絡犯罪情報公司Hudson Rock報道,包含私人電子郵件和關聯電話號碼的4億Twitter用戶數據已在黑市上出售,該私人數據庫包含大量信息,包括AOC、Kevin O'Leary、Vitalik Buterin、馬克庫班等知名用戶的電子郵件和電話號碼。
Hudson Rock表示,鑒于賬戶數量,它無法完全驗證黑客的說法,但表示“對數據本身的獨立驗證似乎是合法的”。Web3安全公司DeFiYield查看了黑客提供的1,000個樣本賬戶,并驗證了數據是“真實的”。它還通過Telegram聯系了黑客,并指出他們正在積極等待買家。(Cointelegraph)[2022/12/26 22:08:20]
確立你的貨幣主權
通過全節點,你可以對比特幣這種可靠貨幣的規則進行界定、驗證和執行。
請留意這個觀點的兩個核心點:
如果區塊鏈的一個版本不接受你認為是基本的且不可商榷的規則,那么從定義上來說它就不是比特幣區塊鏈,無論有多少人承認該鏈。
重要的是你所在的區塊鏈上的規則是你認為可接?受的。
但是,我認為這種“個人主義”的看法是非常錯誤的。為什么呢,讓我們來看一下會引起顧慮的一個情景:絕大多數的參與者都接受對協議規則的某些改變,而只有你覺得無法接受。
比如,如果未來交易費變得非常低,那么為了保持鏈的安全性,差不多所有人都同意采用一些新規則來增加發行量。而你堅持要繼續執行舊的規則來運行你的節點,然后對大多數人所在的鏈進行分叉。
從你的觀點來看,你的幣仍然保持在以你認同的規則來運行的系統中。但這又如何呢?其他人不會接受你的代幣;交易所不會接受你的代幣;網站會展示新幣的一些高峰值,但所指代的是多數人所在鏈的代幣。你的代幣沒有“價值”。加密貨幣和區塊鏈從根本上來說是社會建構的,如果沒有其他人相信它們的話,它們什么都不是。
所以,那另一派的觀點是什么呢?它的核心理念是用協和謬誤(coordinationproblem)的方法來解決區塊鏈的工程安全問題。
Vitalik Buterin批評比特幣S2F模型給人帶來錯誤的確定感:6月21日消息,以太坊創始人Vitalik Buterin在推特上批評比特幣S2F模型(Stock-to-flow)給人帶來一種錯誤的確定感,預定的數字會給人增加有害的感覺,盲從者應該受到嘲笑。PlanB回應了Vitalik的批評,稱“人們正在為他們失敗的項目或錯誤的投資尋找替罪羊。”
據悉,荷蘭匿名機構投資者PlanB一直在推廣比特幣S2F模型,該模型因成功預測了幾次比特幣價格而獲得大量關注。許多批評者指出的S2F模型的關鍵問題是片面估計,它只考慮BTC的供應方,而沒有假設需求將繼續增長。(Cointelegraph)[2022/6/21 4:43:16]
通常來說,現實世界中的協和謬誤是很糟糕的事:如果英語這門語言可以擺脫它高度復雜性和不規則的拼寫系統,僅僅保留發音,或如果美國轉用公制,或如果我們可以在一次經濟蕭條中把物價和工資都下調10個百分點,這些對大多數人來說都是好事。然而,在現實中,這些轉變都需要得到每個人的同意才可行,這經常是非常非常困難的。
但是,在區塊鏈應用上,我們將協和謬誤轉化為優勢。我們將協和謬誤創造的摩擦作為抵擋中心化攻擊者發起的不當行為的壁壘。
我們建構具有特性X的系統,并保證會保持特性X,因為將規則從X改為非X需要所有人都同意并且同時升級他們的軟件。即使有攻擊者可以強推改變,這樣做也是非常難的,尤其是當用戶負責積極協調異議以抵抗改變的時候,難度會更大。
請注意協和派觀點的特別之處在于:完全不同于上述所說運行全節點的目的只是為了獨善其身,且在出現爭議性強的硬分叉時,只有運行全節點的人才是安全的。而協和派觀點更像是群體免疫:越多的人參與驗證,每個人就越安全,且即使只有一部分人在驗證,每個人也能得到高度保障。
進一步分析“驗證”
我們現在進入下一個話題,它與輕客戶端和分片這些話題的相關性很強:通過驗證我們實際上實現了什么呢?要理解這一點,讓我們先回到前文所述,即如果攻擊發生了,對于攻擊的發展方向,我們有以下的偏向排序:
Vitalik Buterin推特發布五個以太坊擴展策略:\tVitalik Buterin在推特上發布了5個擴展策略:1、多條獨立鏈; 2、超大區塊; 3、不改變安全模型的逐步升級(例如、用壓縮的delta+STARKs替換txs+sigs);4、雙層網絡(主區鏈和Plasma);5、分片技術。此前Vitalik Buterin推特上稱,分片即將到來[2018/6/9]
默認失敗>默認混亂>默認成功
符號“>”在這里當然表示“優于”。最好的情況是攻擊直接失敗;稍次的情況是攻擊引起混亂,大家對什么是正確鏈莫衷一是;最壞的情況是攻擊輕易成功。為什么陷入混亂比攻擊成功要好得多?
這個問題與動機有關:混亂增加了攻擊者的成本,抵消他們最終能成功的勝算,從一開始削弱他們發起攻擊的信心。“默認混亂”(default-to-chaos)的設定意味著攻擊者不僅需要成功對區塊鏈發起51%攻擊,還需要贏得使整個社區信服、跟隨改變的“社會戰”。成功發起51%攻擊并不代表最終的勝利,隨后“社會戰”的難度遠大于此,因此攻擊行為也變得沒有那么誘人。
驗證機制的目的就是將攻擊結果從“默認成功”偏移向“默認失敗”(理想情況下),或“默認混亂”(沒那么理想的情況下)。如果大家都有一個能充分驗證的節點,當有攻擊者試圖改變區塊鏈的一些規則時,這樣的攻擊會失敗。
如果部分人有能充分驗證的節點,但大部分其他人都沒有,這種情況下攻擊會導向混亂。但現在我們還可以思考:有沒有其他方法可以實現同樣的效果?
輕客戶端和欺詐證明
順著這個邏輯,自然發展出有欺詐證明(fraudproof)的輕客戶端。今天大多數區塊鏈的輕客戶端只對由大部分礦工支持的一個特定區塊做簡單的驗證工作,而不費心去查看其他協議規則是否被執行。這些客戶端的運行都基于大多數的礦工是誠實的的假定。
如果有爭議性的分叉發生了,客戶端默認跟隨鏈上的大多數,那就變成了是由用戶來主動選擇是否要留在以舊規則運行的少數人所在的鏈上。因此,在今天輕客戶端的機制下,攻擊是默認成功的。但如果加上欺詐證明的話,情況會變得不一樣。
金融廳限制泰國Tavitt公司ICO活動,“在日居住者無法購買”:日前,泰國Tavitt公司發布與日本金融廳協商結果,在日居住者不可以參加ICO活動。非在日居住者(在海外居住的日本人)可以參加ICO。根據引用的金融廳郵件,總結出以下幾點意見:1 、在日居住者將不能參加未在日本注冊的海外法人實施的ICO活動;2、非在日居住者(在海外居住的日本人)可以參加ICO;3、未在日本金融廳注冊加密貨幣交易所資格的海外法人實施的ICO活動,如果不明確“在日居住者無法購買”的話,將無法實施ICO。4、金融廳目前對該公司的技術WAVES無法理解,如果繼續存在這種“在日居住者可以買進ICO“的狀態的情況,將涉嫌違反資金決算法。5、在日居住者將不能通過WAVES等未在日本金融廳注冊的海外法人的加密貨幣交易所購入加密貨幣。[2018/3/7]
下圖是欺詐證明最簡化的運作形式。通常,區塊鏈上的一個區塊只會影響一小部分的區塊“狀態”。
如果一個充分驗證的節點在驗證一個區塊時發現它是無效的,他們可以生成一個數據包,這個數據包是從區塊狀態獲得的,包含剛好能驗證這個區塊的數據。他們向輕客戶端廣播這個數據包。這樣,即使他們沒有鏈上的其他數據,輕客戶可以使用這個數據包的數據自行驗證區塊。
區塊鏈上的一個區塊只會影響一小部分的賬戶。
欺詐證明會包含這些賬戶的數據以及證明數據正確性的默克爾證明
這項技術有時也以“無狀態驗證”為人所知:與保存一份完整的區塊鏈狀態數據不同,客戶端可以只保存區塊頭,客戶端可以通過向其他節點請求區塊驗證所需的狀態的默克爾證明來進行實時驗證。
這種技術的優勢在于輕客戶端可以只在它們收到警報時才對個別區塊進行驗證,警報是可驗證的,所以如果輕客戶端接收到一個錯誤的警報,它們可以停止接收該節點的警報。
因此,正常情況下輕客戶端仍然是輕量的,只需要驗證由大多數礦工/驗證者支持的區塊。但在一些特殊情況下,大多數人支持的鏈會包含輕客戶端不接受的區塊,只要有至少一個誠實節點在驗證欺詐區塊,那個節點會將其視為無效,廣播欺詐證明,由此導致網絡的其他節點都拒絕這個欺詐區塊。
分片
分片是協和派觀點的一種自然延展:在分片系統里,交易數量太多了,要求大多數人一直在線直接驗證是不現實的。但如果經過合理設計,系統里任何無效的單獨區塊都可以被檢測到,且可以用欺詐證明來證明其無效性,然后在整個網絡廣播。?
一個使用分片系統的網絡可以理解為其中的每個人都是一個輕客戶端。只要每個分片上的參與者人數達到了一個最低門檻,那么整個網絡都有了群體免疫。
另外,在分片系統里,區塊生成(不只是區塊驗證)是相當方便的,且可以通過消費型筆記本電腦完成,這一點是非常重要的。當網絡的核心不再需要依賴高性能硬件時,可以降低拒絕少數人所在鏈的門檻,同時使得大多數人所驅動的協議改變更難“默認成功”并迫使所有其他人接受。
這就是可審查性在現實世界的意思:并不是一切都需要一直經過所有人的驗證,而是(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:區塊鏈VITTALIALI區塊鏈專業好找工作嗎TavittcoinItalian Football FederationALICE幣
如果你還在交易中迷茫,在投資路上受阻,不知接下來的投資路如何走下去,找到奕恒老師,會根據你的實際情況結合行情走勢為你制定投資方案,實實在在解決問題.
1900/1/1 0:00:00親愛的用戶: DigiFinex將于2020年08月27日14:00(GMT8)正式上線DeFi熱門幣DF、USDx、LEND、SNX、KNC.
1900/1/1 0:00:00?在幣圈交易中,有眾多因素會導致投資人的投資失敗,讓多年的辛苦打拼付諸于東流,其中投資人的態度和投資經驗原則至關重要。首先詳細介紹這四種投資人必須要放下的態度.
1900/1/1 0:00:00做投資一看心態二看操作、沒有良好的心態再牛的專業技術也是枉然,市場本就是一個生態系統,那么必然也將會遵循相應的自然規律和運行法則。一陰一陽之謂道,繼之者善也,成之者性也.
1900/1/1 0:00:00北京時間8月27日6:00,Filecoin太空競賽開幕式正式啟動。協議實驗室負責人JuanBenit為我們帶來了以《whyWeb3.0Matters》為主題的演講.
1900/1/1 0:00:00截至今日11:00,BitgetBTC/USDT合約過去24小時成交額9.5億余美金,相關數據如下.
1900/1/1 0:00:00