Chuyển tới nội dung chính

Bảo đảm an ninh

Trang này nêu chính xác PiNS bảo đảm điều gì và không bảo đảm điều gì. Sự chính xác ở đây hữu ích hơn là lời trấn an: những phần vững chắc thì thực sự vững chắc, và biết ranh giới nằm ở đâu chính là điều cho phép bạn dựa vào chúng.

Tính chất: gian lận lộ ra

PiNS có tính chất gian lận lộ ra (fraud-evident). Mọi vi phạm quy tắc hoặc là không thể chứng minh ngay từ đầu, hoặc là hiện rõ công khai với bất kỳ ai chịu nhìn — và dữ liệu cần để nhìn đã được công bố, nên việc nhìn không cần xin phép và cũng không cần bên vận hành hợp tác.

Điều đáng hiểu là sự khác biệt giữa hai nửa. Quyền sở hữu và các chuyển trạng thái được mật mã bảo đảm và đơn giản là không thể vi phạm. Mọi thứ còn lại được xác lập bằng nhân bản độc lập, nơi một sai lệch bị mọi bản sao bác bỏ cùng lúc. Cả hai đều mạnh; mạnh theo những cách khác nhau, và trang này nói rõ cái nào áp dụng ở đâu.

Những điều hoàn toàn không thể xảy ra

Những điều này do toán học bảo đảm. Không hành động nào của bên vận hành có thể vượt qua.

  • Không thể lấy tên miền khỏi tay chủ sở hữu. Mọi thay đổi trạng thái đều đòi chữ ký Ed25519 bằng khóa mà thao tác yêu cầu, được kiểm tra bên trong mạch với xác minh nghiêm ngặt. Nhà đăng ký không giữ khóa của bạn và không thể giả mạo nó.
  • Không thể đăng ký một tên hai lần. REG đòi bằng chứng không thuộc tập, mà một tên đã tồn tại thì không thể tạo ra bằng chứng đó.
  • Không thể có giao dịch bán ở mức giá mà người bán chưa ký. BUY đòi giá đã trả bằng đúng giá niêm yết, vốn được ghim vào cây bởi lệnh LST có chữ ký của người bán.
  • Không thể neo một gốc trạng thái nếu thiếu bằng chứng hợp lệ. Hợp đồng neo trên BNB Smart Chain kiểm chứng mọi bằng chứng với programVkey trước khi chấp nhận một gốc. Một chuyển trạng thái không hợp lệ thì đơn giản là không thể chứng minh được.
  • Không thể tráo mạch một cách lặng lẽ. programVkey cam kết với đúng chương trình đã biên dịch. Đổi một dòng là đổi khóa, và đổi khóa trên chuỗi là hành động hai bên, cần cả bộ tuần tự lẫn chủ sở hữu.

Những gì được kiểm chứng bằng quan sát thay vì bằng mạch

Một số tính chất không được bảo đảm bên trong bằng chứng, mà do bất kỳ ai phát lại dữ liệu công khai xác lập. Đó là cơ chế khác, không phải kết quả yếu hơn: bất kỳ người quan sát nào cũng kiểm tra được, không cần xin phép, và một sai lệch hiện ra với tất cả cùng lúc chứ không chỉ với một số ít có đặc quyền.

  • Việc đưa lệnh vào và thứ tự của chúng. Nhà đăng ký là bên gom lô, nên chính họ sắp xếp thứ tự các lệnh. Nhưng vì địa chỉ giao thức và khóa xem đã được công bố, mọi trình lập chỉ mục độc lập đều suy ra cùng thứ tự đó từ chính chuỗi và tính ra cùng một gốc. Một lệnh bị bỏ sót hay bị đảo thứ tự sẽ tạo ra gốc mà mọi bản sao đều bác bỏ — ngay lập tức và không cần ai phải đi tìm.
  • Giá trị end_block_height mà một lô báo cáo. Nó được chuyển tiếp tới đầu ra công khai thay vì bị ràng buộc bên trong mạch, vì việc nhân bản vốn đã xác lập nó: một trình lập chỉ mục phát lại chuỗi biết lô đó bao phủ khối nào, nên chiều cao sai sẽ bị phát hiện y như mọi sai lệch khác.
  • Địa chỉ đích của các lần rút tiền. Số tiền chi trả, phí và nghĩa vụ đều kiểm toán được đầy đủ từ khóa xem đã công bố — mỗi lần chi trả đều mang memo nêu tên tài khoản mà nó thanh toán, nên ai cũng dựng lại được sổ số dư. Thứ không có trong hồ sơ công khai là địa chỉ đích mà người dùng đã chỉ định, vì yêu cầu đó được thực hiện trên trang web. Phần này do chính người nhận xác nhận trực tiếp, vì họ giữ yêu cầu mà mình đã ký. Xem Tin cậy & Quyền riêng tư.

Vì sao nhân bản mới là bảo đảm thực sự

Bằng chứng ZK trả lời: với những đầu vào này, các quy tắc có được tuân thủ không?

Việc nhân bản trả lời: đây có phải là những đầu vào thật không?

Trên thực tế, câu hỏi thứ hai mới quan trọng nhất, và mật mã không trả lời nó — điều trả lời nó là việc nhà đăng ký công bố địa chỉ giao thức và khóa xem của mình, nhờ đó bất kỳ ai cũng giải mã được toàn bộ lịch sử lệnh từ đầu, phát lại qua trình lập chỉ mục mã nguồn mở và so sánh các gốc. Một nhà đăng ký đi chệch sẽ tạo ra gốc mà mọi bản sao độc lập đều bác bỏ.

Chính vì thế, việc khóa xem được công khai không phải là chi tiết vụn vặt. Nó chính là cơ chế.

Nói cho chính xác: một rollup có chủ quyền

Về mặt cấu trúc, PiNS là một ZK-rollup:

  • Sẵn sàng dữ liệu — mọi lệnh nằm trong memo của một giao dịch PIVX, với khoản thanh toán ở cùng ghi chú được che chắn, nên ý định và thanh toán gắn chặt không tách rời.
  • Thực thi — ngoài chuỗi, trong SP1 zkVM.
  • Thanh toán bù trừ — BNB Smart Chain lưu gốc đã neo và kiểm chứng bằng chứng trong vài giây.

Khác với rollup điển hình ở chỗ tầng sẵn sàng dữ liệu là một chuỗi riêng tư, nên câu «ai cũng đọc được đầu vào» đòi hỏi khóa xem phải được công bố — và nó đã được công bố.

Tự mình kiểm chứng điều này

Không điều gì ở trên phải chấp nhận bằng niềm tin:

  • Tái tạo programVkey bằng cách biên dịch trình tạo bằng chứng và so sánh với hợp đồng.
  • Phát lại chuỗi bằng khóa xem đã công bố qua trình lập chỉ mục của riêng bạn và so sánh các gốc.
  • Kiểm chứng bất kỳ lần phân giải riêng lẻ nào bằng bằng chứng Merkle cộng với việc đối chiếu gốc trên chuỗi — xem Kiểm chứng bằng chứng.