Confidential NFTs: Bảo mật quyền sở hữu tài sản bằng FHE
"Phân tích chuyên sâu về Zama fhEVM và Mô hình Đồng sở hữu kép (Dual Ownership) để bảo vệ quyền riêng tư của chủ sở hữu tài sản thế giới thực (RWA) trên chuỗi."
Blockchain là một sổ cái công khai, đồng nghĩa với việc mọi số dư tài khoản hay lịch sử giao dịch đều hiển thị rõ ràng trước toàn thế giới. Dù tính minh bạch này là cốt lõi của phi tập trung, nó lại tạo ra rào cản lớn về quyền riêng tư đối với các tổ chức tài chính hoặc các nhà sưu tập muốn mã hóa tài sản thế giới thực (RWA) giá trị cao như tranh nghệ thuật hay đồ sưu tầm.
Bằng cách áp dụng Mã hóa đồng cấu hoàn toàn (Fully Homomorphic Encryption - FHE), chúng ta có thể viết các hợp đồng thông minh tự động mã hóa danh tính chủ sở hữu, đảm bảo sự riêng tư mà vẫn duy trì tính minh bạch của giao thức và các tính năng chuẩn ERC721.
Mô hình Đồng sở hữu kép (Dual Ownership Model)
Để kết nối giữa các sàn giao dịch NFT công khai (yêu cầu địa chỉ ví hiển thị rõ ràng) và quyền bảo mật sở hữu thực tế, chúng ta có thể áp dụng mô hình đồng sở hữu kép. Mỗi NFT sẽ ghi nhận 2 bản ghi sở hữu:
- Public Holder (Chủ sở hữu công khai): Địa chỉ ví đại diện hiển thị công khai (như ví custody, quỹ DAO hoặc ví ký quỹ của sàn).
- Encrypted Beneficial Owner (Chủ sở hữu thực tế): Địa chỉ ví thực của người thụ hưởng được mã hóa trực tiếp trên chuỗi.
Dưới đây là một bản rút gọn mã nguồn Solidity triển khai hợp đồng RWA ẩn danh sử dụng thư viện fhEVM của Zama:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import "@fhevm/lib/TFHE.sol";
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
contract ConfidentialRWA is ERC721 {
// Lưu trữ địa chỉ ví người thụ hưởng thực tế đã được mã hóa FHE
mapping(uint256 => eaddress) private _encryptedOwners;
constructor() ERC721("Confidential Asset", "CRWA") {}
// Mint tài sản mới với thông tin ví thụ hưởng được mã hóa
func mintAsset(
address publicHolder,
bytes calldata encryptedBeneficiary,
uint256 tokenId
) public {
_safeMint(publicHolder, tokenId);
// Chuyển đổi mảng byte đầu vào thành địa chỉ mã hóa (eaddress)
_encryptedOwners[tokenId] = TFHE.asEaddress(encryptedBeneficiary);
}
// Xác thực quyền sở hữu thực tế mà không cần để lộ địa chỉ ví
func isBeneficiary(
uint256 tokenId,
bytes calldata encryptedAddress
) public view returns (ebool) {
eaddress inputAddress = TFHE.asEaddress(encryptedAddress);
eaddress trueOwner = _encryptedOwners[tokenId];
// Thực hiện so sánh đồng cấu ẩn danh
return TFHE.eq(inputAddress, trueOwner);
}
}
Cách thức hoạt động
- Lưu trữ mã hóa: Địa chỉ ví thực của bạn được lưu trên chuỗi dưới dạng kiểu dữ liệu
eaddressđã được mã hóa hoàn toàn. - Thực thi đồng cấu: Mã hóa đồng cấu cho phép EVM thực hiện các phép toán so sánh (như kiểm tra xem người gọi hàm có phải chủ thực sự hay không) trên dữ liệu đầu vào đã mã hóa mà không cần phải giải mã dữ liệu đó ra.
- Tương thích chuẩn: Vì bản ghi Public Holder vẫn tuân thủ ERC721 thông thường, NFT này vẫn có thể được niêm yết trên các sàn công khai (như OpenSea) hoặc lưu trữ trong các ví đa chữ ký thông dụng.
Kết luận
FHE mở ra một kỷ nguyên mới cho quyền bảo mật thông tin trên blockchain. Bằng cách ánh xạ chủ ví custody với chủ sở hữu mã hóa thực tế, các lập trình viên Web3 có thể thiết kế các nền tảng RWA chuẩn doanh nghiệp đáp ứng các quy định pháp lý khắt khe và bảo vệ thông tin người dùng.