
Axiom: Web3 데이터 접근의 격차를 해소하고 스마트 계약에 새로운 기능을 부여
작성: camiinthisthang
번역: TechFlow
“모든 것을 블록체인에 올리자”는 내게 항상 다소 부자연스럽게 느껴졌다. 영구 저장 외에는 데이터로 할 수 있는 일이 거의 없기 때문에 많은 정보를 체인 위에 올릴 이유가 없다. The Graph와 유사한 프로토콜은 GraphQL을 통해 프론트엔드 통합을 위한 체인상 데이터의 쿼리 기능을 제공하며, 풀텍스트 검색 및 필터링도 가능하지만 이러한 작업은 모두 클라이언트 수준에서 이루어진다. 이는 곧 스마트 계약 수준에서 이러한 데이터를 활용해 조건 기반 로직을 작성할 수 없다는 의미이며, 결과적으로 Web3 애플리케이션이 평면적이고 단순화된 구조를 갖게 된다. 즉, 사용 가능한 데이터는 사용자 상호작용과 관련된 실시간 데이터—예를 들어 계정 잔고나 현재 블록 번호 등—에 한정된다.
전통적인 애플리케이션들은 사용자의 온라인 활동을 활용해 개인화되고 몰입감 있는 경험을 제공함으로써 성장한다. 안타깝게도 Web3는 아직 그러한 경험을 제공할 방법이 없으며, 이것이 일반 대중이 Web3가 의미 있는 애플리케이션을 제공하기 어렵다고 느끼는 주요 원인이다.
디지털 환경을 형성하는 유명한 앱들—Instagram, TikTok, Spotify, YouTube 등은 사용자 인터페이스에서 과거 활동을 보여주며, 이를 기반으로 추천 알고리즘을 구성하고 맞춤형 광고를 게재하며 사용자의 취향에 맞는 창작자와 연결한다. 이러한 역동적인 설계 공간은 Web3에서는 명백히 부재하다.
Web3가 이런 일을 하지 못하는 핵심 이유는 스마트 계약 수준에서 블록체인 데이터를 신뢰할 수 있게 접근할 수 있는 도구가 없기 때문이다. 다소 놀랍게도 스마트 계약은 아카이브 노드에서 특정 블록 높이의 과거 NFT 소유권이나 계정 잔고 같은 정보를 읽어들이고, 이를 기반으로 조건부 로직을 실행할 수 없다. 스마트 계약 내에서 이러한 데이터 접근을 허용하려면 보안성과 비용 측면에서 다양한 타협이 필요하다:
-
앱 운영자가 EOA 혹은 멀티시그를 통해 완전히 신뢰되는 방식으로 데이터를 체인에 올리는 것;
-
Chainlink가 필요한 특정 데이터 유형을 지원하는 것;
-
계약 내에서 데이터를 캐싱하는 것(추가적인 스토리지 비용 발생).
Axiom: 신뢰 없는 읽기 및 연산 제공
최근 몇 달간 여러 고성능 ZK 팀들의 등장은 이더리움 생태계에 새로운 가능성을 열었다. 그 중 하나가 Axiom인데, 이는 불신임 데이터 접근과 연산 부족으로 인해 웹3 앱이 지루하게 느껴지는 문제를 해결하기 위해 개발된 zk 프로젝트다. 현재 알파 버전이 이더리움 메인넷에 출시되어 있다.
개발자는 Axiom에 쿼리를 제출해 이더리움 전체 역사에 걸친 임의의 블록 헤더, 계정 또는 스토리지 값을 증명을 통해 신뢰성 있게 조회할 수 있다. Axiom은 zk 기술을 사용해 모든 쿼리 결과에 대해 유효성 증명을 생성하고 이를 체인 상에서 검증하므로, 스마트 계약은 추가적인 신뢰 가정 없이도 바로 이러한 결과를 활용할 수 있다.
Axiom은 과거 zk 사용에 필수적이었던 수학적 전문 지식 대부분을 추상화했다. Axiom의 가장 흥미로운 점은 개발자가 Solidity로 스마트 계약을 작성하면서, Axiom의 계약에 쿼리를 요청하고 응답을 검증한 후 자신의 스마트 계약 내에서 해당 데이터를 활용할 수 있다는 것이다.
Axiom은 TS SDK와 AxiomV1Query 스마트 계약을 제공하여, 개발자가 체인 상에서 쿼리를 생성하고 제출한 후 검증된 응답을 자신의 스마트 계약 내에서 사용할 수 있도록 한다. 상호작용 순서는 다음과 같다:
-
체인 상 쿼리 전송: Axiom SDK를 사용해 쿼리를 생성하고 AxiomV1Query 스마트 계약에 제출한다.
-
쿼리 완료 대기: 오프체인 프루버(prover)가 쿼리를 인덱싱하고 결과를 생성한 후 ZK로 그 유효성을 증명한다. 이 증명은 체인 상에서 검증되며, 결과는 머클 형태로 AxiomV1Query 계약 스토리지에 기록된다.
-
쿼리 결과 읽기: 결과가 체인 상에서 검증되면 SDK를 사용해 계약 스토리지에서 쿼리 결과를 가져오고, 스마트 계약 애플리케이션에서 신뢰성 있게 활용한다.
내가 생각하는 Axiom 사용의 핵심 요소는 두 가지다:
-
쿼리를 구성하고 Axiom 스마트 계약에 전송한다.
-
Axiom 스마트 계약에서 응답을 읽고 검증한다.
쿼리 구성 및 전송
첫 번째 단계는 Node/Next.js 프로젝트에서 TS SDK를 사용해 Axiom 계약에 쿼리를 보내는 것이다:

