比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

開放聯盟鏈性能調優以及 Web3 應用開發的最優實踐_聯盟鏈

Author:

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

編者按:6月以來,文昌鏈上業務量飛漲,618高峰期出現了卡頓、交易排隊的情況。BSN運維團隊紅棗科技和文昌鏈技術支持團隊邊界智能通力合作,在不停服的前提下進行了系統的緊急升級及優化。6月24日,邊界智能創始人曹恒出席BSN紅棗CEO月度說明會,向文昌鏈應用開發者直播分享了網絡調優進展以及文昌鏈開發最優實踐。截至本文發出時,文昌鏈已經完成第一層次的調優,正在以小于4秒的平均出塊時間平穩安全地支持著近250個分布式商業應用的運行。本文在24日的直播內容基礎上,由邊界智能CTO奚海峰做了更為詳細的問題分析及分布式應用開發的建議,相信對于開放聯盟鏈的網絡運維及基于NFT技術開發Web3代表應用的開發者都會很有幫助。

如何理解目前文昌鏈的繁忙程度?

文昌鏈于2021年2月上線,免費穩定試運行了一年后,于今年3月份開始商業化運行。今年3、4月份開始,文昌鏈的業務量已開始快速增長。剛開始是每個月度業務量翻倍,而最近幾周觀察到每星期業務量也呈現指數級增長。

截止到2022年6月21日19點18分,文昌鏈上活躍鏈賬戶數達645萬,根據鏈上數據估算上線應用近250個,當前在進行測試對接的應用約有300個。

截止到6月21日,文昌鏈鏈上NFT技術支持的可信數據對象總數已達797萬,其中有一半以上是在6月的前3個星期產生。也就是僅6月份的前21天,文昌鏈上就生成了442萬的可信數據對象。

給大家一些比較直觀的數據幫助理解這個業務量的規模,可以參考一下業界另外一條優秀的開放聯盟鏈的數據。據騰訊標準官方賬號6月23日發布的信息,騰訊旗下的開放聯盟鏈——至信鏈2021年6月上線,截止到今年5月,其在運營一年時間,支持了超過百余個平臺,總用戶數超過300萬,發行的數字藏品超過500萬。現在文昌鏈的鏈賬戶數645萬,6月前3周的數據來看,對應數字藏品442萬。

BSN開放聯盟鏈成都鏈已上線:金色財經報道,近日,區塊鏈服務網絡BSN表示,開放聯盟鏈成都鏈已在BSN環境內上線,這是基于BSN環境上線的第9條開放聯盟鏈。BSN開放聯盟鏈(簡稱OPB)包括多條基于公有鏈框架和聯盟鏈框架搭建的公用鏈,此次上線的成都鏈是基于公鏈Casper框架進行合規化改造而來。[2022/12/15 21:46:38]

對于目前的暫時出現的性能問題,大家不用擔心,邊界智能在多年的行業實踐中支持過許多大規模開放區塊鏈網絡和高性能分布式商業應用。我們對于包括縱向擴容和橫向擴容等多種優化方法都非常熟悉并有豐富實踐的經驗。我們會根據業務的發展不斷調優。當前我們正在測試環境中,對一些新的拓撲進行測試,并與紅棗科技的團隊一塊協同正逐步在生產網絡上部署。經過去近一周時間的優化,網絡性能已經有所提升,當然確實還需要時間去和快速增長的業務量實現完全匹配。這里也和大家分享一下,為什么開放聯盟鏈的調優不是幾個小時乃至幾天就能完成的工作。

為何開放聯盟鏈的調優更為復雜?

開放聯盟鏈是結合了公鏈和聯盟鏈的技術優勢,能支持非信任環境下分布式公共賬本服務,并能很好地支持商業級應用需要的合規及良好的應用開發體驗。

OPB的調優比公鏈、比聯盟鏈都要復雜許多。

區塊鏈應用,又叫分布式應用。我們過去一年來服務在座的開發同學,有一個感覺文昌鏈上大約90%+的開發者,之前并沒有分布式應用的開發經驗。所以大家會對中心化系統更了解一些,所以我先用中心化應用針對的中心化數據庫調優為例,讓大家有個直接的感受。然后我會給大家分析,為什么我說相比中心化數據庫的調優,開放聯盟鏈的調優難度是其20倍以上。

