
ERC-7521 초안: 사용자 의도를 계정 추상 지갑에 추가
작성: Stephen Monn
번역: TechFlow

계속해서 진화하는 블록체인 및 탈중앙화 애플리케이션(DeFi) 환경에서 사용자가 순수한 트랜잭션이 아닌 자신의 의도(intent)를 정의하는 개념에 점점 더 많은 관심이 집중되고 있다. 이는 사용자가 날로 복잡해지는 DeFi 프로세스를 직접 처리할 필요 없이, 이제 막 구상되기 시작한 다양한 새로운 사용 사례들을 가능하게 한다.
개별 앱들이 서로 호환되지 않는 고유한 의도 구조를 이미 사용하고 있는 상황에서, 모든 사용자, 앱, 지갑 소프트웨어, 솔버(solver), 검색기(searcher) 등이 공유하고 이해할 수 있는 범용적인 의도 표준을 만드는 것은 매우 의미 있는 일이다.
호환성을 강화하고 진입 장벽을 낮추기 위해 우리는 ERC-7521을 제안한다. 이는 스마트 계약 기반 지갑에서 범용 의도를 지원하기 위한 표준이다.
사용자 의도란 무엇인가?
이 분야는 아직 매우 새로운 탓에 '의도'라는 용어의 정의가 다소 모호하다. 일반적으로 이 용어는 사용자가 원하는 체인 상의 결과나 최종 상태를 표현하는 것을 의미한다. 본 명세서에서는 의도(intent)를 사용자가 설정한 일련의 동작과 희망 조건으로 정의한다. 이러한 동작과 조건은 다른 의도들과 결합되어 모든 참여 당사자의 공동 이익과 최대 만족을 실현하려는 시도를 할 수 있다.
모든 관련 당사자를 만족시키는 일련의 체인 상 동작을 해결책(solution)이라고 부른다. 전문적인 솔버들(ERC-4337의 번들러와 유사함)이 경쟁하여 사용자에게 가장 높은 만족도를 제공하는 해결책을 찾게 된다. 예를 들어, 최적의 체인 상 경로를 찾거나, 체인 외부의 유동성 자원을 활용하거나, 서로 다른 사용자의 의도를 결합하여 공통된 수요를 극대화하는 방식으로 이루어질 수 있으며, 심지어 솔버 자신의 의도도 포함될 수 있다.
계정 추상화(Account Abstraction)에 사용자 의도 통합하기
범용 의도를 활성화하는 핵심은 스마트 계약 기반의 추상 계정을 사용하는 것이다. ERC-4337과 유사하게, 의도는 메시지 형태로 서명되며, 이후 별도의 트랜잭션을 통해 체인 상에서 검증된다. 이러한 서명된 메시지는 별도의 메모리풀(mempool) 내에서 전파된다.
본 명세의 목적은 의도를 체인 외부에서 어떻게 정확히 처리하고 구성하며 관리할 것인지에 대한 기술적 세부사항을 규정하는 것이 아니라, 서명된 의도 자체로 정의되는 광범위한 가능성을 통합하고 자동으로 지원할 수 있도록 스마트 계약 지갑을 위한 프레임워크를 만드는 것이다. 따라서 새로운 의도 사용 사례가 등장함에 따라, 이 프레임워크는 무허가(seamless and permissionless) 방식으로 업그레이드 및 코드 확장을 지원해야 한다.

단일 진입점과 무한한 의도 표준
무장애적이며 확장 가능한 업그레이드 과정을 촉진하기 위해, ERC-4337의 EntryPoint 컨트랙트를 모방하였지만 이를 두 개의 별도 구성 요소로 분리하였다. 첫 번째 부분은 '엔트리 포인트(entry point)'라 불리며, 의도 해결책을 제출하는 주요 진입점으로, 의도 서명을 검증하고 고급 의도 처리 로직을 실행하는 역할을 한다.
의도 처리 로직의 구체적인 내용은 별도의 컨트랙트에서 정의되며, 이를 '의도 표준(intent standard)'이라 부른다. 이 의도 표준은 서명된 의도 자체에 의해 지정되며, 엔트리 포인트는 해당 컨트랙트를 호출하여 의도를 처리한다. 바로 이 의도 표준이 추가된 의도 데이터를 어떻게 처리하고 실행할지, 그리고 의도 내재적인 서비스 거부(DoS) 공격 벡터와 관련된 기본적인 체인 외부 규칙(예: 솔버에게 메시지를 어떻게 전달할 것인지, DoS 공격에 대한 보호 메커니즘 등)을 정의한다.

