链上证书长什么样:EAS 证明服务的 Schema、UID 与可撤销性
“链上证明某件事”在口语里经常等于发个 NFT 徽章。以太坊证明服务(Ethereum Attestation Service,EAS)展示的是另一条工程路线:它不做代币、不发藏品,而是提供一张通用登记表——任何主体都可以为任何对象签一条结构化声明,别人可以按格式解析、按签名验证。证书、学分、资质、关系证明都能装进同一张表。本文按官方文档解释这张表的结构与用法,不涉及任何具体项目的评价。
一条证明由哪些字段构成
按 EAS SDK 文档对链上证明记录的描述,一条 attestation 包含:唯一标识 uid、所依模板 schema、可选引用的另一条证明 refUID、创建时间 time、过期时间 expirationTime(为零表示不过期)、撤销时间 revocationTime、被证明方 recipient、签发方 attester、是否可撤销 revocable,以及按模板编码的载荷数据。对比 NFT 视角能立刻看出差异:这里没有“持有”概念,证明不是从铸造者转到接收者的资产,而是第三方针对对象发出的一条可查询断言——它改变的是“关于谁的什么事实被谁签了名”,不是“什么东西的归属发生了转移”。
Schema:先立表格,再填内容
要用这张表,先在 SchemaRegistry 注册模板。官方文档对 Schema 记录的定义包括 uid、创建者地址、可选解析器合约、是否允许撤销、以及一段 ABI 式的数据类型说明。这个设计的实用含义在互操作性:只要引用同一个 Schema UID,不同应用写入的证明彼此可解析,钱包与索引器无需逐家适配。“模块化组合”被文档当作最佳实践反复强调——比如一条事件注册证明携带活动信息,若干出席证明各自引用事件 UID,信息只写一遍,关系靠引用串起。反过来说,Schema 复用也是审查入口:先查你收到的证明用了谁的模板、模板是否可撤销,比读十段宣传文案有用。
链上、链下与撤销
EAS 同时支持三种形态:直接上链的证明、以链下签名交付的证明、以及经委托授权的链上写入。链下版把成本挪出链上,靠签名可验证性成立,验证者可要求上链留底。revocable 与 revocationTime 组合解决的是现实难题——发证者纠错或撤证时,历史记录不是被抹掉而是被盖上“已于何时撤销”的时间戳,公开可查。这比“链上即永恒”的直觉更接近证书业务的真实需求:资质会吊销、结论会更正,可撤销加可追溯,才配得上“凭证”两个字。同一篇文档还提醒一个索引细节:模板记录里的递增序号只是页面展示便利,真正全局唯一的是 UID,跨应用引用模板一律以 UID 为准;同一 UID 下签发的所有证明会被索引器归入同一口径,这也是“先查模板再读内容”这条核验顺序能成立的底层原因。另外 expirationTime 允许证明自然过期,避免“十年前的一次验证被当作今天仍然有效”。
与 NFT 一起用时的分工
EAS 常被提议当 NFT 的“履历外挂”:藏品本身归 ERC-721 管,鉴定结果、展览记录、来源说明作为指向该藏品的证明挂在 EAS 上,签发方实名可验。这套组合的边界要说清:证明只增加关于藏品的可验证信息,不改变所有权、不赋予证明签发方任何处置权;评估价值时,它也不能把一位无名签发者的断言自动升级为事实。看一条 EAS 证明的标准顺序是:Schema 是否公开、签发地址是谁、可撤销性与有效期如何、当前撤销状态。
本文只做协议科普,不构成投资建议;接口与字段以 EAS 官方文档当前版本为准。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。