📜 [專欄新文章] 區塊鏈管線化的效能增進與瓶頸
✍️ 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.
👏 歡迎轉載分享鼓掌
同時也有10部Youtube影片,追蹤數超過24萬的網紅啟點文化,也在其Youtube影片中提到,對談重點: 一、嘉玲老師多年實務經驗發現,很多人想要親密感,卻很難跟人親近?為什麼? 二、怡璇、嘉玲無法展現脆弱的原因是什麼? 三、該如何展現脆弱? 四、如果身邊沒有人能讓我展現脆弱,可以怎麼做? 【線上課程】《提升你的心理免疫力》~駕馭壓力的五大策略 課程連結:https://pse.is/wj...
「共識演算法」的推薦目錄:
- 關於共識演算法 在 Taipei Ethereum Meetup Facebook 的最佳解答
- 關於共識演算法 在 每日幣研 Facebook 的最讚貼文
- 關於共識演算法 在 iThome Facebook 的最讚貼文
- 關於共識演算法 在 啟點文化 Youtube 的最佳貼文
- 關於共識演算法 在 啟點文化 Youtube 的最佳解答
- 關於共識演算法 在 啟點文化 Youtube 的最佳貼文
- 關於共識演算法 在 第15章共識· Mastering Ethereum - 繁中 的評價
- 關於共識演算法 在 元宇宙的世界- 共識機制-區塊鏈帳本參與者的遊戲 ... - Facebook 的評價
- 關於共識演算法 在 第九章:一致性與共識 - GitHub 的評價
- 關於共識演算法 在 #共識演算法- YouTube 的評價
共識演算法 在 每日幣研 Facebook 的最讚貼文
【✨#Solana-#DeFi 生態介紹】
公鏈是塊槍林彈雨、競爭激烈的戰場,其中有赫赫有名的以太主網及幣安智能鏈, 還有更多對手如 layer 2 (matic、fantom)側鏈以及 EVM 兼容的鏈(Avalanche)加入戰局。
在這競爭者環伺的賽道上,『快速的網絡』是 Solana 的最大特色, TPS (系統在每秒的交易量)是用來判斷處理交易速度的指標。Solana 的 TPS 為 50000~65000 次,比特幣的 TPS 為 7 次,以太坊為 10 ~20 次,由此可見, Solana 的交易就有如在高速公路上快速奔馳。
❓Solana 為什麼可以那麼『快』?
==========================
主要是因為它獨特的共識演算法,把時間帶入了區塊鏈,就好比創造了一個去中心化的區塊鏈時鐘,為每筆交易排出順序,以方便不同節點達成共識,而創造出快速的交易。
💡若想瞭解更多資訊,希望您不要錯過我們的文章!
------------------------------------------
✨✨文章傳送門 👉 https://pse.is/3fsvjq
------------------------------------------
🔥快速閱讀文章,每日幣研將帶您了解:
【Solana DeFi 農夫入門!輕鬆進入 Solana 生態- 以 Raydium 平台為例】
💡 Solana 獨特的共識獨特演算法
💡強大的基金會及或則對象建構 Solana 生態藍圖
💡進入 Solana 農場從創建錢包開始
💡錢包創建過程
—
Follow 每日幣研,獲取更多產業快訊及小趣事分享
Instagram:https://pse.is/crypto_research_IG
Facebook:https://pse.is/crypto_research_FB
共識演算法 在 iThome Facebook 的最讚貼文
開源記憶體資料庫Redis的主要維護廠商Redis Labs,正在開發一個稱為RedisRaft的新模組,採用Raft共識演算法實作,可集結多個Redis伺服器,形成一個單一容錯且一致的叢集
共識演算法 在 啟點文化 Youtube 的最佳貼文
對談重點:
一、嘉玲老師多年實務經驗發現,很多人想要親密感,卻很難跟人親近?為什麼?
二、怡璇、嘉玲無法展現脆弱的原因是什麼?
三、該如何展現脆弱?
四、如果身邊沒有人能讓我展現脆弱,可以怎麼做?
【線上課程】《提升你的心理免疫力》~駕馭壓力的五大策略
課程連結:https://pse.is/wj5xx
第一講免費試聽:https://youtu.be/_YT1fDZYmTc
不定期推出補充教材,讓學習無限延伸:https://pse.is/wugyq
[ 12/19 開課!]【寫作小學堂】~寫出專屬風格,找回文字悸動~第六期(僅剩"3"位名額)
打造一盞自己的聚光燈,建立起專屬於你的品牌印象
課程資訊:https://www.koob.com.tw/contents/3655
更多學員心得分享:https://pse.is/NE3QN
《幸福工作坊》當愛情卡遇見能力強項卡工作坊~2021/01/23 開課
讓你長出享受「愛」的體質,迎接你想要的親密關係
課程資訊:https://www.koob.com.tw/contents/1903
【2021/3/13開課】《學「問」~高難度對話的望聞問切》~第21期
掌握達成共識的關鍵能力!
課程資訊:https://www.koob.com.tw/contents/232
更多學員心得分享:http://goo.gl/A07zZ0
【線上課程】《與人連結的三個秘密》
啟動接觸、開啟話題,你需要有一顆願意欣賞的心
課程連結:https://pros.is/SPQZC
第一講免費試聽:https://youtu.be/e3hUVtIhDZE
不定期推出補充教材,讓學習無限延伸:https://pros.is/QWLR2
【線上課程】《過好人生學》~讓你建立迎向未來的思維與能力!
課程連結:https://pse.is/H8JXH
第一講免費試聽:https://youtu.be/-EHOn0UxMys
不定期推出補充教材,讓學習無限延伸:https://pros.is/KQZZH
【線上課程】《理財心裡學》~擺脫家庭影響,從心培養富體質
課程連結:https://pse.is/EPBWE
第一講免費試聽:https://youtu.be/HgrDK7pqR-0
不定期推出補充教材,讓學習無限延伸:https://pse.is/NJ5VE
【線上課程】《自信表達力》~讓你不再害怕開口
從「敢表達、說清楚」到讓人「聽得進、會去做」的完整學習
課程連結:https://pse.is/RG5NC
第一講免費試聽:https://youtu.be/fAjySLoa2f8
不定期推出補充教材,讓學習無限延伸:https://pse.is/NUJK9
【線上課程】《時間駕訓班》~
學會提升效率,擺脫瞎忙人生,做自己時間的主人
課程連結:https://pse.is/DDDHB
第一講免費試聽:https://youtu.be/flfm52T6lE8
不定期推出補充教材,讓學習無限延伸:https://pse.is/GXZWM
【線上課程】《人際斷捨離》~
讓你留下怦然心動的關係,活出輕盈自在的人生!
課程連結:https://pse.is/E5MW5
第一講免費試聽:https://youtu.be/YyLvd1cNcDw
不定期推出補充教材,讓學習無限延伸:https://pse.is/LVRLY
【我們有Podcast囉~】歡迎到Podcast應用裡搜尋「啟點文化一天聽一點」訂閱我們!
Apple Podcast~https://pse.is/N2WCZ
Google Podcast~https://pse.is/PEN2Z
在Spotify收聽~https://pse.is/PQT76
在Himalaya收聽~https://www.himalaya.com/ekoob
在MyMusic收聽:https://reurl.cc/Grb5XZ
在SoundCloud收聽~https://soundcloud.com/ekoob
桌遊【人際維基】~一玩就懂得別人的在乎:https://goo.gl/Ej4hjQ
到蝦皮購買【人際維基】:https://goo.gl/ASruqR
=========================