이러한 의도 표준들은 본 명세와 독립적으로 자체적으로 설계되어야 한다. 의도 생태계가 성숙해짐에 따라 특화된 니치(niche) 최적화와 새로운 사용 사례가 등장하면서, 추가 기능을 갖춘 새로운 의도 표준들이 계속 등장할 것으로 예상된다. 이러한 표준들의 채택과 지원은 지갑 개발자, 의도 솔버, 그리고 궁극적으로는 최종 사용자의 수요에 기반한 사회적 합의에 의해 결정될 것이다.
제안하는 ERC가 초기 단계에서도 중요한 기능을 갖추도록 하기 위해, 현재 대부분의 블록체인 사용 사례를 지원할 수 있는 기반 자산 기반의 의도 표준을 개발하였다. 우리는 공개 환경에서 이 표준(및 이 ERC)을 지속적으로 개선하여 생태계의 요구에 맞춰 나갈 예정이다.
모호하지만 강력한 의도 구조
사용자 의도는 다음 두 가지 주요 데이터로 분해할 수 있다:
-
엔트리 포인트 컨트랙트가 발신자와 메시지를 검증하기 위해 의도 실행 전에 필요한 검증 데이터.
-
의도가 지정한 특정 의도 표준에 따른 추가 데이터.
의도 표준 데이터는 어떤 것이든 될 수 있지만, 항상 별도의 단위로 분리되며 이를 의도 세그먼트(segment)라고 부른다.
엔트리 포인트 컨트랙트는 데이터의 정확한 내용을 명시적으로 이해하지는 않지만, 세그먼트의 분할 구조는 인식한다. 엔트리 포인트 컨트랙트는 각 세그먼트를 하나씩 처리하기 위해 의도 표준 컨트랙트를 호출하며, 의도의 세그먼트는 반드시 지정된 순서대로 처리되도록 강제한다. 그러나 엔트리 포인트는 한 의도의 세그먼트 처리 사이에 다른 의도의 처리를 삽입하는 것을 허용한다.
이러한 의도 세그먼트는 일반적으로 사용자가 수행하고자 하는 작업이나 특정 조건이 충족되었는지 여부를 확인하는 검사를 포함한다. 또한, 세그먼트는 처리 과정 중 다음 세그먼트로 데이터를 전달할 수 있다. 이 데이터는 '의도 컨텍스트 데이터(intent context data)'라 불리며, 세그먼트 간 변경 사항을 검증하고 유용한 데이터의 재계산을 방지하는 데 유용하다. 마찬가지로, 이러한 데이터를 얼마나 잘 활용할지는 의도 표준 명세에 따라 결정된다.

최대 만족을 위한 의도 결합
의도 처리 중에는, 의도는 예상보다 낮은 잔액이나 의도 표준이 평가하여 거짓으로 판단하는 조건 등 어떤 종류의 조건에도 불만을 표시할 수 있다. 이런 경우 전체 트랜잭션이 롤백되며, 그 이전에 발생했을 수 있는 관련 없는 다른 의도들도 함께 롤백된다.
다수의 의도들이 모든 참여자들을 만족시키는 순서로 제출되고 처리될 때에만, 해당 의도들은 '사용됨(spent)'으로 간주되며 생성된 상태가 체인 상에 영구 저장된다. 바로 이러한 의도들의 조합이 하나의 해결책을 구성하며, 이 해결책이 엔트리 포인트 컨트랙트로 전달되어 처리된다.
그러나 단순히 의도 목록만 제출하는 것은 충분하지 않다. 왜냐하면 서로 다른 의도들의 세그먼트들은 서로 다른 순서로 배열될 수 있기 때문이다. 따라서 해결책은 처리 과정 중에 서로 다른 의도의 세그먼트들이 어떻게 정렬되어야 하는지(즉, 어떻게 교차 실행되어야 하는지)까지 명시해야 한다.

솔빙 과정의 일부로, 솔버는 다른 일련의 의도들을 만족시키는 데 도움을 주는 자신의 의도를 만들어낼 수 있다. 이를 통해 사용자 만족도를 극대화하면서 동시에 수익을 창출할 수 있다.
결론: 의도 중심 블록체인 상호작용의 강화
본 명세의 초점은 생태계가 계속 발전하는 가운데서도 스마트 계약 지갑이 연결되어 강력한 사용자 의도 표현을 가능하게 하는 기본 프레임워크를 정의하는 데 있다. 의도를 더 작은 세그먼트들의 집합으로 정의함으로써 사용자 경험을 크게 향상시키고, 사용자가 서명해야 하는 횟수를 줄일 수 있다. 의도 세그먼트와 공유되는 컨텍스트 데이터는 과도한 가스 비용 없이도 강력한 기능을 실현하는 데 도움이 된다. 의도는 모든 세그먼트가 수동적인 점검 없이도 지정된 순서대로 처리된다는 것을 신뢰할 수 있다.
범용 사용자 의도는 지금 막 개발되기 시작한 완전히 새로운 세계를 열어준다. 간단한 가스 프리 토큰 교환에서부터 차가운 지갑에서 뜨거운 지갑으로의 자금 이체를 자동화하거나, 단일 서명 메시지를 통해 매일 코인을 구매하는 등의 복잡한 조건 기반 의도에 이르기까지 가능성은 무궁무진하다! 우리가 제안한 자산 기반 의도 표준은 커뮤니티가 이 새로운 프레임워크를 활용할 수 있도록 하는 수많은 반복 중 첫 번째 단계일 뿐이다.
TechFlow 공식 커뮤니티에 오신 것을 환영합니다
Telegram 구독 그룹:https://t.me/TechFlowDaily
트위터 공식 계정:https://x.com/TechFlowPost
트위터 영어 계정:https://x.com/BlockFlow_News














