10 / 736TX

Transaksi

Bitcoin Transaction

Apa yang terjadi saat mengirim bitcoin: dari mana jumlahnya berasal, ke mana kembaliannya pergi, dan kapan pembayaran dikonfirmasi.

Transaksi Bitcoin adalah pesan yang dikirim dompet ke jaringan saat Anda membayar seseorang atau memindahkan bitcoin antardompet sendiri. Pesan itu menentukan jumlah yang diterima sebelumnya yang akan digunakan serta syarat untuk membelanjakan jumlah baru. Jaringan memeriksa kewenangan Anda dan memastikan jumlah yang dikirim tidak melebihi yang tersedia. Menekan Kirim saja belum berarti pembayaran sudah dikonfirmasi.

Anda memiliki satu jumlah belum terpakai sebesar 100 000 sat dan ingin mengirim 60 000 sat. Sat adalah satuan terkecil bitcoin: 1 BTC berisi 100 000 000 sat. Dompet dapat menyiapkan transaksi yang memberi penerima 60 000 sat, mengembalikan 39 000 sat kepada Anda, dan menyisakan 1 000 sat sebagai biaya penambang. Mirip membayar dengan uang kertas lebih besar lalu menerima kembalian. Seluruh 100 000 sat awal digunakan dan terbentuk dua jumlah baru. Kembalian biasanya masuk ke alamat baru milik dompet Anda, bukan pembayaran lain kepada orang asing. Biaya adalah selisih antara total yang digunakan dan yang dibuat, bukan output tersendiri. Jika kembalian tidak dimasukkan, biaya bisa menjadi terlalu besar tanpa sengaja. [2]

Bitcoin mencatat output dari transaksi terdahulu yang belum dibelanjakan, disebut UTXO. Bayangkan sebagai jumlah-jumlah tersendiri yang bisa digunakan dompet Anda. Input transaksi baru menunjuk salah satu output lama; output baru menetapkan jumlah dan syarat pembelanjaan berikutnya. Dompet dapat menggabungkan beberapa jumlah atau membagi pembayaran ke beberapa penerima. Jadi input tidak hanya menyebut alamat pengirim: isinya adalah pengenal transaksi sebelumnya, txid, dan nomor output di dalamnya. Pasangan ini disebut outpoint. Output yang dirujuk harus ada dan tersedia untuk dibelanjakan. Output yang sama tidak boleh digunakan dua kali atau dihitung melalui dua input dalam satu transaksi. [1] [2]

Untuk pembayaran biasa, dompet membuat tanda tangan digital dengan kunci privat. Tanda tangan membuktikan kewenangan transfer dan bisa diperiksa tanpa membuka kuncinya. Syarat pembelanjaan juga dapat meminta beberapa tanda tangan atau menunggu waktu tertentu. Secara teknis, transaksi menyediakan data yang diperlukan dalam scriptSig dan, bila berlaku, bagian terpisah bernama witness. Simpul menggunakannya untuk memeriksa syarat output yang dibelanjakan. Pengaturan SIGHASH menentukan bagian transaksi mana yang dilindungi tanda tangan dari perubahan. Namun tanda tangan yang valid sekalipun tidak dapat membelanjakan dana yang tidak ada, memperbesar jumlah total, atau melewati penguncian waktu yang belum terpenuhi. [2]

Setelah ditandatangani, dompet menyiarkan transaksi. Simpul memeriksanya dan dapat memasukkannya ke mempool masing-masing, ruang tunggu untuk transaksi yang belum dikonfirmasi. Masuk ke sana belum berarti tercatat dalam blok. Konfirmasi pertama diperoleh saat transaksi masuk ke blok yang valid; setiap blok yang dibangun setelahnya menambah satu konfirmasi. Aturan meneruskan dan menyimpan transaksi tertunda dapat berbeda antarsimpul dan tidak sama dengan aturan validitas blok. Transaksi tertunda dapat digantikan transaksi lain yang membelanjakan dana yang sama. Bahkan konfirmasi bisa hilang saat reorganisasi, ketika jaringan menerima cabang riwayat valid yang berbeda. Karena itu, periksa penerimaan di dompet sendiri pada jaringan yang benar, termasuk jumlah, tujuan, dan konfirmasinya, bukan berdasarkan tangkapan layar orang lain. [4]

Dompet biasanya menampilkan txid, pengenal untuk mencari transaksi. Secara teknis, nilainya dihasilkan dengan menerapkan SHA-256 dua kali pada pengodean transaksi tanpa data witness. Pengenal kedua, wtxid, menyertakan witness; jika transaksi tidak memiliki witness, keduanya sama. Keduanya mengidentifikasi catatan, tetapi tidak dengan sendirinya membuktikan pembayaran sudah dikonfirmasi. Biaya terutama bergantung pada ukuran data dan tarif yang dipilih, bukan nilai bitcoin yang dikirim dalam mata uang biasa. Tarif menggunakan ukuran virtual vsize: bobot transaksi dibagi empat dan dibulatkan ke atas. Karena itu, menggabungkan banyak input kecil bisa lebih mahal daripada memindahkan satu jumlah yang lebih besar. [3]

Contoh · TX

Input dikurangi output adalah biaya

Jika transaksi biasa memakai total 250 000 sat dan mengalokasikan 248 200 sat kepada penerima, termasuk kembalian, sisa 1 800 sat adalah biaya penambang. Biaya itu tidak dikirim terpisah ke suatu alamat biaya.

Untuk gambaran yang lebih utuh, baca entri ini bersama UTXO, Private Key, Mempool, Transaction Fees, SegWit. Entri ini juga dirujuk dari Bitcoin Whitepaper, Timechain / Blockchain, Full Node, UTXO.

01Bisakah transaksi Bitcoin yang terkonfirmasi dibatalkan?

Bitcoin tidak memiliki tombol Batal atau administrator yang dapat membatalkan transfer terkonfirmasi atas permintaan. Untuk mendapatkan uang kembali, penerima biasanya harus mengirim transaksi baru. Ini berbeda dari reorganisasi rantai, ketika pembayaran bisa kehilangan konfirmasi untuk sementara. Setiap blok tambahan menambah pekerjaan penambang, yaitu Proof of Work, yang diperlukan untuk mengganti riwayat. Lebih banyak konfirmasi meningkatkan keyakinan, tetapi bukan jaminan mutlak.

02Mengapa dompet membuat output kembalian?

Input menghabiskan UTXO secara utuh. Jika jumlah dana dari input terpilih melebihi total pembayaran dan biaya, dompet biasanya membuat output baru yang mengembalikan sisanya ke bawah kendalinya.

DOC · 001Bitcoin Core v29.0: transaction validationSumber primer DOC · 002Bitcoin Developer Reference: TransactionsSumber primer DOC · 003BIP 141: transaction identifiers and weightSumber primer DOC · 004Bitcoin Core v29.0: block validationSumber primer
Direvisi: Utamakan sumber · Bukan nasihat investasi