Lompat ke konten

Konfirmasi blok

Panduan berbasis verifikasi tentang kedalaman konfirmasi PoW, status aman dan final pada PoS, penggantian transaksi mempool, reorganisasi, serta kebijakan kredit setoran bursa.

Diperbarui

Hanya untuk tujuan edukasi; bukan merupakan nasihat investasi atau rekomendasi investasi. Investasi dapat mengakibatkan kerugian.

Jawaban singkat

Konfirmasi blok adalah pernyataan yang bergantung pada pengamat dan protokol bahwa suatu transaksi telah masuk ke blok dalam rantai kanonis yang saat ini dilihat pengamat. Konvensi inklusif yang lazim di Bitcoin Core menghitung blok pemuat sebagai konfirmasi pertama: jika tinggi pemuatan adalah h dan tinggi rantai terbaik adalah H, kedalamannya H - h + 1. Sebagian layanan hanya menampilkan blok turunan sebagai H - h, sehingga konvensi penghitungannya harus disebutkan.

Kedalaman Proof-of-Work menurunkan risiko reorganisasi berdasarkan asumsi yang dinyatakan, tetapi tidak pernah menciptakan titik ajaib dengan finalitas mutlak. Sistem Proof-of-Stake dapat menampilkan status bawaan protokol sebagai gantinya. Ethereum membedakan latest, safe, dan finalized; jumlah blok, slot, atau menit yang tetap bukan pengganti label tersebut. Status terdeteksi, dikreditkan, dapat diperdagangkan, dan dapat ditarik pada platform merupakan kebijakan internal yang terpisah bahkan setelah ambang rantai terpenuhi.

Menunggu yang diharapkan
1.2 min
Kisaran ilustratif
54s - 1.5 min

Outputnya adalah perkiraan pendidikan. Mereka mengecualikan aturan tempat, pajak, latensi, perilaku oracle, dan parameter khusus protokol lainnya kecuali ditunjukkan.

Cara kerja

  1. Tetapkan rantai dan jaringan, aset, pengenal transaksi, node atau API, waktu pengamatan, model konsensus, dan konvensi penghitungan. Verifikasi penerima, jumlah, serta memo atau tag sebelum menganggap hash yang cocok sebagai pembayaran yang dimaksud.
  2. Bedakan transaksi yang ditandatangani, disiarkan, diterima mempool lokal satu node, dan disebarkan. Mempool adalah pandangan berdasarkan kebijakan, bukan antrean konsensus global. Periksa status biaya, transaksi induk yang belum terkonfirmasi, Replace-by-Fee atau penggantian dengan nonce yang sama, serta pembelanjaan yang bertentangan.
  3. Verifikasi pemuatan berdasarkan hash dan tinggi blok, indeks transaksi, serta garis keturunan kanonis, bukan hanya tinggi atau lencana penjelajah. Untuk rantai berbasis akun, periksa juga status receipt, log, dan perubahan state yang sebenarnya; eksekusi yang masuk blok tetap dapat mengalami revert.
  4. Terapkan model konsensus. Untuk PoW, nyatakan konvensi, hitung kedalaman, lalu bandingkan pandangan independen atas rantai terbaik dan kerja kumulatif. Untuk PoS, kueri status head, safe, justified, atau finalized bawaan; jangan menyimpulkannya dari jarak blok atau slot yang tetap.
  5. Lacak siklus hidup sebagai status eksplisit: dibuat, disiarkan, diterima mempool lokal, dimuat, memiliki kedalaman kanonis atau status safe/finalized, terkena reorganisasi, dimuat ulang, diganti, atau berkonflik. Reorganisasi tidak menjamin transaksi semula kembali ke setiap mempool.
  6. Pisahkan buku besar platform: teramati, ambang jaringan terpenuhi, dikreditkan, dapat diperdagangkan, dan dapat ditarik. Terapkan kebijakan venue terkini yang khusus untuk aset, jaringan, jumlah, dan kondisi insiden; pemeliharaan, kepatuhan, dan peninjauan manual dapat menambah keterlambatan tersendiri.
  7. Bandingkan node atau penyedia independen dan terus pantau hingga status yang disyaratkan tercapai. Catat hash, tinggi, stempel waktu, label RPC, dan snapshot kebijakan, lalu latih prosedur untuk penggantian, reorganisasi, keterlambatan finalitas, node kedaluwarsa, relay bridge, dan gangguan platform.

