흐름 결제: 블록체인으로 강화된 결제의 새로운 패러다임
저자: Leo,IOSG Ventures
20여 년 전, 음악 전송의 매체는 주로 카세트 테이프였다; 10여 년 전, 영화관을 제외하고 소비자들이 집에서 영화를 보기 위해 주로 사용하는 매체는 DVD였다. 이제 카세트 테이프와 DVD는 우리의 선택에서 거의 사라졌고, 그 자리를 스트리밍 미디어가 차지하고 있다. 즉, 미디어 데이터가 압축된 후, 스트림 형태로 네트워크를 통해 전송되어 네트워크 상에서 실시간으로 미디어 콘텐츠를 전송하는 방식이다[1]. 스트리밍 미디어 덕분에 소비자들은 더 빠르고 편리하게 콘텐츠를 얻을 수 있으며, 1인당 콘텐츠 소비량과 빈도도 지속적으로 증가하고 있다. 멀티미디어 콘텐츠 전송의 형태는 우리가 콘텐츠를 소비하는 방식과 습관을 변화시켰다.
상상해보라, 만약 지불도 일시불 지급(lump-sum transfer)의 형태에서 스트리밍(streaming)의 형태로 전환된다면, 현재의 금융 시스템과는 완전히 다른 가치 흐름 방식이 우리의 경제 활동과 생활에 어떤 변화를 가져올 것인가?
Andreas M. Antonopoulos는 2016년 10월 19일의 강연[2]에서 "스트리밍 결제------Streaming Money"의 개념을 제시했다. 이는 블록체인 상의 자금이 더 이상 일정 시간 간격으로 일괄적으로 이체되지 않고(예: 매월 지급되는 급여, 매년 지불되는 회원비), 물 흐르듯이 설정된 이체 속도로 지급자에서 수취인으로 끊임없이 흐르는 것을 의미한다.
스트리밍 결제를 처음 듣는 사람은 이 추상적인 개념을 막연히 받아들일 수 있으며, 스트리밍 결제의 의미를 쉽게 체감하기 어려울 수 있다. 여기 몇 가지 예를 들어 스트리밍 결제의 장점을 보여주겠다:
●급여 지급
보통 회사는 매월 정해진 시간에 직원에게 급여를 지급하는데, 이 일반적인 작업에는 스트리밍 결제로 개선될 수 있는 두 가지 측면이 있다. 첫째, 회사의 입장에서 매월 정해진 시간에 급여를 지급한다는 것은 회사가 이 시점에 대량의 현금을 준비해야 한다는 것을 의미하며, 이는 회사의 현금 흐름 관리에 일정한 압박을 줄 수 있다.
스트리밍 결제를 사용하면 매월 집중적으로 지급되는 대규모 자금을 한 달 동안 천천히 균등하게 지급할 수 있어, 회사의 현금 흐름이 더 원활해질 수 있다. 둘째, 직원의 입장에서 스트리밍 결제를 통해 직원은 실시간으로 노동에 대한 보상을 받을 수 있다. 기존 방식에 비해 스트리밍 결제는 직원이 더 빠르고 일찍 보상을 받을 수 있게 해준다. DAO와 Gig 경제가 점점 더 보편화됨에 따라, 프리랜서가 스트리밍 결제를 통해 노동 보상을 받는 이 응용 시나리오는 광범위한 시장 수요를 가지고 있다.
●구독 서비스 및 시간 기반 서비스
현재 Netflix의 구독 모델은 사용자에게 매월 요금을 청구하며, 사용자가 제품을 사용하든 사용하지 않든, 사용한 시간에 관계없이 요금은 고정되어 있다. 스트리밍 결제는 구독형 및 시간 기반 서비스와 상품에 대해 더 정확하고 공정한 결제 방식을 제공할 수 있다. 예를 들어 스트리밍 미디어 산업에서 사용자가 음악이나 영화를 즐기기 위해 지불하는 비용은 실제로 들은 시간이나 본 콘텐츠의 양에 따라 달라지며, 전체 작품이나 한 달/1년 구독료를 지불할 필요가 없다; 또 다른 예로, 시간제 온라인 게임에서 스트리밍 결제는 포인트 카드를 완전히 대체할 수 있으며, 플레이어가 지불한 금액은 온라인 시간에 따라 실시간으로 계산된다.
●임대 서비스
스트리밍 결제 프로토콜 위에 임대 계약을 개발하면, 블록체인 상의 자산/물품이 임대될 때 임대료는 스트리밍 결제의 설정된 프로그램에 따라 실시간으로 청구되고 정산된다. 스트리밍 결제가 중단되면, 블록체인 상의 자산/물품은 임대 계약에 따라 자동으로 회수되고 반환된다. 한편으로는 임대자에게 공정한 청구를 보장하고, 다른 한편으로는 대여자에게 실시간으로 수익을 보장하여 임대료 체납 상황을 방지한다.
●에어드랍 및 토큰 분배
블록체인 프로젝트가 초기 참여자에게 토큰을 에어드랍하고 투자자에게 토큰을 분배할 때, 스트리밍 결제를 통해 선형적으로 느리게 토큰을 방출하면, 대량의 토큰을 한 번에 발행함으로써 발생할 수 있는 2차 시장에 대한 충격을 효과적으로 완화할 수 있다.
스트리밍 결제는 DeFi 빌딩 블록으로서 더 흥미로운 제품과 응용을 DeFi에 가져올 수 있다.
●비충족 담보 대출/소득 기반 대출
각 스트리밍 결제는 미래의 특정 기간 동안의 소득 증명을 나타낸다. 스트리밍 결제는 신뢰할 수 없고 검증 가능한 미래 소득 증명을 유형으로 구체화하여 블록체인에 기록한다. 스트리밍 결제를 담보로 하는 대출은 비충족 담보 대출을 DeFi에 도입하고, 유형의 추적 가능한 미래 소득을 담보로 하여 자금 효율성을 높일 수 있다. 이는 온체인 신용 발전의 기초가 될 수 있다.
●증권화/거래 가능한 현금 흐름
스트리밍 결제는 현금 흐름을 블록체인에서 증권화하여 거래할 수 있게 하여 자금 활용 효율성과 유통 속도를 크게 향상시킬 수 있다.
위의 내용은 단지 일부 예시일 뿐이다. Web3 결제 분야에는 이미 많은 프로토콜이 등장했으며, 특히 Sablier와 Superfluid 두 프로젝트가 주목할 만하다. 다른 프로젝트들은 기본적으로 이 두 프로토콜의 개정판으로 볼 수 있다.
Sablier의 스트리밍 결제 기술 구현은 간단하고 직접적이다. Sablier 프로토콜은 각 지원되는 EVM 호환 블록체인에 주 계약을 배포하며, 주 계약은 해당 체인에서 모든 토큰 흐름(token stream)을 관리한다. 사용자는 주 계약과 상호작용하여 토큰 흐름을 생성, 철회 및 자금을 인출할 수 있다.
각 토큰 흐름은 단 여섯 가지 속성(attributes)만을 가진다: 1. 송금자 주소; 2. 수취인 주소; 3. 송금된 토큰 총량; 4. 송금된 토큰의 계약 주소(ERC-20 토큰만 지원); 5. 흐름 시작 시간; 6. 흐름 종료 시간.
이 여섯 가지 속성만으로도 Sablier 스트리밍 결제의 기능이 비교적 기본적임을 알 수 있다. 사용자가 토큰 흐름을 생성하면, Sablier는 미리 설정된 속성 매개변수에 따라 기계적으로 실행할 수밖에 없다. 현재 Sablier는 재충전(deposit refill) 기능을 지원하지 않으며, 송금된 토큰의 양, 흐름의 이체 속도, 토큰 흐름 종료 시간을 변경하는 등의 작업을 지원하지 않는다. 재충전 기능을 지원하지 않기 때문에 송금된 토큰 총량은 토큰 흐름 생성 시점에 이미 존재해야 하며, 송금자는 모든 자금을 미리 준비해야 한다. 송금자의 입장에서 Sablier 스트리밍 결제를 선택하더라도 현금 흐름 압박이 완화되지 않는다. 또한, 토큰 흐름 내의 자금은 모두 Sablier 주 계약에 저장되며, 수취인이 이미 받은 자금을 인출하려면 가스 비용을 지불해야 자유롭게 사용할 수 있다. 수취인의 입장에서 이 추가적인 단계와 발생하는 가스 비용은 부정적인 사용자 경험을 초래한다.
Sablier는 스트리밍 결제를 구현한 첫 번째 프로토콜로, 기능의 제한이 Sablier의 대규모 채택을 제한하고 있지만, Sablier는 이후 많은 스트리밍 결제 프로토콜의 발전을 위한 기초를 마련했다. 그 창립자 Paul은 2018년에 EIP-1620: Money Streaming[3]을 제안하여 Ethereum에 대한 스트리밍 결제 표준을 제정하고자 하였으며, 이 제안은 Sablier가 2019년에 출시되는 계기가 되었다. 그러나 EIP-1620 제안의 후속 발전은 정체 상태에 있으며(완료되지 않음), 현재는 정체 상태에 있다. Sablier는 Ethereum, Optimism, Arbitrum, Polygon, Ronin, Avalanche, BSC와 같은 주요 EVM 호환 블록체인을 지원한다. Sablier의 TVL은 12월 19일 기준으로 4.5M USD이며, 역사적 최고치는 1.57B USD이다.
Superfluid는 후발주자로서 Sablier에 비해 많은 개선을 이루었다. Superfluid 프로토콜은 Super Tokens, Super Agreements, Super Apps, Super Host의 네 가지 중요한 부분으로 구성된다. Superfluid 프로토콜은 ERC-20과 하위 호환되는 ERC-777[4] 토큰 표준을 참고하여, 실시간 금융 기능을 가진 확장 ERC-777 토큰 표준을 프로토콜에 도입하고 이를 Super Token 표준으로 명명하였다.
Super Token은 ERC-20 토큰의 모든 특성을 가지며, Constant Flow Agreement 흐름 계약[5] 및 Instant Distribution Agreement 즉시 분배 계약[6]을 지원한다. 흐름 계약과 즉시 분배 계약은 현재 버전의 Super Agreements의 두 가지 주요 계약 유형을 구성하며, 향후 버전에서는 Super Agreements에 더 많은 계약 유형을 추가할 수 있다. 이러한 계약은 기본 ERC-20 토큰 기능 외에 Super Token이 상호작용하고 잔액 변동하는 방식(예: 선형적으로 잔액 증가 및 감소)을 정의한다.
Super Agreements 중 주목할 만한 것은 흐름 계약으로, Superfluid 프로토콜은 흐름 계약에서 "흐름 방식"으로 회계하는 매우 간단한 규칙을 도입하였지만, 이 간단한 규칙은 Superfluid가 만든 실시간 금융 시스템에서 효과적으로 작동한다.
이 회계 방법을 소개하기 전에, 다음 변수를 이해하자:
- 흐름 속도(Flow Rate): 단일 스트리밍 결제의 이체 속도, 수취는 양수, 지급은 음수
- 순 흐름 속도(Netflow Rate): 하나의 계좌의 모든 자금 흐름의 합
- 최신 CRUD 타임스탬프(Latest CRUD Timestamp): 해당 계좌의 마지막으로 추가, 수정, 삭제된 흐름 결제의 타임스탬프
- 실시간 잔액(Real-time Balance): 실시간(동적) 계좌 잔액
- 정적 잔액(Static Balance): 정적 계좌 잔액
- 현재 잔액(Current Balance): 현재 실제 잔액
다음 그림의 계좌를 예로 들어 Superfluid의 "흐름 회계"가 어떻게 작동하는지 살펴보자:
그림의 계좌는 두 개의 수취 토큰 흐름과 세 개의 지급 토큰 흐름을 동시에 가지고 있으며, 각 흐름의 흐름 속도(이체 속도)와 방향은 그림에 나타나 있다. 이로 인해 해당 계좌의 순 흐름 속도는 -100USDCx/월로 계산된다. Superfluid의 "흐름 회계"는 사용자의 잔액을 두 부분으로 나눈다: 정적 잔액(Static Balance)과 실시간(동적) 잔액(Real-time Balance). 정적 잔액은 해당 계좌의 마지막으로 추가, 수정, 삭제된 타임스탬프에 해당하는 당시 실제 잔액이며, 정적 잔액과 실시간(동적) 잔액의 합이다. 실시간(동적) 잔액은 순 흐름 속도 * (현재 시간 - 최신 CRUD 타임스탬프)로 계산된다.
- 정적 잔액
정적 잔액 = 최신 CRUD 타임스탬프에서의 초기 현재 잔액 - 실시간(동적) 잔액 실시간 잔액 = 순 흐름 속도 * 최신 CRUD 타임스탬프 이후 경과된 시간 - 현재 실제 잔액 현재 잔액 = 정적 잔액 + 실시간 잔액
해당 계좌의 어떤 토큰 흐름이 생성, 수정, 삭제될 때마다 다음 변수는 즉시 블록체인에서 업데이트된다: 1. 순 흐름 속도는 토큰 흐름의 변화에 따라 재계산된다; 2. 최신 CRUD 타임스탬프는 변화가 발생한 순간으로 업데이트된다; 3. 정적 잔액은 현재 잔액으로 업데이트된다; 4. 실시간(동적) 잔액은 0으로 초기화된다.
이 흐름 회계의 주요 장점은 가스 없는(on-chain) 가치 이전을 실현한다는 것이다. 가스 비용은 계좌에 새로운 토큰 흐름이 생성되거나 기존 토큰 흐름이 수정 또는 삭제될 때만 발생한다.
Superfluid는 재충전 기능을 지원하며, 이 기능은 지급자의 현금 흐름 압박을 완화할 수 있다. 앞서 언급한 급여 지급 예에서, 회사의 재무 및 HR 부서는 매월 급여 지급일에 모든 직원의 급여를 준비하고 당일 지급해야 한다. 이로 인해 매월 이 날마다 자금 수요의 피크가 발생하여 회사 운영에 일정한 현금 흐름 압박을 초래한다. 만약 급여 지급이 재충전 기능을 지원하는 Superfluid 프로토콜을 통해 이루어진다면, 자금 수요의 피크를 효과적으로 완화할 수 있다. Superfluid는 또한 토큰 흐름 속도를 변경하거나 토큰 흐름 종료 시간을 제한하지 않는 등의 기능을 지원하여, 다양한 사용자의 지속적으로 변화하는 결제 요구를 유연하게 충족할 수 있다.
Superfluid의 비전은 지갑 간, 지갑과 계약 간, 계약 간의 자금 이체를 충족하는 스트리밍 결제 프로토콜을 구축하는 데 그치지 않고, 다수의 실시간 금융 애플리케이션(real-time finance apps)으로 구성된 읽을 수 있고, 검증 가능하며, 프로그래밍 가능한 실시간 금융 시스템(real-time finance system)을 만드는 것이다. 이 시스템에서 자금은 흐름(stream)의 형태로 실시간으로 지속적으로 흐르며, 각 사용자, 조직, 회사의 유휴 자금을 최소화한다.
Superfluid는 Ethereum, Gnosis Chain, Polygon, Optimism, Arbitrum, Avalanche, BSC를 지원하며, 비 EVM 호환 체인의 배포를 탐색하고 있다. 2021년 출시 이후 Superfluid는 안정적으로 성장하고 있지만, 현재 TVL은 약 1.5M USD에 불과하다. Superfluid는 2022년 2월 초에 보안 사건을 겪었으며, 당시 시장 가치로 1300만 달러 이상의 자산이 도난당했다는 점도 언급할 필요가 있다.
도난의 원인은 원래 버전의 Super Agreement에서 function call이 Super Host의 데이터를 호출할 때 직렬화 상태 환경 매개변수가 검사되지 않아, 이 매개변수가 잘못된 값으로 주입되어 올바른 값이 버려지게 되었고, 이 매개변수는 해커 계좌가 다른 계좌를 가장하여 다른 계좌의 자금을 이전할 수 있게 했다.
Sablier와 Superfluid 외에도, 스트리밍 결제 방향에 깊이 있는 다른 프로젝트로는 Near 생태계의 Roketo, Solana 생태계의 Zebec, Streamflow, MeanFi, 그리고 멀티 체인의 Calamus, LlamaPay 등이 있다.
스트리밍 결제가 가져오는 것은 단순한 새로운 이체 방식에 그치지 않는다. 그 응용 시나리오는 계좌 간의 단순한 흐름 이체에 국한되지 않으며, 앞서 언급한 급여 지급, 자동 구독, 시간제 결제, 토큰 분배는 우리가 이미 엿볼 수 있는 응용 사례이다. 결제 과정 자체가, 단순히 지급되는 블록체인 자산이 아니라, 프로그래밍 가능한 화폐의 일부가 되었다. 스트리밍 결제는 지연 없는 실시간 정산, 채무 위험 없음, 높은 조합 가능성, 효율적인 유통 특성을 통해 새로운 DeFi 빌딩 블록을 도입하여 개발자들이 이전에는 불가능했던 DeFi 애플리케이션을 만들 수 있게 할 것이다.
블록체인의 탄생 이후, web3의 선구자들은 이미 가치 인터넷(Internet of Money)을 체험하기 시작했다. 자산과 가치가 네트워크를 통해 이동하는 것이다. 그러나 현재 탐색된 가치 인터넷과 다양한 탈중앙화 애플리케이션은 아마도 빙산의 일각에 불과할 것이다. 스트리밍 결제는 프로그래밍 가능한 화폐를 더 넓은 상상력과 창조의 공간으로 가져올 잠재력을 가지고 있으며, 현재 금융 시스템보다 더 공정하고 효율적이며 원활한 가치 흐름을 제공하는 실시간 금융 시스템을 가져올 것이다.
부록:
참고문헌:
[1]Maniar, N.J. (2012). Streaming Media. In: Seel, N.M. (eds) Encyclopedia of the Sciences of Learning. Springer, Boston, MA. https://doi.org/10.1007/978-1-4419-1428-6_602
[2]Bitcoin, Lightning, and Streaming Money https://www.youtube.com/watch?v=gFZQeijPs
[3] https://eips.ethereum.org/EIPS/eip-1620
[4] https://eips.ethereum.org/EIPS/eip-777
[5] https://docs.superfluid.finance/superfluid/protocol-overview/in-depth-overview/super-agreements/constant-flow-agreement-cfa
[6] https://docs.superfluid.finance/superfluid/protocol-overview/in-depth-overview/super-agreements/instant-distribution-agreement-ida
[7] https://halborn.com/explained-the-superfluid-hack-february-2022/
[8] https://medium.com/superfluid-blog/08-02-22-exploit-post-mortem-15ff9c97cdd