아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
냉철한흑로79
냉철한흑로7919.05.26

이더리움과 오라클의 문제에 대해 질문드립니다.

블록체인에서 오라클은 블록체인 밖의 데이터를 블록체인 안(On-chain)으로 가져오는 것을 의미합니다. 스마트 컨트랙트를 사용 할 때 필요한 체인 밖의 데이터를 가져오는 행위를 얘기합니다.

  • 오라클 문제란 무엇인가요?

  • 이더리움과 오라클의 상관관계는 무엇인가요?

55글자 더 채워주세요.
답변의 개수
3개의 답변이 있어요!
  • 일단 "이더리움은 스마트 컨트랙트를 사용"합니다.

    스마트 컨트랙트틑 사용하는 모든 블록체인 네트워크는 오라클 문제가 발생할 수 있습니다.

    오라클 문제란 블록체인 외부 노드의 현상에 대한 정보는 알지 못한다는 것입니다.

    여기서 외부 현상의 정보력에 취약하다는 것은 예시를 들면

    데이터를 입력하는 사람이 악의적 의도로 잘못된 정보를 입력하면

    오라클 문제가 발생하는 것입니다.

    정보 A와 정보 B가 있다고 합시다.

    스마트 컨트랙트는 정보 A를 받으면 C를 수행하고

    정보 B를 받으면 D를 수행한다고 가정합니다.

    여기서 올바른 정보가 A인지 B인지 외부노드에 대한 정보판별이 블록체인 내부에서는

    불가능 하다는 것입니다.

    즉, 데이터 입력자가 A가 올바른 정보임에도 불구하고 잘못된 정보 B를 주어도

    스마트 컨트랙트는 해당 정보가 그릇된지 알지 못한채 D를 수행할 뿐입니다.


  • 질문자께서 질문해주신 내용을 중심으로 답변을 드리도록 하겠습니다.

    • 오라클 문제란 무엇인가요?

      1. 오라클이란 '외부에 있는 데이터나 정보를 블록체인으로 가져오는 것, 입력하는 것'을 의미합니다. 이 오라클은 스마트 컨트랙트와 밀접한 관련이 있는데요, 스마트 컨트랙트가 조건만 맞으면 자동적으로 체결되는 계약이라고 했을 때 그 보다 복잡한 계약 조건의 경우 외부의 정보가 추가적으로 필요하게 되기 때문입니다.

      2. 예를들어 이더리움의 가격이 일주일 이내에 50만원을 넘을 경우 하늘이시여님이 erc20에게 100만원을 지불하고 그 50만원을 넘지 못할 경우는 erc20이 하늘이시여님에게 100만원을 지불한다는 스마트 계약이 있다고 해 보겠습니다. 여기서 스마트 컨트랙트로 자동적으로 해결할 수 있는 부분은 erc20과 하늘이시여라는 거래 당사자가 100만원을 서로에게 지불하는 것이라고 할 수 있습니다.

      3. 하지만 '이더리움의 가격이 일주일 이내에 50만원을 넘는다'라는 정보는 스마트 컨트랙트 자체만으로 해결될 수 없고 외부의 가격 정보를 블록체인으로 가져와서 입력되어야만 하는 것입니다.

      4. 그런데 만약에 erc20이 거짓으로 외부 정보를 조작하여 하늘이시여님에게 100만원을 지불하지 않는다면 어떻게 될까요? 이처럼 외부에서 입력되는 데이터가 위조 되거나 거짓이거나 할 수 있으므로 신뢰할 수 있는 외부 정보, 오라클이 없이는 스마트 계약이 이행되기가 힘든 것입니다. 이러한 외부 정보에 대한 신뢰 문제를 '오라클 문제'라고 부릅니다.

    • 이더리움과 오라클의 상관관계는 무엇인가요?

      1. 스마트 컨트랙트라고 하면 가장 유명한 블록체인이 이더리움이 아닐까 생각합니다. 따라서 이더리움의 경우에도 스마트 컨트랙트만으로는 제공할 수 있는 기능에 한계가 있고 외부 정보인 오라클이 필요하게 될 것입니다. 그리고 오라클 문제를 해결하고 신뢰할 수 있는 오라클을 제공 받는 것이 중요하다고 할 수 있습니다.

      2. 끝으로 오라클 문제의 해결 방법으로는 극단적인 변수나 값을 제외한 중앙값의 데이터를 이용하는 방법, 스마트 컨트랙트와 상관이 없는 객관적인 제3자들이 오라클에 대해 투표하여 그 신뢰도를 평가하는 방법, 신뢰할 수 있는 외부 정보를 전문적으로 제공해 주는 중간자로서 미들웨어를 이용하는 방법이 있을 것입니다. 이더리움 역시 스마트 컨트랙트 기능을 발전시키고 더욱 확장시켜 활용하기 위해서는 이러한 방법들이 도입되어야 할 것입니다.

    답변이 도움이 되길 바랍니다.


  • 오라클이란? 이더리움의 스마트 컨트랙트의 외부 변수를 말하는 것입니다. 외부 변수는 당연히 블록체인에서 생성된 값이 아니기 때문에 블록체인에서 이 값이 올바른 값인지, 변경된 값이 아닌지 판단할 수 없습니다. 만약 잘못된 오라클 값을 블록체인에 기록하게 된다면 과연 그 블록체인을 신뢰할 수 있을까요? 그렇기 때문에 오라클은 매우 중요하고 어려운 문제입니다.

    예를 들어, 어떤 냉장차가 있다고 합니다. 그리고 냉장차에는 온도 센서가 있어 온도센서의 값이 항상 영하 10도를 유지하도록 한다고 합니다. 그래야 냉장차의 실린 물건이 신선도를 유지할 수있고 제품이 상하지 않는다고 합니다. 이것을 스마트 컨트랙트로 한다면, 온도센서의 값이 오라클이 됩니다. 그런데 냉장차 주인이 온도를 속요 냉장차의 들어가는 비용을 줄이려고 한다고 한다면 다음과 같이 쉽게 속일 수 있습니다.

    1) 온도 센서를 조작
    2) 냉장차는 그대로 두고 다른 냉장차에 온도 센서를 달아서 허위 데이터를 전송
    3) 온도 센서가 있는 부분만 영하10도로 냉각

    그외에도 많은 방법으로 조작이 가능합니다. 그렇다면 과연 그 스마트 컨트랙트는 신뢰할 수 있을까요?

    오라클 문제는 매우 어려운 문제이며, 현실적으로 해결이 쉽지 않습니다. 이문제를 해결하지 않는 이상 스마트 컨트랙트를 확산하여 여러 범위에 사용하기는 쉽지 않은 것이 현재입니다.