비자가 제안한 계좌 추상화: 이더리움을 자동 결제 시스템으로 어떻게 변환할까?
원문 저자: Visa, Andrew Beams, Catherine Gu
원문 편집: PANews, Jordan
블록체인 채택률이 지속적으로 증가함에 따라, 탁월한 사용자 경험과 실제 사용 사례를 지원하는 제품에 대한 수요도 점점 더 커지고 있습니다. Visa는 고객(특히 젊은 고객)에게 편리한 자동 이체 및 정기 자동 결제 기능을 제공하고 있지만, 이더리움과 같은 블록체인에서는 이러한 기능을 구현하는 데 여전히 어려움이 있는 것 같습니다. 이더리움은 결제량이 가장 많은 블록체인 네트워크로, 특정 유형의 온체인 디지털 지갑에 대해 사용자의 계좌에서 자동으로 결제를 정기적으로 인출하는 것은 여전히 "큰 작업"입니다.
이에 대해 Visa는 계좌 추상화(AccoutAbstraction) 개념을 제안하고, 이를 통해 스마트 계약을 사용하여 자동화된 프로그래머블 결제를 구현하는 방법을 탐색하며, 자동으로 자금을 인출할 수 있는 자가 관리 지갑을 지원하기 위해 스마트 계약을 작성하는 방법을 시연했습니다.
사용 사례 시나리오
한 가지 시나리오를 고려해 보겠습니다: 오늘이 2월 25일이고, 앨리스가 알프스 산으로 휴가를 가고 있으며, 3월 10일에 돌아올 예정입니다. 그러나 그녀는 매달 5일 이전에 주택 담보 대출, 케이블 TV 요금 및 공과금을 지불해야 합니다. 문제는 그녀가 휴가 전에 결제할 충분한 돈이 없다는 것입니다. 하지만 3월 1일에 급여를 받으면 충분한 돈이 생깁니다. 이제 문제는 앨리스가 결제를 연체하지 않고 어떻게 휴가를 즐길 수 있을까요?

