다운로드
닫기 메뉴 -

블록체인 Oracles: 제삼자 오프체인 정보를 Smart Contract와 링크하기

Published on: 26 5월, 2020

블록체인 공간에는 외부 정보와 지속적인 소통을 해야 하는 프로젝트가 많습니다. 여러 당사자 간의 정보 전송을 달성하려면 oracle이 필요합니다. 간단히 말해서 oracle은 smart contract에 외부 정보를 제공하는 제삼자 서비스입니다. 예를 들어 자동차, 집, 렌트한 자전거처럼 인터넷에서 연결될 수 있는 실제 제품 등은 하나의 특정 블록체인에서 smart contract로 정보를 보내야 합니다. 그럼 차를 리스했고, 리스 비용 납부를 블록체인에 납부 기록을 제공하는 smart contract로 연결하고 싶다고 합시다. 사물 인터넷(IOT, Internet of Things)과 블록체인 기술을 생각해 보면 여러 기기의 임대나 비용 납부에 oracle을 사용할 수 있는 여러 가지 상황이 금방 떠오르실 겁니다. 

이 아이디어를 API로 넘겨 추정하면 oracle의 사용례를 더 생각할 수 있습니다. 예를 들어 여러 당사자가 조건이 smart contract에 잠겨진 미래 사건의 결과에 동의한다고 합시다. Smart contract를 수행하려면 제삼자 API가 필요합니다. API 정보는 온체인 정보가 아니므로 그 정보를 수집하고 결과를 제공해 smart contract가 이를 수행할 수 있게 하는 oracle이 필요합니다. 

위의 예제에서 생각해보실 수 있듯 oracle은 블록체인 기술 사용례를 기하급수적으로 확장할 수 있습니다. 온체인 프레임워크를 넘어서서 정보를 교환할 수 없다면 smart contract의 가능성은 제한됩니다. 그러면 일반적인 oracle에는 무엇이 있을까요? 

1 – 트러스트 Oracles: 정보가 중앙 집중형인가, 아니면 분산형인가?

2 – 소스 Oracles: 하드웨어에서 오는 정보인가 아니면 소프트웨어에서 오는 정보인가?

3 – 정보 방향 Oracles: 정보가 안으로 들어오는 형식인가(인바운드), 아니면 밖으로 나가는 형식인가(아웃바운드)? 

 

하드웨어 및 소프트웨어 Oracle 

위의 예처럼 일부 smart contract에서는 외부 하드웨어와 소프트웨어 출처에서 정보를 받아야 합니다. 예를 들어 공급망 유통 과정에는 하나의 특정 목적지에 도착하고 해당 이벤트를 블록체인에 제출할 수 있도록 센서(하드웨어)를 포함하는 패키지가 필요합니다. 또 smart contract가 중앙 집중형 데이터베이스(오프 체인)와 정보를 소통하게 할 수도 있습니다. 다음은 oracle의 여러 유형에 대한 예시입니다. 

중앙 집중형 및 분산형 Oracle

Smart Contract는 많은 경우 중앙 집중형 데이터 허브가 제공한 정보를 소통해야 합니다. 프라이빗 블록체인은 상호 운용성과 브리지를 통해 smart contract와 직접 소통할 수 있으나, 구형 데이터 구조를 사용하는 많은 회사에는 데이터베이스 및 API와 소통할 oracle이 필요합니다. 구형 데이터베이스를 사용하는 회사는 필요할 때 해당 정보를 온체인에 가져오기 위한 중앙 집중형 oracle이 필요한 경우의 예를 보여줍니다. 분산형 퍼블릭 블록체인은 oracle 서비스를 제공하는 여러 회사를 이용합니다. 

인바운드 및 아웃바운드 Oracle

인바운드 oracle은 제삼자의 정보를 smart contract에 가져오고, 아웃바운드 oracle은 smart contract의 정보를 제삼자에게 옮깁니다. 이 게시물의 초반에 제시했던 예제를 이용해 블록체인에 자동차 리스용으로 하나의 결제 주소를 설정한다고 합시다. Smart contract는 납부 일정을 확인해 큰 지연이 없다면 자동차의 엔진을 해제하게 됩니다(아웃바운드 oracle). 반면 센서나 장치를 이용해 특정 정보를 블록체인으로 보내 smart contract를 트리거할 수도 있습니다(인바운드 oracle). 

Smart contract는 작업을 제대로 수행하기 위해 oracle이 제공하는 정보에 의존해야 하며, 이것이 바로 각 oracle의 보안 수준이 무엇보다도 중요한 이유입니다. Oracle을 쉽게 해킹하거나 조작할 수 있다면 이와 소통하는 모든 smart contract가 조작된 정보를 다루게 됩니다. 이는 Oracle 문제라고 하며 블록체인 공간에서 많은 회사가 겪는 어려움 중 하나입니다. 

IOV Labs는 Oracle에 어떻게 기여하고 있나요?

RIF Gateways는 외부와 안전하면서도 쉽게 변경할 수 없는 상호작용을 하도록 설계된 일련의 상호운용성 프로토콜을 제공합니다. 이는 oracle 서비스와 크로스 체인 통합에 대한 접근을 통합해 블록체인에 내부와 외부 모두의 데이터 소비에 대한 구현에 구애받지 않는 프로토콜을 제공하는 인터페이스 계층을 제안합니다. 이는 블록체인 간의 브리지를 구축하게 설계되어, 데이터 제공자와 소비자가 안전하고 표준화된 데이터 전송에 쉽게 참여할 수 있어 광범위한 데이터의 소비, 가입 및 결제 모델을 지원합니다. 추가 정보는 백서를 참고해 주십시오. 또 곧 흥미 있는 소식을 전해드릴 예정이니 많이 기대해 주시기 바랍니다.