數(shù)據(jù)分片是一種向內(nèi)擴容的手段卻偽裝成了向外擴容记舆,這將使得以太坊不斷中心化

原作者:StopAndDecrypt

原文:https://hackernoon.com/sharding-centralizes-ethereum-by-selling-you-scaling-in-disguised-as-scaling-out-266c136fc55d


輕量客戶端及完全驗證節(jié)點之間的區(qū)別

你是不是在想這個標(biāo)題究竟是什么意思利朵?別著急,往下讀就會明白了。最好先去給自己倒杯咖啡,因為這篇文章也很長萌壳。如果你還沒讀過以下這篇文章的話,可以先讀這篇:

以太坊區(qū)塊鏈大小已經(jīng)超過1TB了,這是個嚴(yán)重的問題

在發(fā)表了上面這篇文章之后袱瓮,我和Vitalik進(jìn)行了以下對話缤骨。盡管一開始是他對我的文章的回應(yīng),但對我來說尺借,這段對話的目的是指出為什么Vitalik及許多以太坊粉絲無法理解數(shù)據(jù)分片為什么降低網(wǎng)絡(luò)的完整度绊起。幸運的是,對于我所提出的問題燎斩,Vitalik都很配合地回答了虱歪,這些問題逐漸分解了這背后的邏輯,所以他的回答也屬意料之中:

我本來要說的是“節(jié)點”栅表,打錯打成“區(qū)塊”了笋鄙,但是他知道我是什么意思并且就此進(jìn)行了回應(yīng)。

@StopAndDecrypt:?好像非權(quán)益節(jié)點的角色都在逐漸弱化怪瓶,就像現(xiàn)在的比特幣SPV節(jié)點一樣萧落,只不過“擁有選擇”而已。

Vitalik:?在“任何”系統(tǒng)中洗贰,一個非權(quán)益節(jié)點所能做的就只是驗證而已找岖。在一個非數(shù)據(jù)分片的系統(tǒng)中,你可以主動驗證所有東西敛滋。而在一個數(shù)據(jù)分片的系統(tǒng)中许布,更多是被動的:只驗證你在乎的東西,此外如果其他節(jié)點對某些數(shù)據(jù)提出疑問的話你也可以去驗證矛缨。

@StopAndDecrypt:?不對爹脾,如果發(fā)來的是無效的區(qū)塊的話我的節(jié)點會拒絕,這是遵守共識的行為箕昭。只有遵守共識的節(jié)點才有意義灵妨,并且幸運地所有比特幣節(jié)點都能夠做到這點。你的意思是只有有權(quán)益的節(jié)點才會遵守共識落竹。

我把這一段標(biāo)出來因為這一段很好地總結(jié)了這篇文章的中心思想泌霍。

Vitalik:?“以太坊現(xiàn)在就是這個樣子,我們轉(zhuǎn)換到數(shù)據(jù)分片之后也將會一樣述召,只不過一些功能會對某些人來說更好用一些朱转。?

我:我完全不同意你的看法。以下是完整的反駁积暖。

這篇文章的目的是以易于理解的方式詳細(xì)解釋以下信息(排名不分先后):

·?????比特幣藤为、舊的以太坊、新的以太坊的網(wǎng)絡(luò)架構(gòu)之間的差別夺刑,只涉及到非常簡單的數(shù)學(xué)缅疟,沒有復(fù)雜的方程分别,只是需要一點邏輯。

·?????基于區(qū)塊鏈的網(wǎng)絡(luò)最終隨著時間的推移最終都會變成中心化或者去中心化存淫,究竟會變成哪個取決于其網(wǎng)絡(luò)架構(gòu)耘斩。這就排除了bootstrap和技術(shù)成熟周期(不管這個周期有多長),并且假設(shè)不對協(xié)議進(jìn)行任何改動桅咆。我們可以把這稱為該網(wǎng)絡(luò)的“本質(zhì)方向”括授。

·?????對協(xié)議進(jìn)行改動可能會對網(wǎng)絡(luò)的中心化或去中心化過程產(chǎn)生即時或間接的影響,但長期來看不一定會改變該網(wǎng)絡(luò)的“本質(zhì)方向”岩饼。

·?????目前來看以太坊的固有方向是中心化的荚虚,將它改為權(quán)益證明也不會改變這個方向,而數(shù)據(jù)分片則是一個有瑕疵的擴容方案忌愚,只是緩兵之計曲管。

這篇文章很長,但不難懂硕糊。如果你想弄懂這個問題的話就好好讀一下院水。

目錄

概念解釋

· ? ? 擴容的種類,以及這些不同的擴容方案是如何應(yīng)用于去中心化的區(qū)塊鏈網(wǎng)絡(luò)上的简十。

·? ? 去中心化的網(wǎng)絡(luò)中檬某,完全驗證的節(jié)點的重要性。

·? ? 本質(zhì)的中心化vs. 本質(zhì)的去中心化

網(wǎng)絡(luò)區(qū)別

· ? ?比特幣的網(wǎng)絡(luò)拓?fù)鋵W(xué)螟蝙,以及為什么比特幣本質(zhì)上是去中心化的恢恼。

· ? ?以太坊工作證明的拓?fù)鋵W(xué),以及為什么它本質(zhì)上是中心化的胰默。

· ? ?以太坊權(quán)益證明拓?fù)鋵W(xué)场斑,以及為什么它與前者并無差別。

數(shù)據(jù)分片

· ? ?以太坊的權(quán)益證明拓?fù)鋵W(xué)和數(shù)據(jù)分片牵署,以及為什么這更加糟糕漏隐。

反駁

· ? ?對Vitalik的回應(yīng)的反駁。

· ? ?對這篇文章的反駁:

https://medium.com/@gustav.simonsson/keeping-up-with-the-etherians-a-response-to-blockchain-size-concerns-a4858c2701d9

擴容什么奴迅?擴誰的容青责?在哪里擴容?

什么時候......擴容取具?


論點:更大的區(qū)塊會使得驗證者中心化

就是這么簡單脖隶,這就是擴容之爭中整個數(shù)字貨幣社區(qū)爭論的中心,熟悉區(qū)塊鏈協(xié)議的人一般都不會否認(rèn)這個事實暇检。以下這段節(jié)選我認(rèn)為很好地解釋了各種“第二層”擴容方案(在這些方案中唯一可行的一個已經(jīng)實施到比特幣中了)产阱。

以下視頻是Vitalik解釋為什么數(shù)據(jù)分片是一種第一層(L1)擴容方案:

https://www.youtube.com/watch?time_continue=40&v=SAiuWwzcp6g

Vitalik:分片技術(shù)是一種第一層(L1)擴容方案,就是說它可以讓區(qū)塊鏈更好地工作块仆,基本上會有更高的可延展性心墅,這就是分片技術(shù)主要要做到的酿矢。

請注意,在這里說的“擴容”并沒有給出語境怎燥,那么我們就來提供一點語境。我們不能一直亂用“可擴容性”這個詞蜜暑,尤其是我們甚至還沒有對這個詞達(dá)成一個意見一致的定義铐姚。哪怕每個人對這個概念的定義都不同,在此進(jìn)行辯論的人應(yīng)當(dāng)至少對這個詞提供他們自己的定義肛捍。

我在本篇文章中討論擴容的時候隐绵,我所討論的只有一件事,那就是在不犧牲去中心化的前提下提高性能拙毫,而網(wǎng)絡(luò)的去中心化程度最直接的代表指征之一就是驗證節(jié)點的總數(shù)依许。討論區(qū)塊鏈網(wǎng)絡(luò)擴容的時候聚焦在除此之外的任何事情,要么是沒有正確地理解缀蹄,要么就是出于某種原因而故意誤導(dǎo)峭跳。

把這一點說清楚很重要,因為這是一個基礎(chǔ)缺前,能夠幫助你接下來理解以下幾種擴容方式以及如何應(yīng)用到去中心化網(wǎng)絡(luò)上蛀醉。

· ? ? ?向外擴容:增加基層(L1)上的完全驗證節(jié)點的數(shù)量,或者在不影響網(wǎng)絡(luò)“本質(zhì)方向”的基礎(chǔ)上提高基層性能衅码。提高性能就會增加使用網(wǎng)絡(luò)的動力拯刁,從而增加驗證節(jié)點的數(shù)量。所以在以上兩種情況下逝段,驗證節(jié)點都會在一定程度上增加垛玻。

· ? ? ?向上擴容:即在基層上再添加層。向上擴容可以正確地進(jìn)行奶躯,也有可能出錯帚桩。正確的方式會對基層有很小的影響或者根本沒有影響。像閃電網(wǎng)絡(luò)之類的支付通道網(wǎng)絡(luò)就是正確的向上擴容的一個很好的例子巫糙。側(cè)鏈可以說是不正確向上擴容的例子之一朗儒,因為有可能會破壞挖礦的安全模型,但這不是本文要討論的問題参淹。

反過來則有:

·??????向內(nèi)擴容:減少完全驗證節(jié)點的數(shù)量醉锄。向內(nèi)擴容就是通過提高基層的性能來減少完全驗證節(jié)點的數(shù)量。數(shù)據(jù)分片做的就是這個浙值,這也是為什么我要寫這篇文章的原因恳不。

·??????向下擴容:降低層的復(fù)雜性。這在一個去中心化的網(wǎng)絡(luò)中是不必要的开呐。這個方法往往應(yīng)用于中心化的系統(tǒng)中烟勋,比如公司裁員或者內(nèi)部結(jié)構(gòu)重組规求。

我們經(jīng)常提到“節(jié)點”這個詞,但往往不給出定義卵惦,讓初來乍到的人很難懂阻肿。我有一個朋友跟我講Nano可以讓所有人都運行節(jié)點并且擁有自己的區(qū)塊鏈。人們往往不知道他們自己在講什么沮尿,因為他們接觸不到正確的信息丛塌。如果不是正確的節(jié)點的話,盲目增加節(jié)點數(shù)量毫無意義畜疾。所以我說他們一直在向大家鼓吹的是一個向內(nèi)擴容的方案赴邻,因為這個方案的結(jié)果會使得正確的重要的節(jié)點數(shù)量下降。不一定馬上就會下降啡捶,但是隨著時間的推移一定會下降姥敛。我接下來也會講講為什么這很重要。

完全驗證節(jié)點的重要性

Jameson Lopp:?這是我的節(jié)點瞎暑。還有很多像這樣的節(jié)點彤敛,但這一個是我的。我的區(qū)塊鏈由我來驗證金顿,這是我的財政生命臊泌,我必須要對它擁有完全的掌控,就如同我完全掌控我自己的生命揍拆。沒有我的話渠概,我的節(jié)點毫無用處。沒有我的節(jié)點嫂拴,我則感到不安播揪。為了保持區(qū)塊鏈的真實性,我必須運行我的節(jié)點筒狠。

Bitcoin: #不是邪教

Miles Suter:?給一群擁有共同價值觀猪狈、準(zhǔn)則和展望的人貼上邪教的標(biāo)簽,這是把問題簡單化的做法辩恼,這種論點也非常軟弱無力雇庙。當(dāng)一個人無法提出真正有力的論據(jù)時才會才用這種下三濫的手法。

*譯者注:@Bitcoin是一個宣傳BCash的推特賬號

https://twitter.com/lopp/status/1001903809004736513///?如果你想知道為什么@Bitcoin的推特賬號拉黑了我灶伊,可以閱讀我的BCash文章疆前。

你已被@Bitcoin加入黑名單,無法查看該用戶的推特聘萨。

我要做的第一件事情是舉例解釋為什么這些很重要竹椒,然后再向大家展示常見的反對意見,我將簡要地對這些反對意見作出回應(yīng),然后在本文稍后部分解釋比特幣網(wǎng)絡(luò)究竟是如何工作的约素。到時候讀者將能夠從我的解釋中理解為什么這些反對節(jié)點的論點并不成立了。

先給大家提個醒:如果你打開這篇文章的目的是要閱讀有關(guān)以太坊的內(nèi)容幻赚,而你對比特幣網(wǎng)絡(luò)的工作原理并不感興趣的話赊窥,那你以后活該輸?shù)敉哆M(jìn)以太坊里的錢或者開發(fā)的精力和時間爆惧。

我的例子很簡單:

在比特幣中,所有的節(jié)點都完全驗證锨能。如果有人想要上傳無效的東西检激,則將不會被網(wǎng)絡(luò)傳播。每一個節(jié)點都想人體免疫系統(tǒng)里的白細(xì)胞一樣能夠識別外來者的入侵腹侣。對于區(qū)塊鏈網(wǎng)絡(luò)來說沒有比這更優(yōu)秀的安全系統(tǒng)了。

以下是一些常見的反對節(jié)點的論點:

· ? ? ?除非你是“挖礦節(jié)點”齿穗,否則都無法確保執(zhí)行共識傲隶,而那些不是挖礦的節(jié)點會妨礙“挖礦節(jié)點”。

· ? ? ?對于去中心化來說窃页,邊緣(edge)比節(jié)點更重要跺株。所以增加節(jié)點數(shù)量并不一定能提高去中心化程度。

· ? ? ?需要多少個節(jié)點才能保證安全脖卖?肯定有一個“足夠好”的節(jié)點數(shù)量乒省,達(dá)到這個數(shù)字就能保證安全了吧?

1: “除非你是“挖礦節(jié)點”畦木,否則都無法確保執(zhí)行共識袖扛。”

為了回應(yīng)這個問題十籍,我將直接開始解釋比特幣網(wǎng)絡(luò)的工作原理蛆封。你將在“比特幣網(wǎng)絡(luò)拓?fù)鋵W(xué)”這個章節(jié)里找到答案,我也將這一章節(jié)的內(nèi)容寫成了一篇獨立文章勾栗,因為單單是這一問題就有很多錯誤信息在網(wǎng)上大肆流傳惨篱。(這最終都會回到數(shù)據(jù)分片和以太坊身上,相信我围俘。)

2: “邊緣(edge)比節(jié)點更重要砸讳。”

為了接下來的文章更好讀懂界牡,我在這里要澄清一點簿寂,當(dāng)我說“去中心化”的時候,我指的是下圖里(C)的情況(但是是四維而不是平面的二維)欢揖。這張圖是我從Vitalik那里偷來的陶耍,他曾經(jīng)寫文章解釋為什么這張圖很糟糕:


