Block Weight adalah cara Bitcoin mengukur kapasitas yang dipakai sebuah blok, yaitu kumpulan transaksi yang ditambahkan ke riwayat bersama. Bagian data yang berbeda dihitung dengan bobot berbeda. Bobot memiliki batas atas tetap, tetapi tidak menentukan jumlah pembayaran atau nilai bitcoin yang dipindahkan.
Anna mengirim Bitcoin, tetapi blok berikutnya tidak memuat pembayarannya. Itu saja tidak berarti uangnya hilang. Transaksi yang belum dikonfirmasi bisa menunggu di Mempool, antrean lokal milik suatu node. Node adalah perangkat lunak yang memeriksa transaksi dan blok serta berkomunikasi dengan peserta jaringan lainnya. Penambang memilih transaksi untuk blok berkapasitas terbatas dan bisa memilih membuat blok lebih kecil. Biaya adalah insentif, bukan perintah untuk memasukkan pembayaran tertentu. Block Weight menjelaskan satu batasan dalam pilihan itu, bukan semua penyebab keterlambatan. [1] [7]
Batas atasnya 4 000 000 WU, termasuk tepat pada nilai tersebut. WU berarti satuan bobot. Full Node, yang memeriksa aturan Bitcoin secara mandiri, menolak blok di atas batas itu. Biaya tinggi maupun Proof of Work yang sah, bukti kerja komputasi yang dibutuhkan untuk menambang, tidak menyelamatkannya. Menemukan bukti tersebut dan menyusun blok yang sah sama-sama diperlukan. Jadi, kapasitas tidak ditentukan oleh keinginan penambang saja. [1] [3] [4]
Byte adalah satuan umum untuk ukuran data. SegWit memisahkan sebagian data yang membuktikan izin untuk membelanjakan koin, termasuk tanda tangan. Bagian ini disebut witness. Satu byte data dasar menyumbang 4 WU, sedangkan satu byte tambahan dalam representasi lengkap dengan witness menyumbang 1 WU. Kolom pendukung marker dan flag juga termasuk kelompok kedua. Dengan begitu, struktur dasar transaksi tetap dipertahankan dan data verifikasi mendapat ruang tanpa menghitung setiap byte secara sama. [1] [2]
Tanda tangan membuktikan hak pengirim untuk membelanjakan koin tertentu. Program singkat bernama skrip menetapkan syaratnya. Kontribusi witness yang lebih kecil terhadap bobot tidak mengizinkan node mengabaikan tanda tangan atau syarat skrip yang berlaku. Data itu juga tetap ada dalam representasi lengkap. Ini aturan perhitungan kapasitas, bukan pernyataan bahwa kerja prosesor, lalu lintas jaringan atau kebutuhan penyimpanan turun dengan perbandingan yang sama. [1] [4]
Serialisasi berarti menulis blok sebagai urutan byte yang tepat untuk dipertukarkan antarkomputer. Sebut ukuran tanpa witness sebagai B dan ukuran lengkap sebagai T. BIP 141 menggunakan W = 3 × B + T. Data dasar sudah termasuk dalam T sehingga dihitung empat kali secara keseluruhan. Data yang ditambahkan oleh representasi witness dihitung sekali. Rumus berlaku untuk seluruh blok, bukan hanya pembayaran biasa di dalamnya. [1] [8]
Bayangkan B = 500000 dan T = 2500000 byte. Hasilnya W = 4000000 WU. Susunan data lain bisa memiliki B = 750000 dan T = 1750000 byte, dengan hasil yang sama, W = 4000000 WU. Ini contoh perhitungan, bukan pengukuran blok nyata. Bobot keduanya sama, tetapi blok kedua mengirim lebih sedikit byte. Karena itu, anggapan bahwa blok penuh selalu berukuran 4 MB tidak benar. Jumlah transaksinya pun tidak tetap. [1]
Blok bukan sekadar kumpulan pembayaran pengguna. Ada header berukuran 80 byte yang memuat, antara lain, rujukan ke blok sebelumnya dan ringkasan transaksi. Setelah itu ada jumlah transaksi yang ditulis memakai CompactSize, pengodean bilangan bulat dengan panjang bervariasi. Transaksi pertama adalah Coinbase Transaction, transaksi khusus untuk imbalan penambang; nama ini tidak merujuk pada bursa. Semua bagian tersebut dihitung. Menjumlahkan bobot transaksi lainnya belum menghasilkan bobot seluruh blok. [5] [7] [8]
Dompet adalah aplikasi atau perangkat untuk menerima dan mengirim bitcoin. Dompet ini biasanya menggunakan ukuran virtual transaksi dalam satuan vByte. Nilainya adalah bobot seluruh transaksi dibagi 4, lalu dibulatkan ke atas. Ini membantu membandingkan biaya terhadap kapasitas yang dipakai. Menjumlahkan ukuran yang telah dibulatkan tidak memberikan bobot blok yang tepat: satuannya berbeda, setiap transaksi dibulatkan sendiri, dan struktur blok belum dihitung. Mengirim uang dalam jumlah besar tidak selalu memerlukan transaksi dengan banyak data. [1] [8]
Bobot tidak menggambarkan seluruh pekerjaan node. Aturan terkait juga menetapkan batas 80 000 satuan biaya berbobot untuk operasi verifikasi tanda tangan. Ini bukan hitungan sederhana semua tanda tangan dalam blok. Tapscript, bahasa skrip yang diperkenalkan bersama Taproot, menggunakan anggaran terpisah untuk setiap input, bagian transaksi yang membelanjakan koin yang diterima sebelumnya; operasi tanda tangannya tidak masuk ke batas lama untuk keseluruhan blok tersebut. BIP 342 menjelaskan pembatasan berbeda ini. Memenuhi batas bobot tidak berarti verifikasi yang sesulit apa pun diizinkan. [1] [3] [9]
Penjelajah blok adalah aplikasi untuk mencari transaksi dan blok pada jaringan tertentu. Dalam Bitcoin Core v29.0, getblock mengembalikan antara lain size, strippedsize dan weight: ukuran lengkap dalam byte, ukuran tanpa witness dan bobot. Anda juga bisa melihat chainwork. Itu menunjukkan akumulasi kerja komputasi rantai, bukan bobot datanya. Bagi pengguna sehari-hari, bedakan kapasitas dan harga: Block Weight membatasi ruang blok, sedangkan biaya pembayaran bergantung pada ukuran transaksi dan tarif yang dipilih. Tidak satu pun angka itu menjanjikan waktu konfirmasi dengan sendirinya. [6]
Untuk gambaran yang lebih utuh, baca entri ini bersama vByte, Witness Data, SegWit, Perang ukuran blok, Bitcoin, Full Node. Entri ini juga dirujuk dari Signet, vByte, Witness Data, Ordinals Inscriptions.