EAS 调研

EAS 直接相关研究材料

官方材料

Explorer Sites (Etherscan for Attestations)

间接相关材料

理论相关

实践相关 Govrn 关于贡献见证机制的尝试 Coordinape 关于互相见证分配的尝试 许愿池相关

  • 有些实践性的内容的尝试

其他相关

  • [[Effective Altruism Movement 有效利他主义的相关研究材料]]
  • Daodrops
  • CyberConnect 解析

关键词

  • P2P
  • ATST
  • EA
  • 治理
  • 易用
  • 低成本
  • 互操作
  • 链上溯源
  • 自动化 gate

EAS 是什么

在去中心化的环境中基于纯粹主观的信任网络构建动态的身份集,是构建去中心化身份的基石

项目开始时间: 在 Github 我找到的最早的项目记录来自 Github 上的 Commits on Oct 3, 2020

以太坊认证服务(EAS)是一种公共服务,让任何人都可以针对任何事物进行链上或链下的认证。你只需注册一个关于任何主题的模式(或使用现有的模式),并使用该模式进行认证。为了使更多的东西超越金钱和资产而去中心化,我们需要在以太坊上建立一个用于做出声明的通用账本。

这个账本将有助于建立我们在线交互中的更多信任。无论何时你需要证明或验证某件事,认证都将发挥关键作用。通过允许任何人创建和验证认证,EAS 有可能改变在线信息以及在整个以太坊生态系统中如何共享和验证的方式。我们迫不及待地想看到你如何使用认证来创建一个更加信任和透明的世界。

为认证而生的全球注册表:

EAS 作为协调、创建和注册认证模式的基础层。这允许各种认证协议和解决方案之间的互操作性和可组合性,使得认证层可以随时间演进。

免费、无代币、开源和无需许可:

EAS 是一个开源的、无需许可的平台,任何人都可以使用和贡献其开发。EAS 由社区建立和服务于社区,维护了区块链的原始承诺。开源,意味着任何人都可以使用。去中心化意味着它不由任何一个人或公司所有,而是由 ETH 社区支持。

  • 无代币,因为所有的交易都使用以太坊进行结算。
  • 公共服务:EAS 是免费使用的,并为以太坊生态系统的更大利益而创建的。
  • 互操作性:认证层的不同部分可以顺利地一起工作。
  • 可组合性:你可以像乐高积木一样在彼此之上和彼此之间添加和构建认证。
  • 无需许可:你不需要从权限就可以使用 EAS。
  • EAS 不预设任何事情: EAS 是一个原始的基础层,不对其使用方式或特定用例的适当模式结构进行假设。它被设计为一个可以用来在其上构建更具体和复杂系统的基础,可以根据不同用户的需求进行定制。这个原始层将使得可以自由地创建和强化适合正确用例和正确用户的正确模式和认证。
  • 简洁优雅的智能合约: EAS 运行在两个简单的智能合约上:一个用于注册认证模式,另一个用于进行认证。可以为任何用例注册模式,并可以在链上或链下进行认证。你还可以添加一个解析器合约到模式中,以处理高级用例,如链上验证认证数据和将支付附加到认证上。

你可以用 EAS 做什么?

EAS 为创业家和开发人员提供了广泛的可能性,可以构建使用认证的应用。一些可以用 EAS 构建的例子包括身份验证系统、供应链解决方案、认证系统等等。我们很期待看到你会用 EAS 构建什么,以及你如何使用认证来创建一个更信任和透明的世界。

创立 EAS 的初衷 EAS 的存在是为了在网络上建立更多的信任。EAS 的目标是成为全球基础层,可以对任何事物进行认证。我们的愿景是创建一个通过全球、开放和互操作的认证层恢复并增加信任的世界。 我们相信,通过创建一个免费的、开源的认证平台,我们可以促进创新,使人们能够以更有效和透明的方式验证和相信对方。加入我们,帮助构建以太坊生态系统的全球认证层。

相比于 ERC-721 和 SBT 的优势

原文链接

作为一种可验证凭证来说:ERC 721 存在可转让、不可撤销、缺乏标准化等负面特性;SBTs 则存在隐私保护、扩展性、公共注册、规范方面的负面特性。

Attestations是由个人、公司或组织签署的关于另一个人、实体或事物的信息的数字记录。Attestations的关键特性包括:真实性,不可转让性,可撤销性,有过期日期,不可更改,透明性,可组合性,多功能性,可互操作性,可批量处理,不需要徽章,以及可以在链上或链下进行

