Node dalam Bitcoin, semuanya adalah sama. Tidak ada hirarki, tidak ada node khusus maupun yang berfungsi sebagai node induk. Jaringan Bitcoin berjalan melalui TCP dan memiliki tipologi acak. Setiap node baru, bisa langsung tergabung pada jaringan kapanpun yang ia inginkan. Semua orang bisa mengunduh Aplikasi Bitcoin, menginstal, dan lalu menjalankan dari laptop ataupun komputer desktop anda. Semua yang tergabung dan terhubung dalam jaringan Bitcoin, mempunyai hak dan kemampuan yang sama.
Jaringan Bitcoin sering berubah dalam waktu ke waktu, dan cukup dinamis, karena ada node yang masuk, dan ada node yang keluar jaringan. Tidak ada cara yang bisa secara eksplisit bisa menjelaskan mengapa node itu meninggalkan jaringan. Jika satu node tidak bisa mendengar publikasi transaksi dalam beberapa waktu, ditubuhkan waktu kurang lebih tiga jam, sebagai durasi untuk proses hardcode kepada klien secara umum. Sedang, node lain akan mulai melupakannya. Dengan cara ini, jaringan bisa menangani node yang akan beranjak ofline. Jadi jeda waktu ini bisa bermanfaat atas keluar masuknya node dalam jaringan tersebut.
Ada beberapa cara yang bisa melihat node secara acak. Idealnya akan menghasilkan satu node yang bisa dilihat dengan cara acak tersebut. Saat node bergabung ke dalam jaringan, satu hal yang perlu diketahui adalah bagaimana cara node itu untuk bisa melakukan kontak dengan salah satu node lain yang telah berada dalam jaringan sebelum anda.
Lalu bagaimana cara node itu saat memutuskan apakah transaksi itu harus disebarkan atau tidak? Sebelumnya, ada empat pemeriksaan yang dibutuhkan saat memberikan validasi pada sebuah transaksi.
Memeriksa bahwa output yang telah ditebus pada transaksi sebelumnya itu belum dibelanjakan atau dikeluarkan.
Semua pemeriksaan ini adalah pemeriksaan yang wajar saja sifatnya. Dan semua node harus menerapkan ini untuk menjaga jaringan bisa terus terjaga dan bekerja dengan baik. Meski pada dasarnya tidak ada aturan yang secara spesifik bahwa node harus menjalankan langkah ini. Karena jaringan Bitcoin adalah peer-to-peer. Semua orang bisa bergabung didalamnya. Kemungkinan-kemungkinan node yang melakukan double spend selalu ada.
Ketika seorang node mendengar salah satu transaksi itu, maka kemudian menambahkannya ke dalam pool transaksi. Sedangkan jika mendengar tentang transaksi lainnya, maka akan terlihat adanya double spend. Lalu node itu menjatuhkan transaksi terakhir tersebut, dan tidak merelay transaksi ataupun memasukkan kedalam pool transaksi. Akibatnya, node tidak menyetujui transaksi itu untuk ditambahkan kedalam blok berikutnya. Situasi seperti ini disebut dengan race condition.
Kabar bagusnya, proses ini bisa berjalan dengan baik untuk mengatasi double spend. Jadi siapapun penambangnya yang akan menambang blok berikutnya, harus menentukan satu diantara dua transaksi tertunda itu. Transaksi mana yang akan dimasukkan ke dalam blok secara permanen.
Umumnya perilaku node bergantung pada apa yang pertamakali mereka dengar. Hal ini akan memposisikan transaksi di dalam jaringan. Jika dua transaksi yang berbeda atau bertentangan diumumkan pada dua posisi jaringan yang berbeda, maka selanjutnya mereka akan mulai membanjiri seluruh jaringan Bitcoin. Transaksi mana yang dilihat node pertamakali bergantung pada di posisi mana transaksi itu berada dalam jaringan Bitcoin.
Asumsinya, bahwa semua node akan menerapkan hal ini, yakni tetap berdasarkan pada apapun yang dilihatnya pertamakali. Karena tidak ada otoritas terpusat yang membuat node harus menjalankan ini, maka node juga bebas untuk mengimplementasikan logika lain yang diinginkan. Dalam hal memilih satu dari dua transaksi yang bertentangan itu.
Nah, sejauh ini kita telah melihat bagaimana proses berjalannya transaksi. Dalam mengumumkan blok baru, prosesnya sama seperti pada penyebaran sebuah transaksi baru. Selain itu juga bergantung pada race condition yang sama. Jika dua blok ditambang dalam waktu yang bersamaan, hanya akan ada satu blok yang akan dimasukkan. Blok mana dari keduanya yang akan dimasukkan, bergantung pada blok mana yang salah satu bloknya, dibangun diatasnya oleh node lain. Maka blok lainnya akan menjadi blok yatim (orphan block).
Pada dasarnya, cukup sulit untuk bisa mengukur besarnya jaringan dalam Bitcoin. Karena seperti yang telah disampaikan diawal, bahwa jaringan cukup dinamis, dan tidak ada otoritas pusat didalamnya. Ada peneliti yang mengatakan bahwa jaringan terdapat satu juta alamat IP pada bulan tertentu sebagai simpul node Bitcoin. Lalu ada yang melihat hanya ada sekitar 5.000 sampai 10.000 node yang terhubung secara permanen di dalam jaringan Bitcoin. Dan node tersebut sepenuhnya memvalidasi setiap transaksi yang mereka dengar.
Full node, harus tetap terhubung secara permanen di dalam jaringan. Sehingga bisa mendengar keseluruhan data. Semakin lama node ofline, maka semakin membutuhkan penangkapan data yang harus dilakukan ketika kembali terhubung kedalam jaringan. Selain itu, node itu juga harus menyimpan seluruh rantai blok dan memerlukan koneksi jaringan yang baik. Tentu saja untuk bisa mendengar setiap transaksi baru dan meneruskannya kepada node lainnya. Kebutuhan akan ruang penyimpanan ini saat ini berukuran gigabytes.
Full node juga harus menjaga keseluruhan output transaksi yang belum terpakai atau terbelanjakan, pada koin yang bisa dan tersedia untuk dibelanjakan. Idealnya, ini akan bisa tersimpan dalam RAM. Sehingga setelah mendengar ada transaksi baru yang diusulkan dalam jaringan, node bisa secara cepat melihat output transaksi yang akan di klaim. Lalu menjalankan script, melihat apakah signature pada transaksi itu valid, lalu menambahkan transaksi tersebut kedalam pool transaksi.
Cukup berbeda dengan full node, pada lightweight node (node ringan) ini disebut juga dengan thin clients, atau Simple Payment Verification (SPV). Sebagian besar node dalam jaringan Bitcoin adalah node ringan ini. Node ringan berbeda sepenuhnya dengan full node. Perbedaannya, karena node ringan ini tidak menyimpan seluruh rantai blok. Mereka hanya menyimpan potongan-potongan kecil saja, yang mereka butuhkan untuk memverifikasi transaksi tertentu yang mereka perdulikan.
Mudahnya, contoh node ringan ini bisa dilihat saat kita menggunakan wallet Bitcoin. Karena biasanya akan menggabungkan node SPV. Node ini mendownload header blok dan transaksi yang mewakili pembayaran ke alamat yang anda gunakan.
Node SPV ini tidak memiliki tingkat keamanan seperti halnya pada full node. Karena node SPV telah bisa mengunduh header blok, itu bisa dipakai untuk memeriksa apakah blok itu sullit untuk ditambang atau tidak. Namun tidak bisa untuk melihat setiap transaksi yang dimasukkan kedalam blok yang valid. Karena mereka tidak menyimpan sejarah transaksi, dan tidak juga mengetahui serangkaian output transaksi yang belum dibelanjakan.
Node SPV hanya bisa memvalidasi transaksi yang berhubungan dan akan mempengaruhi transaksi mereka saja. Sehingga pada dasarnya, node ini mempercayakan kepada full node untuk memvalidasi seluruh transaksi lainnya yang terjadi di dalam jaringan.
Anggapannya, telah ada full node yang akan bisa bekerja keras, dan jika para penambang kesulitan untuk menambang blok ini, yang pada dasarnya merupakan proses yang mahal, mereka mungkin juga melakukan beberapa validasi untuk memastikan bahwa blok ini tiddak akan ditolak.
Untuk menjadi node SPV ini artinya telah melakukan penghematan biaya yang besar. Karena tidak membutuhkan koneksi bagus, ruang penyimpanan yang besar hingga gigabyte, perangkat yang memadai seperti pada full node. Sedangkan, header blok yang dibutuhkan node ringan ini hanya berukuran 1/1000 dari ukuran blockchain. Jadi, untuk menyimpannya hanya membutuhkan puluhan megabyte.
Keduanya dibeli seharga 160 juta rubel, yang berkisar kurang lebih 3 juta usd. Kalau dirupiahkan, kedua stasiun pembangkit listrik tersebut dibeli dengan harga kurang lebih 40,2 miliar rupiah. Peristiwa itu jadi yang pertama di Rusia, terjadi penjualan dua stasiun pembangkit listrik yang digunakan hanya untuk keperluan pertambangan kripto saja.
Kebutuhan suplai tenaga listrik yang besar untuk pertambangan bitcoin, menjadi satu-satunya alasan pengusaha asal Rusia tersebut. Dengan harapan untuk dapat memangkas biaya pengeluaran energi listrik dalam pertambangannya. Tentu saja, karena biaya energi listrik dalam pertambangan, menjadi faktor utama keberlangsungan pertambangan bagi para penambang kripto.
Pengetatan aturan yang terjadi di Cina beberapa waktu yang lalu, nampaknya membuka banyak peluang pertambangan dari negara lain. Pemerintah Cina telah memberlakukan regulasi yang lebih banyak membatasi ruang para penambang kripto. Padahal, selama ini telah banyak diketahui di Cina, menjadi lokasi yang subur bagi para penambang, terutama karena harga energi listriknya yang relatif lebih murah.
Sejauh ini di Rusia, memang masih belum ada regulasi yang pasti berkaitan dengan dunia kripto. Terakhir kali, rancangan undang-undang tentang kripto di Rusia yang telah dirancang bulan Desember tahun lalu masih tengah berjalan. Harapannya, penerapan undang-undang itu dapat mulai berjalan pada bulan Maret mendatang.