I.はじめに
ブロックチェーンとWeb3.0テクノロジーが徐々に成熟するにつれて、デジタル通貨取引所、チェーンゲーム(GameFi)、NFT取引プラットフォーム、デジタル通貨をサポートする電子商取引プラットフォームなどのアプリケーションシナリオが徐々に増加し、より複雑になっています。このような多様で高度にインタラクティブな環境では、同時トランザクションの数が多いことが基本要件となっています。大量の同時トランザクションの能力は、プラットフォームの安定性、ユーザー エクスペリエンス、ビジネスのスケーラビリティに直接影響します。
この記事を通じて、読者に、同時実行性の高いトランザクションの難しさ、問題点、重要性、およびこれらの問題を解決する効果的な方法についての包括的かつ深い理解を提供したいと考えています。
2. なぜ同時実行性の高いシステム設計が必要なのでしょうか?
(1)デジタル通貨交換所
暗号通貨取引所は、しばしば激しい市場変動に直面します。このような非常に不安定な時期に、多数のトレーダー、スタジオ、クオンツ取引チームが同時に多数の取引操作を行う可能性がありますが、取引所はどのようにしてこれらの取引リクエストを迅速かつ正確に処理できるのでしょうか?取引所が適切に対応しない場合、取引の遅延が発生したり、最良の取引機会を失ったり、さらに悪いことにシステムクラッシュが発生したりする可能性があります。
(2) ゲームファイ
GameFi はゲームと金融を組み合わせた新興分野で、プレイヤーはゲームを通じて自分のデジタル資産を獲得および管理でき、ゲーム資産は主にオンチェーン トークンと NFT で表されます。新しいゲームやアクティビティが開始されるたびに、多数のプレイヤーが群がり、ゲーム内のデジタル資産を鋳造、受け取り、または交換しようとする可能性があります。 GameFi ゲーム プロジェクト パーティーとして、これらのプレイヤーが同時にスムーズにログインし、アクティビティに正常に参加できるようにするにはどうすればよいでしょうか?これはサーバーの負荷だけの問題ではなく、データ処理やネットワーク遅延などの側面も関係します。
(3) NFT取引プラットフォーム
NFT取引プラットフォームもGameFiと同様の問題に直面している。有名なアーティストが限定版のNFTをリリースしたり、人気のIPが販売市場と協力したりすると、多くのコレクターや投資家がこれらの希少なリソースを手に入れようと群がります。この場合、NFT取引プラットフォームの安定性を確保するにはどうすればよいでしょうか?
(4) デジタル通貨に対応した電子商取引プラットフォーム
タオバオ ダブルイレブンで、あなたと何万人もの人々が非常にコスト効率の高い衣類を購入しようと急いでいるとき、その衣類が売れすぎないようにするにはどうすればよいでしょうか? Web3 業界の継続的な発展に伴い、デジタル通貨による支払いをサポートする電子商取引プラットフォームが増えていますが、これらの電子商取引プラットフォームは、Web2 電子商取引プラットフォームの同時実行性の問題にも直面することになります。各取引を迅速かつ正確に処理し、システムのクラッシュを回避し、すべての顧客に質の高いショッピング体験を提供するには、どのようにしてこれらの数万件のデジタル通貨注文取引を 1 秒で処理できるのでしょうか?
3. 高同時実行性システム設計の特徴
(1) 高同時実行性の実用化シナリオ
デジタル通貨取引所を例に挙げると、デジタル通貨のチャージと出金は取引所やウォレットアプリケーションの中核機能であり、この2つの操作はユーザーの資産に直接関係しています。通常の操作では、入金と出金のプロセスは比較的単純に見えるかもしれません。
リチャージプロセス
リチャージアドレスを生成します:ユーザーが取引所またはウォレットへの入金をリクエストすると、システムはユーザーに固有の入金アドレスを生成します。
ユーザー転送:ユーザーは、外部ウォレットまたは他の取引所から、前のステップで生成された入金アドレスにデジタル通貨を送信します。
Exchange監視の確認:取引所またはウォレット アプリケーションは、この入金アドレスに関連するトランザクションをリッスンして確認します。ネットワーク上のトランザクション確認の数を監視して、トランザクションの正当性を確認します。
要件が満たされていることを確認します。ほとんどの取引所では、トランザクションが有効であるとみなされる前に、ブロックチェーン上で特定の数の確認 (たとえば、3 回または 6 回の確認) を受信する必要があります。これにより、二重支出のリスクが軽減されます。
ユーザーアカウントにチャージ:トランザクションが十分な確認を受け取ると、取引所はユーザーの取引所アカウント残高にデジタル通貨の量を追加します。
ユーザーに通知します:ユーザーは、チャージが完了したことを知らせる通知を受け取ります。
出金手続き
ユーザーが出金リクエストを開始します:ユーザーは、取引所またはウォレットアプリケーション内で、引き出すデジタル通貨の金額とターゲットアドレスを入力します。
安全性の検証:出金リクエストの正当性を確保するために、ユーザーは SMS 確認コード、電子メール確認、Google Authenticator などの二次認証を実行する必要がある場合があります。
リクエストを処理します。出金リクエストを受信した後、取引所のバックエンド システムはユーザーの残高や出金限度額の確認などの事前処理を実行します。
手動レビュー (可能な手順):セキュリティを強化するために、一部の取引所では手動による審査手順が設けられ、実際の人間が大規模な出金リクエストを審査します。
署名してブロックチェーンにブロードキャストします。取引所は秘密キーを使用して出金トランザクションに署名し、それを対応するパブリック チェーンにブロードキャストします。
Exchange監視の確認:預金と同様に、取引所はブロックチェーン上の出金取引の確認状況を監視します。
完全な撤退:取引が十分に確認され、出金処理が完了すると、ユーザーの取引所口座残高は対応する金額だけ減額されます。
ユーザーに通知します:ユーザーは、出金が完了したことを知らせる通知を受け取ります。

