블록체인의 영원한 숙제 ‘오라클’문제 해결책 제시, 에코체인 (ECOChain)
오라클 문제(oracle problem)란 블록체인 밖에 있는 데이터를 블록체인 안으로 가져올 때 발생하는 문제를 말한다.
블록체인 스마트 컨트랙트와 오라클
블록체인 기반의 모든 스마트 컨트랙트(smart contract)는 오라클 문제가 발생할 수 있다. 스마트 컨트랙트를 이용하면, 계약 당사자가 사전에 협의한 계약 내용을 미리 프로그래밍하여 블록체인 안에 넣어두고, 이 계약 조건이 모두 충족되면 자동으로 계약 내용이 실행되도록 할 수 있다. 하지만 스마트 컨트랙트의 가장 큰 문제점은 블록체인 외부에서 나타나는 현상에 대한 정보를 수집할 수가 없다는 것이다. 스마트 컨트랙트를 자동으로 실행하기 위해 외부 데이터를 가져오는 과정에서 오라클 문제가 발생할 수 있기 때문이다.
위와 같은 오라클 문제에서 블록체인 밖의 데이터들의 가져올 때 생기는 충동들을 중재해 주는 ‘가상머신’이 존재하고 있다.
가상머신 (EVM: Ethereum Virtual Machine)
EVM(가상머신)이란, Ethereum Virtual Machine의 약자로 즉, 이 이더리움 가상머신은 솔리디티(solidity) 언어로 코딩된 스마트 컨트랙트를 바이트 코드(Byte code)로 바꾸어 실행하고 연산하여 처리하는 이더리움 블록체인 네트워크의 가상 컴퓨터라고 할 수 있다.
이더리움 네트워크에서 스마트 컨트랙트에 의해 트랜젝션이 발생했을 때, 각각의 노드가 계산을 하게 되면 그 결과가 다를 수가 있고 합의에 도달하기 힘들 수 있다. 따라서 이더리움 블록체인 네트워크에는 모든 노드가 결과를 공유하고 동의하는 단 하나의 컴퓨터가 필요하다.
바로 이런 중재 역할을 EVM가 할 수 있다. 각 노드들은 EVM을 통해 결과를 공유하고 동의를 얻을 수 있으며, 따라서 EVM의 연산 내역은 이더리움 블록체인 네트워크 전체가 동일한 데이터를 가지도록 해 주고 합의에 도달할 수 있는 데이터를 제공해 준다.
가상머신은 코드 (스마트 컨트랙트)가 실행되는 격리된 환경이다. 결과는 분산 방식으로 확인된다. 문제는 VM이 환경 외부의 데이터에 직접 접근 할 수 없다는 것이다. 여기에서 “외부”는 우리가 관심을 가지는 실제 세계이다.
에코체인(ECOChain)의 분산형 오라클 연구 진행
n 합리적인 환경에서의 오라클 컨센서스
위에서 언급한 바와 같이 VM은 실제 데이터에 직접 접근 할 수 없다. 누군가가 이 데이터를 주입해야 한다. 이러한 방식으로 분산 응용 프로그램이 VM(스마트 컨트랙트)을 사용할 수 있다. 일반적으로 제 3자 기관인 오라클(Oracle)은 신뢰할 수 있는 데이터를 제 시간에 주입할 책임이 있지만 문제는 사용자가 오라클을 신뢰해야 한다는 점이다. 불행히도 이로 인해 응용 프로그램에 중앙 집중화 지점이 생겨서 분산 및 무신뢰의 목표를 우선적으로 달성하지 못한다.
# 해결책
해결책은 완전히 탈중앙화가 필요할 때, 스마트 컨트랙트의 내부 상태 변화를 보호할 오라클(Oracle)에 대한 합의 메커니즘을 갖추는 것이다. 이를 통해 첫 번째 블록 위에 두 번째 블록체인이 있다는 아이디어가 제시되는데 이 블록체인은 데이터가 올바른지 여부를 결정하고 스마트 컨트랙트에 대한 쓰기 권한을 허용한다. 그러나 이로 인해 사건을 너무 멀리 진행시켜 복잡성이 증가하므로 Dapp을 매우 느리게 만들고, 실행 비용이 훨씬 높아질 수 있다.
두 번째 블록체인 / 레이어를 사용하지 않고 오라클(Oracle) 문제를 해결하는 방법이 있을까?
# 에코체인(ECOChain)의 연구
에코체인(ECOChain)의 연구에 따르면 적어도 특정한 경우에 이런 일이 가능하다는 것을 보여준다. 에코체인은 합리적 오라클(Oracle)을 정직하게 장려할 수 있는 메커니즘에 대한 보고서를 완성하고 발표했다. 많은 사용 사례에서 이 메커니즘은 블록체인에서 직접 의미하는 오라클 문제 온체인을 해결할 수 있다. 물론 두 번째 레이어 해결책도 가능하지만 모든 것이 첫 번째 레이어(ECOCHAIN)에 정착되는 것을 강력히 선호한다.
에코체인(ECOChain)의 목표는 전체 블록체인 산업에 대한 오라클의 사용을 늘리는 것이다. 이러한 이유로 에코체인의 연구는 다른 블록체인에 적용될 수 있다. 광범위한 오라클 사용은 더 많은 경우에 Dapps 구현을 가능하게 할 것이며 채택을 가져올 것이다.
댓글 0개