以太坊交易所 以太坊交易所
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開放聯盟鏈“延安鏈”即將發布:金色財經報道,定于2023年6月9日在湖北省武漢市召開的“第二屆區塊鏈服務網絡(BSN)全球技術創新發展峰會”上,區塊鏈服務網絡(BSN)將正式發布一條全新的開放聯盟鏈“延安鏈”。BSN延安鏈的定位是一條官方應用治理鏈,專門用于提供來自權威機構并具有公共服務屬性的分布式應用。

BSN延安鏈搭建在BSN-DDC基礎網絡上,在公開、透明等優勢上與DDC網絡上的其他開放聯盟鏈保持一致。按照計劃,BSN延安鏈上首批將會部署多個試點應用,包括分布式實名認證服務、區塊鏈實時運行認證服務、全網分布式域名服務、BSN-DID服務和實名制私鑰托管服務,多家權威機構將會參與這些試點應用的運營和管理。[2023/6/1 11:52:18]

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

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

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

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

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

BSN開放聯盟鏈將延期至12月下旬上線:BSN開放聯盟鏈發布運營計劃說明,原計劃2020年11月中旬上線將改為12月下旬上線。并在2021年全年,所有上線的BSN開放聯盟鏈必須向開發者免費提供服務,該免費政策將于2021年12月31日結束。[2020/10/12]

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

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

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

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

現場 | BSN開放聯盟鏈公布首批聯盟鏈成員:金色財經現場報道,BSN開放聯盟鏈項目全球啟動儀式今日在京舉行,并公布首批6個聯盟鏈成員:Polkadot、Tezos、Algorand、Cosmos、Ethereum、火幣公鏈。此外,上線后具體聯盟鏈名字以中國城市命名。[2020/9/27]

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

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

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

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

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

螞蟻鏈開放聯盟鏈宣布將持續在全國招募合作伙伴:8月28日,螞蟻鏈、阿里云聯合主辦的“鏈×云”城市峰會上,螞蟻鏈開放聯盟鏈宣布將持續在全國招募合作伙伴。現場,近20家企業進行簽約,正式成為螞蟻鏈開放聯盟鏈節點合作伙伴。 (螞蟻鏈)[2020/8/29]

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

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

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

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

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

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

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

螞蟻區塊鏈開放聯盟鏈將在4月16日正式啟動商業化:金色財經消息,螞蟻區塊鏈開放聯盟鏈將于4月16日啟動開放聯盟鏈的直播活動,并將啟動正式商業化。螞蟻區塊鏈已公布面向中小企業和開發者啟動福利政策,目標在于推進全民共享區塊鏈,將在4到6月正式啟動全民上鏈全民享活動,包括所有用戶可以首次免費獲得開放聯盟鏈的支持2000筆常規交易的福利等。螞蟻區塊鏈開放聯盟的參與成員包括Mixmarvel、白色矩陣、成都鏈安等公司。據此前報道,區塊鏈開放聯盟由螞蟻金服旗下的區塊鏈品牌螞蟻區塊鏈于2019年推出,于2019年11月8日開放邀請制公測,旨在建立低成本、低門檻、開放普惠的區塊鏈服務網絡。(螞蟻區塊鏈官網)[2020/4/15]

二層網絡:我們已經在其他大規模網絡上實現了二層網絡的技術,我們計劃未來幾個月中完成其相關支持工具的開發和測試,同時和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幣聯盟鏈幣是什么幣區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢

以太坊價格今日行情
nft網絡用語是什么意思(淺析表圈的NFT到底是什么)_BAT:NBA價格BAT幣

就算是不關心流行趨勢的小伙伴,從去年以來應該也沒少被元宇宙、虛擬世界、nft這些高頻詞所刷屏,尤其這才剛剛年頭,NFT就已經成為了今年表圈最重要的“議題”之一.

1900/1/1 0:00:00
幣圈起伏眾生相_比特幣:KXA

“如果人生能夠重來,我一定不會選擇進入幣圈。”回望過去三年的經歷,幣圈用戶張茂的講述中充滿了沉重的懊悔。幣圈方一日,世上已千年,這是市場為以比特幣為代表的虛擬貨幣交易市場打上的標簽.

1900/1/1 0:00:00
阿婆擬投資27萬元“炒幣”,在銀行被民警攔住_APP:40億比特幣能提現嗎

本文轉自:臺州日報 本報記者顏敏丹本報通訊員裘嫻婧近幾年,一些不法分子打著炒“虛擬貨幣”可以賺大錢的旗號,欺騙投資者,尤其是老年人。但是只要入了套,結局是血本無歸,甚至傾家蕩產.

1900/1/1 0:00:00
加密貨幣錢包者 SpaceX狗狗幣任務影響馬萊士_DOGE:加密貨幣市場還有未來嗎知乎

最領先的我的硬幣硬幣GE正在觀察投資者狗狗的新一輪長期復蘇計劃。根據進展在線文案,SpaceX任務仍于本期發行.

1900/1/1 0:00:00
穩定幣:USDT安全?USDC USDT DAI哪個最安全?_USDC:USDC價格

研討CompoundFinanceV2DeFi協議的安穩幣告貸收益率,并分享咱們對收益率體現、動搖性以及哪些要素推進DeFi協議典當假貸收益率的看法.

1900/1/1 0:00:00
科興制藥新冠口服藥申報臨床_DAR:ADC幣DAR幣

這邊,猴痘的傳播還在繼續。今日,南非國家疾控中心發文稱,南非出現首例猴痘患者,并且這名患者近期沒有旅行史。這說明,猴痘傳播或許已在南非擴散。那邊,倫敦40年來首次在污水樣本測出脊髓灰質炎病.

1900/1/1 0:00:00
ads