買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > OKB > Info

AND:人人都能讀懂的「以太坊2.0分片設計」_區塊鏈

Author:

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

撰文:李畫

來源:碳鏈價值

當我們在7-11買早餐的時候,如果只有一個收銀員,就要排很長的隊等待結帳;如果有兩個收銀員,立刻就會快一倍;假如有四個收銀員,也許就不用排隊了。這就是分片的基本邏輯,把一個人的工作分給多個人來完成以提升效率。

從以太坊分布式賬本的角度來看就是:分片前只有主鏈這一個賬本,每秒大約能處理12~45筆交易,當交易量大于這個數據時就需要排隊,也就是網絡會擁堵;分片就是把一個賬本變成64個賬本,讓它們同時來處理交易,相當于7-11開了64個收銀臺來收銀。

分片的邏輯很簡單,但為什么如此難以實現?因為把一個賬本分成64個賬本記賬,會面臨很多新的問題,分片技術要做的正是解決掉它們。本文將從這些問題出發,來弄清以太坊2.0的分片到底是怎么一回事。

01如何分片

1.把交易分配給分片

一個分片中包含交易和把交易打包進區塊的驗證者,完成分片的第一步就是要確定如何給某個分片分配交易和驗證者。先來看分配交易。

讓我們用三個村莊的故事來理解:有一個漁村、一個獵戶村、一個農夫村,村莊內和村莊間常常有交易,但沒有貨幣,大家記賬。以前是用一個賬本記三個村子的賬,速度有點慢,現在改成三個賬本記,那么由哪個賬本來記哪些帳了?

有一個方法是,三個賬本放在那兒,來了一筆交易后,看哪個賬本前沒人排隊就記在哪個賬本上;但這會帶來一個問題就是,每個賬本都必須有所有人的賬戶信息,不然我來你這里排隊,而你沒有我的賬戶。

正因為如此,該分片方式的一個主要問題就是不能減少單一賬本上存儲的數據量,而這種存儲需求對于想參與記賬的節點是很高的門檻;該方式還需要解決雙花問題,因為一個人可以同時在不同的分片中花費同一筆錢。

ERGO 核心開發員:ERGO硬分叉全新升級 人人挖礦新時代到來:2月22日晚,由Gate.io主辦的直播專訪節目《酒局幣赴》邀請到ERGO 核心開發員 Alexander Chepurnoy直播分享近期最新發展。直播期間Alexander與Gate.io合伙人酒兒就此次ERGO硬分叉及其相關事項進行了探討與交流。Alexander表示,在北京時間2021年2月2日晚上11點44分,ERGO公鏈在區塊高度417792完成主網首次硬分叉升級。

此次ERGO硬分叉升級內容包括從Ergo當前的PoW共識機制Autolykos升級為新版PoW共識機制Autolykos v2.0,Autolykos v2.0有望長期生存下去,升級后將關閉不可外包功能(Non-outsourceability),允許礦池存在,方便普通人加入礦池挖礦;改進內存困難功能,消除舊版PoW機制Autolykos存在的內存困難漏洞,Autolykos v2.0擁有更好的內存困難功能;支持花費軟分叉跟蹤等等。ERGO硬分叉升級也標志著人人挖礦的新時代正式到來。[2021/2/22 17:40:35]

另一個方法是,漁村有一本賬,獵戶村有一本賬,農夫村有一本賬,賬本中都只有自己村莊的賬戶信息,也只記錄自己村莊內的交易。如此一來三個賬本就可以同時記賬,記賬效率高,存儲需求少。這正是以太坊采用的分片方法:狀態分片,每個分片存儲且只存儲屬于自己分片的賬戶狀態。在實現上,以太坊是由用戶自己選擇加入哪一個分片,而不是按自然村莊分片。

狀態分片最大的問題是,如果漁村的人要和獵戶村的人交易怎么辦?漁村的賬本里沒有獵戶村人的賬戶,獵戶村的賬本里也沒有漁村人的賬戶。實際上,這正是分片技術面臨的最大考驗,跨分片通信。徹底解決這一問題的時候,就是以太坊2.0可以被使用的時候。本文將在第二部分討論該問題的一些解決方法。

