以太坊交易所 以太坊交易所
Ctrl+D 以太坊交易所
ads

區塊鏈的速度性能困境:“慢”得其所 “貴”在信任_SCALE:ANK

Author:

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

區塊鏈為什么會這么慢?具體慢在哪里?

編者按:很多人抱怨說比特幣轉賬速度慢過蝸牛,但其實慢是有原因的,下面由FISCO BCOS 首席架構師為你講解為什么區塊鏈轉賬這么慢?具體慢在哪里?能不能快一點?

舉個例子

數錢,比如數一個億(是不是好刺激~)

1、如果一個人數,慢,但好在專注,全力以赴,在可見的時間內可以數完。這叫單線程密集計算。

2、如果N個人一起數,每人平分,分頭同時數,最后匯總總數,所用時間基本上是第一種情況的1/N,參與的人越多,所需時間就越少,TPS就越高。這叫并行計算和MapReduce。

3、如果N個人一起數,但由于這N個人互相不信任,得彼此盯著,首先抽簽選一個人,這個人撿出一疊錢(比如一萬塊一疊)數一遍,打上封條,簽名蓋章,然后給另外幾個人一起同時重新數一遍,數好的人都簽名蓋章,這疊錢才算點好了。然后再抽簽換個人檢出下一疊來數,如此循環。因為一個人數錢時別人只是盯著,而且一個人數完且打上封條和簽名的一疊錢,其他人要重復數一遍再簽名確認,那么可想而知,這種方式肯定是最慢的。這就叫區塊鏈。

但換個角度,方式1,一個人數有可能會數錯,這個人有可能生病或休假,導致沒有人干活,更壞的結果是,這個人可能調換假幣或者私藏一部分錢,報一個錯的總數。

基于Ankr SDK開發的BAS首款區塊鏈游戲Meta Apes正式上線:5月6日消息,據官方推特,基于Ankr SDK開發的區塊鏈游戲Meta Apes已正式上線。Meta Apes是首款使用Binance Application Sidechain(BAS)架構發布的游戲,基于著名的移動策略游戲Ageof Apes,將玩家喜歡的游戲玩法與Web3相結合。Ankr Web3 SDK為開發者提供了一種與Web3交互的簡單方法,特別是從Web3基礎設施到NFT、市場和多鏈錢包等一整套資源,讓構建區塊鏈游戲變得更加簡單。[2022/5/6 2:54:32]

方式2,N個人中會有一定比例數錯,也可能其中一個人休假或者怠工,導致最終結果出不來,更可能因為人多手雜,出現部分人偷錢、換假錢、報假數……

方式3,很慢,但是很安全,因為所有人都會盯著全過程進行驗算,所以肯定不會數錯。如果其中有人掉線,可以換人撿出新的一疊錢繼續數,工作不會中斷。所有數過的錢上面都有封條和簽名,不會被做手腳,萬一出錯了也可以找到責任人進行追責。這種情況下,資金安全是完全得到保障的,除非所有的參與者都串通一氣了。該模式下,參與的人越多,資金安全性就越高。

所以,區塊鏈方案致力追求的是,在缺乏互相信任的分布式網絡環境下,實現交易的安全性、公允性,達成數據的高度一致性,防篡改、防作惡、可追溯,付出的代價之一就是性能。

聲音 | 井賢棟:區塊鏈技術魅力在于建立經濟數字化趨勢下的信任體系:11月6日,在第二屆進口博覽會上,螞蟻金服董事長兼CEO井賢棟強調區塊鏈的技術魅力在于建立經濟數字化趨勢下的信任體系,這是未來數字經濟的基礎設施,將支撐數字經濟參與者的高度協同,從而完成從信息互聯網到價值互聯網的飛躍。

他表示:“螞蟻做區塊鏈始終專注三件事,第一是自主研發創新技術,解決區塊鏈通向大規模商業化應用的技術瓶頸;第二是探索區塊鏈創造真實價值的應用場景,第三是搭建開放平臺,與合作作伴共建繁榮的生態。”[2019/11/6]