共識演算法 在 啟點文化 Youtube 的最佳解答
【12/2開課】《人際回應力-看懂情緒,輕鬆對談》~第24期
一個人的命運,是回應力的總和!(僅剩最後"1"位名額)
課程資訊:https://www.koob.com.tw/contents/157
更多學員心得分享:http://goo.gl/Guc6V6
[ 12/19 開課!]【寫作小學堂】~寫出專屬風格,找回文字悸動~第六期
打造一盞自己的聚光燈,建立起專屬於你的品牌印象
課程資訊:https://www.koob.com.tw/contents/3655
更多學員心得分享:https://pse.is/NE3QN
【2021/3/13開課】《學「問」~高難度對話的望聞問切》~第21期
掌握達成共識的關鍵能力!
課程資訊:https://www.koob.com.tw/contents/232
更多學員心得分享:http://goo.gl/A07zZ0
【線上課程】《與人連結的三個秘密》
啟動接觸、開啟話題,你需要有一顆願意欣賞的心
課程連結:https://pros.is/SPQZC
第一講免費試聽:https://youtu.be/e3hUVtIhDZE
不定期推出補充教材,讓學習無限延伸:https://pros.is/QWLR2
【線上課程】《過好人生學》~讓你建立迎向未來的思維與能力!
課程連結:https://pse.is/H8JXH
第一講免費試聽:https://youtu.be/-EHOn0UxMys
不定期推出補充教材,讓學習無限延伸:https://pros.is/KQZZH
【線上課程】《理財心裡學》~擺脫家庭影響,從心培養富體質
課程連結:https://pse.is/EPBWE
第一講免費試聽:https://youtu.be/HgrDK7pqR-0
不定期推出補充教材,讓學習無限延伸:https://pse.is/NJ5VE
【線上課程】《自信表達力》~讓你不再害怕開口
從「敢表達、說清楚」到讓人「聽得進、會去做」的完整學習
課程連結:https://pse.is/RG5NC
第一講免費試聽:https://youtu.be/fAjySLoa2f8
不定期推出補充教材,讓學習無限延伸:https://pse.is/NUJK9
【線上課程】《時間駕訓班》~
學會提升效率,擺脫瞎忙人生,做自己時間的主人
課程連結:https://pse.is/DDDHB
第一講免費試聽:https://youtu.be/flfm52T6lE8
不定期推出補充教材,讓學習無限延伸:https://pse.is/GXZWM
【線上課程】《人際斷捨離》~
讓你留下怦然心動的關係,活出輕盈自在的人生!
課程連結:https://pse.is/E5MW5
第一講免費試聽:https://youtu.be/YyLvd1cNcDw
不定期推出補充教材,讓學習無限延伸:https://pse.is/LVRLY
【我們有Podcast囉~】歡迎到Podcast應用裡搜尋「啟點文化一天聽一點」訂閱我們!
Apple Podcast~https://pse.is/N2WCZ
Google Podcast~https://pse.is/PEN2Z
在Spotify收聽~https://pse.is/PQT76
在Himalaya收聽~https://www.himalaya.com/ekoob
在MyMusic收聽:https://reurl.cc/Grb5XZ
在SoundCloud收聽~https://soundcloud.com/ekoob
桌遊【人際維基】~一玩就懂得別人的在乎:https://goo.gl/Ej4hjQ
到蝦皮購買【人際維基】:https://goo.gl/ASruqR
=========================

