
Hết hạn là việc một thao tác hoặc quyền truy cập trở nên vô hiệu khi đáp ứng các điều kiện được xác định trước, như giới hạn thời gian, thay đổi trạng thái hoặc biến động môi trường mạng. Trong Web3, hết hạn có vai trò trọng yếu vì giúp giới hạn quyền truy cập và rủi ro trong phạm vi “thời gian và điều kiện” rõ ràng, từ đó giảm thiểu lạm dụng và nguy cơ tấn công phát lại.
Bạn có thể hình dung hết hạn giống như ngày hết hạn của phiếu giảm giá: khi hết thời gian hiệu lực, lệnh không thể khớp, chữ ký hết hạn không dùng được để gọi hợp đồng thông minh, và các phê duyệt hết hạn sẽ bị hợp đồng từ chối. Cơ chế này giúp ngăn ngừa lạm dụng và bảo vệ tài sản của bạn.
Hết hạn của lệnh thường được kiểm soát bởi “thời gian và điều kiện thực hiện.” Ba chiến lược lệnh phổ biến nhất là: GTC, IOC và FOK.
Trên giao diện giao dịch giao ngay và phái sinh của Gate, các chiến lược như IOC và FOK rất phổ biến. Chọn IOC đảm bảo phần chưa khớp hết hạn ngay; chọn FOK giúp tránh khớp một phần, tăng tính chắc chắn cho chiến lược giao dịch.
Hết hạn đối với chữ ký và phê duyệt thường được quản lý bằng “thời hạn” hoặc “khoảng thời gian hiệu lực.” Nhiều DApp tích hợp trường “deadline” trong yêu cầu chữ ký; sau mốc này, chữ ký sẽ không còn sử dụng được.
EIP-2612 là tiêu chuẩn “chữ ký cho phép” cho phép phê duyệt chi tiêu token mà không cần giao dịch trực tiếp trên chuỗi. Tiêu chuẩn này có trường thời hạn—khi hết thời hạn, chữ ký sẽ hết hiệu lực và hợp đồng sẽ từ chối mọi nỗ lực sử dụng nó.
EIP-712 là tiêu chuẩn chữ ký có cấu trúc, tích hợp các trường như chain ID, miền hợp đồng và thời gian hết hạn vào chữ ký. Điều này giúp ngăn chặn tấn công phát lại trên các môi trường khác nhau; kể cả khi chữ ký bị sao chép, nó không thể sử dụng khi đã hết hạn hoặc không đúng bối cảnh.
Khi ví của bạn yêu cầu ký, hãy kiểm tra có trường hiệu lực hoặc thời hạn hay không. Khoảng thời gian hiệu lực càng dài thì nguy cơ bị lạm dụng càng lớn; khoảng thời gian ngắn sẽ an toàn hơn nhưng đòi hỏi bạn phải thao tác đúng thời điểm.
Hợp đồng thông minh thường kiểm tra thời hạn tại các điểm vào của hàm để thực thi hết hạn. Phổ biến nhất là kiểm tra xem timestamp của khối hiện tại có nhỏ hơn hoặc bằng thời hạn không; nếu không, lệnh gọi hàm sẽ thất bại và được đánh dấu là đã hết hạn.
Dấu thời gian khối do validator thiết lập và có thể có độ lệch nhỏ. Các hợp đồng thường thêm khoảng đệm để tránh hết hạn sớm nhưng vẫn đảm bảo không thể thao tác sau khi đã hết hạn. Nhà phát triển có thể thêm trường như “validUntil” vào dữ liệu phê duyệt hoặc lệnh để kiểm tra hợp nhất.
Trong mô hình UTXO của Bitcoin, các script dựa trên thời gian cũng kiểm soát khoảng hiệu lực của giao dịch. Ví dụ, một script có thể quy định coin không được tiêu trước hoặc sau một thời điểm—về bản chất là áp dụng giới hạn thời gian cho hiệu lực giao dịch.
Thời gian on-chain xác định “khi nào” một hành động hết hạn, còn nonce quyết định “liệu” một giao dịch có thể bị phát lại hay không.
Nonce là bộ đếm giao dịch: mỗi tài khoản cần tăng nonce cho từng giao dịch. Nếu một giao dịch mới với cùng nonce được chấp nhận, giao dịch trước sẽ bị thay thế và xóa khỏi mempool—tức là giao dịch cũ hết hiệu lực.
Dấu thời gian khối do nhà sản xuất khối cung cấp và không phải là thời gian thực tuyệt đối, nhưng lại rất quan trọng để xác định hết hạn. Hợp đồng dựa vào thời gian khối để kiểm tra hết hạn nhằm tránh phụ thuộc vào đồng hồ ngoài chuỗi.
Trên Ethereum và các chuỗi tương thích, hết hạn chủ yếu được xác định ở cấp hợp đồng và DApp, thường dùng trường “deadline” và “thay thế nonce” để tăng bảo mật. Mặc định, phê duyệt token không hết hạn nên nhiều ứng dụng dùng EIP-2612 để bổ sung thời hạn phê duyệt.
Trên Bitcoin, các script liên quan thời gian và cơ chế khóa xác định khoảng hiệu lực giao dịch ở tầng nền tảng hơn, quyết định coin chỉ được tiêu trước hoặc sau một thời điểm nhất định.
Trên Solana, giao dịch có thể chỉ định “last valid block height”; sau khối này, giao dịch sẽ vô hiệu—tức là hiệu lực dựa vào thời gian hoặc chiều cao khối. Ở một số mạng Layer 2, logic xử lý hết hạn tương tự Ethereum, chủ yếu ở cấp hợp đồng và ứng dụng.
Hết hạn tạo ra hai rủi ro chính: hết hạn sớm (gây thất bại thao tác) và hết hạn muộn (tăng thời gian bị lạm dụng).
Hãy luôn cẩn trọng khi bảo vệ tài sản. Hết hạn không tự động loại bỏ rủi ro; các phê duyệt dài hạn chưa hết hạn vẫn cần quản lý chủ động.
Trên giao diện giao dịch của Gate, lựa chọn chiến lược thực hiện quyết định trực tiếp cách lệnh hết hạn:
Với hết hạn phê duyệt, nếu bạn sử dụng DApp qua cổng Web3 hoặc ví của Gate, hãy kiểm tra phê duyệt có kèm thời hạn không. Với phê duyệt không giới hạn, hãy thường xuyên rà soát và thu hồi quyền cho các DApp không sử dụng qua trang quản lý phê duyệt.
Dữ liệu lỗi thời cũng là một dạng “hết hạn.” Oracle thường cung cấp dấu thời gian; hợp đồng kiểm tra xem dữ liệu nhận được có còn trong khoảng tươi mới chấp nhận được không. Nếu không, giá sẽ bị coi là “lỗi thời” và lệnh gọi sẽ bị từ chối—tương tự hết hạn ở cấp dữ liệu.
Đến cuối năm 2025, các giao thức DeFi hàng đầu ngày càng kiểm tra tính tươi mới của dữ liệu giá và lãi suất—yêu cầu cập nhật thường xuyên để giảm rủi ro khi thị trường biến động. Với NFT và metadata lưu trữ tập trung, liên kết hỏng khiến nội dung bị coi là hết hạn bởi ứng dụng—tác động giống như hết hạn.
Ở cấp node, các client blockchain đang dần không lưu trữ dữ liệu lịch sử vĩnh viễn. Dữ liệu on-chain quá cũ có thể không còn trên node tiêu chuẩn; nhà phát triển cần dùng dịch vụ lưu trữ hoặc chỉ mục riêng để tránh gián đoạn do không truy cập được dữ liệu “hết hạn.”
Hết hạn thu hẹp khoảng thời gian hiệu lực của lệnh, chữ ký, phê duyệt và dữ liệu—là công cụ quan trọng cho bảo mật và quản trị trong Web3. Hiểu rõ giới hạn về thời gian, trạng thái, tận dụng kiểm tra hết hạn ở cấp hợp đồng, thay thế nonce cùng với chiến lược lệnh và quản lý phê duyệt DApp sẽ giúp bạn cân bằng hiệu quả thực thi với kiểm soát rủi ro lạm dụng và phát lại. Luôn thu hồi các phê duyệt dài hạn khi không dùng, chọn thời hạn lệnh phù hợp, kiểm tra dữ liệu tươi mới trong hợp đồng và liên tục rà soát hoạt động—biến “hết hạn” thành công cụ bảo vệ chủ động thay vì rủi ro tiềm ẩn.
Expiration mode mô tả cách cụ thể một chức năng, lệnh hoặc phê duyệt ngừng hoạt động. Trong Web3, các chế độ hết hạn gồm hết hạn theo thời gian (ví dụ: lệnh hết hạn), hết hạn theo tham số (ví dụ: giá vượt ngoài phạm vi kỳ vọng), và hết hạn do thu hồi (ví dụ: hủy phê duyệt thủ công). Hiểu rõ các chế độ này giúp bạn tránh thất bại giao dịch hoặc rủi ro tài sản không mong muốn.
“Stalling” là khi giao dịch bị chậm lại hoặc mắc kẹt; “hết hạn” nghĩa là chức năng đã hoàn toàn vô hiệu hoặc không còn giá trị. Hết hạn có điểm kết thúc rõ ràng (như lệnh hết hiệu lực), còn stalling là hiệu suất bị suy giảm. Một lệnh có thể hết hạn do bị stalling, nhưng hai khái niệm này hoàn toàn khác nhau.
Tự động hết hạn lệnh là cơ chế bảo vệ tích hợp, thường do ba yếu tố: thời gian (kết thúc hiệu lực), điều kiện thị trường (giá vượt ngưỡng đặt trước), hoặc giới hạn khối (vượt chiều cao khối xác định). Thiết kế này giúp bảo vệ giao dịch khỏi bị khớp trong biến động thị trường mạnh.
Hết hạn phê duyệt và hết hạn lệnh là hai khái niệm riêng biệt. Hết hạn phê duyệt nghĩa là quyền cho hợp đồng sử dụng tài sản của bạn đã hết; hết hạn lệnh nghĩa là lệnh giao dịch không còn hiệu lực. Một giao dịch có thể gặp cả hai: hết hạn phê duyệt sẽ ngăn thực hiện dù lệnh còn hiệu lực; hết hạn lệnh sẽ ngăn khớp lệnh dù phê duyệt còn giá trị.
Để xác định lệnh đã hết hạn:
Nếu lệnh đã hết hạn, bạn cần tạo lệnh mới để tiếp tục giao dịch.