Fig.1-(a)?中心化?(b)?去中心化 (c)?分布式網(wǎng)絡(luò) (這還有待明鑒)

邊緣(edge)只是節(jié)點之間的連接,以下的兩張圖表中每張圖表都有16個節(jié)點她混,節(jié)點數(shù)量相同烈钞,但其中一個的邊緣卻比另一個要少得多泊碑,邊緣多的圖表中,每個節(jié)點都和所有其他節(jié)點相連接毯欣。

這兩者之間的區(qū)別是什么馒过?

第一張圖有足夠的邊緣來將信息傳播(我們待會會詳細(xì)講這個)至網(wǎng)絡(luò)中的每一個節(jié)點,只需要進(jìn)行足夠次數(shù)的“跳躍”即可完成酗钞,并且這些節(jié)點無法被審查屏蔽腹忽,因為他們之間的連接(即邊緣)分散得很好。

另一個網(wǎng)絡(luò)呢砚作?

· ? ? ?每個人都知道你是誰窘奏。

· ? ? ?每個人都知道你發(fā)送的這筆交易是不是由你創(chuàng)建的。

· ? ? ?每個人都知道通過一個節(jié)點中繼的區(qū)塊是由該節(jié)點創(chuàng)建的還是僅由該節(jié)點中繼葫录,這個區(qū)塊可能是來自一個他們不喜歡的礦工着裹。

· ? ? ?現(xiàn)在他們知道IP地址包含一個擁有大量比特幣的地址。

· ? ? ?他們知道那是一個礦工米同,或者他們知道是哪一個IP地址允許他們不喜歡的礦工中繼那些區(qū)塊骇扇。

· ? ? ?如果有人能控制無限量的驗證者的話,那他們就能審查并屏蔽你面粮,或者屏蔽任何包含你的交易的區(qū)塊少孝。

這簡直是隱私和安全的反面教科書。

關(guān)于邊緣熬苍,肯定有一個“足夠”的數(shù)量可以達(dá)到稍走,你待會就會明白了。在我的上一篇文章中冷溃,我同時也談到了傳播的問題钱磅,盡管邊緣數(shù)量“有限”,傳播速度還是在不斷加快似枕。騙子往往尤其愛用這個論斷(甚至是連Vitalik都時常揭穿的騙子)盖淡,他們騙人的時候就愛用這個招數(shù)來顯得自己很聰明:

他還像個白癡一樣把第一層(L1)網(wǎng)絡(luò)和第二層(L2)網(wǎng)絡(luò)拿來相提并論。

Dr Craig S Wright:?好好笑哦

這種理論就是節(jié)點(頂點)才重要凿歼,而不是邊緣褪迟。這種論斷毫無真實性,只能用來騙騙不懂的人答憔。

閃電網(wǎng)絡(luò)有2000個節(jié)點味赃,而永久性的邊緣只有8000個

比特幣現(xiàn)金有800個節(jié)點,卻有24萬個邊緣

因此比特幣現(xiàn)金更加去中心化

這是微軟公司四處散播的謠言

3: “到底需要多少個節(jié)點虐拓?”

我認(rèn)為心俗,會提出“到底要多少個節(jié)點才能保證安全”這種問題,說明有人還是看不到大局。提出這個問題就說明他們認(rèn)為一定要有一些節(jié)點才是安全的城榛,所以現(xiàn)在的問題就是要弄清楚究竟要多少個揪利。問這些問題的人有時候是真心提問,有時候則是在試圖轉(zhuǎn)移話題狠持。

以下是一些簡單的問題疟位,讀者不一定對這些問題都有答案。假設(shè)能夠保證安全的節(jié)點數(shù)量是2萬個全節(jié)點喘垂。

· ? ? ?如何通過編寫代碼來保證節(jié)點數(shù)量一直保持在2萬個以上甜刻?

· ? ? ?即使可以通過代碼實現(xiàn)了,網(wǎng)絡(luò)如何才能知道到底有幾個節(jié)點正勒,而不需要一個預(yù)言機(oracle)來告訴它呢得院?

· ? ? ?我們假設(shè)需要2萬個節(jié)點,但是我們?yōu)槭裁匆僭O(shè)2萬個呢章贞?我們在現(xiàn)實生活中做過測試尿招,發(fā)現(xiàn)要阻止政府被推翻需要2萬個“人”?這個例子很蠢阱驾,但如果人口增長了10倍的話,2萬這個數(shù)字還準(zhǔn)確嗎怪蔑?

· ? ? 如果我們現(xiàn)在就確定下來一個數(shù)值里覆,將來發(fā)現(xiàn)這個數(shù)值不對,我們還要冒著風(fēng)險再走一遍流程來更改協(xié)議缆瓣,換成一個新的數(shù)值喧枷,這值得費這么大勁嗎?

我想說的是弓坞,根本沒有辦法這樣做隧甚。你沒法寫代碼讓網(wǎng)絡(luò)保持在一個特定的節(jié)點數(shù)量上。我傾向于以下結(jié)論渡冻,并且目前我還沒有看到有什么好的論據(jù)來反對它:任何區(qū)塊鏈網(wǎng)絡(luò)戚扳,如果不改變協(xié)議,并且需求持續(xù)增長族吻,那么這個網(wǎng)絡(luò)將會隨著時間的推移變得中心化或去中心化帽借,究竟往哪個方向發(fā)展取決于網(wǎng)絡(luò)架構(gòu)。如果你想要去中心化的話超歌,那么你所寫的協(xié)議就必須本質(zhì)上是去中心化的砍艾。這就意味著協(xié)議的設(shè)計必須保證驗證節(jié)點的數(shù)量會隨著時間增長,而不是減少巍举,這一點就引出了下一章節(jié)脆荷。

本質(zhì)中心化/去中心化

在本章節(jié)的開頭,我想要澄清一些關(guān)于這兩條鏈的比較的問題。我和其他人以前曾經(jīng)用過的比較方法確實有一些問題蜓谋,所以在這里我改用更加公平的方法來進(jìn)行比較梦皮,這個方法反而讓一切看起來都更糟糕了。

· ? ? ?比特幣區(qū)塊“大小”呈線性增長是因為節(jié)點在最大區(qū)塊能力下進(jìn)行處理所需要的數(shù)據(jù)量隨著時間的推移是不變的孤澎。所以下面左邊這張圖表和右邊這張圖表其實是一樣的届氢。

左圖:隨著時間的推移,鏈的增長呈線性

右圖:隨著時間的推移覆旭,處理所需數(shù)據(jù)量保持不變

· ? ? ?單純的區(qū)塊大小增長會導(dǎo)致隨著時間的推移節(jié)點需要處理更多的數(shù)據(jù)(但保持不變)退子,鏈的增長也會更快(但依然是線性的)。不斷增加區(qū)塊大小則會使得這兩者都不斷增長型将。

但愿以下能夠解釋清楚寂祥,但是我會更進(jìn)一步地闡釋:

本質(zhì)的去中心化:驗證者增加

· ? ? ?區(qū)塊大小限制=鏈呈線性增長

· ? ? ?鏈呈線性增長=節(jié)點需求保持不變

· ? ? ?節(jié)點需求保持不變=隨著時間的推移節(jié)點數(shù)量上升

本質(zhì)的中心化:驗證者數(shù)量減少

· ? ? ?沒有區(qū)塊大小限制=鏈呈指數(shù)增長

· ? ? ?鏈呈指數(shù)增長=節(jié)點需求增高

· ? ? ?節(jié)點需求增高=隨著時間的推移節(jié)點數(shù)量下降

https://twitter.com/StopAndDecrypt/status/1000874907448827904

區(qū)塊鏈網(wǎng)絡(luò)構(gòu)架對全部驗證的節(jié)點數(shù)量增長或者減少有直接影響嗎七兜?

也就是說:我認(rèn)為丸凭,一個區(qū)塊鏈網(wǎng)絡(luò)的節(jié)點,如果不去干擾它并且需求保持不變腕铸,那么這個節(jié)點將有以下兩種結(jié)果:

1]?增長

2]?縮減

它將不會在某個點“來回徘徊”惜犀。

你同意嗎?

85%?是

15%?否

https://twitter.com/StopAndDecrypt/status/1003807436967481344

@StopAndDecrypt:應(yīng)該把那16%的人從每一個@bitcoin發(fā)起的投票中去除狠裹。

@pierre_rochard:選一個

16% 低廉的交易費用

54% 2100萬比特幣

如果設(shè)定一個區(qū)塊大小不再增長虽界,那么隨著科技的發(fā)展,運行節(jié)點將變得越來越容易涛菠,于是節(jié)點總數(shù)量將會上升莉御。當(dāng)我說“本質(zhì)去中心化”的時候說的就是這個意思。當(dāng)比特幣升級到隔離見證之后俗冻,運行完全驗證節(jié)點的要求確實提高了礁叔,但只提高了一點點。這并沒有導(dǎo)致任何人被迫退出網(wǎng)絡(luò)或者讓依然運行隔離見證之前的節(jié)點的人遇到困難迄薄,最重要的是琅关,這個網(wǎng)絡(luò)依然保持著本質(zhì)去中心化:?

當(dāng)區(qū)塊大小因為隔離見證而改變的時候,這并不是單單為了“增加空間”讥蔽,還因為許多其他原因∷酪Γ現(xiàn)在比特幣區(qū)塊大小受到管制,設(shè)定了一個限制勤篮,并且不會被改變都毒。如果一個區(qū)塊太大的話,那它將會被認(rèn)定為無效區(qū)塊碰缔。這是我們想要的結(jié)果账劲,因為這保證了數(shù)據(jù)量不會隨著時間的推移而改變。沒有人投票來決定這個事情,這并不是一個51% vs. 49%的情況瀑焦。只要區(qū)塊太大就一定是無效的腌且,一直都是這樣的。

網(wǎng)絡(luò)無法得知你的節(jié)點挖出了一個區(qū)塊榛瓮,協(xié)議通過這種方式來保證所有人隱私平等铺董,而區(qū)塊大小限制則保證物理平等,即無法區(qū)分一個驗證者挖礦或者不挖礦(后面會展開講這個)禀晓。不應(yīng)當(dāng)因為對每個人的節(jié)點都更容易精续,就將節(jié)點按照處理交易的能力分成三六九等。如果去掉了區(qū)塊大小限制粹懒,那么這些節(jié)點就會被分成三六九等重付,一群節(jié)點有能力通過創(chuàng)建區(qū)塊來關(guān)閉另一半網(wǎng)絡(luò),從而逼走其他節(jié)點凫乖,長此以往將會毀滅整個網(wǎng)絡(luò)确垫。

信息安全行業(yè)中有一個概念叫做“攻擊面”:你所暴露的面越多,就越容易受到攻擊帽芽。同樣地删掀,我們可以說機構(gòu)管理行業(yè)也有它的“爭論面”:所需要爭論的決策越多,該機構(gòu)的效率就越低下导街。

改變比特幣的設(shè)計爬迟,使得區(qū)塊大小可變,會導(dǎo)致:

·??????我們不想要的大小現(xiàn)在也被認(rèn)可為有效的了菊匿。

·??????礦工們會開始隨心所欲創(chuàng)建區(qū)塊,不管這些區(qū)塊會對其他參與挖礦或不參與挖礦的驗證者有什么影響计福。

·??????運行節(jié)點的要求越來越高跌捆,導(dǎo)致節(jié)點數(shù)量越來越少。

更多的變量則意味著有更多的方法來區(qū)分和隔離不同的節(jié)點象颖。

我還想指出的一點是佩厚,不管區(qū)塊大小限制是2MB還是8MB都沒有關(guān)系∷刀總有一天科技發(fā)展會使得區(qū)塊大小限制能夠達(dá)到你想要的那個數(shù)字抄瓦,不過那又是另外一個話題了,因為我們可以現(xiàn)在就把區(qū)塊限制設(shè)定為50TB陶冷,然后“坐等科技進(jìn)步”钙姊,但是等那一天到了比特幣也被中心化毀掉了。區(qū)塊大小限制究竟應(yīng)該多大是另一個話題埂伦,我現(xiàn)在唯一要討論的是必須要設(shè)置一個限制煞额,不會隨著時間的推移而改變,如果區(qū)塊大小超過了這個限制,就會被判為無效膊毁。

這就引出了下一個例子:以太坊及其隨意限定的“gas限制”:

如果沒有合理限制的話胀莹,就像在上圖中或者在以太坊中,區(qū)塊大小不斷增長婚温,而科技發(fā)展的速度不夠快描焰,無法跟上,于是你就無法再繼續(xù)運行節(jié)點了栅螟。當(dāng)我說“本質(zhì)中心化”的時候就是這個意思荆秦。由一幫中心化的演員來決定的不受限制的增長要求是非常糟糕的。即使有了數(shù)據(jù)分片嵌巷,這個限制還是會隨著時間的推移而增長萄凤。數(shù)據(jù)分片也許能夠通過分擔(dān)工作而短暫地有效,但以太坊終究還是會朝著本質(zhì)中心化的方向走去:

以太坊的區(qū)塊大小由礦工決定搪哪,礦工設(shè)置區(qū)塊的gas限制靡努。如果你不能理解以太坊的gas限制的話,以下是一個非常簡單的解釋晓折,這個解釋可能會引起某些技術(shù)人員的不滿:

在以太坊中惑朦,區(qū)塊大小限制不是字節(jié),而是這個區(qū)塊能夠擁有多少單位量的gas漓概。為了方便討論漾月,我們假設(shè)這個限制是1000單位的gas。

如果你想要創(chuàng)建一個交易或者說一個“合同”胃珍,要進(jìn)行處理就需要花費gas梁肿。假設(shè)你的交易需要2個gas,我的交易需要5個gas觅彰。我們的交易都能塞進(jìn)一個區(qū)塊中吩蔑,這個區(qū)塊中還有其他價值993個gas的交易。

當(dāng)?shù)V工挖出一個區(qū)塊的時候填抬,他只能往里放價值1000個gas的交易烛芬,如果超過了的話網(wǎng)絡(luò)就會將這個區(qū)塊判為無效區(qū)塊。

