FHE状态操作系统:在保护公民隐私的同时将公共基础设施上链

  • ZamaFHE
  • 发布于 2025-02-13 13:23
  • 阅读 25

本文介绍了Zama的FHE State OS,这是一个基于区块链的IT基础设施,旨在通过全同态加密保护公民隐私,同时管理税收、公共支出等政府职能。文章还讨论了使用FHE构建的几个应用案例,包括:加密的ERC-20 token,使用加密投票的DAO,以及去中心化身份系统。

博客

/

fhEVM

FHE 状态操作系统:在保护公民隐私的同时将公共基础设施上链

2025年2月12日

 -

Jason Delabays


“网络国家”的概念在全球的技术专家和政策爱好者中越来越受欢迎。Balaji Srinivasan 等支持者设想了完全数字优先的社区,而 Vitalik Buterin 等人则探索了物理飞地(通常在特殊经济区内),以促进长寿研究等领域的创新。尽管他们的愿景有所不同,但他们都有一个核心信念:区块链技术可以通过减少中介、在必要时提高透明度以及在需要时保持信息私密性来简化治理和集体决策。

数字社区框架

然而,区块链系统中的透明度可能是一把双刃剑。许多早期的加密货币采用者在货币、税收和公共支出等领域面临挑战,主要是因为传统的区块链暴露了太多的数据。这阻碍了基于区块链的基础设施在关键政府职能中的应用,因为对于个人记录、税务申报和州级决策而言,保密性至关重要。由此产生了 Zama 的 FHE 状态操作系统(Operating System) 的想法:一种基于区块链的、强大且高效的 IT 基础设施,专为整个州或社区设计,默认使用全同态加密来保护隐私。通过整合身份和货币功能,它旨在以尽可能少地依赖第三方的方式来管理从税收征收到公共支出的所有事务。区块链特别适合这一点,因为它们消除了对中心化中介的需求,从而降低了成本和潜在的故障点。

默认隐私:全同态加密

然而,在公共账本上实现隐私需要先进的密码学工具。零知识(ZK)证明提供了一种途径,使用户能够在不揭示底层数据的情况下证明某些事情。另一种有前景的方法是 全同态加密(FHE),它允许在加密数据上进行计算而无需解密。基于 FHE 的解决方案开始在解决透明度和保密性之间的紧张关系方面显示出真正的希望。一些行业参与者——正在悄悄地致力于弥合这些技术——认为一旦复杂的隐私解决方案成为网络国家的标准,传统机构也会纷纷效仿。

这种以隐私为中心的区块链治理愿景的一个实际例子是 Crecimiento 于 2024 年 12 月举办的 Crecimiento 黑客马拉松,开发人员在其中尝试使用机密智能合约来构建阿根廷公民服务和去中心化预算的新框架。结果表明,在协议级别集成加密(例如在支持 FHE 的环境中)可以保留区块链的核心优势(完整性、不可变性),同时满足国家和地方政府通常要求的隐私要求。

展望未来,创新者们看到了应用 FHE 作为保护隐私的状态操作系统骨干的潜力。这可以简化关键操作,而无需暴露敏感数据。尽管这些解决方案仍在不断发展,但它们代表着朝着更安全、更值得信赖的数字治理迈出的一步。

为创新做贡献

对于那些有兴趣塑造政府服务和数字国家未来的人来说,现在是探索智能合约平台上的隐私增强技术的时候了。通过参与开放黑客马拉松、试验原型系统或为支持同态加密的生态系统做出贡献,开发人员和企业家可以引领下一波公共基础设施的浪潮。

最终,随着网络国家的影响力越来越大,平衡区块链透明度和强大隐私的解决方案将重新定义我们管理公共资源、进行政治流程和确保数据保密的方式。构建下一代国家基础设施的竞赛已经开始。

你是开发者吗?立即编写你的第一个机密智能合约