對于需要支持高并發讀寫的中心化應用,應用上線前就要對數據庫進行規劃,包括分區,如何給數據表加讀寫鎖,索引等等。應用上線后,中心化數據庫的調優可能還需一個月甚至更長的時間,監控應用訪問數據庫的模式,針對應用進行進一步的優化。

現場 | 何亦凡:BSN開放聯盟鏈可以和相應的公鏈進行數據交互 但無法轉移資產:金色財經現場報道,BSN開放聯盟鏈項目全球啟動儀式今日在京舉行。紅棗科技CEO何亦凡在啟動儀式上表示,BSN將推出20-30條由國際知名公鏈改造而成的開放聯盟鏈,BSN開放聯盟鏈名字使用國內三線到五線地級市名稱,2021年上半年BSN開放聯盟鏈之間、和BSN標準聯盟鏈之間可以互聯互通,甚至可以和國內其他聯盟鏈互聯互通。此外,在可管可控前提下,通過BSN香港節點,BSN開放聯盟鏈可以和相應的公鏈進行數據交互,但無法轉移資產。[2020/9/27]

有人說區塊鏈是分布式數據庫,這是不準確的,我必須說區塊鏈遠遠超越了分布式數據庫。但就是分布式數據庫的調優,也比中心化數據庫增加了數據的同步、多階段提交保持數據一致性,還有網絡通訊優化等多方面的復雜度。

區塊鏈相比分布式數據庫,要解決的可不只數據同步、保證數據的一致性。區塊鏈中共同維護可信數據賬本的是節點。開放的區塊鏈會假定每一個節點都有可能作惡,有可能給你帶來錯誤的賬本數據,甚至篡改數據。所以,它有一套非常嚴謹的讓作惡的數據被識別,能在多節點中通過共識算法,對合法的交易進行排序和正確執行,并將結果分布式可信寫入賬本。共識算法可以保證分布式節點以block方式組成鏈式數據,在有惡意請求、網絡不可靠或者黑客攻擊的情況下,依然可以準確無誤地運行。共識協議的執行,會產生相比分布式數據庫更多的網絡通訊,需要協調更多節點的信息以及本地運算結構的全網同步。正因為此,優化區塊鏈比優化分布式數據庫、中心化數據庫的難度高了不止10倍的量級。

現在大家應該理解了:就是一般區塊鏈系統調優已經很不容易,讓我們來看看OPB。開放聯盟鏈帶來了創新性,為開發者和用戶帶來了友好體驗,但它也給我們帶來了新的挑戰:開放聯盟鏈的參數調優比一般的公鏈或者聯盟鏈還要更難。在公有鏈上,應用開發者自己管理自己的節點,根據自己的應用特性優化節點。在聯盟鏈上,一般聯盟鏈都是服務自己封閉生態的1~2個應用,而且大多通過統一中心化的API服務支持應用。開放聯盟鏈的優化,面對著開放多元的應用讀寫需求。相比公鏈和聯盟鏈,OPB面對的是更多不確定的應用訪問模式,其優化參數空間比公鏈和聯盟鏈都大大擴大。在保證安全、開放的基礎上,還要支撐它的高性能要求,這是一個挑戰。

現場 | 高潮:BSN開放聯盟鏈計劃搭建24條開放聯盟鏈 Gas費使用人民幣:金色財經現場報道,BSN開放聯盟鏈項目全球啟動儀式今日在京舉行。火幣集團DeFi實驗室運營負責人高潮在儀式上介紹了BSN開放聯盟鏈。他表示,BSN開放聯盟鏈計劃搭建24條開放聯盟鏈,均基于國際知名公有鏈架構改造。監管方面會建立嚴格的準入和監管機制,國家有關部門可以對違規的BSN開放聯盟鏈進行下架處理,整改審核通過后再上架。節點方面,開放聯盟節點部署在BSN國內公共城市節點內,啟動時每個開放聯盟鏈部署5-10個節點。Gas方面,開發者在BSN門戶內必須使用人民幣充值,再用人民幣購買能量值的方式支付應用相關費用。[2020/9/27]

文昌鏈基于業界領先的Cosmos/Tendermint共識技術開發,同時結合邊界智能支持合規高性能的企業級應用的工作,在開放、安全、合規等方面,有諸多先進性,它讓web2的開發者也能體驗良好地開發web3應用。但確實其調優不只是幾個參數的調整,及簡單數據索引的變化,涉及到記賬節點和全節點的網絡拓撲,共識速度,甚至不同節點的讀寫帶寬,不同通訊類型信息的帶寬分配等等。

