오라클 문제가 무엇인가요?
오라클 문제가 무엇인가요?
오라클 문제란 외부 데이터를 블록체인 상으로 들여올 때 발생할 수 있는 오류를 뜻합니다.
블록체인 기술은 데이터를 안전하게 저장하고 투명하게 공유하는 것에 의의가 있는데요, 처음부터 블록체인 상에서 생겨나는 데이터는 없습니다. 암호화폐 거래도 주소와 거래금액을 입력하는 누군가가 있어야 거래 이력을 블록체인 상에 새길 수 있겠죠. 이 때 입력되는 데이터 자체에 문제가 있다면 이 데이터가 블록체인 상에 안전하게 저장된다고 해도 의미가 없을 것입니다. 이런 문제가 '오라클 문제'입니다.
오라클 문제는 서플라이체인(물류+블록체인)이나 사물인터넷+블록체인 프로젝트 등 외부 데이터를 들여오는 프로젝트에서 심각하게 발생할 수 있습니다. 예를 들어 사물인터넷과 블록체인 기술을 결합해, 사물의 정보를 블록체인 상에 저장하는 프로젝트가 있다면 사물 정보 자체에 흠결이 없어야 합니다. 또 정보를 읽는 장비 역시 멀쩡해야 합니다. 100% 안전한 데이터는 존재하기 힘들기 때문에 오라클 문제를 해결하기 쉽지 않습니다. 물류나 유통에 블록체인 기술을 적용하는 프로젝트도 마찬가지입니다.
따라서 외부 데이터가 중요한 블록체인 프로젝트를 살펴볼 때에는 오라클 문제를 어떻게 줄이려하는지 확인해야 합니다. 완전히 해결할 수 있는 방법은 없지만, 검증 절차를 강화하는 등 방법으로 문제를 줄여볼 순 있을 것입니다 :)
오라클문제
블록체인 밖에 있는 데이터를 블록체인 안으로 가져올 때 발생하는 문제를 말한다. 오라클 현상 또는 연결성 문제(connectivity problem)라고도 한다. 데이터베이스 관리 시스템(DBMS) 제품인 오라클(Oracle)과 이름은 비슷해도 내용상 아무런 관련이 없다.
블록체인 분야에서 오라클(oracle)이란 블록체인 밖에 있는 데이터를 블록체인 안으로 가져오는 것을 말한다. 이때 블록체인 밖에 있는 데이터를 오프체인(off-chain)이라고 하고, 그 데이터가 블록체인 안으로 들어온 것을 온체인(on-chain)이라고 한다. 블록체인(blockchain)은 데이터의 위변조가 거의 불가능한 분산 저장 기술이지만, 데이터가 블록체인 안으로 들어와야 블록체인으로 관리할 수 있다. 데이터가 블록체인 안으로 들어오지 않거나, 혹은 블록체인 안으로 들어오는 과정에서 위변조가 발생한다면, 설령 그 데이터가 블록체인으로 관리된다고 할지라도 신뢰하기 어렵다.
블록체인 기반의 모든 스마트 계약(smart contract)은 오라클 문제가 발생할 수 있다. 스마트 계약을 이용하면, 계약 당사자가 사전에 협의한 계약 내용을 미리 프로그래밍하여 블록체인 안에 넣어두고, 이 계약 조건이 모두 충족되면 자동으로 계약 내용이 실행되도록 할 수 있다. 하지만 스마트 계약의 가장 큰 문제점은 블록체인 외부에서 나타나는 현상에 대한 정보를 수집할 수가 없다는 것이다. 스마트 계약을 자동으로 실행하기 위해 외부 데이터를 가져오는 과정에서 오라클 문제가 발생할 수 있기 때문이다.