맞습니다, 답은------자동 이체입니다. 사실, 앨리스가 은행 계좌를 가지고 있다면 자동 이체는 매우 간단한 과정으로, 단지 이체 계좌를 Visa 카드와 연결하기만 하면 됩니다. 그러나 블록체인에서는 이러한 작업을 수행하는 것이 그리 간단하지 않습니다. 그러나 새로운 기술로서, 우리는 위의 시나리오에 대한 블록체인 스마트 계약 솔루션을 탐색할 가치가 있습니다.
본론에 들어가기 전에, 먼저 이더리움 계좌의 개념을 이해해 봅시다. 현재 이더리움 네트워크에는 두 가지 유형의 계좌가 있습니다:
외부 소유 계좌(ExternallyOwnedAccounts), 일반적으로 "사용자 계좌"라고 불립니다.
계약 계좌(ContractAccounts), 일반적으로 "스마트 계약"이라고 불립니다.
개인 키로 제어되는 사용자 계좌는 거래를 보낼 수 있지만, 스마트 계약은 실행을 위해 관련된 코드가 필요합니다. 그러나 스마트 계약은 "자체적으로 거래를 시작할 수" 없으며, 거래는 항상 사용자 계좌에서 시작되어야 하고 사용자 서명이 필요합니다. 이러한 거래에는 이더리움 블록체인에서 사용자 계좌 간의 간단한 토큰 전송이나 스마트 계약을 통해 여러 가지 다른 작업을 실행하는 더 복잡한 거래가 포함됩니다.
그렇다면, 이더리움 블록체인에서 자동 결제를 어떻게 구현할 수 있을까요?
앨리스의 상황을 다시 살펴보겠습니다.
앨리스가 이더리움 블록체인에 사용자 계좌를 가지고 있고, 자신의 급여를 그 계좌에 보관하여 주택 담보 대출, 케이블 TV 요금 및 공과금을 지불한다고 가정해 보겠습니다. 오늘 그녀는 청구서를 지불하기 위해 거래를 시작해야 하며, 토큰을 그녀의 "외부 소유 계좌"에서 수취인의 사용자 계좌로 전송해야 합니다.
좀 더 자세히 말하자면, 앨리스의 "외부 소유 계좌"는 오직 그녀만 알고 있는 키/개인 키를 가지고 있으며, 그녀만이 이 개인 키를 사용하여 타원 곡선 디지털 서명 알고리즘(ECDSA) 서명을 생성할 수 있습니다. 이는 유효한 거래를 생성하는 데 매우 중요합니다. 그러나 만약 앨리스가 휴가 중이라면, 누가 이 서명을 생성하고 비용 지불 거래를 생성할까요?
현재의 해결책 중 하나는 앨리스가 관리 지갑을 사용하도록 하는 것입니다. 즉, 제3자가 앨리스의 개인 키를 제어하도록 하는 것입니다. 다시 말해, 앨리스는 제3자를 신뢰하여 그녀의 자금을 보호하고 거래를 원할 때 자금을 지정된 계좌로 보낼 수 있도록 합니다. 이렇게 하면 앨리스는 자금 관리자가 예정된 자동 결제를 생성하는 데 필요한 서명을 생성할 수 있지만, 단점은 그녀가 이 제3자를 완전히 신뢰해야 한다는 것입니다.
그렇다면 앨리스가 위험을 걱정하여 관리 지갑을 사용하고 싶지 않고, 자가 관리 지갑을 사용하여 자동 결제를 설정하고 싶다면 어떻게 해야 할까요? 다음으로, 또 다른 개념인------계좌 추상화(AccountAbstraction)를 도입해 보겠습니다.
계좌 추상화란 무엇인가?
계좌 추상화는 사용자 계좌가 스마트 계약처럼 작동하도록 하고, 사용자 계좌와 스마트 계약을 결합하여 새로운 이더리움 계좌 유형을 만드는 시도입니다. 미래에는 계좌 추상화를 통해 자동 결제를 위한 간단한 솔루션을 설계할 수 있으며, 블록체인에서 거래를 검증하는 과정에서 더 큰 유연성을 제공할 수 있습니다. 예를 들어:
다중 서명을 통해 다중 소유자 계좌를 활성화할 수 있습니다.
후량자 서명을 사용하여 거래를 검증할 수 있습니다.
모든 사람이 완전한 서명 취소 검증을 통해 거래를 수행할 수 있는 이른바 공공 계좌를 허용합니다.
본질적으로, 계좌 추상화는 블록체인 거래를 검증하고 확인하기 위한 프로그래머블 유효성을 허용합니다. 이더리움 프로토콜 기반의 거래는 유효성 조건의 하드코딩에 완전히 의존할 필요가 없으며, "맞춤형" 방식으로 일부 조건을 계좌 스마트 계약에 작성할 수 있습니다.
더 중요한 것은, 서명 검증을 포함하지 않는 유효성 규칙을 설정할 수 있기 때문에 계좌 추상화는 자동 결제를 지원합니다. 이제 이를 구현하는 방법을 살펴보겠습니다.
위임 계좌------계좌 추상화를 통해 이더리움 체인에서 자동 결제 기능을 구현하기
Visa의 이더리움 자동 결제 솔루션은 계좌 추상화 개념을 활용하여 새로운 유형의 계좌 계약인------위임 계좌를 생성하는 것입니다. 그 주요 아이디어는 거래의 프로그래머블 유효성 규칙을 확장하여 사전 승인된 허용 목록을 포함하는 것입니다. 간단히 말해, 계좌 추상화는 사용자 계좌에서 시작된 자동 결제 작업을 사전 승인된 자동 결제 스마트 계약에 위임할 수 있습니다.
먼저, 상인은 자동 결제 스마트 계약을 배포해야 합니다. 위임 계좌를 가진 사용자가 상인 웹사이트에 방문하면, 그들은 자동 결제를 승인하는 요청을 보게 됩니다------Visa가 수락하는 청구서와 유사합니다. 이때 사용자는 자동 결제 계약이 사용자의 이름으로 작업을 수행할 것임을 확인할 수 있으며, 사용자가 필요에 따라 매달 한 번만 요금을 청구하거나, 청구 금액이 설정된 최대 금액을 초과하지 않도록 하는 등의 매개변수를 설정할 수 있습니다. 가장 중요한 것은, 이것이 스마트 계약이기 때문에 사용자는 자동 결제 계약이 다른 방식으로 실행되지 않을 것이라는 확신을 가질 수 있습니다.
사용자가 자동 결제를 승인하기로 동의하면, 지갑은 자동 결제 계약의 주소를 사용자의 위임 계좌의 허용 계약 목록에 추가합니다.

