블록체인 오라클이란 무엇이며 어떻게 작동합니까?

블록체인 오라클이란 무엇입니까?

블록체인 오라클은 블록체인을 외부 시스템에 연결하여 실제 입력 및 출력에 따라 스마트 계약을 실행할 수 있도록 하는 엔티티입니다. Oracle은 Web 3.0 에코시스템에 기존 레거시 시스템, 데이터 소스 및 고급 계산에 연결할 수 있는 방법을 제공합니다.

분산형 오라클 네트워크(DON)는 오프체인 인프라와 온체인 코드가 결합되어 실제 이벤트에 반응하는 복잡한 분산형 애플리케이션(DApp)을 제공하는 하이브리드 스마트 계약의 구현을 가능하게 합니다. 기존 시스템과 상호 작용합니다.

Alice와 Bob이 경마 결과에 내기를 걸고 싶다고 가정해 보겠습니다. 총 $80는 스마트 계약에 의해 에스크로에 보관되며 Alice는 팀 X에 $50를 베팅하고 Bob은 팀 Y에 $30를 베팅합니다. 스마트 계약은 게임이 끝났을 때 Alice 또는 Bob에게 돈을 줄지 여부를 어떻게 압니까? 해결책은 오프체인에서 정확한 매치 결과를 검색하고 블록체인에 안전하고 안정적으로 전달하기 위해 오라클 메커니즘이 필요하다는 것입니다.

블록체인의 분산 원장 측면 때문에 네트워크의 각 노드는 동일한 입력이 주어지면 동일한 결과를 얻어야 합니다. 예를 들어 노드가 다른 노드의 트랜잭션을 확인하려고 하면 다른 결과가 나타납니다. 이 아키텍처는 결정론적으로 만들어졌습니다.

합의는 블록체인에서 데이터 값에 동의하는 기술이며 노드가 합의에 도달하기 위해서는 결정성이 필요합니다. 나카모토 합의를 통한 작업 증명(PoW) 및 비잔틴 합의를 통한 지분 증명(PoS)과 같은 그들 중 일부는 여러분에게 친숙할 수 있습니다. 블록체인을 작동시키는 주요 요소 중 하나는 애초에 합의입니다.

그러나 블록체인 세계는 실제 세계와 연결되어야 합니다. DeFi를 사용하려면 이더(ETH) 및 기타 암호화폐의 가격을 계약에 포함해야 합니다. 탈중앙화되고 신뢰할 수 없는 보험을 제공하려면 기상 데이터가 필요합니다. 가장 필수적인 용도 중 하나인 스마트 계약에 블록체인을 사용하려면 데이터가 필요합니다. 이 제약 조건이 주어지면 어떻게 세계를 연결할 수 있습니까?

이 가이드는 블록체인 오라클이 하는 일, 블록체인 오라클 문제를 설명하고 다양한 블록체인 오라클 프로젝트를 소개하는 것을 목표로 합니다.

블록체인 오라클 문제

블록체인 오라클 딜레마는 스마트 계약의 주요 제한 사항을 강조합니다. 즉, 기본 블록체인 컨텍스트 외부의 데이터 및 시스템과 어떤 방식으로든 연결할 수 없습니다. 외부 자원을 "오프체인"이라고 하고 현재 블록체인에 기록된 데이터를 "온체인"이라고 합니다.

블록체인은 이중 지출 공격 방지, 사용자 거래의 신뢰성에 대한 강력한 합의, 네트워크 다운타임 감소와 같이 외부 시스템과 의도적으로 분리되어 가장 유익한 특성을 달성합니다. 블록체인에서 오프체인 시스템과 안전하게 상호 작용하고 두 환경 간의 격차를 해소하려면 "오라클"이라는 추가 인프라가 필요합니다.

DeFi와 같은 대부분의 스마트 계약 사용 사례는 실제 데이터와 오프체인에서 발생하는 이벤트에 대한 지식을 필요로 하기 때문에 오라클 문제를 해결하는 것이 중요합니다. 결과적으로 오라클은 블록체인의 주요 보안 품질을 유지하면서 오프체인 리소스에 대한 범용 게이트웨이를 제공함으로써 블록체인이 활성화할 수 있는 디지털 계약 유형을 확장합니다.

금융을 위한 자산 가격, 정부를 위한 신원 확인, 게임을 위한 무작위성, 보험을 위한 날씨 정보는 오라클과 스마트 계약을 통합함으로써 이익을 얻는 산업의 일부일 뿐입니다.

