체인의정석

Chain link 서비스 분석 - 기본 아키텍쳐 본문

블록체인/퍼블릭 블록체인

Chain link 서비스 분석 - 기본 아키텍쳐

체인의정석 2022. 9. 13. 17:01
728x90
반응형

체인링크의 기본 아키텍쳐에 대해서 알아보았다.

 

https://docs.chain.link/docs/architecture-overview/

 

Data Feeds Architecture | Chainlink Documentation

 

docs.chain.link

크게 3가지로 나누는 거같다.

 

1. 기본 요청 모델 - 1대 1로 요청에 대해 응답하는 것으로 아래 사이트에서 확인 가능

등록해두면 Id를 받아서 

https://docs.chain.link/docs/any-api/get-request/introduction/

 

Make a GET Request | Chainlink Documentation

Learn how to make a GET request to an API from a smart contract, using Chainlink.

docs.chain.link

2. 탈중앙화된 데이터 모델  - 다양한 오라클로 부터 데이터를 받아오는 모델

https://docs.chain.link/docs/architecture-decentralized-model/

 

Decentralized Data Model | Chainlink Documentation

This page describes the decentralized architecture which enables Chainlink to aggregate data from multiple independent node operators.

docs.chain.link

보면 보상을 받고 데이터를 제공해 주는 여러개의 오라클들의 값들이 모여서 하나의 통일된 가격을 보여줌을 알 수 있다.

 

그럼 소비자의 입장에서는 

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";

contract PriceConsumerV3 {

    AggregatorV3Interface internal priceFeed;

    /**
     * Network: Goerli
     * Aggregator: ETH/USD
     * Address:  0xD4a33860578De61DBAbDc8BFdb98FD742fA7028e
     */
    constructor() {
        priceFeed = AggregatorV3Interface( 0xD4a33860578De61DBAbDc8BFdb98FD742fA7028e);
    }

    /**
     * Returns the latest price
     */
    function getLatestPrice() public view returns (int) {
        (
            /*uint80 roundID*/,
            int price,
            /*uint startedAt*/,
            /*uint timeStamp*/,
            /*uint80 answeredInRound*/
        ) = priceFeed.latestRoundData();
        return price;
    }
}

요런식으로 컨트렉트에 접근해서 값을 리턴 받을 수 있다. 이건 기본 튜토리얼 코드에도 나와 있는 코드이다.

https://docs.chain.link/docs/consuming-data-feeds/

 

Consuming Data Feeds | Chainlink Documentation

Learn how to consume Chainlink Data Feeds in your smart contracts.

docs.chain.link

 

3. off -chain 보고 : OCR이라고도 부르며 체인링크의 확장성을 위하여서 노드간의 P2P 네트워크로 통신 진행. 따로 합의 알고리즘도 돌림. 여러 노드들이 합의알고리즘을 돌려서 도출된 하나의 트랜잭션을 실행시키는 것. 

https://docs.chain.link/docs/off-chain-reporting/

 

Off-Chain Reporting | Chainlink Documentation

 

docs.chain.link

그냥 요약하자면 오프체인에서 P2P 통신을 합의알고리즘을 가지고 돌려서 가스비를 아끼고 연산량을 줄이는 레이어 2 같은 기술

=> 검증 과정을 오프체인에서 진행하고 온체인에는 하나의 노드가 트랜잭션을 실행시켜서 업데이트 시킴

 

영상은 아래 링크에서 확인 가능하다.

https://www.youtube.com/playlist?list=PLVP9aGDn-X0Q3qBME3T9sBMw66xPsglMA 

 

Two-Minute Explainers

Learn more about Chainlink and the blockchain industry in general by viewing these two-minute explainer videos that simplify complex concepts into easy-to-un...

www.youtube.com

 

728x90
반응형
Comments