使用 Zama 的 fhEVM,开发人员可以像编写常规智能合约一样,用普通的 solidity 编写机密智能合约。如果你有兴趣入门,可以查看 Zama 的 fhEVM 文档 上的分步演示。

机密 ERC-20 转账

标准 ERC20 智能合约的一种变体,它结合了加密余额,为代币持有者提供额外的隐私。

代码示例架构

contract EncryptedERC20{
    // ...
    function transfer(address to, einput encryptedAmount, bytes calldata inputProof) public {
        ebool canTransfer = TFHE.le(amount, _balances[msg.sender]); // 确保所有者有足够的代币
        euint64 transferValue = TFHE.select(isTransferable, amount, TFHE.asEuint64(0));
        euint64 newBalanceTo = TFHE.add(_balances[to], transferValue); // 添加到 `to` 的余额
        _balances[to] = newBalanceTo;
        TFHE.allowThis(newBalanceTo);
        TFHE.allow(newBalanceTo, to);
        euint64 newBalanceFrom = TFHE.sub(_balances[from], transferValue); // 从 `for` 的余额中扣除
        _balances[from] = newBalanceFrom;
        TFHE.allowThis(newBalanceFrom);
        TFHE.allow(newBalanceFrom, from);
    }
}
// 在 https://github.com/zama-ai/fhevm-contracts/blob/main/contracts/token/ERC20/ConfidentialERC20.sol 阅读完整代码

机密投票系统

DAO 智能合约,通过加密投票促进治理决策。

代码示例架构

contract VotingDapp is GatewayCaller, Ownable {
    uint256 public dateEndVote;
    uint256 public totalVotes;
    euint64 internal totalVotesForProposalEncrypted;
    uint64 public totalVotesForProposalResult;
    bool public finalResultIsDecrypted;

    mapping(address user => bool canVote) public isWhiteListed;
    mapping(address user => bool hasVoted) public hasAlreadyVoted;
    /// ...

    constructor(uint256 voteDuration) Ownable(msg.sender) {
        dateEndVote = block.timestamp + voteDuration;
        totalVotesForProposalEncrypted = TFHE.asEuint64(0);
        TFHE.allowThis(totalVotesForProposalEncrypted);
    }

    function whiteListUser(address user) external onlyOwner {
        isWhiteListed[user] = true;
    }

    function castVote(einput encryptedSupport, bytes calldata inputProof) external {
        if (block.timestamp >= dateEndVote) revert TooLateToCastVote();
        if (!isWhiteListed[msg.sender] || hasAlreadyVoted[msg.sender]) revert UserUnauthorized();
        ebool voteFor = TFHE.asEbool(encryptedSupport, inputProof);
        totalVotesForProposalEncrypted = TFHE.add(totalVotesForProposalEncrypted, TFHE.asEuint64(voteFor));
        TFHE.allowThis(totalVotesForProposalEncrypted);
        totalVotes++;
        hasAlreadyVoted[msg.sender] = true;
    }

    function requestRevealVoteResult() external { // 任何人都可以在投票期结束后请求解密最终结果
        if (block.timestamp < dateEndVote) revert TooEarlyToRevealResult();

        // 通过网关请求解密投票结果
        uint256[] memory cts = new uint256[](1);
        cts[0] = Gateway.toUint256(totalVotesForProposalEncrypted);
        Gateway.requestDecryption(cts, this.revealVoteResult.selector, 0, block.timestamp + 100, false);
    }

    function revealVoteResult(uint256 /*requestId*/, uint64 result) external onlyGateway {
        totalVotesForProposalResult = result;
        finalResultIsDecrypted = true;
    }

    function isProposalVoted() public view returns (bool) {
        if (!finalResultIsDecrypted) revert ResultNotRevealedYet();
        if (2 * totalVotesForProposalResult >= totalVotes) return true;
        return false;
    }
}
// 在 https://github.com/zama-ai/fhevm-contracts/blob/main/contracts/governance/ConfidentialERC20Votes.sol 阅读完整代码