尤其過去的618這一周,我們在調優的過程中,為了保證網絡不停服,都是一個節點一個節點地調。當一個節點調整、重啟的過程,也會影響文昌鏈暫時的性能。但大家放心,網絡有時是慢了一些,但文昌鏈確保鏈賬本正確、鏈資產安全、鏈安全持續運行。

618前后這周上鏈交易慢主要是以下三個方面原因造成

我們在采用更為開放的應用服務模式,支持著更為多元的應用生態。技術團隊第一時間發現性能問題后展開了網絡分析,并已經實施了相應的解決方案:

問題:接收用戶交易的全節點跟共識節點之間的p2p連接不穩定,造成很多交易不能及時進入共識節點參與出塊解決方案:優化全節點與共識節點之間p2p連接配置參數,提高連接穩定性解決狀態:已解決問題:全網交易量高峰時段,每個新區塊包含交易數很多,共識節點在廣播和校驗每個區塊上耗費時間變長,造成出塊間隙時間變長;雖然網絡整體吞吐量增加,但單個交易的上鏈延遲變長,用戶體驗到的上鏈等待時間變長解決方案:優化共識算法各階段超時時間配置參數,提高出塊速度解決狀態:已改善,還在持續優化參數和垂直擴展共識節點性能問題:EVM相關交易因nonce錯誤而上鏈失敗,需要用戶重試解決方案:這個「問題」需要應用修改上鏈策略,每個發交易的鏈賬戶要串行發送交易,確保前一個交易的上鏈狀態確定后再發送下一個交易;若要提高交易并發性能,則可采用多個鏈賬戶并行發送交易解決狀態:已經發布更新的FAQ和代碼示例

直播 | 螞蟻區塊鏈開放聯盟鏈正式發布:金色財經報道,4月16日下午14:00,螞蟻區塊鏈“開放聯盟鏈”面向中小企業和開發者發布,助推全民入鏈。螞蟻區塊鏈平臺產品部總經理金戈在會上指出,過去兩年中我們實現了從技術創新到商業創新,在供應鏈金融、貿易金融、物流金融、司法、版權、票據等各個行業建立了行業聯盟鏈。實現了商業模式的創新。今年我們將行業聯盟鏈的能力開放給更多的企業,百萬開發者的加入將催生更多的場景和DApp的出現,最終實現生態化的發展目標。更多詳情見原文鏈接。[2020/4/16]

我們正在進行哪些優化迭代計劃?

除了上面實施的方案,過去這一周我們還梳理了多個層次的策略,主要包括:

節點配置拓撲的優化——完成在測試網絡的驗證,正在文昌鏈上部署,后續還在繼續優化;

Tendermint共識對于EVM的優化——文昌鏈支持Cosmos原生NFT也支持以太坊虛擬機NFT,我們已經找到Tendermint共識對于EVM優化的方向。但是共識算法的優化是非常嚴謹的工作,我們會驗證后同時協調全球相關開源開發者一起驗證。這個工作預計需要1個多月的時間;

多全節點分級的拓撲結構設計:BSN計劃下半年向社區開放全節點部署、支持有能力的廠商自行部署全節點做好準備;邊界智能已經開始和紅棗團隊協同,開始部署BSN環境外的全節點并已經在支持AVATAAPI服務;我們也在將這樣的全節點部署最優實踐形成設計指導文檔,方便未來有能力的應用方自己擁有自己的全節點,這也能大大改善應用訪問網絡的可靠性;

多語言SDK的優化以及AVATA服務性能的優化:圍繞上述幾點,我們在對于SDK和AVATAAPI服務進行優化,方便應用方能有體驗良好的開發工具和支持資源。我們計劃一個月內會在SDK及AVATA中添加包含更多最優實踐的實現,提供更多方便的開發接口方便應用者使用;

直擊烏鎮 | 螞蟻金服開放聯盟鏈正式開放公測:金色財經現場報道,2019年11月8日,第二屆世界區塊鏈大會于烏鎮隆重開幕。在會議現場,螞蟻金服資深總監李杰力以《開放、普惠,共建未來價值互聯網絡》為主題進行了演講。他表示,螞蟻金服在做的事情是連接現有產業,資產,發展未來的價值網絡的,螞蟻金服最終的服務人群是中小企業和個體。基于此螞蟻金服有一個新構想:開放聯盟鏈,一個低成本、低門檻開放普惠的區塊鏈服務網絡。