블록체인 오라클은 무엇을 합니까?

결정적 블록체인을 오프체인 데이터에 연결하는 모든 장치 또는 엔티티를 블록체인 오라클이라고 합니다. 모든 데이터 입력은 이러한 오라클의 외부 트랜잭션을 통해 라우팅됩니다.

그러나 블록체인에는 이러한 방식으로 자체 인증하는 데 필요한 모든 정보가 포함되어 있음을 확신할 수 있습니다. 오라클은 두 영역을 연결하는 역할을 하기 때문에 블록체인 미들웨어로 간주됩니다.

Chainlink는 외부 데이터에 대한 액세스와 스마트 계약 문제의 중앙 집중화를 모두 극복하기 때문에 탈중앙화된 오라클을 위한 업계 표준입니다. 그렇다면 Chainlink 오라클은 무엇입니까?

Chainlink는 블록체인 스마트 계약에 실제 데이터를 제공하는 분산형 오라클 네트워크입니다. LINK 토큰은 네트워크 서비스 비용을 지불하는 데 사용되는 디지털 자산 토큰입니다.

한편에 단일 중앙 집중식 오라클은 분산형 블록체인 보안 스마트 계약이 해결해야 하는 특정 문제, 즉 단일 실패 지점을 유발합니다. 그렇다면 오라클에 결함이 있거나 손상된 경우 데이터가 정확한지 어떻게 알 수 있습니까? 블록체인에 의존하는 데이터가 의심되는 경우 블록체인에서 안전하고 신뢰할 수 있는 스마트 계약이 무슨 소용이 있습니까?

이 문제는 Oracle을 사용하여 오프 블록체인 소스에서 온 블록체인 스마트 계약으로 데이터와 정보를 제공하는 Chainlink(탈중앙화 노드 네트워크)에 의해 해결됩니다. 이 기술은 다른 보안 기술과 함께 단일 중앙 집중식 소스만 사용할 경우 발생할 수 있는 안정성 문제를 제거합니다.

Chainlink는 네트워크 간 통신을 위한 일반적인 추상화 수준을 제공하는 단일 프레임워크를 사용하여 모든 주요 퍼블릭 및 프라이빗 블록체인 환경을 연결하므로 블록체인에 구애받지 않습니다.

따라서 이미 현실 세계에서 추출되어 탈중앙화 데이터를 제외하고는 공공 도서관과 유사한 Chainlink와 같은 서비스를 사용하여 수집된 온체인 탈중앙화 데이터를 참조할 수 있습니다. 모듈식 오라클 네트워크를 생성하여 필요한 특정 정보를 얻을 수도 있습니다. 또한 오프체인 계산을 수행하고 데이터를 실제 세계로 전송할 수 있습니다.

다른 최고의 블록체인 오라클은 Witnet, Paralink, Provable 및 Dos.Network입니다. 이러한 서비스는 애플리케이션 사용자 인터페이스(API)를 쿼리한 다음 스마트 계약의 데이터를 정기적으로 업데이트하기 위해 트랜잭션을 보낼 수 있는 일부 오프체인 구성 요소와 스마트 계약으로 구성된 오라클을 제공합니다.

블록체인 오라클의 유형

오라클은 외부 데이터와 통신하기 위해 블록체인 또는 스마트 계약을 제공합니다. 대신 블록체인 외부 세계에 대한 인터페이스 역할을 합니다. 특히 스마트 계약이 실제 이벤트와 연결되어 있는 경우 많은 상황에서 외부 데이터를 폐쇄형 블록체인 시스템으로 전달해야 합니다. 외부 데이터는 암호화 오라클에 의해 쿼리, 확인 및 인증된 후 폐쇄된 시스템으로 중계됩니다. 그 후 검증된 데이터는 스마트 계약을 검증하는 데 활용됩니다.

하드웨어 및 소프트웨어 오라클

항상 그런 것은 아니지만 대부분의 암호화 오라클은 디지털 데이터를 분석합니다. 하드웨어 오라클은 물리적 세계에서 데이터를 제공하는 반면 소프트웨어 오라클은 웹사이트, 서버 또는 데이터베이스와 같은 디지털 소스에서 데이터를 제공합니다. 또한 카메라 모션 센서 및 RFID(Radio Frequency Identification) 센서의 정보는 하드웨어 오라클을 통해 전달 및 중계될 수 있습니다. 환율, 가격 변동 및 여행 정보와 같은 실시간 데이터는 소프트웨어 오라클을 통해 전달할 수 있습니다.