只不過他們并不受限于1000這個數(shù)值…

他們可以往區(qū)塊里放進(jìn)1200個飒责。接著他們可以往里面放1500個赘娄。共識規(guī)則允許他們逐漸提高這個限制而不會被判為無效。其他礦工可以制作小一點的區(qū)塊宏蛉,這樣可以把平均值降下來(進(jìn)而讓限制值降下來)遣臼,但這些只是其他礦工而已匣摘。如果你在這種共識規(guī)則下運行一個完全驗證的節(jié)點的話改基,你無權(quán)決定這個度量。在這個網(wǎng)絡(luò)上峰搪,曠工高于一切,并且Vitalik本人甚至并不否認(rèn)這一點个榕。

Vitalik:?其拒絕對網(wǎng)絡(luò)有直接影響的節(jié)點只有礦工或者驗證者篡石。這個系統(tǒng)能夠安全應(yīng)對33-50%針對驗證層的攻擊。

@StopAndDecrypt:?如果這是真的西采,我們現(xiàn)在早就有應(yīng)急共識或者Segwit2X了凰萨。曠工的“支持”率當(dāng)時已經(jīng)接近100%了,還說什么他們懶得創(chuàng)建區(qū)塊胖眷。

提交一個區(qū)塊和提交一個交易是一樣的,要么有效要么無效霹崎。

所有節(jié)點拒絕珊搀。

以太坊網(wǎng)絡(luò)代碼對節(jié)點進(jìn)行了區(qū)分,因此以太坊本質(zhì)上是中心化的尾菇。這是目前比特幣和以太坊網(wǎng)絡(luò)特質(zhì)的本質(zhì)區(qū)別境析。以太坊上的完全驗證節(jié)點并不擁有平等的投票權(quán),因為他們的外部能力允許他們改變協(xié)議派诬,進(jìn)而影響其他節(jié)點劳淆。在比特幣中,并不存在能夠影響別人運行節(jié)點的投票權(quán)默赂。

·??????如果你不去干擾比特幣(我們確實不打算去干擾它)沛鸵,那么它的完全驗證節(jié)點將會隨著時間的推移而增加。

·??????如果你不去干擾以太坊缆八,那么它的完全驗證節(jié)點將會隨著時間的推移而減少曲掰。

我認(rèn)為在這里有必要指出,如果沒有像閃電網(wǎng)絡(luò)這樣的狀態(tài)通道網(wǎng)絡(luò)技術(shù)奈辰,我關(guān)于比特幣的說法也不能成立栏妖。像這種本質(zhì)的特征不僅限于節(jié)點增長或減少。此外我還認(rèn)為冯挎,盡管以太坊也有可能會有狀態(tài)通道網(wǎng)絡(luò),但以太坊目前面臨的麻煩要大得多咙鞍。

下面兩個章節(jié)將通過詳細(xì)闡述比特幣的網(wǎng)絡(luò)拓?fù)鋵W(xué)來展開解釋這個概念房官,然后會講到由于投票權(quán)問題而導(dǎo)致的以太坊網(wǎng)絡(luò)的差別。

比特幣網(wǎng)絡(luò)拓?fù)鋵W(xué)

比特幣不僅僅是區(qū)塊組成的一條鏈续滋。我首先想幫助讀者理解比特幣的區(qū)塊鏈網(wǎng)絡(luò)是如何設(shè)計的翰守,因為這個問題是最簡單的,而且你首先要理解其基礎(chǔ)的特性才能理解后面的內(nèi)容疲酌。我在這里說“區(qū)塊鏈網(wǎng)絡(luò)”蜡峰,是因為比特幣還有一個支付通道網(wǎng)絡(luò)(閃電網(wǎng)絡(luò))了袁,建立在其之上,并不影響區(qū)塊鏈網(wǎng)絡(luò)的結(jié)構(gòu)湿颅。不過我并不打算在這篇文章中討論比特幣的閃電網(wǎng)絡(luò)载绿,因為這和本文主旨無關(guān)。

以下是一個把比特幣網(wǎng)絡(luò)簡化的例子油航,假設(shè)比特幣網(wǎng)絡(luò)中只有1000個完全驗證節(jié)點(實際上目前有115,000)崭庸。每個節(jié)點連接著8個其他節(jié)點,因為這是客戶端的默認(rèn)設(shè)置谊囚,如果不改變客戶端的設(shè)置的話那就是默認(rèn)8個連接怕享。我的節(jié)點就是其中一個,如果你也在運行節(jié)點的話镰踏,你的節(jié)點也在其中函筋。Coinbase的節(jié)點也在其中,Bitmain的節(jié)點也在奠伪,如果中本聰還在世的話跌帐,他的節(jié)點也在其中。?

請注意這只是一個示意圖芳来,真正的網(wǎng)絡(luò)拓?fù)鋵W(xué)可能會有所不同(很大概率確實不同)含末。一些節(jié)點的連接數(shù)比默認(rèn)的8個要多,另一些節(jié)點可能少一點或者只有一個連接即舌。我們無法得知這個網(wǎng)絡(luò)到底是什么樣子的佣盒,因為當(dāng)初設(shè)計這個網(wǎng)絡(luò)的時候就故意設(shè)計成這樣以保護(hù)隱私(不過一些監(jiān)控網(wǎng)絡(luò)情況的公司會盡力給出最近似的估計),節(jié)點可以定期改變他們連接的其他節(jié)點顽聂。


?我以這張圖表開篇是因為我想讓讀者明白這些節(jié)點之間沒有區(qū)別肥惭,因為他們都是完全驗證的節(jié)點。在里面的節(jié)點和在外面的節(jié)點沒有差別紊搪,他們都有同等數(shù)量的連接蜜葱。當(dāng)你開始運行一個全新的節(jié)點時,這個節(jié)點會找到別的節(jié)點進(jìn)行連接耀石,成為整個網(wǎng)絡(luò)的一部分牵囤。在這張圖表中,一個節(jié)點到另一個任意節(jié)點的最長距離是6.在現(xiàn)實生活中滞伟,這個最長距離可能會有點偏差揭鳞,因為尋找別的同伴節(jié)點并不是一個完美地自動化的過程,并不能把每個節(jié)點都均勻地分散梆奈,但通常來說野崇,添加新的節(jié)點到網(wǎng)絡(luò)上并不會改變這一點。有個游戲叫做6 degrees of Kevin Bacon亩钟,這個游戲基于六度分隔理論乓梨,即世界上任何互不相識的兩人鳖轰,平均只需要6步就可以將他們聯(lián)系起來。如果我的交易是有效的扶镀,那么只需要6步就能傳送到(幾乎)每一個節(jié)點上蕴侣。

我將從這群節(jié)點中選出“我的”節(jié)點并將它單獨拎出來,這樣我就能演示當(dāng)我創(chuàng)建一個交易并向網(wǎng)絡(luò)宣布時會發(fā)生什么狈惫。在下面的圖表中睛蛛,我的節(jié)點是最右邊的這個,有8個節(jié)點(同伴)和我的節(jié)點相連接胧谈。

?當(dāng)我創(chuàng)建一個交易忆肾,并“向整個世界發(fā)送”時,這個交易實際上只是發(fā)送給了這8個節(jié)點菱肖。因為比特幣最基本的設(shè)計理念就是要求所有的幾點都是完全驗證的節(jié)點客冈,所以當(dāng)這8個節(jié)點收到我的交易時,他們會驗證這個交易是否有效稳强,然后再將它發(fā)送給他們連接的8個節(jié)點场仲。如果我的交易是無效的,那么它甚至不會通過網(wǎng)絡(luò)的第一道“防線”退疫。我的節(jié)點連接的節(jié)點絕對不會把無效交易發(fā)送給他們的同伴節(jié)點渠缕。我的同伴節(jié)點甚至不會知道是我創(chuàng)建了那筆無效交易。他們無法得知這個交易是誰創(chuàng)建的褒繁,并且會平等地對待所有數(shù)據(jù)亦鳞,但是如果我繼續(xù)向我的同伴節(jié)點發(fā)送無效交易的話,它們最終都會屏蔽我棒坏。他們會自動防止我向他們發(fā)送垃圾信息燕差。不管你是誰或者你的公司有多大牌,如果你的交易無效坝冕,那它就不會被廣播出去徒探。

現(xiàn)在假設(shè)你運行的不是全節(jié)點而是一個輕量客戶端,有不同的輕量客戶端可供桌面端或手機端使用喂窟,包括Electrum测暗、Armory、Bread以及Samourai Wallet磨澡。輕量客戶端系連在一個特定的節(jié)點上碗啄,有一些客戶端一段時間之后可以改變系連的節(jié)點,但是他們最終還是必須系連在其他節(jié)點上钱贯。下面是輕量客戶端系連在節(jié)點上的示意圖:

我向讀者展示這個的原因?qū)谙挛闹饾u展開挫掏。我想請讀者注意這只是一個示意圖侦另,我把這個輕量客戶端畫在球的表面只是為了方便展示秩命,實際上根本沒有表面尉共,不管這個節(jié)點在圖中的哪個地方,輕量客戶端都只是和它系連在一起弃锐。我用黃色把它圈出來了袄友,綠色的點是輕量客戶端系連的節(jié)點,藍(lán)色的點是輕量客戶端霹菊。所有發(fā)送到輕量客戶端或者從輕量客戶端發(fā)出的信息都要經(jīng)過系連的節(jié)點剧蚣。他們依賴這個節(jié)點,他們不是網(wǎng)絡(luò)的一部分旋廷,他們不是節(jié)點鸠按。請記住這一點,在以太坊中他們的行為方式稍有不同饶碘,但他們對網(wǎng)絡(luò)的影響都是一樣:即毫無影響目尖。?

現(xiàn)在要講到好玩的部分了,有些人會誤解網(wǎng)絡(luò)的工作原理:如果我想開始挖礦會怎樣扎运?

挖出一個區(qū)塊就是創(chuàng)建一個區(qū)塊瑟曲。就像要發(fā)送一個交易一樣,你必須創(chuàng)建一個區(qū)塊并向網(wǎng)絡(luò)宣布豪治。任何一個節(jié)點都可以宣布創(chuàng)建一個新的區(qū)塊洞拨,這個過程并沒有什么特別的,你只是需要一個新的區(qū)塊而已负拟。挖礦現(xiàn)在越來越困難了烦衣,但如果你愿意的話,你可以購買專門的設(shè)備然后接入你的個人節(jié)點齿椅。

還記得剛才關(guān)于無效交易的討論嗎琉挖?對于區(qū)塊來說也是一樣,但你首先要明白區(qū)塊是如何創(chuàng)建的涣脚。

首先請觀看以下視頻示辈。我直接跳到了關(guān)于哈希的比較重要的部分,使用nonces(隨機數(shù))以及將新的區(qū)塊頭接到鏈上:


如果有時間的話最好看完整個視頻遣蚀。這是我個人最喜歡的解釋挖礦原理的視頻矾麻。

當(dāng)你看到視頻的這個部分的時候,標(biāo)著“Prev hash”的就是區(qū)塊頭:

視頻中沒有提到的是芭梯,哪怕區(qū)塊里所有的交易都是無效的险耀,你仍然可以創(chuàng)建有效的區(qū)塊頭。要挖出一個包含無效交易的區(qū)塊所需要的時間玖喘,和包含有效區(qū)塊所需時間是一樣的甩牺。那么為什么要花這么多時間精力創(chuàng)建區(qū)塊呢?因為要推動通過一筆交易累奈,然后會把本不屬于你的比特幣獎勵給你贬派。所以這就是為什么節(jié)點不僅要檢查區(qū)塊頭急但,還要檢查區(qū)塊中的交易。這樣才能阻止礦工花時間創(chuàng)建包含無效交易的區(qū)塊搞乏。所有節(jié)點都要檢查波桩,沒有任何一個礦工能夠蒙騙系統(tǒng)。如果不是所有節(jié)點都檢查的話请敦,那這個系統(tǒng)就要依靠那些檢查的節(jié)點镐躲。這就會把節(jié)點分成三六九等,只有檢查的那些節(jié)點才重要侍筛。以太坊目前就是這樣萤皂,我將在下個章節(jié)中展開講述。

如果你加入了一個礦池會怎樣匣椰?你可能會選擇加入礦池敌蚜,因為單獨一個人挖礦實在是太難了,或者你的公司比較大窝爪,你想要穩(wěn)定的收入弛车。許多礦工都選擇加入礦池,他們將自己的專用設(shè)備通過一個完全不同的協(xié)議——Stratum挖礦協(xié)議來直接接入礦池蒲每。就和用你的非節(jié)點手機創(chuàng)建一個交易一樣纷跛,你不需要運行節(jié)點才能將你的設(shè)備接入礦池。不用運行節(jié)點也能夠挖礦邀杏,許多礦工都是這么干的贫奠。下圖中藍(lán)色箭頭顯示的就是這種模式,在這里我以Slush?礦池為例:

請注意望蜡,我把這些由礦池運行的節(jié)點單獨拎出來是為了方便展示唤崭。就和任何其他節(jié)點一樣,這些由礦池運行的節(jié)點也需要同伴節(jié)點脖律。他們需要同伴節(jié)點來接收交易和區(qū)塊谢肾,也需要同伴節(jié)點來廣播他們創(chuàng)建的區(qū)塊。我要再強調(diào)一遍:所有節(jié)點都驗證所有區(qū)塊和交易小泉。如果任何一個礦池傳播了一個無效區(qū)塊芦疏,他們的同伴節(jié)點馬上就會知道,因為他們是完全驗證節(jié)點微姊,他們不會把這個無效區(qū)塊發(fā)送給其他節(jié)點酸茴。就像交易一樣,無效區(qū)塊不會進(jìn)入到網(wǎng)絡(luò)中兢交。