(取引の流れ)
このプロセスは非常に明確で実装が簡単ですが、市場の大きな変動や重大なニュースイベントがある場合、入出金操作の呼び出し回数が 1 秒あたり 10,000 回に達することがあります。同時資産操作で 1 秒あたり 10,000 件のリクエストが発生すると、資産管理システムがダウンしますか?すべてのリクエストが成功すると、同時に 10,000 個のトランザクション注文が生成されますが、データベースはそれを処理できますか?耐えられない場合はどうすればいいでしょうか?これらの問題が発生すると、以前のソリューションが適用できなくなる場合があるため、その時点では、新しいソリューションを設計する必要があります。
また、キャッシュの使用についても、低同時実行の場合は基本的な使い方を理解するだけで済みますが、高同時実行のシナリオでは、キャッシュのヒット率、キャッシュの侵入への対処方法、キャッシュの使用方法などに注意を払う必要があります。雪崩を回避する方法、およびキャッシュの問題を解決する方法 一貫性やその他の問題により、設計計画の複雑さが増し、設計者にはより高度な能力が必要になります。
したがって、多くの同時実行性の高い環境でのメンテナンスと監視には通常、専門の技術チームが必要であり、システムの安定性を維持するために、企業はより多くの人件費を投資する必要があります。これにより、短期的なコストが増加するだけでなく、長期的な運用および保守コストの増加につながる可能性があります。
(2) 高同時実行性のシステム設計手法
同時実行性の高いシステムの設計について話すとき、実際には、大規模なトラフィックを効果的に管理および操作する方法について議論しています。このデザインの主な魅力は、トラフィックの影響に巧みに抵抗し、それによってユーザーにスムーズなエクスペリエンスを提供することです。
歴史を踏まえると、長江と黄河の水管理戦略からインスピレーションを得ることができます。例えば、大禹は川の幅を広げて水の流れをスムーズにし、都江堰は分水によって岷江の水を分流させ、三門峡と葛州壕の貯水池戦略がその例である。これらの戦略は、初期の高同時実行性システム設計手法と見なすことができ、その中心となるのは、トラフィックがスムーズに流れるように、大量のトラフィックを分割または保存することです。
同時実行性の高いシステムには、通常、次の 3 つの主要な設計戦略があります。
規格外
この戦略は水管理における「分割統治」に似ており、分散展開によりトラフィックは複数のサーバーに転送され、各サーバーは同時実行性とトラフィックの一部のみを負担する必要があります。あるプロモーションイベントを例に挙げると、膨大なユーザートラフィックに対処するために、マルチノード展開によりユーザーのショッピングリクエストを各サーバーに均等に分散し、Webサイトのスムーズな動作を保証します。
キャッシュ
同時実行性の高い環境でキャッシュを使用することは、「川を広げる」ようなものです。キャッシュによりディスクへの依存が軽減され、データ アクセスが高速化されるため、システムのパフォーマンスが大幅に向上します。ディスクのシーク時間は CPU やメモリのアクセス時間よりもはるかに長いため、メモリをキャッシュとして使用するとシステムのボトルネックを大幅に軽減できます。あるプロモーション イベントを例に挙げると、データベースへのクエリ負荷を軽減するために、人気のある製品の情報が事前にキャッシュされ、ユーザーが製品情報を要求したときに、システムがキャッシュから直接それを読み取ることができます。これにより、クエリ速度が大幅に向上します。
非同期処理
非同期処理では、単位時間あたりにより多くのリクエストを処理できます。これにより、システムはユーザーに迅速に応答し、より多くのリクエストを処理するためにリソースを解放し、必要に応じて処理結果をユーザーに通知することができます。非同期処理モードは、処理に時間がかかるリクエスト、または複数の内部システムに依存するリクエストに特に適しています。たとえば、休暇中、特定のチケット予約プラットフォームは注文後すぐに注文結果を返さず、代わりに注文が処理中であることをユーザーに通知します。背後のシステムは、注文リクエストをメッセージ キューに入れ、バックグラウンド サービスを通じて 1 つずつ処理し、注文処理が完了すると、プッシュ サービスを通じてユーザーに通知されます。
ただし、同時実行性の高いシステムを設計するということは、これらの戦略をすべて同時に使用する必要があるという意味ではありません。システムの設計と進化は段階的に行われ、システム内の実際の問題を解決することを目的としている必要があります。初期段階では、シンプルなシステム設計と使い慣れた技術システムで、既存のトラフィックとビジネス ニーズに十分対応できる場合があります。ただし、トラフィックが増加し、ビジネスが変化するにつれて、システムの高可用性とパフォーマンスを確保するには、より高度なテクノロジーと戦略を考慮する必要があります。
4. Cregis の高い同時実行性の利点
Cregis は、成熟した安定した決済インフラストラクチャと豊富な財務管理コラボレーション機能を提供する、包括的な Web3 資産コラボレーション管理プラットフォームです。 6 年間安全に運用されており、3,200 を超える Web3.0 プロジェクトや機関にサービスを提供し、578 万のブロックチェーン ウォレット アドレスをエンド ユーザーに提供しています。
Cregis は 6 年間で、「高度な同時トランザクション」+「ウォレット」+「財務管理機能」を開発する時間がありました。 Cregis は、顧客のニーズに基づいて、Web2 から Web3 までの高同時決済テクノロジーを実装しました。商用レベルのデジタル通貨の同時実行性の高いトランザクション決済インフラストラクチャを顧客に提供できます。 API を介して 60 万件の同時取引注文を 1 分で簡単に処理でき、オンチェーン取引では 9 億米ドル以上を 24 時間で処理することもできますが、これは製品のパフォーマンスの限界をはるかに超えています。
5. まとめ
Web3.0テクノロジーがますます成熟し、広く使用されるようになるにつれて、それがデジタル通貨取引所、オンチェーンゲーム(GameFi)、NFT取引プラットフォーム、またはその他のさまざまなWeb3.0アプリケーションであっても、ますます複雑な取引シナリオに直面することになります。大量のトランザクションを迅速かつ安全に処理できることは、ユーザー エクスペリエンスを向上させるだけでなく、企業の競争力にとっても重要です。
トラフィックが多くてもプラットフォームが安定してスムーズな状態を維持できれば、ユーザーはプラットフォームを使い続ける可能性が高くなります。同時に、多くの大企業やプロジェクト関係者は、パートナーを選択する際に、高い同時処理能力を重要な考慮事項として設定します。高い同時実行性は技術的な問題だけではなく、テクノロジー、運用、ビジネス戦略などの側面を含む包括的な課題でもあります。総合的な検討と最適化を通じてのみ、熾烈な市場競争で抜きん出ることができます。