最著名的比特幣網絡,平均每秒只能處理5~7筆交易,10分鐘出1個塊,達到交易的最終確定性需要6個塊也就是1個小時,且出塊過程相當損耗算力(POW挖礦)。號稱“全球計算機”的以太坊,每秒能處理的交易數也僅是2位數的量級,十幾秒出1個塊。以太坊目前也是采用損耗算力的共識機制POW挖礦,會逐步遷移到POS共識機制。這兩個網絡在粉絲們爆炸性地進行交易時,可能會陷入擁堵狀態,大量的交易發出后,一兩天甚至更長的時間才會被打包確認。

但在資金安全就是命的場景下,有些事情是“必須”的,所以,即使慢,還是會考慮選擇區塊鏈。

區塊鏈為什么慢

分布式系統里有一個著名的理論叫CAP理論:2000年,Eric Brewer教授提出一個猜想:一致性、可用性和分區容錯性三者,無法在分布式系統中被同時滿足,并且最多只能滿足其中兩個。

公告 | 浩云科技:區塊鏈技術將逐步應用在公司相關業務中:浩云科技(300448)27日在互動平臺表示,公司和廣州大學共建的公共安全智能實驗室有相關的區塊鏈技術,目前也將逐步應用在公司相關業務中;智慧監獄、智慧社矯及智慧戒是公司未來戰略業務,司法部相關文件中也提出將區塊鏈技術用于社區矯正。區塊鏈技術可應用于智慧司法、智慧金融、智慧物聯等應用場景,并結合物聯網技術及產品,針對具體應用場景提供全新的解決方案。[2019/10/27]

CAP的大致解釋

Consistency(一致性) :數據一致更新,所有數據變動都是同步的

Availability(可用性):好的響應性能

Partition tolerance(分區容錯性): 可靠性

這個理論雖然有一些爭議,但從工程實踐中看,和光速理論一樣,可以無限逼近極致但是難以突破。區塊鏈系統能把一致性和可靠性做到極致,但是“好的響應性能”方面一直有點被人詬病。

我們面向的“聯盟鏈”領域,因為在準入標準,系統架構、參與節點數、共識機制等方面都和公鏈不同,其性能表現遠高于公有鏈,但是目前幾個主流的區塊鏈平臺,在常規PC級服務器硬件上實測,TPS一般是在千級的樣子,交易延遲一般在1秒到10秒這個級別。(聽說TPS十幾萬級和百萬級千萬級區塊鏈已經做出來了?好吧,期待)

動態 | 迅雷鏈發布最新區塊鏈安全技術:迅雷鏈總工程師來鑫今日在第四屆中國網絡與信息安全大會現場發布了迅雷鏈新技術——可追溯的隱私保護技術,迅雷官方稱,該技術是為了解決鏈上數據隱私保護和信息追溯難以兩全的痛點。據迅雷介紹,該技術通過環簽名、零知識證明等加密算法對數據進行加密隱藏,從而保護用戶隱私,并通過密碼學技術滿足有信息管控權限的組織或機構的需求,最大限度減少風險。(36氪)[2019/7/30]

筆者曾在大型互聯網公司工作多年,在海量服務領域,面對C10K問題(concurrent 10000 connection,萬級并發)已經有輕車熟路的解決方案,對一般的電商業務或內容瀏覽服務,普通pc級服務器單機達到幾萬TPS,且平均延時在500毫秒以內,飛一般的體驗已經是常態,畢竟互聯網產品卡一下說不定就會導致用戶流失。對于快速增長的互聯網項目,通過平行擴容、彈性擴容、立體擴容的方式,幾乎能無底線、無上限地面對山呼海嘯的海量流量。

相比而言,區塊鏈的性能比互聯網服務慢,而且難以擴容,根因還是在其“用計算換信任”的設計思路上。

具體哪里慢呢?

從“古典”區塊鏈的系統內部來看

1、為了安全防篡改防泄密可追溯,引入了加密算法來處理交易數據,增加了CPU計算開銷,包括HASH、對稱加密、橢圓曲線或RSA等算法的非對稱加密、數據簽名和驗簽、CA證書校驗,甚至是目前還慢到令人發指的同態加密、零知識證明等。在數據格式上,區塊鏈的數據結構本身包含了各種簽名、HASH等交易外的校驗性數據,數據打包解包、傳輸、校驗等處理起來較為繁瑣。

