Trạng thái công khai so với trạng thái riêng tư: Giải pháp sáng tạo của Aleo để lưu trữ dữ liệu blockchain

CrazyMoney Alchemist
5 min readNov 19, 2024

--

Khái niệm về bằng chứng không kiến ​​thức lần đầu tiên được giới thiệu vào năm 1985 trong bài báo The Knowledge Complexity of Interactive Proof Systems. Tuy nhiên, chỉ trong những năm gần đây, công nghệ đột phá này mới trở nên khả thi để sử dụng trên blockchain.

Zcash là một trong những chuỗi đầu tiên sử dụng sức mạnh của bằng chứng không kiến ​​thức để cung cấp quyền riêng tư cho số dư của tài khoản. Không giống như các loại tiền điện tử truyền thống như Bitcoin, nơi thông tin chi tiết về giao dịch được hiển thị công khai trên blockchain, Zcash cho phép người dùng bảo vệ các giao dịch của họ, khiến chúng hoàn toàn không minh bạch đối với những người quan sát bên ngoài. Nó sử dụng zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), một loại hệ thống bằng chứng không kiến ​​thức cho phép các bên xác minh tính hợp lệ của phép tính mà không tiết lộ dữ liệu cơ bản.

Trong thời gian gần đây, chúng ta đã thấy một số chuỗi Lớp 2 tương thích với zkEVM đã sử dụng các kỹ thuật mã hóa không kiến ​​thức để giải quyết các vấn đề về khả năng mở rộng của Ethereum. Họ sử dụng zk-rollups, tính toán nhiều thay đổi trạng thái ngoài chuỗi, sau đó đăng tóm tắt các giao dịch và bằng chứng đó trên chuỗi. Điều này giúp giảm đáng kể phí giao dịch. Tuy nhiên, tất cả đều sử dụng công nghệ không kiến ​​thức chủ yếu vì lý do khả năng mở rộng.

Aleo là blockchain lớp 1 kết hợp khả năng lập trình mục đích chung với quyền riêng tư theo mặc định. Không giống như các chuỗi khác, Aleo là một trong những blockchain đầu tiên sử dụng không kiến ​​thức cho cả quyền riêng tư và khả năng mở rộng. Trong bài viết này, chúng ta sẽ thảo luận về cách Aleo lưu trữ dữ liệu và cách nó cho phép các nhà phát triển lựa chọn thông tin nào là công khai và thông tin nào là riêng tư.

Lưu trữ trạng thái Aleo

Để có được quyền riêng tư vốn có trong một chuỗi, Aleo sử dụng mô hình bản ghi để lưu trữ trạng thái ứng dụng, tương tự như mô hình UTXO trong Bitcoin nhưng có thêm mã hóa. Tuy nhiên, Aleo cung cấp cho các nhà phát triển tùy chọn công khai trạng thái ứng dụng nếu họ muốn. Trạng thái công khai được lưu trữ bằng mô hình tài khoản như đã thực hiện trong Ethereum.

Lưu trữ các trạng thái riêng tư thông qua bản ghi

Bản ghi là một cấu trúc dữ liệu cơ bản có thể chứa bất kỳ tải trọng tùy ý nào và được sử dụng để mã hóa tài sản người dùng hoặc trạng thái ứng dụng. Một bản ghi biểu thị một trạng thái nhất định của một chương trình trong trạng thái toàn cục, ví dụ, số dư của một tài khoản hoặc giấy tờ tùy thân của bạn.

Bản ghi Aleo được tuần tự hóa theo định dạng sau:

Bản ghi được liên kết với các chương trình được triển khai trên Aleo và chỉ chủ sở hữu mới có quyền thay đổi trạng thái của bản ghi. Theo mặc định, chúng là riêng tư và được lưu trữ dưới dạng văn bản mã hóa trên chuỗi.

Lưu trữ trạng thái công khai thông qua ánh xạ

Trạng thái công khai trong Aleo được lưu trữ dưới dạng ánh xạ, là cặp khóa-giá trị. Bất kỳ ai cũng có thể truy vấn trạng thái ánh xạ bằng cách truy vấn Aleo Network bằng các công cụ như Aleo Explorer.

Chuyển đổi giữa các trạng thái riêng tư

Bằng cách hỗ trợ cả trạng thái lưu trữ riêng tư và công khai, một tính năng thú vị xuất hiện trong Aleo, nơi các trạng thái có thể được chuyển đổi từ riêng tư sang công khai và ngược lại.

Một ví dụ về trường hợp sử dụng như vậy sẽ là trong trò chơi poker. Trạng thái của bộ bài đã xáo trộn sau khi chia bài cho người chơi ban đầu phải được giữ riêng tư. Tiếp tục, khi “flop” tiết lộ 3 lá bài trên cùng, trạng thái của những lá bài đó phải được tiết lộ cho công chúng.

Xem khóa

Aleo có một tính năng độc đáo được gọi là khóa xem cho mỗi tài khoản. Khóa xem cho phép một người giải mã tất cả các giao dịch của tài khoản của mình. Nó khác với khóa riêng ở chỗ nó không cung cấp quyền chi tiêu hồ sơ.

Trạng thái công khai so với trạng thái riêng tư

Lựa chọn lưu trữ trạng thái ứng dụng dưới dạng công khai hay riêng tư phải phụ thuộc vào trường hợp sử dụng cụ thể của chương trình. Thay vì chỉ hoàn toàn riêng tư hay công khai, Aleo tin vào phương pháp tiếp cận hai hướng bằng cách cung cấp cho các nhà phát triển một lựa chọn.

Hơn nữa, các ứng dụng trong thế giới thực thường dựa vào sự kết hợp giữa thông tin công khai và riêng tư. Một ví dụ thực tế là đối với việc bỏ phiếu — trong các cuộc bầu cử, mọi người muốn phiếu bầu của mình được riêng tư, nhưng số phiếu cần phải được công khai để cộng đồng tin tưởng vào kết quả.

Aleo là một trong số ít blockchain lớp 1 nhấn mạnh vào quyền riêng tư có thể lập trình. Các nhà phát triển có thể chọn xem họ muốn công khai hay riêng tư một số trạng thái nhất định của chương trình. Điều này mở ra một loạt các ứng dụng thú vị hoàn toàn mới mà không thể dễ dàng xây dựng bằng các blockchain khác.

Hãy bắt đầu xây dựng trên Aleo ngay hôm nay bằng cách truy cập GitHub của chúng tôi và xem tài liệu dành cho nhà phát triển của chúng tôi.

--

--

No responses yet