Proovik
Trình xác minh công khai · PVK-PROOF/1

Cách kiểm tra một bằng chứng của Proovik mà không cần tin vào Proovik

Bạn cần tệp bằng chứng (hoặc PDF của chứng thư) và bản sao tài liệu gốc của bạn. Không có gì được tải lên: mã băm được tính trong trình duyệt của bạn. Bên dưới là đặc tả đầy đủ, từng bước một và với các giá trị thật.

Phiên bản 1 Mạng: Kaspa mainnet Trình xác minh tham chiếu: 248 dòng Python, không phụ thuộc thư viện nào
Công cụ

Xác minh một bằng chứng trực tuyến

Hãy kiểm tra một chứng thư tại đây bằng chính bộ máy được mô tả bên dưới. Tài liệu không rời khỏi thiết bị của bạn: mã SHA-256 của nó được tính trong trình duyệt và chỉ mã băm được gửi đi. Mã băm do chính bạn cung cấp, không bao giờ lấy từ tệp bằng chứng. Nếu bạn kéo thả PDF của chứng thư, gói chứng cứ đính kèm sẽ được trích xuất ngay trong trình duyệt và PDF cũng không được gửi đi.

1 · Tệp bằng chứng

2 · Tài liệu gốc

Trình xác minh không bao giờ lấy mã băm từ tệp bằng chứng: chính bạn cung cấp nó.

Gói bằng chứng và mã băm được gửi tới POST /api/verify/proof. Không cần tài khoản. Giới hạn: 120 lượt xác minh mỗi giờ trên mỗi IP.

Được in trên chứng thư PDF và hiển thị trên trình khám phá Kaspa.

Bạn có thể tính nó bằng cách kéo thả tài liệu ở tab kia: giá trị được dùng chung.

Chế độ này dựng lại gói bằng chứng bằng cách truy vấn api.kaspa.org. Kaspa chỉ phục vụ tiêu đề đầy đủ trong khoảng 40 giờ sau khi neo: quá thời hạn đó, mắt xích 3 và 4 không thể tính lại được và kết luận sẽ là Không kết luận được, không bao giờ là “Có chứng minh”. Để xác minh đầy đủ, hãy dùng tệp bằng chứng đã lưu lại vào đúng thời điểm đó.

GET /api/verify/proof/{txid}?hash=…. Giới hạn: 30 lượt mỗi giờ trên mỗi IP (có truy vấn mạng).

Kết luận ·

Được chứng minh Không kết luận được Không được chứng minh

Bốn mắt xích đều khớp: tài liệu có mã SHA-256 này đã tồn tại khi khối được chỉ ra được đào. Hãy nhớ điều mà bằng chứng không chứng minh: quyền tác giả hay tính đúng đắn của nội dung.

Những phần tính lại được đều khớp, nhưng thiếu một số dữ liệu (thường là tiêu đề đầy đủ của khối, nằm ngoài cửa sổ cắt tỉa) để khép kín chuỗi. Đây không phải lỗi của bằng chứng: đó là một lần xác minh một phần. Với tệp bằng chứng đã lưu lại vào đúng thời điểm đó, hoặc với gói chứng cứ đầy đủ, có thể hoàn tất được.

Ít nhất một mắt xích không khớp với mã băm bạn cung cấp. Thường gặp nhất: tài liệu không đúng chính xác là tài liệu đã được đóng dấu (chỉ một byte khác đi là mã SHA-256 đã đổi) hoặc tệp bằng chứng không thuộc về tài liệu này. Hãy xem chi tiết từng mắt xích.

Xem giao dịch trên mạng
tài liệu
txid
block_hash
mạng
chế độ
tiêu đề
đã xác minh

Từng mắt xích một

Cảnh báo

Mỗi mắt xích có nghĩa là gì

Phạm vi của bằng chứng

Chính xác thì điều gì được khẳng định

Ở đây sự chính xác quan trọng hơn tài hùng biện, vì việc bằng chứng có trụ vững trước tranh tụng hay không phụ thuộc vào điều đó.

Điều mà bằng chứng chứng minh

Rằng một chuỗi byte có mã SHA-256 là một giá trị xác định đã được đưa vào một giao dịch của mạng Kaspa, rằng giao dịch đó đã được cam kết bên trong tiêu đề của một khối, và rằng trên tiêu đề đó — vốn chứa một dấu thời gian — đã có một bằng chứng công việc hợp lệ được thực hiện. Vì dấu thời gian nằm bên trong chính dữ liệu mà công việc được thực hiện trên đó, thay đổi nó sẽ làm công việc mất hiệu lực. Ngày tháng không phải lời tuyên bố của ai cả: đó là một đại lượng vật lý đã bị tiêu hao.