聲音 | EVT首席商務官鄭曉峰:把區塊鏈變成人人可用的工具:EVT首席商務官鄭曉峰在奔跑財經主辦的“走進國產第一公鏈”的訪談活動中表示,在使用區塊鏈時,我們以前需要讀寫智能合約,這阻擋了大多數人簡單地使用區塊鏈。如何讓普通人可以像用水和電、像上網一樣,把區塊鏈變成一個即插即用的工具。對開發者而言,提供標準的 SDK 和 API,無需招聘專門的區塊鏈工程師即可快速對接區塊鏈的功能,讓區塊鏈變成了一個人人可用的工具。

同時,通過安全合約通過對合約進行限制,只能在指定的范圍內開發,減少安全漏洞的產生。就如同IOS和安卓系統的區別。安卓系統功能很強大,但是很多用戶呢都更喜歡iOS,就是因為它對權力有所限制,不能夠隨意的去發揮,反而讓整個系統的安全性和穩定性都大大的增強。[2020/2/14]

2.把驗證者分配給分片

在把交易安排到不同的分片后,下一個要解決的問題是如何為某個分片分配記賬的人,也就是分配驗證者。

以太坊有64個分片,每個分片有128位驗證者,如果分片的驗證者是固定的或者可預知的,那攻擊者控制分片,也就是收買128中的2/3是一件容易的事情,怎么辦?以太坊的解決辦法是隨機從所有驗證者中選出某個分片的驗證者,并且每6.4分鐘更換一次驗證者。如此一來,攻擊者就只有萬億分之一不到的幾率能控制一個分片中2/3的人。

信標鏈的主要工作之一就是為分片鏈分配驗證者,該工作最需要關注的是隨機性的實現。首先在于隨機性的重要程度,如果不能隨機分配驗證者,就無法保證賬本的安全;其次在于隨機性的難度,在區塊鏈上實現隨機是一件異常困難的事,可以認為到目前為此還沒有真正稱得上是工程實現了的經受了驗證的隨機算法。

以太坊的方案是使用RANDAO+VDF提供隨機數,以實現隨機性。把RANDAO拆解成RAN和DAO就很易理解,它是指一群人中的每個人都獨自提出一個隨機數,再把所有人的隨機數合在一起生成最后被使用的那個隨機數。因為任何人都難以知道其他人提供的數字,也就難以預知合起來的最終數字。

現場 | 創世資本合伙人李榮彬:當可編程法幣出現后,未來人人都是Defi:金色財經現場報道,10月14日,亞洲金融科技系列峰會IFIC Seoul在首爾揭開帷幕。創世資本合伙人李榮彬在以“韓國和中國加密貨幣投資理念”為主題的圓桌討論環節,他表示中國區塊鏈行業市場非常大,用戶基數大,但中國人比較傾向于海外的項目,韓國的項目和韓國區塊鏈行業相對來說比較封閉,比如韓國的交易所也都是只有韓國項目方發的幣。所以有必要在中韓進行一個資本的交流,一起了解每個國家發生的事情。目前,Defi是一個非常火的一個話題,是一個可編程貨幣,所以才有了去中心化的金融方式。我認為在Defi領域具有非常巨大的投資價值。對于半去中心化的金融市場,未來法幣編程出來后,Defi會變成任何人都去會應用的法幣。當可編程法幣出現后,未來Defi會是一個非常爆發的領域,人人都是Defi。

對于牛市什么時候到來,他認為當任何人意識不到牛市的時候,可能就會到來。有可能是今天,可能是明天,也可能是一年后,我覺得沒有什么信號可言,當所有人都認為是牛市的時候,就是你應該拋售了。[2019/10/14]

不過RANDAO模型有個缺陷,就是提供最后一個數字的人是有機會作弊的:他知曉前邊所有人提供的隨機數之和,也就能通過調整自己提供的數字使得最終結果對自已有利。

為解決這一問題,以太坊引入了VDF,它的作用很簡單,就是讓最后一個提供隨機數的人無法在自己提供數字之前算出之前所有人的隨機數之和,因而也就無法操縱隨機數。

3.由中繼者存儲分片

不知道你有沒有發現,輪換賬本的驗證者將帶來一個新問題:驗證者一會兒被分配去漁村記賬,一會兒被分配去獵戶村記賬,如果他手上沒有全部的賬戶信息,如何記賬?如果他有全部的賬戶信息,就又是拿著一個全賬本,沒有做到狀態分片。