如果不把這些節(jié)點單獨拎出來的話薪捍,可以從另一個角度去看。以下是一個私人礦工,他不想別人知道他的身份酪穿;他有8個隨機的同伴節(jié)點与倡,這些節(jié)點都不知道他是一名礦工。這個機制故意設(shè)計成這樣以保護(hù)隱私昆稿。網(wǎng)絡(luò)中的任何一個節(jié)點都無法得知他們收到的區(qū)塊是由他們的同伴節(jié)點所創(chuàng)建的。他們所能知道的只是這個區(qū)塊是否有效息拜,如果有效就繼續(xù)發(fā)送給下一個溉潭,如果無效則不發(fā)送。

但愿你現(xiàn)在已經(jīng)能夠理解個大概了少欺,我應(yīng)該沒有使用任何復(fù)雜的數(shù)學(xué)或者方程式來解釋喳瓣。我認(rèn)為現(xiàn)在已經(jīng)基本覆蓋完這個話題,可以轉(zhuǎn)而繼續(xù)下一個了赞别。但是最后還有一件事我要說一下畏陕,因為很多人會用這個來迷惑還沒有完全理解我剛才講的東西的人。這個太常見了仿滔,所以我必須要講一下惠毁。

https://twitter.com/VitalikButerin/status/1000232465540136960

@StopAndDecrypt:你實際上就是創(chuàng)建了一個子網(wǎng),讓Electrum和Bread的SPV客戶端發(fā)送區(qū)塊頭崎页,然后把他們稱為比特幣網(wǎng)絡(luò)的一部分鞠绰。但實際上他們什么也不干。

Vitalik:其拒絕對網(wǎng)絡(luò)有直接影響的節(jié)點只有礦工或者驗證者飒焦。這個系統(tǒng)能夠安全應(yīng)對33-50%針對驗證層的攻擊蜈膨。

?我原本的評論是在討論輕量客戶端,也叫作SPV客戶端牺荠,他們并不算是網(wǎng)絡(luò)的一部分翁巍。我在前文用藍(lán)色的系連點演示過了。Vitalik的回復(fù)試圖暗示說只有挖礦的節(jié)點休雌,其拒絕才對網(wǎng)絡(luò)有影響灶壶。請記住:節(jié)點無法判斷另一個節(jié)點究竟是創(chuàng)建了一個區(qū)塊還是只是把這個區(qū)塊中繼而已杈曲,這個機制是故意設(shè)計成這樣子的例朱。

下面是最后一個圖表,讓我來努力解釋一下“只有挖礦的節(jié)點才重要”這種說法背后的邏輯鱼蝉。一些礦工會和其他礦工連接洒嗤,所以他們的同伴節(jié)點中有一些也是礦工。并不是所有礦工都會這么做魁亦。這些直接相連的礦工中有一些也會使用可選的中繼網(wǎng)絡(luò)渔隶,比如由Bitcoin Core開發(fā)者Matt Corallo開發(fā)的FIBRE,但甚至連這個側(cè)網(wǎng)絡(luò)也不是僅屬于礦工的,任何人都可以加入间唉,包括你和我绞灼,它只是用來幫助區(qū)塊在網(wǎng)絡(luò)里中繼而已。不管怎樣呈野,有人試圖爭辯說低矮,這些挖礦節(jié)點相互連通(不管是用FIBRE等工具還是不用),就說明這些節(jié)點才是重要的被冒。這個結(jié)論很荒謬:

在這個例子中军掂,我沒有把節(jié)點的同伴節(jié)點單獨拎出來。你現(xiàn)在應(yīng)該明白了吧昨悼。他們拒絕無效的區(qū)塊蝗锥。綠色圈子里的節(jié)點絕對不是網(wǎng)絡(luò)中唯一重要的節(jié)點婿滓。說完了這點蜀备,我想我已經(jīng)覆蓋了比特幣區(qū)塊鏈網(wǎng)絡(luò)中的知識點疏哗,現(xiàn)在可以開始講以太坊了煤蹭。

使用工作證明的以太坊?

除去幾個重要的不同點外箭窜,這一章和上一章內(nèi)容差不多忍些。最重要的知識點是完全驗證節(jié)點不能因為區(qū)塊的大小或者gas限制而拒絕某一區(qū)塊撬统。如果這個外部流程沒有一個油門閥加以控制的話缝呕,完全驗證節(jié)點就會受到很大的壓力两曼,不得不加快處理信息的速度陆馁,甚至是趕不上進(jìn)度,導(dǎo)致節(jié)點數(shù)量減少合愈,將節(jié)點組推向更大的企業(yè)叮贩。

和比特幣相似,以太坊的區(qū)塊鏈延長過程和代幣分發(fā)過程目前使用的都是工作證明佛析。由于以太坊區(qū)塊鏈網(wǎng)絡(luò)的功能不同益老,區(qū)塊內(nèi)儲存的數(shù)據(jù)也不同。這個和數(shù)據(jù)的類型寸莫,“智能合約”之類的沒有關(guān)系捺萌,只和數(shù)據(jù)量以及網(wǎng)絡(luò)拓?fù)鋵W(xué)有關(guān)。

下面的圖表膘茎,和比特幣的那個圖表一樣桃纯,只是為了演示而畫的示意圖,和真實的網(wǎng)絡(luò)拓?fù)鋵W(xué)有一定差距披坏。在圖中态坦,我沒有給每個節(jié)點都平均分配同伴節(jié)點,每個節(jié)點擁有的同伴節(jié)點數(shù)量呈曲線棒拂,因為眾所周知以太坊的同伴節(jié)點有問題伞梯,因為節(jié)點數(shù)量一直在下降玫氢,能夠服務(wù)足夠的數(shù)據(jù)量的“好的”同伴節(jié)點如今已經(jīng)很難找了。

https://github.com/ethereum/go-ethereum/issues/15753?

?philoctetes409bc:?我正在試圖弄清楚是什么問題谜诫,但我只能得出這一個結(jié)論漾峡,那就是我們沒有足夠的同伴節(jié)點了,你們有誰也遇到這個問題嗎喻旷?

copumpkin:?我也沒辦法進(jìn)行同步生逸,甚至換上了現(xiàn)代固態(tài)硬盤也不行,所以我認(rèn)為這個問題的根源還要更深且预。

當(dāng)好的同伴節(jié)點數(shù)量受到限制時槽袄,這個“去中心化的”網(wǎng)絡(luò)就會變成這樣。當(dāng)人們試圖同步一個新的以太坊節(jié)點的時候就會出問題辣之,因為已經(jīng)沒有足夠的同伴節(jié)點提供他們所需要的數(shù)據(jù)了。只有一小群有很多個連接的同伴節(jié)點為整個區(qū)塊鏈服務(wù)皱炉。這對于一個廣播網(wǎng)絡(luò)來說是非常糟糕的怀估。更糟糕的是gas限制(并進(jìn)一步限制區(qū)塊大小)不斷上漲合搅,因為它根本不受限制多搀,給這些有限的節(jié)點施加更大的壓力,節(jié)點越來越少灾部,盡管Vitalik聲稱“gas限制已經(jīng)X個月沒有變過了”:

>由于以太坊區(qū)塊大小不斷迅速增長康铭,瓶頸不受管制

>你的節(jié)點遲早有一天會因為這個問題而無法同步,除非設(shè)置一個區(qū)塊大小限制赌髓。

這種觀點非常無知从藤。以太坊已經(jīng)有區(qū)塊大小限制了,只不過是以gas限制的形式進(jìn)行锁蠕。Gas限制值是8百萬夷野,并且已經(jīng)有6個月沒有變過了∪偾悖快速同步datadir增長已經(jīng)停留在10GB每月并且持續(xù)6個月了悯搔,并且將不會再增長太多,因為大幅提高gas限制會導(dǎo)致叔伯率(uncle rate)中心化問題舌仍。所以我們其實已經(jīng)見識過最糟糕的情況了妒貌,這種情況持續(xù)了半年。

Gas“限制”并不能算作真正的限制铸豁,并且就像我上文說過的灌曙,礦工可以隨意選擇。重要的是节芥,不管gas限制是多少平匈,以太坊節(jié)點都不會拒絕區(qū)塊。這是比特幣和以太坊的本質(zhì)區(qū)別之一。節(jié)點并沒有能力組織外部壓力用不受管制的數(shù)據(jù)來把他們中心化增炭。礦工現(xiàn)在不提高gas限制是因為他們好心忍燥,而且Vitalik也告訴他們不要這么做。這聽起來很去中心化吧隙姿?區(qū)塊鏈不應(yīng)該以這樣的方式運轉(zhuǎn)梅垄。如果費用上漲得太高了會發(fā)生什么?

讀讀Vitalik的回復(fù)输玷,再結(jié)合下面的圖表看看:

以太坊有兩個選擇:

·?????如果gas限制不上漲队丝,則沒有足夠的空間來儲存這些合約,用戶就會展開價格大戰(zhàn)欲鹏,進(jìn)而導(dǎo)致費用上漲机久。如果費用上漲太多,普通的合約就會變得非常昂貴赔嚎,依靠低廉費率運行的Dapps(去中心化應(yīng)用)就無法工作了膘盖。上次發(fā)生這種事的時候,他們被迫提高限制尤误,因為他們需要Dapps侠畔。

·?????如果gas限制上漲,那么以同伴節(jié)點為中心的節(jié)點數(shù)量將會下降得更多损晤。

幸運的是软棺,以太坊和比特幣一樣有輕量客戶端,如果你無法運行你自己的驗證節(jié)點的話尤勋,可以使用輕量客戶端…

還記得我前文演示過的嗎喘落?SPV客戶端(只同步區(qū)塊頭)需要系連在一個特定的節(jié)點上,并不屬于網(wǎng)絡(luò)的一部分最冰。在以太坊中揖盘,他們更進(jìn)一步地為這些輕量客戶端創(chuàng)建了一個“子網(wǎng)絡(luò)”,他們可以在這個子網(wǎng)絡(luò)上分享區(qū)塊頭锌奴∈尴粒可能你還不知道吧,實際上在以太坊中鹿蜀,大多數(shù)人(因為各種原因)并不運行完全驗證節(jié)點箕慧,而只是運行輕量客戶端。

https://www.reddit.com/r/ethereum/comments/7k4vy5/we_desperately_need_more_lightserve_nodes/

我們非常迫切地需要更多—lightserve節(jié)點!!!!!!!

以太坊錢包有一個很棒的功能就是用輕量客戶端網(wǎng)絡(luò)來同步茴恰。這是一個可用的工作程序(所以不需要網(wǎng)頁瀏覽器)颠焦,可以與以太坊網(wǎng)絡(luò)互動,同時只下載大約1 GB數(shù)據(jù)往枣。這對大多數(shù)人來說非常重要伐庭,因為他們都沒有很高級很昂貴的硬件粉渠。但是最近我在geth的最新版本中發(fā)現(xiàn)了一些bug,導(dǎo)致輕量模式網(wǎng)絡(luò)非常不穩(wěn)定圾另。我們沒有足夠的同伴節(jié)點來為每一個人服務(wù)霸株,這就導(dǎo)致新的同伴節(jié)點可能永遠(yuǎn)也無法連接,如果他們能夠連接的話集乔,他們肯定會幫助到其他輕量模式用戶去件。所以輕量模式網(wǎng)絡(luò)現(xiàn)在就像在“鬧饑荒”一樣。拜托了開發(fā)者們扰路,麻煩盡快修復(fù)連接不穩(wěn)定的bug吧尤溜。這里的用戶們也可以伸出援手,用輕量模式運行以太坊錢包汗唱,這樣就會有更多可用的輕量節(jié)點了宫莱。此外,Parity的開發(fā)者們哩罪,希望你們能給Parity也開發(fā)一個兼容的輕量模式版本授霸,這樣兩個錢包的用戶就能相互連接了识椰。

這是一個很好的機會讓以太坊接收被比特幣背叛的用戶绝葡。這里的社區(qū)很活躍深碱,開發(fā)者很團(tuán)結(jié)腹鹉,網(wǎng)絡(luò)很穩(wěn)定,交易又快又便宜敷硅。

所以請盡快修復(fù)這個bug功咒,讓輕量模式網(wǎng)絡(luò)正常運轉(zhuǎn),這會幫到很多像我這樣的用戶绞蹦,我們目前沒有能力負(fù)擔(dān)得起儲存20 GB數(shù)據(jù)力奋,但我們很聰明,不想用網(wǎng)頁瀏覽器來運行以太坊幽七。(永遠(yuǎn)不要把生意和快樂混在一起景殷。)

我想更多地使用以太坊來支付,但每次我上網(wǎng)時澡屡,我總是需要讓我的筆記本聯(lián)網(wǎng)大約20小時猿挚,才能和其他輕量模式同伴節(jié)點連接上,下載幾個100 MB的區(qū)塊頭驶鹉。由于有bug绩蜻,有時候光鏈會被損壞,獲取1 GB光鏈數(shù)據(jù)需要花上30至40小時室埋。如果我在bittorrent上下載東西办绝,速度為500 kb/s伊约,下載1 GB只需要33分鐘。

我們需要更多l(xiāng)ighserve節(jié)點!!!!!!?目前這個需求非常非常高孕蝉。

修改:所以問題出在屡律,最新的協(xié)議升級導(dǎo)致搜尋同伴節(jié)點不太靠譜,這個問題在輕量模式下更加嚴(yán)重昔驱,因為本來lightserve節(jié)點就少疹尾,可能是因為運行g(shù)eth的時候lightserve選項默認(rèn)是關(guān)閉的(因為lightserve還在試驗階段)。我在Github上看到有人建議運行g(shù)eth 1.7.2版本而不是1.7.3版本骤肛,但我沒法試試這個是不是能解決問題纳本。在Linux系統(tǒng)上,運行g(shù)eth后腋颠,你可以運行以太坊錢包繁成,然后它就會監(jiān)測到geth正在運行。我認(rèn)為如果你只是運行以太坊錢包的話淑玫,geth會在內(nèi)部啟動或者怎樣巾腕,我覺得最新的這次更新之后用的是geth 1.7.3。

https://github.com/ethereum/go-ethereum/issues/15454///?你也可以查看我之前的文章絮蒿。

KainniaK:?能不能修一下這個尊搬?做一個應(yīng)用程序版的以太坊錢包很難嗎?我不想用在線錢包土涝,而且我也不是隨時都能上網(wǎng)佛寿。我希望我的筆記本電腦在我上線的時候能夠和網(wǎng)絡(luò)同步,但現(xiàn)在就沒法用但壮。請快點修好這個拜托了!!!!!!

