(블록체인ABC)디앱 서비스 개발의 관건 '오라클 문제'

오프체인→온체인 시 발생하는 신뢰문제…투표·통계 등 해결책 모색중

입력 : 2019-06-06 오전 6:00:00
[뉴스토마토 안창현 기자] 요즘엔 오라클 하면 제일 먼저 미국의 소프트웨어 회사가 떠오르죠? 전 세계 IT 기업들 중 시가총액 상위 10위권 안에 포함되는 글로벌 기업입니다. 영화 '매트릭스'에서 네오가 모피어스를 따라 오라클을 만나는 장면이 생각나기도 합니다. 원래 오라클(Oracle)은 고대 그리스 시대에 신탁을 받는 사람, 예언자를 지칭했다고 합니다. 신의 세계와 인간의 세계를 이어주는 존재였습니다. 영화에서도 오라클은 기계 세계를 대변해 인간과 소통하는 역할을 하지요.
 
블록체인 분야에도 오라클이 등장합니다. 흔히 '오라클 문제(oracle problem)'라고 부릅니다. 생소하긴 하지만, 블록체인을 기반으로 한 다양한 서비스가 나오기 위해 기술적으로 반드시 풀어야 하는 과제입니다. 오라클 문제는 오프체인(off-chain) 정보를 온체인(on-chain)에 기록할 때 발생하는 문제를 말합니다. 그러니까 블록체인 외부의 정보를 블록체인 상에 기록하는 과정에서 발생하는 문제입니다.
 
사진/픽사베이
 
블록체인 기술을 활용해 다양한 서비스를 제공하기 위해선 오프체인, 즉 블록체인 밖의 다양한 현실 정보들을 블록체인에 기록하고 관리해야 합니다. 그렇지 않으면 암호화폐를 거래하고 이를 기록하는 것 말고 블록체인으로 할 수 있는 일이 많지 않을 겁니다. 가령 IBM은 지난해 월마트와 블록체인 프로젝트 '푸드트러스트'를 추진했습니다. 주요 식료품의 생산부터 공급까지 유통과정에서 발생하는 정보를 블록체인에 기록해 투명하고 안전하게 유통망을 관리합니다.
 
이때 유통정보를 블록체인에 정확하게 기록하지 않으면 문제가 생깁니다. 블록체인 상의 정보가 잘못됐다면, 아무리 블록체인 기술이 데이터 위·변조를 막고 투명하게 관리된다 해도 신뢰하기 힘들 겁니다. 블록체인 네트워크에 다양한 외부 정보들을 정확히 기록하고, 이를 참여자들이 신뢰할 수 있게 하는 것은 생각만큼 쉽지 않습니다. 더구나 블록체인은 탈중앙화된 구조를 가지기 때문에 신뢰할 만한 제3자가 개입하기도 쉽지 않지요.
 
블록체인 기반의 스마트계약에서 이같은 오라클 문제가 발생할 수 있습니다. 사전에 합의한 계약내용을 토대로 스마트계약(smart contract) 기능을 통해 계약이 자동으로 이행된다 해도 그 과정에서 외부 정보를 어떻게 기록하고 신뢰할지에 대한 문제는 언제든 발생할 수 있습니다. 쉽게 자동차보험을 생각해볼 수 있습니다. 자동차사고가 발생하면 스마트계약을 통해 자동으로 보험금을 지급하는 경우요. 실제 보험업계에서는 이런 종류의 블록체인 기반 보험상품들이 개발되고 있습니다.
 
그러면 자동차사고가 실제로 발생했는지, 발생했다면 언제 어디서 발생했고, 피해 정도는 어떤지 정보가 필요하겠지요. 사고 발생의 원인은 무엇이고, 누구에게 책임이 있는지도 판단해야 하고요. 그래야 블록체인에 관련 정보를 기록하고 보험서비스를 진행할 수 있습니다. 블록체인에 기록할 위와 같은 정보들을 놓고 이해관계가 얽힌 복잡한 문제들이 발생한다는 사실을 알 수 있습니다.
 
오라클 문제를 해결하기 위해 다양한 방법이 시도되고 있습니다. 현재까지 명확한 해결책이 제시된 것은 아닙니다. 상황에 따라 네트워크 참여자들이 투표를 진행하거나, 다양한 통계 자료를 활용해 합의할 수 있는 방안을 찾습니다. 신뢰할 수 있는 정보를 제공하는 중재자를 내세우기도 합니다. 오라클 문제를 해결하지 못하면 스마트계약의 활용폭은 상당히 줄어들 겁니다. 많은 블록체인 기반 애플리케이션(디앱)이 스마트계약 기능을 활용해 다양한 서비스를 구상하고 있기 때문입니다. 향후 선보이는 디앱과 블록체인 서비스들이 이 오라클 문제를 각자 어떤 방식으로 해결하는지 지켜볼 일입니다.
 
안창현 기자 chahn@etomato.com
 
ⓒ 맛있는 뉴스토마토, 무단 전재 - 재배포 금지
안창현 기자
SNS 계정 : 메일