오라클 (Oracle)

중급블록체인수정일

블록체인 오라클은 가격·날씨·경기 결과 같은 블록체인 밖의 데이터를 가져와 스마트 계약이 읽을 수 있도록 온체인에 전달하는 서비스 또는 메커니즘입니다. 한국어의 '신탁(神託)'이라는 번역은 의미가 맞지 않으며, 업계에서는 '오라클'이라고 부릅니다.

자세히 알아보기

스마트 계약은 모든 노드가 같은 결과를 내야 하므로 외부 인터넷에 직접 접속할 수 없습니다. 그래서 외부 정보가 필요하면 누군가가 그 데이터를 트랜잭션으로 블록체인에 기록해 줘야 합니다. 이 역할을 하는 것이 오라클입니다. 문제는 오라클이 잘못된 값을 넣으면 계약이 정확하게 '잘못' 실행된다는 점입니다. 이를 '오라클 문제'라고 하며, 탈중앙화된 계약도 결국 데이터 공급자를 신뢰해야 하는 지점이 생깁니다.

오라클은 구조에 따라 나뉩니다. 한 운영자가 데이터를 넣는 중앙화 오라클은 단순하지만 단일 실패 지점이 됩니다. 탈중앙화 오라클 네트워크는 여러 독립 노드가 각자 값을 제출하고 중앙값 등으로 집계해 조작 위험을 줄입니다. 방향에 따라 외부 데이터를 체인에 넣는 인바운드 오라클과, 체인의 이벤트를 외부 시스템에 알리는 아웃바운드 오라클로 구분하기도 합니다.

오라클이 전달하는 데이터의 종류도 다양합니다. 자산 가격 피드가 가장 흔하지만, 검증 가능한 난수(VRF), 다른 블록체인의 상태, 스포츠 경기 결과, 실물자산(RWA)의 준비금 증명 데이터 등도 오라클을 통해 들어옵니다. 오라클의 신뢰도를 높이기 위해 데이터 제공자에게 담보를 맡기게 하고 잘못된 값을 내면 담보를 삭감하는 경제적 장치, 일정 시간 동안 이의를 제기할 수 있게 하는 낙관적(optimistic) 오라클 방식 등이 쓰입니다. 어떤 방식이든 오라클의 보안 수준이 그 위에서 돌아가는 계약 전체의 보안 상한이 된다는 점은 같습니다.

블록체인·암호화폐에서는

디파이에서 오라클은 핵심 인프라입니다. 대출 프로토콜은 오라클이 제공하는 가격으로 담보 가치를 계산하고 청산 여부를 결정하며, 파생상품과 합성자산도 오라클 가격에 의존합니다. Chainlink 같은 탈중앙화 오라클 네트워크가 대표적이고, Augur·Gnosis 같은 예측 시장도 사건의 결과를 판정하는 오라클 구조를 사용합니다. 반대로 유동성이 얕은 DEX 한 곳의 현재 가격을 그대로 오라클로 쓰면, 공격자가 플래시 론으로 가격을 순간적으로 움직여 부당하게 대출받는 '오라클 조작 공격'이 가능해지므로 시간가중평균가격(TWAP)이나 여러 소스의 집계를 쓰는 것이 일반적입니다.

쉽게 말하면

외부 세상의 소식을 블록체인에 전해 주는 '공인 통신원'입니다. 통신원이 틀린 소식을 전하면 계약도 틀리게 움직입니다.

예시

가뭄 보험 계약이 "지정 지역에 30일간 강수량이 기준 이하이면 자동 지급"으로 작성되어 있다면, 오라클이 기상 데이터를 온체인에 기록하는 순간 조건이 충족되어 지급이 실행됩니다.

이 글은 학습을 위한 일반 정보이며 투자 권유나 법률 자문이 아닙니다. 가상자산은 가격 변동이 크고 원금 손실 위험이 있습니다.