風險提示:防範以"虛擬貨幣""區塊鏈"名義進行非法集資的風險。——銀保監會等五部門
資訊
發現
搜索
登錄
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
查看行情
Cregis Research:Web3.0时代的高并发交易
0xCregis
特邀专栏作者
2024-02-26 07:54
本文約3240字,閱讀全文需要約5分鐘
高并发交易的能力直接影响着平台稳定性、用户体验以及业务的可扩展性。

一、引言

隨著區塊鍊和Web3.0 技術的逐漸成熟,數字貨幣交易所、鏈遊(GameFi)、NFT 交易平台以及支援數字貨幣的電子商務平台等應用場景逐漸增加且複雜。在這樣一個多樣化和高度互動的環境中,高並發交易成為了基礎性的需求。高並發交易的能力直接影響著平台穩定性、使用者體驗以及業務的可擴展性。

透過這篇文章,我們希望為讀者提供一個全面而深入的了解,關於高並發交易的難度、痛點、意義,以及解決這些問題的有效途徑。

二、為什麼需要高併發系統設計

(一)數字貨幣交易所

數字貨幣交易所經常面臨市場的劇烈波動。在這些高度波動的時間段,大量的交易者、工作室以及量化交易團隊可能會同時進行大量交易操作,交易所要如何快速並準確的處理這些交易請求?如果交易所應對不當,可能會出現交易延遲、失去最佳交易機會,甚至更糟的是系統崩潰的問題。

(二)GameFi

GameFi 是將遊戲與金融結合的新興領域,玩家可以透過遊戲賺取和管理自己的數字資產,而遊戲資產多以鏈上代幣以及NFT 作為主要表現。每當有新的遊戲或活動上線,大量玩家可能會湧入,試圖鑄造,領取或交易自己在遊戲中的數字資產。身為GameFi 遊戲專案方,需要如何保證這些玩家在同一時間都能順利登陸,並且成功參與活動呢?這不僅是服務器負載的問題,還涉及資料處理、網絡延遲等多方面的問題。

(三)NFT 交易平台

NFT 交易平台也面臨著和GameFi 相似的問題。當知名藝術家發布限量NFT,或某大熱IP 與市場合作進行售賣,大量收藏家和投資者都會蜂擁而至,試圖獲取這些稀缺資源。在這種情況下,如何確保NFT 交易平台的穩定性呢?

(四)支援數位貨幣的電商平台

淘寶雙十一,當你和上萬人一起搶購一件性價比超高的衣服時,怎麼保證衣服不會超賣?隨著web3產業的不斷發展,越來越多的電商平台開始支援數字貨幣支付,這些電商平台同樣會遇到web2電商平台的高並發問題。他們要如何在1 秒鐘處理這些上萬次的數字貨幣訂單交易,從而確保每筆交易都能夠快速、準確地處理,避免系統崩潰,並為每位顧客提供優質的購物體驗呢?

三、高並發系統設計的特點

(一)高並發實際應用場景

我們以數字貨幣交易所為例子,數字貨幣的儲值和提現是交易所及錢包應用中的核心功能,這兩個操作與用戶的資產直接相關。在常規操作下,充提流程可能看起來相對簡單:

儲值流程

產生儲值地址:當用戶在交易所或錢包中要求儲值時,系統會為用戶產生一個唯一的儲值地址。

用戶轉帳:用戶將數字貨幣從外部錢包或其他交易所發送到上一步驟產生的儲值位址。

交易所監聽確認:交易所或錢包應用程式會監聽並檢查與該儲值位址相關的交易。它會監視網路上的交易確認數以確保交易的有效性。

確認達到要求:大多數交易所需要一個交易在區塊鏈上獲得一定數量的確認(例如, 3 個或6 個確認)之後才視為有效。這樣可以減少雙重支付的風險。

儲值到用戶帳戶:一旦交易得到足夠的確認,交易所就會把數字貨幣的金額加到用戶的交易所帳戶餘額中。

通知用戶:用戶會收到通知,告知他們儲值已完成。

提現流程

用戶發起提現請求:用戶在交易所或錢包應用程式內輸入要提現的數字貨幣金額和目標位址。

安全驗證:為了確保提現請求的合法性,用戶可能需要進行二次驗證,例如簡訊驗證碼、郵件確認或Google Authenticator 等。

處理請求:交易所的後台系統接收到提現請求後,進行初步的處理,如檢查用戶餘額、提現限額等。

手動審核(可能的步驟):某些交易所為了增加安全性,會有手動審核步驟,由真人審核大額提現請求。

簽名並廣播到區塊鏈:交易所以私鑰對提現交易進行簽名,並將其廣播到相應的公鏈。

交易所監聽確認:與儲值類似,交易所會監聽提現交易在區塊鏈上的確認狀態。

完成提現:一旦交易得到足夠的確認,提現流程完成,用戶的交易所帳戶餘額就會減少相應的金額。

通知用戶:用戶會收到通知,告知他們已提現。

(交易流程)