그 다음, 상인은 자동 결제 계약의 charge(요금 청구) 함수를 호출하여 결제를 트리거합니다. 자동 결제 계약은 사용자의 계좌에서 푸시 결제 거래를 시작하게 되며, 이 거래는 허용 목록에 사전 추가되었기 때문에 유효한 거래가 됩니다.

정기 결제 외에도, 이 솔루션은 현실 세계의 다른 다양한 응용 프로그램을 충족할 수 있으며, Visa의 위임 계좌 솔루션은 미래에 제3자 계좌 복구와 같은 서비스로 확장될 수 있습니다.
StarkNet에서 계좌 추상화 구현하기

이더리움이 아직 계좌 추상화를 지원하지 않기 때문에, Visa는 StarkNet에서 위임 계좌 솔루션을 구현했습니다. StarkNet은 이더리움 블록체인 위에 구축된 Layer 2 블록체인으로, 거래 처리량을 높이고 기본 블록체인 결제 계층의 기능을 개선하기 위해 암호화 스타트업 StarkWare가 개발했습니다. StarkNet의 계좌 모델은 Visa가 현재 언급하는 계좌 추상화이며, 추상 계좌는 거래가 주어진 주소에서 발생하는지 확인합니다.
구체적인 계좌(concrete accounts)의 경우, 누군가 사용자 계좌로 토큰을 전송하면 토큰 계약과 상호작용하며, 토큰 계약은 이 전송을 위해 거래를 서명하는 데 사용된 신원(키)이 토큰의 현재 소유자로 기록되어 있는지 확인합니다. 추상 계좌(abstract accounts)의 경우, 누군가 귀하의 계좌로 토큰을 전송하면 역시 토큰 계약과 상호작용하며, 토큰 계약은 이 전송을 위해 사용된 신원(계약)이 토큰의 현재 소유자로 기록되어 있는지 확인합니다. 추상 계좌의 경우, 거래를 수행하는 사람(주소)이 중요하며, 거래를 수행하는 방법(서명)은 중요하지 않습니다.
StarkNet 계좌 모델을 통해, Visa는 위임 계좌 솔루션을 구현하여 자가 관리 지갑에 자동 결제 기능을 활성화할 수 있습니다.
결론
세계 최대의 결제 네트워크 중 하나인 Visa는 프로그래머블 통화 및 결제를 실현하기 위해 스마트 계약 혁신 솔루션을 적극적으로 탐색하고 있습니다.
자동 결제는 기존 블록체인 인프라에서 부족한 핵심 기능 중 하나지만, 계좌 추상화 개념을 활용하여 자가 관리 지갑에 자동 정기 결제 기능을 제공할 수 있으며, 심지어 자동 결제 외의 다른 현실 세계 응용 프로그램을 블록체인에 도입하여 전통적인 결제 채널과 신흥 결제 채널에 더 나은 사용자 경험을 창출할 수 있습니다.














