📜 [專欄新文章] 區塊鏈管線化的效能增進與瓶頸
✍️ Ping Chen
📥 歡迎投稿: https://medium.com/taipei-ethereum-meetup #徵技術分享文 #使用心得 #教學文 #medium
使用管線化(Pipeline)技術可以提升區塊鏈的處理效能,但也可能會產生相應的代價。
Photo by tian kuan on Unsplash
區塊鏈的擴容方案
說到區塊鏈的效能問題,目前討論度最高的應該是分片(sharding)技術,藉由將驗證者分成多組的方式,可以同時分別處理鏈上的交易需求,即使單分片效能不變,總交易量可以隨著分片/驗證者集的數量線性增加。
除了分片,另一個常用來提升程式效能的方案是將計算步驟拆解,以流水線的方式將複雜的運算攤平,降低系統的閒置時間,並大幅提升工作效率。為了達到管線化預期的目的,會需要先知道系統的瓶頸在哪。
區塊鏈的效能瓶頸
熟悉工作量證明設計哲學的人應該會知道,區塊鏈之所以需要挖礦,並不是為了驗證交易的正確性,而是要決定交易的先後順序,從而避免雙花和帳本分裂的發生。可以說,區塊鏈使用低效率的單線程設計,並付給礦工高額的成本,都只為了一件事,就是對交易的全局排序產生共識。
在這樣的基礎之上,區塊鏈在一段時間內可以處理的交易數量是有限的,這之中包含許多方面的限制,包括 CPU 效能、硬碟空間、網路速度等。其中,關於 TPS(每秒交易數) 提升和對硬體的要求大致上是線性增加的,但在設計共識演算法時,通訊複雜度常是平方甚至三次方的關係。
以現在的目標 TPS 來說,處理交易和生成一個合法的區塊並不困難,只是因為區塊鏈的特性,新區塊需要透過洪水法的方式擴散到全網路,每個節點在收到更新請求的時候都要先執行/驗證過區塊內的交易,等於整個廣播的延時會是「驗證區塊時間×經過的 hop 數量」這麼多。似乎網路越分散、節點越多,我們反而會需要降低計算量,以免讓共識不穩定。
管線化的共識機制
使用權益證明取代工作量證明算是行業發展的趨勢,除了環保或安全這些比較顯然的好處之外,權益證明對產生共識的穩定性也很有幫助。首先,權益證明在同一時間參與共識的節點數是已知的,比較容易控制數量級的邊界;其次,權益證明的出塊時間相較工作量證明固定很多,可以降低計算資源不足或閒置的機率。
相較於工作量證明是單一節點出塊,其餘節點驗證,權益證明的出塊本身就需要很多節點共同參與,瓶頸很像是從驗證轉移到通訊上。
以 PBFT 為例,每次產新區塊都需要經過 pre-prepare, prepare, commit 三個階段,你要對同意驗證的區塊簽名,還要對「你有收到某人的簽名」這件事簽名,再對「你有收到 A 說他有收到 B 的簽名」這件事簽名,過程中會有很多簽名飛來飛去,最後才能把一個區塊敲定。
為了降低每兩個區塊間都需要三輪簽名造成的延遲,後來的共識演算法包括 HotStuff 和 Casper FFG 採用了管線化的區塊驗證過程。也就是對區塊 T 的 pre-prepare 同時是對 T-1 的 prepare 和對 T-2 的 commit。再加上簽名聚合技術,出塊的開銷在複雜度等級和係數等級都降低許多。
然而,要保持管線化的區塊生產順利,需要驗證者集合固定不變,且網路通訊狀況良好。如果會經常更動驗證者集合或變換出塊的領導者,前後區塊間的相依性會是個大問題,也就是 T 的驗證者集合取決於 T-1 裡有沒有會導致刪除或新增驗證者的交易,T-1 的合法性又相依於 T-2,以此類推。
當激烈的分叉出現的時候,出塊跟共識的流水線式耦合就從優雅變成災難了。為了避免這種災難,更新的共識演算法會限制驗證者變更的時機,有些叫 epoch 有些叫 checkpoint,每隔一段時間會把前面的區塊徹底敲定,才統一讓驗證者加入或退出。到這些檢查點的時候,出塊的作業流程就會退化成原本的三階段驗證,但在大部分時候還是有加速的效果。
管線化的狀態更新
另一個可以用管線化加速的是區塊鏈的狀態更新。如前所述,現在公鏈的瓶頸在於提高 TPS 會讓區塊廣播變慢,進而導致共識不穩定,這點在區塊時間短的以太坊上尤其明顯。可是如果單看執行一個區塊內的交易所花的時間的話,實際上是遠遠低於區塊間隔的。
只有在收到新區塊的時候,節點才會執行狀態轉移函數,並根據執行結果是否合法來決定要不要把區塊資訊再廣播出去。不過其實只要給定了交易集合,新的狀態 s’ = STF(s, tx) 應該是確定性的。
於是我們有了一個大膽的想法:何不乾脆將交易執行結果移出共識外呢?反正只要大家有對這個區塊要打包哪些交易有共識,計算的結果完全可以當作業留給大家自己算吧。如果真的不放心,我們也可以晚點再一起對個答案,也就是把這個區塊執行後的新狀態根包在下個區塊頭裡面。
這就是對狀態更新的管線化,在區塊 T 中敲定交易順序但暫不執行,區塊 T+1 的時候才更新狀態(以及下一批交易)。這麼做的好處十分顯而易見,就是將原本最緊繃的狀態計算時間攤平了,從原本毫秒必爭的廣播期移出來,變成只要在下個塊出來之前算完就好,有好幾秒的時間可以慢慢來。新區塊在廣播的每個 hop 之間只要驗證交易格式合法(簽名正確,有足夠的錢付手續費)就可以放行了,甚至有些更激進的方案連驗簽名都省略了,如果真的有不合法交易混進去就在下個區塊處罰礦工/提案者便是。
把負擔最重的交易執行移出共識,光用想的就覺得效能要飛天,那代價呢?代價是區塊的使用程度會變得不穩定。因為我們省略了執行,所以對於一筆交易實際用掉多少 gas 是未知的。本來礦工會完整的執行所有交易,並盡可能的塞滿區塊空間,然而在沒有執行的情況下,只能以使用者設定的 gas limit 當作它的用量,能打包的交易會比實際的上限少。
緊接著,下一個問題是退費困難。如果我們仍然將沒用完的手續費退還給使用者,惡意的攻擊者可以透過發送 gas limit 超大,實際用量很小的交易,以接近零的成本「霸佔」區塊空間。所以像已故區塊鏈 DEXON 就直接取消 gas refund,杜絕濫用的可能。但顯然這在使用者體驗和區塊空間效率上都是次優的。
而最近推出的 smartBCH 嘗試擬了一套複雜的退款規則:交易執行後剩餘的 gas 如果小於 gas limit 的一半(代表不是故意的)就退款;如果剩餘量介於 50%-75% 可以退一半;超過 75% 推斷為惡意,不退款。乍看是個合理的方案,仔細一想會發現製造的問題似乎比解決的還多。無論如何,沒用掉的空間終究是浪費了,而根據殘氣比例決定是否退款也不會是個好政策,對於有條件判斷的程式,可能要實際執行才知道走哪條路,gas limit 一定是以高的情況去設定,萬一進到 gas 用量少的分支,反而會噴更多錢,怎麼想都不太合理。
安全考量,退費大概是沒希望了。不過呢,最近以太坊剛上線的 EIP1559 似乎給了一點方向,如果區塊的使用程度能以某種回授控制的方式調節,即使偶爾挖出比較空的區塊似乎也無傷大雅,也許能研究看怎麼把兩者融合吧。
管線化方案的發展性
考慮到以太坊已經堅定地選擇了分片的路線,比較激進的單鏈高 TPS 管線化改造方案應該不太有機會出線,不過管線化畢竟是種歷史悠久的軟體最佳化技巧,還是很有機會被使用在其他地方的,也許是 VDF 之於信標鏈,也許是 rollup 的狀態轉換證明,可以坐等開發者們表演。
倒是那些比較中心化的 EVM fork/sidechain,尤其是專門只 for DeFi 的鏈,管線化加速可以在不破壞交易原子性的前提下擴容,確實是有一些比分片優秀的地方可以說嘴,值得研究研究,但這就要看那些機房鏈們有沒有上進心,願不願意在分叉之餘也投資發展自己的新技術了。
給我錢
ping.eth
區塊鏈管線化的效能增進與瓶頸 was originally published in Taipei Ethereum Meetup on Medium, where people are continuing the conversation by highlighting and responding to this story.
👏 歡迎轉載分享鼓掌
「pipeline計算」的推薦目錄:
- 關於pipeline計算 在 Taipei Ethereum Meetup Facebook 的最讚貼文
- 關於pipeline計算 在 TechOrange 科技報橘 Facebook 的最讚貼文
- 關於pipeline計算 在 文茜的世界周報 Sisy's World News Facebook 的最佳解答
- 關於pipeline計算 在 Re: [問題] 管線式... - 看板TransCSI - 批踢踢實業坊 的評價
- 關於pipeline計算 在 連彬翔老師計算機組織|管線Pipeline介紹|柯名陽電研 - YouTube 的評價
- 關於pipeline計算 在 鲲鹏BoostKit机密计算TrustZone套件- 概述-验收测试指南 的評價
- 關於pipeline計算 在 [理工][計組] pipeline CPI計算- 看板Grad-ProbAsk - PTT網頁版 的評價
- 關於pipeline計算 在 MIPS中Pipeline的clock cycle time問題- 研究所板 - Dcard 的評價
pipeline計算 在 TechOrange 科技報橘 Facebook 的最讚貼文
這樣一算,等於砍了 94% 的 AI 模型 Pipeline 訓練時長!
而 CodeFlare 基於的開源分佈式計算系統,前一陣子也助 IBM 發表了世界上第一個原型 2 奈米晶片
-
📨 訂閱 TO 電子報,科技新知不漏接
>> https://bit.ly/34C70el
pipeline計算 在 文茜的世界周報 Sisy's World News Facebook 的最佳解答
0608紐約時報
*【參議院準備通過龐大的產業政策法案以對抗中國】
美國準備通過史上最全面的產業政策立法,打擊中國科技領域主導地位。面對來自中國的緊迫競爭威脅,美國參議院準備通過一項大規模投資立法,在製造業和技術上投資近2500億美元,以發展半導體製造、人工智慧研究、機器人技術和量子計算等。該法案預計最早將在週二以較大優勢獲得通過,這表明在商業和軍事上與中國競爭已成為能將美國兩黨聯合起來的少數問題之一。
https://www.nytimes.com/2021/06/07/us/politics/senate-china-semiconductors.html
*【美國拿回Colonial Pipeline被駭客勒索的部份贖金】
美國司法部表示,Colonial Pipeline當初一共支付75枚比特幣,而政府近日從駭客電子錢包追回64枚比特幣,但因這段期間比特幣價格波動劇烈,因此追回的64枚價值僅230萬美元。
https://www.nytimes.com/2021/06/07/us/politics/pipeline-attack.html
*【賀錦麗打擊人口販賣,要瓜地馬拉無證件者遠離美國邊境】
美國副總統賀綿錦麗首次出訪瓜地馬拉時表示,美國將加強對瓜地馬拉腐敗和人口販運的調查,同時也向希望抵達美國的無證移民傳遞一個明確、直截了當的資訊:“不要來。”
https://www.nytimes.com/2021/06/07/world/americas/kamala-harris-guatemala.html
*【面對外界批評聲浪,印度聯邦政府接手疫苗接種計畫】
莫迪表示,聯邦政府將向疫苗製造商採購其75%的庫存,免費提供給各邦。此前政府對大流行的處理受到民眾批評。數月以來,各邦和中央政府之間的爭吵及疫苗短缺,使得該國14億人口中只有不到4%完成了疫苗接種。印度週一報告了10萬新病例,儘管這一數字仍然很高,但已在向好發展。
https://www.nytimes.com/2021/06/07/world/india-vaccine-criticism.html
*【最新研究發現英國變異毒株為何如此“強大” 】
科學家指出,這種名為“阿爾法”的新冠變種病毒使人體內的第一道免疫防禦系統失效,為其自我繁殖留出了更多時間。
https://www.nytimes.com/2021/06/07/health/covid-alpha-uk-variant.html
*【Covid-19實時更新】
#休士頓衛理公會醫院告訴員工,他們必須在週一之前接種疫苗。117名休士頓衛理公會員工就疫苗政策向雇主提起訴訟。
#由於疫苗接種率滯後,美國南部可能會在今年夏天出現 Covid 激增。根據《紐約時報》上週的一項分析,在包括阿肯色州、卡羅萊納州、喬治亞州和路易斯安那州在內的 15 個州,約有一半或更少的成年人接受了注射。在阿拉巴馬州和密西西比州這兩個州,按照目前成人給藥的速度,大約需要一年時間才能將一劑疫苗接種到 70% 的人口中。
#世衛組織秘書長譚德塞博士在新聞發布會上說,全球已知的新死亡和感染總數已經下降了幾個星期,但世界上缺乏疫苗的地區的死亡人數正在上升,比如非洲和拉丁美洲。他說,問題的核心是擁有絕大多數劑量的富裕國家與擁有極少劑量的低收入國家之間的鴻溝,造成了他所謂的“雙軌大流行”
#紐約州州長古莫週一宣佈,一旦紐約州 70% 的成年人至少接種了一劑疫苗,紐約將取消其在大流行時期對企業和社會環境的大部分限制。
#烏干達總統採取了新的封鎖措施,以應對激增的冠狀病毒病例。
#愛爾蘭的 餐館、酒吧和咖啡館週一重新開放,供戶外飲酒和用餐,因為該國正在擺脫歐洲最嚴格、最持久的封鎖之一。
#俄羅斯宣布其單劑 Sputnik Light 疫苗已獲准在剛果共和國使用,剛果共和國已經批准了兩劑 Sputnik V 疫苗。
#在德國,任何 12 歲或 12 歲以上的人現在都有資格獲得疫苗預約。
https://www.nytimes.com/live/2021/06/07/world/covid-vaccine-coronavirus-mask
*【英國脫歐或再度點燃北愛爾蘭“火藥桶” 】
希望留在英國的新教徒和尋求與愛爾蘭統一的天主教徒之間的宗派衝突,達到幾十年來從未見過的程度,該地區的宗教熱情被再次喚醒。隨著下個月新教徒“遊行季”的開始,人們擔心當前零星的暴力與騷亂只是熱身行動。
https://www.nytimes.com/2021/06/07/world/europe/northern-ireland-brexit-border.html
*【墨西哥中期選舉初步結果顯示,洛佩斯改革計畫或將受阻】
預計左翼執政聯盟將失去在國會的絕對多數席位,這意味著洛佩斯無法獲得推動墨西哥“第四次轉型”所需的支持。該議程包括建設大型基礎設施、使能源行業回歸國有等。儘管洛佩斯在窮人中廣受歡迎,但此次失利表明,他在受過教育的中產階級中的支持率正在下降。
https://www.nytimes.com/2021/06/07/world/americas/mexico-election-results-lopez-obrador.html
*【巴基斯坦火車相撞導致至少35死115傷】
這輛特快列車脫軌與另一輛火車相撞時,大部分乘客都在睡覺。當地媒體和救援人員稱,傷亡數字比官方統計更高。巴基斯坦有著糟糕的火車安全記錄,這一事故再次引發了人們對該國鐵路旅行安全的質疑。
https://www.nytimes.com/2021/06/07/world/asia/pakistan-train-collision.html
*【現任總統為謀求連任鎮壓反對派,尼加拉瓜民主岌岌可危】
反對派候選人被拘留、抗議活動被禁止、政黨也被取消參選資格。在丹尼爾•奧爾特加的領導下,該國距離成為一黨制國家僅有一步之遙。專家們表示,他對反對派的行動達到了自2018年鎮壓反政府抗議以來從未見過的程度。這也對拜登的中美洲議程提出意想不到的挑戰。
https://www.nytimes.com/2021/06/06/world/americas/nicaragua-daniel-ortega-crackdown.html
*【美國批准著名生技公司Biogen開發的阿茲海默治療藥物】
美國食品和藥物管理局週一批准了近20年來首個治療阿茲海默症的新藥,儘管該機構的獨立顧問委員會對此表示反對。一些專家指出,沒有足夠證據表明,這款名為Aducanumab的新藥可以治療認知衰退的症狀。製造商表示,其標價將為每年5.6萬美元。
https://www.nytimes.com/2021/06/07/health/aduhelm-fda-alzheimers-drug.html
*【貝佐斯計畫飛往太空,開啟人類旅行新紀元】
貝佐斯表示,將於7月20日乘坐其20年前創立的太空公司“藍色起源”發射的首個載人飛船,和弟弟馬克一起,進行一次“最偉大的冒險”。57歲的貝佐斯將於今年第三季度辭去亞馬遜首席執行官一職。
https://www.nytimes.com/2021/06/07/business/jeff-bezos-space.html
pipeline計算 在 連彬翔老師計算機組織|管線Pipeline介紹|柯名陽電研 - YouTube 的必吃
![影片讀取中](/images/youtube.png)
連彬翔老師計算機組織|管線 Pipeline 介紹|柯名陽電研,此單元為研究所考試常 ... 【筑楓電機電子群資電類專業二】110學年度選擇題23 to 25 之 計算 一. ... <看更多>
pipeline計算 在 鲲鹏BoostKit机密计算TrustZone套件- 概述-验收测试指南 的必吃
本手册是参考机密计算业界主要规格和功能标准制定。 在客户收到对应的产品后,应由用户和安装人员组成验收小组对设备进行验收测试,以使用户确认收到了 ... ... <看更多>
pipeline計算 在 Re: [問題] 管線式... - 看板TransCSI - 批踢踢實業坊 的必吃
※ 引述《ahongyeh (小葉子)》之銘言:
: 其實是這樣的...
: 我有做到了個題目...
: 不過解法好像不大一樣說...
: 我把題目PO出來...
: 1.某一計算機使用管線(Pipeline)來執行指令(Instruction),其管線分為
: 三級(Stage),每一級所需處理時間分別為5usec、6usec、7usec。從指令
: 進入第一級開始,執行完20個指令所需的時間為多少?
: (A) 120usec
: (B) 132usec
: (C) 140usec
: (D) 154usec
: 老師給的答案為(D)
: 2.在一管線計算機(Pipeline computer)中有三個管線(Pipe),其處理某一運算
: 所需的時間分別為3,6,4,則全部計算完10個此種運算所需時間為
: (A) 67
: (B) 73
: (C) 103
: (D) 130
: 老師給的答案為(A)
: 我在計算之後...
: 發現這兩題的計算方式不一樣...
: 第1題:(3+20-1)*7=154
: 第2題:(3+6+4)+(10-1)*6=67
計算機組織的聖經本為 白算盤
前年出了第三版。其中所列的公式為
(Instruction count + (pipeline stage -1)) * Clock cycle time
也就是你所舉例的第一題所提到的公式。
如果你覺得我的說法有錯,等你要考研究所時就會相信我說的話了 :p
計算pipeline的 excution time..在研究所考試是基本題..
by 可憐的研究所考生
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.202.1
... <看更多>