這個流程非常清晰,實現也簡單,但如果市場出現大的波動,或有重大新聞事件,你會發現充提操作的呼叫量可能達到每秒10000 次。每秒10000 次請求同時進行資產操作,是否會把資產管理系統拖垮?如果請求全部通過,那麼就要同時產生10000 次交易訂單,數據庫能否扛住?如果扛不住,我們要如何做?這些問題都可能出現,讓先前的方案不再適用,此時你就需要設計新的方案。

除此之外,同樣是緩存的使用,在低並發下你只需要了解基本的使用方式,但在高並發場景下你需要關注緩存命中率,如何應對緩存穿透,如何避免雪崩,如何解決緩存一致性等問題,這增加了設計方案的複雜度,對設計者能力的要求也會更高。

因此在許多高並發環境下的維護和監控通常需要專業的技術團隊,而為了維護系統的穩定性,公司需要投入更多的人力成本。這不僅增加了短期成本,還可能導致長期的運維成本上升。

(二)高並發系統設計方法

當我們談論高並發系統的設計,實際上是在探討如何有效地管理和操縱大規模的流量。這種設計的核心魅力在於巧妙地抵禦流量的衝擊,從而為使用者帶來更流暢的使用體驗。

借鑒歷史,我們可以從長江和黃河的治水策略中汲取靈感。例如,大禹拓寬河道讓流水更加順暢,都江堰透過引流將岷江之水分流,以及三門峽和葛洲壩的水庫策略。這些策略可以看作是早期的高並發系統設計方法,它們的核心是將大流量拆分或存儲,從而使流量平穩地流過。

對於高並發系統,普遍有三種主要的設計策略:

橫向擴展

這種策略就像治水中的“分而治之”,通過分散式部署,將流量分流至多個服務器,每台服務器只需承擔一部分並發和流量。以某促銷活動為例,為了因應龐大的使用者流量,它會透過多節點的部署,將使用者的購物請求均勻地分配到每個伺服器上,確保網站的平穩運作。

快取

在高並發環境中使用緩存就如同「拓寬河道」。緩存能顯著提升系統效能,因為它減少了對磁盤的依賴,使資料存取速度更快。由於磁盤的尋道時間遠大於CPU 和記憶體的存取時間,因此,利用記憶體作為快取可以大幅減少系統的瓶頸。以某促銷活動為例,為了減少資料庫的查詢壓力,會將熱門商品的資訊提前緩存起來,這樣當使用者要求這些商品資訊時,系統可以直接從快取中讀取,大大提高了查詢速度。

非同步處理

非同步處理可以在單位時間內處理更多的請求。它允許系統快速回應用戶,釋放資源來處理更多的請求,並在適當的時候通知用戶處理結果。非同步處理模式特別適用於那些處理時間長或依賴多個內部系統的請求。例如某訂票平台在假日時段,用戶下單後並不會立即回傳訂單結果,而是告訴用戶訂單正在處理中。背後的系統會把訂單請求放到一個訊息隊列中,並透過後台服務逐一處理,當訂單處理完成後,再透過推播服務告知用戶。

然而,設計高並發系統並不意味著必須同時使用所有這些策略。系統的設計和演進應該是循序漸進的,以解決系統中的實際問題為目的。初期,簡單的系統設計和熟悉的技術體係可能足以應對現有的流量和業務需求。但隨著流量的成長和業務的變化,必須考慮更先進的技術和策略來確保系統的高可用性和效能。

四、Cregis 的高並發優勢

Cregis 是一個綜合性的Web3資產協作管理平台,提供成熟且穩定的支付基礎設施和豐富的財務管理協作功能。目前已安全運作6 年,服務超過3200 家Web3.0 專案和機構,為終端用戶提供了578 萬個區塊鏈錢包地址。

6 年時間,Cregis 有時間開發「高並發交易」+「錢包」+「財務管理功能」。基於客戶需求,Cregis 實現了web2到web3的高並發清算技術。可以為客戶提供者以等級的數字貨幣高並發交易結算基礎設施。我們可以透過API 在1 分鐘輕鬆處理60 萬次並發的交易訂單,也可以在24 小時內處理超過9 億美元的鏈上交易,而且這遠遠沒到我們產品性能的極限。

五、總結

隨著Web3.0 技術日益成熟和大規模應用,無論是數字貨幣交易所、鏈上游戲(GameFi)、NFT 交易平台,還是其他各種Web3.0 應用,都將面臨日益複雜的交易場景。能夠快速、安全地處理大量交易不僅能提升使用者體驗,也是企業競爭力的重要組成部分。

如果一個平台能夠在高流量下仍保持穩定流暢,那麼用戶就更有可能繼續使用該平台。同時,許多大企業和專案方在選擇合作夥伴時會將高並發處理能力設為重要考量。高並發不僅是技術問題,更是一個綜合性的挑戰,涉及技術、營運、商業策略等多個面向。只有全面考慮和優化,才能在激烈的市場競爭中脫穎而出。

聯絡我們:官方網站TwitterDiscord

Web3.0
AI總結
返回頂部
高并发交易的能力直接影响着平台稳定性、用户体验以及业务的可扩展性。
作者文庫
0xCregis
下載Odaily星球日報app
讓一部分人先讀懂 Web3.0
IOS
Android