인바운드 및 아웃바운드 오라클

오라클은 블록체인과 양방향 통신 채널을 구축하여 데이터를 송수신합니다. 아웃바운드 오라클은 블록체인 데이터를 외부 세계에 전달할 수 있지만 인바운드 오라클은 오프체인 또는 실제 세계 데이터를 블록체인에 전달할 가능성이 더 큽니다. 또한 가져온 데이터는 자산 가격 변동에서 기상 조건, 완료된 지불 확인에 이르기까지 거의 모든 것을 나타낼 수 있습니다.

인바운드 오라클의 경우 프로그래밍 가능한 일반적인 시나리오는 다음과 같습니다. 자산이 특정 가격에 도달하면 구매 주문을 넣습니다. 반면에 아웃바운드 오라클은 온체인에서 발생한 이벤트를 외부 세계에 알립니다.

중앙 집중식 및 분산형 오라클

중앙 집중식 오라클은 단일 엔티티에 의해 관리되며 스마트 계약의 유일한 데이터 소스 역할을 합니다. 계약의 유효성이 오라클을 담당하는 주체에 전적으로 의존하기 때문에 정보 출처를 하나만 사용하는 것은 위험할 수 있습니다.

악당의 적대적인 개입도 스마트 계약에 직접적인 영향을 미칩니다. 중앙 집중식 오라클의 근본적인 문제는 단일 실패 지점이 있어 계약이 공격과 약점에 더 취약하다는 것입니다.

탈중앙화 오라클의 목표 중 일부는 상대방 위험 최소화와 같은 퍼블릭 블록체인의 목표와 유사합니다. 예를 들어, 단일 정보 소스에 의존하지 않음으로써 스마트 계약에 전달되는 정보를 보다 안정적으로 만듭니다.

스마트 계약은 데이터의 유효성과 정확성을 평가하기 위해 여러 오라클을 참조합니다. 이것이 탈중앙화 오라클이 합의 오라클이라고도 알려진 이유입니다. 다른 블록체인은 일부 블록체인 오라클 프로젝트에서 제공하는 탈중앙화된 오라클 서비스를 사용할 수 있습니다.

인간의 신탁

특정 분야의 전문 지식을 가진 개인이 때때로 신탁 역할을 할 수 있습니다. 그들은 다양한 출처에서 정보를 수집하고 합법성을 확인하고 스마트 계약으로 변환할 수 있습니다. 인간 신탁은 암호를 사용하여 신원을 확인할 수 있기 때문에 사기꾼이 신탁을 사칭하고 데이터를 변조할 가능성은 적습니다.

계약별 오라클

이 오라클은 단일 스마트 계약과 함께 작동하도록 만들어졌습니다. 개발자가 수많은 스마트 계약을 배포하려는 경우 다양한 계약별 오라클을 구축해야 합니다.

계약 관련 오라클은 최신 상태로 유지하는 데 드는 시간과 노력을 들일 가치가 없습니다. 대신 불편하고 특정 상황에서만 사용해야 합니다.

계산 오라클

지금까지 데이터 검색 및 제공 측면에서 오라클에 대해 이야기했습니다(데이터 캐리어 오라클 또는 자동화 오라클이라고도 함). 그러나 오라클은 임의의 "오프체인" 컴퓨팅 솔루션을 수행하는 데 사용할 수 있으며, 이는 Ethereum의 고유한 블록 가스 제약과 매우 높은 계산 비용을 고려할 때 특히 유용합니다.

계산 오라클은 쿼리 결과를 중계하는 것보다 입력 집합에 대해 계산을 수행하고 체인에서 계산할 수 없는 계산된 결과를 반환하는 데 사용할 수 있습니다. 예를 들어, 채권 계약의 수익률을 추정하기 위해 계산 오라클을 사용하여 계산적으로 복잡한 회귀 계산을 수행할 수 있습니다.

오라클 디자인 패턴

정의에 따르면 논의된 모든 오라클은 몇 가지 핵심 역할을 수행합니다. 이러한 기능에는 다음과 같은 기능이 포함됩니다.

  • 블록체인이 아닌 소스에서 데이터를 수집합니다.
  • 서명된 메시지를 사용하여 데이터를 온체인으로 보냅니다.
  • 스마트 계약의 저장소에 저장하여 데이터에 액세스할 수 있도록 합니다.