利用 EAS 更好的抗女巫攻击

原文链接

通过创建更安全更强大的数字身份以抵抗女巫攻击。

EAS 是如何工作的 ?

总共包含两个简答的合约: Schema 合约和 Attestion 合约

Schema 合约核心字段

structSchemaRecord{

// A unique identifier of the schema.
// Schema 唯一标识符

bytes32 uid

// Optional schema resolver contract.
// 可选的执行合约

address resolver

// Whether the schema allows revocations explicitly.
// 设定 Schema 是否允许用户创建 ATST 后撤销

bool revocable

// Custom specification of the schema.
// 自定义 Schema 的特殊规范

string schema

}

Attestion 合约核心字段

structAttestation{

// A unique identifier of the attestation.
// ATST 唯一标识符

bytes32 uid

// A unique identifier of the schema.
// Schema 唯一标识符

bytes32 schema

// The UID of the related attestation.
// 有相关性的 ATST ID

bytes32 refUID

// The time when the attestation was created.
// ATST 创建时间

uint64 time

// The time when the attestation expires.
// ATST 到期时间

uint64 expirationTime

// The time when the attestation was revoked.
// ATST 销毁时间

uint64 revocationTime

// The recipient of the attestation.
// ATST 的接收者地址

address recipient

// The attester/sender of the attestation.
// ATST 的见证者和发送者

address attester

// Whether the attestation is revocable.
// ATST 是否可撤销

bool revocable

// Custom attestation data.
// 自定义 ATST 日期

bytes data

}

存储方式

  • Schema:存储在以太坊上,可以看这个例子
  • Attestation:
    • On-Chain:将原始数据直接存储在以太坊上的交易字段中,可以查看这个例子
    • Off-Chain:将原始数据存储在 IPFS 中,可以在后期由任何 attester 触发将 off-chain 的 attestation 时间戳上链。可以查看这个例子
  • on-chain 和 off-chain 对应不同的应用场景:
    • On-chain : 更容易被智能合约交互,具备公开性
      • 预言
      • 信誉
      • 身份验证
      • 可验证书
      • 替代 SBT
    • Off-chain: 可以更好控制可见性
      • 身份文件
      • 社交媒体消息
      • 表决

GAS 消耗情况

  • 根据不同的使用情况,存储的数据不同,以及采取的字段类型会消耗不同量的 GAS ,需要开发者根据具体的场景进行字段类型选择以优化 GAS
  • 说明书传送门

基础使用

基础的使用方法直接查看官方文档,都有比较详细的说明。 使用 EAS 制作的每个证明都具有以下关键功能:

  1. UUID - 自动生成的唯一通用标识符,它是证明的哈希值
  2. Timestamp- 创建时间
  3. Attester - 做出证明的人
  4. Recipient- 证明的地址(如果相关)
  5. Attestation data——认证的信息
  6. Reference UUID - 相关证明的 UUID(如果有)
  7. Expiration time (optional) - 认证过期的时间
  8. Revocation time(可选)- 认证被撤销时的状态和日期
  9. Resolver- 一个可选的合约,一旦做出证明就可以从模式中触发

refUID 应用方式:在创建一个 attestation 的时候,可以填写 refUID 字段来关联到另一个 attestation 上,以为 ATST 提供更多的上下文信息。通过利用引用的证明,开发人员可以创建结构化程度更高且易于验证的证明系统。并且支持 array 模式以关联多个 attestation 的 UID。 EAS 将该功能视作最重要的能力,因为提升了证明信息之间的结构化程度,能够作为一种有效组织证明信息间关系的手段。相当于是做历史证明。关联许愿池,其实感觉可以通过这种方式来进行愿力提升。

疑虑:如何可以高效查找到具有相关性的全部 ATST ?

resolver contract EAS 提供了 SchemaResolver. Sol 作为解析器合约,提供了一种通用的机制来处理和验证 attestation 内容。在创建 Schema 的时候,可以在 resolver contract 字段填写触发器合约。在触发器合约中可以前置去判断当前试图应用 schema 进行操作的用户是否满足某些特定条件。以下是一些示例

  • 证明者:检查 attest 的地址是否条件
  • 过期时间:检查 attest 的到期时间是否大于或等于在合约部署期间指定的 _validAfter 时间戳
  • 支付:在 attest 的时候向 attester 付款,在撤销的时候返还
  • 收件人:验证 attestation 的 resolver 是否和合约指定的一致
  • 撤销:合约控制 attestation 的可撤销属性是否为真

