Hướng dẫn
Làm sao đóng dấu thời gian để chứng minh văn bản đã tồn tại vào một ngày?
Tính hàm băm mật mã của tệp, rồi công bố hàm băm trong bản ghi có ngày mà bạn không kiểm soát: giao dịch trên blockchain công khai hoặc thẻ có chữ ký của cơ quan cấp dấu thời gian. Về sau ai giữ cùng tệp cũng tính lại và đối chiếu với bản ghi có ngày, cho thấy nội dung đã tồn tại trước hoặc vào ngày đó mà không tiết lộ nó. Dấu thời gian chỉ chứng minh sự tồn tại vào ngày, không chứng minh ai viết, ai đồng ý hay nội dung đúng.
Cập nhật 3 tháng 10, 2026
Hàm băm mật mã là gì
Hàm băm mật mã là dấu vân tay độ dài cố định tính từ tệp: cùng đầu vào luôn cùng đầu ra; đổi một ký tự cho dấu hoàn toàn khác. Nó một chiều nên không khôi phục được nội dung gốc từ hàm băm; tìm hai tệp khác nhau cùng hàm băm không khả thi với máy tính hiện nay.
SHA-256 và Keccak-256 là hai loại thường gặp nhất. SHA-256 là chuẩn thường dùng bởi Bitcoin và phần lớn cơ quan cấp dấu thời gian. Keccak-256 dùng khắp Ethereum và chuỗi tương thích như Polygon, cũng là loại TrustChain dùng khi neo thỏa thuận đã ký. Cả hai cho chuỗi thập lục phân 64 ký tự, đều dùng tốt cho dấu thời gian; điều cần là ghi rõ đã dùng loại nào.
- Cùng tệp đầu vào, cùng dấu vân tay đầu ra, mọi lần
- Đổi một ký tự, cả dấu vân tay thay đổi
- Không thể đảo dấu vân tay để lộ nội dung
- Dấu vân tay dài bằng nhau dù tệp một dòng hay một gigabyte
Vì sao công bố hàm băm chứng minh sự tồn tại vào ngày
Mấu chốt là công bố hàm băm thay vì tài liệu. Hàm băm không lộ nội dung nên có thể công khai; vì không ai có thể thực tế dựng tài liệu khớp một hàm băm chọn trước sau sự kiện, bản ghi công khai có ngày cho thấy chính nội dung đó đã tồn tại trước hoặc vào ngày ấy.
Độ mạnh chứng cứ đến từ bản ghi, không phải hàm băm. Viết hàm băm trong sổ riêng không chứng minh gì vì bạn kiểm soát sổ và ngày. Hàm băm trong khối Bitcoin hay Polygon, hoặc thẻ có chữ ký cơ quan thời gian, được hệ thống bạn không kiểm soát và nhiều người theo dõi xác định ngày.
Giữ tệp gốc chính xác từng byte. Chứng cứ chỉ hoạt động nếu về sau đưa được tệp băm ra giá trị công bố; PDF lưu lại, nội dung gõ lại hay tài liệu có theo dõi thay đổi sẽ cho hàm băm khác. Lưu đúng tệp ở nhiều nơi, kèm tên hàm băm và nơi công bố.
Dấu thời gian không chứng minh gì
Dấu thời gian chứng minh các byte cụ thể tồn tại vào hoặc trước một ngày. Nó không chứng minh gì khác, kể cả tài liệu được viết ngày đó: nội dung viết tháng 1, neo tháng 3 mang dấu tháng 3. Ba điều nữa thường bị suy diễn vượt khả năng dấu thời gian; điều này đúng với mọi cách trong hướng dẫn, kể cả điểm neo Polygon hay thẻ cơ quan có chữ ký.
- Ai viết. Ai cũng băm được mọi tệp, kể cả sao chép từ người khác. Hàm băm trong khối hay thẻ không nhận diện tác giả hoặc người công bố, trừ khi bước danh tính riêng gắn con người với hành động.
- Rằng đã đồng ý. Bản nháp hợp đồng có dấu thời gian chứng minh bản nháp tồn tại, không phải bên kia thấy, chấp nhận hay ký. Thỏa thuận cần bản ghi mỗi bên đồng ý cùng nội dung.
- Rằng nội dung đúng. Băm hóa đơn, phát biểu hay yêu cầu không nói nội dung chính xác không. Đó là dấu vân tay byte, không phải kiểm chứng sự kiện.
Điểm neo blockchain công khai: Polygon và Bitcoin
Neo blockchain đưa hàm băm vào giao dịch trên chuỗi công khai; khối chứa nó mang ngày. Trên Polygon hoặc Ethereum, hàm băm vào dữ liệu giao dịch hoặc sự kiện hợp đồng. Trên Bitcoin thường dùng OpenTimestamps, giao thức mở miễn phí gom nhiều hàm băm vào cây Merkle, ghi gốc trong một giao dịch Bitcoin và đưa tệp chứng minh nhỏ để giữ.
Điểm mạnh là độc lập và lâu dài. Không cần công ty nào tiếp tục kinh doanh để chứng cứ hoạt động; ai cũng tra được giao dịch trên trình khám phá công khai; khi khối được xác nhận và có nhiều khối sau, bản ghi cho thấy dấu hiệu sửa đổi: không thể sửa mà không lộ với mọi người vận hành mạng.
Điểm yếu là độ chính xác và danh tính. Giờ khối do mạng đặt là xấp xỉ, không chính xác tuyệt đối: trên Bitcoin có thể lệch một giờ trở lên, nên coi là chứng cứ về ngày thay vì phút. Chứng minh OpenTimestamps có thể mất hàng giờ để xác nhận đầy đủ; bạn phải tự giữ mã giao dịch hoặc tệp chứng minh. Trên hết, giao dịch không nhận diện ai: chỉ cho thấy một ví công bố hàm băm lúc đó, không nói ai viết hay đồng ý tài liệu.
Cơ quan cấp dấu thời gian và công chứng viên
Cơ quan cấp dấu thời gian là máy chủ ký hàm băm cùng giờ hiện tại và trả thẻ. Chuẩn thường gặp là RFC 3161; khung eIDAS châu Âu xác định phiên bản đủ điều kiện với nhà cung cấp được giám sát. Bạn gửi hàm băm, không gửi tài liệu, nên cơ quan không biết nội dung.
Điểm mạnh: giờ chính xác, định dạng được nhận biết rộng, hỗ trợ sẵn trong nhiều công cụ ký tài liệu và mã. Điểm yếu: bạn tin đồng hồ, cách giữ khóa và sự tồn tại liên tục của cơ quan; kiểm tra thẻ sau này cần phần mềm hiểu định dạng. Nếu khóa ký bị xâm phạm, mọi thẻ đã cấp đều trở nên đáng nghi.
Công chứng viên là lựa chọn con người. Họ kiểm tra danh tính, chứng kiến chữ ký và ghi ngày vào sổ. Đây là chứng cứ khác hàm băm, và là cách duy nhất trong danh sách nói ai có mặt. Giới hạn là phí, lịch hẹn và việc thường chứng nhận ký giấy chứ không phải byte tệp số: bản giấy công chứng và bản số bị sửa có thể lệch nếu bạn không băm tệp nữa.
Vì sao tự gửi email là yếu
Tự gửi tài liệu qua email là cách dân gian, yếu vì ba lý do. Bạn kiểm soát hộp thư nên có thể xóa rồi tạo lại thư với tệp đính kèm đã sửa. Ngày trong tiêu đề là văn bản thuần, có thể sửa khi nhập hoặc trong tệp xuất. Và toàn bộ nội dung nằm trong hộp thư nên không riêng tư hay gọn.
Điểm có ích duy nhất là dấu thời gian nhận trên máy chủ nhà cung cấp thư mà bạn không kiểm soát. Tốt hơn không có một chút, nhưng nhà cung cấp không chứng thực, nhật ký không được thiết kế làm chứng cứ và họ sẽ không giúp lấy bản máy chủ nhiều năm sau. Nếu muốn cách dễ tương đương thật sự chứng minh ngày, băm tệp rồi đóng dấu bằng OpenTimestamps: chỉ một lệnh và các máy chủ lịch công khai miễn phí.
TrustChain nằm ở đâu
Dấu thời gian đơn thuần trả lời: các byte này đã tồn tại trước ngày này chưa. TrustChain dành cho câu khác: cả hai người đã xác minh có đồng ý chính nội dung này, và khi nào. Hai bên xác minh một lần bằng giấy tờ ảnh và ảnh tự chụp qua Sumsub rồi ký cùng nội dung cuối; khi đều có tài khoản có thể trò chuyện mã hóa đầu cuối. Tài khoản chưa xác minh không ký được.
Khi ký, TrustChain ghi mục kiểm toán có thời gian cho từng chữ ký từ tài khoản đã xác minh danh tính. Trình duyệt và ứng dụng không sửa được; đây là phần hàm băm một mình không cung cấp. Neo là tùy chọn: tính dấu vân tay Keccak-256 của bản ghi đã ký và ghi trong giao dịch Polygon mainnet xác định ngày công khai. Free ($0, không thẻ: 1 thỏa thuận và 3 yêu cầu AI Advisor mỗi tháng), thêm thỏa thuận hoặc điểm neo Polygon tốn $1 mỗi thứ một lần và neo cần danh tính đã xác minh. Pro $19/tháng có 20 thỏa thuận, 20 điểm neo; Elite $49 có 100 mỗi loại. Gói theo tháng, hủy bất cứ lúc nào.
Nếu neo, dấu vân tay và mã nội bộ lên chuỗi với hai ô ví trống, không có nội dung, tên hay email. Nội dung lưu trên máy chủ TrustChain để tính dấu và cung cấp bản ghi, chứng nhận, PDF miễn phí trên mọi gói. Trò chuyện mã hóa đầu cuối, TrustChain không đọc được. Liên kết công khai mở không cần tài khoản, hiện trạng thái và dấu vân tay nếu neo, không bao giờ danh tính; tiêu đề chỉ hiện với thỏa thuận tạo trên Elite. Nếu neo, giao dịch Polygon kiểm tra được trên mọi trình khám phá độc lập với TrustChain. Hợp đồng thông minh TrustChain trên Polygon mainnet là 0x649Bc303d15E173D95B4d379e163868b03cf5Fec.
Không điều nào đổi bản chất dấu thời gian. Dấu vân tay đã neo và ngày kiểm tra được mọi nơi; khả năng thi hành tùy nơi các bên ở và nội dung thống nhất, TrustChain không khẳng định điều đó.
- trustchain-verify trên GitHub: công cụ mở chỉ đọc đối chiếu bản ghi công khai với giao dịch Polygon, không cần tài khoản hay khóa
- Cách TrustChain ghi nhận chữ ký: mỗi mục kiểm toán ghi gì, ai có thể và không thể sửa
Tự thực hiện
Chọn một hàm băm và ghi tên. Các bước dành cho tệp bạn tự băm: dấu TrustChain còn gồm mã nội bộ bản ghi và tài khoản nên không khớp hàm băm chỉ từ nội dung. Với SHA-256, mọi hệ điều hành chính đều có công cụ. Với Keccak-256, hàm TrustChain và chuỗi tương thích Ethereum dùng, cần đoạn mã ngắn vì tùy chọn sha3-256 trong OpenSSL và công cụ tương tự là NIST SHA-3, dùng phần đệm khác nên cho kết quả khác Keccak-256.
Máy tính hàm băm trực tuyến tiện nhưng có hai lưu ý. Mọi thứ dán hoặc tải lên rời máy bạn, nên đừng dùng cho tài liệu bạn không muốn công bố; công cụ chạy hoàn toàn trong trình duyệt tốt hơn, kiểm tra sơ bộ bằng ngắt mạng trước khi băm xem còn chạy không. Trang lạ cũng có thể ghi nhầm thuật toán, nên đối chiếu ít nhất một kết quả với lệnh cục bộ trước khi dựa vào.
Có hàm băm rồi, công bố ở nơi có ngày bạn không kiểm soát: chứng minh OpenTimestamps, thẻ cơ quan thời gian hoặc giao dịch chuỗi công khai. Sau đó lưu đúng tệp gốc, ghi thuật toán, hàm băm và nơi công bố.
Để kiểm tra sau, chạy cùng lệnh trên cùng tệp và so hai chuỗi 64 ký tự; tiền tố 0x và hoa thường không quan trọng, mọi ký tự khác phải khớp. Nếu khác, tệp đổi hoặc dùng thuật toán hay mã hóa khác; thường là PDF lưu lại, đổi ký tự xuống dòng hoặc thêm dòng cuối. Nếu đã neo trên chuỗi, mở giao dịch bằng trình khám phá, tìm hàm băm trong dữ liệu và so tương tự.
- SHA-256 trên macOS: shasum -a 256 agreement.pdf
- SHA-256 trên Linux: sha256sum agreement.pdf
- SHA-256 trên Windows (PowerShell): Get-FileHash agreement.pdf -Algorithm SHA256
- Keccak-256 với Python (trước tiên pip install pycryptodome): python3 -c "from Crypto.Hash import keccak; print(keccak.new(digest_bits=256, data=open('agreement.txt','rb').read()).hexdigest())"
- Keccak-256 với Node.js (trước tiên npm install ethers): node -e "const {ethers}=require('ethers'); console.log(ethers.keccak256(require('fs').readFileSync('agreement.txt')))"
Câu hỏi thường gặp tiếp theo
Dấu thời gian có chứng minh ai viết tài liệu không?
Không. Hàm băm nhận diện byte, không nhận diện người; ai cũng băm được tệp không do mình viết. TrustChain trả lời câu gần đó: ai ký. Hai bên xác minh bằng giấy tờ ảnh và ảnh tự chụp trước khi ký, tài khoản chưa xác minh không ký được, nên chữ ký đến từ danh tính đã xác minh. Nó vẫn không nói ai viết đầu tiên.
Neo thỏa thuận trên Polygon bằng TrustChain tốn bao nhiêu?
Free ($0, không thẻ) gồm 1 thỏa thuận mỗi tháng; thêm điểm neo Polygon tốn $1 một lần và cần danh tính đã xác minh. Pro $19/tháng có 20 thỏa thuận và 20 điểm neo; Elite $49 có 100 mỗi loại. Gói theo tháng, hủy bất cứ lúc nào. Neo là tùy chọn: mọi thỏa thuận đã ký có mục kiểm toán thời gian mà trình duyệt và ứng dụng không sửa được; neo thêm dấu vân tay Keccak-256, còn bản riêng, chứng nhận, PDF miễn phí trên mọi gói.
Nội dung thỏa thuận có lưu trên blockchain không?
Không. Nếu chọn neo, dấu vân tay Keccak-256 và mã nội bộ lên chuỗi với hai ô ví trống; không có nội dung, tên hay email. Nội dung lưu trên máy chủ TrustChain để tính dấu vân tay và cung cấp bản ghi, chứng nhận, PDF. Trò chuyện đàm phán mã hóa đầu cuối, TrustChain không đọc được. Dấu vân tay gồm mã nội bộ bản ghi và tài khoản cùng nội dung nên không tính lại được chỉ từ nội dung.
Có thể xác minh dấu thời gian TrustChain mà không có tài khoản không?
Có. Liên kết công khai mở không cần tài khoản, cho thấy trạng thái và dấu vân tay nếu neo, không bao giờ danh tính; tiêu đề chỉ hiện với thỏa thuận tạo trên Elite. Nếu neo, giao dịch Polygon kiểm tra được trên mọi trình khám phá độc lập với TrustChain. Hợp đồng thông minh TrustChain trên Polygon mainnet là 0x649Bc303d15E173D95B4d379e163868b03cf5Fec.
Dấu thời gian có làm thỏa thuận vững hơn về pháp lý không?
TrustChain không khẳng định điều đó. Dấu thời gian cho thấy nội dung tồn tại trước hoặc vào một ngày; bản ghi TrustChain thêm tài khoản đã xác minh nào ký và lúc nào, chỉ vậy. Dấu vân tay đã neo và ngày kiểm tra được mọi nơi; khả năng thi hành tùy nơi các bên ở và nội dung thống nhất, TrustChain không khẳng định. Nếu điều đó quan trọng, hỏi luật sư hành nghề nơi bạn ở.
Kiểm tra danh tính mới đang tạm dừng. Người đã xác minh vẫn ký được; người khác đợi mở lại. Soạn, đọc, chia sẻ liên kết và tra cứu vẫn hoạt động.
Free có 1 thỏa thuận mỗi tháng: Sumsub kiểm tra danh tính cả hai bên, nhật ký chữ ký có ngày và liên kết công khai. Không cần thẻ.