Chuỗi bằng chứng
Tên miền được đăng ký theo lô. Mỗi lô chờ khoảng 10 phút. Mỗi lô tạo ra một bằng chứng. Các bằng chứng này tạo thành một chuỗi chuyển trạng thái từ đầu:
genesis_root (empty tree -- known constant)
| +-- "richard.pivx" registered at block 100,
| +-- "john.pivx" registered at block 110,
| ... (could be more registration/update commands)
| ! Proof 1 is generated
| old_root = genesis_root --> new_root_1
| +-- "richard.pivx" put his name on marketplace at block 200,
| +-- "sam.pivx" registered at block 250,
| ... (could be more registration/update commands)
| ! Proof 2 is generated
| old_root = new_root_1 --> new_root_2 (= current root)
old_root của mỗi bằng chứng phải bằng new_root của bằng chứng trước đó. old_root của bằng chứng đầu tiên phải bằng gốc khởi thủy đã biết (một cây Merkle thưa rỗng).
Kiểm chứng chuỗi
Bộ kiểm chứng kiểm tra toàn bộ lịch sử đăng ký qua năm bước:
- Lấy khóa xác minh SP1 — nó được suy ra một cách tất định từ tệp nhị phân của chương trình khách
- Tải mọi bằng chứng từ API
- Kiểm chứng từng bằng chứng SP1 bằng khóa xác minh đó
- Kiểm tra chuỗi —
genesis == P1.old_root,P1.new_root == P2.old_root, ...,PN.new_root == current_root - Kiểm tra mẫu trên chuỗi — tra bất kỳ
txidđã cam kết nào trên một nút PIVX và xác nhận memo, số tiền và khối đều khớp
Nếu mọi kiểm tra đều qua, toàn bộ lịch sử đăng ký là đúng — không cần tin trình lập chỉ mục.
Đường ống bằng chứng
Trình quét và trình tạo bằng chứng chạy độc lập với nhau:
PIVX Blockchain
|
PiNS Registrar Scanner (validates, captures SMT state)
|
Database (status: "pending")
|
SP1 Prover (generates ZK proof, verifies it)
|
Database (status: "proved")
|
New checkpoint published
|
Indexer syncs to the checkpoint
|
API Server (GET /v1.0/resolve/{name})
Trình quét không bao giờ phải dừng chờ việc tạo bằng chứng. Tiến trình nền tạo bằng chứng tự hỏi cơ sở dữ liệu về các bản ghi đang chờ và có thể chạy trên phần cứng riêng.