Điều mà bằng chứng KHÔNG chứng minh

Ai đã tạo ra tài liệu, nội dung của nó có đúng sự thật hay không, tác giả có quyền tạo ra nó hay không, hay tài liệu đã không hề tồn tại trước đó. Nó chứng minh tính có trước so với một thời điểm, chứ không phải quyền tác giả hay tính đúng đắn. Proovik không bao giờ nhìn thấy tài liệu: nó chỉ nhận được mã băm.

Về mã băm

SHA-256 là một hàm băm 256 bit. Chưa từng có ai tìm được hai tài liệu khác nhau cho ra cùng một mã băm, và nỗ lực ước tính để làm điều đó vượt quá những gì nhân loại có thể tính toán. Vì vậy, nếu mã băm của tài liệu được nộp trùng với mã băm nằm trên chuỗi, thì đó chính là cùng một tài liệu, không còn chỗ nghi ngờ trên thực tế.

Ví dụ thật · 20-09-2026

Bốn mắt xích

Việc xác minh là một chuỗi. Mỗi mắt xích nối với mắt xích tiếp theo, và chỉ cần một mắt xích đứt là bằng chứng không còn giá trị. Các giá trị hiện ra dưới đây là thật: chúng thuộc về một chứng thư được cấp ngày 20 tháng 9 năm 2026.

1 2 3 4
Ngày tháng

Vì sao ngày tháng là một đại lượng vật lý chứ không phải một lời tuyên bố

Đây là phần mà bên tranh tụng thường đòi hỏi, nên tốt hơn là trưng ra thay vì lập luận. Dấu thời gian nằm bên trong tiêu đề, và tiêu đề là đầu vào của bằng chứng công việc. Đổi thời gian là đổi đầu vào, và công việc không còn hợp lệ nữa. Điều này được kiểm tra bằng thực nghiệm: thay đổi tiêu đề đã xác minh ở bước 4 rồi lặp lại phép tính:

Ảnh hưởng của việc thay đổi tiêu đề lên kết quả bằng chứng công việc
Tiêu đề Kết quả công việc Kết luận
Bản gốc, không đụng tới0x15222b53caabb3b049ec…Hợp lệ
nonce + 10x6775abc19ba960657f66…Không hợp lệ
timestamp dời lên trước một giây0xaee1e8274b1d268866ed…Không hợp lệ
Hệ quả

Để trình ra tài liệu với một ngày khác thì phải làm lại bằng chứng công việc của tiêu đề đó trước độ khó thật của mạng. Đây không phải rào cản về chi phí: đó là rào cản về tính toán, ở mức tương đương công suất tổng hợp của toàn mạng trong suốt khoảng thời gian định làm giả. Không ai tuyên bố ngày tháng. Ngày tháng phải được trả giá.

Tính bền vững

Nó có còn hoạt động sau các hardfork trong tương lai không?

Câu trả lời trung thực là có, và nên hiểu vì sao. Một bằng chứng đã được lưu lại không phải là một truy vấn trực tiếp tới mạng: nó là một sự kiện lịch sử, được xác minh theo các quy tắc có hiệu lực vào thời điểm nó được neo. Kaspa thay đổi theo thời gian — chẳng hạn, quá trình chuyển đổi Crescendo/Toccata đã thay đổi nhịp DAA và cách đếm độ khó — nhưng điều đó không xóa đi quá khứ: nó chỉ có nghĩa là một khối của tháng 1 năm 2026 được xác minh bằng các quy tắc của tháng 1 năm 2026, còn một khối của ba năm nữa thì bằng các quy tắc của ba năm nữa.

Trình xác minh tham chiếu được xây dựng đúng cho việc này: nó phân biệt các thời kỳ. Nó biết điểm kích hoạt của từng thay đổi đồng thuận (ví dụ, hằng số CRESCENDO_DAA_MAINNET) và áp dụng cho mỗi khối các quy tắc của thời kỳ khối đó, chứ không phải của hôm nay. Một hardfork về sau chỉ thêm một thời kỳ mới; nó không làm mất hiệu lực các thời kỳ trước.

Vậy tính bền vững của bằng chứng dựa trên ba điều kiện, tất cả đều nằm trong tầm kiểm soát của người nắm giữ nó:

1

Lưu lại trong khung thời gian cho phép

