以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > MANA > Info

NFT:開放聯盟鏈性能調優以及 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開放聯盟鏈:金色財經現場報道,由Web3基金會主辦的Web3大會10月29日在上海舉行。在會上,波卡正式加入BSN開放聯盟鏈。波卡區塊鏈在技術適配后,將作為BSN開放聯盟鏈底層框架之一,向中國企業和開發者提供合規、低成本、易開發的區塊鏈應用運行環境。波卡和BSN計劃共同推出基于Substrate構建,可快速部署和運行在區塊鏈服務網絡BSN中的聯盟鏈底層框架,為開發者提供簡單、靈活、低成本的私有聯盟鏈運行環境。[2020/10/29]

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

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

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

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開放聯盟鏈項目:由國家信息中心、中國移動、中國銀聯和北京紅棗科技共同發起的區塊鏈基礎設施網絡區塊鏈服務網絡(以下簡稱BSN)今天在廈門舉行的國際區塊鏈+商業未來發展峰會上宣布,將攜同火幣集團在9月底之前正式啟動BSN 開放聯盟鏈項目,以推動公有鏈技術在中國境內以合法、合規、 符合監管要求的方式健康發展。

據了解,BSN開放聯盟鏈項目將由 BSN 發展聯盟、火幣集團和一家大型云服務商聯合運營,將在9月底之前正式啟動,預計在2020年11月中旬上線。北京紅棗科技CEO、BSN發展聯盟常務理事何亦凡介紹,開放聯盟鏈可以理解為公有鏈增加了節點的權限控制,并且取消了用虛擬幣支付GAS的機制,從而形成了聯盟鏈的形態。這是目前實現讓公鏈項目在合法合規、 符合監管要求的前提下進入中國市場的現實選擇,也是最直接和有效的路徑。[2020/9/17]

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

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

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

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

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

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

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

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

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

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

動態 | 螞蟻開放聯盟鏈已全面公測,預計2月全面上線:螞蟻金服副總裁、智能科技總裁蔣國飛近日在北京宣布,螞蟻區塊鏈旗下的螞蟻開放聯盟鏈現在已全面公測,預計2020年2月全面上線。(中國新聞網)[2020/2/13]

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

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

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

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

MANA
SWIFT:華商國際海洋控股(00206.HK)與KENZFIGEE簽署戰略合作協議

華商國際海洋控股(00206.HK)發布公告,2022年6月20日,華商國際與荷蘭海上和陸上吊裝解決方案企業KenzFigee簽署戰略合作協議.

1900/1/1 0:00:00
加密貨幣:白俄羅斯央行決定將人民幣納入貨幣籃子

新華社明斯克7月13日電白俄羅斯中央銀行13日在官網發布消息說,自7月15日起將人民幣納入其貨幣籃子.

1900/1/1 0:00:00
狗狗幣:加密貨幣崩潰紀錄:市值跌破9000億美元 中國NFT平臺增至500多家

來源:金融虎網作者:金澤在上周六跌破1.8萬美元之后,比特幣在最后一天上漲逾8%,略高于2萬美元關口。然而,全球加密貨幣市場價值仍低于1萬億美元,約為8800億美元.

1900/1/1 0:00:00
UNA:今天說說什么是VICUNA……

在我們量身定制的時候 偶會聽到一種叫Vicuna的面料那Vicuna到底是什么面料呢歷史上的今天丨法國首例?ICO?獲得監管機構批準:2020年12月23日.

1900/1/1 0:00:00
KAS:白俄羅斯央行決定將人民幣納入貨幣籃子

新華社明斯克7月13日電白俄羅斯中央銀行13日在官網發布消息說,自7月15日起將人民幣納入其貨幣籃子.

1900/1/1 0:00:00
比特幣價格:比特幣將跌至13000?中期多頭機會來了

來源:智通財經APP 比特幣價格自本月初從3萬美元左右下跌至約2萬美元以來,近期一直徘徊在20130美元到20429美元之間,截至發稿,比特幣價格下跌5.13%,報20029.5美元/枚.

1900/1/1 0:00:00
ads