신뢰의 원천 찾기: 오라클의 원리, 유형, 위상 및 발전 방향의 이해
Winkrypto
2019-10-09 03:52
本文约5081字,阅读全文需要约20分钟
첫 번째 원칙부터 시작하여 오라클 머신의 향후 개발 경로를 진정으로 이해할 수 있습니다.

편집자 주: 이 기사의 출처는체인뉴스(ID: chainnewscom)편집자 주: 이 기사의 출처는

체인뉴스(ID: chainnewscom)

체인뉴스(ID: chainnewscom)

, 내용 토론: Wu Weilong (Genaro CTO), Li Hua, 내용 편곡: Li Hua, 승인을 받아 Odaily에서 복제.

다른 컴퓨터 시스템과 마찬가지로 블록체인의 역할은 데이터를 처리하는 것입니다.

두 가지 데이터 소스가 있는데, 하나는 계정의 ETH 금액과 같은 블록체인 자체에 있고 다른 하나는 ETH 가격과 같은 블록체인 자체가 아닙니다. 블록체인 시스템은 외부에서 데이터를 어떻게 얻습니까? 오라클 머신(Oracle)을 통할 수 있습니다. 계약에 체인 외부의 데이터가 필요한 경우 오라클 머신으로 이동하여 데이터를 가져온 다음 데이터를 계약에 알립니다.

이러한 관점에서 오라클 머신은 매우 중요하며, 오라클 머신이 없으면 블록체인의 개발은 체인의 약간의 자산 데이터 사용으로 제한될 것이며 이는 분명히 우리의 기대를 충족시키지 못합니다. 그러나 중요한 것이 반드시 시스템의 발달에 영향을 미치는 핵심은 아닙니다.예를 들어 산소는 인간에게 가장 중요한 것일 수 있지만 우리를 괴롭히는 문제는 거의 없습니다.

인터넷과 블록체인을 비교해 봅시다. 분명히 인터넷의 데이터 소스는 거의 "off-net"(off-chain에 해당)일 뿐이며 "on-line"(on-chain에 해당) 데이터의 문제도 있지만 왜 그렇지 않은가? 오라클 문제가 발생했습니까?

그 이유는 인터넷의 애플리케이션이 네트워크 외부에서 데이터를 읽을 수 있기 때문이 아니라 블록체인의 애플리케이션이 합의 요구 사항을 위해 오라클을 통해 체인 외부의 일관된 데이터를 읽어야 하기 때문입니다. 오프체인 데이터를 위한 인터페이스로서의 오라클. 핵심 질문은 사용자가 오라클이 제공하는 데이터를 신뢰하는지 여부입니다.

근본적인 원인은 기존의 인터넷이 중앙 집중식 구조이기 때문에 이 시스템에서 사용자는 중앙 집중식 조직을 선택할 때 이 조직에서 제공하는 데이터를 신뢰해야 합니다. 데이터에 대한 신뢰는 중앙의 신뢰로 이전됩니다. " 인터넷"은 중앙 집중식 서버 자체에서 수행합니다. 물론 사용자는 신뢰하지 않을 수도 있습니다.

오라클 머신 문제의 구체화는 오라클 머신을 사용하여 데이터를 체인에 업로드하는 것이 어렵지 않다는 것입니다. 간단한 읽기 및 쓰기 작업은 오프 체인 데이터를 체인의 계약에 "공급"할 수 있습니다. 기술과 메커니즘의 설계를 통해 자체적으로 제공되는 데이터는 신뢰에 대한 사용자의 요구를 충족시킬 수 있습니다.

따라서 기능적 관점에서 오라클 머신은 데이터 문제를 해결하지만 본질적으로 오라클 머신은 신뢰 문제를 해결해야 합니다. 이것이 인터넷이 "인터넷에 대한 데이터 액세스" 문제가 없지만 블록체인은 "체인에 데이터 업로드" 문제가 있는 이유입니다.

블록체인이 더 많은 방향으로 애플리케이션을 탐색하고 구현하기 위해 오프체인 데이터를 사용해야 하는 지점까지 발전하면 오라클 머신은 "신뢰할 수 있는 데이터"에 대한 요구 사항을 충족할 수 있어야 합니다. 따라서 "블록체인 인프라"라는 주제에 대한 토론에서 오라클을 그 중 하나로 선택했습니다.

보조 제목

1. 오라클의 디자인 아이디어

오라클 머신의 핵심이 신뢰 문제를 해결하는 것임을 알면 다양한 오라클 머신의 설계 아이디어의 주요 차이점이 "신뢰 생성 메커니즘"의 차이에 있음을 이해할 수 있습니다.

다양한 신뢰 소스에 따르면 오늘날의 주류 오라클은 다음 세 가지 범주로 나눌 수 있습니다.