Lưu toàn bộ tiêu đề vào thời điểm neo, trước khi mạng loại bỏ dữ liệu đầy đủ (khoảng 30-40 giờ).

2

Giữ lại bằng chứng

Tệp bằng chứng (hoặc PDF nhúng nó bên trong) là tự đủ: nó không dẫn tới máy chủ nào và không cần tra cứu trực tuyến.

3

Giữ lại trình xác minh tham chiếu

248 dòng mã nguồn mở, không phụ thuộc thư viện nào, có thể dẫn xuất lại từ mã nguồn công khai của Kaspa. Dù có mất đi thì cũng viết lại được.

Hãy tự mình xác minh

Hãy làm mà không cần Proovik

Trình xác minh tham chiếu là 248 dòng Python không phụ thuộc thư viện ngoài nào: nó cài đặt blake2b có khóa, phép hoán vị Keccak-f[1600], bộ sinh xoshiro256++ và số học ma trận. Đọc hết trong một buổi chiều và kiểm toán xong trong hai buổi.

Cửa sổ dòng lệnh
$ python3 verificador_kaspa.py prueba.json 0f7383b381366cc3a75dadd7e4a1e8998c492f7c5c5610f4384d7320f484aad8

  OK    1. El payload on-chain es el hash del documento
  OK    2. La transaccion esta en el arbol Merkle del bloque
  OK    3. La cabecera produce el hash de bloque declarado
  OK    4. La prueba de trabajo de esa cabecera es valida

RESULTADO: PRUEBA VALIDA

Tải trình xác minh tham chiếu

Hai tệp. Hãy đặt chúng vào cùng một thư mục và chạy tệp đầu tiên. Chúng không cài đặt gì và không kết nối ra mạng.

Ai không muốn chạy mã của người khác thì có thể tự cài đặt lại: bốn thuật toán đã được mô tả ở trên một cách không mơ hồ, và mọi tham số đều lấy từ mã nguồn công khai của rusty-kaspa. Việc tra cứu giao dịch trên bất kỳ trình khám phá Kaspa công khai nào để đối chiếu cũng chính đáng không kém, nhưng cần hiểu rõ khác biệt: trình khám phá là một lời chứng; phép tính là một chứng minh. Đặc tả này tồn tại để không phải phụ thuộc vào cái thứ nhất.

Khung pháp lý

Phạm vi pháp lý

Proovik cung cấp dịch vụ dấu thời gian điện tử không đủ điều kiện theo nghĩa của Điều 3.16.i) Quy định (EU) 910/2014. Cần nói rõ điều đó có nghĩa là gì.

  • Theo Điều 41.1 của Quy định nói trên, không được phủ nhận hiệu lực pháp lý hay tính chấp nhận được làm chứng cứ tại tòa của một dấu thời gian điện tử chỉ vì lý do nó ở dạng điện tử hoặc không đáp ứng các yêu cầu của một dấu thời gian đủ điều kiện.
  • Một dấu thời gian không đủ điều kiện không được hưởng suy đoán về tính chính xác của ngày và giờ theo Điều 41.2, vốn chỉ dành cho loại đủ điều kiện. Trong trường hợp bị phản đối, nghĩa vụ chứng minh thuộc về bên đưa ra bằng chứng.
  • Chính vì thế mà đặc tả này tồn tại: để nghĩa vụ đó được đáp ứng bằng một phép kiểm tra số học mà bất kỳ ai cũng tái lập được, thay vì bằng lời tuyên bố của nhà cung cấp.

Proovik không kiểm tra nội dung, quyền tác giả hay tính hợp pháp của tài liệu, và không bao giờ truy cập vào chúng: nó chỉ nhận được mã băm mật mã của chúng. Điều được chứng minh là một bằng chứng về sự tồn tại và ngày có trước so với một thời điểm xác định.

Tài liệu tham khảo

Tuần tự hóa tiêu đề và giao dịch, xây dựng cây Merkle và bằng chứng công việc, theo mã nguồn của bản cài đặt tham chiếu của Kaspa (rusty-kaspa): consensus/core/src/hashing/header.rs, consensus/core/src/hashing/tx.rs, consensus/core/src/merkle.rs, crypto/hashes/src/pow_hashers.rs, consensus/pow/.

Các giá trị dùng làm ví dụ thuộc về những chứng thư thật và bất kỳ ai cũng kiểm tra được. Đặc tả này được đánh phiên bản: các bằng chứng ghi ngay bên trong chúng phiên bản mà chúng được cấp theo.