1. 홈
  2. 용어집
  3. ERC-4626

ERC-4626

다른 이름 토큰화 볼트 표준 · EIP-4626 · Tokenized vault standard

정의

ERC-4626은 토큰화 볼트를 위한 이더리움 표준입니다. 볼트에 자산을 넣고, 그 대가로 지분을 받고, 지분 하나의 가치를 계산하는 공통 인터페이스를 정의하기 때문에, 지갑과 프로토콜은 별도 코드 없이 표준을 따르는 어떤 볼트와도 연동할 수 있습니다.

ERC-4626이 나오기 전, 이더리움의 수익 볼트는 저마다 다른 사투리를 썼습니다. 어떤 볼트는 함수 이름을 이렇게, 다른 볼트는 저렇게 지었고, 지분 가치를 계산하는 방식도 제각각이었습니다. 이 볼트들을 지원하려는 대출 시장이나 애그리게이터는 볼트마다 새 코드를 짜고 감사를 받아야 했습니다. 2022년에 확정된 ERC-4626은 볼트들에게 공통 언어를 주었습니다.

표준이 정의하는 것

ERC-4626 볼트는 달러 토큰 같은 기초 자산 하나를 보유하고, 그 자체로 ERC-20 토큰인 지분을 발행합니다. 표준은 모든 볼트가 갖춰야 할 함수를 정해 둡니다.

  • deposit과 mint: 자산을 넣고 지분을 받습니다
  • withdraw와 redeem: 지분을 소각하고 자산을 꺼냅니다
  • totalAssets: 볼트가 보유하거나 받을 권리가 있는 모든 자산을 보고합니다
  • convertToShares와 convertToAssets: 현재 비율로 지분과 자산을 서로 환산합니다
  • preview 계열과 max 계열 함수: 거래를 보내기 전에 그 거래가 어떤 결과를 낳는지, 얼마까지 가능한지 보여 줍니다

지분 가치가 커지는 방식

교환 비율은 총자산을 총지분으로 나눈 값입니다. 어떤 볼트가 달러 토큰 1,000,000개를 보유하고 지분 1,000,000개를 발행했다면, 지분 하나의 가치는 토큰 하나입니다. 볼트의 전략이 토큰 20,000개를 벌었다고 해 보겠습니다. 지분 수는 그대로인데 총자산은 1,020,000개로 늘어나므로, 이제 지분 하나는 토큰 1.02개의 가치를 가집니다. 새로 토큰 1,020개를 넣는 사람은 지분 1,000개를 받습니다. 누구의 지분 잔고도 바뀌지 않았지만, 수익이 나기 전부터 지분을 보유한 사람은 모두 이득을 봅니다. 대부분의 볼트 토큰이 쓰는 논리베이스 방식이 바로 이것입니다.

표준이 중요한 이유

표준을 따르는 볼트는 모두 같은 질문에 같은 방식으로 답하기 때문에, 한 번의 연동으로 모든 볼트를 지원할 수 있습니다. 대출 시장은 convertToAssets를 읽어 볼트 지분을 담보로 받을 수 있고, 수익 토큰화 프로토콜은 지분을 원금 부분과 수익 부분으로 나눌 수 있으며, 지갑은 보유자의 가치를 기초 자산 기준으로 보여 줄 수 있습니다. 이것이 실제로 작동하는 컴포저빌리티입니다. 표준 하나가 한 상품을 다른 상품의 구성 요소로 바꿔 놓습니다. 많은 수익형 달러 토큰이 이 표준 위에 만들어져 있습니다.

위험과 한계

표준 인터페이스는 볼트가 자산으로 무엇을 하는지에 대해서는 아무것도 말해 주지 않습니다. 지갑에서는 똑같아 보이는 ERC-4626 볼트 두 개가 전혀 다른 위험을 안고 있을 수 있습니다. 알려진 함정은 다음과 같습니다.

  • 지분 가격 조작. 새로 만들어져 거의 비어 있는 볼트에서는 공격자가 자산을 기부해 지분 가격을 부풀리고, 다음 사용자의 지분이 반올림으로 거의 0이 되게 만들 수 있습니다. 이른바 인플레이션 공격입니다. 신중한 볼트는 가상 지분이나 초기 시드 자금으로 이를 막습니다.
  • 반올림. 표준은 볼트에 유리한 쪽으로 반올림하도록 요구합니다. 기존 보유자를 보호하지만, 연동하는 쪽에서는 예상하지 못한 결과가 나올 수 있습니다.
  • 지분 가치를 가격으로 읽는 문제. 한 트랜잭션 안에서 볼트의 총자산을 움직일 수 있다면, convertToAssets를 그대로 믿는 대출 시장은 공격당할 수 있습니다. 견고한 오라클을 쓰는 편이 더 안전합니다.
  • 출금 한도. 볼트는 출금 규모를 제한하거나 늦출 수 있으며, max 계열 함수가 그 한도를 알려 줍니다.

볼트 코드에 대한 감사는 인터페이스 준수 여부보다 더 많은 것을 알려 줍니다. 둘 다 확인하고, 볼트가 실제로 무엇을 보유하고 있는지도 읽어 보십시오.

Tori Finance (토리 파이낸스)는 이렇게 활용합니다

strUSD는 ERC-4626 볼트 토큰입니다. 기초 자산은 Tori Finance의 합성 달러인 trUSD이며, strUSD 1주는 볼트에 보관된 trUSD에 대한 청구권입니다. 볼트에는 전략의 변동 수익이 누적되므로, 보유자의 지분 잔고는 그대로인 채 1주의 trUSD 가치가 시간에 따라 달라집니다. strUSD는 표준을 따르기 때문에 이미 ERC-4626 볼트를 지원하는 프로토콜과 함께 쓰일 수 있습니다.

자주 묻는 질문

ERC-20과 ERC-4626은 무엇이 다릅니까?

ERC-20은 대체 가능한 토큰의 기본 표준으로, 잔고와 전송을 다룹니다. ERC-4626은 그 위에 볼트를 위한 기능을 얹은 표준입니다. 지분은 ERC-20 토큰이며, 표준은 여기에 자산을 넣고 꺼내고 지분과 자산을 서로 환산하는 함수를 더합니다.

ERC-4626 볼트에서 수익은 어떻게 나타납니까?

교환 비율로 나타납니다. 볼트가 수익을 내면 지분 수는 그대로인 채 총자산이 늘어나므로, 지분 하나가 더 많은 기초 자산으로 환산됩니다. 내 지분 잔고는 바뀌지 않습니다.

ERC-4626을 따르면 볼트가 안전합니까?

아닙니다. ERC-4626이 표준화하는 것은 인터페이스이지, 전략이나 코드의 품질이 아닙니다. 표준을 따르는 볼트 두 개가 전혀 다른 위험을 안고 있을 수 있으므로, 전략, 감사, 그리고 지분 가격 조작에 대한 볼트의 방어 장치는 여전히 따로 확인해야 합니다.

출처

Tori Finance (토리 파이낸스) 팀이 작성한 글이며, 투자 권유가 아닙니다. 수익은 변동하며 원금 손실이 발생할 수 있습니다.