Quy trình làm việc
Dịch vụ đặt tên PIVX (PiNS) cho phép người dùng đăng ký, cập nhật, liệt kê và chuyển các tên miền mà con người có thể đọc được (chẳng hạn như myname.pivx) và ánh xạ chúng một cách an toàn tới các địa chỉ PIVX shielded (Sapling).
Vì PIVX là một chuỗi khối dựa trên UTXO không có hợp đồng thông minh có mục đích chung nên nó không thể chạy một hệ thống cơ sở dữ liệu phức tạp như cơ quan đăng ký tên miền. Để giải quyết vấn đề này, PiNS sử dụng Kiến trúc kiểu cuộn để thực thi các hoạt động ngoài chuỗi, lưu trữ dữ liệu trên PIVX và duy trì bảo mật trên Arbitrum.
Hệ thống được cung cấp bởi năm thành phần được kết nối với nhau:
1. PIVX Blockchain: Lớp sẵn có của dữ liệu
Mọi hành động mà người dùng thực hiện - đăng ký tên (REG), cập nhật địa chỉ (UPD), chuyển quyền sở hữu (CHG), niêm yết trên thị trường (LST), hủy niêm yết (ULT) hoặc mua (BUY) - đều bắt đầu dưới dạng giao dịch PIVX gốc. Giao dịch chứa lệnh văn bản có cấu trúc trong trường bản ghi nhớ giao dịch (ví dụ: PiNS:1:REG:domain:address:pubkey:nonce:signature).
- Chuỗi PIVX là nguồn gốc của sự thật. Nó lưu trữ vĩnh viễn mọi lệnh miền. Không thể xảy ra thay đổi trạng thái nếu không có giao dịch PIVX được ghi lại.
2. Nút đăng ký: Bộ sắp xếp thứ tự
Nút đăng ký tự động quét chuỗi khối PIVX. Nó đọc các lệnh miền, xác minh rằng người dùng đã thanh toán đúng phí giao dịch và xếp hàng các hoạt động. Cứ sau 10 phút, nhà đăng ký sẽ gộp các hoạt động này thành một Đợt duy nhất.
3. SP1 zkVM: Công cụ không kiến thức (bởi Succinct)
Lô giao dịch được gửi đến Máy ảo không kiến thức SP1 (zkVM). ZkVM chạy một chương trình khách Rust chuyên dụng hoạt động như một trọng tài giao thức nghiêm ngặt. Người chứng minh kiểm tra mọi giao dịch trong lô:
- Chữ ký có hợp lệ và được ký bởi chủ sở hữu tên miền thực tế không?
- Số nonces có tăng lên một cách nghiêm ngặt để ngăn chặn các cuộc tấn công lặp lại không?
- Tiền tố tên miền có được định dạng chính xác không?
- Giao dịch
BUYcó thanh toán theo mức giá chính xác được chỉ định trong giao dịchLSTkhông? REG0__ có chuyển đổi chính xác sangREG1__ bằng cách sử dụng bằng chứng Merkle toán học không?
Nếu tất cả các quy tắc đều được đáp ứng, zkVM sẽ tạo bằng chứng mật mã ZK-SNARK (sử dụng Groth16). Bằng chứng này là một chứng chỉ nhỏ tuyên bố về mặt toán học: "Bắt đầu từ trạng thái gốc A, sau khi áp dụng lô giao dịch hợp lệ này, trạng thái gốc mới là B."
Mỗi phiên bản được biên dịch của chương trình khách này đều mang lại một mã định danh mật mã duy nhất được gọi là Khóa xác minh (vkey). REG2__ là hàm băm 32 byte của chính cấu trúc của chương trình khách đã biên dịch. Nếu ngay cả một dòng mã xác minh bị sửa đổi, chương trình sẽ biên dịch thành REG3__ hoàn toàn khác.
4. Hợp đồng thông minh Arbitrum: Mỏ neo
Bằng chứng ZK được tạo và thông tin đầu vào công khai của nó sẽ được gửi tới hợp đồng thông minh PiNSANchor trên Arbitrum. Hợp đồng đóng vai trò là cổng thanh toán.
- Ràng buộc mật mã: Bên trong hợp đồng thông minh,
REG4__ (băm 32 byte dự kiến của chương trình khách) được lưu trữ trên chuỗi. Khi bằng chứng được gửi, hợp đồng sẽ chuyển tiếp bằng chứng vàREG5__ tới Cổng xác minh Succinct SP1. - Xác thực khóa phím: Cổng xác minh sẽ chỉ phê duyệt bằng chứng nếu bằng chứng đó được tạo bởi chương trình khách chính xác khớp với
REG6__ đã đăng ký. - Nếu bằng chứng hợp lệ và được xác minh dựa trên
REG7__ đã đăng ký, hợp đồng sẽ cập nhật gốc tiểu bang chính thức, được chấp nhận trên toàn cầu thànhREG8__ và lưu nó vào lịch sử của nó. - Nếu một quy tắc bị vi phạm hoặc nếu bằng chứng được tạo bằng chương trình khách đã sửa đổi (sẽ tạo ra một
REG9__ khác), thì hợp đồng sẽ từ chối giao dịch, ngăn chặn việc chuyển đổi trạng thái trái phép.
5. Bộ lập chỉ mục phân tán: Bộ giải quyết
Bất kỳ ai cũng có thể chạy Nút lập chỉ mục độc lập. Người lập chỉ mục quét chuỗi khối PIVX để tìm các giao dịch tên miền và quét hợp đồng Arbitrum để tìm các điểm kiểm tra gốc đã được xác minh. Họ áp dụng các giao dịch cục bộ, tính toán Cây Merkle của riêng mình và xác minh rằng gốc cục bộ của họ khớp với điểm kiểm tra Arbitrum.
- Điều này đảm bảo rằng tất cả những người lập chỉ mục, bất kể chúng chạy ở đâu, luôn phân giải các miền đến chính xác cùng một địa chỉ đích (duy trì một trạng thái thống nhất duy nhất ở các đầu được phân phối).