Lompat ke konten

Blockchain: Status, Konsensus, dan Verifikasi

Blockchain adalah protokol berversi untuk mengurutkan dan memvalidasi transisi status di antara beberapa replika. Tautan hash hanyalah satu komponen; kepercayaan bergantung pada konsensus, izin, verifikasi independen, ketersediaan data, tata kelola, dan pemulihan.

Diperbarui

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

Jawaban langsung

Blockchain adalah protokol berversi yang memungkinkan beberapa replika mengurutkan transaksi yang diusulkan, memvalidasi transisi status, dan menyepakati riwayat yang diterima berdasarkan konsensus dan asumsi jaringan yang dinyatakan. Blok adalah wadah yang ditentukan protokol, berisi transaksi atau data lain serta komitmen terhadap riwayat sebelumnya dan status yang dihasilkan; rantai atau riwayat terarah menghubungkan wadah yang diterima melalui komitmen kriptografis.

Tautan hash membuat perubahan historis yang tidak sah dapat dideteksi, namun tidak secara independen membuat sistem menjadi terdesentralisasi, tidak dapat diubah, atau benar. Properti tersebut bergantung pada siapa yang dapat mengusulkan dan memvalidasi, apakah pengguna dapat memverifikasi secara independen, aturan pemilihan fork dan finalitas, ketersediaan data, keragaman klien, tata kelola, kontrol kunci, insentif dan prosedur pemulihan.

Blockchain dapat menggunakan UTXO, akun, objek, atau model status khusus aplikasi; bukti kerja, bukti kepemilikan, pemungutan suara yang toleran terhadap kesalahan Bizantium, atau konsensus yang diizinkan; dan finalitas berbasis probabilistik atau pos pemeriksaan. Oleh karena itu, kata “blockchain” merujuk pada keluarga arsitektur yang luas, bukan satu jaminan keamanan atau satu produk basis data.

1
Membuat

Dompet membangun transaksi dengan tujuan, nilai, parameter biaya, dan data perlindungan pemutaran ulang seperti input yang dihabiskan atau nonce.

Cara kerjanya

  1. Tetapkan dengan tepat rantai, jaringan, versi protokol, model izin, model status, dan klaim yang sedang diuji. Catat blok genesis atau pos pemeriksaan tepercaya, pengidentifikasi rantai, implementasi klien, dan otoritas peningkatan.
  2. Susun byte transaksi dan otorisasi secara tepat. Sebelum disiarkan, periksa kepemilikan pengirim atau input, nonce atau referensi output yang belum dibelanjakan, jumlah, tujuan, batas biaya, rentang masa berlaku, tanda tangan, dan panggilan aplikasi.
  3. Sebarkan transaksi melalui peer atau gateway. Membedakan kebijakan penerimaan dan mempool lokal dari validitas konsensus; sebuah node mungkin menolak, menunda, mengganti atau tidak pernah menerima transaksi yang mungkin valid dalam sebuah blok.
  4. Pengusul memilih dan mengurutkan transaksi ke dalam blok kandidat serta berkomitmen pada bidang protokol seperti blok induk dan akar transaksi, tanda terima, status, atau data. Urutan dapat memengaruhi hasil eksekusi, biaya, likuidasi, dan nilai yang dapat diekstraksi.
  5. Node independen mendeserialisasi blok, memverifikasi otorisasi konsensus dan setiap transisi status yang diperlukan, menghitung ulang komitmen, lalu menolak input yang tidak valid atau tidak tersedia sesuai aturannya. Tanda tangan produsen atau bukti kerja tidak mengesampingkan validasi yang gagal.
  6. Pilihan fork menyeleksi di antara sejarah valid yang bersaing, sementara konfirmasi, pemungutan suara, atau pos pemeriksaan mengubah risiko reorganisasi seiring berjalannya waktu. “Termasuk”, “aman”, dan “selesai” adalah status yang berbeda dan tetap spesifik pada protokol.
  7. Rekonsiliasikan status protokol dengan maksud aplikasi, kustodian, akuntansi bridge atau platform, dan persyaratan pengarsipan. Simpan byte transaksi, hash blok, tinggi atau slot, tanda terima, log, bukti status, status finalitas, versi klien, dan bukti dari endpoint independen.

