129 / 691CLTV

CHECKLOCKTIMEVERIFY

CLTV menegakkan syarat waktu absolut pada jalur pembelanjaan. Bukan alarm: mencapai batas tetap memerlukan transaksi valid dan konfirmasi.

OP_CHECKLOCKTIMEVERIFY membandingkan argumen tumpukan nonnegatif dengan nLockTime absolut transaksi pembelanjaan dan memeriksa nSequence input itu. Aturan finalitas transaksi kemudian memeriksa kelayakan waktu sebenarnya.

nLockTime sendiri menunda transaksi tertentu. CLTV dalam syarat output mencegah jalur yang sama dilewati dengan transaksi lain bernilai nLockTime lebih rendah; jalur lain perlu dinilai terpisah. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Developer Reference — Transactions]

Nilai di bawah 500000000 berarti tinggi blok; mulai batas itu berarti cap waktu. Argumen CLTV dan nLockTime harus bertipe sama; perbandingan angka saja tidak cukup. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

Argumen harus nonnegatif dan tidak melebihi nLockTime. CLTV tidak membaca jam komputer atau menghentikan skrip untuk menunggu; pemeriksaan tidak terpenuhi menggagalkan validasi. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

nSequence input yang diperiksa tidak boleh 0xffffffff. Ini mencegah mematikan nLockTime lewat sequence final; CLTV tidak mewajibkan penundaan relatif nonnol tertentu. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

Dengan nLockTime = 900000 dan input nonfinal, tinggi kandidat pertama adalah 900001 karena finalitas mensyaratkan nLockTime di bawah tinggi blok. Kesamaan argumen CLTV tidak mengubah batas itu. [Bitcoin Core v29.0 — Transaction finality]

Menurut BIP 113, nLockTime berbasis waktu dibandingkan dengan Median Time Past blok sebelumnya, median cap waktu hingga 11 blok terakhir. Nilainya harus benar-benar lebih rendah; bukan waktu pengiriman lokal yang tepat. [BIP 113 — Median time-past lock-time calculations] [Bitcoin Core v29.0 — Transaction finality]

CLTV tidak menghabiskan argumen. Dalam <tinggi> OP_CHECKLOCKTIMEVERIFY OP_DROP <kunci> OP_CHECKSIG, OP_DROP menghapusnya; ini skema syarat, bukan resep pendanaan siap pakai. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

Kunci waktu saja tidak mengotorisasi pemilik. Syarat tanda tangan tetap harus terpenuhi; cabang lain dapat mengizinkan pembelanjaan lebih awal dan jatuh tempo tidak mengirim pembayaran otomatis. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Developer Reference — Transactions]

CLTV menetapkan titik tetap, bukan jumlah blok sejak konfirmasi output. CSV bersama BIP 68 menangani usia input; penundaan penambangan atau reorganisasi tidak menjamin tanggal tetap. [Bitcoin Core v29.0 — Transaction finality] [Bitcoin Developer Reference — Transactions]

BIP 65 memperkenalkan CLTV melalui soft fork pengganti OP_NOP2. Periksa seluruh jalur, jenis batas, nLockTime, nSequence dan biaya; opcode aktif tidak menjamin konfirmasi cepat. [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core 0.11.2 — BIP 65 release notes]

Untuk gambaran yang lebih utuh, baca entri ini bersama CHECKSEQUENCEVERIFY, Bitcoin Script opcode, Timelock, Bitcoin Script. Entri ini juga dirujuk dari Timelock, HTLC, Bitcoin Script opcode, CHECKSEQUENCEVERIFY.

DOC · 001BIP 65 — OP_CHECKLOCKTIMEVERIFYSpesifikasi ↗DOC · 002BIP 113 — Median time-past lock-time calculationsSpesifikasi ↗DOC · 003Bitcoin Core v29.0 — Script interpreterDokumentasi ↗DOC · 004Bitcoin Core v29.0 — Transaction finalityDokumentasi ↗DOC · 005Bitcoin Developer Reference — TransactionsDokumentasi ↗DOC · 006Bitcoin Core 0.11.2 — BIP 65 release notesDokumentasi ↗
Utamakan sumber · Bukan nasihat investasi