데이터가 스마트 계약의 저장소에 저장되면 다른 자동화된 계약이 오라클의 스마트 계약의 "검색" 기능을 호출하는 메시지 호출을 통해 데이터에 액세스할 수 있습니다. 또한 이더리움 노드 또는 오라클의 스토리지를 "조사"하여 네트워크 지원 클라이언트에서 직접 "호출"할 수도 있습니다.

오라클을 설정하는 세 가지 주요 방법은 다음과 같이 분류할 수 있습니다.

즉시 읽기

즉시 읽기 오라클은 "이 학생이 25세 이상입니까?"와 같은 빠른 결정에 필요한 정보를 제공합니다. 이러한 유형의 데이터를 쿼리하려는 사람들은 일반적으로 "적시" 기준으로 쿼리를 수행합니다. 즉, 정보가 필요할 때만 조회가 수행됩니다.

예를 들면 다이얼 코드, 학력 증명서, 기관 회원, 공항 신분증 및 기타 신탁이 있습니다.

게시-구독

변경될 가능성이 있는 데이터에 대한 브로드캐스트 서비스를 효과적으로 제공하는 오라클은(아마도 정기적으로 그리고 자주) 온체인 스마트 계약에 의해 폴링되거나 오프체인 데몬이 업데이트를 감시합니다. . 날씨 데이터, 가격 피드, 경제 또는 사회 통계 및 트래픽 데이터는 발행-구독 설정의 몇 가지 예일 뿐입니다.

요청-응답

가장 어려운 범주는 요청-응답입니다. 데이터 공간이 너무 커서 스마트 계약에 저장하기에는 사용자가 전체 정보의 작은 부분만 사용할 것으로 예상되는 경우입니다. 시각. 또한 데이터 제공업체를 위한 실행 가능한 비즈니스 전략이기도 합니다.

실제로 이와 같은 오라클은 요청을 모니터링하고 데이터를 검색 및 반환하기 위한 온체인 스마트 계약 및 오프체인 인프라 시스템으로 구현될 수 있습니다. 분산 응용 프로그램의 데이터 요청은 다음과 같은 여러 단계를 포함하는 비동기 절차인 경우가 많습니다.

DApp의 오라클 애플리케이션

오라클은 오프체인 세계와 시중의 많은 DApp이 사용하는 스마트 계약 사이의 격차를 메우기 위한 메커니즘입니다. 다음은 오라클이 제공할 수 있는 데이터의 일부 인스턴스입니다.

  • 시간 및 간격 데이터는 정확한 시간 측정을 기반으로 하는 이벤트 트리거에 사용됩니다.

  • 토큰화된 자산 및 증권의 가격 번들과 같은 자본 시장의 데이터.

  • 스마트 금융 파생상품에 포함된 이자율과 같은 벤치마크 참조 데이터입니다.

  • 예를 들어, 날씨 데이터는 일기 예보를 기반으로 보험료를 계산하는 데 사용됩니다.

  • 지리적 위치 데이터(예:공급망 추적에 사용되는 데이터)

  • 보험 계약의 경우 손상 확인이 필요합니다.

  • 스포츠 경기는 예측 시장 및 판타지 스포츠 계약을 해결하는 데 사용됩니다.

  • 항공권을 모으기 위해 그룹 및 클럽에서 사용하는 것과 같은 비행 통계

보안 문제에 주의

오라클은 외부 데이터를 방정식으로 가져와 스마트 계약 실행에서 중요한 역할을 합니다. 반면에 오라클은 신뢰할 수 있는 출처이고 해킹될 수 있는 경우 제공하는 스마트 계약의 실행을 위태롭게 할 수 있기 때문에 큰 위험을 초래합니다.

일반적으로 오라클의 고용을 고려할 때 신뢰 모델을 신중하게 고려해야 합니다. 오라클을 신뢰할 수 있다고 가정하면 스마트 계약을 잠재적으로 잘못된 입력에 노출시켜 스마트 계약의 보안을 희생할 수 있습니다. 그러나 보안 가정을 ​​신중하게 고려하면 오라클이 가치가 있을 수 있습니다.

이러한 문제 중 일부는 이더리움 스마트 계약에 신뢰할 수 없는 외부 데이터를 제공하는 분산된 오라클을 통해 해결할 수 있습니다. 이더리움과 현실 세계를 연결하는 오라클의 다리를 탐색하기 전에 신중하게 선택해야 합니다.


블록체인
  1. 블록체인
  2. 비트코인
  3. 이더 리움
  4. 디지털 화폐 교환
  5. 채광