共識演算法 在 啟點文化 Youtube 的最佳貼文
不領百萬年薪,卻拿老本創業?
創業者的一本帳,到底怎麼算?
從麥肯錫的紙上談兵,到「創業成癮」!
搞懂創業者進化論,為你的創業暖身。
【線上課程】《自信表達力》~讓你不再害怕開口
從「敢表達、說清楚」到讓人「聽得進、會去做」的完整學習
課程連結:https://pse.is/RG5NC
第一講免費試聽:https://youtu.be/fAjySLoa2f8
不定期推出補充教材,讓學習無限延伸:https://pse.is/NUJK9
【7/4 開課!】《學「問」~高難度對話的望聞問切》~第19期
掌握達成共識的關鍵能力!
課程資訊:http://www.koob.com.tw/contents/232
更多學員心得分享:http://goo.gl/A07zZ0
【隱喻工作坊】認識自己的獨特,與潛意識做朋友~2020/05/23 開課
課程資訊:https://www.koob.com.tw/contents/4165
【線上課程】《時間駕訓班》~
學會提升效率,擺脫瞎忙人生,做自己時間的主人
課程連結:https://pse.is/DDDHB
第一講免費試聽:https://youtu.be/flfm52T6lE8
不定期推出補充教材,讓學習無限延伸:https://pse.is/GXZWM
【線上課程】《理財心裡學》~擺脫家庭影響,從心培養富體質
課程連結:https://pse.is/EPBWE
第一講免費試聽:https://youtu.be/HgrDK7pqR-0
不定期推出補充教材,讓學習無限延伸:https://pse.is/NJ5VE
【線上課程】《人際斷捨離》~
讓你留下怦然心動的關係,活出輕盈自在的人生!
課程連結:https://pse.is/E5MW5
第一講免費試聽:https://youtu.be/YyLvd1cNcDw
不定期推出補充教材,讓學習無限延伸:https://pse.is/LVRLY
【線上課程】《過好人生學》~讓你建立迎向未來的思維與能力!
課程連結:https://pse.is/H8JXH
第一講免費試聽:https://youtu.be/-EHOn0UxMys
不定期推出補充教材,讓學習無限延伸:https://pros.is/KQZZH
【我們有Podcast囉~】歡迎到Apple或Android內建的Podcast搜尋「啟點文化一天聽一點」訂閱我們!另外,在Spotify和Soundon也找得到喔!
Apple Podcast~https://pse.is/N2WCZ
Google Podcast~https://pse.is/PEN2Z
在Spotify收聽~https://pse.is/PQT76
在SoundCloud收聽~https://soundcloud.com/ekoob
歡迎加入「啟點文化 X Telegram 」:https://t.me/turnkeysolution
線上課程【不用開口,就讓你擁有人際好感】
啟動人際溝通的關鍵影響力 https://goo.gl/v3ojdo
桌遊【人際維基】~一玩就懂得別人的在乎:https://goo.gl/Ej4hjQ
到蝦皮購買【人際維基】:https://goo.gl/ASruqR

共識演算法 在 元宇宙的世界- 共識機制-區塊鏈帳本參與者的遊戲 ... - Facebook 的推薦與評價
共識機制-區塊鏈帳本參與者的遊戲規則帳本一致性與交易最終性在解釋分散式帳本 ... 共識演算法就是網絡上礦工的挖礦規則,透過算力或持幣權重等條件,選出記帳者,交 ... ... <看更多>
共識演算法 在 第九章:一致性與共識 - GitHub 的推薦與評價
共識演算法 對於分散式系統來說是一個巨大的突破:它為其他充滿不確定性的系統帶來了基礎的安全屬性(一致同意,完整性和有效性),然而它們還能保持容錯(只要多數節點正常 ... ... <看更多>
共識演算法 在 第15章共識· Mastering Ethereum - 繁中 的推薦與評價
授權證明(PoA)是PoS一致性演算法的子集,主要由測試網和私有或聯盟網路使用。在基於PoA的區塊鏈中,交易有效性最終由一組經批准的鏈上帳戶確定,稱爲“授權節點”。確定 ... ... <看更多>