📜 [專欄新文章] 區塊鏈管線化的效能增進與瓶頸
✍️ 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.
👏 歡迎轉載分享鼓掌
區塊鏈特性不包含 在 新北創力坊 InnoSquare Facebook 的最佳貼文
【 Demo Day The Innovators 5 新創搶先報2⃣】
本次Demo Day除了有 新北市-亞馬遜AWS聯合創新中心 Batch#5的新同學外,還有Batch#4的成員以及來自 新北創力坊 InnoSquare的優秀團隊一起共襄盛舉,今天繼續為大家點名介紹👏
📍 分子智藥
VIRTUALMAN能預測臨床前藥物開發的實驗結果,並提供明確的藥物最佳化指引,不同於傳統AI工具的「黑盒子」,VIRTUALMAN革命性的可解釋人工智慧技術,讓客戶理解AI模型分析結果,以快速取得進展並降低60%錯誤率。透過精準易懂的預測結果,配合分子結構的修飾建議,替客戶減少不必要的實驗,節省時間成本。
📍奎景運算
提供FAST-AI-深度學習的加速工具,透過最佳化環境設定與自動化運用多台GPU伺服器,加速AI模型訓練工具並1鍵部署到大量的AI終端。FAST-AI為AI研發工具提供快速、簡單且支援不同的雲端硬體。透過簡單的工作坊,公司內的領域專家便可使用,節省開發時間比對手先一步取得先機。
📍智慧貼紙
為各行業提供工業4.0/機器無痛升級方案,以最低的學習成本和較高的投資回報率升級機器。Smart Tag為整體解決方案,由軟性電路板黏貼至機器表面,進行多點位資料蒐集,如震動、溫度及濕度等紀錄,再串接至客戶端系統或者上傳雲端數據中心,藉由機器學習及數據模型進行分析,並預測機器的運作模式,解決工廠產能及良率的問題。
📍極現科技 Earthbook
earthbook無人機任務及數據服務平台提供多種無人機影像、空拍直播與光達掃描等,為線上下單、即買即用的創新空拍商業服務,需求者毋須再煩惱無人機之購置、維護成本,並可將成果透過瀏覽器在平台中直接套疊其他資訊做加值利用與AI分析。從空拍到應用,earthbook以自有技術建立4D雲端DaaS平台,提供客戶完整服務。
📍玩咖旅行社 Tripresso 旅遊咖
專長資料串接與數據整合,提供B2C與B2B服務,建構多樣化的旅遊場景解決方案,從全球供應鏈串連、即時線上訂購、後端管理系統與企業所需的簽核、報支等管理功能等,提供消費者、企業客戶與旅遊同業一站式的系統,期待藉由數位轉型與技術開發,減少人力耗費,達成節省成本與增加效率的成果。
📍必揚實境科技 Veyond 必揚實境
本於期待科技創新可為人類生活帶來進步與改變的宗旨,相信教育與訓練的創新和科技化是值得耕耘又深具意義的領域。與各種具備專業知識的單位攜手合作,結合我們自身對於虛擬世界及網路應用的堅實基礎,共同建構各種教育、醫療護理、技能訓練等相關的創新解決方案。
📍米菲多媒體
以技術為核心,擁有多項發明專利及新型專利技術,致力提供XR核心技術開發及硬體整合服務,完善沉浸式體驗流程。2018年上線全台唯一的AR/VR/MR開發平台「MAKAR」。使用者不需學習程式,就能自由創建XR數位內容,發揮創意及想像力。米菲也與AR眼鏡、VR頭盔等設備商合作,進行軟硬體整合,提供SDK技術支援,並於2021年發佈可以直接在網頁觀看的「Web XR服務」。目前協助500家智慧工業、智慧教育、智慧醫療及商務客戶,達成操作培訓、產品演示、資訊管理以及數位轉型等創新XR應用。
📍圖題迷 TUTEEMI
由瓜地馬拉與台灣的創業家共同創立,是一家媒合外師家教與台灣人的平台。TUTEEMI解決語言與文化上的隔閡,提供台灣人與外師家教友善且安全的教學環境。依照每位學生不同的需求,與外師擬定課程,成為外師與學生的橋樑。目前平台上的外師家教來自17個不同的國家,提供的語言教學包含英語、法語、西班牙語與葡萄牙語。
📍凱匯金融科技 iEstate土斯債權
iEstate土斯債權為P2P借貸媒合平台,專注於解決中小企業、建商、不動產資金需求領域。運用P2P的特性,同時降低資金需求者資金成本,提高資金效率;降低債權人參與借貸門檻,提高借貸報酬,並合作區塊鏈圖靈證書,讓所有法律文件皆可上鏈存證。金流全面與銀行及第三方支付公司合作,確保iEstate不經手金流,搭配專業的案件審查團隊,創造P2P普惠金融的價值!
📍諾亞教育 諾亞教育 Know - Ya Edu.
由一群過去為補教老師、家教老師的成員所創辦,過去的教育體系並無法讓學生真正找到學習的意義以及熱忱,因此希望透過STEAM教育的模式打造一個全新的教育環境,讓學生們也能在快樂、有趣的創新環境中學習。最終願景是希望透過課程建立清楚的教學典範,再透過內容創作與電商,將諾亞教育的理念傳遞給更多的家長與學生。
不想錯過19家優秀新創的精彩分享❓
那怎麼還不報名Demo Day The Innovators 5⁉
立刻報名請點我👇
https://www.accupass.com/go/ntpcawsjic_demoday5
區塊鏈特性不包含 在 WorkFace Taipei Facebook 的最讚貼文
【台北 | 07/15 #創變夜Live】感受到創造的巨大魔力嗎?
▶️區塊鏈與數位資產的跨域碰撞
🎤區塊科技 執行長 黃敬博 Po Huang
今晚的 #WorkFace 主題例會中,我們邀請 區塊科技 的 黃敬博 執行長,跟大家分享如何藉由「創造」不同以往的創新心態,在區塊鏈與數位資產領域,相互創造出的全新碰撞?
🌟讓我們一起回顧今晚的精彩時刻!
想想看你早上睡過頭的照片被偷拍,並且散佈到各處時,就算你即時要修圖美化一下,在區塊鏈上這張留存的圖片也無法被更改,這就是區塊鏈存證的簡單比喻!
「而在了解區塊鏈技術前有兩個基礎概念要先認識。」Po 說到,那就是數位指紋與智能合約。
所謂數位指紋,指的是把一堆資料使用數學函數計算之後的結果。資料中只要有一個byte不同算出來的「結果」就會不一樣,該「結果」就可以視為是那「一堆資料」的「數位指紋」,是用來確認檔案的身份的實際應用方案。
而智能合約則是在區塊鏈中的執行程式碼,只要滿足特定條件就能觸法智能合約的自動執行,提供驗證及執行合約內所訂立的條件;利用區塊鏈的特性可以維持他不易串改的特性,讓程式碼保持公正透明公開。
✅如何「創造」區塊鏈與數位資產領域跨域應用?
數位證據常見的疑慮,是容易被串改或不小心被刪除,要怎麼確保數位資料原始性,就仰賴數位指紋與區塊鏈的應用,以共有鏈提供的金鑰,與私有鏈人臉指紋辨識等技術,讓區塊鏈數位證據存證的系統可以做到保證數位檔案原始性、提升數位證據有效性與拓展數位資料蒐集型態的應用!
而區塊科技主要專業領域,是提供檢警調單位現場蒐證應用,包含手機存證與電腦存證針對執發現場與資安蒐證的工具支援;在toC的層面則是應用發展在企業級的存證與簽約服務、智慧財產權的驗證、數位存證信函等貼近民生的日常數位存證需要。
❓在疫情中,區塊鏈數位存證能為生活帶來什麼改變?
拿存證信函為例子,現在不能出門的時刻,如果需要這樣的服務該怎麼處理呢?
區塊科技以區塊鏈數位存證技術,提供24小時無需實體的第三方公正存證系統,就可以化解疫情間不便出門的窘迫情境,同樣出發扁的還有公司端的數位合約簽名存證,過程中甚至會紀錄收雙方通知的時間,與同步提供合約電子檔案、合約歷程紀錄與以太坊交易頁面,方便法律上舉證有效進行!
🗯連續創業者的領悟和心得
「我想任何的創業都是要找到志同道合的團隊,並不是說需要多優秀,更多的是整體團隊合作的協調性!」po分享到,找到對人選,絕對是創業成功的必要條件!
在創業項目上,則是需要關注在解決問題的可能性,像是數位存證就是關注在未來的趨勢預備跑道中,不過雖然解決議題具有前瞻性觀點,但當下的公司存留其實更加仰賴推廣宣傳的力道,因此區塊科技在這方面積極的與政府單位合作,推動數位資產的留存與培養其使用習慣。
在創業後,更要不厭其煩的符合法規與政府要求,同時規劃短中長期的規劃,力求貫徹執行才不會使計畫落為空談;因應局勢調整,則是這個時代不論大小公司都要面對的議題,當中能夠使你的團隊脫穎而出的即是有效的溝通模式,最後建立該領域中的指標性地位,更是後期能否快速發展的重要里程碑!
#創造 #週四主題例會 #WorkFaceTaipei #創變者社群
區塊鏈特性不包含 在 【DQ補給站>> #區塊鏈(blockchain)】 是一種紀錄交易資訊 ... 的推薦與評價
DQ補給站>> # 區塊鏈 (blockchain)】 是一種紀錄交易資訊的技術, 因為加密制度、塊塊透過代碼相連、去中心化等 特性 , 讓交易資料近乎不可能竄改, ... ... <看更多>