lmars:?跟你們說一下冀泻,我現(xiàn)在自費運行幾個輕量服務(wù)器,所以我的節(jié)點能夠擁有充足的輕量客戶端同伴節(jié)點蜡饵。這個“解決方案”就是要求社區(qū)里更多人運行節(jié)點并開啟輕量服務(wù)器(查看這里)弹渔,希望大家能夠幫幫忙,也運行一個輕量服務(wù)器溯祸。

他們一直都面臨著全節(jié)點短缺的問題肢专,沒有足夠的全節(jié)點向輕量客戶端提供所需的區(qū)塊頭。輕量客戶端無法一直和同伴客戶端相連接焦辅,因為人們開啟和關(guān)閉客戶端比較隨意博杖,所以他們更依賴于全節(jié)點志愿給他們數(shù)據(jù)。在比特幣中氨鹏,沒有志愿這回事欧募,所有全節(jié)點執(zhí)行同樣的中繼功能,這很容易做到仆抵「蹋總之种冬,我不認(rèn)為為輕量客戶端專門創(chuàng)建一個子網(wǎng)并沒什么問題。我認(rèn)為如果有人想要運行一個輕量客戶端舔糖,那么他們應(yīng)當(dāng)能夠這樣做娱两。我認(rèn)為這些輕量客戶端有一個子網(wǎng)是一件好事,最好的情況下金吗,人們不再需要信任某一特定節(jié)點來獲取區(qū)塊頭十兢,最壞的情況下,他們無法滿足他們自己制造的需求摇庙。問題在于開發(fā)者們開始管這些輕量客戶端叫“節(jié)點”旱物,誤導(dǎo)社區(qū)相信這些輕量客戶端對網(wǎng)絡(luò)是有貢獻(xiàn)的。輕量客戶端不是“節(jié)點”卫袒,他們對網(wǎng)絡(luò)毫無貢獻(xiàn)宵呛。

https://twitter.com/NickSzabo4/status/1001488447129829377

Nick Szabo:?好的籬笆造就好鄰居,“經(jīng)常對清賬目讓友誼天長地久”(語出Pacioli)夕凝。全節(jié)點驗證加上全球廣播造就全球化的社區(qū)——這個社區(qū)只包括完全驗證者宝穗,不包含外來人。

以太坊開發(fā)者確實把輕量客戶端稱為節(jié)點码秉。下面這張圖是關(guān)于數(shù)據(jù)分片的逮矛,這個話題我等下會講,但開發(fā)者們不應(yīng)該到處跟社區(qū)里的人將他們運行的輕量客戶端是節(jié)點转砖。這樣的話計算出來的節(jié)點數(shù)量一直往上漲须鼎,但實際上是輕量客戶端數(shù)量上漲,而全節(jié)點數(shù)量下降堪藐。把輕量客戶端稱為節(jié)點只是在掩蓋事實莉兰。

但愿我現(xiàn)在已經(jīng)講明白了挑围。驗證區(qū)塊頭對網(wǎng)絡(luò)一點意義都沒有礁竞。

限制就是每一個節(jié)點都要驗證所有數(shù)據(jù)分片的區(qū)塊頭,而節(jié)點對區(qū)塊頭的驗證能力受到其計算能力的限制杉辙,因此要進(jìn)行“二次方數(shù)據(jù)分片”:如果一個節(jié)點能夠處理C件事情模捂,那么就有C個數(shù)據(jù)分片的區(qū)塊頭來讓該節(jié)點處理;或者說蜘矢,如果一個節(jié)點在驗證一個單一的區(qū)塊狂男,那么它就能驗證C個交易,所以他的總處理容量就大約是C的二次方品腹。

下面的圖表更能準(zhǔn)確代表網(wǎng)絡(luò)是什么樣子的:

看到這個圖之后岖食,你對“節(jié)點”總計數(shù)的數(shù)值有什么看法?這些節(jié)點看起來有什么不一樣嗎舞吭?沒讀這篇文章之前你知道他們之間的區(qū)別嗎泡垃?就算他們不把輕量節(jié)點也算進(jìn)去析珊,最終會發(fā)生什么變化?

?隨著時間的推移蔑穴,盡管“節(jié)點”總計數(shù)可能會上升忠寻,如果一個網(wǎng)絡(luò)是本質(zhì)中心化的并且對完全驗證節(jié)點不夠重視的話,它就會注定變成這樣:更加糟糕存和。

不僅僅是驗證者數(shù)量開始下降奕剃,礦工也會開始直接連接到彼此以避開糟糕的叔伯率或者孤塊率。叔伯或者孤塊的出現(xiàn)是因為出塊時間相距太近捐腿。不同的礦工在同一時間挖出有效的區(qū)塊將會形成兩條有效的鏈纵朋。最終其中一個區(qū)塊有人接著繼續(xù)創(chuàng)建區(qū)塊,而另一個則會成為孤塊茄袖。

在這張圖中紫色的就是孤塊倡蝙。

當(dāng)網(wǎng)絡(luò)選擇了另一條分支繼續(xù)下去的時候,你知道孤塊會給誰帶來最大的損失嗎绞佩?是那些小礦工寺鸥,這樣就導(dǎo)致網(wǎng)絡(luò)更加中心化了,因為小礦工無法承擔(dān)收入上的震蕩品山。

現(xiàn)在的情況是:

·?????驗證者數(shù)量不斷下降

·?????社區(qū)成員無法運行驗證節(jié)點胆建,只能轉(zhuǎn)而運行輕量節(jié)點。

·?????開發(fā)者們告訴社區(qū)這沒關(guān)系肘交,因為他們反正也不是“有意義的驗證者”笆载。

·?????即將對網(wǎng)絡(luò)架構(gòu)進(jìn)行本根性的改動,將會使得驗證節(jié)點數(shù)量更加少涯呻,到時候需要32 ETH才能成為驗證節(jié)點

對于這個話題的回應(yīng)要么是同意這是個問題凉驻,要么根本不承認(rèn)存在問題。當(dāng)人們爭辯說不存在問題的時候复罐,他們往往愛用我們之前已經(jīng)討論過了的“非挖礦”策略涝登。他們會說“中間那些正在減少的節(jié)點,他們本來也什么都不干效诅,除非他們參與挖礦或權(quán)益”胀滚。

https://twitter.com/StopAndDecrypt/status/999716942322814976

@StopAndDecrypt:?如果你處在驗證節(jié)點下面的一層,那么你的拒絕對于在你之上的網(wǎng)絡(luò)沒有任何影響乱投。我的手機可以接收全節(jié)點并且拒絕他們咽笼,但無法將有效的區(qū)塊廣播給驗證節(jié)點的網(wǎng)絡(luò)。將輕量節(jié)點放到子網(wǎng)上也不會改變這個事實戚炫。

@nicksdjohnson:?這個非挖礦比特幣節(jié)點所做的事情有什么不同剑刑?

@StopAndDecrypt:?如果你非要跟我玩文字游戲,那我只能這樣回應(yīng):不存在什么非挖礦節(jié)點双肤。挖礦是一個哈希過程施掏,區(qū)塊被提交給網(wǎng)絡(luò)以進(jìn)行驗證层宫。大多數(shù)礦工并不運行節(jié)點,他們只是連接到一個運行單個節(jié)點的礦池而已其监。你明明知道還要問夜畴。

@nicksdjohnson:?恭喜你娱挨,這是我這個月聽到的最難懂的言論徙融。

這真的是你這個月聽到的最難懂的言論嗎窄瘟?

https://twitter.com/NickSzabo4/status/1001488447129829377

Nick Szabo:?好的籬笆造就好鄰居,“經(jīng)常對清賬目讓友誼天長地久”(語出Pacioli)锌历。全節(jié)點驗證加上全球廣播造就全球化的社區(qū)——這個社區(qū)只包括完全驗證者贮庞,不包含外來人。

回顧:

·?????在比特幣中究西,所有的節(jié)點都驗證窗慎,沒有哪個節(jié)點擁有更大的話語權(quán),因為區(qū)塊大小受到限制卤材,并且這個限制由他們共同守護(hù)遮斥。

·?????在以太坊中,節(jié)點分為全節(jié)點和輕量節(jié)點扇丛,只有全節(jié)點才驗證术吗。全節(jié)點對gas限制沒有硬性要求,這就導(dǎo)致他們要處理的數(shù)據(jù)越來越多帆精,許多節(jié)點因此而關(guān)閉较屿。

使用權(quán)益證明的以太坊

和使用工作證明的以太坊差不多,前文所說的內(nèi)容在使用權(quán)益證明的以太坊上也成立卓练。他們計劃將權(quán)益證明和數(shù)據(jù)分片一起上線隘蝎,所以我不認(rèn)為單單只有權(quán)益證明的以太坊會出現(xiàn)。這一章節(jié)只是為了重申中心化的問題襟企,因為我快要講到數(shù)據(jù)分片了嘱么。除了上一章節(jié)講到的內(nèi)容,權(quán)益證明還存在以下問題:

·?????不挖礦就意味著沒有外部成本整吆。進(jìn)行權(quán)益的驗證者只需要拿出他們的幣并托管他們的服務(wù)器拱撵。他們可以什么都不干躺著掙錢辉川,同時繼續(xù)升級服務(wù)器來適應(yīng)不斷增長的節(jié)點要求表蝙,而其他人都被遠(yuǎn)遠(yuǎn)地拋在后頭。

·?????進(jìn)行權(quán)益需要32 ETH(文章發(fā)稿時約16,000美元)乓旗,所以不僅是驗證者數(shù)量不斷下降府蛇,而那些負(fù)擔(dān)得起16,000美元來進(jìn)行權(quán)益的人并不在乎數(shù)據(jù)處理要求。這將只會導(dǎo)致數(shù)據(jù)吞吐量增長加快屿愚。

這個網(wǎng)絡(luò)和下面的以太坊網(wǎng)絡(luò)的結(jié)構(gòu)一樣汇跨,只不過這次我將進(jìn)行權(quán)益的節(jié)點高亮標(biāo)出了务荆,這樣你就可以看到驗證節(jié)點和進(jìn)行權(quán)益的驗證者的比例隨著時間的變化。請記住穷遂,Vitalik說本來就一直這樣函匕,在上文我已經(jīng)解釋過了這在技術(shù)上講是不正確的。不管怎樣蚪黑,有了權(quán)益證明之后盅惜,這個過程推進(jìn)速度加快了:

到價格巔峰的時候,理論上講你需要有45,000美元才能成為這些節(jié)點的一員忌穿。眾籌集資并不會改變?nèi)魏问虑槭慵牛\行節(jié)點的是礦池而不是你。幸運的是權(quán)益證明將與數(shù)據(jù)分片一起上線掠剑,所以這個章節(jié)到這里就結(jié)束了屈芜。

使用權(quán)益證明+數(shù)據(jù)分片的以太坊

就和這個章節(jié)標(biāo)題說的一樣,數(shù)據(jù)分片帶來向內(nèi)擴容朴译,卻給人向外擴容以太坊的假象井佑。就和你所想的一樣,這跟驗證節(jié)點計數(shù)有關(guān)眠寿,但稍微有點小插曲毅糟。驗證工作分配給不同的群組,每一組都有他們自己的數(shù)據(jù)分片澜公。這樣做的目的是為了減輕單一驗證節(jié)點所需要承擔(dān)的工作量姆另,這樣才會有更多的節(jié)點。但這只會延長問題坟乾,而不是解決問題迹辐。此外,其中一些節(jié)點現(xiàn)在面臨著巨大的成本甚侣,因為要成為其中的一員就必須進(jìn)行權(quán)益明吩。

Vitalik:是的,數(shù)據(jù)分片提案中進(jìn)行權(quán)益的最低要求是32 ETH殷费。


worthalter:?在第一階段不建議當(dāng)驗證者印荔,除非你對這個技術(shù)很熟悉。成為一個獨立驗證者需要的權(quán)益估計會超過1000 ETH详羡,這是很大一筆錢仍律。加入權(quán)益礦池會簡單得多,你可以在這里查閱更多資料:https://medium.com/rocket-pool/rocket-pool-101-faq-ee683af10da9

capitalol:?我比那更多的ETH实柠。自打眾籌開始我就在這兒了水泉。我需要指導(dǎo)告訴我如何安全地進(jìn)行設(shè)置,我要設(shè)置我自己的,還要幫我管理的其他人設(shè)置草则。


Sefirot8:?這他媽要1000钢拧?太荒謬了。

rxg:?要在以太坊上進(jìn)行權(quán)益的最低價格大概會由運行一年casper智能合約的成本(即gas費用)來決定炕横。如果你的權(quán)益每年收益比成本低的話源内,那你就負(fù)擔(dān)不起進(jìn)行權(quán)益。所以不太可能需要1000ETH才能達(dá)到收支平衡份殿。



完整視頻:?https://www.youtube.com/watch?v=r0TGpp2SV-w

1.?我們不會讓比特幣每3秒就要處理1GB的數(shù)據(jù)姿锭,因為我們不打算提高區(qū)塊大小限制。

2.?我們將不會有10個全節(jié)點伯铣,我們將會有數(shù)以百萬計的節(jié)點呻此,因為我們不打算提高區(qū)塊大小限制。

3.?很顯然我們對于“向外”擴容的定義有差別腔寡,他們認(rèn)為犧牲全節(jié)點數(shù)量換取基層吞吐量并沒有什么不對焚鲜。

我在上文已經(jīng)對全節(jié)點作了非常詳細(xì)的解說了,我們對于定義上的不一致并不會有什么影響放前,接下來我要講講他們的定義忿磅。

換個說法:

·?????他們想要在基層提高交易吞吐量。

·?????他們知道不管他們怎么做這都會導(dǎo)致節(jié)點數(shù)量下降凭语。

·?????他們的解決方案是將工作量分?jǐn)傞_來葱她,這樣節(jié)點數(shù)量下降的影響“不會太糟糕”。

·?????他們認(rèn)為節(jié)點數(shù)量下降后剩余的節(jié)點還能“湊合”保證輕量客戶端的安全似扔。