行情 | 區塊鏈中概股人人網大跌12.28%:今日美股開盤,三大股指漲跌互現,在美上市區塊鏈中概股漲跌各異。人人網下跌12.28%,寺庫上漲3.04%,中網載線下跌4.32%,迅雷上漲0.87%,獵豹移動上漲6.91%,蘭亭集勢平盤。[2019/6/17]

為解決這個問題,以太坊提出了一個重要的新設計:無狀態客戶端。簡化理解就是,漁村的賬本就放在漁村,獵戶村的賬本就放在獵戶村,驗證者手中不拿賬本,只負責在不同村莊間跑來跑去記賬。

那么誰來保管不同村莊的賬本?以太坊引入了中繼者這個角色,由他們負責存儲不同分片的賬戶狀態,且可以只為某一分片服務。中繼者的工作易于理解,但怎么為他們的服務付費、如何保證他們的誠實……這些相關機制的設計是需要解決的全新問題,也是社區成員應該參與討論的治理問題。

無狀態客戶端的實際情況比上文描述的復雜很多。「交易」本身的構成與未分片時不同,它要附帶見證數據以證明自己是有效的。可以認為在1.0中,驗證者需要自己存儲舊賬,以驗證新交易;在2.0中,交易需要自己把舊賬帶上,交給驗證者作驗證。

但我們無法要求每個用戶都存儲全部的舊賬,以便在發起交易后能夠證明該交易,這時候就需要「中繼者」,它存儲了該分片的全部賬戶狀態,只要用戶提起需求,它就能夠幫助用戶向驗證者提供交易的見證數據。

VitalikButerin在3月11日發表文章提出用多項式承諾代替狀態根,該技術就是被用于此處,它是改用零知識證明的方法為交易提供證明,可以理解為是把數據的計算結果提供給驗證者做驗證,而不是直接把所有相關數據提供給驗證者做驗證,這種方法能大幅減少見證數據的大小,也就能有效降低各種開銷。

到這一步,就完成了把一個賬本分為多個賬本,也就是劃分分片的工作。

02跨分片的交易

美股開盤 區塊鏈概念中概股人人跌幅最大:今日美股開盤一小時,區塊鏈概念中概股以跌為主。目前,迅雷(XNET)跌幅3.5%,獵豹移動(CMCM)漲幅0.3%,中網載線(CNET)跌幅2.77%,人人公司(RENN)跌幅3.73%,拍拍貸(PPDF)跌幅1.04%,寺庫(SECO)跌幅0.1%。[2018/4/25]

如果漁村的人只和漁村的人交易,獵戶村的人只和獵戶村的人交易,那各個村莊把自己的賬記好就行,這并不需要什么新技術。可如果漁村的人要和獵戶村的人交易怎么辦,不同的賬本如何互通?這正是狀態分片面臨的最棘手的問題。

解決這一問題有兩種思路,一是同步,二是異步。

假設漁村有個人叫甲,獵戶村有個人叫乙,甲要給乙100塊,同步是指:當甲發起轉賬后,漁村和獵戶村的記賬人都知道這筆交易及交易進展,漁村記賬人在賬本上給甲減了100,獵戶村記賬人在賬本上給乙加了100,交易完成,兩個村莊同步生成新區塊。

異步是指:當甲發起轉賬后,漁村的賬本給甲減了100,生成新區塊;獵戶村記賬的人在之后以某種方式收到了這個消息,確認甲的錢確實被減少后,就在自己的賬本上給乙加100,交易完成,但兩個村莊是異步生成新區塊的。

同步方式看上去友好,其交易執行過程的觀感如未分片一樣,但它隱藏著一大問題,就是難以應對「連續狀態改變」。這是什么意思?

如果甲只轉給乙100塊,漁村和獵戶村在聽到這筆交易后,很容易確認大家都是這么記賬的,漁村的賬本就給甲減了100,獵戶村給乙加了100,完成記賬。但如果甲轉給乙100,緊接著又轉給乙50,發生連續狀態改變,不過甲一共只有120塊,這時候兩個村莊就難以確認對方是怎么記賬的:

