Hanya untuk tujuan edukasi; bukan merupakan nasihat investasi atau rekomendasi investasi. Investasi dapat mengakibatkan kerugian.
Jawaban langsung
Konsensus Nakamoto adalah proses bergaya Bitcoin tempat node menegakkan aturan validitas konsensus secara independen, produsen proof of work memperpanjang blok tanpa daftar keanggotaan berizin, blok menyebar melalui jaringan peer-to-peer, dan setiap node memilih cabang valid dengan proof of work kumulatif terbanyak. Proses ini mengurutkan transaksi yang valid menurut tampilan yang diamati node; proses ini tidak membuat transaksi tidak valid menjadi valid, menetapkan fakta di luar ledger, atau menciptakan finalitas deterministik seketika.
Validitas mendahului pemilihan chain. Cabang dengan header, proof of work, transaksi, skrip, keluaran yang telah dibelanjakan, jumlah coinbase, atau batas blok yang tidak valid ditolak terlepas dari tinggi atau pekerjaan yang diklaim. Di antara cabang yang lolos aturan node dan datanya tersedia, chainwork kumulatif, bukan jumlah blok saja, menentukan chain aktif. “Chain terpanjang” karena itu adalah singkatan informal untuk chain valid yang mewakili upaya proof of work terbanyak.
Tip aktif bersifat sementara. Blok valid yang bersaing dapat memberi node jujur yang terhubung baik tampilan lokal berbeda untuk sementara; pekerjaan tambahan biasanya menyelesaikan fork, dan node dapat memutus satu cabang lalu menghubungkan cabang lain dalam reorganisasi. Jumlah konfirmasi transaksi mengukur kedalamannya pada chain aktif saat ini bagi pengamat. Kedalaman lebih besar dapat menurunkan probabilitas mengejar dalam model hashrate dan jaringan tertentu, tetapi tidak ada jumlah konfirmasi yang final secara universal.
Istilah ini mencakup lebih dari hashing. Argumen keamanannya juga bergantung pada validitas blok dan transaksi, propagasi peer-to-peer, adopsi jujur atas chain valid dengan pekerjaan terbanyak, daya penambangan efektif jujur yang cukup, perilaku ekonomi, dan pengguna yang secara independen mengamati jaringan serta perangkat lunak yang dimaksud. Common prefix, pertumbuhan chain, dan kualitas chain adalah properti formal yang dibuktikan hanya dalam model yang dinyatakan, bukan fakta tanpa syarat untuk setiap chain proof of work yang beroperasi.
Cara menganalisis konsensus Nakamoto
- Tetapkan identitas dan lingkup pengamatan. Catat
chain,network,genesis hash,client version, kumpulan aturan konsensus, checkpoint atau pengaturan assume-valid, pengamat, peer, dan waktu. Ambilbestblockhash,height, danchainwork; dua node dapat secara jujur melaporkan tip berbeda ketika pesan masih menyebar. - Validasi sebelum membandingkan pekerjaan. Verifikasi tautan header, batas waktu, target yang didekode, proof of work, komitmen Merkle dan witness, transaksi, skrip, pembelanjaan UTXO, coinbase, dan batas sumber daya. Cabang
invalidtidak menjadi layak hanya dengan mengklaim tinggi atau pekerjaan lebih besar. - Bangun ulang pohon blok yang diamati. Hubungkan setiap kandidat melalui hash blok sebelumnya ke ancestor yang diketahui dan bedakan blok lengkap dari header saja. Rekonsiliasi status
active,valid-fork,valid-headers,headers-only, daninvalidmelalui antarmuka sepertigetchaintips; jangan sebut setiap tip yang terlihat sebagai chain pesaing valid. - Hitung ulang pekerjaan kumulatif. Dekode target
nBitssetiap header dan hitung pekerjaan yang diwakili sesuai aturan integer implementasi, secara konseptualwork = floor(2^256 / (target + 1)). Jumlahkan sepanjang ancestor dan bandingkan cabang valid dari ancestor bersama; tinggi, estimasi hashrate, dan label pool bukan pengganti chainwork. - Telusuri pemilihan dan reorganisasi. Reproduksi pilihan kandidat dengan pekerjaan terbanyak, urutan lokal saat pekerjaan sama, dan status kedatangan. Jika muncul cabang valid yang lebih baik, tentukan titik fork, putus suffix lama, hubungkan suffix baru, perbarui
UTXO set, lalu rekonsiliasi transaksi denganmempooldan catatan aplikasi. - Tetapkan kebijakan konfirmasi berbasis risiko. Hitung
confirmations = tip_height - block_height + 1hanya untuk blok pada chain aktif saat ini. Nyatakan nilai berisiko, reversibilitas, porsi penyerang, propagasi, paparan eclipse, tingkat stale yang diamati, kedalaman, dan rencana respons; enam adalah kebiasaan, bukan ambang finalitas protokol. - Uji seluruh argumen keamanan dalam tekanan. Uji partisi, latensi, penahanan blok, selfish mining, serangan eclipse, konsentrasi pool dan perangkat keras, perubahan hashrate mendadak, insentif biaya dan subsidi, divergensi client, reorganisasi dalam, dan pemulihan. Kaitkan kesimpulan dengan common prefix, pertumbuhan, kualitas, persistensi, dan liveness hanya menurut asumsi model yang dikutip.
Hasilnya adalah penjelasan spesifik pengamat yang dapat direproduksi tentang sejarah valid mana yang dipilih node saat ini dan alasannya. Aturan konsensus menentukan kelayakan; proof of work membuat sejarah alternatif mahal; propagasi menampilkan pekerjaan kepada node lain; fork choice memilih sejarah saat ini; dan kebijakan konfirmasi menentukan kapan aplikasi bertindak. Merangkum semua lapisan sebagai “persetujuan jaringan” menyembunyikan kondisi yang dapat gagal.
Contoh perhitungan
1. Pekerjaan tidak valid tidak menang
Misalkan cabang A melaporkan valid_A = false dan chainwork_A = 1,200 units, sedangkan B memiliki valid_B = true dan chainwork_B = 1,000 units. Node menolak A dan memilih B. Pekerjaan hanya dibandingkan antara kandidat yang layak; proof of work tidak dapat mengesahkan coinbase berlebih, tanda tangan tidak valid, atau pembelanjaan ganda.
Jika satu pengamat hanya memiliki header A sementara pengamat lain memiliki data blok lengkapnya, status mereka dapat berbeda sampai unduhan dan validasi selesai. Cabang dengan header valid bukan bukti bahwa setiap transaksi dan transisi status telah lolos validasi lengkap.
2. Tinggi bukan pekerjaan kumulatif
Dalam contoh target variabel sederhana, C menambahkan enam blok masing-masing 100 unit pekerjaan, yaitu 6 * 100 = 600 units. D menambahkan lima blok masing-masing 130 unit, yaitu 5 * 130 = 650 units. Jika keduanya valid dan berawal dari pekerjaan sama, D adalah cabang dengan pekerjaan terbanyak walau satu blok lebih pendek.
Jika dua tip valid memiliki tepat 650 units, kesamaan pekerjaan tidak memaksa semua node langsung melihat tip yang sama. Urutan kedatangan dan status implementasi lokal dapat berbeda sampai blok valid lain membuat salah satu cabang lebih berat. Tampilan seri sementara bukan finalitas global deterministik.
3. Konfirmasi dapat dihapus
Transaksi yang disertakan pada tinggi 100 ketika tip aktif 105 memiliki tip_height - block_height + 1 = 105 - 100 + 1 = 6 confirmations. Misalkan cabang valid alternatif bercabang setelah tinggi 99 dan menjadi chain dengan pekerjaan terbanyak pada tinggi 106 tanpa transaksi itu. Reorganisasi memutus blok lama 100 through 105; transaksi kehilangan enam konfirmasi aktif dan dapat kembali ke mempool, berkonflik dengan pembelanjaan lain, atau tetap tidak disertakan.
Aplikasi harus merekonsiliasi hash blok dan ancestor, bukan sekadar menyimpan angka enam. Kredit exchange, barang yang diserahkan, pesan bridge, dan penyelesaian derivatif dapat secara ekonomi tidak dapat dibalik meski sejarah chain sumber masih dapat berubah.
4. Probabilitas mengejar bergantung pada model
Dalam model ilustratif whitepaper Bitcoin, misalkan porsi hash penyerang q = 0.10, porsi jujur p = 0.90, dan keunggulan chain jujur z = 6. Pendekatan Poisson memberi lambda = z * (q / p) = 0.6666667 dan P(catch up) = 0.0002428027 = 0.02428027%. Pada q = 0.30 dengan kedalaman sama, hasil naik menjadi P(catch up) = 0.1321111687 = 13.21111687%.
Angka ini bukan jaminan Bitcoin saat ini. Perhitungan mengasumsikan percobaan hash independen dan stabil serta kondisi perlombaan model; perhitungan tidak memasukkan isolasi eclipse, keunggulan propagasi, strategi selfish, respons harga dan sewa, bug implementasi, dan respons aplikasi. Kebijakan harus mengungkap model dan menguji kondisi lebih buruk, bukan hanya mengutip enam konfirmasi.
Risiko dan kegagalan peninjauan
Kesalahan protokol dan pengukuran
- Membandingkan pekerjaan sebelum memvalidasi header, badan blok, dan ancestor secara independen.
- Menyebut cabang tertinggi atau yang terlihat pertama sebagai pemenang tanpa menghitung chainwork kumulatif.
- Memakai jumlah blok, hashrate nominal, porsi pool, atau label explorer sebagai pengganti chainwork.
- Mencampur mainnet, testnet, signet, fork, versi client, checkpoint, atau identitas genesis.
- Menganggap data header saja, tidak tersedia, atau optimistis sebagai sejarah yang sepenuhnya tervalidasi.
- Mengabaikan dekode target, aritmetika integer, tautan hash sebelumnya, atau ancestor bersama.
- Membaca satu RPC atau explorer sebagai tampilan global tanpa konteks hash, tinggi, waktu, dan peer.
Kesalahan jaringan, insentif, dan kendali
- Mengasumsikan propagasi seketika atau urutan kedatangan yang sama pada setiap node.
- Menganggap pekerjaan seri sebagai satu status global, bukan tampilan lokal sementara.
- Mengabaikan blok stale, latensi, penahanan, selfish mining, dan keunggulan propagasi.
- Menyimpulkan penambang independen dari nama pool atau kepemilikan perangkat dari porsi pool.
- Mengabaikan konsentrasi pool, firmware, produsen, hosting, energi, geografi, dan jaringan.
- Menganggap imbalan membuktikan bahwa memperpanjang secara jujur selalu optimal bagi semua peserta.
- Menghilangkan paparan eclipse, partisi, Sybil, peracunan peer, DoS, dan manipulasi waktu.
Kesalahan penyelesaian dan keamanan
- Menyebut konfirmasi sebagai finalitas protokol atau menjanjikan enam konfirmasi tidak dapat dihapus.
- Menerapkan satu jumlah pada setiap nilai, pihak lawan, reversibilitas, dan model ancaman.
- Mengubah contoh probabilitas whitepaper menjadi probabilitas serangan terukur saat ini.
- Mengatakan mayoritas hash dapat memalsukan tanda tangan, mengambil koin sembarang, atau memvalidasi inflasi.
- Mengatakan minoritas hash tidak dapat menyimpang secara menguntungkan atau menyebabkan reorganisasi maupun sensor.
- Menyamakan tip pekerjaan terbanyak dengan fakta eksternal, kepemilikan hukum, atau penyelesaian aplikasi.
Kesalahpahaman umum
- Chain terpanjang selalu memiliki blok terbanyak. Node Bitcoin memilih chain valid dengan pekerjaan kumulatif terbanyak; tinggi dapat menjadi pengganti yang buruk jika target berbeda.
- Penambang menentukan aturan protokol yang valid. Penambang mengusulkan blok; setiap node penuh secara independen menegakkan aturan konsensus yang dikonfigurasi.
- Enam konfirmasi menciptakan finalitas absolut. Enam adalah kebiasaan aplikasi; risiko bergantung pada model, kedalaman, lawan, propagasi, dan integritas pengamatan.
- Penyerang 51% dapat membelanjakan koin siapa pun. Daya hash dapat mendukung reorganisasi, pembelanjaan ganda, dan sensor, tetapi tidak memberi tanda tangan kunci privat pengguna lain atau membuat node tanpa perubahan menerima inflasi tidak valid.
- Hashrate total tinggi membuktikan desentralisasi dan keamanan. Kendali efektif, visibilitas jaringan, akses perangkat keras, koordinasi pool, keragaman client, insentif, dan durasi serangan juga penting.
Topik terkait
Sumber
- Blockchain Technology Overview - NIST (diakses: 2026-08-19)
- Bitcoin: A Peer-to-Peer Electronic Cash System - Bitcoin.org (diakses: 2026-08-19)
- Bitcoin Developer Guide: Block Chain - Bitcoin Project (diakses: 2026-08-19)
- Bitcoin Core RPC: getchaintips - Bitcoin Project (diakses: 2026-08-19)
- Bitcoin Core: validation.cpp - Bitcoin Core (diakses: 2026-08-19)
- The Bitcoin Backbone Protocol: Analysis and Applications - IACR Cryptology ePrint Archive (diakses: 2026-08-19)
- Majority Is Not Enough: Bitcoin Mining Is Vulnerable - Cornell University (diakses: 2026-08-19)
- Eclipse Attacks on Bitcoin’s Peer-to-Peer Network - USENIX Association (diakses: 2026-08-19)