同時,他宣布,在今天螞蟻金服開放聯盟鏈正式開放公測。預計在2020年2月正式發布開放聯盟鏈。[2019/11/8]

節點歷史數據壓縮:文昌鏈的數據增長很快,我們已經有節點數據壓縮的技術,計劃兩個月內完成其圍繞瀏覽器,相關支持工具的開發和測試;

二層網絡:我們已經在其他大規模網絡上實現了二層網絡的技術,我們計劃未來幾個月中完成其相關支持工具的開發和測試,同時和BSN一起探索其商業化業務模式,這樣一旦有業務需求,就可以上線二層網絡。通過二層網絡技術,滿足應用數萬級別的TPS需求就變得毫無問題。

開發分布式應用有哪些最優實踐建議?

分布式應用大家又叫Web3應用,是基于區塊鏈的應用,是下一代互聯網應用。分布式應用如果希望能提供用戶體驗良好,成本優化的應用,大家需要了解一些區塊鏈系統的特性:

網絡狀況決定交易處理/上鏈速度:多個區塊鏈節點根據共識算法對需要上鏈的事務(transaction,也可以稱為交易)根據請求先后順序排序,并在各個節點中分布式執行;節點的內存池容量有限,當事務多的時候,可能出現節點忙于其他計算,等待處理的事務無法進入內存池,因此無法得到及時處理并上鏈的情況,因此應用會需要鏈外維護隊列排隊,并對上鏈失敗的事務重試;任何涉及鏈上數據變化的事務(交易)都會產生一定的網絡費用;對于不同類型的交易而言,根據其需要的計算資源,節點處理速度也不同;每筆交易網絡都需要驗證,因此對多次請求而言,打包成一筆交易會比多筆交易的處理速度更快、消耗GAS更少;在共識過程中,或者就是因為網絡通訊有延遲,大家需要理解區塊鏈的各個節點可能會出現狀態不一致,因此分布式應用自己的狀態變量最好自己本地維護,而不是每次都到鏈上獲取。然后分布式應用也一定不能像中心化應用一樣假定你發的鏈上事務一定會在確定時間內完成。文昌鏈網絡暢通時一般出塊時間在3秒~10秒間。但如果堵塞的時候就會要等待比較多的區塊了。

理解了這些特性,有些竅門分享:

業務設計:(1).一些比較費資源的需要計算量大的業務,比如NFT鑄造,如果可以設計業務流程為提前鑄造;需要更好響應的場景,比如應用用戶領取NFT時,就是鏈上的轉賬交易,就會快許多;(2).也可以看看一些優秀的數藏應用和它們學習好的業務設計。最近看到鯨探就開始避免秒殺活動,而是讓用戶邀請好友助力來獲取購買的資格。這樣的設計增強了用戶的社交性,更有趣,用戶不用掐點去搶刷手機,體驗好了許多,還避免了系統的高并發;(3).鏈賬戶創建:現在為了用戶體驗良好,一般都是應用在托管用戶的鏈賬戶,并替用戶支付GAS費用。應用可以提前準備申請好鏈賬戶,并完成GAS費代付的鏈上授權。等到應用用戶注冊時,應用只用在應用系統中進行分配。這就是應用的一個本地計算,不用等待鏈上的響應。上鏈時間的選擇:避免在網絡繁忙的時候進行大批量的鏈上交易提交,大家需要記住開放聯盟鏈是開放地支持數百個應用。建議提前計劃需要大量產生鏈賬戶、NFT鑄造等鏈上事務的執行,給自己留出工作時間余量。文昌鏈提供了非常完善的區塊鏈瀏覽器,可以通過瀏覽器非常方便地查看當前網絡繁忙情況。出塊時間和最近區塊包含的交易筆數可以反映網絡擁堵程度,可以提前去瀏覽器了解相關情況,避開鏈繁忙的高峰時間。上鏈方式:上面談到了把多個事務信息打在一個交易中,又快又省GAS。可以看文昌鏈SDK以及API服務AVATA中的multi-msg方法。本地維護應用狀態:上鏈操作是沒法實時返回結果的,一個好的實踐是應用自己離線維護sequence/nonce或本地保存operationid。