要是每個驗證者都自己去找對方的驗證者交流,通訊開銷會激增,達成某一結果也極其困難;要是通過雙方的村長交流,每個村莊內部就需要預先進行一輪共識,再由村長把一個確定的結果告訴對方,這除了增加開銷,還難以實現,因為以太坊的共識機制本身就是無法達成確定結果的。

異步方式不會被連續狀態改變這種情況困擾,因為它的做法就是「等」,等你的狀態確定了,我再進行下一步;等漁村給甲把賬記完了,獵戶村看到甲是減了100還是減了50后,再決定給B加上100或50。

異步方式自己的問題是原子性故障。交易本該具有原子性,要么執行,要么不執行,但在異步方式下,有可能出現交易的一部分確定了,但另一部分被拋棄了。

比如漁村給甲減了100的那個區塊最后在漁村主鏈上,被確定了,但獵戶村給乙加上100的那個區塊最后在獵戶村側鏈上,被拋棄了。原子性故障是一個問題,但可以通過設計解決,關于這一部分的詳細介紹可見文末參考資料5。

異步方式的另一個問題是時間開銷和通訊、存儲開銷,也就是完成一筆跨分片交易所需要等待的時間以及占用的資源。在不同分片間傳遞信息的方式決定了這些開銷的多少,不同類開銷有著相互關聯難以兩全的關系,設計時要追求的是平衡。以太坊2.0在未來的性能正是由信息傳遞方式主導的。

以太坊討論過一些異步架構模型,最新一種是由Vitalik在2019年10月的DevCon5大會上提出來的,其基本思路就是用信標鏈傳遞信息:在每一個slot,分片鏈產生區塊并與信標鏈區塊交叉鏈接,其連接方式如下圖,這樣一來,任何分片在打包自己的新交易時都能通過信標鏈知道之前所有其他分片的信息。不同分片間異步一個slot。

這種方法減少了跨分片交易的等待時間,但提高了對信標鏈的要求,信標鏈需要為所有分片存儲證明數據;這種方法還增加了交聯的鏈接數量,這必然增加各種相關開銷,也因為如此,以太坊的分片數量從1024片改為了64片,從另一個設計方向上減少總的鏈接數量。

從目前的一些分片設計方案看,同步模型更傾向于分片與分片自己溝通,異步模型更傾向于分片與分片互不往來,通過某個第三者溝通;前者面臨通訊量的問題,后者面臨多種開銷的平衡問題。跨分片交易的設計與實現尚在進行之中,暫不能確定以太坊2.0最終采用哪種架構。

03跨分片的智能合約

在介紹完分片和跨分片的交易后,以太坊2.0開發之路上的終極大BOSS來了,它就是跨分片的智能合約。跨分片交易和跨分片智能合約的區別在于交易只有全局變量,而智能合約有局部變量。局部變量會帶來什么麻煩?

以太坊在分片之后,從物理角度來看有64個賬本,但從抽象角度來看只有一個賬本:可以把賬本想象成一棵大樹,樹的每一片葉子存儲著一個賬戶狀態數據,64個賬本就是64棵樹,再把這些樹的樹根給到信標鏈,就會形成一棵新的大樹,64個賬本也就合成了一個賬本。

在跨分片的交易中,當一個分片需要知道另一個分片的賬戶狀態時,不管以何種方式,它總能順著這棵樹找到那片存儲狀態的葉子,然后改變自己分片的賬戶狀態,完成交易。可以認為通過這棵樹,不同分片完成了信息的互通。

但對于跨分片的智能合約,問題來了,這棵樹葉子上保存的數據都是全局變量,沒有局部變量,如果一個分片的智能合約調用另一個分片的智能合約時,兩者如何傳遞局部變量的信息?這棵樹無法為它們提供服務。

也可以這么理解,交易跨分片只需要看全局變量,就是看一級狀態,智能合約跨分片需要看局部變量,就是還需要看二級狀態。交易跨分片和智能合約跨分片的設計難度不在一個數量級上。

目前還沒有看到成體系的智能合約跨分片的設計方案,但有看到兩種提議,一種是提議把相關聯的智能合約放入同一個分片執行,也就是消滅智能合約跨分片的需求;一種是提議采用SIMD技術,讓智能合約本身能夠并行執行。

