Ethereum 스마트 계약을 사용하여 자신의 Oracle을 구축하는 방법은 무엇입니까? PlatoBlockchain 데이터 인텔리전스. 수직 검색. 일체 포함.

Ethereum 스마트 계약을 사용하여 자신의 Oracle을 구축하는 방법은 무엇입니까?

읽기 시간: 5

이더리움은 dapp 생성, 블록체인에서 암호화 자산 거래 등의 특성을 계승한 최초의 블록체인입니다.

스마트 계약을 작성하고 이더리움 가상 머신에 구현하여 활동 수행에 분산화를 주입하는 프로그래밍 언어가 있습니다. 

스마트 계약은 미리 정의된 코드 라인을 실행하고 의도한 작업을 수행합니다. 그러나 실시간으로 발생한 결과를 기반으로 스마트 계약이 작동하도록 하려면 어떻게 해야 할까요?

이를 달성하려면 스마트 계약이 현실 세계에서 입력을 받을 수 있는 블록체인 오라클의 개념을 이해해야 합니다. 

암호화에서 오라클이란 무엇이며 이더리움 스마트 계약에서 오라클을 생성하는 방법은 무엇입니까? 이에 대해서는 다음 절에서 자세히 논의할 것이다. 

블로그의 주요 주제

  • 암호화 오라클이란 무엇이며 오라클은 어떻게 작동합니까?
  • 다양한 유형의 오라클
  • 오라클에서 이더리움 스마트 계약으로의 데이터 흐름
  • Ethereum 오라클을 코딩하는 방법
  • 암호화 오라클 문제

오라클이란 무엇이며 왜 필요한가요?

Oracles 블록체인과 외부 시스템을 연결하는 다리 역할을 하는 엔티티입니다. 즉, 오라클은 오프체인 이벤트 데이터를 스마트 계약에 제공하여 입력을 기반으로 작업을 수행합니다.

예를 들어, 베팅 이벤트에서 사용자는 경기에서 이길 것이라고 생각하는 플레이어에게 베팅할 수 있습니다. 실시간 이벤트를 기반으로 승자에게 베팅한 사용자에게 보상이 분배됩니다. 

블록체인 오라클은 승자에 대한 데이터를 스마트 계약에 보완하는 데 도움이 됩니다. 오라클의 데이터 흐름은 양방향이며 날씨 보고서에서 주식 시장 상태, 스마트 계약에 이르기까지 모든 실시간 데이터를 변환하는 데 사용할 수 있습니다. 

이더리움 블록체인의 모든 노드는 트랜잭션에 대한 정보를 가지고 있으며, 이는 균일해야 합니다. 따라서 API에서 데이터를 가져오면 불일치가 발생할 수 있습니다. 대조적으로, 오라클은 모든 노드에서 불변하게 동일하게 나타나는 블록체인에 데이터를 로드합니다.

블록 체인 오라클
블록 체인 오라클

Oracle에서 데이터에 액세스하는 방법은 무엇입니까?

스마트 계약은 요청 및 응답 주기를 사용하여 Oracle 노드에서 정보를 얻습니다. HTTP GET으로 구현된 오라클은 스마트 컨트랙트로부터 요청을 받을 것이고, 콜백 함수는 오라클로부터 요청된 데이터를 검색할 수 있습니다. 

이러한 방식으로 데이터는 오라클에서 스마트 계약에 의해 수집됩니다. 각 오라클은 특정 정보를 제공하도록 구성되어 있으며 원하는 데이터를 얻기 위해 타사 서비스를 찾을 수 있습니다. 

다음은 오라클 서비스 중 일부입니다.

  • 체인 링크
  • 제공 가능
  • Witnet
  • 파라링크 등이 있습니다.

오라클의 분류

Oracle은 데이터를 가져오고, 검증하고, 전송하는 방식에 따라 다양한 유형으로 분류됩니다. 

입력 오라클: 실시간 사건에서 데이터를 오프체인으로 가져오는 가장 널리 알려진 유형입니다. 예를 들어 주식에 대한 가격 피드는 금융 시장 상황에 따라 스마트 계약에 대한 조치를 트리거하기 위해 오프체인에서 얻습니다.