上面這些具體的實施,都可以到文昌鏈的GitHubFAQ找到樣本。另外應用開放者還可以通過官網/公眾號找到我們加入文昌鏈技術開發社區群。在技術社區群,我們會經常分享這些最優實踐,開發者有的問題也可以問邊界的技術同事,社區開發者中也不乏高手熱情地給大家幫助。

文昌鏈是基于非常先進的Cosmos企業版IRITA開發的,Cosmos的架構支持多模塊,文昌鏈上的NFT包括原生模塊的原生NFT也有以太坊EVMNFT。原生NFT直接執行在區塊鏈的狀態機,比EVMNFT性能要好許多。同時原生NFT還具有feegrant的鏈上功能,可以讓大家開發非常省力,用戶體驗好而且還省GAS費。剛才何總也分享了BSNDDC會在7月份上線這樣的GAS費代付功能,可以對網絡優化有不少幫助。現階段文昌鏈原生NFTfeegrant的能力已經生產環境運行近4個月了。大家如果沒有特別自己需要定制的智能合約開發,可以優先試一試原生NFT模塊。文昌鏈原生NFT也正在適配DDC接口。具體原生NFT,EVMNFT還有DDC的關系,可以下次和大家說明分享。

另外對于開發分布式應用不是很有經驗的開發者,我還想請大家關注文昌鏈的API服務平臺AVATA,上面提到的最優實踐如果你自己開發太費力的話,可以考慮直接使用AVATA而不是SDK來接入。AVATA已經封裝了上述的最優實踐,而且對于鏈外排隊,超時重試方面也都做了服務優化,會很省大家的力氣。

總之,大家有任何問題都歡迎通過邊界智能的自媒體渠道找到我們,加入文昌鏈開發者社區群。大家可以互相幫助,不斷切磋打造可信、安全且用戶體驗良好的分布式應用。

*本文內容源于2022年6月24日BSN文昌鏈月度說明會曹恒女士分享,后經補充細化,與讀者共享。

Tags:NFT聯盟鏈區塊鏈NFT價格NFT幣聯盟鏈幣是什么幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢

比特幣交易所
以太坊2.0:稱為幣圈之光,有望帶領幣圈熊轉牛?_元宇宙

近期的以太坊的漲幅比較可觀,這樣的行情讓大家情緒高漲,有種以太坊能帶動這次牛市的錯覺。你也看到了我說的是錯覺,那說明事實不是這樣一回事,有幣圈的資深人士明確的表示,這種短暫的回彈并不能開啟牛市.

1900/1/1 0:00:00
醫美填充針劑行業專題研究:從發展路徑和生命周期看機會_CAG

1.溯本追源,醫美填充針劑大有可為根據《醫療美容服務管理辦法》,醫療美容是指運用手術、藥物、醫療器械以及其他具有創傷性或者侵入性的醫學技術方法對人的容貌和人體各部位形態進行的修復與再塑.

1900/1/1 0:00:00
24節氣金銀紀念幣來了,想要嗎?_300

中國人民銀行定于2022年8月7日發行二十四節氣金銀紀念幣一套。該套金銀紀念幣共28枚,其中金質紀念幣4枚,銀質紀念幣24枚,均為中華人民共和國法定貨幣。 一、紀念幣圖案 正面圖案.

1900/1/1 0:00:00
二十四節氣(光陰的故事)金銀紀念幣來啦!_ATM

中國人民銀行定于2022年8月7日發行二十四節氣金銀紀念幣一套。該套金銀紀念幣共28枚,其中金質紀念幣4枚,銀質紀念幣24枚,均為中華人民共和國法定貨幣。 一、紀念幣圖案 正面圖案.

1900/1/1 0:00:00
「打擊防范養老詐騙」虛擬幣投資10倍收益?當心!這是陷阱!_APP

虛擬幣投資悄然興起,一些不法分子利用老年人接觸新事物少、防范意識薄弱、貪圖便宜等特點,以虛擬幣為幌子伺機進行詐騙.

1900/1/1 0:00:00
石幣說_數字貨幣

位于西太平洋加羅林群島最角落的雅浦島是一個“石幣之島”,在那里流通著一種名為“斐”的石幣,其地位之穩固甚至超過了美元.

1900/1/1 0:00:00
ads