Timestamp on-chain 将 off-chain 的 attestation 的时间戳存储到链上 任何人都可以对一个 Off-Chain 的 Attestation 触发该操作,在链上添加该认证和时间戳。可以看这个例子

Revocal 撤销认证:Attest 的时候可以设置认证是否具备撤销能力,具备撤销能力的能力的认证可以手动撤销。可用于一些凭证管理的场景,比如授予

Expriration 过期时间:attest 的时候可以设置该字段,在过期之后则会将attestation状态改为“已过期”

特殊应用方式

为一个 Schema 创建名称

这并不是一个常规的操作,在 schema 的字段中并没有 name , 但是你可以通过找到编号为 #1 的 schema ,这是一个专门为命名 Schema 而设置的 Schema 。使用这个 Schema 进行 attest 填入你想要命名的 Schema 的 UID 和名称并 attest 之后就可以完成命名。 但是命名的解析应该是在 EASScan 的前端完成的。

私有数据证明

可以用来将包含私人数据的数据集 attestation 中的部分数据取出,生成独立的可用于可信第三方用于验证的表示 Merkle 树根的 privateData bytes 32 值。 看起来似乎无法由用户在前端直接创建此类 Schema , 这是 EAS 官方创建的独立应用程序。分别在 Arb、Ethereum、sepolia 上分别部署了一份。 存在的疑问:在提供第三方验证的时候已经完全暴露了数据,不知道在什么样的场景下,c 端用户需要使用这样的功能。并且我也没想明白在什么样的场景下,我需要将我的多个隐私和非隐私数据打包在一个 Schema 中提交。

抗伪造 Hash 存证

可以上传内容生成 Hash ,并且将该 Hash 存证(时间戳)。

EAS 各个链的应用情况对比

尚未上线 Optimism 主网和 Polygon 主网

以下为已经上线的网络:

  • Ethereum:200 attestation;71 Schema
  • Arbitrum:800 attestation;92 Schema
  • Sepolia:2687 attestation;174 Schema ; 77 Attestors;44 schema creaters
  • Optimism-Goerli:1500 attestation;131 Schema
  • Base-Goerli:450 attestattion ;82 Schemas

生态应用

三个应用来自于 ETH Belgrade 的黑客松

Ponte

开源协议通过利用 zk 和认证彻底改革了就业验证。主要功能包括可验证的工作经验,匿名验证的评论,认证门户论坛。

PhoenixGuard

具有不可信争议的分散保险协议。他们制定了一个保险协议,其中包含分散的、不可信任的纠纷,以便在用户烧毁令牌时为他们提供保险。

Awesome Tutorials

他们做了一个图形化/游戏化去使用 EAS 的工具

Prophet

基于信誉的信息交易平台

相关推特

相关链接

相关产品

  • Coordinape
  • Gorvn
  • Loopss
  • Yes3
  • Guild.xyz

相关领域

  • 场域理论
  • EigenTrust 算法
  • 辐射度算法

应用场景

  • 许愿池
  • 社区股权分配

可能衍生方向

  • 抗女巫攻击的身份认证:因为每个节点都需要其他节点来证明自己是自己
  • 个性化身份和关系计算:利用已有的信任相关数据去根据用户的个性化需求来对节点进行多维度的评分。
  • 基于不同的信任类别(ATST 数据、链上交易数据、链上借贷数据)来生成不同方向的图谱。

