VERIFIABLE ENCRYPTION & PRIVATE Data trên Celestia

“Privacy matters. But so does verifiability.” — Celestia Labs

Các khái niệm cốt lõi mà bạn cần nắm (Core Concepts)

Dưới đây là danh sách các khái niệm kỹ thuật quan trọng liên quan đến Private Data Availability trên Celestia. Bạn nên tra cứu sâu hơn từng thuật ngữ để hiểu rõ cơ chế và ứng dụng của nó.

Bạn có thể tra cứu các cụm từ khóa trên trong tài liệu Celestia Docs, GitHub repo, hoặc ZKPrimer để hiểu rõ hơn. Đây là foundational building blocks cho mọi ứng dụng cần privacy + verifiability.

Private Data Availability (PDA) là gì?

Blockchains truyền thống vốn minh bạch theo mặc định — mọi giao dịch, mọi trạng thái đều hiển thị công khai. Điều này rất tốt cho tính phi tập trung và auditability, nhưng lại là rào cản lớn cho những ứng dụng cần sự riêng tư như DEX riêng tư, Data marketplaces, Encrypted messaging....

Như vậy Private Data Availability (PDA) cho phép devs đăng dữ liệu đã mã hoá lên Celestia, nhưng vẫn có thể chứng minh rằng dữ liệu đó thật sự tồn tại và ai cũng có thể truy xuất được (mặc dù chưa thể đọc nội dung).

Nói tóm lại thì muốn tạo ra một nơi credibly neutral trung lập theo cách mà ai cũng tin được để phục vụ cho việc Data Availability (DA) một cách công khai, minh bạch, nhưng đồng thời vẫn có khả năng chọn lọc ai được đọc nội dung bên trong.

Vì bất kỳ ai cũng có thể truy cập được dữ liệu, nên ta cần một cách để định nghĩa điều kiện nào cho phép đọc được nội dung đó (gọi là selective disclosure tiết lộ chọn lọc).

Với một mạng DA phi tập trung như Celestia, bất kỳ giao thức nào cần truy cập dữ liệu đều có đảm bảo chắc chắn rằng khi dữ liệu đã được publish thì không bên nào có thể che giấu hoặc giữ lại nó (retrievability guarantee) – ít nhất là trong một khoảng thời gian nhất định.

Thêm nữa, nhờ vào cơ chế Data Availability Sampling (DAS), bất kỳ ai cũng có thể xác minh một cách ngắn gọn rằng dữ liệu đã thực sự được công bố mà không cần phải download toàn bộ dữ liệu gốc.

Cốt lõi của PDA: Verifiable Encryption (VE)

Trong mã hoá truyền thống, ciphertext (dữ liệu đã mã hoá) không tiết lộ gì về plaintext (dữ liệu gốc). Điều này đảm bảo quyền riêng tư tuyệt đối( privacy)nhưng lại tạo ra một cái “trust bottleneck” là bạn phải hoàn toàn tin tưởng người giữ key giải mã sẽ không chơi xấu.

Nhưng nếu mình không muốn đặt niềm tin mù quáng vào người cầm key thì sao? Có cách nào để chuyển một phần niềm tin đó sang cơ chế có thể verify công khai?

VE tạo ra khả năng này bằng cách áp dụng các ràng buộc (constraints) lên:

Nhờ đó, ai cũng có thể xác minh rằng dữ liệu được mã hoá tuân thủ một số điều kiện cụ thể mà không cần biết dữ liệu đó là gì.

Khi kết hợp với Verifiable Encryption (VE) tức là kỹ thuật mã hoá cho phép chứng minh những điều đúng/sai liên quan tới dữ liệu mã hoá mà không cần giải mã. Chúng ta sẽ vẫn giữa được bí mật mà vẫn chứng minh tính hợp lệ.

Thay vì chỉ mã hoá đơn thuần, VE cho phép bạn “cam kết” rằng ciphertext đang chứa một nội dung thỏa mãn điều kiện nào đó — ví dụ như khớp với một hash cụ thể, hoặc chứa một giá trị nằm trong tập giá trị được chấp nhận — và tất cả điều đó được chứng minh qua một bằng chứng không tiết lộ gì về nội dung thực tế bên trong.

Bằng chứng này được sinh bởi zkVM và ai cũng có thể verify mà không cần giải mã dữ liệu

Kiến trúc PDA Proxy

Để triển khai nhanh chóng PDA, Celestia Labs xây dựng một proxy middleware cho các ứng dụng:

Dev chỉ cần gọi proxy thay vì node Celestia trực tiếp vì tất cả quy trình mã hoá, sinh chứng cứ, upload được xử lý ở backend

Tiêu chí Encryption thông thường Verifiable Encryption (VE)
Mục đích chính Bảo vệ nội dung khỏi người ngoài Bảo vệ nội dung chứng minh thuộc tính dữ liệu
Ai có thể xác minh Chỉ người có khóa Bất kỳ ai (dựa trên bằng chứng zk)
Chứng minh nội dung đúng ❌ Không thể ✅ Có thể chứng minh thuộc tính cụ thể của dữ liệu
Lộ thông tin dữ liệu gốc Không (nếu bảo mật tốt) Không (bằng zero-knowledge proof)
Phù hợp với use case nào Lưu trữ riêng tư, không cần chứng minh DEX, data marketplace, zk-identity, whistleblowing...
Yêu cầu tính toán zk proof ❌ Không ✅ Có, cần zkVM hoặc prover system
Triển khai trên blockchain Dữ liệu được mã hoá và đăng onchain Ciphertext + zk proof được đăng onchain

Các use cases

Một người bán muốn bán một bức ảnh có độ phân giải cao. Trước khi người mua thanh toán, họ cần biết chắc chắn rằng file được mã hoá là đúng ảnh đó, nhưng không muốn tiết lộ ảnh.

Vậy thì chúng ta có VE sẽ giúp cam kết rằng ciphertext chứa đúng file với hash H(x) mà không giải mã.

Người dùng cần gọi xe mà không tiết lộ vị trí công khai. PDA proxy sẽ mã hoá thông tin vị trí + đính kèm fingerprint thanh toán vù tài xế có thể xác minh & nhận lệnh ride nếu đồng ý.

Đến đây bạn sẽ đặt câu hỏi PDA Proxy có thể dùng cho những ai?

Bất kỳ ai đang xây dựng ứng dụng có tính chất nhạy cảm về dữ liệu đều có thể tích hợp PDA Proxy từ DEX, encrypted off-chain storage, messaging app, đến data DAO hay decentralized Uber. Một số use case rất phù hợp như:

flowchart LR
    Data["Data to be Sold"] --> zkVM_Algo["zkVM(transform media)"]
    zkVM_Algo -- "proven data transform w/ VE anchor" --> Contract["Marketplace on <dApp chain>"]
    Data -- "VE data" --> Celestia["Celestia"]
    Celestia -- "header" --> Blobstream["Blobstream on <dApp chain>"]
    Blobstream <-- "verify VE anchor and DA" --> Contract

Example Architecture: How VE + PDA Work Together

Ở kiến trúc mẫu này, the anchor đóng vai trò trung tâm một cầu nối (bridge) giữa bất kỳ protocol nào và một chứng minh (proof) rằng dữ liệu riêng tư nào đó đã được công khai một cách có thể kiểm chứng được.

Example dApps

Reference

  1. Github: https://github.com/celestiaorg/pda-proxy
  2. Private Data Availability on Celestia docs:
  3. Slide Verifiable Encryption event: https://hackmd.io/@Nuke/SyHBUsdWlg#/