العملات الرقمية · بدون KYC
استضف Bitcoin Core (bitcoind) على VPS خارجي
تشغيل عقدة Bitcoin Core الكاملة الخاصة بك هو الطريقة الوحيدة للتحقق من السلسلة بنفسك بدلاً من الوثوق بخادم شخص آخر، وخادم VPS أوفشور بدون KYC يتيح لك القيام بذلك دون ربط هويتك به.
ما هو
Bitcoin Core (bitcoind) هو التطبيق المرجعي لبروتوكول Bitcoin: يقوم بتنزيل كل كتلة ومعاملة والتحقق منها بشكل مستقل، ثم يعيد ترحيلها إلى الأقران، ويوفر واجهة JSON-RPC يمكن لمحفظتك أو تطبيقاتك الوثوق بها. العقدة الكاملة تمنحك تحققًا بمستوى الحفظ الذاتي (self-custody)، وخصوصية بعيدًا عن مستكشفات الكتل العامة، وبنية خلفية للمحافظ وعُقد Lightning وخوادم Electrum (Fulcrum/electrs) أو BTCPay Server.
لماذا تستضيفه خارجيًا
عنوان IP الخاص بعقدتك مرئي لكل قرين تتصل به، لذا فإن تشغيلها على VPS يُدفع ثمنه بالعملات المشفرة وبلا هوية يُبقيها منفصلة عن اتصال منزلك واسمك. ChainVPS بدون KYC ويوفر نطاق ترددي غير محدود، وهذا أمر مهم لأن التنزيل الأولي للسلسلة وترحيل الأقران المستمر ينقلان مئات الغيغابايتات التي قد تتجاوز أي حد نطاق ترددي مقنن.
النشر
إعداد مرجعي عملي
انسخ هذا إلى نسخة ChainVPS جديدة. استبدل العناصر النائبة، ثم قم بتشغيله.
# docker-compose.yml — Bitcoin Core full node (pruned by default for a small VPS)
# 1) Generate an RPC credential first (do NOT store a plaintext password):
# curl -sSL https://raw.githubusercontent.com/bitcoin/bitcoin/master/share/rpcauth/rpcauth.py \
# | python3 - bitcoin
# It prints an rpcauth=... line and a matching password. Paste the rpcauth line below.
# 2) docker compose up -d then follow IBD: docker compose logs -f
services:
bitcoind:
image: bitcoin/bitcoin:28.1
container_name: bitcoind
restart: unless-stopped
stop_grace_period: 2m
user: "1000:1000"
ports:
- "8333:8333" # P2P — public, lets you serve/accept peers
- "127.0.0.1:8332:8332" # RPC — bound to localhost ONLY, never expose
volumes:
- ./bitcoin-data:/home/bitcoin/.bitcoin
command:
- -printtoconsole
- -server=1
- -listen=1
- -prune=10000 # ~10 GB of blocks; set -prune=0 -txindex=1 for a full archival node
- -dbcache=1024 # MB; raise to 2048-4096 on bigger boxes to speed IBD
- -maxmempool=300
- -maxconnections=40
- -rpcbind=0.0.0.0 # binds inside the container; host mapping keeps it on 127.0.0.1
- -rpcallowip=172.16.0.0/12 # docker bridge range, so host-side tools can reach RPC
- -rpcauth=bitcoin:REPLACE_WITH_GENERATED_HASH # <-- paste rpcauth output here
- -disablewallet=1 # node-only; drop this line if you want the built-in wallet
# First run needs ./bitcoin-data owned by uid 1000: mkdir -p bitcoin-data && sudo chown 1000:1000 bitcoin-data
جدار الحماية
المنافذ المطلوب فتحها
| المنفذ | البروتوكول | الغرض |
|---|---|---|
| 8333 | TCP | شبكة Bitcoin P2P — لقبول وخدمة الأقران؛ المنفذ الوحيد الذي يجب أن يكون متاحًا للعامة |
| 8332 | TCP | واجهة تحكم JSON-RPC — اربطها بـ 127.0.0.1 فقط، وصِل إليها عبر نفق SSH أو شبكة خاصة |
| 28332/28333 | TCP | إشعارات ZMQ اختيارية للكتل/المعاملات لعقدة Lightning أو خادم Electrum؛ على localhost فقط |
| 9050 | TCP | وكيل Tor SOCKS محلي اختياري إذا كنت تُشغّل bitcoind عبر Tor لتحقيق خصوصية على مستوى الأقران |
الحجم الأمثل
الباقة التي تحتاجها
VPS Small (2 vCPU / 4 GB RAM / 60-80 GB NVMe)
الإعداد prune=10000 يحتفظ بحوالي 10 GB من الكتل بالإضافة إلى ~10 GB من chainstate؛ يتحقق من السلسلة كاملة، وهو مثالي كبنية خلفية للمحفظة أو عقدة Lightning حيث لا تحتاج إلى بيانات الكتل التاريخية.
VPS Pro أو Storage VPS (4 vCPU / 8 GB RAM / 1 TB disk)
الإعداد prune=0 يخزّن كل كتلة (~650 GB وفي تزايد في 2026)؛ خطط Storage توفر مساحة تخزين كبيرة وبتكلفة منخفضة، والنطاق الترددي غير المحدود يغطي عملية IBD الكاملة وترحيل الأقران.
Dedicated أو Storage VPS كبير (8+ vCPU / 16-32 GB RAM / 1.5-2 TB NVMe)
الإعداد txindex=1 مع Fulcrum/electrs يضيف فهرس عناوين كبيرًا ويخدم العديد من عملاء المحافظ؛ يحتاج إلى NVMe سريع وذاكرة RAM كافية لـ dbcache وإعادة بناء الفهرس.
أفضل المواقع: تناسب أي من المواقع الـ15 لأن النطاق الترددي لدى ChainVPS غير محدود، وهذا بالضبط ما تحتاجه عملية IBD التي تصل إلى مئات الغيغابايتات والترحيل المستمر للعقدة. للتشغيل بدون هوية، اختر مواقع فئة الخصوصية — آيسلندا، سويسرا، مولدوفا، هولندا، رومانيا، أو لوكسمبورغ — حيث لا يوجد أي ربط بين العقدة واسمك؛ كما تُعد ولايات قضائية مثل آيسلندا وسويسرا خيارات جيدة أيضًا إذا كنت تخطط لتشغيلها عبر Tor وتريد بيئة مستقرة وصديقة للخصوصية لعقدة طويلة الأمد.
أحكِم تأمينه
قائمة تحقق التحصين
- لا تُعرِّض المنفذ 8332 للإنترنت أبدًا. أبقِ ربط RPC على 127.0.0.1 كما هو موضح، وصِل إليه عبر `ssh -L 8332:127.0.0.1:8332 user@server`؛ فوجود RPC قابل للوصول ببيانات اعتماد ضعيفة أو يمكن تخمينها هو الطريقة الكلاسيكية التي تُسرَّق أو تُختطف بها العُقد.
- استخدم -rpcauth (وهو hash مُملَّح) بدلاً من -rpcuser/-rpcpassword حتى لا تبقى كلمة مرور نصية واضحة في ملف compose أو قائمة العمليات؛ قم بتدويرها إذا تمت مشاركة الخادم أو أُخذت له لقطة (snapshot) في أي وقت.
- شغّلها عبر Tor لتحقيق خصوصية على مستوى الأقران: ثبّت tor على الخادم وأضف -proxy=127.0.0.1:9050 -listen=1 -bind=127.0.0.1 بالإضافة إلى خدمة onion، بحيث يرى الأقران عنوان .onion بدلاً من عنوان IP الخاص بـ VPS. ادمجها مع -onlynet=onion إذا كنت تريد عدم وجود أي أقران على clearnet إطلاقًا.
- أحكم جدار الحماية باستخدام ufw: اسمح فقط بالمنفذ 22 (SSH، ويفضَّل أن يكون بالمفتاح فقط + منفذ مُغيَّر) والمنفذ 8333 للدخول الوارد، وامنع كل شيء آخر. يفتح bitcoind اتصالات الأقران الصادرة الخاصة به بغض النظر عن ذلك.
- راقب مساحة القرص. العقدة المُقلَّمة تبقى مستقرة عند حوالي 20 GB، لكن العقدة غير المُقلَّمة تنمو باستمرار — أعدّ تنبيهًا لاستخدام القرص واترك مساحة كافية، لأن امتلاء القرص يوقف عملية التحقق ويمكن أن يُتلف chainstate عند حدوث تعطّل مفاجئ.
- اضبط stop_grace_period (دقيقتان أعلاه) واستخدم `docker compose stop`، وليس الإيقاف القسري أبدًا — يحتاج bitcoind إلى وقت لتفريغ chainstate الخاص بـ LevelDB بشكل نظيف، وإلا فإنك تخاطر بإعادة فهرسة بطيئة عند بدء التشغيل التالي.
الأسئلة
الاستضافة Bitcoin Core (bitcoind) — الأسئلة الشائعة
ما مقدار مساحة القرص التي أحتاجها فعليًا؟
العقدة المُقلَّمة (prune=10000 في الإعداد) تبقى عند حوالي 15-20 GB وما زالت تتحقق من السلسلة كاملة. أما العقدة الأرشيفية الكاملة فتخزّن كل كتلة، أي ما يقارب 650 GB في 2026 وتنمو بمعدل 50-70 GB تقريبًا سنويًا، لذا خطِّط لـ 1 TB أو أكثر. إضافة txindex=1 أو خادم Electrum يدفعك نحو 1.5-2 TB من NVMe سريع.
كم يستغرق التنزيل الأولي للسلسلة (IBD)؟
على خادم VPS حديث بنطاق ترددي غير محدود وقيمة dbcache=2048 أو أعلى، توقّع من عدة ساعات إلى نحو يوم كامل للمزامنة والتحقق الكامل بدءًا من الكتلة التكوينية (genesis)، وذلك حسب سرعة المعالج والقرص. رفع قيمة -dbcache أثناء المزامنة الأولية هو أكبر عامل وحيد لتسريع العملية. إنها تكلفة تُدفع مرة واحدة فقط؛ بعدها تقوم العقدة فقط بتنزيل الكتل الجديدة.
هل يمكنني تشغيل عقدة Lightning أو خادم Electrum عليها؟
نعم. فعِّل ZMQ (بإضافة -zmqpubrawblock و -zmqpubrawtx على المنفذين 28332/28333) ووجِّه LND أو Core Lightning أو Fulcrum أو electrs نحو نقاط نهاية RPC وZMQ عبر شبكة Docker المحلية. لاحظ أن Fulcrum/electrs تحتاج إلى txindex=1، لذا لا يمكنك استخدامها مع عقدة مُقلَّمة.
هل العقدة المُقلَّمة أقل أمانًا أو خصوصية؟
لا. تقوم العقدة المُقلَّمة بنفس عملية التحقق الكامل من كل كتلة ومعاملة تمامًا مثل العقدة الأرشيفية — وهي فقط تتخلّص من بيانات الكتل القديمة بعد التحقق منها. أمان وخصوصية محفظتك يبقيان متطابقين تمامًا. الشيء الوحيد الذي تخسره هو القدرة على تقديم الكتل التاريخية للأقران الآخرين أو إعادة فحص معاملات قديمة عشوائية.
هل سيكون عنوان IP لعقدتي مرئيًا؟
نعم — كل قرين تتصل به يرى عنوان IP الخاص بعقدتك، وهذا بالتصميم. ولهذا السبب بالضبط يساعد تشغيلها على VPS أوفشور بدون KYC: يكون عنوان IP تابعًا لخادم لا يرتبط بهويتك أو باتصال منزلك. لتحقيق خصوصية كاملة على مستوى الأقران، شغّل bitcoind عبر Tor كما هو موضح في نصائح التحصين بحيث لا يرى الأقران سوى عنوان .onion.
المزيد للاستضافة الذاتية
حزم أخرى بنقرة واحدة
أطلق فورًا Bitcoin Core (bitcoind)
خلال الـ60 ثانية القادمة.
نطاق غير محدود · حماية DDoS مشمولة · 21 عملة رقمية · بدون KYC.