SEARCH

검색창 닫기
  • BTC
  • ETH
  • XRP
  • BCH
bithumb제공 bithumb제공
  • BTC
  • ETH
  • XRP
  • BCH
bithumb제공 bithumb제공

[디센터 아카데미 4부]⑤오라클 문제와 오라클 메커니즘


이더리움이 대표적인 2세대 블록체인으로 인정받게 된 이유는 무엇일까? 바로 튜링완전성을 구현한 스마트 계약의 도입이다. 스마트 계약은 컴퓨터 코드화된 계약서로 특정 조건이 충족되면 계약이 자동화되어 실행된다. 보안상 복잡성이 제한된 비트코인의 스마트 계약과 달리 이더리움은 튜링완전언어를 제시하고 코드별 실행에 따른 수수료를 부과하여 코드의 복잡성을 허용하였다. 이러한 복잡성의 허용은 양측 간 어떠한 신뢰 없이도 약속 그대로 이행될 것임을 보장하는 스마트 계약의 응용 범위를 확장해 기술의 고도화를 이룩하였다. 이더리움은 안전한 계약 체결을 위해 중재자로서 제 3자를 개입해야 하거나 법률 체계에 의지해야만 했던 현실 세계에 하나의 솔루션을 제시하게 되면서 블록체인 업계의 판도를 변화시킨 것이다. 또한, 튜링완전성을 내세우는 스마트 계약의 등장에 따라 분산화를 지향하려는 다양한 비즈니스 모델의 구조화가 가능해짐으로써 블록체인 플랫폼 위에 분산 애플리케이션(DApp)이 본격적으로 구축되기 시작하였다.

온체인과 오프체인을 이어주는 다리가 필요하다
스마트 계약의 고도화는 블록체인 기술 분야에 있어 또 하나의 진보를 가져왔지만, 블록체인이 단순한 화폐 거래의 장부가 아닌 실제 세계의 상호 유기적 시스템을 그대로 반영하는 생태계로 성장하기 위해서는 스마트 계약 그 자체만으로 큰 동력이 될 수 없다. 스마트 계약은 화폐의 교환이나 보관 등 계약 체결을 위해 필요한 데이터가 블록체인 내부세계에 한정된 경우에는 온체인 데이터만으로도 계약의 이행이 가능할 수 있다. 그러나 각종 보험이나 부동산 계약, 결제 시스템, 예측시장 등 실생활과 접목된 서비스의 구축을 위해서는 블록체인 외부에서 발생하는 정보를 배제할 수 없기에 스마트 계약(온체인)과 현실세계(오프체인)를 이어주는 일종의 다리가 필요하다. ‘if...then’의 구조인 스마트 계약은 특정 조건의 충족 여부를 판단하기 위해 외부상황에 대한 관찰이 필수적이며, 궁극적으로는 그 결과 값이 입력되어야 비로소 계약이 실행될 수 있다. 따라서 스마트 계약 체결을 위해서는 블록체인 외부 시스템으로부터 필요한 정보를 제공할 데이터 피드가 확보되어야 한다. 이와 같이 계약이 실행되기 위한 조건의 충족 여부를 판단할 수 있도록 스마트 계약과 항상 함께 가야 하는 것이 바로 외부정보 공급의 역할을 하는 오라클이다. 따라서 오라클이란, 스마트 계약이 업무 수행을 위해 알아야 할 사항들을 전달해주는, 쉽게 말해 정보 제공 주체를 의미한다.

그렇다면 오라클 문제는 무엇일까? 외부 정보를 블록체인 네트워크 내부로 가져오는 과정에서 발생할 수 있는 이슈를 가리켜 오라클 문제라고 한다. 스마트 계약은 코드화된 하나의 약속일 뿐 데이터에 대한 자체적 판단 능력은 지니고 있지 못하다. 더불어, 계약 조건 충족 여부를 확인하고 이를 보증해 줄 중간자나 중앙화 된 기관 또한 없다. 이는 곧 계약 실행을 위해 입력된 데이터가 어디서, 누구에게, 어떻게 수집되었는지 불명확할 수 있음을 의미하며, 설령 정보 공급 매개체가 명시되더라도, 외부 데이터를 받아오는 과정에서의 위변조 가능성을 배제할 수 없고, 데이터 그 자체의 신뢰성에도 의문을 제기할 수 있다. 이러한 오라클 문제는 스마트 계약의 응용 및 발전에 있어 커다란 장애물이 된다. 블록체인은 한번 기록된 데이터는 되돌릴 수 없다는 비가역적 특성이 있어, 계약 이행 조건에 대한 보다 엄격하고 정확한 확인과정이 약속되어야 하기 때문이다.