1. Provable(이전의 Oraclize)과 같은 신뢰할 수 있는 센터에서 제공하는 데이터.

  • 2. Chainlink와 같은 분산 노드에서 데이터를 제공합니다.

  • 3. Maker's oracle과 같은 신뢰할 수 있는 동맹에서 데이터를 제공합니다.

  • 다양한 유형의 오라클 머신의 특정 구현을 소개하기 전에 다음 사항에 유의해야 하거나 생각하고 논의할 가치가 있습니다.

오라클 머신의 역할은 "실제 데이터"를 제공하는 것이 아니라 "신뢰할 수 있는 데이터"를 제공하는 것입니다. "현실"은 주관적인 개념이며 평가하기 어려운 개념이기도 합니다. "진실"의 출력을 보장할 수 있는 도구는 세상에 없을 수 있으며 오라클 머신이 그러한 작업을 완료하게 하는 것은 현실적이지 않습니다. 기능. 진정성을 보장하는 메커니즘을 설계할 수는 없지만 신뢰성을 높이는 메커니즘은 설계할 수 있습니다. 오라클 머신이 진실을 제공해야 한다면 오라클 머신은 쓸모없고 블록체인은 쓸모없다는 이론에 빠지기 쉽습니다.

서로 다른 애플리케이션 시나리오에는 서로 다른 신뢰 소스/지원이 있습니다. 즉, 특정 신뢰 생성 메커니즘에 의해 달성되는 신뢰는 최적이지만 특정 메커니즘에 의해 달성되는 신뢰는 좋지 않다고 볼 수 없습니다.

이러한 방식으로 오라클 프로젝트를 관찰할 때 중요한 초점은 신뢰를 생성하는 방법과 제공하는 신뢰가 제공하는 애플리케이션 시나리오의 요구 사항을 충족할 수 있는지 여부에 있습니다.

오라클 머신의 설계와 관련된 또 다른 중요한 문제는 데이터 소스, 즉 오라클 머신의 데이터 공급자가 데이터를 얻는 위치의 문제입니다. 두 가지 유형으로 나눌 수 있는데, 하나는 단일 데이터 소스에서 데이터를 얻는 것이고 다른 하나는 여러 데이터 소스에서 데이터를 얻는 것입니다.

보조 제목

2. 오라클 머신의 특정 구현

신뢰의 원천부터 시작하여 다양한 유형의 오라클의 특정 구현을 살펴보겠습니다.

오라클 머신은 블록체인의 중요한 인프라이지만 오라클 머신은 "마술" 기술이 아닙니다. 오라클 머신이 하는 일은 실제로 체인 외부의 데이터를 체인의 애플리케이션에 제공하는 것입니다. 오라클 머신이 무엇이든 상관없이 데이터 공급자의 다른 구현일 뿐입니다.

우리는 시간을 보여주는 큰 시계(데이터 소스)가 있는 작은 마을과 그 마을에 살고 있는 맹인(블록체인 애플리케이션)을 상상할 수 있습니다. 맹인은 시간을 알고 싶어 하지만 큰 시계를 볼 수 없기 때문에 다이얼에 표시된 시간을 알려줘야 하는 사람이 바로 신탁입니다.

1. 신뢰할 수 있는 센터에서 제공하는 데이터

작은 마을에 10명의 시각 장애인이 살고 그들에게 시간이 중요하다면 오라클은 사업이 될 수 있습니다. 시각장애인이 시간을 물을 때마다 1위안을 줘야 하고, 10명의 시각장애인이 하루에 10번 물어보면 하루에 100위안을 벌 수 있다.

이 사람이 스스로 큰 시계의 시간을 보고 맹인에게 알려주면 이 방법을 신뢰할 수 있는 센터에서 제공하는 데이터라고 합니다. 이 경우 시각 장애인은 이 사람이 자신을 속이지 않을 것이라는 믿음을 바탕으로 이 사람을 선택하므로 이 사람이 신뢰할 수 있음을 증명해야 합니다.