机密去中心化身份系统

一种基于区块链的身份管理系统,使用智能合约来存储和管理加密的个人数据。

代码示例架构

contract DID is Ownable {
    struct Identity {
        euint128 id; // 加密的唯一 ID
        ebytes64 name; // 加密的姓名
        euint64 birthdate; // 用于年龄验证的加密出生日期
    }
    mapping(address user => Identity) private citizenIdentities;
    // ...

    /// @dev 所有者能够为特定用户地址添加新身份
    function registerIdentity(
        address user, einput name_, einput birthdate_, bytes calldata inputProof
    ) public onlyOwner {
        euint64 newId = TFHE.randEuint128(); // 生成一个新的加密随机唯一 ID
        citizenIdentities[user] = Identity({
            id: newId,
            name: TFHE.asEbytes64(name_, inputProof),
            birthdate: TFHE.asEuint64(birthdate_, inputProof)
        });
        /// @dev 允许用户访问自己的数据
        TFHE.allow(citizenIdentities[user].id, addressToBeAllowed);
        TFHE.allow(citizenIdentities[user].name, addressToBeAllowed);
        TFHE.allow(citizenIdentities[user].birthdate, addressToBeAllowed);

        /// @dev 允许合约访问数据
        TFHE.allowThis(citizenIdentities[user].id);
        TFHE.allowThis(citizenIdentities[user].name);
        TFHE.allowThis(citizenIdentities[user].birthdate);
    }

    /// @dev 授予 claim 合约访问加密出生日期的权限
    function generateAgeClaim(address claimAddress, string memory claimFn) public {
        TFHE.allowTransient(citizenIdentities[msg.sender].birthdate, claimAddress);
        (bool success, bytes memory data) = claimAddress.call(abi.encodeWithSignature(claimFn, msg.sender));
        if (!success) revert ClaimGenerationFailed(data);
    }

    function getBirthdate(address user) public view returns (euint64) {
        return citizenIdentities[user].birthdate;
    }
}

contract EmployerClaim {
  mapping(address user => ebool isAdult) private adultClaims;
  // ...

  /// @dev 生成一个加密的 claim,验证用户是否已满 18 岁
  function generateAdultClaim(address user) public {
      if (msg.sender != address(didContract)) revert NotAuthorized();
      euint64 birthdate = didContract.getBirthdate(user); // 从 DID 合约检索用户的加密出生日期
      ebool isAdult = TFHE.le(birthdate, _AGE_THRESHOLD); // 检查用户是否已成年
      adultClaims[user] = isAdult; // 存储 claim 结果
      TFHE.allowThis(isAdult);
      TFHE.allow(isAdult, user);
  }
}
// 在 https://github.com/poppyseedDev/FHEPass/blob/main/contracts/PassportID.sol 阅读完整代码

更多链接

阅读更多相关帖子

呼吁建设者:通过机密借贷将下几万亿美元资产引入 DeFi \ DeFi 快速、开放、高效,但对于机构来说过于透明。如果它提供瑞士银行级别的隐私呢? 2025年2月20日\ \ Jason Delabays

fhEVM

公告

Concrete Concrete ML FHEVM TFHE-rs

产品与服务

隐私保护机器学习 机密区块链 阈值密钥管理系统

开发者

博客 文档 GitHub FHE 资源 研究论文 赏金计划 FHE 状态操作系统

公司

关于 FHE 简介 活动 媒体 职业 法律

联系方式

与专家交谈 联系我们 X Discord Telegram 所有社区频道

