編者按:本文內容源于2022年6月25日BSN月度說明會上邊界智能創始人曹恒對文昌鏈的匯報口述內容,會后邊界智能CTO奚海峰為內容增加了更為詳細的問題分析和分布式應用開發建議,本文因此成為一篇全面記錄文昌鏈經歷高并發過程的文章。
《金色深核》欄目認為開放聯盟鏈將會是中國Web3進程中的重要角色,其基礎設施應對互聯網級別并發的經驗也甚為重要,為此,將文章中進行后期編輯,以更為清晰的敘述過程,為關注開放聯盟鏈的讀者、開發者所用。
作者:曹恒、奚海峰,編輯:王航
背景:6月的并發高峰
6月29日,中國區塊鏈基礎設施BSN官方發布了一則數據,其NFT基礎設施BSN-DDC單日鏈上交易總數接近百萬次,超過了以太坊單日鏈上交易數。
BSN-DDC是由多個開放聯盟鏈組成的NFT基礎設施,以適應中國監管合規環境的特性塑造著與以太坊開源生態相似的應用多樣性。
由邊界智能搭建的的文昌鏈,是目前支持BSN-DDC運行的四條開放聯盟鏈之一,在6月,BSN鏈上數據爆發的表現中,文昌鏈鏈上數據爆發尤為突出。
據邊界智能創始人曹恒描述,截止到2022年6月21日19點18分,文昌鏈上活躍鏈賬戶數為645萬,以鏈上數據估算,上線應用近250個,進行測試對接的應用約300個。
而此時鏈上NFT技術支持的可信數據對象總數為797萬。通過歷史數據分析,所有可信數據對象中,55%產生于6月,約為442萬個。
金色財經行情播報丨BTC多頭反擊,均線MA5承壓:據火幣行情顯示,今日凌晨BTC下探8700USDT后多頭反擊開始反彈,隨后小幅上行蓄勢整理,16時再度拉升突破平臺,多頭發起反擊。日線圖均線MA5構成壓力;4小時圖多頭蓄勢,但價格距均線MA30較近,多頭恐承壓;1小時拉升后窄幅整理。截至18:30,主流幣的具體表現如下:[2020/5/27]
文昌鏈于2021年2月上線,免費穩定試運行一年后,于2022年3月份開始商業化運行,隨后文昌鏈的業務量已開始快速增長,從月度業務量翻倍到6月實現指數級增長。
而伴隨著6月業務量飛漲,618前后在并發高峰期,文昌鏈出現了卡頓、交易排隊的情況,區塊打包時間最高達到了30秒,有所影響用戶體驗。
隨后,BSN運維團隊紅棗科技和文昌鏈技術支持團隊邊界智能通力合作,在不停服的前提下對系統進行了緊急升級及優化。
調優后,正在以小于4秒的平均出塊時間平穩安全地運行。
問題:上鏈交易緩慢與優化思路
全球公鏈上的交易堵塞、等待問題很常見。文昌鏈在高并發情況下出現的此類問題,是區塊鏈在面對商業化應用中必然要面對的。
在傳統互聯網應用中,平臺方可以通過增加計算資源的水平擴展方式和挑戰任務并行分配方式來解決,有多大壓力,就用多大的計算資源解決。
而在區塊鏈上,尤其是在與公鏈同樣分布式結構的開放聯盟鏈上,其性能的優化、升級需要經歷相對復雜的過程。
性能問題公示
文昌鏈采用開放應用服務模式,支持多元應用生態。經技術團隊進行網絡性能分析,其問題和解決方案如下:
問題1:接收用戶交易的全節點跟共識節點之間的p2p連接不穩定,造成很多交易不能及時進入共識節點參與出塊。
金色晚報 | 2月29日晚間重要動態一覽:12:00-21:00關鍵詞:首爾、Tether、火幣公鏈、銷毀、FCoin
1. 河北出臺措施促進區塊鏈等數字技術應用。
2. 北京市地方金管局:推動建立區塊鏈企業電子身份認證信息系統。
3. 韓國首爾將于3月1日啟動區塊鏈請愿系統。
4. 杭州局不重復受理FCoin維權者案件,需回北京受理。
5. 英國央行副行長:Libra等穩定幣的崛起可能導致信貸枯竭影響整體經濟。
6. Tether近一周新增9500萬USDT。
7. 火幣上線公鏈測試網并宣布銷毀1.5億枚HT。
8. 張健:公布重啟FCoin以及FMex方案。
9. BTC現報8642美元,近24小時下跌0.71%,市值為1574.41億美元。[2020/2/29]
解決方案:優化全節點與共識節點之間p2p連接配置參數,提高連接穩定性。
解決狀態:已解決
問題2:全網交易量高峰時段,每個新區塊包含交易數很多,共識節點在廣播和校驗每個區塊上耗費時間變長,造成出塊間隙時間變長;雖然網絡整體吞吐量增加,但單個交易的上鏈延遲變長,用戶體驗到的上鏈等待時間變長。
解決方案:優化共識算法各階段超時時間配置參數,提高出塊速度。
解決狀態:已改善,還在持續優化參數和垂直擴展共識節點性能。
問題3:EVM相關交易因nonce錯誤而上鏈失敗,需要用戶重試。
解決方案:應用修改上鏈策略,每個發交易的鏈賬戶要串行發送交易,確保前一個交易的上鏈狀態確定后再發送下一個交易;若要提高交易并發性能,則可采用多個鏈賬戶并行發送交易。
解決狀態:已經發布更新的FAQ和代碼示例
金色晨訊 | 人民日報:鼓勵區塊鏈發展不等于一哄而上 搞惡性競爭;美國懷俄明州或將建立專門處理加密貨幣交易的銀行:1.平安金融壹賬通更新招股說明書,估值或大幅下降;
2.成都區塊鏈創業活躍度位列全國第六,到2020年規模將超過200億元;
3.中央財經大學鄧健鵬:法定數字貨幣能提高流通效率并節約流通費用;
4.中國政法大學劉少軍:法定數字貨幣在跨境支付領域具有極大潛力;
5.國家知識產權局王琳:我國區塊鏈專利超1200項,數量世界第一;
6.人民日報:鼓勵區塊鏈發展不等于一哄而上 搞惡性競爭;
7.21世紀經濟報道:國內資產通證化進程緩慢,監管部門的監管布局相對“滯后”;
8.螞蟻金服蔣國飛:區塊鏈的價值絕不在于發幣炒幣,而在于解決社會問題;
9.何寶宏:建議不要跟風投資,遠離打著區塊鏈旗號的騙局。
1.三菱UFJ將圍繞數字貨幣與日本互聯網巨頭Recruit成立合資公司;
2.美國懷俄明州或將建立專門處理加密貨幣交易的銀行;
3.新加坡金融管理局局長:期待中新兩國加強數字貨幣領域合作;
4.報告:安卓漏洞StrandHogg允許黑客竊取加密錢包信息;
5.西班牙銀行Bankia將推出旨在減少溫室氣體排放的區塊鏈項目;
6.德國第二大證券交易所成立區塊鏈技術和代幣化顧問委員會;
7.尤文圖斯足球俱樂部發行代幣,球迷可通過該代幣參與投票;
8.外媒:etherscan.io被中國互聯網防火墻阻止訪問;
9.12月2日,Bakkt比特幣期貨未平倉合約達到650萬美元,創歷史新高;
10.北歐聯合銀行禁止員工交易比特幣;
11.兒童救助會已經重新啟動其加密貨幣籌款平臺。[2019/12/4]
分析:為何開放聯盟鏈調優更為復雜?
開放聯盟鏈是結合了公鏈、聯盟鏈技術優勢,能支持非信任環境下的分布式公共賬本服務,其可以很好地支持商業級應用的合規需求和良好的應用開發體驗。
金色晚報 | 今日重要動態一覽:1.國家外匯局將重點研究推進跨境區塊鏈平臺新場景建設
2.上海市委書記李強:促進區塊鏈等新技術應用
3.中國一汽董事長徐留平:區塊鏈等新技術推進汽車產業增長發展
4.海南區塊鏈試驗區將發布「鏈上海南」計劃
5.海南首現由政府、銀行、企業參與數據監管的區塊鏈積分發行監管系統
6.北京互聯網法院:“天平鏈”電子數據存證數量超過1000萬條
7.當前在全國18個自貿試驗區中,已有15個自貿試驗區展開區塊鏈實踐
8.軟銀推出內置區塊鏈錢包的借記卡 目前僅在日本發售
9.Telegram被要求在12月16日赴倫敦作證GRAM不具備證券產品屬性
10.BTC當前價格為7300美元,今日最低跌至7150美元,最高漲至7474美元[2019/12/2]
因此,OPB的調優比公鏈、聯盟鏈都要復雜許多。
在傳統的互聯網中心化應用開發中,應用上線前要對數據庫進行規劃,包括分區,如何給數據表加讀寫鎖,索引等等。應用上線后,中心化數據庫的調優可能需要一個月甚至更長的時間,來監控應用訪問數據庫的模式,針對應用進行進一步的優化。
而相比中心化數據庫的調優,開放聯盟鏈的調優難度近乎是其20倍甚至以上。
區塊鏈應用,又稱分布式應用。所以有人說區塊鏈則是分布式數據庫,但區塊鏈的難度遠遠超越了分布式數據庫。
原因在于分布式數據庫的調優,比中心化數據庫增加了數據的同步、多階段提交以保持數據一致性以及網絡通訊優化等多方面的復雜步驟。
而區塊鏈相比分布式數據庫,除數據同步、保證數據一致性外,還需要保證網絡的安全性。
區塊鏈中以眾多節點來共同維護可信數據賬本。開放區塊鏈需要假定每一個節點都有作惡的可能性。因此需要識別作惡數據,并可以通過共識算法,對合法交易進行排序和正確執行,并將結果分布式可信地寫入賬本。
金色財經現場報道 Seele CEO:未來區塊鏈最佳應用場景是金融行業:金色財經現場報道,今日在哥倫比亞大學舉行的CryptoASIA峰會上,Seele CEO鄭茂林博士表示,他認為未來區塊鏈最佳應用場景是金融行業,金融本身就已經是數字化的了。雖然許多銀行業的職位會因此消失,但這些人才可以轉至區塊鏈行業。[2018/5/13]
在這個過程中:
共識算法可以保證分布式節點以block方式組成鏈式數據,并保證當有惡意請求、網絡不可靠或者黑客攻擊的情況下,算法依然可以準確無誤地運行。
共識協議的執行,會產生相比分布式數據庫更多的網絡通訊,需要協調更多節點的信息以及本地運算結果的全網同步。
在這樣復雜的過程里,也代表著,優化區塊鏈是優化分布式數據庫、中心化數據庫的難度的10倍、20倍。
在這樣的理解基礎上再看OPB。兼顧公鏈和聯盟鏈特性,讓開放聯盟鏈帶來了創新性,為開發者和用戶帶來了友好體驗,但也讓開放聯盟鏈的參數調優比一般的公鏈或者聯盟鏈更難。
在公有鏈上,應用開發者管理自己的節點,根據自己的應用特性優化節點。在聯盟鏈上,普通聯盟鏈一般服務封閉生態的1~2個應用,通過統一中心化的API服務支持應用。
而開放聯盟鏈要面對開放多元的應用讀寫需求,相比公鏈和聯盟鏈,OPB面對的是更多不確定的應用訪問模式,也擴大了其優化的參數范圍。并且在保證安全、開放的基礎上,還要保證高性能要求。
文昌鏈基于Cosmos/Tendermint共識技術開發,兼顧開放、安全、合規、高性能等方面,在調優上不只是幾個參數的調整,及簡單數據索引的變化,要涉及記賬節點和全節點的網絡拓撲,共識速度,甚至不同節點的讀寫帶寬,不同通訊類型信息的帶寬分配等等。
在過去618的應用高峰期,在調優的過程中,文昌鏈為了保證網絡不停服,選擇循序漸進的一個節點一個節點地調整。雖然單個節點調整、重啟的過程也會影響文昌鏈暫時的性能。但即使網絡體驗會有些許延遲,也能保鏈賬本正確、鏈資產安全以及鏈安全持續運行。
后續:正在進行的優化迭代
除了上面實施的方案,文昌鏈經歷了此次高并發后,邊界智能團隊還梳理了多個層次的優化策略,主要包括:
1.節點配置拓撲的優化:在測試網絡驗證后,正在文昌鏈上部署,后續還將持續優化;
2.Tendermint共識對于EVM的優化:文昌鏈支持Cosmos原生NFT也支持以太坊虛擬機NFT,已經找到了Tendermint共識對于EVM優化的方式。未來邊界智能會驗證后協調全球相關開源開發者一起驗證,預計需要1個多月的時間;
3.多全節點分級的拓撲結構設計:BSN網絡計劃下半年向社區開放全節點部署,有能力的廠商可自行部署全節點,邊界智能已經開始和紅棗科技團隊協同,部署BSN環境外的全節點,并已經在支持AVATAAPI服務;
4.多語言SDK優化以及AVATA服務性能優化:圍繞上述幾點,邊界智能已在SDK和AVATAAPI服務上進行優化,計劃一個月內會在SDK及AVATA中添加包含更多最優實踐的實現,提供更多方便的開發接口供應用者使用;
5.節點歷史數據壓縮:文昌鏈的數據增長很快,目前已經有節點數據壓縮技術,計劃兩個月內完成其圍繞瀏覽器和相關支持工具的開發和測試;
6.二層網絡:邊界智能已經在其他大規模網絡上實現了二層網絡的技術,通過二層網絡技術,可滿足應用數萬級別的TPS需求。未來幾個月中會完成其相關支持工具的開發和測試,同時和BSN一起探索其商業化業務模式,以保證一旦有業務需求,就可以及時上線二層網絡。
實踐建議:如何開發最優的分布式應用
分布式應用又被稱為Web3應用,是基于區塊鏈的下一代互聯網應用。分布式應用如果希望成為用戶體驗良好,成本優化的應用,需要基于區塊鏈系統的特性去實現。
區塊鏈系統特性如下:
1.網絡狀況決定交易處理/上鏈速度:多個區塊鏈節點根據共識算法對需要上鏈的事務(transaction,也稱為交易)根據請求先后順序排序,并在各個節點中分布式執行;節點的內存池容量有限,當事務多的時候,可能出現節點忙于其他計算,等待處理的事務無法進入內存池,因此無法得到及時處理并上鏈的情況,因此應用會需要鏈外維護隊列排隊,并對上鏈失敗的事務重試;
2.網絡費用:任何涉及鏈上數據變化的事務(交易)都會產生一定的網絡費用;
3.計算需求:對于不同類型的交易而言,根據其需要的計算資源,節點處理速度也不同;
4.多筆交易:每筆交易網絡都需要驗證,因此對多次請求而言,打包成一筆交易會比多筆交易的處理速度更快、消耗GAS更少;
5.本地狀態:在共識過程中,或因為網絡通訊有延遲,區塊鏈各個節點可能出現狀態不一致,因此分布式應用自己的狀態變量最好采取自己本地維護的方式,而不是每次都到鏈上獲取。分布式應用也不能像中心化應用一樣假定你發送的鏈上事務一定會在確定時間內完成。例如文昌鏈網絡暢通時一般出塊時間在3秒~10秒間,但如果堵塞的時候就會要等待比較多的區塊,等待交易被驗證打包。
基于這些特性的理解和實踐,有以下幾點經驗之談:
1.業務流程:一些比較費資源的、計算量大的業務,例如NFT鑄造,業務流程上可以設計為提前鑄造,這樣其他的場景,例如用戶領取NFT時,就只有鏈上轉賬交易,會快很多;
2.業務設計:可以學習優秀數藏應用的業務設計。例如鯨探近期開始避免秒殺活動,讓用戶邀請好友助力來獲取購買的資格。這樣的設計增強了用戶的社交性,更有趣,用戶不用掐點去搶,體驗好了許多,還避免了系統的高并發;
3.鏈賬戶創建:為了用戶體驗良好,一般都是應用托管用戶的鏈賬戶,并替用戶支付GAS費用。應用則可以提前準備申請好鏈賬戶,并完成GAS費代付的鏈上授權,這樣應用用戶注冊時,應用只在應用系統中進行分配即可,也就是進行應用的本地計算,不用等待鏈上響應。
4.上鏈時間選擇:避免在網絡繁忙的時候進行大批量的鏈上交易提交,開放聯盟鏈是開放地支持數百個應用。建議提前計劃需要大量產生鏈賬戶、NFT鑄造等鏈上事務的執行,留出工作時間余量。文昌鏈提供了非常完善的區塊鏈瀏覽器,可以通過瀏覽器非常方便地查看當前網絡繁忙情況。出塊時間和最近區塊包含的交易筆數可以反映網絡擁堵程度,可以提前去瀏覽器了解相關情況,避開鏈繁忙的高峰時間。
5.上鏈方式:把多個事務信息打包在一個交易中,又快又省GAS。可以參考文昌鏈SDK以及API服務AVATA中的multi-msg方法。
6.本地應用狀態維護:上鏈操作是無法實時返回結果的,因此建議應用自己離線維護sequence/nonce或本地保存operationid。
編者結語
中國的開放聯盟鏈目前已經有很多條,除了BSN體系內的泰安鏈、文昌鏈等,BAT各有Xuperchain開放網絡、螞蟻鏈開放網絡、騰訊至信鏈等。
這些開放聯盟鏈,與FISCOBCOS、長安鏈主張開源的聯盟鏈相比,其更符合“在一條鏈應用百花齊放”的多元生態愿景,也是應用開發者“放棄重復建鏈”“選擇合規”后更為友好的選擇。
相應的,基于各家的技術不同,幾家開放聯盟鏈也通過網絡架構、基礎協議、API平臺、業務模塊等具備各自的開發優勢。
例如文昌鏈是基于Cosmos企業版IRITA開發的,基于Tendermint共識引擎,并兼顧Cosmos的模塊化特點,支持非常多的業務模塊。
在本文提及的BSN-DDCNFT業務上,文昌鏈原生NFT兼容以太坊EVMNFT,并且執行性能優于EVM。原生NFT還具有feegrant的代付GAS費功能,目前該模塊正在適配DDC接口。
此外,為了降低開發者的接入難度,文昌鏈也已經推出API服務平臺AVATA,AVATA平臺封裝了多種鏈上最優實踐。
這恰恰體現了,在不斷壯大的行業需求下,開放聯盟鏈在不斷降低門檻,不斷為開發者建立一個技術上更便捷更低成本的環境,以求得應用規模快速發展,以引導行業變革。
在中國區塊鏈快速發展的過去6年里,中國區塊鏈的ToB產品和ToG產品已經具備龐大的規模,借助ToB產品和ToG產品在技術上的發展速度,開放聯盟鏈出現后體現了自主可控、安全、合規等技術特點,更補足了原來區塊鏈應用在ToC方向的不足,我們在全球公鏈上看到的多元盛景,將有機會以另一種形式實現。
敬請期待。
Tags:聯盟鏈區塊鏈NFT聯盟鏈幣是什么幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢NFT價格NFT幣
作者:NewsReport,BEINCRYPTO;編譯:松雪,金色財經全球最大的資產管理公司貝萊德建議最佳投資組合配置為84.9%的比特幣.
1900/1/1 0:00:00文/DonovanChoy,Bankless作者;譯/金色財經xiaozou如果你曾通過中心化交易所進入加密領域,那么你可能間接使用過Silvergate銀行.
1900/1/1 0:00:00有這樣一個故事,風吹動著寺廟前的幡,嘩啦啦地飄。當時,有二僧正討論這一問題,甲僧說:“這是風在動。”乙憎說:“這是幡在動。”慧能聽到后,便上前說道:“依我看這既不是風動,也不是幡動,而是心動.
1900/1/1 0:00:00比特幣之遠離內幕消息的誘惑 小道消息從古到今天一直都是最具吸引力的,因為它滿足了公眾的好奇心,這也造成了小道消息成為了普遍現象,特別是幣圈所謂內幕消息更是泛濫不止,尤其是幣世界和金色財經.
1900/1/1 0:00:00BTC結束了過去一個月的小箱體震蕩區間,此次是小陽線穿過擋板區間,只是小分隊過來,目前還不能作為行情的一個向下的反轉信號,但接下來的三天內仍然需要小心市場的變化,回到上面則是對所有一切的否定.
1900/1/1 0:00:00「咖說V講」系列,原汁原味地匯集國際咖級名流的數字經濟與投資觀點,閱讀者盡可以智者見智,取法其上,健壯成長.
1900/1/1 0:00:00