Thời gian khóa giao dịch (Locktime hay nLocktime) là gì?
Thời gian khóa giao dịch (Locktime hay nLocktime)
Định nghĩa
Locktime là một trường được thêm vào cuối kịch bản Bitcoin nhằm lùi thời gian sớm nhất hoặc các block mà giao dịch có thể được thêm một cách hợp lệ vào blockchain. Chương trình có thể đặt thời gian khóa thành thời gian thực hoặc theo chiều cao block.
Nói cách khác, thời gian khóa giao dịch là một cài đặt ở cấp độ giao dịch (một trường dữ liệu trong cấu trúc dữ liệu giao dịch) nhằm xác định thời gian sớm nhất mà giao dịch có hiệu lực và có thể được chuyển tiếp trên mạng bitcoin hay được thêm vào blockchain.
*Chuỗi khối (Blockchain) là một loại sổ cái kĩ thuật số (digital ledger), trong đó thông tin được ghi chép lại một cách tuần tự, sau đó được liên kết với nhau và được bảo mật bằng phương pháp mã hóa.
Ý nghĩa của thời gian khóa giao dịch
- Thêm thời gian khóa giao dịch vào kịch bản có nghĩa là giao dịch sẽ chỉ được xác nhận và block mới được thêm sau khi hết thời gian cần thiết hoặc chiều cao block đã được đáp ứng. Nói cách khác, khi một chức năng này được thêm vào kịch bản, giao dịch không có hiệu lực cho đến khi đạt thời gian hoặc chiều cao.
- Thời gian khóa giao dịch còn được gọi là nLocktime theo tên của biến dùng trong mã nguồn Bitcoin Core. Trong hầu hết giao dịch, nLocktime được đặt về 0 để thể hiện lệnh phát tán và thực thi ngay lập tức. Nếu nLocktime có giá trị khác 0 và dưới 500 triệu, nó sẽ được hiểu là một chiều cao block, tức là giao dịch liên quan không hợp lệ và không được chuyển tiếp hay thêm vào blockchain trước khi đạt chiều cao block đó.
- Nếu giá trị lớn hơn 500 triệu, nó sẽ được hiểu là một nhãn thời gian Unix Epoch (tính theo giây từ thời điểm ngày 1 tháng 1 năm 1970) và giao dịch liên quan sẽ không có hiệu lực trước thời điểm được xác định đó.
- Các giao dịch với nLocktime trong đó chỉ rõ 1 block hay 1 thời điểm trong tương lai sẽ bị hệ thống gốc giữ lại và chỉ được truyền đến mạng bitcoin sau khi chúng có hiệu lực. Nếu một giao dịch được truyền đến mạng bitcoin trước nLocktime cho trước, giao dịch đó sẽ bị nút mạng đầu tiên từ chối vì không hợp lệ và sẽ không được chuyển tiếp đến các nút khác. Việc sử dụng nLocktime cũng tương tự như việc ghi lùi ngày trên một ngân phiếu giấy.
(Tài liệu tham khảo: Hedgetrade; Mastering Bitcoin, NXB Đại học Kinh tế Quốc dân)