以太坊2.0會在Phase2引入智能合約,這代表著要到Phase2才實現智能合約的跨分片,而只有邁過這一步,才可以真正宣告以太坊進入到2.0時代。

以上即是對以太坊分片設計及設計中難點的介紹。當前還處在以太坊2.0實現的初級時期,如下幾個關鍵詞是現階段值得重點關注的:狀態分片、無狀態客戶端、隨機數。

參考資料:

1.《MinimumCommitteeSizeExplained》;作者,Chih-ChengLiang;https://medium.com/@chihchengliang/minimum-committee-size-explained-67047111fa20

2.《以太坊2.0:隨機性》;作者,Bruno?kvorc;翻譯,Jhonny、阿劍;https://ethfans.org/posts/two-point-oh-randomness

3.《Usingpolynomialcommitmentstoreplacestateroots》;作者,VitalikButerin;https://ethresear.ch/t/using-polynomial-commitments-to-replace-state-roots/7095

4.《Eth2.0的中繼者網絡與手續費機制》;作者,JohnAdler;翻譯,IANLIU、阿劍;https://ethfans.org/posts/relay-networks-and-fee-markets-in-eth-2

5.《區塊鏈分片的理念與挑戰》;作者,AlexanderSkidanov;翻譯,Jhonny、Echo、阿劍;https://ethfans.org/posts/the-authoritative-guide-to-blockchain-sharding-part-1

6.《Eth2shardchainsimplificationproposal》;作者,VitalikButerin;https://notes.ethereum.org/@vbuterin/HkiULaluS

7.《給工程師的ETH2.0指南》;作者,JamesPrestwich;翻譯,Aisling、奇奇、stormpang、阿劍;https://ethfans.org/posts/what-to-expect-when-eths-expecting

8.《Mergeblocksandsynchronouscross-shardstateexecution》;作者,VitalikButerin;https://ethresear.ch/t/merge-blocks-and-synchronous-cross-shard-state-execution/1240

Tags:以太坊區塊鏈ETHAND以太坊硬幣可以賣錢么到底什么是區塊鏈ethicalteaKONG Land

OKB
AME:減產僅僅數小時,ETC社區驚現“內斗”_BECC價格

本文來自TheBlock,原文作者:CeliaWan 譯者:Azuma 來源:Odaily星球日報EthereumClassicCollective董事會成員?JamesWo?今日宣布.

1900/1/1 0:00:00
ETH:有投資大佬加持也不抗造,DeFi項目Paradigm Labs為什么“死”了?_DAN

由PolychainCapital、DragonflyCapital和ChapterOneVentures支持的去中心化金融項目ParadigmLabs即將關停.

1900/1/1 0:00:00
HAI:以太坊區塊鏈應用:企業是否正從私有網絡轉向公共網絡?_hotchain

以太坊區塊鏈正被世界上一些最大的行業參與者所接受。這一全球最受歡迎的智能合約平臺不僅在去中心化應用領域占據主導地位,其在去中心化金融領域也舉足輕重.

1900/1/1 0:00:00
USD:QKL123行情分析 | 原油崩,股指跌,恐慌蔓延...比特幣也未能幸免(0309)_Etherum代幣瀏覽器

摘要:國際油價受到雙重利空的影響出現史詩級的暴跌,加劇了全球資本市場的恐慌情緒,全球股指聯動下挫,比特幣也未能幸免。雖然比特幣被歸為大宗商品,但比特幣走勢與石油相對獨立,有著各自的周期變化.

1900/1/1 0:00:00
比特幣:全球金融風暴對區塊鏈的重大影響:有“危”更有“機”_穩定幣USDT行情

一場全球疫情加上其它風險因素引發的一連串后果,全球經濟受到了巨大的壓力,到處彌漫著經濟危機的氣息。全球資產包括加密貨幣這種風險較高,許多人認為的“另類”資產也遭到了血洗.

1900/1/1 0:00:00
區塊鏈:觀察 | 支付寶已經為央行數字貨幣做了四大準備_數字貨幣交易哪個平臺最好

文|互鏈脈搏·元尚 支付寶已經為央行數字貨幣做了大量準備。從2月21日到3月17日,阿里巴巴集團旗下的支付寶信息技術有限公司先后公開了5件和央行數字貨幣相關的專利.

1900/1/1 0:00:00
ads