感受性内容

  • 倾向于协调而非竞争(感受来自 Protocol Guild 的这篇文章
    • Protocol Guild 使用从事核心开发的各个同行的“[自我管理”。](https://protocol-guild.readthedocs.io/en/latest/4-roles-expectations.html#curators)这在某种程度上取决于同行管理员的高度信任社区,其中假设在没有侵入性监督的情况下仍会产生高质量的工作。这也可以通过从许多组成部分的协作管理中出现的集体协议的角度来实现,而不是像竞争性 RFP 流程这样的东西。
  • 直接对 EAS 进行应用只能是最基础的输入信息以及对信息做人脑可计算的判断。比如 Plancker 希望用 EAS 作为一种存证工具,以体现出股权分配方案的合法性溯源信息。而这种应用方式我认为是最底层的显性应用模式。而真正的深度应用方式实际上是对于 EAS 的数据以复杂网络的方式来进行理解,并且从中诞生出可以为无数领域的链上服务提供可信中立计算数据的底层。因为对其做出计算远比直接应用复杂,我们都知道建立点对点的见证网络之后可以从中诞生出来一些我们可以计算出的有用数据,比如说想要判断一个人和某个组织之间的关联度,计算出来某个地址和其他地址之间的信任关系,而这些数据是可以穿透不同的服务场景的。简单的可以将各种关系具象为一种个人信用分,复杂的则可以进行抗女巫的计算。
  • EAS 可以理解为是做了一种关系的数据标注规范,并且使用 IPFS 存储或者以太坊直接存储。
  • 总之 EAS 就是使用各种渠道来帮助客户存储见证内容,这些内容包含了明文可见的,或者使用默克尔书进行可加密验证的。
  • 想要了解 EAS 在做什么,就必须先思考一个概念:我是谁?身份问题在区块链的世界中是一个既哲学又技术的问题。我是被一个具体的身份所定义的,比如我是“张三”“李四”;我是被一个职业所定义的,比如我是“警察”“开发者”;我是被一个钱包地址定义的;我是被我的生物特征定义的;我是被一个专属域名定义的;我是被我的社交媒体账号定义的;我是被我的贡献记录定义的……
    • 但是,有没有一种新型的方式,我们对我的定义可以不是静态的?
    • 我是被我的社会关系网络所定义的。我是谁?我是一个动态计算的结果,可以通过钱包地址来对我寻址,但是我是一个和周边环境时刻处于交互中的我,我不断在接收影响力也不断在传递影响力。
    • EAS 在我看来一切都是围绕身份展开,而从身份出发
  • 关系图谱的构建部分来自于合约自动化见证,部分来自个人手动见证,而 EAS 作为底层的话,甚至还可以用于去映射以经存在的链上关系,比如在 OP 许愿池中的这个idea 中提到的。我们有大量现成的数据可以被放在 EAS 里面在统一框架
  • EAS 的本质是在对非链上记录的标准数据进行标准化记录,以扩充链上可用于社会活动计算的必要数据。
    • 人和人之间的交互多是有多重维度的

OP ATST 之间的联系和区别

大约是 2023 年 5 月 3 好左右,OP 开始启用 EAS 标准作为 Attestation Station 的底层

想要更好的理解 EAS 就需要更好的了解 ATST 是如何在 Optimism 中运作的。(关于这部分还没有研究清楚,不过下面依然是提供了一些资料,理解ATST 需要理解 OP 的整个治理系统是如何运作的。)

很可惜,因为 ATST 从 V0 到 V1 的转换从原本的自研变成了采用 EAS 作为底层服务,所有 ATST 官方移除的部分文档,导致不好考古。 关于ATST 应该将更多链上状态转换为ATST标准提出的 Idea

Optimism 的思考维度是: 在一个专门的链上构建去中心化身份涉及使用来自各种来源的人格证明和声誉数据,从而消除了单个实体拥有用户数据和身份的需要。我们可以使用类似EigenTrust 这样的算法基于纯粹主观的信任网络来生成动态的身份集,这会允许建立一种更加值得信赖和可靠的方法来在去中心化的环境中验证个人的身份。并且这种建构身份的方式也可以实现很好的抗女巫攻击,以及进行信用操作。我们可以借助于此实现更安全、透明、民主的系统。而这样的系统需要让每个人都可以更加轻易的去参与,人人参与,造福人人。

AttestationStation 相关的创意清单

https://github.com/orgs/ethereum-optimism/projects/31/views/3

这个清单中的内容非常值得研究,目前我还没有仔细看。比如

EAS 和 Optimism 的联合Space

OP Radio #30: Decentralized Identity with Ethereum Attestation Service

ATST 生态中已经发展出来的应用场景

社区管理公司

叙事,能接受

初心,不改变

Layer 3

  1. EAS

  2. DAOs

  3. NFT

  4. 如果给出一个范式,移动互联网对传统互联网

  5. 现实世界,个人信用,实物品牌,Web3 Social Capital,Layer3 Network

  6. Public Guardian 是Layer3 Network的一个具体应用,基于Socail Capital

  7. 社区资产,管理,流失

可计算的社会层

去中心化自动化民主

岭南

《社会网络分析》

研究 OP 的动态门槛是怎么做的

Select a repo