출력 오라클: 스마트 계약이 오라클을 유발하여 작업을 실행하는 입력 오라클의 반대입니다. 예를 들어 데이터를 저장하기 위해 스토리지 제공자에게 신호를 보내거나 지불을 위해 은행 네트워크를 시작하십시오.

크로스체인 오라클: 크로스체인 오라클은 서로 다른 블록체인에서 데이터를 읽고 쓰는 것을 모두 용이하게 합니다. 또한 한 블록체인에서 이벤트를 트리거하고 다른 블록체인에서 작동하도록 할 수 있습니다. 

컴퓨팅 지원 오라클: 컴퓨팅 지원 오라클은 오프체인 컴퓨팅을 사용하여 서비스를 제공합니다. 특히 기술적 또는 재정적 제약으로 인해 온체인이 신뢰할 수 없는 경우 이러한 유형의 오라클이 사용됩니다.

Oracle에서 데이터 가져오기

1단계: 스마트 계약은 오라클에 쿼리를 보냅니다.

2단계: 쿼리가 데이터 소스에서 데이터를 찾는 데이터 캐리어로 전달됩니다.

3단계: 데이터가 소스에서 파생되어 오라클에 제공됩니다.

4단계: Oracle은 요청에 따라 스마트 계약에 응답을 보냅니다. 

Ethereum 스마트 계약에서 Oracle 만들기 – 코드 구조

Provable이라는 오라클 서비스를 사용하여 USD로 비트코인의 현재 가격을 결정할 때 오라클이 어떻게 작동하는지 알아보겠습니다. 

pragma solidity >= 0.5.0 < 0.6.0; //Declaring the Solidity version import "github.com/provable-things/ethereum-api/provableAPI.sol"; //Importing latest version of provable API contract BitcoinPrice is usingProvable { //Contract named BitcoinPrice, UsingProvable refers to the API uint public bitcoinPriceUSD; //bitcoinPriceUSD is the variable created to store the price, Provable query event that makes a constructor event LogNewBitcoinPrice(string price); event LogNewProvableQuery(string description); constructor() public { update(); } // callback function to call the smart contract after the output is received and transfers the result from callback function to the variable assigned function __callback( bytes32 _myid, string memory _result ) public { require(msg.sender == provable_cbAddress()); emit LogNewBitcoinPrice(_result); BitcoinPriceUSD = parseInt(_result, 2); // Let's save it as cents... } //passing output string and API string to fetch bitcoin price to our constructor function update() public payable { emit LogNewProvableQuery("Provable query was sent, standing by for the answer..."); provable_query("URL", "xml("https://min-api.cryptocompare.com/data/generateAvg?fsym=BTC&tsym=USD&e=Kraken" ); } } 

오라클 문제

오라클 문제는 근본적으로 제XNUMX자 데이터의 보안 및 신뢰성을 고려할 때 무신뢰 스마트 계약과 신뢰할 수 있는 제XNUMX자 오라클 간의 충돌입니다.

스마트 계약은 실행에 관한 결정을 내리기 위해 오라클에 의존하여 기능에 대한 엄청난 권한을 부여합니다. 사실, 스마트 계약의 분산된 특성에 의문이 제기됩니다. 

그러나 ChainLink 및 Oraclize와 같은 오라클 서비스는 새롭고 인증된 방법을 기반으로 데이터를 도출하는 분산 솔루션으로 작동합니다. 따라서 얻은 데이터는 분산된 수단을 통해 이루어집니다.  

결론

블록체인과 현실 세계의 연결성은 탈중앙화 세계로의 도약을 위해 충분히 중요합니다. 오라클은 실시간 데이터가 포함된 스마트 계약의 안정적인 인터페이스를 위한 솔루션을 제공하고 있습니다. 

그러나 지속 가능성을 가져오기 위해 오프체인에서 얻은 데이터의 보안과 정확성을 강화하기 위해 오라클 서비스가 발전했습니다. 

더 관련성을 유지하려면 Web3 보안?

팔로우  Web3에 대한 많은 최신 글을 위해.

23 조회수

포스트 Ethereum 스마트 계약을 사용하여 자신의 Oracle을 구축하는 방법은 무엇입니까? 첫 번째 등장 블로그.quillhash.

타임 스탬프 :

더보기 퀼해시