原作者:StopAndDecrypt
(太長不看版:這跟存儲空間限制沒有關(guān)系)
不到一年前幌墓,以太坊錢包Parity的一位開發(fā)者Afri Schoedon寫了一篇文章贬循,現(xiàn)在這篇文章是對他的文章的一個(gè)間接回應(yīng):
https://dev.to/5chdn/the-ethereum-blockchain-size-will-not-exceed-1tb-anytime-soon-58a
我想要聲明的是我對在這個(gè)領(lǐng)域中幾乎所有的開發(fā)者都心懷尊敬,這篇文章并不是要攻擊什么人浦译。我寫這篇文章的目的是解釋目前真正的問題是什么棒假,以及解釋為什么Afri Schoedon的文章并沒有討論到這些真正的問題。我很希望有人能夠?qū)懫恼聛斫忉屵@些問題精盅,這樣我們就可以把它也應(yīng)用到比特幣上帽哑。確實(shí)有個(gè)別開發(fā)者故意通過協(xié)議誤解來進(jìn)行誤導(dǎo)、混淆叹俏、無視妻枕,就和2X以及replay保護(hù)措施那場鬧劇一樣,不過大多數(shù)開發(fā)者并不是那樣的人粘驰。你不能因?yàn)槌隽?a target="_blank" rel="nofollow">這樣或那樣的事就討厭這些開發(fā)者屡谐。他們和我們一樣都是為了同一個(gè)目標(biāo)而奮斗的,并且我相信Afri是屬于第二類開發(fā)者蝌数,而非前者愕掏。
@ravensorb?本issue已被分類識別,并入子任務(wù)籽前,你可以在這個(gè)鏈接里查閱到概況:https://wiki.parity.io/Known-Issues-Priorities
@codewiz?Warp-sync本身沒毛病亭珍,在以太坊之外的任何鏈上都正常運(yùn)行敷钾。目前以太坊的體積大小是一個(gè)很嚴(yán)峻的問題,而且這也不屬于Parity的問題肄梨。
如果你之前讀過我的文章阻荒,那你就會發(fā)現(xiàn)這篇文章里有一些片段是從之前的文章中搬過來的。到目前為止众羡,我的文章主要都是以一個(gè)“極大主義者”的角度來寫關(guān)于比特幣的問題以及在比特幣社區(qū)內(nèi)的一些爭論侨赡。如果你只從你個(gè)人的角度來看的話,這些爭論的原因其實(shí)都是一樣的粱侣。我甚至?xí)脵?quán)益證明來為我的意見進(jìn)行辯護(hù)羊壹,以至于不去批評權(quán)益證明這個(gè)東西。
修正:看起來有些人并沒有好好閱讀我的副標(biāo)題所以誤解我的意思了齐婴。這里討論的不是檔案節(jié)點(diǎn)油猫,而是完全驗(yàn)證了的節(jié)點(diǎn)。不管你是為了趕上進(jìn)度而漏讀了哪些東西我都不在乎柠偶。這是關(guān)乎同步的問題情妖。輕節(jié)點(diǎn)并不能算作節(jié)點(diǎn)。
目錄
·? 我的論點(diǎn):以太坊的失控?cái)?shù)據(jù)(runaway data)目錄只是冰山一角诱担。
·? 我的預(yù)測:一切都?xì)q月靜好毡证,直到大廈崩塌。
·? 我的建議:進(jìn)行轉(zhuǎn)置蔫仙。
我的論點(diǎn):更大的區(qū)塊會使得驗(yàn)證者中心化
就是這么簡單料睛,這就是擴(kuò)容之爭中整個(gè)數(shù)字貨幣社區(qū)爭論的中心,熟悉區(qū)塊鏈協(xié)議的人一般都不會否認(rèn)這個(gè)事實(shí)摇邦。以下這段節(jié)選我認(rèn)為很好地解釋了各種“第二層”擴(kuò)容方案(在這些方案中唯一可行的一個(gè)已經(jīng)實(shí)施到比特幣中了)恤煞。
1. 公共區(qū)塊鏈擴(kuò)容所面臨的挑戰(zhàn)
首先要弄清楚的是,“擴(kuò)容”并不是一個(gè)單獨(dú)的問題涎嚼,而是一系列挑戰(zhàn)阱州,要克服這些挑戰(zhàn)挑秉,才能讓全球數(shù)以百萬計(jì)的用戶用上以太坊法梯。
討論最多的一個(gè)擴(kuò)容問題就是交易吞吐量。目前以太坊每秒能夠處理大約15筆交易犀概,而Visa的交易處理速度則為45,000/tps立哑。去年一些應(yīng)用如Cryptokitties或者有時(shí)候甚至一些ICO都會因?yàn)樘軞g迎而拖慢整個(gè)網(wǎng)絡(luò)速度并導(dǎo)致gas費(fèi)上漲。
核心限制在于姻灶,像以太坊這種公鏈中铛绰,每一筆交易都需要被全網(wǎng)每一個(gè)節(jié)點(diǎn)處理。在以太坊區(qū)塊鏈上進(jìn)行的每個(gè)操作产喉,比如說一筆交易捂掰,創(chuàng)建一個(gè)Cryptokitty敢会,或者進(jìn)行一個(gè)新的ERC20合同,都需要全網(wǎng)的每個(gè)節(jié)點(diǎn)同時(shí)進(jìn)行處理这嚣。這個(gè)機(jī)制就是故意這樣設(shè)計(jì)的鸥昏,以保證公共區(qū)塊鏈的權(quán)威性。節(jié)點(diǎn)不需要其他人來告知現(xiàn)在區(qū)塊鏈上發(fā)生了什么姐帚,它們得自己去弄清楚吏垮。
這就給以太坊的交易吞吐量設(shè)置了一個(gè)根本性的限制:不能高于我們愿意向一個(gè)單一節(jié)點(diǎn)索取的量。
該文章的作者是Josh Stark罐旗,他能夠弄明白這一點(diǎn)膳汪。他的公司甚至宣布進(jìn)行一個(gè)項(xiàng)目,要在以太坊上弄一個(gè)和閃電網(wǎng)絡(luò)一樣的東西九秀。(巧的是Elizabeth Stark的公司也在參與建設(shè)閃電網(wǎng)絡(luò)遗嗽。)
那么問題是什么呢?先把權(quán)益證明的東西放在一邊鼓蜒,底層的激勵機(jī)制完全不對媳谁,因?yàn)橐蕴坏膮^(qū)塊大小沒有限制,就算要設(shè)置一個(gè)限制也得是一個(gè)合理的數(shù)字友酱,而且這些去中心化的應(yīng)用(Dapps)也不可能正常運(yùn)轉(zhuǎn)晴音,因?yàn)楝F(xiàn)在沒有限制的情況下他們也才勉強(qiáng)能夠運(yùn)轉(zhuǎn)。甚至這個(gè)限制的數(shù)值到底是多少也不必討論了缔杉,因?yàn)楝F(xiàn)在根本就沒有限制锤躁。
有點(diǎn)跑題了。我現(xiàn)在要簡單地定義一個(gè)區(qū)塊鏈或详,有些人可能會被惹毛系羞。
以下是一個(gè)區(qū)塊鏈所能提供的:
·? 一個(gè)不可更改的、去中心化的賬簿霸琴。
·? 就這樣沒別的了椒振。
以下是一個(gè)區(qū)塊鏈所需要的東西以保持他的本質(zhì):
一個(gè)去中心化的網(wǎng)絡(luò)并且擁有以下能力:
·?????? 分散我的賬簿——驗(yàn)證
·?????? 添加我的賬簿——工作
·?????? 為我的需求提供激勵——代幣
以下是讓區(qū)塊鏈?zhǔn)〉囊蛩兀?/b>
·?????? 在區(qū)塊鏈上添加讓它偏離網(wǎng)絡(luò)的目標(biāo)的功能。
區(qū)塊鏈只是網(wǎng)絡(luò)的一個(gè)工具梧乘,并且是只能用在特定網(wǎng)絡(luò)中的一種特定工具澎迎,這個(gè)特定工具和特定的網(wǎng)絡(luò)是相互依存的,其中一個(gè)沒有了另一個(gè)也無法存活选调。你可以在這個(gè)網(wǎng)絡(luò)的基礎(chǔ)之上建設(shè)其他東西夹供,但是坦白說如果在這個(gè)網(wǎng)絡(luò)的底層(L1)上添加了使得網(wǎng)絡(luò)無法正常運(yùn)作的東西的話,這個(gè)網(wǎng)絡(luò)遲早玩完仁堪。
下面我舉個(gè)例子哮洽,這是一個(gè)L1層面上的功能,它并不會影響網(wǎng)絡(luò)的正常運(yùn)轉(zhuǎn)弦聂,它就是多重簽名鸟辅。
多重簽名確實(shí)需要節(jié)點(diǎn)多做一點(diǎn)工作氛什,但這點(diǎn)工作算是“微不足道”的。需要注意的是匪凉,對于這些設(shè)計(jì)良好的網(wǎng)絡(luò)來說屉更,硬件并不是它的瓶頸,網(wǎng)絡(luò)延遲才是洒缀。向一個(gè)多重簽名地址支付款項(xiàng)瑰谜,并不比向一個(gè)普通地址支付款項(xiàng)所需要的網(wǎng)絡(luò)費(fèi)用高,因?yàn)閷τ诿抗P交易來說是按字節(jié)收費(fèi)的树绩。這項(xiàng)區(qū)塊鏈功能并不會妨礙網(wǎng)絡(luò)的正常運(yùn)轉(zhuǎn)萨脑,因?yàn)樵诰W(wǎng)絡(luò)上進(jìn)行傳輸?shù)臄?shù)據(jù)是(1)按字節(jié)收費(fèi)的,并且(2)受到區(qū)塊大小限制的管理饺饭。這里說管理而不是“限制”渤早。區(qū)塊大小并不限制交易流程,而是管理向所有節(jié)點(diǎn)廣播的數(shù)據(jù)量瘫俊,那么問題就出在這里鹊杖。
當(dāng)我們說“數(shù)據(jù)目錄”大小時(shí),指的是從創(chuàng)世區(qū)塊起一整條鏈的大小扛芽,但如果只從字面意思理解的話就會有人來抬杠:
·? 光盤空間很便宜骂蓖,而且摩爾定律認(rèn)為當(dāng)價(jià)格不變時(shí),集成電路上可容納的元器件的數(shù)目川尖,約每隔18-24個(gè)月便會增加一倍登下,性能也將提升一倍。
·? 如果需要的話可以修剪區(qū)塊鏈叮喳。
·? 不需要一直追溯到創(chuàng)世區(qū)塊被芳,只需要最后X個(gè)區(qū)塊就可以確定目前整個(gè)網(wǎng)絡(luò)的狀態(tài)了。
這些言論完全無視了一個(gè)節(jié)點(diǎn)每秒必須處理的數(shù)據(jù)馍悟。
如果愿意的話你可以閱讀我寫的關(guān)于摩爾定律的文章畔濒,我在這里只節(jié)選其中重要的幾點(diǎn)。在Oz那里他們試圖辯稱“你不需要運(yùn)行一個(gè)節(jié)點(diǎn)锣咒,只有礦工才有資格決定采用什么代碼”侵状。這種說法很荒唐,但在這里我不打算進(jìn)行反駁宠哄,因?yàn)闄?quán)益證明把礦工完全移除壹将,把所有東西都放到節(jié)點(diǎn)里了嗤攻。(其實(shí)他們一直都在節(jié)點(diǎn)里毛嫉,只不過這次沒有礦工來轉(zhuǎn)移話題了。)
1. 摩爾定律討論的是集成電路的增長速度妇菱,每年大約能夠增長60%承粤。這個(gè)定律討論的并不是可用的帶寬(而帶寬才是更重要的)暴区。
2. 帶寬的增長速度要慢得多。我們來看看尼爾森定律辛臊。從1:1比例開始(在硬件和帶寬上沒有瓶頸)仙粱,每年增長50%,10年復(fù)合增長得到大約~1:2的比例彻舰,這就意味著每十年帶寬增長速度要慢兩倍伐割,每20年就慢四倍,每40年慢八倍刃唤,如此反復(fù)隔心。(實(shí)際的情況要糟糕得多,但是我這里只做簡單的假設(shè)尚胞,因?yàn)閮H僅是這樣就已經(jīng)相當(dāng)糟糕了硬霍。)
3. 網(wǎng)絡(luò)延遲比帶寬增長要慢,這就意味著隨著網(wǎng)絡(luò)上節(jié)點(diǎn)的平均帶寬速度提高笼裳,區(qū)塊和數(shù)據(jù)傳輸速度并不以同樣的速率提高唯卖。
4. 更大的區(qū)塊需要更好的數(shù)據(jù)傳輸(更低的網(wǎng)絡(luò)延遲)來抵抗節(jié)點(diǎn)中心化。
嚴(yán)格地從以太坊的角度來看躬柬,轉(zhuǎn)換成權(quán)益證明之后只剩下節(jié)點(diǎn)了拜轨,那么你肯定想要確保不會發(fā)生節(jié)點(diǎn)中心化。比特幣網(wǎng)絡(luò)所遇到的瓶頸是它的區(qū)塊大性是唷(這是理所當(dāng)然的)撩轰,因?yàn)檫@保證了網(wǎng)絡(luò)的需求增長速度永遠(yuǎn)不會超過外部(有時(shí)候不一定)限制(如計(jì)算性能或網(wǎng)絡(luò)性能)的增長速度。由于以太坊不斷增長的區(qū)塊大小昧廷,它的瓶頸不再受到這些外部因素的控制堪嫂,網(wǎng)絡(luò)需求不斷超過平均用戶的硬件和帶寬水平,導(dǎo)致網(wǎng)絡(luò)愈加縮小和中心化木柬。
StopAndDecrypt: 兩天內(nèi)就達(dá)到了10 GB皆串。作為一個(gè)比特幣愛好者,我有個(gè)嚴(yán)肅的問題:對于這個(gè)增長趨勢你們有什么應(yīng)對方案嗎眉枕?你們將在不到一個(gè)月的時(shí)間內(nèi)增長33%恶复。請文明發(fā)言。
Vitalik: 那個(gè)圖表具有非常大的誤導(dǎo)性速挑。300GB是一個(gè)檔案全節(jié)點(diǎn)的大小谤牡,這種節(jié)點(diǎn)存儲著歷史數(shù)據(jù),包含目前和過去的所有狀態(tài)姥宝。狀態(tài)本身僅有~1-2 GB翅萤,歷史數(shù)據(jù)大約有~10 GB。修剪了的節(jié)點(diǎn)仍然存儲著所有的狀態(tài)和歷史腊满,如果你真的需要的話它可以調(diào)出任何歷史狀態(tài)套么,但這個(gè)節(jié)點(diǎn)只有大約20 GB培己。如果只需要現(xiàn)時(shí)狀態(tài)的話,這個(gè)數(shù)字還可以更小胚泌。
Senzheng:不要認(rèn)為大家像關(guān)心帶寬一樣關(guān)心空間大小省咨。
對于全節(jié)點(diǎn)最低上傳速度,在保證網(wǎng)絡(luò)安全的情況下玷室,實(shí)時(shí)帶寬需要多大零蓉?
就和這里的分析相似:https://iancoleman.github.io/blocksize/#_ & https://twitter.com/SDWouters/status/862426991370358784 (我才意識到以太坊不一樣)
(沒有回應(yīng))
Privpub: 有人認(rèn)為修剪過的節(jié)點(diǎn)就像比特幣里的SPV節(jié)點(diǎn)一樣,而且無法實(shí)現(xiàn)“真正的”去中心化穷缤,這個(gè)觀點(diǎn)你怎么看壁公?
Vitalik: 你說的其實(shí)是一個(gè)輕量客戶端,即使是以太坊輕量客戶端也比比特幣SPV節(jié)點(diǎn)要強(qiáng)大得多:比特幣SPV節(jié)點(diǎn)能夠驗(yàn)證交易绅项,而以太坊輕量客戶端能夠驗(yàn)證現(xiàn)時(shí)狀態(tài)紊册。
比特幣SPV并不是節(jié)點(diǎn),他們并不在網(wǎng)絡(luò)上傳播區(qū)塊或交易快耿。他們像水蛭一樣吸附在區(qū)塊頭上囊陡。
下面提到的概念對于理解本文接下來要講的內(nèi)容非常重要,請注意閱讀:
·? 你可以將無效的交易放進(jìn)區(qū)塊中掀亥,并且仍能創(chuàng)建一個(gè)有效的區(qū)塊頭撞反。
·? 如果網(wǎng)絡(luò)是由10個(gè)全節(jié)點(diǎn)控制的,只要區(qū)塊頭是有效的搪花,則只需要其中一半即可忽略/準(zhǔn)許無效交易通過遏片。
這就是為什么從網(wǎng)絡(luò)的角度來看驗(yàn)證交易非常重要,以及為什么需要一個(gè)大的去中心化網(wǎng)絡(luò)撮竿。對于我外婆來說這是并不重要吮便,但我們現(xiàn)在討論的不是我的外婆。我們現(xiàn)在討論的是如何保證正常工作的節(jié)點(diǎn)能夠不斷增長而不是減少幢踏。
這個(gè)節(jié)點(diǎn)一直在參與工作髓需,直到因?yàn)榫W(wǎng)絡(luò)需求增加而被砍掉:
cryptoogre: 我不知道發(fā)生了什么,是不是Geth現(xiàn)在對系統(tǒng)有要求了房蝉。
之前我一直在i3內(nèi)核和8GB內(nèi)存上運(yùn)行Geth僚匆,在cache=1024的情況下,能夠在兩小時(shí)內(nèi)進(jìn)行快速同步搭幻。
受到攻擊之后我就無法再同步或運(yùn)行Geth了咧擂。
分叉之后,Geth每次同步到99%的時(shí)候就停止同步了(大約需要6小時(shí))檀蹋,然后就開始進(jìn)行正常區(qū)塊輸入松申,沒辦法跟上,我一直都比鏈落后5到7個(gè)小時(shí)。
我準(zhǔn)備在固態(tài)硬盤上用cloud vm進(jìn)行測試攻臀,不過我唯一能夠想到的可能性就是Geth對硬件的要求已經(jīng)超過我的機(jī)器的性能了焕数。
iamsunbird: 我也遇到同樣的問題纱昧,客戶端已經(jīng)連續(xù)同步一天半了刨啸,但還是跟不上。
這并非不常見识脆,并且還在繼續(xù)發(fā)生:
sonulrk:?我從這個(gè)Geth快速模式問題中得到的經(jīng)驗(yàn)是:
1. 你一定要用Quad內(nèi)核處理器和4GB以上的內(nèi)存
2. 你一定要用固態(tài)硬盤而不是機(jī)械硬盤
3. 你的網(wǎng)絡(luò)一定要穩(wěn)定设联,速度要達(dá)到2mbps及以上
如果你能實(shí)現(xiàn)以上3個(gè)條件的話那你可以試試Geth,打開完全模式的話基本上一個(gè)星期灼捂、最多兩個(gè)星期就能完全同步离例。如果使用的是快速模式的話就看運(yùn)氣了,要么兩三天內(nèi)能夠完成同步悉稠,要么永遠(yuǎn)也完不成宫蛆。
winsvega: Geth 1.8版本仍然有這個(gè)問題,重啟Geth后出現(xiàn)這個(gè)錯(cuò)誤
快速同步模式會掉節(jié)點(diǎn)而且無法同步的猛,還有不到100個(gè)區(qū)塊就完成了耀盗,但是一直沒法同步。
ceciliato310:?這就是P2P網(wǎng)絡(luò)的本質(zhì)卦尊,你會受到節(jié)點(diǎn)和網(wǎng)絡(luò)情況的限制叛拷。一般來說只要耐心等待最終還是會成功的。按ctrl-c重啟也可以(但愿重啟之后你能得到一個(gè)好一點(diǎn)的節(jié)點(diǎn))岂却。另一個(gè)解決辦法是找一個(gè)好的節(jié)點(diǎn)然后手動添加它忿薇。
注意到了沒有,解決辦法是“尋找一個(gè)好一點(diǎn)的節(jié)點(diǎn)”或者“升級你的硬件”躏哩。不管是節(jié)點(diǎn)還是硬件署浩,都不應(yīng)該成為瓶頸。當(dāng)你所有的節(jié)點(diǎn)都被那群吸血的水蛭給占滿了(因?yàn)橹挥泻玫墓?jié)點(diǎn)真正在干活)扫尺,這個(gè)網(wǎng)絡(luò)就會變成一群主人領(lǐng)導(dǎo)一群奴隸瑰抵,最終變成一個(gè)主人剩下的都是奴隸。(如果你不同意這個(gè)說法的話器联,請證明為什么將來不會出現(xiàn)這個(gè)趨勢二汛,因?yàn)楝F(xiàn)在的趨勢就是這樣,如果不加以限制的話就不會停止拨拓。如果你的答案是數(shù)據(jù)分片的話肴颊,我在文章末尾會講到這個(gè)。)這就是教科書式的中心化渣磷,不受管制區(qū)塊會將網(wǎng)絡(luò)變得中心化婿着。大區(qū)塊(但是有限制)會使情況變得好那么一點(diǎn)點(diǎn),但是會為不斷增大的區(qū)塊大小開了先例,這就使得情況變得同樣糟糕竟宋,因?yàn)檫@就開了先例提完,只要“形勢需要”,就可以擴(kuò)大區(qū)塊大小丘侠,這也就相當(dāng)于區(qū)塊大小不受管制了徒欣。這就是我們?yōu)槭裁丛诒忍貛艆^(qū)塊大小問題上堅(jiān)決不讓步的原因。
我在推特上談過幾次這個(gè)問題蜗字,但是效果并不顯著打肝,因?yàn)槲业耐铺仃P(guān)注者中并沒有很多以太坊圈子里的人。
還需要進(jìn)一步解釋嗎挪捕?
假設(shè)要保持同步的話粗梭,你的Geth節(jié)點(diǎn)需要處理100個(gè)“單位”的數(shù)據(jù)。
你的硬件能夠處理150個(gè)單位级零。第二天網(wǎng)絡(luò)要求你處理101個(gè)單位断医,下個(gè)月要求你處理125個(gè)單位。
總有一天你會跟不上的奏纪。
上面那個(gè)圖標(biāo)只是為了解釋而畫的鉴嗤,并不涉及實(shí)際的數(shù)據(jù)。綠色的曲線代表以太坊網(wǎng)絡(luò)的各種需求的總和亥贸」埽總有一天要么是你的節(jié)點(diǎn)會跟不上同步,要么會設(shè)置一個(gè)區(qū)塊大小限制炕置∪侔ぃ可能是現(xiàn)在,也可能是十年后或五十年后朴摊,但是在這個(gè)速度下總有一天你的節(jié)點(diǎn)會跟不上同步的速度默垄。但這并不會發(fā)生在比特幣身上。現(xiàn)在你可以盡情地否認(rèn)甚纲,但總有一天會發(fā)生的口锭。當(dāng)它發(fā)生的時(shí)候,像CryptoKitties,?Shrimp Farm,?Pepe Farm之類的去中心化應(yīng)用將會停止運(yùn)行介杆。這就和Ryan Charles的網(wǎng)站Yours.org的結(jié)局一樣鹃操,當(dāng)時(shí)它原本是建在比特幣上的。唯一的區(qū)別是比特幣已經(jīng)有區(qū)塊大小的限制了春哨,Ryan要么沒弄明白情況所以沒預(yù)料到會這樣荆隘,要么就是他認(rèn)為區(qū)塊大小會不斷增加。Ryan并沒有吸取教訓(xùn)赴背,反而在BCash上下了更大的血本椰拒,而Yalls.org則將他的創(chuàng)意移植到了比特幣的閃電網(wǎng)絡(luò)上晶渠。
我的預(yù)測:以太坊將會設(shè)置一個(gè)區(qū)塊大小限制,把BCash和它自己逼上絕路燃观。
上面的圖表甚至不是預(yù)測了勒奇,在這張最后存留的圖表比較了兩條鏈的數(shù)據(jù)目錄,我用這些數(shù)據(jù)進(jìn)行了推測(黃色部分)婿屹。以下是我們目前已知的:
·? 比特幣的未來是可預(yù)測的积锅,區(qū)塊鏈增長和網(wǎng)絡(luò)需求將永遠(yuǎn)是線性的爽彤。(這是我們想要的养盗。)
·??以太坊節(jié)點(diǎn)每秒所需要處理的數(shù)據(jù)量已經(jīng)非常大了而且還在不斷增長缚陷。(這不是我們想要的情況。)
·??如果以太坊鏈上需求停在它現(xiàn)在的這個(gè)點(diǎn)往核,區(qū)塊鏈增長將繼續(xù)保持這個(gè)線性增長趨勢箫爷,如圖中虛線所示。(這個(gè)情況很糟糕聂儒。)
·??如果以太坊鏈上需求繼續(xù)爆炸性增長虎锚,那么抱怨他們的節(jié)點(diǎn)跟不上同步節(jié)奏的人會越來越多,總有一天會爆發(fā)衩婚。(如果到了這一步就只有一個(gè)選擇了窜护。)
上面那張圖發(fā)生什么了?這個(gè)節(jié)點(diǎn)的主人不再維護(hù)這個(gè)節(jié)點(diǎn)了非春。其他物理限制也是個(gè)問題柱徙,比如說你有限的生命里的時(shí)間也是有限的。進(jìn)行維護(hù)的要求應(yīng)當(dāng)比較低奇昙,而不是高得不可理喻护侮。
你知道我是如何維護(hù)我的比特幣/閃電網(wǎng)絡(luò)節(jié)點(diǎn)的嗎?只要讓筆記本電腦一直開機(jī)就行了储耐。如果需要重啟羊初,那我就關(guān)機(jī)然后重新開機(jī)就好了。我每天還會用我的筆記本電腦做很多其他的事情什湘,這并不影響我運(yùn)行節(jié)點(diǎn)軟件长赞。如果發(fā)生了什么改變導(dǎo)致我的節(jié)點(diǎn)不再和網(wǎng)絡(luò)兼容并且無法同步,如果我是受了錯(cuò)誤信息引導(dǎo)的話闽撤,我會大聲痛罵那個(gè)讓這一切發(fā)生的大傻瓜得哆。但幸運(yùn)的是我并沒有受到錯(cuò)誤信息引導(dǎo),我很有預(yù)見性地選擇了比特幣腹尖。
那么問題是什么呢柳恐?我認(rèn)為大多數(shù)運(yùn)行以太坊節(jié)點(diǎn)的人并不知道他們掉進(jìn)了一個(gè)怎樣的坑里伐脖。我認(rèn)為他們并不了解這其中的基本激勵模型,他們也不知道為什么沒有區(qū)塊大小限制這件小事會讓他們陰溝翻船乐设。希望這篇文章能讓他們明白這些道理讼庇。
那么當(dāng)那個(gè)心理預(yù)期的爆發(fā)點(diǎn)達(dá)到時(shí)會發(fā)生什么呢?人們會放棄嗎近尚?要失去多少個(gè)節(jié)點(diǎn)才會發(fā)生蠕啄?探索者網(wǎng)站甚至已經(jīng)不再追蹤這些數(shù)據(jù)了。Etherscan.io已經(jīng)不再追蹤全部或者快速同步目錄了戈锻,Etherchain.org上則直接出現(xiàn)找不到頁面的錯(cuò)誤提示歼跟。
Etherscan同樣也不會讓你放大內(nèi)存池,即等待被放進(jìn)區(qū)塊的交易格遭。費(fèi)用上漲的原因就是等待被放進(jìn)區(qū)塊的交易越來越多哈街。隨著時(shí)間的推移你將能夠看得出來。下面的圖標(biāo)比較了比特幣的內(nèi)存池和Etherscan.io的內(nèi)存池:
這兩張圖表都在監(jiān)測這些網(wǎng)絡(luò)上在排隊(duì)的交易數(shù)量拒迅,比例也大致一樣骚秦,大約4/5天。區(qū)別是什么呢璧微?我可以縮小比特幣的這張圖表作箍,然后查看整個(gè)歷史。這一點(diǎn)為什么重要前硫?當(dāng)你的網(wǎng)絡(luò)沒有受管制的上限時(shí)胞得,心理學(xué)就很重要了。以下是我們的圖表縮小了看的樣子:
明白我的意思了嗎屹电?明白為什么比例很重要了嗎阶剑?如果我把以太坊的內(nèi)存池也縮小了看,發(fā)現(xiàn)這部分其實(shí)是處在一個(gè)不斷上漲的曲線的巔峰嗤详?我并不是說這就是它今天的情況个扰,而是說這個(gè)信息不應(yīng)當(dāng)這么隱晦。如果有那一天這個(gè)不再隱晦了葱色,那就已經(jīng)太晚了递宅,來不及拯救了。現(xiàn)在也已經(jīng)太晚了苍狰。
現(xiàn)在讓我們來看一下比特幣網(wǎng)絡(luò)上的區(qū)塊和交易延遲办龄。下面有兩個(gè)圖表,第一個(gè)是一個(gè)區(qū)塊要傳播到整個(gè)網(wǎng)絡(luò)需要多久淋昭,第二個(gè)是一個(gè)交易要傳播到全網(wǎng)需要多久俐填。交易由節(jié)點(diǎn)來處理(一共有115,000個(gè)節(jié)點(diǎn)),然后由節(jié)點(diǎn)暫時(shí)保存翔忽,直到礦工創(chuàng)造出一個(gè)有效的區(qū)塊并向全網(wǎng)公布英融。
·? 區(qū)塊傳播所需時(shí)間大幅度減少盏檐,因?yàn)檐浖阅苡辛撕艽蟮奶嵘=灰走M(jìn)來內(nèi)存池之后會被驗(yàn)證驶悟。當(dāng)?shù)玫揭粋€(gè)新的區(qū)塊時(shí)胡野,迅速與已經(jīng)存儲的交易進(jìn)行交叉對比,并且很少會收錄還未收到的交易痕鳍。這就使得你的節(jié)點(diǎn)能夠以非沉蚨梗快的速度驗(yàn)證區(qū)塊,并把它發(fā)送給其他節(jié)點(diǎn)笼呆。
·??交易時(shí)間則緩慢上升熊响,但目前似乎有穩(wěn)定下來的趨勢。由于軟件的隱私性能加強(qiáng)诗赌,交易時(shí)間的增長是被允許的汗茄,但權(quán)衡之下還是利大于弊,因?yàn)槠骄鰤K時(shí)間至少要10分鐘境肾,所以交易時(shí)間上漲16秒也是可以接受的剔难。當(dāng)大多數(shù)區(qū)塊都已經(jīng)滿了的時(shí)候胆屿,這種上漲的趨勢也會停止奥喻,因?yàn)閰^(qū)塊大小限制帶來的交易費(fèi)會自我調(diào)節(jié)交易進(jìn)來的速度,如果比特幣協(xié)議沒有什么其他的改變的話非迹。
請注意环鲤,這些信息當(dāng)中沒有一項(xiàng)是以太坊能夠提供的:
比特幣就是按照這個(gè)理念來設(shè)計(jì)的。排隊(duì)等待的交易數(shù)量逐漸增加憎兽,但是區(qū)塊是受到管制的冷离,人們逐漸學(xué)會使用區(qū)塊鏈這個(gè)工具,然后交易流會逐漸穩(wěn)定下來纯命。如果這個(gè)工具不受管制西剥,那么就會有一大幫人來搶著用這個(gè)工具,添加像CryptoKitties這樣隨意的功能亿汞,讓整個(gè)網(wǎng)絡(luò)無法運(yùn)行瞭空,直到所有積累的交易處理完為止。所有以太坊的全節(jié)點(diǎn)都要處理每一個(gè)這樣的合約疗我。你可能不需要處理咆畏,他們可能也告訴你說不需要處理,但確實(shí)有人需要來處理吴裤。那么有多少個(gè)這樣的人呢旧找?更高的費(fèi)用怎么辦?他們在底層就把像CryptoKitties這種愚蠢的去中心化應(yīng)用扼殺在搖籃里了麦牺。這些應(yīng)用完全沒有存在的必要钮蛛,而其他的“可行的想法”也會得到同樣的下場鞭缭,并且只會更加糟糕,因?yàn)?b>區(qū)塊鏈不會擴(kuò)容魏颓。
這些去中心化應(yīng)用會把你的區(qū)塊鏈搞垮因?yàn)樗麄儾皇芄苤疲?/b>
但那不就是最初的承諾和夢想嗎缚去?那就是以太坊區(qū)塊鏈全部的前提:和比特幣一樣,但是比比特幣更好琼开。實(shí)際上不是的易结。
很顯然不受管制的區(qū)塊并不會導(dǎo)致無限的交易,到此處得到的教訓(xùn)是這個(gè)網(wǎng)絡(luò)甚至在物理上就無法處理目前的數(shù)量了柜候,確實(shí)沒有足夠的節(jié)點(diǎn)能夠處理這些信息并及時(shí)地進(jìn)行中繼搞动。你知道到底有多少以太坊節(jié)點(diǎn)嗎?你真的知道嗎渣刷?比特幣網(wǎng)絡(luò)大約有115,000個(gè)節(jié)點(diǎn)鹦肿,其中約有12,000個(gè)聽節(jié)點(diǎn),幾乎所有的節(jié)點(diǎn)都是參與工作的辅柴,因?yàn)檫@是受到管制的箩溃。具體什么是聽節(jié)點(diǎn)在這里并不重要,因?yàn)椴还苁锹牴?jié)點(diǎn)還是非聽節(jié)點(diǎn)碌嘀,他們都參與了將區(qū)塊接收和發(fā)送給其他相連接的節(jié)點(diǎn)的工作涣旨。默認(rèn)是8,那么客戶端就不會讓你超過8股冗,除非你手動添加霹陡。這個(gè)限制是估計(jì)設(shè)置的,你最好不要添加太多止状,不然對網(wǎng)絡(luò)不好:
比特幣默認(rèn)是不會允許超過8個(gè)外向連接的烹棉,-maxconnections只控制你允許多少內(nèi)向連接。你可以把這個(gè)數(shù)值調(diào)高一點(diǎn)怯疤,但等其他大多數(shù)人連接上你要花一些時(shí)間浆洗。
請不要修改這個(gè),因?yàn)楦緵]必要集峦。在網(wǎng)絡(luò)上可連接的節(jié)點(diǎn)是一個(gè)稀缺資源伏社,而且對于去中心化來說是必不可少的。如果人們都像個(gè)別站點(diǎn)那樣試圖連接所有節(jié)點(diǎn)少梁,那么我們很快就會用完這些節(jié)點(diǎn)洛口。
如果你是一個(gè)商人或者礦工,你可能想和幾個(gè)你信任的節(jié)點(diǎn)建立固定的連接(請查看-addnode?命令行/配置選項(xiàng))凯沪,但是有更多的連接并不意味著有更強(qiáng)的驗(yàn)證能力(參考客戶端永遠(yuǎn)驗(yàn)證所有的東西)第焰,也不意味著中繼更快(因?yàn)槟阈枰獙⑿碌膮^(qū)塊和交易分發(fā)給你所有的節(jié)點(diǎn),反而更慢了)妨马。這主要就是為網(wǎng)絡(luò)提供服務(wù)挺举。
還記得前文提到過的這個(gè)嗎杀赢?
這并不是解決的辦法。這只是一個(gè)例子湘纵,說明為什么一個(gè)允許參與者作出自私的選擇而不進(jìn)行監(jiān)管的鏈?zhǔn)呛茉愀獾闹蕖_@只有一個(gè)結(jié)局:主人和奴隸節(jié)點(diǎn),少數(shù)的主人領(lǐng)導(dǎo)所有的奴隸節(jié)點(diǎn)梧喷。聽起來很去中心化對嗎砌左?尤其是當(dāng)成為主人節(jié)點(diǎn)對財(cái)力的要求越來越高的時(shí)候…
為了公平起見,我們在這里說點(diǎn)離題的話:這也正是閃電網(wǎng)絡(luò)所受到的批評铺敌,但閃電網(wǎng)絡(luò)是另一種完全不同的網(wǎng)絡(luò)汇歹。區(qū)塊鏈網(wǎng)絡(luò)是點(diǎn)對點(diǎn)廣播網(wǎng)絡(luò)。像閃電網(wǎng)絡(luò)這樣的狀態(tài)通道則是點(diǎn)對點(diǎn)任播網(wǎng)絡(luò)偿凭。這兩種網(wǎng)絡(luò)中信息傳遞的方式是完全不同的产弹。即使是你家里的冰箱也有足夠的硬件來成為一個(gè)閃電網(wǎng)絡(luò)節(jié)點(diǎn)。閃電網(wǎng)絡(luò) “輻射狀通道模式”相關(guān)的批評是關(guān)于通道平衡容量的弯囊。輻射狀通道模式和主人與奴隸的問題一樣痰哨,但有了通道平衡之后數(shù)據(jù)就不會遇到瓶頸。你只需要把閃電網(wǎng)絡(luò)客戶端標(biāo)準(zhǔn)化匾嘱,打開X個(gè)通道斤斧,每個(gè)通道含有X資金,然后網(wǎng)絡(luò)就會按照這個(gè)標(biāo)準(zhǔn)形成奄毡,完全避開了輻射狀通道模式折欠,就像比特幣客戶端標(biāo)準(zhǔn)化地只允許8個(gè)節(jié)點(diǎn)。閃電網(wǎng)絡(luò)是一個(gè)很新的東西吼过,所以我們還不知道應(yīng)該有什么樣的標(biāo)準(zhǔn),因?yàn)槲覀儸F(xiàn)在可以測量的數(shù)據(jù)量幾乎為零咪奖。/結(jié)束為閃電網(wǎng)絡(luò)辯護(hù)
談到我們可以測量的數(shù)據(jù)幾乎為零盗忱,為什么以太坊節(jié)點(diǎn)數(shù)量只有這幾個(gè)圖表?歷史在哪里羊赵?這些節(jié)點(diǎn)中有多少個(gè)使用了fast/warp同步而且從未完全驗(yàn)證趟佃?你不需要全部儲存,因?yàn)槟氵€可以修剪昧捷,但是再問一次闲昭,有多少個(gè)是完全驗(yàn)證過的?有多少個(gè)僅是輕量客戶端靡挥,只同步區(qū)塊頭的序矩?
可笑的是,像Trustnodes這種鼓吹BCash陰謀的宣傳網(wǎng)站會發(fā)布像以下這樣睜著眼睛說瞎話的文章跋破,這些文章被大量轉(zhuǎn)發(fā)簸淀,不知情的人也不會去質(zhì)疑它:
目前有115,000個(gè)比特幣節(jié)點(diǎn)瓶蝴,并且全部都已驗(yàn)證:
那么現(xiàn)在你該怎么辦呢?你作為一個(gè)獨(dú)立的人租幕,逐漸意識到了這個(gè)問題舷手,你會怎么做呢?如果你完全不知道發(fā)生了什么劲绪,你會怎么做呢男窟?這個(gè)網(wǎng)絡(luò)中充滿了這樣的人,他們逐漸地離開了(不一定是離開贾富,而是參與工作的節(jié)點(diǎn)逐漸降級為輕量節(jié)點(diǎn))蝎宇,那這個(gè)網(wǎng)絡(luò)會怎么樣呢?還剩下多少個(gè)參加工作的節(jié)點(diǎn)祷安?還有多少個(gè)節(jié)點(diǎn)擁有創(chuàng)世區(qū)塊的完整副本姥芥?如果只有5個(gè)數(shù)據(jù)中心在為整個(gè)奴隸網(wǎng)絡(luò)(輕量節(jié)點(diǎn))鏈服務(wù)會怎么樣呢?如果每個(gè)人都只同步區(qū)塊頭的話汇鞭,誰來驗(yàn)證交易呢凉唐?你可以干坐在那里不斷告訴自己:“網(wǎng)絡(luò)只需要最近的狀態(tài)歷史就能保持安全”,但是當(dāng)你的網(wǎng)絡(luò)從底層開始全軍覆沒霍骄,大多數(shù)節(jié)點(diǎn)甚至跟不上最后的1,000個(gè)區(qū)塊時(shí)台囱,這個(gè)網(wǎng)絡(luò)又怎么會是安全的?
經(jīng)驗(yàn)教訓(xùn):
1.??? 以太坊區(qū)塊大小增長是一件不好的事读整,這是因?yàn)楣?jié)點(diǎn)處理所需簿训,而不是因?yàn)樗麄円谟脖P上存儲的量。
2.??? 為了防止網(wǎng)絡(luò)全盤崩潰米间,以太坊需要設(shè)置一個(gè)合理的區(qū)塊大小限制强品。
3.??? 設(shè)置區(qū)塊大小限制會導(dǎo)致費(fèi)用上漲,這就使得許多去中心化應(yīng)用無法運(yùn)轉(zhuǎn)或者速度大幅減緩屈糊。在未來這些去中心化應(yīng)用將無法使用的榛。
4.??? 如果去中心化應(yīng)用無法使用,那么以太坊整個(gè)存在的意義就沒有了逻锐。
BCash在這里是什么角色夫晌?
1.??? BCash剛剛將他們的區(qū)塊大小從8MB提高到了32MB,并且很快會添加新的OP_CODES來使得像ICO和BCash Birdies?之類的功能得以實(shí)現(xiàn)昧诱。
2.??? BCash“還有增長的空間”晓淀,因?yàn)樗@個(gè)區(qū)塊鏈上的壓力還不是很大,而以太坊區(qū)塊鏈身上則背負(fù)著巨大的壓力盏档。
以太坊正在走向滅亡凶掰,而BCash正在走上它的老路,無視各種警告。他們想要更大的區(qū)塊和ICO锄俄,于是他們做到了局劲。這兩個(gè)區(qū)塊鏈都會成為同樣的東西:逐步邁向死亡的、被中心化統(tǒng)治的區(qū)塊鏈奶赠,但是通過逐步的區(qū)塊大小增加來繼續(xù)支持具有欺詐性質(zhì)的實(shí)用代幣鱼填,使其繼續(xù)茍延殘喘,直到整個(gè)系統(tǒng)崩潰毅戈,沒有人能夠再運(yùn)行節(jié)點(diǎn)苹丸。
我的建議:停止使用中心化的區(qū)塊鏈
唯一一個(gè)運(yùn)行完全驗(yàn)證的節(jié)點(diǎn)的人就是那個(gè)支撐起整個(gè)以太坊網(wǎng)絡(luò)的人。整篇文章到此為止我都很努力地不去提Vitalik的名字苇经,這樣我才能專注于討論技術(shù)問題但如果這張照片(或者原來那張)無法代表以太坊空間的精髓的話赘理,那我就不知道還有什么能代表了。我為Vitalik指出像Fake Satoshi之類的大騙子而鼓掌扇单,但同時(shí)他也錯(cuò)誤地代表了以太坊所宣稱的功能商模。
啊對了,還有那個(gè)被稱為殺手锏的數(shù)據(jù)分片蜘澜?那完全就是騙人的把戲施流,還是同樣的節(jié)點(diǎn)中心化問題,只不過往上披了一層面紗而已鄙信。這完全就是將我剛才警告過的主人和奴隸網(wǎng)絡(luò)強(qiáng)塞給你瞪醋,只不過打著“新的擴(kuò)容技術(shù)”的名號而已。
忘了Vitalik放出來的圖表吧装诡,因?yàn)槟歉揪蜎]意義∫埽現(xiàn)在讓我們來將以太坊目前的網(wǎng)絡(luò)簡化一下。下面的圖表中將所有的輕量客戶端用綠色標(biāo)出來鸦采,而“好的”全節(jié)點(diǎn)用紅色標(biāo)出宾巍。你的fast/warp同步節(jié)點(diǎn)可能現(xiàn)在還是紅色的,直到它無法再繼續(xù)保持赖淤,或者你不再繼續(xù)升級或維護(hù)蜀漆,改為使用輕量客戶端,變成了綠色的點(diǎn)咱旱。
隨著時(shí)間的推移,綠色的點(diǎn)越來越多而紅色的越來越少绷耍,這個(gè)情況是無法避免的吐限,因?yàn)樗腥硕荚谶@么干。你運(yùn)行的是一個(gè)全節(jié)點(diǎn)還是一個(gè)輕量客戶端褂始?甚至你有在運(yùn)行節(jié)點(diǎn)嗎诸典?“如果同步失敗”,那么很多人都會建議你轉(zhuǎn)而使用輕量客戶端崎苗,但這并不能解決問題狐粱。
這張圖甚至已經(jīng)把情況輕描淡寫了舀寓。實(shí)際上許多全節(jié)點(diǎn)(紅色)的網(wǎng)絡(luò)連接很差,根本沒有圖上畫的連接得這么好:
不過不要擔(dān)心肌蜻,Vitalik來拯救世界了互墓。他要把“節(jié)點(diǎn)”變成SPV客戶端,只同步區(qū)塊頭蒋搜。
限制就是每一個(gè)節(jié)點(diǎn)都要驗(yàn)證所有數(shù)據(jù)分片的區(qū)塊頭篡撵,而節(jié)點(diǎn)對區(qū)塊頭的驗(yàn)證能力受到其計(jì)算能力的限制,因此要進(jìn)行“二次方數(shù)據(jù)分片”:如果一個(gè)節(jié)點(diǎn)能夠處理C件事情豆挽,那么就有C個(gè)數(shù)據(jù)分片的區(qū)塊頭來讓該節(jié)點(diǎn)處理育谬;或者說,如果一個(gè)節(jié)點(diǎn)在驗(yàn)證一個(gè)單一的區(qū)塊帮哈,那么它就能驗(yàn)證C個(gè)交易膛檀,所以他的總處理容量就(大約)是C的二次方。
這是什么意思呢娘侍?我花了很多時(shí)間來畫了個(gè)圖好讓大家有個(gè)直觀的感受咖刃,但是首先我們先用文字來解釋一下:
在比特幣中,你要么完全驗(yàn)證私蕾,要么不驗(yàn)證僵缺。你可以是以下兩種情況之一:
·? 一個(gè)全節(jié)點(diǎn),所有的活都能干踩叭,完全驗(yàn)證所有的交易/區(qū)塊磕潮。
·? 一個(gè)SPV客戶端,什么都不干容贝,掛在一個(gè)全節(jié)點(diǎn)上自脯,只同步區(qū)塊頭,不分享任何東西斤富。這些客戶端不是網(wǎng)絡(luò)的一份子膏潮,根本就不配被提起,不過為了避免困惑我在這里還是說一下满力。
再強(qiáng)調(diào)一次焕参,比特幣里一共有115,000個(gè)全節(jié)點(diǎn),他們什么活都能干油额。
在以太坊里有:
·?什么活都能干的全節(jié)點(diǎn)叠纷,完全驗(yàn)證所有的交易/區(qū)塊。
·? 試圖干活的節(jié)點(diǎn)但是由于節(jié)點(diǎn)問題而無法同步潦嘶,所以跳過并使用warp/fast同步涩嚣,“完全”驗(yàn)證新的交易/區(qū)塊。
·? 輕量“節(jié)點(diǎn)”,永遠(yuǎn)只同步區(qū)塊頭航厚,我猜他們也會和其他相似的節(jié)點(diǎn)分享區(qū)塊頭顷歌,所以我們可以把他們稱為“SPV節(jié)點(diǎn)”。在比特幣里她們并不存在幔睬。再說一次眯漩,比特幣里的SPV客戶端并不傳遞信息,他們不屬于節(jié)點(diǎn)溪窒。
你所看到的以太坊節(jié)點(diǎn)數(shù)量坤塞?我敢說那大多數(shù)都是輕量節(jié)點(diǎn),根本不進(jìn)行驗(yàn)證工作(檢驗(yàn)區(qū)塊頭不能算是驗(yàn)證)澈蚌。不同意的話就來證明我是錯(cuò)的吧摹芙,拿出數(shù)據(jù)來。這就相當(dāng)于運(yùn)行了一個(gè)次級網(wǎng)絡(luò)宛瞄,相互分享區(qū)塊頭浮禾,但是計(jì)算網(wǎng)絡(luò)節(jié)點(diǎn)的時(shí)候卻被用來濫竽充數(shù)。他們對網(wǎng)絡(luò)完全沒有貢獻(xiàn)份汗,只是吸血的水蛭而已盈电。
有了數(shù)據(jù)分片的新的以太坊有點(diǎn)不一樣,這里有:
·?????? 什么活都能干的全節(jié)點(diǎn)杯活,完全驗(yàn)證所有的交易/區(qū)塊匆帚。
·?????? 含有全節(jié)點(diǎn)的數(shù)據(jù)分片網(wǎng)絡(luò),能夠在該數(shù)據(jù)分片內(nèi)干所有的活旁钧,并且驗(yàn)證其他數(shù)據(jù)分片的區(qū)塊頭吸重。
·?????? 只同步、驗(yàn)證歪今、傳播其他數(shù)據(jù)分片的區(qū)塊頭的“節(jié)點(diǎn)”嚎幸。(檢驗(yàn)區(qū)塊頭不能算是驗(yàn)證,這就相當(dāng)于還是一個(gè)次級網(wǎng)絡(luò)寄猩,假裝里面是真正的以太坊節(jié)點(diǎn)嫉晶,當(dāng)他們統(tǒng)計(jì)節(jié)點(diǎn)的時(shí)候會把這些假的節(jié)點(diǎn)也算進(jìn)去,讓人們繼續(xù)相信這還是一個(gè)運(yùn)營正常的去中心化網(wǎng)絡(luò)田篇,但實(shí)際上它已經(jīng)不是了替废。)
猜猜你會運(yùn)行哪種節(jié)點(diǎn)?大膽猜一下吧泊柬。對于完全驗(yàn)證的節(jié)點(diǎn)來說什么都沒有改變舶担。
我為了省時(shí)間所以畫連接線的時(shí)候都是復(fù)制粘貼的,因?yàn)闆]必要那么精確彬呻。藍(lán)色的點(diǎn)是數(shù)據(jù)分片網(wǎng)絡(luò)。紅色的是以前的以太坊網(wǎng)絡(luò),他們需要處理所有的東西闸氮。綠色的“節(jié)點(diǎn)”則只是將區(qū)塊頭進(jìn)行同步和傳播而已:
這并不是擴(kuò)容剪况。如果你的節(jié)點(diǎn)無法同步,那它就會降級為一個(gè)輕量客戶端∑芽纾現(xiàn)在有了數(shù)據(jù)分片译断,你的節(jié)點(diǎn)降級為一個(gè)“數(shù)據(jù)分片節(jié)點(diǎn)”。不論如何或悲,每次有一個(gè)節(jié)點(diǎn)降級孙咪,你就失去了一個(gè)全節(jié)點(diǎn)。更糟糕的是巡语,他們把這些綠色的點(diǎn)也稱為節(jié)點(diǎn)翎蹈,但他們只是同步區(qū)塊頭而已,把所有的驗(yàn)證工作留給紅色的節(jié)點(diǎn)男公。
在這種情況下荤堪,你究竟如何才能知道有多少完全驗(yàn)證節(jié)點(diǎn)?你現(xiàn)在完全無法得知了枢赔,因?yàn)槲ㄒ灰粋€(gè)追蹤這個(gè)數(shù)據(jù)的網(wǎng)站把輕量客戶端也算進(jìn)去了澄阳。假如這些全節(jié)點(diǎn)中心化到了10個(gè)數(shù)據(jù)中心里,那你怎么知道呢踏拜?你永遠(yuǎn)不會知道碎赢。
更正:有人“糾正”了我關(guān)于數(shù)據(jù)分片的說法,但我很清楚我知道它應(yīng)該怎樣工作速梗。我想讓這篇文章簡單一點(diǎn)肮塞,因?yàn)檫@篇文章不是關(guān)于數(shù)據(jù)分片的。我會另外寫一篇文章來討論這個(gè)問題镀琉,主要是關(guān)于新袜停勘者(Collater)和執(zhí)行者(Executor)的,他們只是改頭換面的全節(jié)點(diǎn)屋摔,但你無法運(yùn)行烁设。在我寫出這篇文章之前,你可以先看下面這張新的圖表钓试,它更精確地反映了含有數(shù)據(jù)分片的以太坊網(wǎng)絡(luò)装黑。
0全節(jié)點(diǎn):
另一方面,比特幣從一開始就被設(shè)計(jì)成防止出現(xiàn)這種狀況:
那么你會怎么做弓熏?
你應(yīng)該怎么做恋谭?
你是一個(gè)開發(fā)者嗎?用上你所學(xué)到的一切知識挽鞠,找一個(gè)好的疚颊、沒壞的區(qū)塊鏈進(jìn)行應(yīng)用開發(fā)吧狈孔。
你是一名商人嗎?集中精力讓你的服務(wù)能夠接受支付網(wǎng)絡(luò)吧材义,要確保這個(gè)支付網(wǎng)絡(luò)基于一個(gè)好的區(qū)塊鏈上均抽。
你是一名投資者嗎?現(xiàn)在開始投資一個(gè)好的區(qū)塊鏈吧其掂,要確保這個(gè)區(qū)塊鏈不會在未來的幾年內(nèi)就走向衰亡油挥。
你是一個(gè)賭徒嗎?購買EOS吧款熬,這是個(gè)新玩意深寥,但同樣糟糕,理由和我前文所述一樣贤牛,只不過還沒人知道而已惋鹅。
你是一個(gè)理想主義者嗎?那這個(gè)絕對不是你想要的區(qū)塊鏈盔夜,你應(yīng)該去尋找你真正想要的區(qū)塊鏈负饲。
如果你有興趣運(yùn)行一個(gè)永遠(yuǎn)不會同步不上、也不會要求你升級硬件的比特幣節(jié)點(diǎn)喂链,可以查看以下這些教程: