Hampir semua wallet Bitcoin yang dipakai sehari-hari adalah klien dari node milik orang lain. Wallet di ponsel Anda bertanya ke sebuah server output mana di chain yang menjadi milik Anda; server itu pun jadi tahu alamat-alamat Anda, mengelompokkannya menjadi satu wallet, dan mencatat IP serta waktu Anda mengeceknya. Bitcoin full node menghilangkan pihak ketiga ini: node mengunduh setiap block, memeriksa setiap aturan konsensus terhadap salinan chain miliknya sendiri, dan menjawab sendiri pertanyaan dari wallet Anda.
VPS adalah tempat yang wajar untuk menjalankannya: selalu menyala, NVMe cepat untuk chainstate, alamat routable yang stabil untuk inbound peer, dan tidak perlu berdebat dengan ISP soal mesin yang akan memindahkan beberapa ratus gigabyte pada minggu pertamanya. Penentuan ukuran adalah bagian yang paling sering salah diambil orang, ke dua arah, jadi panduan ini dimulai dari situ — pruned atau archive adalah satu-satunya keputusan yang menentukan tagihan Anda, dan di grid kami itu adalah selisih antara $5 dan $99. Sewa VPS-nya tanpa KYC dan bayar dengan BTC, atau dengan Monero jika Anda lebih suka pembayarannya tidak menjadi catatan publik permanen.
Apa sebenarnya yang Anda dapatkan dari node sendiri
Ada tiga hal, dan hanya dua di antaranya yang berkaitan dengan privasi.
- Verifikasi. Node Anda menegakkan konsensus sendiri — setiap signature, script, subsidy, dan penyesuaian difficulty, diperiksa terhadap salinan chain miliknya sendiri. Tidak ada yang bisa meyakinkannya bahwa sebuah coin ada padahal sebenarnya tidak. Inilah bagian yang tidak bisa didelegasikan: light wallet hanya percaya pada jawaban sebuah server.
- Privasi di lapisan jaringan. Light wallet harus memberi tahu seseorang alamat mana yang menjadi perhatiannya. Bahkan protokol yang paling sopan sekalipun memberi server cukup informasi untuk mengelompokkan alamat-alamat Anda menjadi satu wallet dan menautkannya ke sebuah IP. Node Anda sendiri menjawab kueri-kueri itu secara lokal.
Yang tidak Anda dapatkan dari sebuah node adalah anonimitas on-chain. Ledger tetap publik dan permanen; node hanya membenahi lapisan jaringan. Jika yang Anda butuhkan adalah unlinkability pada chain itu sendiri, itu urusan chain lain — jalankan node Monero sebagai gantinya — dan apakah VPS yang dibayar dengan kripto benar-benar anonim? menjabarkan sisa perhitungannya.
Pruned atau archive: keputusan yang menentukan tagihan Anda
Kedua jenis node ini melakukan validasi secara identik. Node pruned mengunduh setiap block, memeriksa setiap aturan, dan membangun UTXO set yang sama, lalu menghapus block file lama yang sudah tidak dibutuhkan. Yang dikorbankan adalah kemampuan untuk menyediakan (serve) riwayat: ia tidak bisa memberi block lama ke peer yang sedang sync, tidak bisa melakukan rescan pada wallet yang coin-nya lebih tua dari prune horizon-nya, dan tidak bisa menjadi backend untuk index yang membaca transaksi historis sembarang.
Selisih ukurannya tidak main-main. Pada 2026, chain unpruned sudah jauh melampaui 700 GB dan masih bertambah puluhan gigabyte per tahun — cek angka terbaru sebelum memutuskan ukuran disk, karena angka ini hanya akan naik. Node pruned dengan prune=5000 menyimpan sekitar 5 GB block file plus UTXO set dan database milik Core sendiri: anggap saja datadir-nya 20 GB.
Jadi pakai pruned kecuali Anda punya alasan khusus untuk tidak melakukannya. Alasan-alasan itu sempit: menyediakan block historis kembali ke jaringan, txindex untuk block explorer, atau menjalankan Electrum server sendiri.
Apa yang sebenarnya dibutuhkan Bitcoin Core
- CPU. Satu core sudah cukup untuk mengikuti tip tanpa batas waktu. Initial block download adalah saat core-core ini benar-benar bekerja, karena verifikasi signature bisa diparalelkan — 2 sampai 4 vCPU mempersingkat sync pertama lalu kembali idle setelahnya. Virtualisasi KVM penuh lebih penting daripada jumlah core: isolasi hardware yang nyata dan kernel milik Anda sendiri, bukan container yang berbagi dengan orang lain.
- RAM. 2 GB adalah batas bawah kerja untuk node pruned.
dbcacheadalah dial yang benar-benar berpengaruh — satu atau dua gigabyte cache UTXO selama IBD menghilangkan berjam-jam random read, dan Anda bisa mengecilkannya kembali setelahnya. - Disk. Ukurannya seperti di atas, dan NVMe, bukan yang lain. IBD didominasi oleh akses acak ke chainstate, bukan oleh proses download-nya.
- Bandwidth. IBD memindahkan seluruh chain terlepas dari pruning: beberapa ratus gigabyte, satu kali. Node yang listening kemudian meng-upload secara stabil ke peer lain, bisa dibatasi dengan
maxuploadtarget. Setiap paket di sini berjalan dengan port 1 Gbps dan traffic unlimited tanpa tagihan kelebihan pemakaian.
Paket mana yang cocok, dan berapa biayanya
Angka konkret dari grid kami, karena “tergantung” bukan jawaban:
- Pruned, pemakaian pribadi — Cub, 1 vCPU / 2 GB / 40 GB NVMe, $5.00/mo. Datadir 20 GB dengan ruang lebih, dan rekomendasi paling jujur untuk sebagian besar pembaca.
- Pruned, lebih nyaman — Scout, 2 vCPU / 4 GB / 70 GB, $9.00/mo. Kira-kira memangkas separuh waktu tunggu sync. Kalau VPS ini akan mengerjakan lebih dari satu tugas, mulai dari sini.
- Node plus Lightning plus monitoring — Runner, 3 vCPU / 6 GB / 100 GB, $14.00/mo.
- Full archive — di sinilah kejujuran mengalahkan upselling. Garmr (500 GB, $69.00/mo) sudah tidak muat lagi untuk chain unpruned 2026, jadi jangan beli paket ini untuk keperluan tersebut. Fenrir (16 vCPU / 64 GB / 800 GB NVMe, $99.00/mo) muat, dengan daya tahan terukur dalam hitungan beberapa tahun, bukan selamanya.
Lokasi tidak relevan untuk sebuah node, yang tidak punya kebutuhan latency, jadi pilih berdasarkan harga atau yurisdiksi: Amsterdam, Paris, Bucharest, dan Sofia berada di harga dasar, sementara Stockholm, Kuala Lumpur, Reykjavik, dan Zurich punya pengali harga. Penagihan tahunan hanya membebankan sepuluh bulan, bukan dua belas.
Langkah demi langkah
- Pesan VPS-nya dan lakukan hardening
Pilih Cub untuk node pruned atau Fenrir untuk archive, pilih Debian 12 atau 13 dari template library, lalu deploy — provisioning memakan waktu kira-kira satu menit. Sebelum node ini terhubung ke internet, luangkan sepuluh menit untuk dasar-dasar dari panduan hardening Debian kami: SSH key saja, login password root dinonaktifkan, nftables default-deny, dan unattended security upgrades.
- Install Bitcoin Core dari rilis yang terverifikasi
Download tarball Linux x86-64 dari bitcoincore.org dan verifikasi. Setiap rilis menyertakan file
SHA256SUMSdengan detached signature dari beberapa builder independen; memeriksa hash dan setidaknya satu signature menutup seluruh kelas serangan tertentu.wget https://bitcoincore.org/bin/bitcoin-core-XX.X/bitcoin-XX.X-x86_64-linux-gnu.tar.gz wget https://bitcoincore.org/bin/bitcoin-core-XX.X/SHA256SUMS sha256sum --ignore-missing --check SHA256SUMS tar xzf bitcoin-*.tar.gz install -m 0755 bitcoin-*/bin/bitcoind bitcoin-*/bin/bitcoin-cli /usr/local/bin/ useradd -r -m -d /var/lib/bitcoind bitcoinGanti
XX.Xdengan rilis yang berlaku saat ini. Menjalankan daemon-nya sebagai user tidak berhak istimewa miliknya sendiri, bukan root, bukanlah pilihan opsional. - Tulis bitcoin.conf
Buat
/var/lib/bitcoind/bitcoin.conf. Baseline untuk pruned:datadir=/var/lib/bitcoind prune=5000 dbcache=1024 server=1 listen=1 maxconnections=40 maxuploadtarget=0Ada dua hal yang sengaja tidak dicantumkan. Tidak ada
rpcbinddan tidak adarpcallowip: secara default Core mengikat RPC ke localhost dan default itu sudah benar — port RPC yang bisa dijangkau dari internet adalah wallet drain yang tinggal menunggu waktu. Dan tidak adatxindex, yang memang dilarang oleh pruning. - Jalankan lewat systemd
[Unit] Description=Bitcoin Core daemon After=network-online.target Wants=network-online.target [Service] User=bitcoin Group=bitcoin Type=notify ExecStart=/usr/local/bin/bitcoind -conf=/var/lib/bitcoind/bitcoin.conf Restart=on-failure TimeoutStopSec=600 PrivateTmp=true ProtectSystem=full NoNewPrivileges=true [Install] WantedBy=multi-user.targetSimpan sebagai
/etc/systemd/system/bitcoind.service, lalusystemctl enable --now bitcoind.TimeoutStopSec=600adalah baris yang penting: Core butuh waktu untuk melakukan flush chainstate saat shutdown, dan mematikannya paksa di tengah proses flush akan merusak database dan membuat Anda harus re-sync. - Buka satu port, dan hanya satu
Inbound peer menjangkau Anda lewat port 8333. Itulah satu-satunya port yang dibutuhkan internet:
nft add rule inet filter input tcp dport 8333 acceptJangan buka 8332, port RPC-nya. Kalau Anda butuh RPC dari laptop, tunnel lewat SSH atau lewat tunnel WireGuard ke VPS yang sama — jangan pernah lewat internet terbuka, pakai password atau tidak. Filtering DDoS always-on yang sudah termasuk di setiap paket menyerap scanning yang selalu ditarik oleh alamat node yang terdaftar.
- Biarkan initial block download berjalan
Nyalakan dan biarkan berjalan sendiri. Untuk memantau progress-nya:
bitcoin-cli getblockchaininfo | grep -E 'blocks|headers|verificationprogress|size_on_disk' journalctl -fu bitcoindverificationprogressyang naik menuju 1.0 adalah angka yang bisa dipercaya. Prosesnya non-linear, jadi beberapa persen terakhir memakan waktu lebih lama daripada yang terlihat dari kurvanya. Tahan keinginan untuk me-restart daemon-nya hanya karena terlihat macet — hampir selalu itu sedang menulis. - Pastikan node ini benar-benar melakukan validasi
Ketika
verificationprogressmencapai kurang lebih 1.0 daninitialblockdownloadmelaporkanfalse, bandingkan height Anda dengan explorer publik mana pun, lalu konfirmasikan hal-hal yang bisa diam-diam salah:bitcoin-cli getnetworkinfo | grep -E 'version|connections' bitcoin-cli getpeerinfo | grep -c inbound bitcoin-cli getindexinfoKoneksi inbound di atas nol berarti port 8333 memang benar-benar reachable dan Anda ikut berkontribusi, bukan hanya mengonsumsi.
- Arahkan sebuah wallet ke node ini
Jalur termurah tidak memakan biaya tambahan apa pun: Sparrow terhubung langsung ke Bitcoin Core lewat RPC, tanpa Electrum server sama sekali. Forward port RPC ke laptop Anda dengan
ssh -Llalu arahkan Sparrow ke tunnel tersebut. Satu catatan soal pruning yang sering mengejutkan orang: Core tidak bisa melakukan rescan di bawah prune horizon, jadi wallet yang sudah ada dan menyimpan coin lama tidak akan menemukan riwayatnya di node pruned. Gunakan node ini untuk wallet yang dibuat setelah node selesai sync, atau jalankan dalam mode unpruned.
Initial block download: apa yang sebenarnya diubah oleh NVMe
IBD bukan masalah download. Beberapa ratus gigabyte tiba lewat port 1 Gbps hanya dalam hitungan jam; yang memakan waktu berhari-hari adalah apa yang terjadi setelahnya — memverifikasi setiap signature sejak 2009 dan memelihara UTXO set yang terus-menerus dibaca ulang secara acak. Beban kerja ini dibatasi pertama-tama oleh latency storage, baru kemudian CPU.
Efek praktisnya berbeda satu orde besaran. Di NVMe RAID10 dengan dbcache beberapa gigabyte, IBD pruned biasanya selesai dalam kira-kira satu hari. Pekerjaan yang sama di SATA SSD shared milik host murah biasanya memakan waktu satu minggu dan kadang tidak pernah selesai, karena operatornya menyerah lebih dulu. Di sinilah NVMe versus SSD berhenti menjadi sekadar baris di spec-sheet. Setiap paket di sini all-NVMe, itulah sebabnya tier termurah adalah tempat yang realistis untuk menjalankan node, bukan sekadar teknikalitas.
Satu tuas kalau Anda tidak sabar: naikkan dbcache setinggi yang RAM izinkan selama proses sync berlangsung, lalu kembalikan seperti semula.
Menjalankan node lewat Tor
Core punya dukungan Tor kelas satu, dan untuk node pribadi, Tor-only adalah default yang layak dipilih. Mode ini menyembunyikan node mana yang menjadi asal sebuah transaksi, membuat alamat VPS Anda tidak muncul di daftar peer Bitcoin yang di-gossip secara permanen, dan memungkinkan wallet Anda sendiri menjangkau node dari mana saja tanpa membuka inbound port.
Install tor, tambahkan user daemon-nya ke grup debian-tor supaya Core bisa menjangkau control port, lalu tambahkan ke bitcoin.conf:
proxy=127.0.0.1:9050
onlynet=onion
listenonion=1
discover=0
dnsseed=0Core membuat dan mengumumkan onion service v3 miliknya sendiri secara otomatis; konfirmasikan dengan bitcoin-cli getnetworkinfo bahwa alamat onion-nya terdaftar dan jaringan onion tampil sebagai reachable.
Trade-off yang jujur: peer onion lebih sedikit dan lebih lambat, jadi sync lewat Tor memakan waktu jauh lebih lama. Kalau Tor memang sudah berjalan di VPS ini, panduan Tor relay dan catatan VPS ramah Tor kami membahas sisi kebijakannya — relay dan onion service disambut baik di sini, bukan sekadar ditoleransi.
Electrum server sendiri: electrs atau Fulcrum
Sebuah Electrum server duduk di antara node Anda dan wallet berprotokol Electrum, menyimpan tampilan chain yang ter-index berdasarkan alamat sehingga wallet bisa bertanya “ada apa di scripthash ini?” dan mendapat jawaban instan. Menjalankan server sendiri berarti Electrum, Sparrow, dan BlueWallet terhubung ke Anda, bukan ke server publik yang melihat setiap alamat yang Anda miliki.
Jebakan yang dilewatkan tutorial-tutorial singkat: electrs dan Fulcrum sama-sama membutuhkan node unpruned. Keduanya membangun index dengan membaca block file secara langsung, sehingga riwayatnya harus tetap ada di disk. Menambahkan Electrum server karena itu menyeret Anda dari VPS pruned $5 menjadi node full archive plus 50–100 GB lagi untuk index-nya — wilayah Fenrir, bukan Cub.
Di antara keduanya, electrs lebih ringan memorinya tapi lebih lambat membangun index-nya; Fulcrum meng-index dan menjawab lebih cepat tapi menginginkan RAM lebih besar. Keduanya listen di port 50001 plaintext dan 50002 TLS. Jaga agar keduanya tetap terikat ke localhost dan jangkau lewat tunnel WireGuard atau onion service, bukan dengan mengeksposnya.
Menambahkan Lightning di atasnya
Node Lightning membutuhkan backend Bitcoin yang bisa dipercaya, dan node Anda sendiri adalah kandidat yang jelas. Kedua implementasi utama berjalan berdampingan dengan Core di VPS yang sama:
- LND berbicara ke bitcoind lewat RPC dan ZMQ. Tambahkan endpoint
zmqpubrawblockdanzmqpubrawtxkebitcoin.conf, terikat hanya ke localhost. - Core Lightning secara default memanggil
bitcoin-cli, yang lebih sederhana untuk dinalar dan tidak membuka port tambahan.
Pruning juga mempersulit ini. LND bisa bekerja dengan bitcoind pruned tapi harus mengambil block historis yang hilang dari peer lain, yang lebih lambat dan kadang rapuh; Core Lightning lebih nyaman kalau riwayatnya tersedia. Kalau Lightning memang tujuan sejak awal, terima saja node unpruned atau hadapi friksi itu dengan sadar.
Lightning sendiri ringan — database channel-nya hanya ratusan megabyte — tapi harus tetap online untuk mengawasi channel breach, dan itulah alasan memakai VPS dibanding laptop yang bisa sleep. Port 9735 adalah port P2P Lightning, dan node Lightning Tor-only adalah hal yang sepenuhnya normal.
Menjaga node tidak tertaut ke identitas Anda
Node bukan sebuah rahasia, tapi ia adalah mesin yang berjalan terus-menerus, mengumumkan sebuah alamat ke jaringan gossip global, dan — kalau Anda ceroboh — disewa atas nama Anda dengan kartu atas nama Anda.
- Daftar tanpa identitas. Tidak ada KYC di sini, sejak dirancang: tidak ada ID, tidak ada upload dokumen, tidak ada langkah verifikasi yang bisa gagal.
- Bayar on-chain. Top up dengan BTC dan deploy dari saldo, atau dengan Monero kalau Anda lebih suka pembayarannya sendiri tidak menjadi catatan publik permanen — layak dipikirkan ketika yang Anda danai adalah sebuah node Bitcoin. Bagaimanapun juga tidak ada kartu dan tidak ada processor pihak ketiga; mekanismenya ada di cara membeli VPS tanpa kartu kredit.
- Jangan taruh identitas apa pun di VPS ini. Jangan beri nama hostname sesuai nama Anda, jangan pakai ulang SSH key yang muncul di profil hosting kode publik, dan ingat bahwa alamat node yang listening memang dipublikasikan sejak dirancang — argumen praktis terkuat untuk mode Tor-only di atas.
Bandwidth, abuse, dan perawatan hari kedua
Yang bisa dilihat oleh host hanyalah sebuah mesin yang memindahkan traffic peer-to-peer secara stabil di port yang sudah dikenal. Tidak ada apa pun tentang wallet, alamat, atau saldo Anda — semua itu tidak pernah meninggalkan VPS ini, dan itulah inti dari semuanya. Node yang melakukan validasi adalah infrastruktur biasa dan secara eksplisit dipersilakan; satu baris yang bersebelahan di acceptable use policy adalah bahwa penambangan cryptocurrency tidak diperbolehkan di paket shared, karena memonopoli core yang dipakai bersama. Node bukan miner: setelah IBD, ia nyaris idle.
Hari kedua berjalan tanpa drama. Core merilis versi major kira-kira setiap enam bulan, dan upgrade berarti: hentikan service, ganti binary-nya, jalankan lagi — datadir-nya forward-compatible dan tidak perlu re-sync. Backup descriptor Anda kalau node ini menyimpan wallet sama sekali; selain itu tidak ada yang perlu dikhawatirkan, karena chain akan ter-download ulang menurut definisinya. Kalau Anda kehabisan ruang disk — dan node archive pasti akan begitu — naik ke tier di atasnya memperbesar disk secara online tanpa install ulang, dibebankan pro-rata dari saldo Anda.
Pertanyaan yang sering diajukan
Paket VPS mana yang saya butuhkan untuk node Bitcoin?
Pruned: Cub (1 vCPU / 2 GB / 40 GB NVMe, $5.00/mo) sudah benar-benar cukup, dan Scout (2 vCPU / 4 GB / 70 GB, $9.00/mo) adalah versi yang lebih nyaman, sync lebih cepat dan masih menyisakan ruang untuk Lightning. Full archive: chain 2026 sudah tidak muat lagi di 500 GB milik Garmr, jadi Fenrir (800 GB, $99.00/mo) adalah jawaban yang jujur.
Berapa banyak disk yang dipakai node Bitcoin pruned?
Sekitar 20 GB dengan prune=5000: kira-kira 5 GB block file yang disimpan plus UTXO set dan database milik Core sendiri. Core menerima prune=550 sebagai nilai minimum, yang lebih kecil tapi tidak menyisakan margin untuk reorg — 5000 adalah default yang lebih baik dan tetap remeh dibandingkan 40 GB disk.
Berapa lama initial block download berlangsung?
Di storage all-NVMe dengan dbcache beberapa gigabyte, kira-kira satu hari untuk node pruned dan lebih lama untuk node archive. Bottleneck-nya adalah verifikasi dan random read terhadap chainstate, bukan proses download-nya — sync yang sama di host SATA atau shared-disk biasa memakan waktu satu minggu.
Bisakah saya menjalankan electrs atau Fulcrum di node pruned?
Tidak. Keduanya membangun address index dengan membaca block file historis, sehingga membutuhkan node unpruned dengan seluruh chain tersimpan di disk, ditambah 50–100 GB lagi untuk index-nya. Jika Anda menginginkan backend wallet privat tanpa biaya sebesar itu, hubungkan Sparrow langsung ke Bitcoin Core lewat RPC — node pruned menangani ini dengan baik untuk wallet yang dibuat setelah sync selesai.
Apakah menjalankan node Bitcoin diperbolehkan di paket VPS shared?
Ya. Sebuah node melakukan validasi dan relay; ini adalah infrastruktur, satu kategori dengan Tor relay atau DNS resolver, dan port 1 Gbps unlimited-traffic berarti bandwidth bukan masalah. Aturan yang perlu diketahui adalah yang bersebelahan: penambangan cryptocurrency tidak diperbolehkan di paket shared. Node bukan miner dan nyaris idle setelah selesai sync.
Apakah menjalankan node sendiri membuat bitcoin saya anonim?
Tidak, dan siapa pun yang bilang sebaliknya sedang menjual sesuatu. Node Anda membenahi lapisan jaringan: tidak ada server pihak ketiga yang tahu alamat, IP, atau waktu aktivitas Anda. Chain itu sendiri tetap publik dan bisa dianalisis selamanya. Jika unlinkability on-chain adalah kebutuhan Anda, Bitcoin bukan alat yang tepat — lihat panduan node Monero kami.
Mengapa menjalankan node di VPS, bukan di rumah?
Uptime, alamat routable yang stabil untuk inbound peer, tidak perlu menghadapi minggu pertama beberapa ratus gigabyte yang membentur kuota data rumah, kecepatan sync NVMe, dan IP rumah Anda yang tidak muncul di gossip peer publik Bitcoin. Node di rumah itu bagus dan Anda sebaiknya menjalankannya jika bisa — VPS hanya menghilangkan semua alasan operasional untuk tidak melakukannya.