오라클 전문 미들웨어가 있다
그렇다면, 오라클 문제의 해결을 위해 제시되고 있는 방안에는 무엇이 있을까. 우선, 블록체인 네트워크 내 자체적인 오라클 모델 없이 오라클 전문 미들웨어를 두는 방법이 있다. 믿을만한 제3의 업체로부터 검증된 외부 데이터를 API 형식으로 입력받는 것이다. 미들웨어 오라클은 정보 수집 방식에 따라 대표적으로 하드웨어 오라클과 소프트웨어 오라클로 나뉠 수 있다. 하드웨어 오라클은 실제 물리적 센서와 통합된 정보 수집 방식으로 센서에 감지된 환경 변화를 데이터화 하여 전송하는 것이다. 예로 RFID 태그를 이용한 정보 수집이 이에 해당한다. 소프트웨어 오라클은 온라인상의 특정 채널을 제3의 정보 원천으로 두고 정보를 제공 받는다. 이는 환율이나 날씨, 주식시장 데이터 등 실제 객관적 사실을 수집할 경우 가장 일반적으로 나타나는 유형이다. 그러나 미들웨어 오라클의 경우 하나의 조직 혹은 관리자가 개입하여 중간 다리를 제공하는 방식이기 때문에 기존 중앙집중형 시스템에서 제기되어왔던 신뢰 문제나, 중심 시스템이 무너지면 전체 서비스가 중단되는 ‘Single point of failure’의 문제가 발생할 수 있다. 더 나아가서는 블록체인 네트워크가 본질적으로 이루고자 하는 탈중앙화 시스템과 이념적으로 충돌하게 될 것이다.

오라클의 탈중앙화가 연구되고 있다
이와 같은 미들웨어 오라클의 문제점을 해결하고자 몇몇 프로젝트는 서비스 참여자들이 직접 외부정보를 들여오는 오라클의 탈중앙화를 연구하고 있다. 오라클의 탈중앙화를 위한 메커니즘은 두 가지 관점에서 바라볼 수 있다. 1) 정보 투입 과정 설계 측면과 2) 정보에 대한 평가 프로세스 측면이다. 정보 투입 과정의 설계는 오라클 참여 노드 선정 방식에 따라 다시 두 가지로 나뉠 수 있다. 첫째, 오라클로 지정된 한 사람이 정보를 가져오면, 다른 서비스 참여자들의 검증을 거쳐 정보가 최종적으로 입력되는 시스템, 둘째, 여러 명의 오라클 참여자를 두고 투표를 통해 가져올 정보를 결정하는 투표 기반 시스템이 있다. 전자의 경우, 한 사람이 정보를 제공할지라도, 정보에 문제가 있을 시 참여 노드가 이의를 제기할 수 있도록 일정 유예 기간을 두어 감시와 검증의 과정을 거치기 때문에 데이터의 무결성과 신뢰성을 보장할 수 있다. 이때, 메커니즘 설계자는 정보 제공자에게 일정량의 토큰을 예치하도록 하고, 만약 가져온 정보가 기각될 시 예치금이 페널티로 작용할 수 있도록 인센티브 구조를 설계하여 정보 전달자로서의 책임과 의무를 다하도록 올바른 행동을 강화할 수 있다.

투표기반 오라클 시스템은 일정한 기간 동안 다수의 참여 노드가 각자 옳다고 생각하는 선택지에 자신의 표를 행사하고, 이후 투표 결과를 취합하여 최종적으로 선택된 정보를 블록에 입력하는 시스템이다. 이때, 표의 행사권리를 정하는 방식은 1인-1투표 또는 1토큰-1투표가 있다. 대부분의 블록체인은 1토큰-1투표 방식을 채택하고 있다. 이는 악의적인 참여자가 의도적으로 투표 결과를 조작하고자 할 경우 경제적 손실이 불가피하도록 설계하기 위해서이다. 그리고 한 사람이 다수의 계정을 개설할 수 있는 여지가 다분하다는 점 또한 1인-1투표 방식보다 1토큰-1투표 방식을 선호하는 이유이다. 1토큰-1투표 방식의 경우 토큰 보유자라면 누구나 투표에 참여 가능하다는 점이 특징이며, 경제적 보상은 행사한 토큰의 양에 따라 결정되도록 설계된다. 토큰 보유량에 따라 행사할 수 있는 영향력과 경제적 보상의 크기가 결정되는 메커니즘의 1토큰-1투표 방식은 서비스의 성장이 곧 토큰의 가치 상승으로 이어지는 성질에 따라 다수의 토큰을 가진 노드는 자신이 보유하고 있는 토큰의 가치를 지키기 위해 네트워크가 계속해서 유지될 수 있도록 적극적으로 참여하고, 서비스가 올바른 방향으로 나아갈 수 있도록 노력할 것을 유도하게 된다.

