暗号通貨取引所を立ち上げるには、どのような技術的および運用上の要件を満たす必要がありますか?
これは、安全な取引所を構築したい技術チームにとっての核心的な問題であり、 低遅延 そして 安定した このガイドでは、アーキテクチャ、ハードウェア、ソフトウェア、ネットワーク、セキュリティ、監視、バックアップについて段階的に説明し、システムを構築します。 フォールトトレランス 持つ、 いつでも利用可能 滞在して攻撃から保護されます。.
一般的なアーキテクチャと設計原則
アーキテクチャをレイヤーごとに設計し、各レイヤーを他のレイヤーから分離しておくことで、エラーを制限し、スケーラビリティを促進します。.
- 階層分離: ゲートウェイ/API → アプリケーション (ステートレス) → マッチング エンジン (低レイテンシ) → オーダーブック (メモリ内 + 耐久性) → データベース (永続的) → ウォレットと署名 (HSM/コールド) → 監視/ログ記録。.
- アクセシビリティの原則: 各レイヤーは、少なくとも 2 つの地理的領域 (アクティブ/アクティブまたはアクティブ/パッシブ) に展開する必要があります。.
- アプリケーションにおけるステートレス原則: セッションは Redis または JWT に保存されるため、サーバーを追加したり置き換えたりすることができます。.
- ネットワーク分離: 管理、API、ブロックチェーン ノード、ウォレット サーバーは、別々の VLAN または VPC に保存する必要があります。.
役割別の推奨ハードウェア
各ハードウェア ロールの最小仕様と HA のヒントに従ってください。.
マッチングエンジン(レイテンシに非常に敏感)
- CPU: 16~64コア 高周波数 (Intel Xeon / AMD EPYC)。.
- ラム: 128~512GB 注文書のサイズによって異なります。.
- ストレージ: 高 IOPS の NVMe エンタープライズ、WAL 用の RAID1/10。.
- ネットワーク: 10~40Gbps 低遅延 NIC (SR-IOV) を使用。.
- 推奨事項: LP およびターゲット市場に近い場所にある専用/ベアメタル サーバー。.
データベース(PostgreSQL / 時系列)
- CPU: 16~64 コア。.
- ラム: 256~1024GB.
- ストレージ: NVMe Enterprise + RAID10。WAL とデータを異なるディスクに分離します。.
- ネットワーク: 10 Gbps。.
- HA: ストリーミング レプリケーション + Patroni + etcd/consul。.
オーダーブック / キャッシュ (Redis / Aerospike)
- AOF + RDB 永続性を備えた Redis クラスター、高 RAM ノード、およびストレージ ノード用の NVMe。.
ウォレット/署名サーバー
- ホット ウォレット: スパース、分離、HSM または HSM as a Service を使用。.
- コールドウォレット: オフラインで維持されるエアギャップウォレットまたはハードウェアウォレット。.
- HSM: FIPS 140-2 レベル 3 推奨。.
ゲートウェイ / API / フロントエンド
- CPU: 4~16 コア。.
- RAM: 16~64 GB。.
- クラウド/VM またはコンテナでの自動スケーリング。.
- ロードバランサー: HAProxy / Nginx / Envoy。.
監視 / ログ記録 / SIEM
- クラスター化された Prometheus + Alertmanager、Grafana、EFK/ELK (Elasticsearch/Filebeat/Kibana)。.
ソフトウェアとデータベースの選択
パフォーマンス、決定可能性、回復可能性に基づいてソフトウェアを選択します。.
- マッチングエンジン: 高性能言語(C++ / Rust / Go)とロックフリー設計。レイテンシパーセンタイル(p99/p999)を必ずテストしてください。.
- トランザクションデータベースレプリケーションと PITR を備えた PostgreSQL。ハイブリッドの組み合わせで、元帳用の PostgreSQL と注文帳用の Redis。.
- ブロックチェーンノード: 通貨ごとに 1 つのフルノードがあり、別々のネットワークで実行され、RPC 制限があります。.
- ウォレットサービス: キーは HSM に保存する必要があり、署名操作は HSM で実行する必要があります。.
ネットワーク、場所、ping
ネットワークの場所とトポロジは、レイテンシ、可用性、攻撃に対する耐性に直接影響します。.
- 位置: 流動性の高い市場(ニューヨーク、ロンドン、フランクフルト、アムステルダム、東京、シンガポール、シカゴ)に近い。.
- BGPとエニーキャスト: 負荷分散とレイテンシ削減のための DNS Anycast と BGP。.
- レイテンシー: データセンター内では p99 < 5 ミリ秒を目標とし、コロケーションでは 1 ~ 10 ミリ秒未満の範囲を目標とします。.
- CDN: 静的コンテンツとレイヤー 7 DDoS 保護の場合、API/WS トラフィックは通常、安全なプロキシでない限り CDN を通過しません。.
- 安全な内部ネットワーク: レイヤー間の VLAN、ACL、およびファイアウォール。.
攻撃からの保護(DDoS、SQLi、XSS、API の悪用)
ネットワーク、アプリケーション、ID サービスなど複数のレイヤーで攻撃を阻止します。.
DDoS
- ネットワーク層: レイヤー 3/4 ファイアウォール、SYN クッキー、DDoS 対策ハードウェア、スクラビング センター。.
- アプリケーション層: WAF (ModSecurity またはマネージド) + レート制限。.
- 会社の製品: 攻撃を吸収して撃退するアンチDDoSサーバーと接続されたPoP。.
WAFとレート制限
- OWASP Top 10 ルールの実装。.
- リクエストとソケットの数に対する IP ごとの制限 (例: Nginx/Envoy の limit req)。.
API認証とセキュリティ
- 有効期限が短い JWT、アプリ管理用の OAuth2、機密性の高い API 用の HMAC または相互 TLS。.
- 例: 内部エンドポイントに対して Nginx で相互 TLS を有効にする。.
実用的な Linux とネットワーク構成
高負荷に耐え、攻撃を防ぐには、カーネル、ファイル記述子、およびファイアウォールの設定が不可欠です。.
簡単なnftablesの例:
nft add table inet filter
nft add chain inet filter input { type filter hook input priority 0 \; }
nft add rule inet filter input ct state established,related accept
nft add rule inet filter input tcp dport {22,443,80} ct state new accept
nft add rule inet filter input counter dropカーネルのチューニング (/etc/sysctl.conf 内):
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_local_port_range = 10240 65535ファイル記述子と systemd:
# /etc/security/limits.conf
appuser soft nofile 65536
appuser hard nofile 200000
# systemd service snippet
[Service]
LimitNOFILE=200000Nginx (TLS) スニペット:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'HIGH:!aNULL:!MD5';
ssl_prefer_server_ciphers on;
add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload;';HAProxyヘルスチェックの例:
backend api-back
mode http
balance roundrobin
option httpchk GET /health
server app1 10.0.0.1:8080 check
キーの暗号化とウォレット管理
ウォレットのキーとポリシーはシステムの中で最も機密性の高い部分の 1 つであり、複数の層で保護する必要があります。.
- HSM または Vault: トランザクションに署名するには HSM (YubiHSM / AWS CloudHSM / Thales など) を使用し、資格情報を管理するには HashiCorp Vault を使用します。.
- ホットウォレットとコールドウォレット: ホットは非常に制限されていますが、コールドはオフラインで、安全な物理ストレージを備えたマルチ署名です。.
- ポリシー: 署名、承認ワークフロー、および 1 日の引き出し限度額のしきい値。.
バックアップ、リカバリ、DR
バックアップ計画と災害復旧 (DR) 計画は明確にし、テストしておく必要があります。.
- DB: WAL アーカイブを使用したポイントインタイムリカバリ (PITR)、毎日の基本バックアップ + 数分ごとの WAL アーカイブ。.
- ファイルとスナップショット: 複数の場所にある VM/ボリュームおよびオフサイト ストレージの定期的なスナップショット。.
- RTO/RPO: 定義します (例: 一致するエンジンの RTO = 5 分、RPO = 1 分)。.
- 災害の場合: Ansible/Terraform を使用した自動化されたランブックとプレイブック。少なくとも 3 か月ごとに DR テストを実行します。.
CI/CD、テスト、コードセキュリティ
展開およびテストのインフラストラクチャは安全で、元に戻せるものでなければなりません。.
- IaC: 環境には Terraform、構成には Ansible。.
- SAST、DAST、依存関係スキャン、コンテナスキャン パイプラインを備えた CI 用の GitLab。.
- 中断のない更新を実現するカナリアデプロイメントとブルー/グリーン。.
- 定期的なペンテストとバグ報奨金。.
監視、ログ記録、アラート
監視は多次元で行う必要があり、アラートは自動的に実行可能である必要があります。.
- メトリクス: Prometheus (システム、アプリ、DB エクスポーター) + Grafana ダッシュボード。.
- ログ記録: Filebeat → Elasticsearch → Kibana; イベント分析用の SIEM の設定。.
- アラート: SMS/電子メール/Slack メッセージングとフェイルオーバーの自動プレイブックを備えた Alertmanager。.
- ヘルスチェック: コンテナと外部ハートビートの生存/準備状況。.
サンプル運用チェックリスト(すぐに展開可能)
- 2 つのアクティブ-アクティブ地理的領域。.
- 主要な場所でエンジンをマッチングするためのベアメタル。.
- 2 番目のリージョンに Patroni + レプリカを配置した PostgreSQL クラスター。.
- AOF 永続性とレプリカを備えた Redis クラスター。.
- トランザクションに署名するための HSM + ホット/コールド ウォレット ポリシー。.
- WAF + DDoS対策 + レート制限。.
- 監視 + アラート + SIEM。.
- 毎日のスナップショット + WAL アーカイブ + オフサイトの暗号化されたバックアップ。.
- IaC + CI/CD + カナリア + スモーク テスト。.
サンプルコマンドと簡単な設定
実際の環境で役立つセットアップおよび構成コマンドの例。.
sysctl を有効にする:
cat <<EOF | sudo tee /etc/sysctl.d/99-net.conf
net.core.somaxconn=65535
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_syncookies=1
EOF
sudo sysctl --systemシンプルな PostgreSQL ストリーミングレプリケーション(例):
# On primary (postgresql.conf)
wal_level = replica
max_wal_senders = 10
archive_mode = on
archive_command = 'cp %p /var/lib/postgresql/wal_archive/%f'
# On replica (recovery.conf)
primary_conninfo = 'host=10.0.0.1 port=5432 user=replicator password=REPLICATOR_PASS'最小限の UFW アクティベーション:
sudo ufw default deny incoming
sudo ufw allow 22/tcp proto tcp from <admin-ip>
sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
sudo ufw enable
間違いや不完全さを減らすための実用的なヒント
- レイテンシ パーセンタイル (p50/p95/p99/p999) を監視し、SLA を設定します。.
- 過負荷を防ぐために回路ブレーカーとバックプレッシャーを設定します。.
- ステージング環境での定期的な負荷テストと攻撃テスト (DDoS シミュレーション)。.
- ウォレットまたは引き出しにつながるすべての操作をログに記録して監査します。.
- 不変のインフラストラクチャと元に戻せるロールアウトを使用します。.
結論
暗号通貨取引所を立ち上げるには、多層的なアプローチが必要です。 低遅延ハードウェア マッチング エンジンには、回復可能なデータベース、複数の場所に分散されたアーキテクチャ、HSM による安全なキー管理、攻撃に対するネットワークと階層化された保護、自動化された CI/CD、監視、および DR プロセスが含まれます。.
当社は 世界85か所以上の拠点高性能な専用サーバーとクラウドサーバー、専用取引サーバー、DDoS対策ソリューション、CDNおよびBGPサービスをご用意しており、お客様のインフラストラクチャの実装、構成、サポートを承ります。取引量、対応通貨、ビジネスニーズに基づいた詳細な設計については、テクニカルチームによる無料アセスメントをご利用いただけます。.









