심층 의도 서사(1): Web3에서 의도의 현재와 미래 상태
편집: 심조 TechFlow
이 글은 Mike Calvanese와 Brink 팀이 작성한 의도(Intents) 내러티브에 관한 3부작 시리즈의 첫 번째 부분입니다.
의도 내러티브는 빠르게 확산되고 있습니다. 이는 Vitalik이 EthCC에서 논의한 또 다른 인기 주제인 계정 추상화를 통해 구현된 많은 사용자 경험 개선 중 하나입니다. 의도는 사용자가 블록체인에서 기대하는 결과를 정의하고, 이러한 결과를 달성하는 작업을 제3자 솔버에게 아웃소싱할 수 있게 합니다. 이 솔버는 사용자를 대신하여 네트워크 및 프로토콜과 직접 상호작용합니다. 궁극적으로, 이러한 추상화 계층 은 Web3 애플리케이션이 일반 애플리케이션처럼 느껴지게 할 것입니다. 이는 현재 존재하는 기술 학습 곡선 을 줄이고, 수백만 명의 새로운 사용자를 유치하는 데 도움을 줄 것입니다.
의도 패러다임으로의 전환은 미래의 사용자가 거래 제출, ETH로 가스 요금 지불, 슬리피지 제한 설정을 통한 AMM에서의 MEV 완화, 최적 경로 라우팅을 위한 토큰 교환 집계, 또는 네트워크 간의 크로스 체인 자산과 같은 기술적 작업에 대해 걱정할 필요가 없음을 의미합니다.
의도를 이해하는 간단한 방법은 사용자가 원하는 일이 발생하기를 바라는 것을 명령형 단계가 아닌 선언형으로 표현하는 것으로 생각하는 것입니다.
현재의 의도
의도는 새로운 개념이 아닙니다. Uniswap과 AMM이 등장하기 전, 이더리움 프로젝트인 EtherDelta와 0x는 의도 기반의 주문서를 제공했습니다. NFT 시장은 수년 동안 서명된 의도를 사용하여 NFT 목록 및 제안을 해왔습니다. CoW Swap 및 Uniswap X와 같은 새로운 시스템은 현재 ERC20 제한 주문을 위한 더 발전된 의도 기반 인프라를 제공합니다. 현재 상황을 보면, "의도"라는 용어는 "제한 주문"과 동의어처럼 보일 수 있습니다. 왜냐하면 오늘날의 Web3에서 널리 지원되는 의도는 "나는 X를 원하고, Y를 지불할 의향이 있다"는 것뿐이기 때문입니다.
제한 주문의 의도 구조는 일반적으로 단순하고 단일 목적에 집중되어 있습니다: 더 나은 가격으로 교환하려는 의도. 사용자는 자신의 제한 주문 의도에 서명하고, 솔버는 서명된 의도를 "채우기" 위한 경로를 찾습니다. 이 경로는 AMM, 다른 유동성 출처 또는 경우에 따라 다른 의도를 사용할 수 있습니다. 솔버는 사용자의 의도가 충족된 후 남은 추가 수익을 보유할 수 있기 때문에 경로 탐색에 대한 동기가 있습니다.
많은 시스템이 제한 주문 사용 사례를 지원하기 위해 구축되었지만, 더 발전된 의도 기반 도구가 구축됨에 따라 우리는 더 강력한 사용 사례를 지원하기 위한 보다 일반적인 아키텍처를 보기 시작할 것입니다.
일반 의도 시스템의 예로는 적극적으로 개발 중인 Anoma와 Flashbots SUAVE가 있습니다. 이들은 사용자가 서명된 의도를 전파 노드에 방송할 수 있는 의도 전파 계층을 제공합니다. 이는 특정 의도의 체인이 되어 사용자가 의도를 서명하고 솔버가 다양한 네트워크에서 의도를 실행하는 것 간의 연결을 촉진합니다.
또 다른 예는 Brink로, 이는 조합 가능한 의도를 생성하기 위한 솔루션입니다. Brink는 사용자와 개발자가 조건 상태에 따라 여러 호환 EVM 네트워크에서 의도를 구축, 서명 및 해결할 수 있도록 합니다.
의도의 미래
Web3 의도가 단순한 제한 주문을 넘어 어떻게 발전할 수 있는지 살펴보겠습니다. 다음은 몇 가지 새로운 개념입니다:
- 조건 의도: 하나 이상의 조건이 충족될 때 특정 작업을 실행
- 연속 의도: 반복적인 작업에 대한 요구를 표현
- 다단계 의도: 하나의 의도가 해결된 후 하나 이상의 새로운 의도를 열기
- 의도 그래프: 관련된 의도의 집합으로 형성된 경로
조건 의도
현재 Web3 애플리케이션에는 한 가지 유형의 조건 의도만 있습니다: 제한 주문. 미래에는 상태의 임의 수의 조건과 결합할 수 있는 의도를 갖게 되어 모든 작업을 유도할 수 있습니다.
Web3 사용자라면 과거에 많은 조건 결정을 내린 경험이 있을 것입니다. 이러한 결정은 의도로 표현될 수 있으며, 서명하고 제3자 솔버에게 위임할 수 있습니다. 다음은 몇 가지 예입니다:
가격 임계값: "A/B 가격이 X 이하로 떨어지면 B를 A로 교환합니다." 전통 금융에서는 이를 "손절매"라고 합니다.
거버넌스 결정: "내가 지지하지 않는 거버넌스 제안이 통과되면, 토큰 A를 판매합니다."
지갑 잔액: "내 핫 월렛의 ETH가 부족하면, 내 콜드 월렛에서 더 많은 ETH를 내 핫 월렛으로 이동합니다."
시간/블록: "X 개 이상의 블록이 채굴되면, ETH를 수신자 주소로 이동합니다."
이 모든 것은 단일 의도로 서명할 수 있습니다. 조건이 충족되면, 솔버는 이러한 의도를 모니터링하고 사용자를 대신하여 행동을 취합니다. 사용자가 이러한 조건을 의도의 일부로 서명하면, 솔버는 어떤 체인 상태 검사를 통해 조건을 증명합니다.
의도는 임의 수의 조건을 포함할 수 있습니다. 예를 들어:
- "1) ETH 가격이 1750달러 이하일 때, 2) 대출 ETH의 평균 DAI 수익률이 높을 때, 그리고 3) 내가 관심 있는 한 고래 지갑이 지난 24시간 내에 최소 10 ETH를 구매했을 때, 나는 DAI로 2 ETH를 구매하고 싶습니다."
사용자는 임의 수의 복잡한 상태 조건이 충족될 때 구매, 판매, 스테이킹, 이동 또는 크로스 체인 자산에 대한 의사를 표현할 수 있습니다. 이 모든 것은 단일 서명된 의도로 가능합니다.
연속 의도
의도는 프로토콜과 무관하게 연속 작업을 실행하는 방법을 제공합니다. 현재의 의도는 일반적으로 단일 작업에 해당하는 단일 서명(제한 주문)과 관련이 있지만, 우리는 곧 연속 의도의 출현을 보게 될 것입니다.
사용자는 오늘날 자금을 프로토콜이나 거래소에 예치하여 연속 작업을 수행합니다. 다음은 몇 가지 예입니다:
정기 투자: "매달 시장 가격으로 DAI로 ETH를 구매합니다." 사용자는 일반적으로 Coinbase와 같은 중앙화 거래소를 사용하여 이 작업을 수행합니다.
수익 복리(재스테이킹이라고도 함): "토큰 A의 보상을 인출하고, 토큰 B로 교환한 후 재스테이킹합니다." 이는 여러 거래와 여러 DeFi 프로토콜과의 상호작용을 포함하는 번거로운 과정입니다.
핫 월렛 충전: "내가 50 ETH가 있는 콜드 월렛을 가지고 있습니다. 내 핫 월렛의 ETH 잔액이 X 이하일 때마다, 내 콜드 월렛에서 Y ETH를 내 핫 월렛으로 이동합니다." 이 또한 많은 개별 거래가 필요합니다.
지불 흐름: "매 2주마다 수신자 주소로 X USDC를 전송합니다." 스트리밍 결제 애플리케이션이 이 기능을 지원하지만, 사용자가 자산을 스마트 계약에 예치해야 합니다.
시장 조성자: AMM 기반 LP 포지션은 기본적으로 두 개의 반대 거래가 무한 루프 패턴을 따릅니다: "A/B 가격이 X를 초과하면 A를 B로 교환하고; A/B 가격이 X 이하이면 B를 A로 교환합니다."
이러한 예에서 볼 수 있듯이, 현재의 연속 작업은 사용자가 특정 프로토콜에 자금을 예치하고 많은 거래를 제출해야 합니다. 의도를 사용하면 사용자는 단일 서명으로 기대하는 연속 작업을 표현할 수 있습니다.
정기 투자는 완벽한 예입니다. 정기 투자를 하려는 사용자는 이를 서명으로 표현할 수 있으며, 조작하기 어려운 ETH/DAI TWAP 오라클이 제공하는 가격으로 매 50,000 블록(약 매주 한 번 이더리움 메인넷에서) 1 ETH와 DAI를 교환하고 1%의 수수료(0.01 ETH)를 지불합니다. 솔버는 이 의도를 모니터링하고 다음 사항을 확인합니다:
- 사용자의 계좌에 교환할 1 ETH가 있습니까?
- 마지막 교환 이후 50,000 블록이 채굴되었습니까?
- 1% (0.01 ETH)가 교환의 가스 요금을 지불하기에 충분합니까?
- 솔버가 가스 요금을 지불한 후, 솔버의 운영 비용을 충당할 수 있는 충분한 ETH가 남아 있습니까? 이는 PGA(우선 가스 경매)를 잃은 후 발생할 수 있는 롤백 위험이나 기타 수수료를 포함할 수 있습니다. 솔버에게 잠재적 이익이 가치가 있습니까?
이 모든 검사가 통과되면, 솔버는 사용자가 ETH → DAI 교환을 수행하려는 의도를 충족하기 위해 거래를 보냅니다. 사용자의 계좌에 충분한 ETH가 있는 한, "비용 평균화"를 위한 단일 서명 의도는 솔버에 의해 모니터링되고 연속 거래의 시리즈를 생성할 수 있습니다. 사용자는 원하는 것을 얻을 수 있으며, EVM 네트워크나 특정 프로토콜과 직접 상호작용할 필요가 없습니다.
의도를 사용한 시장 조성은 솔버에게 위임할 수 있는 또 다른 연속적이고 잠재적으로 무한한 행동의 예입니다. ETH/DAI 시장 조성을 원하는 사용자는 1,800 ETH/DAI 이하의 가격에서 DAI → ETH 교환을 허용하고, 2,000 ETH/DAI 이상의 가격에서 ETH → DAI 교환을 허용하는 의도를 생성할 수 있습니다. 이 의도를 통해 사용자는 시장이 1,800과 2,000 ETH/DAI 가격 사이에서 변동할 때 200 DAI의 이익을 잠그려고 합니다.
이를 두 개의 반전된 제한 주문으로 생각할 수 있습니다. 하나가 체결되면 다른 하나가 열리고, 그 반대도 마찬가지입니다. 사용자는 각 가격 지점에서 교환하기 위해 단일 의서에 서명할 수 있습니다. 시장이 이러한 가격 지점 사이에서 지속적으로 변동하는 한, 솔버는 이 주문을 이론적으로 무한히 채울 수 있으며, 사용자는 아무런 행동을 취할 필요가 없습니다.
다단계 의도
의도는 여러 단계로 구성될 수 있습니다. 이러한 의도를 상태 기계로 볼 수 있으며, 각 거래는 이전 상태에서 새로운 상태로 전환됩니다. 우리가 전환하는 새로운 상태는 이전 상태가 정의한 조건에 따라 달라집니다.
다단계 의도의 간단한 예는 전통 금융(Trad-Fi)에서의 브래킷 주문입니다. 이들의 복잡성은 다양할 수 있지만, 간단한 버전은 일반적으로 거래 금융 거래 애플리케이션에서 찾아볼 수 있습니다. Web3의 조합성과 다단계 의도를 통해 우리는 매우 강력한 브래킷 주문을 생성할 수 있습니다.
Web3 브래킷 주문 의도는 다음과 같이 표현할 수 있습니다: "나는 1 ETH를 원하고, 1,800 DAI를 지불할 의향이 있습니다. 1,800 DAI를 지불하고 1 ETH를 소유하게 되면, 나는 이 1 ETH를 2,000 DAI의 가격에 판매할 수 있을 때까지 보유하고 싶습니다. 만약 ETH/DAI 가격이 1,620 DAI 이하로 떨어지면, 나는 이 1 ETH를 판매하여 손실을 최소화하고 싶습니다. 이 경우 나는 1,600 DAI를 수용하고, 솔버에게 20 DAI의 수수료를 지불하겠습니다. 만약 내가 여전히 이 1 ETH를 보유하고 있다면, [무작위 거버넌스 제안]이 통과될 때, 나는 ETH/DAI 시장이 제시하는 어떤 가격으로든 이 1 ETH를 판매하고, 판매 수익의 10%를 솔버에게 줄 것입니다."
이는 몇 가지 조건 트리거가 있는 상대적으로 간단한 3단계 주문이지만, 여러분이 상상할 수 있듯이 이러한 유형의 주문은 훨씬 더 복잡할 수 있습니다.
의도 그래프
사용자 의도 간의 관계는 의도 그래프를 형성할 수 있습니다. 이러한 그래프는 사용자가 정의한 조건과 작업의 그룹을 나타내며, 이러한 조건과 작업은 교환, 자산 이동 또는 기타 온체인 작업으로 이어집니다. 이전의 모든 의도 예시는 실제로 특정 그래픽 배열의 이름에 불과합니다.
제한 주문서가 시장 유동성의 현재 상태를 나타내는 것처럼, 의도 그래프는 현재 상태뿐만 아니라 여러 다른 잠재적 미래 상태에서의 조건 유동성을 나타낼 수 있습니다.
예를 들어, 가상의 시장에서 사용자가 XYZ와 ETH를 거래하고, 사용자가 다양한 조건에서 XYZ를 구매하고 판매하려는 의도를 표현한다고 가정해 보겠습니다. 이러한 조건에는 거버넌스 제안 결과, 특정 블록의 채굴, 시장 가격의 상승 및 하락, 또는 다른 의도가 완료되었는지 여부가 포함될 수 있습니다.
결론
의도는 발전하고 있으며, 매일 새로운 발전이 이루어지고 있습니다. 다음은 유용한 리소스입니다: