Konfirmasi dan reorganisasi: seberapa final itu final?

·7 mnt baca·Oleh SSP Editorial Team
Sampul SSP Academy: konfirmasi, reorganisasi, dan finalitas pada blockchain

Konfirmasi dan reorganisasi: seberapa final itu final?

Transaksi Anda terkonfirmasi. Anda melihat tanda centangnya. Uangnya sudah beres — hanya saja «beres» ternyata sebuah spektrum, bukan sebuah keadaan, dan di mana Anda berdiri pada spektrum itu bergantung pada rantainya, jumlahnya, dan seberapa mahal bagi seseorang untuk membatalkannya.

Ini salah satu dari sedikit sudut mekanika rantai blok di mana rinciannya mengubah apa yang sebenarnya harus Anda lakukan, jadi ia layak dua puluh menit perhatian Anda.

Apa yang sebenarnya dihitung sebuah konfirmasi

Konfirmasi bukan stempel persetujuan dari siapa pun. Ia adalah pengukuran kedalaman.

Ketika transaksi Anda masuk ke sebuah blok, blok itu duduk pada ketinggian tertentu di rantai. Setiap blok yang ditambang di atasnya mengubur ia satu lapis lebih dalam. Jumlah konfirmasi sekadar berapa banyak blok yang menumpuk di atas blok Anda, termasuk bloknya sendiri.

SSP menghitungnya dengan cara baku: tipHeight - blockheight + 1. Angka +1 itu bukan salah hitung satu — transaksi yang duduk di blok terbaru punya satu konfirmasi, bukan nol. Nol konfirmasi berarti ia masih di mempool: sudah disiarkan, tetapi belum dimasukkan ke mana pun.

Alasan kedalaman berarti sesuatu adalah karena membatalkan transaksi Anda menuntut penggantian blok yang memuatnya, ditambah setiap blok yang dibangun di atasnya. Setiap blok tambahan membuat pekerjaan itu lebih berat. Di rantai bukti kerja tak ada yang pernah mustahil dibalik; ia hanya menjadi semakin mahal, dan pada kedalaman tertentu ongkosnya melampaui apa pun yang bisa diperoleh siapa pun.

Reorganisasi itu normal, bukan serangan

Inilah bagian yang membuat orang cemas tanpa perlu: reorganisasi rantai yang pendek terjadi secara rutin, dan nyaris tak satu pun bersifat jahat.

Dua penambang di sisi berlawanan dunia bisa memecahkan sebuah blok dalam jarak beberapa detik. Sesaat jaringan sungguh-sungguh berbeda pendapat tentang blok mana yang jadi puncak. Lalu blok berikutnya mendarat di salah satunya, cabang itu menjadi lebih panjang, dan blok yang lain menjadi yatim. Transaksi mana pun yang hanya ada di blok yatim kembali ke mempool dan ditambang lagi tak lama kemudian.

Ini protokol bekerja persis sebagaimana dirancang. Dan justru inilah sebabnya satu konfirmasi lebih lemah daripada tampaknya — transaksi berkedalaman satu tinggal di blok yang masih bisa kalah dalam lemparan koin.

Reorganisasi dalam adalah binatang lain. Ia menuntut entah daya komputasi yang luar biasa besar atau, sesekali, sesuatu yang lebih ganjil: cacat konsensus Ravencoin memaksa penulisan ulang jauh lebih dalam daripada reorganisasi biasa mana pun, bukan karena seseorang menyerangnya melainkan karena para simpul berbeda pendapat tentang apa aturannya. Itu langka. Ia juga pengingat bahwa «rantai tidak bisa berubah» adalah singkatan, bukan fisika.

Dari mana enam konfirmasi berasal

Konvensi enam konfirmasi bukan angka ajaib dan tak pernah dimaksudkan sebagai hukum universal.

Ia berasal dari perhitungan peluang dalam makalah pendiri Bitcoin sendiri: bila seorang penyerang menguasai sebagian daya komputasi, seberapa mungkin ia menyusul dari belakang setelah sejumlah blok tertentu? Jawabannya turun secara eksponensial seiring kedalaman. Enam blok menempatkan peluang keberhasilan ke wilayah yang dapat diabaikan — bagi penyerang yang memegang minoritas daya yang sederhana di rantai sebesar Bitcoin.

Setiap bagian dari anak kalimat bercetak miring itu penting, dan di sinilah orang keliru. Enam konfirmasi di Bitcoin mewakili kira-kira satu jam komputasi termahal di bumi. Enam konfirmasi di rantai bukti kerja yang kecil bisa mewakili sejumlah daya yang bisa disewa seseorang untuk satu sore saja.

Ini bukan pengandaian. Rantai bukti kerja yang lebih kecil — Ethereum Classic dan Bitcoin Gold di antaranya — pernah mengalami serangan lima puluh satu persen yang nyata, dengan pembelanjaan ganda sungguhan terhadap bursa. Tanggapan industri bukan meninggalkan rantai-rantai itu, melainkan menaikkan syarat konfirmasi secara drastis, kadang hingga ribuan. Ketimpangan itulah seluruh pelajarannya: kedalaman konfirmasi hanya berarti relatif terhadap seberapa banyak keamanan yang sungguh dibeli rantai itu per blok.

Bukti kepemilikan mengubah pertanyaannya

Di rantai dengan finalitas eksplisit, modelnya berbeda jenis, bukan sekadar derajat.

