欢迎所有爱好区块链技术的人加入。

ARCHIVES / 2122.HTML

可信执行环境 (TEE) - Automata Network 代码分析

Surou Ethereum-开源推荐

基础信息

官网:https://www.ata.network/
GitHub: https://github.com/automata-network
docs: https://docs.ata.network/

重点关注项目

文档关键信息

TEE 验证器的设计

https://docs.ata.network/~gitbook/image?url=https%3A%2F%2F1690124894-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FtYKuUrKWPlgYjy0suCeT%252Fuploads%252FynRN9jA9wkhKAL4nk9x1%252Fimage1.png%3Falt%3Dmedia%26token%3D48037549-4a1e-41d6-97df-9879c0053d95&width=768&dpr=4&quality=100&sign=3f2e5c96&sv=2

带有 Scroll 的 TEE Prover 的架构有两个主要组件:

Intel SGX 的链上验证

远程认证允许以编程方式验证英特尔 SGX 飞地的属性和完整性。这是建立并确保其执行的任何计算或数据处理都是值得信赖的关键过程。
https://docs.ata.network/~gitbook/image?url=https%3A%2F%2F1690124894-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FtYKuUrKWPlgYjy0suCeT%252Fuploads%252FkELAGSfLK5H2Emk3Dxwh%252Fimage3.png%3Falt%3Dmedia%26token%3Dc19926a0-31b7-46fb-9bdb-0cab3e1d42c0&width=768&dpr=4&quality=100&sign=d3a64264&sv=2

https://docs.ata.network/tee-overview/tee-prover

多重证明器 AVS 的工作原理

https://docs.ata.network/tee-overview/multi-prover-avs-eigenlayer

multi-prover-avs 代码分析

GitHub: https://github.com/automata-network/multi-prover-avs/tree/main

目录结构

═── contract:Solidity合约,包括AVS合约和证明层合约。
│ │ │ ── dcap-v3-attestation:英特尔 SGX 的 Dcap 认证链上验证库。
│ │ ── src:AVS 合约的源文件。
│ └── test:智能合约的测试。
═── operator:运算符实现。
═── aggregator:聚合器实现。
═── sgx-prover:TEE 证明器的 sgx 版本。

AVS任务描述

任务定义:寻求利用可信执行环境 (TEE) 内的独立执行来确定其正确性的状态转换或计算过程。

struct StateHeader {
    uint256 identifier;
    bytes metadata;
    bytes state;
}

这是提交给证明者的状态头结构,下面是详细解释:

AVS 架构

AVS 的架构包含:

AVS 工作流程

以下是工作流程的详细图表

成分:

工作流程分为两部分:

  1. 设置

    • 按照Eigenlayer 的文档进行质押并注册成为 Multi-prover AVS 的运营商
    • 生成证明并注册为 TEE 证明者,不同的 TEE 技术,证明及其生成过程不同。例如,dcap-v3-attestation是验证 Intel SGX Dcap 证明的合约
  2. 在职的

    • 除了操作员处理任务之外,他们必须定期完成活性挑战,否则将被视为无效,其提交将被聚合器拒绝
    • 算子获取新任务并在 TEE 内部完成计算
    • 操作员签署最终状态并将其与签名一起发送给聚合器
    • 聚合器将在接受运营商的提交之前获取其有效性
    • 聚合器聚合所有 BLS 签名并提交给 AVS 服务管理器

TEE 委员会和法定人数


TEE 委员会是一组负责处理特定类型任务的法定人数。例如,在特定区块高度证明 Zk-Rollup 的根状态。操作员无需主动选择委员会,而是通过加入法定人数自动属于委员会。引入有利于TEE Committee操作员和任务更有组织的结构化。并为未来的增强奠定了基础,包括奖励机制和法定人数之间权益分配的约束。

TEE Quorum的概念与 Eigenlayer 使用的 Quorum 定义一致,但每个 Quorum 都与一个 TEE 平台相关联,例如 Intel SGX。每个 Quorum 都属于一个委员会,操作员可以选择加入任何 Quorum,但只有拥有必要证明的操作员的投票才会被聚合器接受。

如果您有兴趣加入以太坊主网上的 Multi-Prover AVS,请访问Operator 设置存储库。入职指南可在此处获取。

从源代码编译

操作员

go build -o out/operator ./cmd/operator

聚合器

go build -o out/aggregator ./cmd/aggregator

相关文档

https://scroll.io/blog/scaling-security
https://blog.ata.network/verifiability-as-the-missing-piece-for-ai-agents-in-web3-504839dca893
https://blog.ata.network/towards-a-common-tee-stack-71a7812a4bf9
https://blog.ata.network/automata-joins-the-superchain-ecosystem-launching-on-optimisms-op-stack-da25840cc658
https://atanetwork.notion.site/Multi-Prover-AVS-with-TEE-545319c42885489196142d966f0ede86
https://gramine.readthedocs.io/en/stable/attestation.html
https://sgx101.gitbook.io/sgx101