·?????他們提出“挖礦模式”的謬論吨些,將節(jié)點數(shù)量下降后剩余的節(jié)點與假設(shè)的只有10個全節(jié)點的比特幣相比較,以此來為自己辯護(hù)炒辉。

·?????他們的解決方案是數(shù)據(jù)分片豪墅,他們把這稱為向外擴容,并且覺得犧牲“一些”節(jié)點也沒關(guān)系黔寇,但卻聲稱這在將來會帶來更多節(jié)點偶器,比比特幣的10個節(jié)點還要多。

我認(rèn)為這篇文章最重要的知識點是含有完全驗證節(jié)點的比特幣網(wǎng)絡(luò)缝裤、本質(zhì)去中心化屏轰,以及這和別人試圖向你宣傳的“擴容方案”有什么不同。現(xiàn)在讓我們來把它和數(shù)據(jù)分片比較一下憋飞。這里開始就有趣了霎苗,因為甚至Vitalik都沒有清晰地給出它的拓?fù)鋵W(xué)是什么樣子的。數(shù)據(jù)分片的概念是“所有節(jié)點都是平等的搀崭,做著同樣的工作”叨粘,然后卻背道而馳猾编。找出究竟是哪里開始中心化的過程將會非沉龆茫…有趣升敲。

首先,以下是對數(shù)據(jù)分片常見的解釋轰传,一篇經(jīng)典的講數(shù)據(jù)分片的文章通常長這樣:

https://bitcoinist.com/vitalik-buterin-sharding-plasma-scale-ethereum-10000-times/

第一層—?數(shù)據(jù)分片

Vitalik解釋說數(shù)據(jù)分片是一種第一層(L1)擴容方案驴党,旨在直接改善現(xiàn)有的區(qū)塊鏈,讓它更好地運行获茬。

目前港庄,以太坊上運行的每個節(jié)點都要處理每一筆進(jìn)入網(wǎng)絡(luò)的交易。這個驗證過程提供了很高的安全保障恕曲,但這也意味著這個區(qū)塊鏈最快的速度取決于每個節(jié)點的最快速度鹏氧,而不是他們合力一起工作。

而數(shù)據(jù)分片則意味著區(qū)塊鏈網(wǎng)絡(luò)被分散成含有獨立交易歷史的小片佩谣。這樣節(jié)點就只需要處理某一片上的交易把还,總的交易吞吐量將會增加,因為單一的節(jié)點不再需要承擔(dān)所有的工作了茸俭。

這篇文章發(fā)表在一個區(qū)塊鏈新聞網(wǎng)站上吊履,所以肯定會使用吸人眼球的話語而根本沒有技術(shù)含量。我把其中一些詞語高亮標(biāo)出來是因為這些詞語最能吸引不太懂行的社區(qū)成員:“可擴容性”這個詞文章沒有給出定義调鬓,“處理”需要進(jìn)一步澄清含義艇炎,每次說到“節(jié)點”這個詞的情況都不適用于你或者你的輕量節(jié)點。下列這些詞組:

·?????“單一節(jié)點”

·?????“獨立節(jié)點”

·?????“每個節(jié)點”

都可以用以下詞組替代:

·?????需要花$16,000來進(jìn)行權(quán)益的節(jié)點

·?????需要花$16,000來進(jìn)行權(quán)益的節(jié)點

·?????需要花$16,000來進(jìn)行權(quán)益的節(jié)點

每當(dāng)你讀到有關(guān)數(shù)據(jù)分片的文章時腾窝,它總是說“這會讓節(jié)點更加輕松”缀踪,但是能夠負(fù)擔(dān)得起$16,000來進(jìn)行權(quán)益的節(jié)點根本不需要輕松。他們本來就可以處理更大的區(qū)塊虹脯。數(shù)據(jù)中心并不需要數(shù)據(jù)分片辜贵,如果某個節(jié)點很重要的話,你也不會在一臺筆記本電腦上運行它归形。這個系統(tǒng)中有許多種不同的節(jié)點托慨,目前還不清楚當(dāng)協(xié)議定稿后,哪一些節(jié)點會保留下來暇榴。我會先講基本構(gòu)造厚棵,然后定義該系統(tǒng)內(nèi)的主要幾種節(jié)點,這樣就能區(qū)分哪些節(jié)點重要蔼紧,哪些不重要婆硬。

數(shù)據(jù)分片把一個區(qū)塊鏈分成許多個區(qū)塊鏈,這些區(qū)塊鏈被稱為Collation奸例,然后在頂部打個結(jié)彬犯,祈禱模子不會再長大向楼。開玩笑的,以下是一個collation的示意圖:

開玩笑的啦谐区,下面這個才是collation的示意圖湖蜕,我花了很長時間才把它畫得好看一點:

下面我們來分析一下這個圖:

·?????Collation?[紫色區(qū)塊]: Collation就是數(shù)據(jù)分片語境下的區(qū)塊,他們可以形成collation鏈宋列,和區(qū)塊鏈相似昭抒。

·?????執(zhí)行者節(jié)點[藍(lán)色]:?執(zhí)行者節(jié)點驗證每個collation內(nèi)的數(shù)據(jù)。他們計算合約炼杖,然后將Collator節(jié)點下放到特定的分片中灭返。

·?????Collator節(jié)點[紅色]: Collator節(jié)點從分片中“獲取”數(shù)據(jù),創(chuàng)建collation(區(qū)塊)坤邪,然后拿給執(zhí)行者節(jié)點去“執(zhí)行”熙含。

·?????輕量節(jié)點?[粉色]:?這些是你將要運行的節(jié)點。這些節(jié)點對網(wǎng)絡(luò)不作任何貢獻(xiàn)艇纺,他們只是“觀看”怎静。這些節(jié)點有能力檢查交易,但是他們不能中繼交易或者區(qū)塊喂饥,所以即使他們發(fā)現(xiàn)某個交易或者區(qū)塊是無效的消约,他們也沒有辦法終止中繼。再說一遍员帮,這就是比特幣節(jié)點和其他區(qū)塊鏈的本質(zhì)區(qū)別或粮。每一個比特幣節(jié)點都做同樣的事,沒有辦法把他們區(qū)分開來捞高。

在每個分片中氯材,唯一重要的節(jié)點是執(zhí)行者和Collator節(jié)點,這兩者都需要32 ETH才能運行硝岗。每一個輕量節(jié)點可以“選擇他們‘在乎’的節(jié)點(如果他們想選的話)氢哮,然后同步該分片以及主鏈上的區(qū)塊頭。他們大概不需要這樣做型檀,除非他們是一個應(yīng)用或者服務(wù)冗尤,需要依靠驗證該分片,因為他們的合約在那個分片上胀溺。

上面這張圖中有多條Collation鏈裂七,許多執(zhí)行者和Collator節(jié)點在這些鏈(32 ETH)上工作,還有“主鏈(綠色)”仓坞,以及在頂部還有你的輕量節(jié)點背零,如果你選擇了一個特定的分片來“驗證”。

你應(yīng)該注意的幾件事:

·?????除非你有32 ETH无埃,不然你將不會成為執(zhí)行者或者Collator節(jié)點徙瓶。

·?????你的輕量節(jié)點并不中繼區(qū)塊毛雇。它并不執(zhí)行共識代碼,遇到無效區(qū)塊時除了大喊大叫什么也做不了侦镇。(驗證節(jié)點形成的網(wǎng)絡(luò)能夠拒絕廣播無效的交易和區(qū)塊灵疮,所以他們才有話語權(quán)。輕量節(jié)點根本就不能廣播區(qū)塊虽缕,也就更不用說阻止無效區(qū)塊了始藕。)

·?????主鏈上并沒有交易數(shù)據(jù)蒲稳,它只儲存Collation鏈的區(qū)塊頭氮趋。

這還不是全部,還有更多關(guān)于這個網(wǎng)絡(luò)的內(nèi)容江耀。你所有的輕量節(jié)點只同步主鏈的區(qū)塊頭剩胁,他們可以被歸為一大類,就是下圖中的這個大的長方形祥国。他們什么也不干昵观,但數(shù)量卻是最多的。一般來說舌稀,如果你沒有32 ETH的話啊犬,那你就會成為他們中的一員。

vbuterin: "數(shù)據(jù)分片將節(jié)點分成三六九等的做法在我看來是對區(qū)塊鏈網(wǎng)絡(luò)來說最糟糕的主意了壁查,并且子層節(jié)點對保護(hù)網(wǎng)絡(luò)的去中心化性質(zhì)并沒有任何實際作用觉至。"在協(xié)議中并沒有說要把節(jié)點分成三六九等…?我說過很多次了。即使“驗證一切”的節(jié)點數(shù)降為零睡腿,這個網(wǎng)絡(luò)也照樣能夠存活语御。安全模型并不依靠“驗證一切”節(jié)點;這些節(jié)點只是額外的席怪,大概只有像etherscan這樣的人和互聯(lián)網(wǎng)文檔才會去運行应闯,因為它在數(shù)據(jù)搜集上具有優(yōu)勢。從協(xié)議的角度來看挂捻,這樣的節(jié)點還不如不存在碉纺。如果沒有這些節(jié)點,我們就只有分片節(jié)點組成的網(wǎng)絡(luò)刻撒,每個分片節(jié)點只需使用比目前以太坊節(jié)點所需少得多的資源即可運行骨田。這是因為每個分片節(jié)點只需處理O(sqrt(n))活動。

StopAndDecrypt:?對的疫赎,你已經(jīng)把“驗證一切”的任務(wù)分?jǐn)偨o了各個分片盛撑,這些分片受某些節(jié)點協(xié)調(diào),而這些節(jié)點必須要進(jìn)行權(quán)益才能參與數(shù)據(jù)分片的任務(wù)下放過程捧搞。這些節(jié)點數(shù)量有限抵卫,并且會不斷減少狮荔。除非你能證明這些節(jié)點將會增長而且不需要進(jìn)行猜測、祈禱或者補貼介粘,否則這將是一個大問題殖氏。

vbuterin: "這些節(jié)點數(shù)量有限,并且會不斷減少姻采。"為什么會減少雅采?如果gas限制不斷上漲,確實是會減少慨亲,但是如果gas限制保持不變呢婚瓜?

StopAndDecrypt:?永遠(yuǎn)保持不變?

我想說的重點是刑棵,盡管“完全驗證”的工作被分散了巴刻,但是做這些工作的節(jié)點數(shù)量依然很少。Vitalik說這些節(jié)點所要處理的工作量比現(xiàn)在以太坊節(jié)點要做的少蛉签,但那本來就不是問題胡陪。問題在于做這項工作的難度會隨著時間的推移越來越大,這就是本質(zhì)中心化的碍舍。Vitalik甚至也同意如果gas限制不斷上漲的話柠座,節(jié)點數(shù)量將會下降,沒有什么能夠阻止這件事情的發(fā)生∑穑現(xiàn)在礦工的行為是利他的妈经,但是如果挖礦已經(jīng)不存在了,會發(fā)生什么呢锻全?如果只剩下權(quán)益狂塘,而且進(jìn)行權(quán)益的人并不在乎別人的區(qū)塊被孤立怎么辦?為什么他們要讓gas限制降下來鳄厌?請記住荞胡,他們可以手動調(diào)整這個數(shù)值,如果他們彼此緊密相連了嚎,并且完全有能力處理數(shù)據(jù)泪漂,為什么不故意將gas限制降下來呢?如果他們開始把他們的權(quán)益收益湊起來歪泳,搭建更多節(jié)點萝勤,增加他們對網(wǎng)絡(luò)的控制權(quán)該怎么辦?

@dr_hodes:?有了#masternodes之后呐伞,最好是把你的權(quán)益集合起來然后創(chuàng)建更多的節(jié)點敌卓!如果你賣掉你的收益的話,就會失去規(guī)模效應(yīng)伶氢。在所有masternode/POS挖礦當(dāng)中趟径,這是最有價值的一條建議瘪吏。

紅色曲線=集合獎勵

藍(lán)色曲線=賣掉每日收益

@bccponzi:?這讓我想起bitconnect雇的那幫托兒,將他們的1%每日利息集合起來蜗巧。集合shitcoin只會讓你最終得到一大袋毫無價值的幣掌眠。

如果人們不認(rèn)為這是一個shitcoin會怎樣?大多數(shù)會失敗幕屹,但是如果其中一個幣確實暫時能夠保持比較去中心化蓝丙,說服人們一直使用它,又會發(fā)生什么望拖?

在文章的開頭我說過這篇文章很容易讀懂渺尘,現(xiàn)在我不認(rèn)為它達(dá)到了這個效果,但是我已經(jīng)盡力把它寫得簡單明了了靠娱。我提到這個是因為我想用數(shù)據(jù)分片的常見問題的鏈接來結(jié)束這篇文章沧烈,這個鏈接里列舉了很長一串大家都公認(rèn)的數(shù)據(jù)分片的問題掠兄,他們的應(yīng)對方案像云,這些應(yīng)對方案所帶來的新的問題,以及這些新的問題的應(yīng)對方案蚂夕⊙肝埽總之非常復(fù)雜,我花了很長時間才好不容易弄清了其中關(guān)于節(jié)點類型的長篇累牘婿牍,但我覺得必須要把這個鏈接放出來才算公平侈贷。

我的問題從來不是以太坊是否“能行”,而是它是否能夠保持去中心化等脂。引進(jìn)數(shù)據(jù)分片之前俏蛮,以太坊確實比較糟糕撑毛,但是長期來看這個網(wǎng)絡(luò)只有一條路可走愿棋。如果你覺得有中心化的驗證者也沒什么關(guān)系的話,那你還不如買EOS免胃。他們甚至連假裝一下都懶得粉楚,直接奔著中心化去了辣恋。他們甚至不需要數(shù)據(jù)分片,因為他們就直接以中心化的方式來處理區(qū)塊鏈數(shù)據(jù)模软。

谷歌可以處理所有人的交易伟骨。

但我們不想讓谷歌處理所有人的交易。

我們也不想讓財富500強或400強公司來處理燃异。

我們從中學(xué)到了什么携狭?

