-
블록체인 Oracle ProblemBlockChain Tech 2019. 1. 2. 11:24
Oracle의 뜻 (Naver 사전)
1. (고대 그리스에서) 신탁을 받는 곳
2. (고대 그리스에서) 신탁
3. 귀중한 조언을 주는 사람블록체인의 Oracle
Oracle이라는 말을 듣고 가장 먼저 생각난 것은 다국적 기업 ‘Oracle’이였고, 그 다음은 매트릭스의 Oracle 아주머니가 생각 났다. 아쉽게도 블록체인에서 Oracle은 이것들과 관계가 없었다.
Oracle은 OFF-Chain(블록체인 밖)상의 데이터를 On-Chain(블록체인)으로 가지고 오는 것을 의미한다.
즉, Oracle이란 A 블록체인이 아닌 곳에서 일어나는 각종 사건, 사고에 대한 데이터를 A 블록체인으로 가지고 오는 것이다. ‘10월 10일 서울의 날씨’, ‘B 블록체인의 Transaction’ 등 외부 데이터라면 모든 것이 포함 된다.
Oracle Problem
외부 데이터를 가지고 오는 것에 대하여 굳이 ‘Problem’ 까지 붙었어야 할까? 기상청에서 API를 이용해서 간단하게 서울의 날씨를 불러오면 될 것 이다. 만약, 기상청이 서비스 제공을 막는다 해도, 서울에 사는 사람에게 날씨에 대한 정보를 제공 받으면 될 것이다. 또, 날씨 이외 ‘스포츠 경기 결과', ‘B 블록체인 정보' 등도 마찬가지이다.
데이터는 쉽게 구할 수 있다.
당연히 데이터는 쉽게 구할 수 있다. 각종 커뮤니티, SNS에 실시간으로 업데이트 되는 정보들이 넘쳐나기 때문이다. 하지만, 많고 많은 데이터를 신뢰할 수가 없다. 데이터는 넘쳐나는 데.. 그 중 신뢰할 만한 데이터를 추스리는 것이 문제인 것이다. 게다가 데이터를 넘겨주어야 하는 곳이 하필 ‘모두가 동등한'블록체인 세상이였다.
블록체인은 기존에 중앙 기관만 소유하는 원장(Ledger)을 누구나 소유할 수 있게 하고, 이를 통하여 중앙 기관을 없애는 P2P 기반 기술이다. 즉, 블록체인에는 중앙 기관이 존재하지 않고 누구나 평등한 위치에서 네트워크를 운영해 나간다.
중앙 기관이 없기 때문에 부동산, 기상, 농수산, 식의약품, 수도 등 모든 데이터를 믿고 받을 만한 곳이 없다.
중앙 기관을 신뢰할 수 없기 때문에 만들어진 ‘신뢰에 의존하지 않는 시스템'에서는 우리가 필요한 데이터도 신뢰 할 수가 없었다. 이것을 Oracle Problem이라 부른다.
Oracle 종류
[Software Oracle]
온라인에서 사용 가능한 데이터를 가지고 오는 것. (온도, 상품 및 물품 가격, 비행 또는 기차 지연 등)[Hardware Oracle]
물리적 센서를 통한 데이터를 가지고 오는 것. (‘냉장고가 비어있다.’, ‘누군가 내 문앞에 서있다.’ 등)[Inbound Oracle]
외부세계에서 블록체인 상에 데이터를 전송하는 것 (현재 환율은 1,100원 이다. 물건을 구매 한다.)[Outbound Oracle]
블록체인 상의 데이터를 외부 세계에 전송하는 것. (송금이 되었다! 물건을 넘겨라.)[Consensus Based Oracle]
Augur와 Gnosis와 같은 미래 예측 시장 플랫폼 블록체인에서 데이터를 받아오는 것현재 Oracle을 할 수 있는 가?
현재 다양한 미래 예측 시장 블록체인이 개발 중 이다. 그들의 솔루션은 ‘오늘 서울에는 비가 온다.’ 라는 주제를 두고 투표를 하는 것이다. 옳은 투표를 한 사람은 보상을 받기 때문에 유저들은 옳은 정보에 투표를 하게 되는 것이다. 평판 시스템과 같다.
하지만 아직 미래 예측 시장에 정보를 완벽하게 ‘신뢰’할 수 없고, ‘개발중’이기 때문에 Oracle은 쉽지 않다. ‘Oraclize’에서 Ethereum, EOS, Fabric 등에서 Oracle을 지원해주지만 오프체인 상에서 선불로 결제를 해야하기 때문에 정말 간절히 필요한 것이 아니면 사용하기 힘들 것 같다. 또, 이 솔루션은 중앙화 된 하나의 기관이 ‘보안'을 강조하며 서비스를 하기 때문에 사실 탈중앙화 사상과 어울리는 것 같지는 않다.
결국 아직은 마땅히 사용할 만한 Oracle 방법은 없는 것 같다.
참고 문헌
'BlockChain Tech' 카테고리의 다른 글
ERC-165 살펴보기 (0) 2019.03.29 이중 지불 (Double Spent) / 51% Attack (0) 2019.01.02 ERC20 그리고 EIP (0) 2019.01.02