일종의 중앙 집중식 오라클 머신의 신뢰 보증은 Provable과 같은 "진위 증명 기술"입니다. 반환된 각 결과에 대해 수정되지 않은 증명을 제공할 수 있는 TLSNotary 알고리즘(https://tlsnotary.org/TLSNotary.pdf)을 사용합니다. 즉, 계약서에 제공된 데이터가 데이터 소스임을 보여줄 수 있습니다. 올바른 데이터 특정 시점에.

Town Crier도 이러한 오라클 머신에 속하며 Intel SGX(Software Guard Extensions) 아키텍처를 사용하여 블랙박스와 같은 환경에서 코드를 실행하여 데이터가 변조되는 것을 방지하는 하드웨어 기반의 신뢰 제공 방식입니다.

이러한 유형의 오라클은 TLSNotary 알고리즘 자체의 단점, 단일 지점 오류 문제, 데이터 소스 위험 문제 등과 같은 기술적 문제를 포함하여 자체 약점이 있지만 저비용, 고효율 등의 장점도 있습니다. ., 그리고 진정성이 증명합니다 기술도 끊임없이 진화하고 있습니다.

중앙집권적이지만 이러한 오라클 머신은 상품화되어 있기 때문에 데이터를 제공하는 작업만 하고 데이터의 보안은 자체 개발과 직결되기 때문에 그들의 무위와 사악한 동기는 상당히 다릅니다.

기술을 통해 신뢰를 제공하는 오라클 외에도 신뢰할 수 있는 센터인 또 다른 유형의 오라클이 있습니다. 마을의 큰 시계에 시간 표시 기능이 추가되면 어떻게 될까요? 맹인은 큰 시계로 가서 버튼을 눌렀고, 큰 시계는 그에게 현재 시간을 직접 알려 주었다.

블록체인이 권위 있는 기관(예: 국가 기관, 은행 등)의 특정 유형의 데이터를 필요로 하는 경우 해당 기관이 데이터를 제공하는 오라클을 구축하는 것이 좋은 방법일 수 있습니다. 이때 중요한 것은 오라클 머신의 기술이 아니라 데이터 소스 자체가 인터페이스를 열 의향이 있는지 여부다. 신뢰의 원천 역시 오라클의 설계가 아니라 제도 그 자체입니다.

이것은 오프체인에서 온체인으로 신뢰를 계승하는 방법이며, 전통적인 신뢰 생성 메커니즘이 가져온 신뢰를 믿습니다. 고도로 중앙 집중화되어 있지만 적어도 대출 및 상업 대출 시나리오와 같은 오랜 기간 동안 긍정적이고 중요한 의미를 갖습니다. 기억하세요, 블록체인은 신뢰를 생성하는 다른 모든 방법을 무효화하기 위한 것이 아닙니다.

국가 기관을 예로 들면 이러한 유형의 오라클의 특성을 이해하기 쉽지만 이 범주에는 특정 데이터 수요를 제공하는 상용 데이터 소스 및 오라클이 있을 수 있으며 이 데이터는 종종 많은 수의 특수 데이터의 계산 결과는 전문 기관에서만 이러한 데이터 결과를 제공할 수 있습니다.

2. 분산 노드에서 제공하는 데이터

신뢰의 문제를 해결해야 하는 오라클 머신 신뢰 센터에서 데이터를 제공하는 오라클 머신은 기술을 통해 자신의 신뢰성을 증명/보증하고, 분산된 노드에서 제공하는 데이터를 제공하는 오라클 머신은 메커니즘 설계를 통해 자신의 신뢰성을 보장합니다. .편지. 후자는 종종 분산형 오라클 및 분산형 오라클 네트워크라고도 합니다.

마을로 돌아가자. 분산형 오라클 네트워크는 마을의 모든 사람들이 시간을 알려주는 데 참여할 수 있음을 의미합니다.시각 장애인이 시간을 물으면 이 참가자/노드는 통계학자에게 자신이 보는 시간을 알려주고 통계학자는 그에게 가장 많은 사람을 알려줄 것입니다. 그때 시각장애인.

이 오라클 머신의 설계 아이디어가 블록체인의 분산 아이디어와 일치한다는 것을 찾는 것은 어렵지 않으므로 블록체인의 응용 프로그램에 새로운 유형의 신뢰를 추가하지 않고 새로운 유형의 신뢰를 추가하지 않고 복잡성은 증가하지 않을 것입니다. 하지만 이 방법도 한계가 있는데, 예를 들어 많은 수의 참여자를 지불해야 하기 때문에 상대적으로 비용이 많이 들고 네트워크 규모가 필요하고 참여자의 수와 품질은 데이터의 신뢰성과 관련이 있습니다.

Chainlink는 이러한 유형의 오라클입니다. 아래 그림과 같이 분산형 오라클 노드/오라클 서비스 제공자는 분산형 데이터 소스에서 데이터를 가져와 체인링크의 온체인 집계 계약에 데이터를 제출합니다(중장기 전략에서는 오프체인으로 변경 예정) 가스 수수료 비용 절감을 위한 집계), 계약은 알고리즘을 통해 데이터 결과를 계산하고 데이터를 요청하는 블록체인 응용 프로그램에 결과를 보냅니다.

체인링크에서 오라클 서비스 구매자는 먼저 자신의 서비스 수준을 지정한 다음 체인링크가 노드의 품질과 수량을 포함하여 오라클 노드와 일치시킵니다.