聽起來我們面臨著擴容的三難困境。這個困境是什么回俐,我們將如何克服它逛腿?

三難困境聲稱區(qū)塊鏈系統(tǒng)最多只能有下列三個特質(zhì)中的兩個:

·?????去中心化(定義:在每個參加者只能獲取O(c)資源的情況下壹瘟,系統(tǒng)仍然能夠運行,例如一個普通的筆記本電腦或者一個小的虛擬專用服務(wù)器)

·?????可擴容性(定義:能夠處理O(n) > O(c)交易)

·?????安全性(定義:能夠阻擋擁有O(n)資源的入侵者的攻擊)

這份文檔接下來的內(nèi)容中鳄逾,我們將繼續(xù)使用c來指代每個節(jié)點所擁有的計算資源的大械竟臁(包括計算能力、帶寬以及存儲空間)雕凹,用n來指代在一些抽象語境中生態(tài)系統(tǒng)的大信咕恪;我們假設(shè)交易量枚抵、狀態(tài)大小以及該數(shù)字貨幣的市值都是n的倍數(shù)线欲。

不。

請使用第二層汽摹。


分析Vitalik的回復(fù)

1:Vitalik:"這種觀點非常無知李丰。以太坊已經(jīng)有區(qū)塊大小限制了,只不過是以gas限制的形式進(jìn)行逼泣。Gas限制值是8百萬趴泌,并且已經(jīng)有6個月沒有變過了。"

我在前文已經(jīng)討論過這個了拉庶。如果數(shù)據(jù)分片不能及時上線作為緩兵之計的話嗜憔,你就會提高gas限制。

2:Vitalik:"快速同步datadir增長已經(jīng)停留在10GB每月并且持續(xù)6個月了氏仗,并且將不會再增長太多吉捶,因為大幅提高gas限制會導(dǎo)致叔伯率(uncle rate)中心化問題。所以我們其實已經(jīng)見識過最糟糕的情況了皆尔,這種情況持續(xù)了半年呐舔。"

如果不提高gas限制的話,費用上漲將會導(dǎo)致Dapp無法使用慷蠕,引起社區(qū)不滿珊拼,因為他們抱有期望和需求。這一點我在前文也提到過了砌们。你別無選擇的時候杆麸,叔伯率將不再重要。目前礦工只是出于好心才聽從你的指揮浪感,這也是一個問題昔头。

3:Vitalik:"此外,只關(guān)注檔案節(jié)點大小是不對的影兽,因為(i)你可以甚至每年一次再次同步揭斧,或者運行一個Parity節(jié)點,它會幫助你修剪,這樣就可以大大減小datadir體積讹开。(ii)檔案節(jié)點包含一大堆額外的數(shù)據(jù)(技術(shù)上講是所有的歷史狀態(tài)以及Patricia?樹節(jié)點)盅视,這些數(shù)據(jù)都可以從區(qū)塊鏈(小于50 GB)重新計算出來,所以在任何嚴(yán)格的信息理論語境下這都不能算作“把歷史數(shù)據(jù)丟掉”旦万。如果你覺得丟掉歷史數(shù)據(jù)也沒什么關(guān)系的話闹击,你可以在只有狀態(tài)模式下運行Parity,光盤要求會下降到10 GB成艘。"

我展示那張數(shù)據(jù)吞吐量隨時間變化的圖表時就討論過這個“沖突”了赏半。目錄大小和節(jié)點處理需求的不斷攀升是非常相似的。對于這個論斷唯一的回應(yīng)就是你將不會提高gas限制淆两。但是你會断箫。

4:Vitalik:"數(shù)據(jù)分片的全部意義就在于網(wǎng)絡(luò)理論上講可以在所謂的“全節(jié)點”數(shù)量降為零的情況下存活。如果有5個全節(jié)點秋冰,這5個全節(jié)點也不會有任何額外的特殊待遇能夠決定共識仲义;這些節(jié)點只會驗證更多的東西,因而能夠更快地找到正確的鏈剑勾,就是這樣埃撵。形成共識的節(jié)點只能是分片節(jié)點。"

我在前文已經(jīng)討論過數(shù)據(jù)分片的問題了甥材。

5 (好好笑哦):Vitalik:"最后要指出的是盯另,你把“BCash”這個詞用錯了;這是一個裝置洲赵,而不是區(qū)塊鏈或者數(shù)字貨幣。"

https://hackernoon.com/thats-not-bitcoin-that-s-bcash-f730f0d0a837

簡介

在這篇文章的開頭商蕴,我想先澄清一些事情叠萍。當(dāng)我說BCash的時候,我指的是Bitcoin的山寨版绪商,正式名稱是Bitcoin ‘Cash’(比特幣“現(xiàn)金”)苛谷。

由于比特幣現(xiàn)金社區(qū)成員并不太喜歡別人給他們?nèi)〉摹癇Cash”的昵稱,于是有人開玩笑地創(chuàng)建了一個假的項目就叫做“BCash”格郁,以此來讓外人困惑并阻止別人把比特幣現(xiàn)金稱為“BCash”「沟睿現(xiàn)在當(dāng)你說“BCash”的時候,他們就會說這指的是那個假的項目例书,好像這樣就能讓你的論點不再成立似的锣尉。

如果你正在和別人辯論,然后說了BCash的這個詞决采?不好意思辯論到此為止自沧,對方肯定會說:“BCash是一個完全不同的幣,你要么不懂行树瞭,要么就是來找茬的拇厢“”

不好意思,我既不是不懂行也不是來找茬的孝偎。你就是個大騙子访敌。

這是假的:

紅圈內(nèi):你似乎不太懂啊…Bcash還沒有上線

解析Gustav Simonsson的回應(yīng):

https://medium.com/@gustav.simonsson/keeping-up-with-the-etherians-a-response-to-blockchain-size-concerns-a4858c2701d9

1: ?“(…)?基層的獎勵結(jié)構(gòu)完全壞掉了,因為以太坊區(qū)塊大小沒有限制(…)”

Gustav Simonsson:“這種論斷往輕了說是誤導(dǎo)人衣盾,往重了說就是假話了捐顷。以太坊是有區(qū)塊大小限制的,這個限制以gas限制的形式存在雨效,這是由共識協(xié)議保障的迅涮。

他們不太可能會選擇提高區(qū)塊大小,因為這會破壞網(wǎng)絡(luò)徽龟《9茫”

我在這篇文章中非常詳細(xì)地解釋了gas限制,這要感謝這幫人給我的動力据悔。網(wǎng)絡(luò)不會因為驗證者掉線或者同伴節(jié)點丟失而壞掉传透。網(wǎng)絡(luò)運轉(zhuǎn)于兩個數(shù)據(jù)中心之上。會壞掉的是去中心化极颓。已經(jīng)連接的節(jié)點沒有理由去關(guān)心其他連接不上的節(jié)點的驗證能力朱盐。

2:?“就算有了區(qū)塊大小限制,這個限制也得是合理的菠隆,這些Dapp將無法運轉(zhuǎn)兵琳,因為他們現(xiàn)在在沒有區(qū)塊大小限制的情況下就已經(jīng)幾乎無法運轉(zhuǎn)了『Ь叮”

Gustav Simonsson:“沒有人會再去海灘玩了躯肌,因為那里人多太擠了。

如果一個區(qū)塊鏈網(wǎng)絡(luò)已經(jīng)達(dá)到最大工作限度破衔,所有區(qū)塊都填滿了交易清女,那么所有的交易發(fā)送者就會在發(fā)送交易的時候同時附上一筆交易費∥福“

這完全沒說到點上嫡丙,因為這和我們討論比特幣時用的論點是一樣的,這個論點很流行读第,但是比特幣并不會向Dapp開發(fā)者和用戶們承諾低廉的費用以及可用性曙博。比特幣混合器用他們偷來或者黑來的幣把90%的區(qū)塊空間斗占滿了,因為比特幣混合比用那些愚蠢的沒人用的Dapp更好卦方,于是Dapp在價格大戰(zhàn)中就會被擠出來羊瘩,這時候你還能用什么來營銷呢?這就是我要說的重點。隨便你怎么說尘吗,總有一天你會不得不用和比特幣一樣的特色來為以太坊的存在辯論逝她,但是比特幣能夠做得更出色。

Gustav Simonsson:“作者的論述自相矛盾睬捶,建議把以太坊上的應(yīng)用搬到比特幣上黔宛。如果這些應(yīng)用因為交易費用上漲而在以太坊上毫無用處,那么搬到比特幣上之后擒贸,其他用戶會支付更高的交易費用臀晃,這些應(yīng)用也同樣會毫無用處。"

我建議開發(fā)者們在比特幣的基礎(chǔ)之上進(jìn)行開發(fā)介劫,但我不是說把那些本來就不會成功的點子移植到比特幣上徽惋。幾乎所有的Dapp本質(zhì)上都是中心化的,根本就不能算作“Dapp(去中心化應(yīng)用)”座韵。他們都可以在閃電網(wǎng)絡(luò)上安裝险绘。不管該支付通道網(wǎng)絡(luò)區(qū)塊大小如何都不會出現(xiàn)費用問題。你可以爭辯說以太坊也能夠做到誉碴,但這并不表示它的基層有什么額外的理由存在宦棺。

Gustav Simonsson:“根本不存在由于應(yīng)用加載量過大而拖垮以太坊的說法"

https://www.google.com/search?q=cryptokitties+ethereum

3:?“比特幣區(qū)塊大小并不會限制交易流,它管理的是向整個網(wǎng)絡(luò)廣播的數(shù)據(jù)黔帕〈蹋”

Gustav Simonsson:“對于任何正確定義的“交易流”來說這都是錯誤的。對交易的任意限制并不會限制交易流成黄,因為更多的交易在給定的時間段內(nèi)不能流動…如果我們把閃電網(wǎng)絡(luò)等鏈下解決方案也算進(jìn)來呐芥,當(dāng)做L1交易限制并不會降低交易流的論據(jù),那么我們也應(yīng)該把以太坊上已經(jīng)有的解決方案也算進(jìn)來慨默》纺停或者干脆承認(rèn)創(chuàng)建例如支付通道的成本會隨著L1費用的增加而上漲。"

我們確實把它算進(jìn)去了厦取,所以我說它確實不會限制交易流。區(qū)塊大小相當(dāng)于一個發(fā)電大壩管搪,發(fā)的電就是交易費用虾攻。流過大壩的水溢進(jìn)了閃電網(wǎng)絡(luò)中,而閃電網(wǎng)絡(luò)對于閃電節(jié)點和支付通道外的交易吞吐量沒有上限更鲁,閃電節(jié)點和支付通道本身的流量也沒有上限霎箍。

此外,如果在一筆交易中你將收到比特幣澡为,那么這筆比特幣可以直接通過一個新開的通道接收漂坏。這并不是一個兩步走的流程。?

4:?“我想說的是說這個信息不應(yīng)當(dāng)這么隱晦。如果有那一天這個不再隱晦了顶别,那就已經(jīng)太晚了谷徙,來不及拯救了⊙币铮”

Gustav Simonsson:“這個信息并不隱晦完慧。你可以直接運行一個全節(jié)點然后進(jìn)行查詢。

只是因為你還沒找到在做這個的網(wǎng)站

這個“太晚了”的說法剩失,往輕了說是把這個具體問題進(jìn)行有瑕疵的擴大化屈尼,往重了說這是個事后謬誤。"

這個信息就是很隱晦拴孤,并不是我“找不到”追蹤這個信息的網(wǎng)站脾歧,追蹤這個信息的網(wǎng)站現(xiàn)在已經(jīng)停止追蹤了。

你忘了引用下一句話了:“現(xiàn)在已經(jīng)太晚了演熟”拗矗”

這是一個諷刺手法,不是謬誤绽媒。要么接受要么走人蚕冬。

5:?“請注意,這些信息(區(qū)塊傳播時間以及交易時間)當(dāng)中沒有一項是以太坊能夠提供的”

Gustav Simonsson:“這是完全錯誤的是辕。只要運行幾個在地點上較為分散的節(jié)點就能輕松計算出區(qū)塊傳播時間囤热,讓這幾個節(jié)點彼此相互連接,然后測量他們發(fā)現(xiàn)并中繼新區(qū)塊和交易的時間获三。

如果你比較懶旁蔼,不想花費幾個小時的時間學(xué)習(xí)如何部署、使用疙教、甚至添加debugging到以太坊客戶端的話棺聊,可以去查看連接到https://ethstats.net/的節(jié)點的區(qū)塊傳播時間。"

首先贞谓,這并不簡單限佩。再說一遍,這和我沒有關(guān)系裸弦,因為很顯然我有能力區(qū)別這些網(wǎng)絡(luò)并搜集這些信息祟同。這些信息就是我分享出來的,因為我做過這些事理疙。

其次晕城,我不需要在全世界各地建立節(jié)點來查這個,網(wǎng)上的抱怨以及上圖左邊這欄里的數(shù)據(jù)(這張圖就是從你說的那個網(wǎng)站上得來的)更加堅定地支持了網(wǎng)上的共識窖贤。有半數(shù)的節(jié)點志愿將他們的數(shù)據(jù)共享到這個網(wǎng)站上砖顷,但是有很糟糕的延遲贰锁,這就說明存在問題。

第三滤蝠,懶人是不會像我這樣不嫌其煩地去搜集數(shù)據(jù)的豌熄,當(dāng)我說這個數(shù)據(jù)不向公眾開放的時候我也沒有說錯。一般來說網(wǎng)絡(luò)數(shù)據(jù)都不向大眾開放几睛,因為它并沒有被整理出來呈獻(xiàn)給公眾房轿,雖然其中有些信息確實曾經(jīng)向公眾開放。要搜集這些資料可不是光有普通人的常識就能做到的所森。

6:?[瞎嚷嚷要用“正確”的方式來使用區(qū)塊鏈囱持,痛罵CryptoKitties]

Gustav Simonsson:“作者預(yù)設(shè)存在一種“正確”的方式來使用一個公開的不需要許可的區(qū)塊鏈。如比特幣和以太坊這樣的區(qū)塊鏈的魅力所在焕济,就是用戶可以用它來干什么都行纷妆,只要他們能夠說服礦工接受他們的交易。

