EAS 증명
마루의 EAS(Ethereum Attestation Service)를 다룹니다. 증명 구조, Indexer 역방향 조회, PCL이 빠른 증명 평가를 위해 사용하는 x/eas 체인 내부 helper를 포함합니다. KYC/KYB 증명 흐름을 구현할 때 이 섹션을 참고합니다. AI 에이전트 신원(ERC-8004 Identity Registry, Agent 프리컴파일)은 AI Agents 섹션에서 다룹니다.
신원
마루의 증명(Attestation)은 Solidity에 정의된 표준 EAS 구조를 따릅니다. 발급자, 수신자, 만료일, 실제 인코딩된 데이터 페이로드 등의 메타데이터를 담습니다. x/eas 모듈은 이 구조를 EVM ABI에서 사용 가능한 JSON/Protobuf 형식으로 디코딩합니다.
EAS 인덱서는 특정 주소가 수신한 증명 매핑을 유지·관리하는 스마트 컨트랙트입니다. 핵심 EAS 컨트랙트가 UID별로 증명을 저장하는 반면, 인덱서는 역방향 조회를 지원해 개발자가 특정 사용자에게 발급된 특정 스키마의 모든 증명을 찾을 수 있습니다.
마루는 Ethereum Attestation Service (EAS)를 신원 및 평판의 핵심 프리미티브로 통합합니다. EAS는 정식 주소에 배포된 표준 Solidity 컨트랙트로 존재하며, 체인의 x/eas helper가 PCL의 AnteHandler가 검증 중 그 컨트랙트를 효율적으로 읽도록 돕습니다. dApp 호출자는 표준 EAS surface — getAttestation, Indexer의 역방향 조회 — 를 보며 체인 helper의 존재를 알 필요가 없습니다.
x/eas는 PCL의 AnteHandler가 트랜잭션 검증 중에 KYC/KYB attestation을 저렴하게 평가할 수 있도록 돕는 체인 내부 helper입니다. 개발자용 surface를 추가하지 않습니다 — attestation을 읽어야 하는 dApp은 다른 EVM 체인과 동일하게 0x...007의 EAS 컨트랙트 preinstall (또는 역방향 조회를 위해 0x...008의 Indexer)을 JSON-RPC로 직접 호출합니다.
0x1000000000000000000000000000000000000009 주소의 EAS 프리컴파일은 얇은 모듈 설정 표면입니다. 단일 view 메서드인 getParams()만 노출하며, 이 체인의 정식 Ethereum Attestation Service 배포 주소(schemaRegistry, eas, indexer)를 반환합니다. 각 주소 슬롯은 독립적으로 설정할 수 있으며, 설정되지 않은 슬롯은 0 주소(0x0000…0000)로 반환되므로 호출자가 사용 전에 확인해야 합니다. 실제 attestation API(발급, 조회, 폐기)는 이 프리컴파일이 아니라 EAS 컨트랙트 preinstall에 있습니다.
마루는 표준 익명 지갑(미인증)과 KYC 연동 지갑(인증) 모두를 지원합니다. 이 구분은 이더리움 증명 서비스(EAS)로 관리되며, 계정이 사용할 수 있는 트랜잭션 경로를 결정합니다.