動態 | KBank將向中國區塊鏈等創業公司投資80億泰銖:據nationmultimedia報道,KBank(中國)總裁Vongpat Bhuncharoen指出,KBank銀行已在北京,上海,上珍和杭州設立了四個創新中心,還將在2019至2024年期間向全國各地的創業公司投資約80億泰銖,其中包括那些專注于金融科技,區塊鏈,電子商務和人工智能(AI)的公司。[2019/1/4]

對比互聯網服務,也會有數據加密和協議打包解包的步驟,但是越精簡越好,優化到了極致,如無必要,絕不增加累贅的計算負擔。

2、為了保證交易事務性,交易是串行進行的,而且是徹底的串行,先對交易排序,然后用單線程執行智能合約,以避免亂序執行導致的事務混亂、數據沖突等。即使在一個服務器有多核的CPU,操作系統支持多線程多進程,以及網絡中有多個節點、多臺服務器的前提下,所有交易也是有條不紊地、嚴格地按單線程在每臺計算機上單核地進行運算,這個時候多核CPU其他的核可能完全是空閑的。

而互聯網服務則是能用多少服務器的多少個核,采用全異步處理、多進程、多線程、協程、緩存、優化IOWAIT等等,一定會把硬件計算能力跑滿。

3、為了保證網絡的整體可用性,區塊鏈采用了P2P網絡架構以及類似Gossip的傳輸模式,所有的區塊和交易數據,都會無差別地向網絡廣播,接收到的節點繼續接力傳播,這種模式可以使數據盡可能地傳達給網絡中的所有人,即使這些人在不同的區域或子網里。代價是傳輸冗余度高,會占用較多的帶寬,且傳播的到達時間不確定,可能很快,也可能很慢(中轉次數很多)。

對比互聯網服務,除非出錯重傳,否則網絡傳輸一定是最精簡的,用有限的帶寬來承載海量的數據,且傳輸路徑會爭取最優,點對點傳輸。

4、為了支持智能合約特性,類似以太坊等區塊鏈解決方案,為了實現沙盒特性,保證運行環境的安全和屏蔽不一致性因素,其智能合約引擎要么是解釋型的EVM,或者是采用docker封裝的計算單元,智能合約核心引擎的啟動速度,指令執行速度,都沒有達到最高水平,消耗的內存資源也沒有達到最優。

而用常規計算機語言如C++、JAVA、go、rust語言直接實現海量互聯網服務,在這方面常常沒有限制。

5、為了達到可容易校驗防篡改的效果,除了第一條提到的,區塊數據結構里攜帶數據較多之外,針對交易輸入和輸出,會采用類似merkle樹、帕特里夏(Patricia )樹等復雜的樹狀結構,通過層層計算得到數據證明,供后續流程快速校驗。樹的細節這里不展開,可以通過網絡上的資料來學習其機制。

基本上,生成和維護這種樹的過程是非常非常非常非常繁瑣的,既占用CPU的計算量,又占用存儲量,使用了樹后,整體有效數據承載量(即客戶端發起的交易數據和實際存儲下來的最終數據對比)急劇下降到百分之幾,極端情況下,可能接受了10m的交易數據后,在區塊鏈磁盤上可能實際需要幾百兆的數據維護開銷),因為存儲量的幾何級數增加,對IO性能要求也會更高。

互聯網服務因為基本不考慮分布式互驗互信的問題,很少有使用這種樹的證明結構,了不起算下MD5和HASH做為協議校驗位。

6、為了達到全網一致性和公信力,在區塊鏈中所有的區塊和交易數據,都會通過共識機制框架驅動,在網絡上廣播出去,由所有的節點運行多步復雜的驗算和表決,大多數節點認可的數據,才會落地確認。

在網絡上增加新的節點,并不會增加系統容量和提升處理速度,這一點徹底顛覆了“性能不足硬件補”的常規互聯網系統思維,其根因是區塊鏈中所有節點都在做重復的驗算以及生成自己的數據存儲,并不復用其他節點數據,且節點計算能力參差不齊,甚至會使最終確認的速度變慢。

在區塊鏈系統中增加節點,只會增加可容錯性和網絡的公信力,而不會增強性能表現,使得在同一個鏈中,平行擴展的可能性基本缺失了。

而互聯網服務大多是無狀態的,數據可緩存可復用,請求和返回之間的步驟相對簡單,容易進行平行擴展,可以快速調度更多的資源參與服務,擁有無限的彈性。

