Aturan konsensus menentukan transaksi dan blok mana yang dapat diterima Bitcoin. Setiap Full Node, yaitu program yang memverifikasi jaringan secara mandiri, menerapkan aturan itu sendiri. Misalnya, node memeriksa apakah dana yang sama dibelanjakan lagi, apakah syarat pembelanjaan yang ditulis dalam bahasa Bitcoin Script terpenuhi, dan apakah blok memiliki Proof of Work yang sah, yakni bukti ditemukannya solusi untuk tantangan penambangan. Node juga memeriksa jumlah bitcoin baru yang dibuat. Daya komputasi yang lebih besar tidak memberi penambang hak untuk melewati aturan tersebut.
Bayangkan seseorang memakai dana yang sama dari pembayaran sebelumnya untuk membayar Anda, lalu membayar sebuah toko. Kedua pengeluaran itu tidak dapat menjadi bagian dari riwayat yang sah. Untuk memeriksanya, node melacak output transaksi: catatan jumlah dana beserta syarat untuk membelanjakannya. Saat menerima blok, node memeriksa kesesuaiannya dengan aturan yang dijalankannya, bukan siapa yang merekomendasikan blok itu. Pemeriksaan mencakup ketersediaan output yang dibelanjakan, syarat Bitcoin Script beserta tanda tangan yang diwajibkan, Proof of Work, dan imbalan penambang yang diizinkan. Pelanggaran aturan membuat blok ditolak. Dukungan perusahaan atau mayoritas suara di internet tidak mengubah hasilnya. [1]
Penambang memilih transaksi dan mencari blok; Full Node memeriksa hasilnya secara mandiri. Pengembang dapat mengusulkan perubahan dan merilis perangkat lunak, tetapi tindakan itu saja tidak mengubah aturan node lain. Operator memilih perangkat lunak yang dijalankan. Pilihan tersebut menentukan apa yang diterima node miliknya, bukan apa yang wajib diterima semua pihak lain. [2] [1]
Node juga memiliki aturan untuk transaksi yang belum dikonfirmasi: mana yang disimpan dalam Mempool, kumpulan lokal transaksi yang menunggu konfirmasi, dan mana yang diteruskan ke node lain. Aturan lokal yang disebut policy ini dapat lebih ketat daripada konsensus. Penolakan dari mempool saja tidak berarti transaksi itu tidak sah jika dimasukkan ke dalam blok. Kebijakan penerusan tidak diterapkan saat memvalidasi blok. [3]
Soft Fork memperketat aturan: blok yang sah menurut aturan baru juga memenuhi aturan lama. Namun, node lama tidak memeriksa syarat baru tersebut. Sebaliknya, Hard Fork dapat mengizinkan blok yang ditolak node lama. Mekanisme aktivasi membantu mengoordinasikan perubahan; mekanisme ini tidak menjamin persetujuan semua pihak atau menggantikan keputusan operator dalam memilih perangkat lunak. [4]
Dengan menjalankan Full Node sendiri, Anda dapat memeriksa blok yang diterima tanpa bergantung pada situs penjelajah blok. Node mungkin mengetahui beberapa cabang, yaitu kelanjutan yang berbeda dari riwayat yang sama. Di antara cabang yang sah, node memilih berdasarkan chainwork: jumlah kerja yang diperhitungkan untuk setiap blok sesuai tingkat kesulitan penambangannya. Ini bukan pengukuran listrik yang benar-benar terpakai ataupun sekadar hitungan jumlah blok. Kerja yang lebih besar tidak membenarkan pelanggaran aturan. Agar mencapai hasil yang sama, node harus menerapkan aturan secara konsisten, termasuk dalam keadaan yang tidak biasa. Kesalahan program dapat membuat mereka menerima blok yang berbeda. [4] [5]
Node dapat menolak meneruskan transaksi yang biayanya terlalu rendah. Namun, jika penambang memasukkannya ke dalam blok dan transaksi serta blok itu memenuhi konsensus, node menerima blok tersebut. Jika penambang justru mengambil lebih dari jumlah bitcoin baru yang diizinkan, yang disebut Block Subsidy, ditambah biaya transaksi di dalam blok, node menolak blok meski Proof of Work-nya sah. Pembeda utamanya adalah alasan penolakan, bukan reputasi penambang. [3] [1]
Untuk gambaran yang lebih utuh, baca entri ini bersama Full Node, Soft Fork, Proof of Work, Bitcoin Core, Bitcoin Script, Mempool. Entri ini juga dirujuk dari 21 Million, Soft Fork, Hard Fork, BIP (Bitcoin Improvement Proposal).