개발자는 다음 네 가지 메서드를 사용해 쿼리를 생성하고 전송할 수 있다:
-
newQueryBuilder - 쿼리의 새 인스턴스 생성;
-
append - 증명하고자 하는 주소, 스토리지 슬롯 및/또는 블록 번호 전달;
-
build - keccakQueryResponse를 얻고 쿼리를 직렬화;
-
sendQuery - 쿼리를 AxiomV1Query 계약에 전송.
응답 읽기 및 검증

프루버가 ZK 증명을 생성하면, 해당 쿼리의 "keccakQueryResponse"가 충족되었음을 기록하고 "QueryFulfilled" 이벤트를 트리거한다. 개발자는 Axiom 계약 스토리지에서 응답을 읽고, 다음 SDK 메서드를 사용해 체인 상에서 결과를 검증한다:
-
getValidationWitness - 사용자가 주장하는 데이터가 실제로 keccakQueryResponse에 제출되었음을 입증할 수 있음;
-
areResponsesValid - 제공한 데이터가 체인 상에 저장된 해시와 일치하는지 확인.
응답이 유효함을 검증한 후에는 이 응답을 어떤 스마트 계약 함수의 매개변수로 전달할 수 있으며, 해당 함수는 이 과정을 통해 계정에 제한을 부여하고 함수 호출 시 검증된 유효한 증명을 함께 전달할 수 있다.
ZK 기술이 마침내 일반 사용자들이 관심을 갖는 앱을 만들 수 있게 할까?
이제 과거 체인상 활동을 기반으로 스마트 계약에서 저장 증명을 생성하고 논리적 제약 조건을 적용할 수 있을 뿐 아니라, Web2 수준의 풍부한 사용자 경험을 처음으로 구현할 수 있게 되었다.
점점 더 많은 사용자, 활동, 데이터가 블록체인에 올라옴에 따라, Axiom과 같은 도구는 보안성을 희생하지 않으면서도 풍부한 사용자 경험을 창출하는 데 핵심적인 역할을 할 것이다.
아래는 Axiom의 공식 블로그에서 발췌한 몇 가지 영감을 주는 프로젝트 아이디어들이다:
-
중앙 기관 없이도 체인 상 활동을 기반으로 스마트 계약이 자율적으로 에어드랍을 수행.
-
신뢰할 수 있는 참여도 점수를 기반으로 한 체인 상 로열티 시스템.
-
검증 가능한 오프체인 솔버를 사용해 거래소 결제를 처리하는 솔버 기반 DeFi 프로토콜.
-
과거 거래를 참조하는 NFT 바닥가 예측기(oracle), 이를 통해 NFT 담보 대출 및 파생상품 보험을 지원.
-
랜덤성 마이닝의 결과를 활용하는 랜덤성 예측기.
-
AMM의 수수료 또는 담보 대출 프로토콜의 LTV를 조정하는 데 사용되는 신뢰할 수 있는 변동성 예측기.
-
선언된 알고리즘에 의해 생성되었음을 ZK로 증명할 수 있는 생성형 NFT.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