7、因為區塊數據結構和共識機制特性,導致交易到了區塊鏈之后,會先排序,然后加入到區塊里,以區塊為單位,一小批一小批數據的進行共識確認,而不是收到一個交易立刻進行共識確認,比如:每個區塊包含1000個交易,每3秒共識確認一次,這個時候交易有可能需要1~3秒的時間才能被確認。

更壞的情況是,交易一直在排隊,而沒有被打包進區塊(因為隊列擁堵),導致確認時延更長。這種交易時延一般遠大于互聯網服務500ms響應的標準。所以區塊鏈其實并不適合直接用于追求快速響應的實時交易場景,行業通常說的“提高交易效率”是把最終清結算的時間都算在內的,比如把T+1長達一兩天的對賬或清計算時延,縮短到幾十秒或幾分鐘,成為一個“準實時”的體驗。

綜上所述,區塊鏈系統天生就背著幾座大山,包括單機內部計算開銷和存儲較大,背著串行計算的原罪,網絡結構復雜冗余度高,區塊打包共識的節奏導致時延較長,而在可擴展性上又難以直接增加硬件來平行擴容,導致scale up和scale out兩方面,都存在明顯瓶頸。

Scale Out(等同scale horizontally):橫向擴展,向外擴展,如:向原有系統添加一組獨立的新機器,用更多的機器來增加服務容量

Scale Up(等同Scale vertically):縱向擴展,向上擴展,如向原有的機器添加CPU、內存,在機器內部增加處理能力

直面區塊鏈的速度困境,FISCO BCOS的開發者發揮“愚公移山”的精神,努力優化。經過一段時間的努力,已經移山倒海,修出了一條又一條高速通道,使區塊鏈找到了邁向極速時代的路子(詳見下篇),這就是我們系列文章要深入解析的內容。

Tags:區塊鏈CALSCALEANK區塊鏈域名是什么意思CALIT幣Everscalelbank是哪個國家的交易所

pepe最新價格
區塊鏈數字藏品躥紅 資本玩家開打“獲客”價格戰_DIG:聯盟鏈

“數字藏品”熱度仍在蔓延。從去年互聯網巨頭螞蟻、騰訊相繼基于自家聯盟區塊鏈,推出數字藏品平臺開始,更多玩家也相繼涌入這一市場賽道.

1900/1/1 0:00:00
羅永浩:我要做的是AR 小扎VR元宇宙我是不信的_元宇宙:元宇宙虛擬人游戲

近日,羅永浩在微博發文進行了辟謠,并明確表示,自己即將進軍AR產業。 早在去年年底,羅永浩就已經在微博中透露,將在還完債務后重返科技行業,啟動元宇宙相關的新創業項目.

1900/1/1 0:00:00
Paradigm:沖向 Web3 世界的人才該如何理解薪資結構中代幣的價值?_PAR:PARMA幣

現如今,人才涌向專注 Web3 領域企業的趨勢已經顯而易見,那些曾就職于傳統互聯網巨頭、傳統金融機構以及頂級律師事務所的高素質人才正在涌入這一新興領域.

1900/1/1 0:00:00
Bilibili的元宇宙布局_元宇宙:元宇宙官方網站正規嗎

元宇宙近期在企業層面受到關注,國內外多家公司紛紛入局。其中,“All In”元宇宙被視為下一個增長點;微軟、英偉達、Unity等公司希望成為元宇宙的基礎建設者;騰訊希望從游戲入手,開拓元宇宙市場.

1900/1/1 0:00:00
交大教授盛斌:元宇宙熱潮是好事 它是學科進步的催化劑_人工智能:REAL幣

“現在國內外各界熱烈討論虛擬現實及元宇宙等概念是好事,也是推動相關學科進步的催化劑,但作為科學研究來說,我認為最重要的可能不在于某個技術或算法的本身本身的進步.

1900/1/1 0:00:00
手把手教你如何從以太坊橋接到Layer 2_LAYER:以太坊價格今日行情實時

Layer 2 技術優勢無需贅述,但如何把 Layer 2 橋接到像以太坊(Ethereum)這樣的 Layer 1 網絡,似乎沒有太多人了解呢?本文將提供一份詳盡指南.

1900/1/1 0:00:00
ads