✏️ 체인링크
체인링크는 DeFi, 보험, 게임, NFT 및 기타 주요 산업 전반에 걸쳐 수조 달러 규모의 거래를 가능하게 한 업계 표준 Web3 서비스 플랫폼입니다. 최고의 분산형 오라클 네트워크인 체인링크는 개발자가 모든 블록체인에서 실제 데이터 및 오프체인 계산에 대한 원활한 액세스를 통해 기능이 풍부한 Web3 애플리케이션을 구축할 수 있도록 지원합니다.
🤔 체인링크란?
블록체인은 여러 대의 컴퓨터가 동일한 소프트웨어를 실행하고 동일한 트랜잭션을 처리하며 동일한 데이터를 저장하고 일관성을 유지함으로써 네트워크로서의 합의를 이루는 기술입니다. 스마트 계약은 이러한 블록체인에서 실행되는 프로그램으로, 단순히 장부에 돈의 이동을 기록하는 것을 넘어 더 복잡한 논리를 처리할 수 있습니다.
그러나 스마트 계약은 온체인 프로그래밍 언어로 작성되어 오프체인 데이터에 직접 액세스할 수 없습니다. 실제 계약을 디지털화하고 자동화하기 위해 필요한 많은 데이터는 블록체인에 직접 저장되지 않기 때문에 외부 데이터를 스마트 계약에서 활용할 수 없습니다. 예를 들어, 비행 보험 계약을 개발하기 위해서는 비행 데이터가 필요합니다. 그러나 이러한 데이터는 블록체인에 저장되지 않으므로 스마트 계약에서 직접 사용할 수 없습니다.
이를 해결하기 위해 스마트 계약은 오라클이라는 소프트웨어 구성 요소를 활용하여 외부 데이터를 블록체인으로 가져옵니다. 오라클은 외부 API, 데이터 공급자, 웹 서비스 등을 통해 데이터를 가져와 블록체인에 입력하는 역할을 수행합니다. 이렇게 입력된 데이터는 스마트 계약의 실행에 활용됩니다. 하지만, 오라클은 중앙 집중식 엔티티로써 동작하므로 데이터의 신뢰성과 무결성에 대한 우려가 있을 수 있습니다. 중앙 집중식 오라클은 데이터 입력을 제어하고 스마트 계약의 결과를 조작할 수 있으며, 이는 스마트 계약 전체에 심각한 위험을 초래할 수 있습니다.
이러한 문제를 해결하기 위해 Chainlink와 같은 플랫폼은 탈중앙화된 오라클 네트워크를 구축하여 오라클의 신뢰성과 보안을 강화합니다. 이를 통해 외부 데이터를 스마트 계약으로 안전하게 가져올 수 있고, 분산된 오라클 네트워크의 신뢰성을 통해 중앙 집중식 오라클의 위험을 완화할 수 있습니다.
📌 중앙 집중식 엔티티
중앙 집중식 엔티티는 한 개체나 조직이 데이터나 서비스의 제어와 관리를 중앙에서 독점적으로 수행하는 것을 의미합니다. 이는 데이터나 기능에 대한 결정권이 중앙에 집중되어 있고, 중아 기관이 데이터를 조작하거나 서비스를 제어할 수 있는 구조를 말합니다.
❗️체인링크 분산형 오라클 네트워크
체인링크는 분산형 오라클 네트워크로서, 스마트 컨트랙트와 블록체인 간의 안전하고 신뢰할 수 있는 데이터 전송을 자동화하기 위해 개발되었습니다. 이를 통해 스마트 컨트랙트는 외부 시스템이나 데이터에 접근하여 실행 조건을 충족하고 결과를 트리거하는 데 필요한 실시간 데이터를 얻을 수 있습니다.
체인링크는 여러 소스에서 데이터를 검색하고 집계하는 기능을 제공합니다. 독립적인 오라클 노드와 데이터 소스를 활용하여 신뢰성과 보안성을 보장하며, 검증된 단일 데이터 포인트를 스마트 계약에 제공합니다. 이를 통해 중앙 집중식 장애 지점을 제거하고 외부 데이터의 신뢰성을 확보할 수 있습니다.
예를 들어, 체인링크는 이더리움 블록체인 상에서 ETH/USD 가격을 제공하는 ETH/USD Price Feed를 제공합니다. 이를 통해 수많은 독립 오라클 노드와 데이터 소스가 협력하여 가격 데이터를 제공하고 검증합니다. 이 가격 데이터는 블록체인에 저장되어 스마트 컨트랙트에서 활용될 수 있습니다.
따라서, 스마트 컨트랙트를 사용하는 사람들은 예를 들어, 대출을 받거나 향후 ETH 가격에 대한 예측을 수행할 때, ETH/USD 가격 오라클을 통해 실시간으로 ETH의 현재 가격을 얻을 수 있습니다. 이를 통해 외부 데이터를 신뢰할 수 있게 스마트 계약에 입력하고 실행 조건을 충족시킬 수 있습니다.
🔐 체인링크 보안 기능
체인링크는 사용자에게 신뢰성과 보안성을 제공하기 위해 분산 네트워크를 넘어 다양한 보안 계층을 제공합니다.
🔵 일반화된 아키텍처
체인링크는 유연한 프레임워크로서 사용자는 다른 오라클 네트워크에 의존하지 않고 맞춤형 오라클 네트워크를 구축하거나 연결할 수 있습니다. 이는 사용자에게 오라클 네트워크를 구성할 수 있는 자유도와 유연성을 제공합니다.
🔵 데이터 서명
체인링크 오라클은 데이터 입력에 고유한 암호화 서명을 사용하여 체인에 서명합니다. 이를 통해 사용자는 입력된 데이터가 특정 오라클 노드에서 가져온 것임을 검증할 수 있습니다. 데이터의 무결성과 신원을 보장하는 역할을 수행합니다.
🔵 고품질 데이터
체인링크는 다양한 데이터 소스를 포함하여 프리미엄 데이터 공급자로부터 데이터를 제공합니다. 이를 통해 스마트 계약은 외부 시스템의 데이터와 상호작용할 수 있으며, 기존 결제 시스템 등 다른 시스템에 명령을 전송할 수 있도록 합니다.
🔵 다중 블록체인 호환성
체인링크는 다른 블록체인에 의존하지 않고 다양한 블록체인에서 실행될 수 있습니다. 이는 퍼블릭 블록체인, 엔터프라이즈 블록체인 등을 지원할 수 있다는 것을 의미합니다.
🔵 서비스 레벨 계약
체인링크를 사용하면 사용자는 온체인 스마트 컨트랙트에서 요청하는 오라클 작업의 조건을 정의할 수 있습니다. 이를 통해 오라클 노드는 사전 합의된 조건에 따라 수행되어야 하며, 이를 위해 보안 보증금을 예치해야 할 수 있습니다.
🔵 평판 시스템
체인링크는 과거 성능을 공개적으로 제공하여 사용자가 오라클을 선택할 때 평균 응답 시간, 완료 비율, 평균 보안 보증금 등과 같은 성능 메트릭을 기반으로 판단할 수 있습니다.
🔵 옵션 기능
체인링크는 추가적인 보안 접근 방식을 개발하고 있습니다. 예를 들어, 오라클 및 데이터의 개인 정보 보호, 고급 오라클 계산 등의 기능을 제공합니다.
🤝 체인링크 스마트 컨트랙트 유형
🔵 요청 컨트랙트 ( Request Contract )
스마트 컨트랙트에서 체인링크에게 오프체인 데이터를 요청하는 컨트랙트입니다. 이벤트로 등록되어 체인링크 프로토콜에 의해 처리됩니다.
🔵 Service Level Agreement(SLA) 컨트랙트
SLA 컨트랙트는 체인링크에서 제공하는 하위 컨트랙트 중 하나입니다. SLA 컨트랙트는 요청 컨트랙트를 처리하기 위해 체인링크 네트워크에서 생성됩니다.
🔵 평판 컨트랙트 ( Reputation Contract )
체인링크는 오라클 공급자의 신뢰성과 성능을 평가하기 위해 평판 컨트랙트를 사용합니다. 오라클 노드의 평판 레코드를 확인하여 평판을 평가하고, 신뢰할 수 없는 노드를 폐기합니다.
💡 평판 레코드
오라클의 평판 레코드는 오라클 공급자의 이전 활동과 성능 기록을 기반으로 평판을 평가하는 데 사용됩니다.
🔵 주문 일치 컨트랙트 ( Order-Matching Contract )
요청 컨트랙트가 특정 노드 집합을 선택하지 않은 경우, 주문 일치 컨트랙트는 요청을 Chainlink 노드에 전달하고 요청에 대한 입찰을 수행합니다.
🔵 집계 컨트랙트 ( Aggregate Contract )
집계 컨트랙트는 선택된 오라클에서 모든 데이터를 가져와 검증하고 조정합니다. 결과적으로 정확한 결과를 제공하고 싱글 출처와 다중 출처 소스의 데이터를 조정할 수 있습니다.
❓ 체인링크의 오프체인 데이터 전달 프로세스
1️⃣ 요청 컨트랙트 생성
스마트 컨트랙트가 오프체인 데이터를 필요로 할 때, 체인링크 프로토콜을 통해 요청 컨트랙트를 생성합니다. 요청 컨트랙트는 체인링크 네트워크에 등록됩니다.
2️⃣ SLA 컨트랙트 생성
체인링크 네트워크에서는 해당 요청을 처리하기 위해 SLA 컨트랙트를 생성합니다. 이 컨트랙트는 평판 컨트랙트, 주문 일치 컨트랙트 및 집계 컨트랙트의 세 가지 컨트랙트로 구성됩니다.
3️⃣ 평판 컨트랙트 평가
평판 컨트랙트는 오라클 공급자의 신뢰성과 성능을 평가하기 위해 사용됩니다. 체인링크는 오라클 노드의 평판 레코드를 확인하여 신뢰할 수 있는 노드를 선별하고 평판이 좋지 않거나 신뢰할 수 없는 노드를 폐기합니다.
4️⃣ 주문 일치 컨트랙트 수행
요청 컨트랙트가 특정 노드 집합을 선택하지 않은 경우, 주문 일치 컨트랙트는 요청을 체인링크 노드에 전달하고 요청에 대한 입찰을 수행합니다.
5️⃣ 집계 컨트랙트 실행
집계 컨트랙트는 선택된 오라클에서 데이터를 가져와 검증하고 조정합니다. 이를 통해 정확한 결과를 도출합니다.
6️⃣ 데이터 변환 및 검증
체인링크 노드는 요청 컨트랙트의 데이터 요청을 받아들이고 체인링크 Core 소프트웨어를 사용하여 오프체인 프로그래밍 언어에서 블록체인 프로그래밍 언어로 데이터 요청을 변환합니다. 이 때 오프체인 데이터 소스로부터 데이터를 수집합니다.
7️⃣ 데이터 검증 및 조정
집계 컨트랙트는 가져온 데이터의 검증과 조정을 수행합니다. 이를 통해 싱글 출처와 다중 출처 소스의 데이터를 조합하고 정확성을 검증합니다.
8️⃣ 결과 반환
데이터의 검증과 조정이 완료되면 집계 컨트랙트는 최종 결과를 반환합니다. 스마트 컨트랙트는 이 결과를 활용하여 필요한 작업을 수행하고 블록체인 상에 결과를 기록합니다.
👉 체인링크 직접 개발하며 테스트하기
https://github.com/ash991213/chainlink-test
'BlockChain > Oracles' 카테고리의 다른 글
오라클 네트워크 (0) | 2023.11.01 |
---|---|
하이브리드 스마트 컨트랙트 (2) | 2023.10.31 |
댓글