오라클(Oracle)이란? | 코린이 입문지침서 18화

오라클(Oracle)이란?

블록체인에서 오라클(Oracle)은 블록체인 밖에 있는 정보를 스마트 컨트랙트가 사용할 수 있도록 전달해 주는 연결 역할을 합니다.

예를 들어 코인의 현재 가격, 날씨, 경기 결과처럼 블록체인 밖에서 만들어지는 정보가 필요할 수 있습니다. 하지만 스마트 컨트랙트는 기본적으로 이런 외부 정보를 스스로 가져올 수 없습니다. 이때 오라클이 외부 정보를 가져와 블록체인에서 사용할 수 있도록 전달할 수 있습니다.

쉽게 말하면 오라클은 블록체인과 바깥세상 사이에서 정보를 전달하는 연결고리라고 이해하면 됩니다.

가족 웹툰으로 먼저 알아보기

아빠는 ‘오라클’이라는 말을 듣고 블록체인이 미래까지 알려주는 것인지 궁금해합니다. 큰딸의 설명을 들으며 오라클이 외부 데이터를 블록체인과 스마트 컨트랙트에 전달하는 역할이라는 사실을 알아가고, 엄마와 나나는 오라클 데이터도 항상 정확하다고 단정해서는 안 되는 이유를 함께 확인합니다.

웹툰 핵심 설명

18-1. 오라클이 뭐야? 블록체인이 미래를 알려주는 거야?
블록체인에서 말하는 오라클은 미래를 예언하는 기술이 아닙니다. 블록체인 밖의 정보를 가져와 스마트 컨트랙트 등이 사용할 수 있도록 전달하는 역할을 합니다.

18-2. 블록체인은 바깥세상의 가격이나 날씨 같은 정보를 어떻게 알아?
블록체인은 기본적으로 자기 네트워크 밖의 정보를 직접 가져올 수 없습니다. 외부 데이터가 필요할 때 오라클 같은 별도의 연결 구조가 사용될 수 있습니다.

18-3. 오라클은 외부 데이터를 블록체인과 스마트 컨트랙트에 전달해 주는 역할을 해.
오라클은 외부의 데이터 소스에서 필요한 정보를 가져와 블록체인이 사용할 수 있는 형태로 전달할 수 있습니다. 중요한 점은 오라클이 모든 정보를 직접 만들어내는 것이 아니라 외부 정보와 블록체인을 연결하는 역할을 한다는 것입니다.

18-4. 디파이에서는 코인 가격 같은 데이터를 가져올 때 오라클이 활용될 수 있어.
디파이(DeFi) 서비스에서는 자산 가격을 확인해야 하는 경우가 있습니다. 렌딩이나 담보 같은 서비스에서도 외부 시장가격을 스마트 컨트랙트에 전달하기 위해 오라클 데이터가 활용될 수 있습니다.

18-5. 오라클이 항상 정확한 정보를 보장하는 것은 아니며 데이터 오류나 조작 위험도 확인해야 해.
스마트 컨트랙트가 올바르게 작성되어 있어도 입력되는 외부 데이터에 문제가 있다면 잘못된 결과가 발생할 수 있습니다. 따라서 오라클의 데이터 출처와 검증 구조도 중요한 요소입니다.

18-6. 스마트 컨트랙트가 외부 정보를 사용할 때 오라클이 중요한 연결고리가 되는 거야!
스마트 컨트랙트는 블록체인 안의 정보만으로도 작동할 수 있지만 현실 세계의 정보가 필요한 서비스도 많습니다. 오라클은 이러한 외부 정보를 블록체인과 연결해 스마트 컨트랙트의 활용 범위를 넓혀줍니다.

왜 블록체인은 외부 정보를 직접 가져오지 못할까?

블록체인은 여러 참여자가 같은 기록과 계산 결과에 합의하면서 운영됩니다. 그런데 각 참여자가 인터넷에서 외부 정보를 제각각 가져온다면 서로 다른 값을 받을 가능성이 있습니다.

예를 들어 여러 컴퓨터가 동시에 “지금 ETH 가격은 얼마인가?”라는 정보를 인터넷에서 직접 가져온다고 생각해 봅시다. 가격은 계속 움직이기 때문에 조회 시점이나 데이터 제공처에 따라 서로 다른 숫자가 나올 수 있습니다.

이런 이유로 블록체인은 기본적으로 외부 데이터를 직접 불러오는 구조가 아니며, 외부 정보가 필요한 경우 별도의 오라클 구조가 사용됩니다.

온체인과 오프체인은 무엇일까?

오라클을 이해하려면 온체인(Onchain)과 오프체인(Offchain)을 간단히 알아두면 좋습니다.

  • 온체인: 블록체인 네트워크 안에서 기록되고 처리되는 데이터나 활동을 말합니다.
  • 오프체인: 블록체인 밖에 존재하는 데이터나 시스템을 말합니다.

