블록체인을 오프체인 상의 데이터와 연결해 실제 세계의 입출력을 기반으로 스마트 컨트랙트를 실행할 수 있도록 하는 것입니다.
체인 링크에 있는 예시를 보면, 앨리스와 밥이 스포츠 경기의 결과에 내기를 한다고 가정해 봅시다. 앨리스는 A팀에 20달러, 밥은 B팀에 20달러를 걸었고, 총 40달러는 스마트 계약에 의해 에스크로에 보관되었습니다. 게임이 끝나면, 스마트 컨트랙트에 정확한 일치 결과를 오프체인에서 가져와 안전하고 신뢰할 수 있는 방식으로 블록체인에 전달하는 것을 오라클 매커니즘이라고 합니다.
블록체인은 오프체인 상의 데이터와 분리되어 있기 때문에 트랜잭션의 유효성에 대한 강력한 합의, 이중 지출 공격 방지 및 네트워크 다운타임 완화와 같은 가장 중요한 속성을 얻습니다
오라클은 이러한 이점을 얻으면서 오프체인의 데이터와 블록 체인과 연결할 수 있도록 해줍니다.
스마트 계약에 데이터를 전달하기 위해 중앙 집중화된 블록체인 오라클 메커니즘은 분산형 블록체인 애플리케이션을 무너뜨리고 장애가 발생할 수 있는 단일 실패 지점이 생깁니다. 단일 오라클이 오프라인 상태가 되면 스마트 계약은 실행에 필요한 데이터에 액세스할 수 없거나 오래된 데이터를 기반으로 부적절하게 실행됩니다.
더 나쁜 것은, 단일 오라클이 손상된 경우, 온 체인으로 전달되는 데이터가 매우 부정확하고 매우 잘못된 결과를 낼 수도 있다는 것입니다. 일반적으로 나쁜 입력이 나쁜 출력으로 이어지는 {garbage in, garbage out} 문제라고 합니다. 블록 체인 트랜잭션은 자동화되고 불변하기 때문에 잘못된 데이터로 인해서 영구적으로 손실을 볼 수 있습니다. 따라서 중앙 집중화된 오라클은 적절하지 않습니다.
이러한 문제들을 해결하기 위해서는 분산된 오라클이 필요합니다. Decentralized Oracle Network 또는 "DON"은 여러 독립 오라클 노드 운영자와 여러 신뢰할 수 있는 데이터를 결합하여 설정합니다.
Chainlink Price Feeds와 같은 많은 Chainlink DON은 데이터 소스, 개별 노드 운영자 및 오라클 네트워크 레벨에서 세 가지 분산화된 Layer를 사용하여 문제를 제거합니다. Chainlink Price Feeds는 이미 이러한 다층 분산 접근 방식을 통해 스마트 커드랙트가 실행되는 동안 데이터 입력에 안전하게 의존할 수 있도록 보장합니다.
블록체인 오라클은 다양한 형태와 크기로 제공됩니다.
오늘날 가장 널리 알려진 오라클 유형은 "input oracle"로 알려져 있으며, 이는 스마트 계약 소비를 위해 실제(오프체인)에서 데이터를 가져와 블록체인 네트워크로 전달합니다. 이러한 유형의 오라클은 Chainlink Price Feeds에 핵심이며, 금융 시장 데이터에 대한 체인 액세스가 가능한 DeFi 스마트 계약을 제공합니다.
"input oracle"의 반대는 "output oracle"로, 스마트 컨트랙트의 특정 작업을 실행하도록 트리거하는 오프체인 시스템에 명령을 전송할 수 있게 합니다. 여기에는 은행 네트워크에 결제를 요청하거나, 제공된 데이터를 저장하도록 스토리지 제공자에게 지시하거나, 일단 온체인 렌탈 결제가 이루어지면 차량 도어를 잠금 해제하도록 IoT 시스템에 핑을 보내는 것이 포함될 수 있습니다.
서로 다른 블록체인 간에 정보를 읽고 쓸 수 있는 교차 체인 오라클입니다. Cross-Chain Oracles은 한 블록체인의 데이터를 사용하여 다른 블록체인에 대한 작업을 트리거하거나 자산을 교차 체인으로 연결하여 발급된 네이티브 블록체인 외부에서 사용할 수 있도록 하는 등 블록체인 간 데이터와 자산을 모두 이동하기 위한 상호운용성을 가능하게 합니다.
스마트 컨트랙트 프로그램에서보다 널리 사용되는 오라클은 “compute-enabled oracle” 입니다. “compute-enabled oracle”은 secure off-chain computation을 사용하여 기술적, 법적 또는 재정적 제약으로 인해 온 체인을 수행하기에 비실용적인 분산 서비스를 제공합니다. 여기에는 미리 정의된 이벤트가 발생할 때 Chainlink Automation을 사용하여 스마트 계약 실행을 트리거하거나 데이터 개인 정보를 생성하기 위해 영지식 증명을 계산하거나 스마트 계약에 변조 방지 및 공정한 임의성 소스를 제공하기 위해 검증 가능한 임의성 함수를 실행하는 것이 포함될 수 있습니다.
광범위한 오라클 서비스는 오라클 서비스 공급자 중에서 평판이 중요하다는 것을 의미합니다.블록체인 오라클 시스템에서 평판은 사용자와 개발자에게 중요하다고 생각하는 매개 변수를 기반으로 오라클 간을 모니터링하고 필터링할 수 있는 기능을 제공합니다.
Oracle Reputation는 각 오라클 네트워크와 개별 오라클 노드 운영자의 정확성과 신뢰성에 대한 투명성을 제공합니다. 그런 다음 사용자는 스마트 계약을 서비스할 오라클에 대해 정보에 입각한 결정을 내릴 수 있습니다. 또한 Oracle 서비스 공급자는 오프체인 비즈니스 Reputation을 활용하여 사용자에게 신뢰성에 대한 추가적인 보장을 제공할 수 있습니다.
오라클을 다양한 곳에 적용하여 더 나은 기능을 제공할 수 있습니다.
분산형 금융(DeFi) 생태계의 많은 부분은 자산 및 시장에 대한 재무 데이터에 액세스하기 위해 오라클을 필요로 합니다.
Dynamic NFTs에서 외부 데이터의 변화에 따라 모양이나 가치가 변하게 할 수 있습니다.
게임에서는 예측 불가능한 게임플레이 경험을 만들기 위해 verifiable randomness를 사용할 수 있습니다.
Insurance smart contracts는 input oracles을 사용하여 청구 처리 중에 보험 이벤트의 발생을 확인하고 물리적 센서, 웹 API, 위성 이미지 및 법률 데이터를 사용할 수 있습니다. 아웃풋 오라클은 또한 보험 스마트 계약에 다른 블록체인이나 전통적인 결제 네트워크를 사용하여 청구에 대한 지불을 하는 방법을 제공할 수 있습니다.
크로스체인 오라클은 기업에 백엔드 시스템을 모든 블록체인 네트워크에 연결할 수 있는 안전한 블록체인 미들웨어를 제공합니다.
하이브리드 스마트 계약은 green initiatives의 진정한 영향에 대한 advanced verification techniques을 통해 green practices에 참여할 수 있는 더 나은 인센티브를 제공함으로써 환경 지속 가능성을 향상시키고 있습니다.
https://chain.link/education/blockchain-oracles#decentralized-oracles