DeFi

블록체인 오라클(Oracle)

다른 이름: 오라클 · 가격 오라클 · oracle

정의

블록체인 오라클은 코인 가격, 환율, 경기 결과처럼 블록체인 밖에 있는 데이터를 스마트 컨트랙트가 읽을 수 있도록 체인 위로 전달하는 시스템입니다.

블록체인 오라클의 작동 방식

스마트 컨트랙트는 스스로 인터넷에 접속해 가격을 조회할 수 없습니다. 그래서 디파이 대출, 무기한 선물 DEX, 스테이블코인은 오라클이 올려 주는 가격을 기준으로 담보 가치와 청산 여부를 계산합니다. 체인링크(Chainlink)가 가장 널리 쓰이는 오라클 네트워크이고, 피스(Pyth) 등도 있습니다.

좋은 오라클은 여러 거래소와 데이터 제공자의 가격을 모아 중앙값을 내고, 여러 노드가 독립적으로 보고하게 해 한 곳의 오류나 조작에 흔들리지 않게 설계됩니다.

반대로 유동성이 얕은 한 DEX 가격만 그대로 읽는 오라클은 조작되기 쉽습니다. 실제로 짧은 시간 가격을 왜곡해 대출 프로토콜에서 과도하게 빌려 간 사고가 여러 번 있었습니다. 프로토콜을 고를 때 어떤 오라클을 쓰는지도 확인할 만한 항목입니다.

예시

ETH가 2,500 USDC일 때 4 ETH를 담보로 7,000 USDC를 빌렸고 청산 기준이 80%라고 가정합니다. 담보의 청산 기준 가치는 10,000 곱하기 0.8로 8,000 USDC라 아직 여유가 있습니다. 그런데 오라클이 조작된 가격 2,150 USDC를 보고하면 담보 가치는 8,600 USDC, 청산 기준 가치는 6,880 USDC가 되어 대출 7,000 USDC보다 작아지고, 실제 시장 가격과 무관하게 청산이 실행됩니다.

자주 하는 실수

  • 디파이 프로토콜이 거래소 시세를 직접 실시간으로 본다고 생각합니다.
  • 어떤 오라클을 쓰는지 확인하지 않고 작은 프로토콜에 큰 담보를 맡깁니다.
  • 오라클 가격과 내가 보는 거래소 가격이 언제나 똑같다고 믿습니다.

배우고 실습하기

자주 묻는 질문

오라클 문제란 무엇인가요?

블록체인은 외부 데이터를 스스로 검증하지 못하므로, 데이터를 전달하는 오라클을 얼마나 믿을 수 있는지가 시스템 전체의 약점이 될 수 있다는 문제입니다.

체인링크는 무엇을 하나요?

여러 독립 노드가 외부 데이터를 모아 체인 위에 제공하는 탈중앙화 오라클 네트워크입니다. 많은 디파이 프로토콜이 가격 데이터 출처로 사용합니다.