가격 정보, 날씨 데이터, 스포츠 경기 결과처럼 외부에서 만들어지는 정보는 오프체인 데이터의 예가 될 수 있습니다.

오라클은 이러한 오프체인 정보를 온체인의 스마트 컨트랙트가 사용할 수 있도록 연결하는 역할을 할 수 있습니다.

오라클은 데이터를 직접 만드는 걸까?

반드시 그렇지는 않습니다. 이 부분은 초보자가 오라클을 이해할 때 특히 중요합니다.

오라클은 외부 데이터 제공처, API, 센서 등의 정보를 가져와 확인하고 블록체인에 전달하는 역할을 할 수 있습니다. 즉 오라클과 원래 데이터의 출처는 구분해서 이해해야 합니다.

따라서 “오라클이 알려줬으니 무조건 사실이다”라고 생각하기보다는 어떤 데이터를 어디에서 가져오고 어떤 방식으로 확인하는지도 중요합니다.

오라클은 어떻게 작동할까?

구체적인 구조는 서비스마다 다르지만 초보자는 다음과 같은 흐름으로 이해하면 쉽습니다.

  • 1단계: 스마트 컨트랙트에 외부 정보가 필요합니다.
  • 2단계: 오라클이 외부 데이터 소스에서 필요한 정보를 가져옵니다.
  • 3단계: 데이터를 확인하고 블록체인이 사용할 수 있는 형태로 처리합니다.
  • 4단계: 필요한 정보를 블록체인에 전달합니다.
  • 5단계: 스마트 컨트랙트가 전달받은 정보를 이용해 정해진 기능을 실행할 수 있습니다.

실제 오라클은 데이터 요청, 수집, 검증, 가공과 전달 등 더 복잡한 구조를 사용할 수 있습니다.

디파이에서 오라클은 왜 중요할까?

DeFi에서는 토큰 교환, 대출, 담보 관리 등 다양한 금융 기능이 스마트 컨트랙트를 통해 실행될 수 있습니다.

이 과정에서 특정 자산의 시장가격을 알아야 하는 경우가 있습니다. 예를 들어 담보로 맡긴 자산의 가치가 충분한지 판단하려면 현재 가격 정보가 필요할 수 있습니다.

오라클은 이런 외부 시장 데이터를 스마트 컨트랙트가 사용할 수 있도록 전달하는 데 활용될 수 있습니다.

가격 오라클이란?

가격 오라클은 가상자산이나 다른 자산의 가격 정보를 블록체인 애플리케이션에서 사용할 수 있도록 제공하는 오라클의 한 형태입니다.

예를 들어 ETH/USD 같은 가격 데이터가 필요한 DeFi 서비스에서 활용될 수 있습니다. Ethereum의 오라클 설명에서도 자주 변하는 가격 정보를 제공하는 데이터 피드를 오라클 활용 사례로 설명합니다.

다만 하나의 거래소 가격과 전체 시장의 가격은 다를 수 있기 때문에 어떤 출처와 방식으로 가격을 계산하는지도 중요합니다.

Chainlink는 오라클과 어떤 관계일까?

Chainlink는 블록체인과 외부 데이터 및 시스템을 연결하기 위한 오라클 인프라를 제공하는 대표적인 프로젝트 가운데 하나입니다.

Chainlink의 오라클 네트워크는 여러 데이터 소스와 노드를 활용하는 방식 등을 통해 스마트 컨트랙트에 외부 데이터를 제공할 수 있습니다.

다만 오라클이라는 개념 자체가 Chainlink 하나만을 뜻하는 것은 아닙니다. 오라클은 외부 정보와 블록체인을 연결하는 기술적 역할을 뜻하며 구현 방법과 서비스는 다양할 수 있습니다.

오라클 문제(Oracle Problem)란?

스마트 컨트랙트가 외부 데이터를 필요로 하더라도 그 데이터가 잘못되거나 조작된다면 스마트 컨트랙트의 결과에도 문제가 생길 수 있습니다.

특히 하나의 데이터 제공처나 하나의 오라클에만 지나치게 의존하면 그 지점에서 문제가 발생했을 때 전체 서비스에 영향을 줄 가능성이 있습니다.

이처럼 블록체인의 신뢰성을 유지하면서 외부 데이터를 어떻게 안전하고 정확하게 가져올 것인가라는 문제가 흔히 ‘오라클 문제’라고 불립니다.

탈중앙화 오라클은 왜 사용할까?

하나의 정보 제공처나 하나의 노드에만 의존하면 해당 정보가 잘못되거나 시스템에 문제가 발생했을 때 위험이 커질 수 있습니다.

이를 줄이기 위해 여러 데이터 출처와 여러 노드를 활용하고 결과를 비교하거나 집계하는 방식이 사용될 수 있습니다.

