- برای راهاندازی یک صرافی رمزارز چه الزامات فنی و عملیاتی باید تأمین شود؟
- معماری کلی و اصول طراحی
- سختافزار پیشنهادی بر اساس نقش
- انتخاب نرمافزار و پایگاه داده
- شبکه، لوکیشن و پینگ
- محافظت در برابر حملات (DDoS, SQLi, XSS, API abuse)
- کانفیگهای لینوکسی و شبکهای عملی
- رمزنگاری کلیدها و مدیریت والت
- پشتیبانگیری، بازیابی و DR
- CI/CD، تست و امنیت کد
- مانیتورینگ، لاگ و هشدار
- نمونه چکلیست عملیاتی (ready-to-deploy)
- نمونه دستورات و کانفیگ کوتاه
- نکات عملی برای کاهش خطا و بینقصی
- Abschluss
- Häufig gestellte Fragen
برای راهاندازی یک صرافی رمزارز چه الزامات فنی و عملیاتی باید تأمین شود؟
این سؤال هستهای هر تیم فنی است که میخواهد یک صرافی امن، با Niedrige Latenz Und پایدار بسازد. در این راهنما، بهصورت مرحلهبهمرحله معماری، سختافزار، نرمافزار، شبکه، امنیت، مانیتورینگ و پشتیبانگیری را بررسی میکنیم تا سیستم شما تحمل خطا داشته باشد، همیشه در دسترس بماند و در برابر حملات محافظت شود.
معماری کلی و اصول طراحی
معماری را لایهای طراحی کنید و هر لایه را از دیگری ایزوله نگه دارید تا خطاها محدود بمانند و مقیاسپذیری آسان شود.
- جداسازی لایهای: Gateway/API → Application (stateless) → Matching Engine (low-latency) → Order Book (in-memory + durable) → Database (persistent) → Wallet & Signing (HSM/cold) → Monitoring/Logging.
- اصل دسترسیپذیری: هر لایه حداقل در دو ناحیه جغرافیایی (active-active یا active-passive) مستقر شود.
- اصل بدون حالت در اپلیکیشنها: sessionها در Redis یا JWT ذخیره شوند تا سرورها قابلافزایش و جایگزینی باشند.
- ایزولهسازی شبکه: مدیریت، API، گرههای بلاکچین و سرورهای والت در VLAN یا VPC جدا نگهداری شوند.
سختافزار پیشنهادی بر اساس نقش
برای هر نقش سختافزاری حداقل مشخصات و نکات HA را رعایت کنید.
Matching Engine (بسیار latency-sensitive)
- CPU: 16–64 هسته با فرکانس بالا (Intel Xeon / AMD EPYC).
- RAM: 128–512 GB بسته به حجم دفتر سفارش.
- Storage: NVMe Enterprise با IOPS بالا؛ RAID1/10 برای WAL.
- Network: 10–40 Gbps با NICهای کمتاخیر (SR-IOV).
- پیشنهاد: سرور اختصاصی/Bare-metal در لوکیشن نزدیک LPs و بازارهای هدف.
Database (PostgreSQL / time-series)
- CPU: 16–64 هسته.
- RAM: 256–1024 GB.
- Storage: NVMe Enterprise + RAID10؛ جدا کردن WAL و data روی دیسکهای مختلف.
- Network: 10 Gbps.
- HA: Streaming replication + Patroni + etcd/consul.
Order Book / Cache (Redis / Aerospike)
- Redis Cluster با persistence AOF+RDB؛ نودها RAM بالا و NVMe برای نودهای ذخیرهسازی.
Wallet / Signing Servers
- Hot wallet: کمشمار، ایزوله، با HSM یا HSM as a Service.
- Cold wallet: air-gapped یا hardware wallets نگهداری آفلاین.
- HSM: FIPS 140-2 Level 3 Empfohlen.
Gateway / API / Frontend
- CPU: 4–16 هسته.
- RAM: 16–64 GB.
- Auto-scaling روی کلود/VM یا container.
- Load balancer: HAProxy / Nginx / Envoy.
Monitoring / Logging / SIEM
- Clustered Prometheus + Alertmanager، Grafana، EFK/ELK (Elasticsearch/Filebeat/Kibana).
انتخاب نرمافزار و پایگاه داده
نرمافزارها را براساس عملکرد، تعیینپذیری و قابلیت بازیابی انتخاب کنید.
- Matching engine: زبانهای با عملکرد بالا (C++ / Rust / Go) و طراحی lock-free. حتما latency percentiles (p99/p999) را تست کنید.
- دیتابیس معاملاتی: PostgreSQL با replication و PITR؛ PostgreSQL برای ledger و Redis برای order book در ترکیب hybrid مناسب است.
- نُدهای بلاکچین: برای هر ارز یک نُد کامل، اجرا در شبکههای جدا و محدودیت RPC.
- خدمات کیف پول: کلیدها باید در HSM ذخیره و عملیات امضا در HSM انجام شود.
شبکه، لوکیشن و پینگ
لوکیشن و توپولوژی شبکه تأثیر مستقیم بر latency، دسترسی و مقاومت در برابر حملات دارد.
- لوکیشن: نزدیک به بازارهای نقدینگی (NY, London, Frankfurt, Amsterdam, Tokyo, Singapore, Chicago).
- BGP & Anycast: DNS Anycast و BGP برای توزیع بار و کاهش latency.
- Latency: هدف p99 < 5ms درون دیتاسنتر؛ بین ناحیهای زیر 1–10ms با colocations.
- CDN: برای محتوای استاتیک و محافظت DDoS در لایه 7؛ ترافیک API/WS معمولاً از CDN عبور نکند مگر proxy ایمن.
- شبکه داخلی امن: VLAN، ACL و firewall بین لایهها.
محافظت در برابر حملات (DDoS, SQLi, XSS, API abuse)
حملهها را در چند لایه دفع کنید: شبکه، اپلیکیشن و سرویسهای هویتی.
DDoS
- لایه شبکه: فایروال لایه 3/4، SYN cookies، سختافزار ضد-DDoS و Scrubbing Centers.
- لایه اپلیکیشن: WAF (ModSecurity یا managed) + rate limiting.
- محصول شرکت: سرور ضد-DDoS و PoPهای متصل برای جذب و دفع حملات.
WAF & Rate limiting
- پیادهسازی قوانین OWASP Top 10.
- محدودیت هر IP برای تعداد درخواست و socketها (مثال: limit req در Nginx/Envoy).
احراز هویت و امنیت API
- JWT با expiry کوتاه، OAuth2 برای مدیریت اپها، HMAC یا mutual TLS برای APIهای حساس.
- مثال: فعال کردن mutual TLS در Nginx برای endpointهای داخلی.
کانفیگهای لینوکسی و شبکهای عملی
تنظیمات کرنل، file descriptor و firewall برای تحمل بار بالا و جلوگیری از حملات ضروری است.
مثال 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 dropKernel tuning (در /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 65535File descriptors و systemd:
# /etc/security/limits.conf
appuser soft nofile 65536
appuser hard nofile 200000
# systemd service snippet
[Service]
LimitNOFILE=200000Nginx (TLS) snippet:
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 health check مثال:
backend api-back
mode http
balance roundrobin
option httpchk GET /health
server app1 10.0.0.1:8080 checkرمزنگاری کلیدها و مدیریت والت
کلیدها و سیاستهای والت جزء حساسترین بخش سیستماند و باید با چندین لایه محافظت شوند.
- HSM یا Vault: استفاده از HSM برای امضای تراکنشها (مثل YubiHSM / AWS CloudHSM / Thales) و HashiCorp Vault برای مدیریت credentials.
- Hot vs Cold wallets: Hot بسیار محدود، Cold آفلاین و multi-sig با نگهداری فیزیکی امن.
- Policies: Threshold برای امضا، approval workflows و محدودیت برداشت روزانه.
پشتیبانگیری، بازیابی و DR
طرح پشتیبانگیری و برنامه بازیابی از فاجعه (DR) باید واضح و تستشده باشد.
- DB: Point-in-time recovery (PITR) با WAL archiving؛ base backups روزانه + WAL archiving هر چند دقیقه.
- فایلها و snapshots: snapshotهای منظم از VM/volume و نگهداری offsite در چند لوکیشن.
- RTO/RPO: تعریف کنید (مثلاً RTO = 5 دقیقه، RPO = 1 دقیقه برای matching engine).
- در صورت disaster: runbook و playbook اتوماتیک با Ansible/Terraform؛ تست DR حداقل هر سه ماه.
CI/CD، تست و امنیت کد
زیرساخت استقرار و تست باید امن و قابل برگشت باشد.
- IaC: Terraform برای محیطها، Ansible برای کانفیگ.
- GitLab برای CI با pipeline های SAST, DAST, dependency scanning, container scanning.
- Canary deployments و blue/green برای آپدیتهای بیوقفه.
- Pen tests و bug bounty منظم.
مانیتورینگ، لاگ و هشدار
مانیتورینگ باید چندبعدی و هشدارها قابل اقدام خودکار باشند.
- Metrics: Prometheus (system, app, DB exporters) + Grafana dashboards.
- Logging: Filebeat → Elasticsearch → Kibana؛ راهاندازی SIEM برای تحلیل رخدادها.
- Alerting: Alertmanager با پیام SMS/Email/Slack و playbook اتوماتیک برای failover.
- Health checks: liveness/readiness برای کانتینرها و external heartbeats.
نمونه چکلیست عملیاتی (ready-to-deploy)
- دو ناحیه جغرافیایی active-active.
- Bare-metal برای matching engine در لوکیشنهای کلیدی.
- PostgreSQL cluster با Patroni + replica در منطقه دوم.
- Redis cluster با persistence AOF و replicas.
- HSM برای امضای تراکنشها + Hot/Cold wallet policy.
- WAF + Anti-DDoS + Rate limiting.
- Monitoring + Alerting + SIEM.
- Daily snapshot + WAL archiving + Offsite encrypted backups.
- IaC + CI/CD + Canary + smoke tests.
نمونه دستورات و کانفیگ کوتاه
مثالهایی از دستورات راهاندازی و کانفیگ که در محیط واقعی کاربردیاند.
فعالسازی 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 --systemsimple PostgreSQL streaming replication (مثال):
# 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نکات عملی برای کاهش خطا و بینقصی
- Monitoring latency percentiles (p50/p95/p99/p999) و تنظیم SLA.
- کانفیگ circuit breakers و backpressure برای جلوگیری از overload.
- تست بار منظم و تست حمله (DDoS simulation) در محیط staging.
- لاگ و audit هر عملیاتی که به کیف پول یا برداشت منجر میشود.
- استفاده از immutable infrastructure و rollout های قابل بازگشت.
Abschluss
راهاندازی یک صرافی رمزارز نیاز به یک رویکرد چندلایه دارد: سختافزار کمتاخیر برای matching engine، دیتابیس با قابلیت بازیابی، معماری توزیعشده در چند لوکیشن، مدیریت کلید امن با HSM، محافظت شبکهای و لایهای در برابر حملات و فرآیندهای اتوماتیک CI/CD، مانیتورینگ و DR.
شرکت ما با 85+ لوکیشن جهانی، سرور اختصاصی و ابری پرکارایی، سرور مخصوص ترید، راهکارهای ضد-DDoS، CDN و خدمات BGP آماده است تا زیرساخت شما را پیادهسازی، کانفیگ و پشتیبانی کند. برای طراحی دقیقتر مبتنی بر حجم معامله، ارزهای پشتیبانیشده و نیازهای تجاری، امکان انجام assessment رایگان توسط تیم فنی وجود دارد.