예를 들어 구매자의 계약이 $100,000 DeFi 시장인 경우 네트워크를 형성하기 위해 5개의 오라클 노드를 선택해야 할 수 있으며, 계약이 $100만 시장으로 성장하면 15개의 오라클 노드를 선택해야 할 수 있습니다. Chainlink가 작동하는 방식은 사용자에게 필요에 따라 맞춤형 동적 오라클 네트워크를 제공하는 것이라고 생각할 수 있습니다.

위에서 언급한 전용 오라클 프로젝트 외에도 Augur와 같은 예측 시장은 예측이 블록체인 계약의 입력 데이터로 사용될 수 있기 때문에 탈중앙화 오라클의 역할을 할 수 있습니다. 예측의 모든 참여자는 오라클 노드이며 이러한 참여자는 데이터 소스 자체이기도 합니다.

예측 시장에서 제공하는 오라클 기능은 감정과 지식 등을 표현하는 데이터를 제공하는 등 중앙 집중식 신뢰에 의존하지 않는 데이터 소스의 고유성으로 인해 다른 유형의 오라클 머신으로 대체될 수 없습니다. 예측 시장 미래에는 고유한 오라클 애플리케이션 시나리오가 있을 수 있습니다. 하지만 약점도 눈에 띄는데, 오라클 네트워크를 구성하는 노드 수에 대한 의존도가 높고 데이터 제공 효율이 낮다는 점이다.

3. 신뢰할 수 있는 제휴사에서 제공하는 데이터

애플리케이션 또는 특정 유형의 애플리케이션이 오프체인 데이터에 대한 높은 빈도 및 고품질 요구 사항을 가지고 있고 시장의 오라클이 요구 사항을 충족할 수 없는 경우, 예를 들어 보안이 충분히 높지 않고 비용 성능이 충분하지 않은 경우 이러한 응용 프로그램에는 자체 특수 요구 서비스를 위한 전용 오라클 시스템이 필요할 수 있으며 신뢰할 수 있는 제휴를 통해 데이터를 제공하는 방법은 이 시나리오에 적합한 설계 아이디어입니다.

이전 두 가지 유형의 오라클 머신과 비교할 때, 이 유형의 오라클 머신의 신뢰 구성은 시스템의 메커니즘 설계에 대한 신뢰, 주로 노드 자체의 이해 관계자 신원 및 기관의 신뢰에서 비롯된 노드에 대한 신뢰를 포함하여 상대적으로 복잡합니다. 노드 자체의 평판 노드를 선택하는 Maker와 Maker 자체 메커니즘에 대한 신뢰.

동맹(노드 및 노드 선택 메커니즘)에 대한 신뢰는 중앙 집중화의 색상을 가지고 있지만 특정 시나리오에서 "비용 효율적인" 신뢰를 생성할 수 있는 것은 바로 이러한 종류의 중앙 집중화이므로 실제 응용 프로그램에서 이러한 유형의 오라클 머신은 특히 블록체인 산업의 발전 초기 단계와 상용 오라클 시스템이 아직 충분히 성숙하지 않은 상황에서 데이터를 체인에 업로드하는 실용적인 방법입니다.

Maker의 오라클 머신은 Maker가 지배하고 있지만 DeFi 분야에서 신뢰할 수 있는 데이터에 대한 수요를 충족할 수 있기 때문에 다른 계약에서도 이 오라클 머신을 사용하고 있습니다. DeFi 분야의 신뢰할 수 있는 기관/노드로 구성된 오라클 네트워크인 제3자가 제공하는 신뢰할 수 있는 동맹 오라클 서비스를 상상할 수 있으며 분산 금융을 위한 전문 데이터 서비스를 제공합니다. 블록체인이 다음 유형의 새로운 애플리케이션 시나리오를 생성하는 경우 해당 분야의 신뢰할 수 있는 노드로 구성된 동맹 스타일의 오라클 서비스를 생성해야 할 수도 있습니다.

보조 제목

3. 개발 경로

블록체인이 발전할수록 오프체인 데이터에 대한 수요는 더욱 강해지고 오라클의 중요성은 더욱 부각될 것입니다. 하지만 앞서 논의한 것처럼 오라클 분야에서 더 큰 가능성은 여러 형태가 공존하는 시장이다. 우리는 중앙화에서 연합, 분산에 이르기까지 대규모에서 소규모로의 데이터 공급자의 세분성이라고 생각할 수 있으며, 다양한 세분성이 서로 다른 속성을 결정하고 각각의 적합한 서비스 시나리오도 결정합니다.

오라클 머신도 분산 노드 네트워크로 구성될 수 있지만 블록체인과 오라클 머신에 대한 우리의 관점과 이를 평가하는 기준은 다릅니다. 내가 해결하기에 적합하다"; 오라클 머신이 기능적인 작업을 수행하는 동안 "이 문제를 어떻게 해결할 수 있습니까?"를 묻는 것이 더 중요합니다.

Winkrypto
作者文库