하지만 여러 곳에서 데이터를 받는다고 해서 모든 위험이 자동으로 사라지는 것은 아닙니다. 데이터의 품질과 집계 방식, 시스템 구조 등을 함께 살펴봐야 합니다.

오라클 데이터가 잘못되면 어떻게 될까?

스마트 컨트랙트는 입력된 정보와 미리 작성된 규칙에 따라 작동합니다. 따라서 입력 데이터가 잘못되면 스마트 컨트랙트가 코드대로 정상 작동하더라도 결과가 의도와 달라질 수 있습니다.

특히 자산 가격을 기준으로 담보나 청산 여부를 판단하는 DeFi 서비스에서는 가격 데이터의 정확성이 중요할 수 있습니다.

그래서 오라클을 이용하는 서비스를 살펴볼 때는 단순히 “오라클을 사용한다”는 사실뿐 아니라 어떤 데이터 구조를 사용하는지도 중요한 확인 요소가 됩니다.

오라클은 가격 정보만 전달할까?

아닙니다. 가격은 이해하기 쉬운 대표 사례일 뿐입니다.

오라클은 구조에 따라 날씨 정보, 스포츠 경기 결과, 외부 시스템의 상태, 센서 데이터 등 여러 종류의 정보를 블록체인에 전달하는 데 활용될 수 있습니다.

또한 일부 오라클 시스템은 단순한 데이터 전달을 넘어 블록체인 밖에서 필요한 계산을 수행하고 결과를 전달하는 기능도 제공할 수 있습니다.

브리지와 오라클은 같은 걸까?

둘 다 무엇인가를 연결한다는 점 때문에 비슷하게 느껴질 수 있지만 역할은 다릅니다.

브리지(Bridge)는 서로 다른 블록체인이나 네트워크 사이에서 자산이나 정보를 이동할 수 있도록 연결하는 데 사용됩니다.

오라클은 주로 블록체인 밖의 데이터나 시스템을 블록체인의 스마트 컨트랙트와 연결하는 역할을 합니다.

따라서 초보자는 브리지 = 네트워크 사이 연결, 오라클 = 블록체인과 외부 정보의 연결이라는 기본 차이부터 기억하면 이해하기 쉽습니다.

오라클을 사용하는 서비스를 볼 때 확인할 점

  • 데이터 종류: 어떤 외부 정보를 가져오는지 확인합니다.
  • 데이터 출처: 정보가 어디에서 오는지 살펴봅니다.
  • 검증 방식: 하나의 출처만 사용하는지 여러 데이터를 비교하는지 확인합니다.
  • 업데이트 방식: 가격처럼 자주 변하는 정보가 어떤 방식으로 갱신되는지 살펴봅니다.
  • 오류 위험: 데이터가 잘못되거나 늦게 전달됐을 때 서비스에 어떤 영향을 줄 수 있는지 확인합니다.
  • 공식 자료: 해당 서비스가 어떤 오라클 구조를 사용하는지 공식 문서를 확인합니다.

오라클을 쉽게 기억하는 방법

처음에는 복잡한 기술 구조보다 한 가지 역할만 기억하면 됩니다.

“블록체인은 바깥세상을 직접 볼 수 없다. 오라클이 필요한 정보를 전달해 준다.”

이 기본 개념을 이해하면 앞으로 DeFi의 렌딩, 담보, 청산과 같은 기능에서 왜 가격 오라클이 중요한지도 훨씬 쉽게 이해할 수 있습니다.

핵심 정리

오라클은 블록체인 밖의 데이터를 스마트 컨트랙트가 사용할 수 있도록 연결해 주는 역할을 합니다.

가격, 날씨, 경기 결과 등 외부 정보가 필요한 블록체인 서비스에서 활용될 수 있으며 특히 DeFi에서는 자산 가격 데이터를 전달하는 오라클이 중요한 역할을 할 수 있습니다.

하지만 오라클을 사용한다고 해서 데이터가 항상 정확하다고 보장되는 것은 아닙니다. 따라서 어떤 데이터를 어디에서 가져오며 어떤 방식으로 확인하고 전달하는지를 함께 살펴보는 것이 중요합니다.

Disclaimer

본 콘텐츠는 블록체인 오라클, 가상자산 및 관련 기술에 대한 일반적인 정보 제공을 목적으로 하며 특정 가상자산, 오라클 서비스, 프로젝트 또는 DeFi 서비스의 이용이나 투자를 권유하지 않습니다. 오라클 데이터는 출처, 검증 방식, 업데이트 구조 및 기술적 문제 등에 따라 오류나 지연이 발생할 수 있으며 가상자산과 DeFi 서비스에는 가격 변동과 원금 손실을 포함한 다양한 위험이 존재합니다. 실제 서비스 이용 전 해당 프로젝트의 최신 공식 자료와 데이터 구조, 스마트 컨트랙트 및 관련 위험을 직접 확인하시기 바랍니다.