정보의 평가 프로세스는 오라클이 가져온 정보에 대해 이의가 제기될 경우 작동되는 메커니즘이다. 앞서 말했듯이 탈중앙화된 블록체인 네트워크 내에서는 정보의 진위 여부를 판단하고 보증하는 중앙관리자가 없다. 따라서 입력된 정보에 대해 의견의 불일치가 발생할 경우 이를 중재하고 정보를 재평가하기 위한 메커니즘이 필요하다. 예를 들어, 투표기반 오라클 시스템에서 다수결 원칙에 의거해 최종 결정된 정보에 대해 이견을 제시하고자 하는 참여자가 생긴다면, 그는 자신이 옳다고 생각하는 선택지에 일정량의 토큰을 예치함으로써 이의를 제기할 수 있고, 이로써 해당 문제에 대한 재투표를 실시한다. 이때, 예치해야 하는 토큰의 양은 이전에 결정되었던 선택지에 예치된 양보다 많아야 한다. 이는 이의 제기자가 섣불리 행동하지 않고, 본인이 가진 이견에 대한 확신을 바탕으로 의미 있는 재평가를 시작할 수 있도록 하기 위한 하나의 장치일 것이다. 이러한 정보의 평가 프로세스는 계속해서 연장될 수 있지만, 끝없이 이의신청이 발생하게 되면 서비스 제공에 있어 비효율적일 수 있기 때문에, 몇몇 프로젝트는 투표의 연장을 제한하는 저마다의 기준을 마련해두기도 한다.

유용한 결과를 얻기 위해선 입력되는 정보의 가치가 중요하다
지금까지 오라클 문제란 무엇이며, 오라클의 유형과 탈중앙화를 위한 메커니즘의 일부를 살펴보았다. 오라클은 스마트 계약이 무엇을 어떻게 볼지를 결정한다. 이는 곧 스마트 계약의 입력을 제어하는 것이며, 계약 수행 제어권한을 가지고 있다고 해석될 수 있다. ‘Garbage in garbage out’이라는 말이 있듯, 유용한 결과를 얻으려면 입력되는 정보의 가치가 상당히 중요하다. 이때, 정보의 가치를 판단하는 데에는 여러 가지 척도가 있겠지만, 데이터의 무결성과 신뢰성은 블록체인 영역에서 가장 중요시되는 속성이다. 스마트 계약에서도 마찬가지다. 오라클이 입력하는 데이터가 정말 사실인지, 믿을 만한 정보인지에 따라 스마트 계약의 유용성이 좌우되는 것이다. 따라서 스마트 계약의 실효성은 오프체인 데이터를 온체인 네트워크로 투명하고 안전하게 들여올 수 있도록 잘 설계된 오라클 메커니즘에 달려있다 해도 과언이 아니다. 즉, 견고한 오라클 메커니즘은 블록체인으로 구현하고자 하는 비즈니스 모델의 성패를 가르는 결정요인이 될 것이다./이화여대 융합보안연구실

이화여대 융합보안실(CS Lab)을 이끌고 있는 채상미(왼쪽) 이화여대 경영학과 교수는 이화여대를 졸업하고 서울대에서 경영학 석사, 뉴욕주립대에서 경영정보시스템 전공으로 박사학위를 받았다. 기업의 정보보안 정책과 보안 신기술 도입 전략, 블록체인의 활용과 적용을 연구 중이다. 유지은(오른쪽) 연구원은 이화여대 성악과를 졸업하고, 이화여대 빅데이터 분석학 석사과정에 입학하여 블록체인과 빅데이터 분석, 정보보호 분야를 연구하고 있다.

심두보 기자
shim@decenter.kr
< 저작권자 ⓒ 디센터, 무단 전재 및 재배포 금지 >

이메일보내기