스마트 컨트랙트는 자기 블록체인 위에 있는 것밖에 모릅니다. ETH 가격이나 볼트 지분의 가치를 스스로 찾아볼 수 없습니다. 그런데 대출 시장은 매 순간 담보 가치가 얼마인지 알아야 합니다. 오라클은 이 닫힌 세계를 그것이 의존하는 데이터와 연결해 주며, 그래서 꼭 필요한 인프라인 동시에 자주 노려지는 표적입니다.
가격 오라클의 작동 원리
대부분의 가격 오라클은 거래소와 데이터 제공 기관 같은 여러 출처에서 가격을 모아 하나의 수치로 합친 뒤 온체인에 게시합니다. 흔히 쓰이는 전달 방식은 두 가지입니다.
- 푸시(push) 피드는 정해진 주기마다, 또는 가격이 정해 둔 기준 이상 움직일 때마다 새 가격을 체인에 기록합니다.
- 풀(pull) 피드는 서명된 가격을 오프체인에 두고, 필요한 순간에 사용자나 프로토콜이 최신 가격을 온체인으로 가져옵니다.
Chainlink와 RedStone은 널리 쓰이는 오라클 제공 기관이며, 둘 다 푸시와 풀 방식을 모두 제공합니다.
시장 가격과 펀더멘털 가격
시장 가격 피드는 토큰이 거래되는 가격을 보고합니다. 펀더멘털 가격 피드는 기초 자산을 근거로 토큰의 가치를 보고합니다. 예를 들어 볼트 보유 자산으로 계산한 볼트 토큰의 지분 가치입니다. 이 차이는 담보에서 중요해집니다. 얇은 시장에서 볼트 토큰이 잠시 기초 가치보다 낮게 거래되면, 시장 가격 피드는 대출 포지션을 청산 쪽으로 밀어붙이지만 펀더멘털 피드는 그렇지 않습니다. 대신 펀더멘털 피드는 시장 신뢰가 실제로 무너질 때 그것을 더 늦게 반영한다는 맞바꿈이 있습니다.
오라클이 실패하는 방식
- 조작. 공격자가 플래시 론으로 큰 금액을 빌려, 오라클이 읽는 얇은 유동성 풀에서 가격을 움직이고, 부풀려진 가격을 근거로 대출을 받은 뒤 프로토콜에 부실 채권을 남기고 떠납니다.
- 오래된 데이터. 빠르게 움직이는 시장에서 피드 갱신이 멈추면, 컨트랙트는 지난 가격을 근거로 움직입니다.
- 잘못된 출처. 충분히 많은 출처가 틀린 가격을 보고하면 합쳐진 수치도 틀립니다.
- 설정 오류. 소수점 자릿수나 자산을 잘못 설정한 피드는 순식간에 시장 가격을 잘못 매길 수 있습니다.
간단한 예시
어떤 대출 시장이 작은 풀 하나에서만 가격을 가져오는 토큰을 담보로 받습니다. 공격자는 그 풀에서 토큰을 대량으로 사들여 트랜잭션 하나 안에서 보고 가격을 두 배로 만들고, 그 토큰을 담보로 공급해 다른 자산을 빌린 뒤 가격이 다시 떨어지게 내버려 둡니다. 시장에는 빌려준 금액의 절반 가치밖에 안 되는 담보만 남습니다. 여러 출처를 시간에 걸쳐 합치는 피드였다면 이런 움직임을 버텨 냈을 것입니다.
위험과 한계
완벽한 오라클 설계는 없습니다. 모든 피드는 속도, 비용, 정확성, 조작 저항력 사이에서 무언가를 맞바꿉니다. 머니마켓은 나머지를 보수적인 담보인정비율 한도, 자산별 공급·차입 한도, 비정상 가격에 대한 일시 중지로 메웁니다. 체인 사이를 오가야 하는 데이터에는 그 나름의 위험이 따르며, 오라클 네트워크가 Chainlink CCIP 같은 크로스체인 메시징도 제공하는 이유가 여기에 있습니다.
Tori Finance (토리 파이낸스)는 이렇게 활용합니다
이더리움에서 trUSD와 strUSD에 대한 RedStone 펀더멘털 가격 피드가 운영되고 있습니다. 펀더멘털 피드는 한 시장의 거래 가격이 아니라 기초 자산을 근거로 토큰의 가치를 보고합니다.
자주 묻는 질문
블록체인 오라클은 무엇입니까?
자산 가격처럼 블록체인 바깥에 있는 데이터를 체인 위로 가져와, 스마트 컨트랙트가 쓸 수 있게 해 주는 서비스입니다.
오라클 조작 공격은 무엇입니까?
오라클이 보고하는 가격을 움직이는 공격입니다. 흔히 얇은 시장에서 플래시 론을 이용하며, 그 결과 프로토콜이 부풀려진 담보를 근거로 지나치게 많이 빌려주거나 포지션을 부당하게 청산하게 됩니다.
펀더멘털 가격 피드는 무엇입니까?
시장에서 거래되는 가격 대신, 볼트 보유 자산으로 계산한 지분 가치처럼 기초 자산을 근거로 토큰의 가치를 보고하는 피드입니다.
관련 용어
담보
담보는 대출이나 토큰을 뒷받침하기 위해 맡겨 둔 자산으로, 문제가 생겼을 때 손실을 메우는 데 쓰입니다. 디파이에서는 담보의 양만큼 종류, 질, 보관 위치가 중요하며, 가치가 너무 떨어지면 스마트 컨트랙트가 자동으로 담보를 팔 수 있습니다.
머니마켓
전통 금융에서 머니마켓은 단기 자금을 빌리고 빌려주는 시장입니다. 디파이에서는 보통 사용자가 자산을 공급해 수익을 얻고, 다른 사용자가 담보를 맡겨 빌리는 대출 프로토콜을 가리키며, 수익률은 수요와 공급에 따라 움직입니다.
Chainlink CCIP
Chainlink CCIP(Cross-Chain Interoperability Protocol)는 블록체인 사이에 메시지와 토큰을 보내기 위한 표준입니다. 토큰 발행사가 이를 네이티브로 도입하면, 제3자 브리지가 만든 래핑 사본으로 대체되는 대신 같은 토큰이 그대로 체인을 넘나듭니다.
유동성 풀
유동성 풀은 두 개 이상의 토큰을 담아 두고 트레이더가 그 토큰과 스왑할 수 있게 한 스마트 컨트랙트로, 가격은 호가창이 아니라 공식으로 정해집니다. 유동성 공급자는 토큰을 공급해 거래 수수료의 일부를 벌고, 그 대가로 가격 위험과 스마트 컨트랙트 위험을 떠안습니다.
출처
- ethereum.org: Oraclesethereum.org
- Chainlink: What is a blockchain oracle?chain.link
- RedStone documentationdocs.redstone.finance
Tori Finance (토리 파이낸스) 팀이 작성한 글이며, 투자 권유가 아닙니다. 수익은 변동하며 원금 손실이 발생할 수 있습니다.