隐私是电子时代开放社会所必需的。隐私不是秘密。私事是不想让全世界知道的事情,而秘密是不想让任何人知道的事情。隐私是有选择地向世界展示自己的能力。如果双方有某种交易,那么双方都会记住他们的互动。每一方都可以谈论他们自己对这件事的记忆;谁能阻止它呢?人们可以制定法律来禁止它,但言论自由,甚至比隐私更重要,是开放社会的基础;我们不寻求限制任何一种言论。如果许多方在同一个论坛中一起发言,每一方都可以向所有其他人发言,并将关于个人和其他方的知识汇总起来。电子通信的力量使得这种群体性发言成为可能,并且它不会仅仅因为我们可能希望它消失而消失。既然我们渴望隐私,我们就必须确保交易的每一方只知道该交易直接必要的知识。既然任何信息都可以被谈论,我们就必须确保我们尽可能少地透露信息。在大多数情况下,个人身份并不重要。当我在商店购买杂志并将现金交给店员时,没有必要知道我是谁。当我要求我的电子邮件提供商发送和接收消息时,我的提供商不需要知道我在和谁说话或我说什么或其他人对我说什么;我的提供商只需要知道如何将消息发送到那里以及我欠他们多少费用。当我的身份被交易的底层机制泄露时,我就没有隐私。我不能在这里有选择地展示自己;我必须始终展示自己。因此,开放社会中的隐私需要匿名交易系统。到目前为止,现金一直是主要的此类系统。匿名交易系统不是秘密交易系统。匿名系统使个人能够在需要时以及仅在需要时透露自己的身份;这是隐私的本质。开放社会中的隐私也需要密码学。如果我说了一些话,我希望只有我想要的人才能听到。如果我的言论内容对全世界都可用,我就没有隐私。加密就是表明对隐私的渴望,而使用弱密码加密就是表明对隐私没有太多的渴望。此外,当默认设置为匿名时,要以确信的方式揭示自己的身份,需要密码签名。我们不能指望政府、公司或其他大型、没有人情味的组织出于仁慈而赋予我们隐私。谈论我们对他们有利,我们应该预料到他们会谈论。试图阻止他们的言论就是与信息的现实作斗争。信息不仅仅是想自由,它渴望自由。信息扩展以填满可用的存储空间。信息是谣言的年轻、更强大的表亲;信息脚步更快,眼睛更多,知道更多,但比谣言理解得更少。如果我们期望拥有任何隐私,我们就必须捍卫自己的隐私。我们必须团结起来,创建允许进行匿名交易的系统。几个世纪以来,人们一直在用耳语、黑暗、信封、关闭的门、秘密握手和信使来捍卫自己的隐私。过去的技术不允许强大的隐私,但电子技术可以。我们密码朋克致力于构建匿名系统。我们正在用密码学、匿名邮件转发系统、数字签名和电子货币来捍卫我们的隐私。密码朋克编写代码。我们知道必须有人编写软件来捍卫隐私,并且因为除非我们都这样做,否则我们无法获得隐私,所以我们将编写它。我们发布我们的代码,以便我们的密码朋克同伴可以练习和使用它。我们的代码供全世界所有人免费使用。我们不太关心你是否不认可我们编写的软件。我们知道软件无法被销毁,并且广泛分散的系统无法被关闭。密码朋克谴责对密码学的法规,因为加密从根本上来说是一种私人行为。事实上,加密行为将信息从公共领域中移除。即使是反对密码学的法律也只能触及一个国家的边界和暴力手段所能触及的范围。密码学将不可避免地遍布全球,随之而来的是它所实现的匿名交易系统。为了使隐私得到广泛应用,它必须成为社会契约的一部分。人们必须走到一起,为了共同利益而部署这些系统。隐私只能延伸到社会中同伴的合作程度。我们密码朋克寻求你的疑问和你的顾虑,并希望我们可以与你互动,以便我们不会欺骗自己。但是,我们不会因为有人可能不同意我们的目标而改变我们的路线。密码朋克正在积极参与使网络更安全,从而保护隐私。让我们一起加快步伐。前进。Eric Hughes。1993 年 3 月 9 日。

  • 原文链接: zama.ai/post/fhe-state-o...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
ZamaFHE
ZamaFHE
Zama是一家开源密码学公司,专注于为区块链和人工智能构建最先进的完全同态加密(FHE)解决方案。