例如晴弃,很多人確實_很喜歡_ CryptoKitties掩幢,甚至在最近的一次拍賣中為了一只貓拍出了價值$140,000的ETH的天價。"

這個礦工接受什么交易無關(guān)上鞠。我說的是际邻,盡管這些交易現(xiàn)在被礦工接受,但在將來芍阎,任何只能用低廉價格才能運轉(zhuǎn)的Dapp將無法繼續(xù)運轉(zhuǎn)世曾,除非提高限制,或者犧牲去中心化谴咸。你或許要開始在別處尋找這個功能了轮听。如果你不在乎去中心化,那么這個說法就不適用于你的情況岭佳,這也完全沒關(guān)系血巍。但是這確實就是以太坊現(xiàn)在的賣點:

拋開洗錢不講,這世上確實有傻瓜存在珊随。CryptoKitties就是一個很好的例子述寡。我實際上很喜歡CryptoKitties,因為它就像個試金石一樣能夠試出誰是傻瓜叶洞,而且我并不討厭貓:

7:?“比特幣網(wǎng)絡(luò)大約有115,000個節(jié)點辨赐,其中約有12,000個聽節(jié)點【┌欤”

Gustav Simonsson:“這個比特幣節(jié)點計數(shù)和好幾個其他來源的計數(shù)有出入

如果這些其他來源都算錯了,那么他們肯定很想知道作者提供的這個網(wǎng)站究竟是如何計算比特幣節(jié)點的帆焕。

此外惭婿,計算這些較大節(jié)點數(shù)量的代碼是由誰審計的不恭?"

它所做的一切就是計算非聽節(jié)點以及聽節(jié)點。這兩者都計算會比較困難财饥,所以很多網(wǎng)站都不會做换吧。同樣地,在以太坊中區(qū)分輕節(jié)點和驗證節(jié)點也比較困難钥星,所以很多網(wǎng)站也都不做沾瓦。

https://twitter.com/LukeDashjr/status/1001202223009935361

@LukeDashjr:?我把他們?nèi)慷妓氵M(jìn)去

@Emoji_Nakamoto:?對,我知道谦炒,但你會減去離開網(wǎng)絡(luò)的節(jié)點嗎贯莺?其他節(jié)點探索者是不是只計算core最新版本中的節(jié)點?

@LukeDashjr:?不再活躍的節(jié)點要幾周后才會被除名宁改。

@Emoji_Nakamoto:?所以節(jié)點探索者們并不計算聽節(jié)點缕探,或者他們偷懶用別的方法來實現(xiàn),有這個可能嗎还蹲?

@LukeDashjr:?他們*只*計算聽節(jié)點爹耗,而聽節(jié)點是少數(shù)。

@Emoji_Nakamoto:?這個現(xiàn)象有沒有什么比較好的解釋谜喊?

@LukeDashjr:?因為這樣做很容易潭兽。

8:?“你所看到的以太坊節(jié)點數(shù)量?我敢說那大多數(shù)都是輕量節(jié)點斗遏,根本不進(jìn)行驗證工作(檢驗區(qū)塊頭不能算是驗證)山卦。不同意的話就來證明我是錯的吧,拿出數(shù)據(jù)來最易∨鳎”

Gustav Simonsson:“作者為什么不提供一些數(shù)據(jù)來支持他們的胡說八道?“我敢說”是一種訴諸權(quán)威的詭辯技巧藻懒。讀了作者這些錯誤的說法和誤解剔猿,我認(rèn)為在討論(以太坊)協(xié)議和網(wǎng)絡(luò)問題時,他的可信度已經(jīng)下降到不足以被嚴(yán)肅對待了嬉荆。"

我承認(rèn)我確實有在假設(shè)归敬,但是說我已經(jīng)失去可信度就有點太扯了。我的擔(dān)心是有依據(jù)的并且不應(yīng)該被無視鄙早。你可以不同意汪茧,但你必須說明為什么你不同意。我的這篇以及上一篇文章就進(jìn)行了非常清楚的說明:驗證節(jié)點很重要限番,而以太坊從協(xié)議開始就一直在忽視他們舱污。

9:?“如果你的節(jié)點無法同步,那它就會降級為一個輕量客戶端弥虐±┑疲”

Gustav Simonsson:“這是錯誤的媚赖。就算一個節(jié)點同步時落后了幾個區(qū)塊,它還是可以回復(fù)關(guān)于過去的區(qū)塊和交易的查詢以及服務(wù)其他正在同步的節(jié)點珠插。作者可以查看一下比如Parity或者go-ethereum的客戶端的并發(fā)和狀態(tài)處理惧磺,來理解目前節(jié)點是如何安裝同步以及將如何與新的數(shù)據(jù)分片提案一同工作的。"

這并沒錯捻撑,是你只看到字面意思磨隘。網(wǎng)上有很多評論都是關(guān)于節(jié)點無法同步,別人一直說“沒關(guān)系”顾患,于是人們只好使用快速同步番捂。站遠(yuǎn)了看,這將導(dǎo)致驗證節(jié)點離線而輕量節(jié)點在線描验,就像我在前文中展示的圖表一樣白嘁。

10:?在這種情況下,你究竟如何才能知道有多少完全驗證節(jié)點膘流?你現(xiàn)在完全無法得知了絮缅,因為唯一一個追蹤這個數(shù)據(jù)的網(wǎng)站把輕量客戶端也算進(jìn)去了。假如這些全節(jié)點中心化到了10個數(shù)據(jù)中心里呼股,那你怎么知道呢耕魄?你永遠(yuǎn)不會知道。

Gustav Simonsson:“好吧彭谁,我們現(xiàn)在已經(jīng)能確切地知道吸奴,目前有115000完全驗證的比特幣節(jié)點,但是在作者所想象的假設(shè)的將來缠局,我們將無法知道以太坊網(wǎng)絡(luò)中到底有多少正確地進(jìn)行驗證的全節(jié)點则奥?

很顯然現(xiàn)在比特幣里的一些網(wǎng)絡(luò)工程設(shè)計魔法可以應(yīng)用到這個假想的未來的以太坊網(wǎng)絡(luò)中。由于比特幣和以太坊的客戶端都是開源的狭园,我想以太坊開發(fā)者們應(yīng)該很快就會發(fā)現(xiàn)這個魔法然后應(yīng)用它读处,讓我們隨時都能得知當(dāng)前究竟有多少個全節(jié)點。"

能夠確定比特幣中到底有多少個全節(jié)點的原因是所有節(jié)點都進(jìn)行驗證唱矛。這個網(wǎng)絡(luò)中的所有參與者都驗證這條鏈罚舱,只有這樣你才知道下一個區(qū)塊是有效的而不需要依靠信任其他人。比特幣當(dāng)中沒有輕量節(jié)點绎谦。

在以太坊中管闷,節(jié)點可以以非常多種模糊曖昧的方式與彼此交互,要想知道哪些節(jié)點是完全驗證節(jié)點窃肠,唯一的方法是向過去的隨機區(qū)塊發(fā)起請求包个,看它是否有那個完整的區(qū)塊,但大多數(shù)以太坊節(jié)點一般不保存歷史記錄冤留,因為以太坊是基于狀態(tài)的赃蛛。

以太坊和比特幣的網(wǎng)絡(luò)的本質(zhì)上是完全不同的忧勿,這就是為什么對比特幣網(wǎng)絡(luò)進(jìn)行調(diào)查很容易褂策,而對于以太坊來說則困難重重帜羊。

—?—?—

Gustav Simonsson:“運行以太坊全節(jié)點的要求當(dāng)然會高一點岔留。舊一點的電腦可能會跑不動环葵,而且一定得用固態(tài)硬盤烟零。但是不管怎樣都肯定不需要一個很強大的服務(wù)器醉锄。實際上偿曙,任何一臺機器州既,只用來運行節(jié)點谜洽,裝有過去六年之內(nèi)上市的CPU,8 GB的RAM以及一個現(xiàn)代固態(tài)硬盤都能夠很好地運行一個以太坊全節(jié)點(我的一個蠻普通的服務(wù)器上就運行了好幾個全節(jié)點)吴叶。中繼交易和區(qū)塊所用的帶寬確實需要考慮阐虚,但是對于連接良好的網(wǎng)絡(luò)來說一般不是個問題“雎保”

1:?隨著時間的推移越來越難了实束。

2:?這已經(jīng)沒有什么實際意義了,因為驗證節(jié)點需要花費$45,000

3:?不花費$45,000的驗證節(jié)點網(wǎng)絡(luò)的帶寬很重要逊彭,因為“連接良好”對于隱私保護(hù)是很危險的咸灿,這一點前文已經(jīng)講過了。

—?—?—

Gustav Simonsson:“礦工們已經(jīng)意識到現(xiàn)行的區(qū)塊(gas)限制侮叮,并且積極與社區(qū)中的其他成員討論理想的區(qū)塊大小限制應(yīng)該是什么

在歷史上避矢,礦工曾經(jīng)降低過也曾經(jīng)提高過限制“

在一個中心化的工作證明網(wǎng)絡(luò)中這一切都不重要。不過如果是一個工作證明系統(tǒng)的話那么將會非常危險囊榜。礦工們并沒有激勵機制來保證“其他”節(jié)點保持連接或者同步审胸,“因為他們可以只同步區(qū)塊頭”。礦工們現(xiàn)在只是好心卸勺,但是并不能保證他們將來也會保持這樣砂沛。當(dāng)這些網(wǎng)絡(luò)開始向上擴容的時候,信任那些執(zhí)掌大權(quán)的人是一件很危險的事孔庭。

—?—?—

Gustav Simonsson:“總的來說尺上,網(wǎng)絡(luò)上線之后,隨著客戶端性能不斷改善圆到,礦工逐漸提高限制怎抛,直到目前的8M(以太坊上線的時候是3.14M)。一般來說芽淡,如果同步問題嚴(yán)重到影響ETH的價格马绝,礦工將會降低限制來管理網(wǎng)絡(luò)≌醴疲”

我沒有理由相信限制會下降富稻,我已經(jīng)寫了很多文章來講這個了掷邦。

—?—?—

Gustav Simonsson:“其他人已經(jīng)討論過以太坊支持的各種同步模式及其不同的資源要求,另一件值得討論的事情是椭赋,如果以太坊網(wǎng)絡(luò)確實發(fā)展得太快抚岗,導(dǎo)致大多數(shù)全節(jié)點跟不上,那么有一個緊急補救措施哪怔,那就是checkpoint宣蔚。

像StopAndDecrypt這種人,聽到區(qū)塊鏈checkpoint這種不神圣的认境、充滿罪惡的詞語的時候胚委,大概要跳腳吧。如果安裝共識協(xié)議的客戶端同意從checkpoint區(qū)塊而不是從創(chuàng)世區(qū)塊開始進(jìn)行同步的話叉信,這個區(qū)塊鏈如何能實現(xiàn)去中心化呢亩冬?!“

Checkpoint有它自己的功能硼身,但是你所聲稱的我對他們的看法都是胡扯硅急。不管怎樣,同步模式并不重要鸠姨,如果你想這樣做的話那也沒關(guān)系铜秆。再重申一遍,我的擔(dān)心是驗證節(jié)點組以及checkpoint只關(guān)心歷史數(shù)據(jù)讶迁,而不是同步以后的數(shù)據(jù)處理要求连茧。

Gustav Simonsson:“對比特幣或以太坊進(jìn)行大于幾個小時的重組在實際操作中都是非常不可能的”

我同意。

—?—?—

Gustav Simonsson:“結(jié)語

沒有人真正知道要保證一個網(wǎng)絡(luò)“安全”究竟需要多少個全節(jié)點巍糯。

我們無法得知一千啸驯、五千、一萬或其他數(shù)值是不是確保網(wǎng)絡(luò)安全的最低值祟峦》6罚“

請看上文。

—?—?—

Gustav Simonsson:“說了這么多宅楞,我們應(yīng)當(dāng)繼續(xù)鼓勵開發(fā)以太坊應(yīng)用的個人或團(tuán)隊——或者任何想要為這個網(wǎng)絡(luò)做貢獻(xiàn)的人——運行自己的全節(jié)點针姿。”

PoS和Sharding上線之后厌衙,我希望那些人口袋里有$45,000這么多錢距淫。如果ETH價格上漲那就更糟糕了。DASH要求得有1000個幣婶希,運行masternode的成本曾經(jīng)一度高達(dá)$1,000,000榕暇。

—?—?—

Gustav Simonsson:“對于那些堅持讀到這里的讀者們——“

我堅持讀到這里了,并且我不恨你。大家老是說我的寫作風(fēng)格充滿敵意彤枢,但我確實沒有敵意狰晚。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市缴啡,隨后出現(xiàn)的幾起案子壁晒,更是在濱河造成了極大的恐慌,老刑警劉巖盟猖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件讨衣,死亡現(xiàn)場離奇詭異,居然都是意外死亡式镐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門固蚤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來娘汞,“玉大人,你說我怎么就攤上這事夕玩∧阆遥” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵燎孟,是天一觀的道長禽作。 經(jīng)常有香客問我,道長揩页,這世上最難降的妖魔是什么旷偿? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮爆侣,結(jié)果婚禮上萍程,老公的妹妹穿的比我還像新娘。我一直安慰自己兔仰,他們只是感情好茫负,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著乎赴,像睡著了一般忍法。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上榕吼,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天饿序,我揣著相機與錄音,去河邊找鬼友题。 笑死嗤堰,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播踢匣,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼告匠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了离唬?” 一聲冷哼從身側(cè)響起后专,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎输莺,沒想到半個月后戚哎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡嫂用,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年型凳,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嘱函。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡甘畅,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出往弓,到底是詐尸還是另有隱情疏唾,我是刑警寧澤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布函似,位于F島的核電站槐脏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏撇寞。R本人自食惡果不足惜顿天,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望重抖。 院中可真熱鬧露氮,春花似錦、人聲如沸钟沛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恨统。三九已至叁扫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間畜埋,已是汗流浹背莫绣。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留悠鞍,地道東北人对室。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親掩宜。 傳聞我的和親對象是個殘疾皇子蔫骂,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容