Contoh terhitung

  • Konvensi penghitungan. Transaksi Bitcoin berada dalam blok kanonis h = 900,000 dan ujung rantai terbaik berada di H = 900,005. Kedalaman inklusif adalah 900,005 - 900,000 + 1 = 6 confirmations; tampilan yang hanya menghitung blok turunan melaporkan 900,005 - 900,000 = 5. Perbedaannya hanya istilah, asalkan keduanya merujuk pada hash blok dan garis keturunan yang sama.
  • Reorganisasi dan pemuatan ulang. Transaksi mula-mula memiliki 1 confirmation di blok 900,000, kemudian blok tersebut keluar dari rantai terbaik dan transaksi kembali ke 0 jika masih valid serta tidak berkonflik. Jika transaksi dimuat ulang pada 900,003 dan ujung rantai mencapai 900,006, kedalaman inklusifnya 900,006 - 900,003 + 1 = 4 confirmations. Jika transaksi konflik yang terkonfirmasi menggantikannya, Bitcoin Core dapat melaporkan konfirmasi negatif.
  • Label PoS bukan jumlah blok. Misalkan transaksi Ethereum berada dalam blok eksekusi 20,000,000, sementara satu node melaporkan latest = 20,000,020, safe = 20,000,012, dan finalized = 19,999,980, semuanya dalam satu garis keturunan. Kedalaman numerik terhadap latest adalah 20,000,020 - 20,000,000 + 1 = 21: transaksi sudah safe, tetapi belum finalized. Garis keturunan hash dan label konsensus klien harus diperiksa; tinggi saja tidak cukup.
  • Ambang rantai dan kredit platform. Kebijakan venue mensyaratkan 6 confirmations. Setoran dalam blok 900,000 berada pada 5/6 saat ujung rantai 900,004 dan mencapai 6/6 pada 900,005. Jika venue lalu menerapkan 15-minute compliance hold, kelayakan pada rantai dan waktu kredit internal, perdagangan, atau penarikan tetap merupakan status terpisah; penahanan itu bukan konfirmasi ketujuh.

Risiko

  • Memeriksa rantai, jaringan, atau aset yang salah.
  • Menggunakan hash transaksi, penerima, memo, atau tag yang salah.
  • Menganggap transaksi yang ditandatangani tetapi belum disiarkan sebagai pending.
  • Menganggap mempool satu node sebagai status jaringan global.
  • Melewatkan penolakan kebijakan, eviction, atau kegagalan propagasi.
  • Mengabaikan penggantian RBF, nonce yang sama, atau transaksi konflik.
  • Salah membaca transaksi induk, turunan, atau biaya paket yang belum terkonfirmasi.
  • Mencampurkan hitungan inklusif dengan hitungan blok turunan saja.
  • Memercayai node yang kedaluwarsa, masih sinkronisasi, atau terisolasi.
  • Membandingkan tinggi tanpa memverifikasi hash blok dan garis keturunan.
  • Kehilangan konfirmasi dalam reorganisasi PoW singkat.
  • Menganggap kedalaman tetap sebagai keamanan mutlak untuk setiap nilai dan lawan.
  • Mencampurkan waktu berlalu, slot, epoch, dan blok yang diproduksi.
  • Menganggap blok head PoS sebagai safe.
  • Menganggap blok safe sebagai finalized.
  • Melewatkan keterlambatan finalitas ketika rantai tetap menghasilkan blok.
  • Menganggap eksekusi yang dimuat tetapi revert sebagai keberhasilan aplikasi.
  • Mencampurkan log token atau UI penjelajah dengan state akhir.
  • Menyamakan deteksi platform, kredit, izin perdagangan, dan izin penarikan.
  • Menganggap konfirmasi rantai sumber sebagai selesainya alur bridge, penerbit, atau tujuan.

Kesalahpahaman umum

  • Hash transaksi yang dapat dicari atau entri mempool lokal sudah berarti terkonfirmasi.
  • Satu konvensi penghitungan dan ambang enam konfirmasi berlaku untuk setiap rantai, jumlah, dan layanan.
  • Membayar biaya lebih tinggi mempercepat blok berikutnya atau finalitas PoS.
  • Jumlah blok atau slot Ethereum yang tetap setara dengan safe atau finalized.
  • Pemuatan atau finalitas pada rantai menjamin eksekusi kontrak berhasil, rincian penerima benar, kredit platform, atau penyelesaian bridge.

Topik terkait

Sumber

Navigasi

Cari di wiki...