Contoh yang berhasil

  • Rekonsiliasi status akun. Saldo awal akun adalah 10 ETH dan nonce-nya 41. Transaksi valid dengan nonce 41 mentransfer 2 ETH dan menghabiskan biaya 0.00042 ETH, sehingga status sesudahnya yang disederhanakan adalah 10 - 2 - 0.00042 = 7.99958 ETH, penerima memperoleh 2 ETH, dan nonce pengirim menjadi 42. Tanda tangan yang sah saja tidak membuktikan kecukupan saldo sebelumnya maupun keberhasilan eksekusi.
  • Konservasi UTXO. Sebuah transaksi menghabiskan input 0.80 BTC dan 0.35 BTC, dengan total 1.15 BTC. Keluaran 1.00 BTC dan 0.1496 BTC total 1.1496 BTC; perbedaannya adalah 1.15 - 1.1496 = 0.0004 BTC dalam biaya. Node juga harus memverifikasi bahwa setiap output yang direferensikan ada, tidak terpakai, dan memenuhi kondisi pengeluarannya.
  • Ukuran bukti komitmen. Dalam pohon Merkle biner seimbang ilustratif dengan 8 leaves, jalur penyertaan memerlukan log2(8) = 3 sibling hashes. Dengan hash 256-bit = 32-byte, saudara kandung tersebut menempati 3 * 32 = 96 bytes sebelum indeks dan pengkodean. Buktinya mengikat sehelai daun pada akar yang diklaim; hal ini tidak membuktikan bahwa sumber data tersebut benar atau tersedia saat ini.
  • Bobot bukanlah jumlah node. Dalam contoh protokol pemungutan suara dengan aturan finalitas berbobot >= 2/3, bobot validator adalah 30%, 25%, 20%, 15%, 10%. Tiga yang pertama berjumlah 30 + 25 + 20 = 75% dan melampaui ambang, sedangkan dua yang pertama berjumlah 55% dan tidak mencapainya. Ambang sebenarnya serta aturan korelasi, suara yang bertentangan, dan pemulihan harus berasal dari protokol yang disebutkan.

Resiko

  • Menggunakan rantai, jaringan, garpu, pos pemeriksaan, atau pengidentifikasi rantai yang salah.
  • Memperlakukan nama merek sebagai protokol lengkap atau spesifikasi model kepercayaan.
  • Dengan asumsi hubungan hash saja mencegah penulisan ulang yang sah atau disetujui konsensus.
  • Membingungkan proposal blok produsen dengan validasi node independen.
  • Memperlakukan penerimaan mempool, penyiaran, penyertaan, keberhasilan eksekusi, dan finalitas sebagai satu keadaan.
  • Menandatangani byte, domain, atau tujuan yang berbeda dari apa yang ditampilkan antarmuka.
  • Menggunakan kembali nonce, menghabiskan UTXO yang sudah basi, atau salah menghitung biaya dan perubahan.
  • Mempercayai simbol token, label, peristiwa, atau interpretasi penjelajah alih-alih pengidentifikasi dan status protokol.
  • Memperlakukan input oracle, bridge, atau dokumen yang ditandatangani sebagai bukti bahwa klaim off-chain adalah benar.
  • Mengabaikan pemesanan transaksi, sensor, front-running dan konsentrasi pengusul atau pembangun.
  • Menghitung node atau validator tanpa menyelesaikan operator umum, bobot, dan infrastruktur.
  • Mengabaikan konsentrasi klien, cloud, geografi, tata kelola, kunci, dan rantai pasokan perangkat lunak.
  • Dengan asumsi semua model konsensus memiliki ambang batas kesalahan atau semantik finalitas yang sama.
  • Mengabaikan partisi, penyelesaian yang tertunda, reorganisasi, keragu-raguan dan prosedur pemulihan.
  • Menerima header blok atau bukti tanpa asumsi ketersediaan data yang diperlukan.
  • Bergantung pada satu RPC, penjelajah, dompet, pengindeks, atau platform kustodian sebagai sumber kebenaran.
  • Membingungkan kepemilikan atau kendali protokol dengan kepemilikan, hak ganti rugi, atau pemulihan yang sah.
  • Meremehkan pertumbuhan status, kehilangan arsip, biaya sinkronisasi, dan hambatan perangkat keras.
  • Mengabaikan kunci peningkatan, jeda darurat, pemulihan sosial, dan percabangan yang kontroversial.
  • Menyimpulkan privasi, skalabilitas, nilai investasi, atau keamanan aplikasi dari label blockchain.

Kesalahpahaman umum

  • Setiap blockchain terdesentralisasi dan tidak dapat diubah. Izin, independensi operator, pilihan fork, tata kelola, dan pemulihan menentukan siapa yang dapat mengubah atau menolak riwayat.
  • Data yang dicatat secara on-chain harus benar. Konsensus dapat menyetujui pencatatan harga palsu, dokumen palsu, atau masukan aplikasi jahat dengan setia.
  • Transaksi yang valid membuktikan hasil yang diinginkan. Transaksi tersebut mungkin menargetkan alamat yang salah, kembali setelah dikenakan biaya, memunculkan peristiwa yang menyesatkan, atau bergantung pada langkah-langkah jembatan dan penjagaan selanjutnya.
  • Lebih banyak replika selalu meningkatkan keamanan. Replika dalam satu operator, klien, cloud, atau kunci bisa gagal bersamaan dan mungkin tidak memberikan verifikasi independen.
  • Blockchain selalu lebih baik daripada database konvensional. Operator tepercaya, penghapusan yang diperlukan, throughput yang tinggi, atau penyelesaian sengketa yang sederhana dapat menjadikan sistem konvensional lebih tepat.

Topik terkait

Sumber

Navigasi

Cari di wiki...