Para validator Ethereum secara berkala memberi suara untuk memfinalkan titik-titik periksa. Setelah sebuah titik periksa final — yang memakan sekitar dua kurun, dalam orde tiga belas menit — membalikkannya bukan soal mengungguli siapa pun dalam komputasi. Ia menuntut bahwa sebagian sangat besar dari seluruh ether yang dipertaruhkan telah memilih titik-titik periksa yang saling bertentangan, yang dapat dideteksi dan membuat taruhan itu dimusnahkan. Jaminannya bukan «membatalkan ini akan mahal», melainkan «siapa pun yang membatalkannya terbukti kehilangan uang dalam jumlah luar biasa».

Itu pernyataan yang sungguh lebih kuat daripada kedalaman probabilistik, dan itulah sebabnya menunggu finalitas di Ethereum adalah jenis penantian yang berbeda dari menghitung blok di Bitcoin. Solana menarik pembedaan serupa antara transaksi yang dikonfirmasi secara optimistis dan yang sepenuhnya berakar.

Praktisnya: di rantai bukti kerja Anda menghitung kedalaman. Di rantai bukti kepemilikan Anda ingin tahu apakah blok yang memuat transaksi Anda sudah difinalkan — sebuah pertanyaan ya-atau-tidak, bukan total berjalan.

Ketimpangan yang tak disebut siapa pun

Konfirmasi penting ketika Anda menerima. Ia nyaris tak penting ketika Anda mengirim.

Jika Anda sudah membayar seseorang, transaksi Anda dibatalkan oleh reorganisasi hanyalah gangguan ringan — ia kembali ke mempool dan terkonfirmasi lagi, dan penerima cuma menunggu sedikit lebih lama. Anda tidak kehilangan apa pun.

Jika seseorang membayar Anda, lalu Anda menyerahkan barang, melepas dana, atau mengirim produk berdasarkan konfirmasi yang dangkal, maka reorganisasi berarti Anda memberikan sesuatu untuk pembayaran yang sudah tidak ada. Semua serangan pembelanjaan ganda yang pernah berarti bekerja dengan cara ini: mereka membidik pihak yang bertindak terlalu dini atas uang yang masuk.

Jadi aturan jujurnya sederhana. Saat membelanjakan, satu konfirmasi memberi tahu Anda bahwa transaksinya nyata dan Anda boleh berhenti khawatir. Saat menerima nilai dari orang asing, kedalaman yang Anda tuntut harus tumbuh seiring jumlah yang dipertaruhkan dan menyusutkan kepercayaan Anda tepat pada rantai-rantai di mana blok murah diproduksi.

Apa yang SSP tunjukkan, dan apa yang tidak

Daftar aktivitas SSP memberi Anda lencana biner: terkonfirmasi atau belum. Itu disengaja, karena bagi mayoritas besar penggunaan sehari-hari, biner itulah seluruh jawabannya. Membentangkan baris transaksi memberi Anda hitungan konfirmasi langsung dan ketinggian blok, dihitung terhadap puncak rantai saat ini.

Kini keterbatasan yang jujur: tak ada apa pun di SSP yang menggantungkan sesuatu pada kedalaman konfirmasi. Dompet tidak akan memperingatkan bahwa tiga konfirmasi itu tipis untuk jumlah yang baru saja Anda terima, dan ia tidak punya gagasan tentang «cukup» — ia melaporkan angkanya dan menyerahkan penilaian kepada Anda. Tak ada dompet yang sungguh bisa berbuat lain, karena «cukup» bergantung pada apa yang hendak Anda lakukan dengan uang itu, dan dompet tak bisa mengetahuinya. Tetapi itu berarti penafsiran adalah tugas Anda, dan centang hijau bukan klaim yang sama dengan «tak dapat dibalik».

Perlu diingat pula bahwa hitungan konfirmasi yang Anda baca datang dari simpul mana pun yang diajak bicara dompet Anda. Justru pada jenis insiden di mana kedalaman paling berarti — percabangan yang diperdebatkan, cacat konsensus, perpecahan rantai — saat itulah sumber tunggal paling tidak layak dipercaya.

Patokan praktis yang layak disimpan

Nol konfirmasi bukan pembayaran. Itu pengumuman niat membayar. Untuk jumlah kecil, berisiko rendah, tatap muka, mungkin tidak apa-apa. Untuk selebihnya, itu bukan transaksi yang tuntas.

Satu konfirmasi itu nyata tetapi dangkal. Baik untuk membelanjakan. Tipis untuk menerima sesuatu yang berarti dari orang yang tidak Anda percayai.

Enam adalah konvensi berskala Bitcoin, bukan tetapan universal. Di rantai yang daya komputasinya murah disewa, enam konfirmasi bisa bernilai amat sedikit, dan angka yang tepat bisa lebih tinggi berkali-kali lipat orde.

Di rantai bukti kepemilikan, tanyakan finalitas alih-alih menghitung. Sudah final berarti sesuatu yang secara kategoris lebih kuat daripada dalam.

Sesuaikan kedalaman dengan nilai. Tiga puluh detik kesabaran itu murah. Kekeliruan yang tak bisa dibalik tidak.

Gagasan dasarnya diam-diam menenangkan begitu ia jatuh pada tempatnya. Tak ada apa pun dalam kripto yang final seperti sebuah pembuktian matematis itu final. Yang Anda peroleh sebagai gantinya adalah ongkos pembalikan yang menanjak tajam seiring waktu, dan kemampuan memutuskan sendiri seberapa tinggi ongkos itu perlu berada sebelum Anda bertindak. Itu jaminan yang lebih lemah daripada yang dikira kebanyakan orang mereka miliki — dan jauh lebih jujur daripada apa pun yang akan dikatakan bank kepada Anda tentang pembayaran yang masih bisa ditarik kembali berbulan-bulan kemudian.

Bagikan artikel ini

Artikel terkait