DON(Decentralized Oracle Networks) 는 체인링크 노드가 참가자가 되는 네트워크이다.
DON은 추상화 계층으로 작동하여 스마트 계약을 위한 인터페이스를 광범위한 off-chain 자원과 DON 자체 내에서 효율적이지만 분산된 오프체인 컴퓨팅 리소스에 제공한다.
Chainlink 는 아래 7가지 영역으로 발전 계획을 가지고 있다.
1) Hybrid smart contracts(하이브리트 스마트 컨트랙트)
2) Abstracting away complexity(복잡성 제거)
3) Scaling(크기)
4) Confidentiality(기밀성)
5) Order-fairness for transactions (거래의 순서 공평성)
6) Trust-minimization(신뢰 최소화)
7) Incentive-based(인센티브 베이스)
*온체인(Onchain), 오프체인(Offchain)
- 온체인 : 체인 위에 발생하는 트랜잭션, 체인은 메인 혹은 단일 블록체인 네트워크를 의미
ex) 비트코인 등의 자체 네트워크를 구성하고 있는 블록체인 내에서 발생하여 블록에 기록되는 트랜잭션
- 오프체인 : 메인 블록체인이 아닌 곳에서 발생하는 트랜잭션
ex) 이더리움 네트워크 입장에서는 비트코인 네트워크에서 주고받는 트랜잭션은 오프체인 트랜잭션
proof of reserves (보유고 증명) : 비트코인을 실제로 보유하고 있다는 증명, 고객의 신뢰를 확보하기 위함
chainlink : 보편적으로 연결된 스마트컨트랙트를 위해 가장 널리 사용되는 오라클 네트워크로 모든 블록체인이 데이터 및 API에 액세스할 수 있게 해주는 업계 표준 오라클 네트워크
Decentralized Services Enabled by Decentralized Oracle Networks
DON의 다양성과 새로운 호스트 서비스를 활성화하는 방식을 설명하기 위해 5가지 DON 기반 응용프로그램의 예를 제시하고 이를 실현하는 하이브리드 계약을 설명
1) Proof of Reserves
: cross-chain 서비스
*여기서 BTC는 비트코인이고 WBTC는 Wrapping BTC 이다.
블록체인과 연결하여 유용한 많은 어플리케이션이 있다. 유명한 서비스로 cryptocurrency wrapping이 있다. (wrapping 토큰은 다른 암화화폐의 가치에 페깅되어 있는 암호화폐 토큰, 다른 블록체인상에서 랩드 버전의 토큰을 만들 수 있게 해주는 일종의 디지털 금고인 래퍼(wrapper)에 기존 자산을 넣기 때문에 랩드 토큰이라고 함, 핵심은 랩드 토큰을 통해 서로 다른 블록체인 간의 더 많은 연결이 가능할 수 있음)
WBTC 같은 랩드 코인에는 DeFi에서 중요한 가치가 되어 가고 있다. 소스 블록체인(1)에 wrapping 된 백업 자산을 예치하고 다른 블록체인(2)에 해당 토큰을 생성할 수 있다. 예를 들면 WBTC는 비트코인의 BTC에 해당하는 이더리움의 ERC토큰이다.
블록체인(2)의 계약은 블록체인(1)에 대한 직접적인 무언가를 할 수 없기 때문에 명시적(explicitly) 또는 묵시적(implicitly)으로 오라클에 의족하여 스마트 계약에서 래핑된 자산의 예금에 대해 보고해야하고 때때로는 Proof of Reserves를 생성하기도 한다. 예를 들어 WBTC에서 관리인(custodian) BitGo 는 BTC 보유하고 WBTC를 발행하며 Chainlink 네트워크 Proof of Reserves을 제공한다.
DON은 자체적으로 Proof of Reserves 제공한다. DON은 추가적으로 비밀을 관리할 수 있고 적절한 어댑터를 사용하여 원하는 블록체인에서 거래한다. 결과적으로 DON은 래핑된 자산에 대해 다수의 관리인 중 하나 또는 단독의 분산 관리인 역할을 한다. 따라서 Proof of Reserves을 사용하는 기존 서비스의 보안을 강화하는 플랫폼 역할 수행한다.
예를 들어 블록체인(1)을 비트코인과 블록체인(2)은 이더리움라고 가정하자 .
블록체인(2)에서는 SC가 BTC를 나타내는 토큰을 발행한다.
*여기서 SC는 스마트 컨트랜트를 의미한다. 비트코인 SC는 스마트 계약 기능을 구현하기 위한 분산 컴퓨팅 플랫폼이자 운영체제이다. 아이디어는 하드포크 방식으로 비트코인 위에 스마트 계약을 추가하는 것이다.
DON은 BTC 주소를 컨트롤한다. 이를 addr(DON)(1) 이라고 하자. BTC를 wrap하기 위해서 사용자 1은 X BTC를 사용자의 주소로 부터 addr(DON)(1)로 보낸다. 이때 사용자1의 블록체인 2인 이더리움에서의 주소도 함께 보낸다. DON은 블록체인(1)인 비트코인에서의 어댑터를 통해 addr(DON)(1)를 모니터링한다. 사용자의 예치금을 관찰한다. (이때 높은 확률로 확인이 가능하다). 메세지를 스마트 컨트랙트에 보낸다 블랙체인(2)인 이더리움에 어댑터를 통해서. 이 메세지는 스마트컨트랙트에서 사용자 주소(addr(2))에 대한 토큰을 발행하도록 지시한다. 이 토큰을 X 토큰이라고 하자.
사용자에게 X토큰을 해제하려면 반대로 동작한다. 그러나 비트코인에서 addr(DON)(1)은 X BTC를 사용자1의 주소로 보낸다. 이런 프로토콜은 사용자와 직접 연결하는 것이 아니라 거래소와 함께 작동하도록 조정이 가능하다.
2) Interfacing with Enterprise / Legacy Systems
: 블록체인 애플리케이션 개발을 용이하게 하는 미들웨어 기반 추상화 계층 생성
DON은 블록체인 간에 다리 역할 (Proof of Reserves 예시에서) 수행
또 다른 목표는 Legacy 시스템과 블록체인 사이/ 중앙은행 디지털 커런시와 같은 곳에서 양방향 다리 역할
기업은 기존 시스템 및 프로세스를 분산형 시스템에 연결하는데 다음과 같은 문제점 발생
Block Agility(블록체인 민첩성)
블록체인에서의 빠른 변화
기업은 상대방이 거래를 수행하기를 원하지만 기존 인프라에 대한 지원이 없는 블록체인의 급속한 변화, 새로운 블록체인의 출현 등이 있을 때 이 역동성에 의하여 개별 기업이 블록체인 생태계 전체를 따라 잡기는 힘듦
Blockchain-specific development (블록체인 관련 개발 리소스)
많은 조직의 경우 , 특히 블록체인의 민첩성을 고려할 때 최첨단 블록체인 전문 지식을 고용하거나 육성하기가 어려움
Private-key management (개인 키 관리)
블록체인/ 암호화폐에 대한 개인 키를 관리할려면 기존 사이버 보안 관행과 구별되는 운영 전문 지식이 필요하며 많은 기업에서 사용 불가
Confidentiality(기밀성)
기업은 민감한 독점 데이터가 체인에 노출되는 것을 원하지 않음
-> 기밀성을 제외한 문제들을 해결하기 위해 개발자는 DON을 보안 미들웨어 계층으로 사용하여 기업 시스템이 블록체인에서 읽거나 쓸 수 있도록 할 수 있음, DON은 개발자와 사용자 모두를 위한 동적 가스, 체인 재구성 등과 같은 세부적인 기술적 고려 사항을 제시할 수 있음
최소한의 블록체인 인터페이스를 기업 시스템에 제공함으로써 DON은 블록체인 인식 기업 애플리케이션(blockchain-aware enterprise)의 개발을 상당히 단순화하여 블록체인 별 개발 리소스를 획득하거나 인큐베이팅(incubating)하는 기업의 부담을 제거할 수 있음.이러한 DON의 사용은 개발자가 대체로 블록체인에 통제를 받지않는 스마트 컨트렉트 애플리케이션을 만들 수 있어 좋음.
결과적으로 DON이 미들웨어로 작동하도록 구성된 블록체인 셋이 클수록 기업 사용자가 쉽게 접근할 수 있는 블록체인 셋이 커짐. 개발자는 내부적으로 개발된 애플리케이션을 최소한으로 수정하여 기존 블록체인에서 새로운 블록체인으로 애플리케이션을 이식할 수 있음
-> 기밀성 문제를 해결하기 위해서는 기밀 유지와 관련된 API 수정과 애플리케이션 별 접근 방식 제작이 있음 . 이러한 DON 시스템은 기업의 비밀 정보를 체인에 공개하지 않고도 기업 시스템 상태에 대한 높은 무결성은 온체인 증명을 제공할 수 있음
3) Decentralized Identity
: 사용자가 자신의 ID 문서 및 자격 증명을 얻고 관리할 수 있는 도구
Decentralized Identity란 탈중앙화된 신원은 사용자가 제 3자에게 의존하지 않고 자신의 자격 증명을 회득하고 관리할 수 있어야 한다는 개념이다. 탈중앙화된 자격 증명은 클레임(Claim)이라고 하는 소유자의 속성, 주장에 대한 증명이다. 소유권 주장을 사용자와 신뢰할 수 있는 방식으로 연결할 수 있는 발급자, 대부분의 제안된 체계에서 클레임은 주어진 사용자에 대한 범용 식별자인 분산 식별자(DID)와 연결된다. 자격 증명은 사용자가 보유한 개인키가 있는 공개 키에 바인딩된다. 따라서 사용자는 개인 키를 사용해 소유권 주장을 증명할 수 있다. 예를 들어 기본 체계는 decentralized identity로서 세가지 제한이 있다.
*여기서 legacy 는 낡은 기술이나 방법론, 컴퓨터 시스템, 소프트웨어 등을 말한다. 더 이상 쓰이지 않더라도 현대의 기술에 영향을 주는 경우도 포함한다.
- Lack of legacy compatibility : 존재하는 탈중앙화 증명 시스템은 ,DID를 생성하는 issuers 라고 불리는 인증 커뮤니티에 의존한다. 왜냐하면 웹 서비스는 일반적으로 서명데이터(sign data)가 없고 issuer는 반드시 특수 목적 시스템으로 실행해야한다.(special-purpose systems) decentralized-identity 생태계 없이는 이를 수행할 요소가 없기 때문에 닭과 계란 문제가 발생한다. 즉 issuer , 발급 기관 생태계를 만드는 방법이 명확하지 않다.
- 효율적이지 않은 키 관리 : Decentralized identity 시스템은 유저가 개인키를 관리해야한다. 부담스러운 일이다. 키 관리를 잘 못하여 많은 양의 비트코인을 잃은 사례도 존재한다. 그리고 많은 사용자가 자신의 암호 자산(crypto assets)을 거래소에 저장하여 분산화를 훼손시킨다.
- Lack of privacy-preserving Sybil resistance : 투표, 토큰 판매 중 토큰의 공정한 할당 등과 같은 애플리케이션의 기본 보안 요구 사항은 사용자가 여러 ID를 주장할 수 없다는 것이다. 기존의 Decentralized identity는 사용자가 이러한 Sybil 저항을 달성하기 위해 실제 신용을 공개하도록 요구하여 중요한 개인 정보보호를 약화시켰다.
->CanDID(committee of nodes) : 분산 계산 수행 ex) DECO, Town Crier 같은 도구를 통해 이를 해결할 수 있음
DECO또는 Town Crier 는 설계상 수정없이 기존 웹 서비스를 issuer로 전환할 수 있음. 이를 통해 DON은 이러한 목적을 위해 데이터를 증명으로 내보내면서 자격 증명에 나타나지 않아야 하는 민감한 내용을 숨길 수 있음
또한 키관리 문제를 해결하기 위해 사용자의 키 복구를 용이하게 하여 DON을 사용하면 사용자가 비밀공유형식(secret-shared form)을 사용할 수 있게 한다. 사용자는 DON의 노드에 DECO또는 Town Crier을 사용하여 미리 정해진 웹 제공 업체(트위터, 구글, 페이스북) 의 계정에 로그인해서 키를 복구할 수 있다.
OAUTH 와 달리 DECO또는 Town Crier을 사용하는 장점은 사용자 개인 정보이다. 이 두 가지 도구를 이용하면 실제 ID가 파생될 수 있는 웹 공급자 식별자를 DON에 공개하는 것을 방지할 수 있다. 마지막으로 Sybil 저항을 제공하기 위해 DON이 사용자에 대한 고유한 실제 식별자(예 : 사회 보장 번호 SSN) 를 on-chain 식별자로 개인정보보호 변환을 수행할 수 있다. 이를 통해 개별 데이터가 노출되지 않고 중복 등록 방지가 가능하다.
DON은 permissionless/permissioned 블록체인에서 외부 분산형 ID 시스템을 대신해 이러한 서비스를 제공할 수 있다.
예제 응용프로그램 , KYC
decentralized identity는 사용자 개인 정보를 개선하면서 블록체인의 금융 애플리케이션에 대한 요구 사항을 간소화하기로 했다. 과제는 AML(자금 세탁 방지)/ KYC(고객 알기) 규정에 따른 인증 및 준수 의미이다.
많은 국가의 AML 규정은 금융기관이 거래를 수행하는 개인 및 기업의 신원을 설정하고 확인하도록 요구한다. KYC는 금융기관의 광범위한 AML 정책의 한 구성 요소를 형성한다. 여기에는 사용자 행동 모니터링 및 자금 흐름 관찰이 포함된다.
KYC는 사용자가 어떤 형식 (예 : 온라인 웹 양식에 입력, 비디오 세션에서 사용자의 얼굴 앞에 신원 문서를 들고 있음)으로 신원 자격 증명을 제시하는 것을 포함한다. 여러 해킹 위험을 감수할 수 있다. (스푸핑을 통한 신원 도용, 자신의 데이터에 통제권 유지)
4) Priority Channels
: Oracle reports 와 같은 중요한 인프라 트랙잭션을 블록체인에 제 시간에 포함시키는 서비스
Priority channels는 DON을 사용하면 쉽게 만들 수 있는 유용한 새로운 서비스이다. 그들의 목표는 네트워크 정체 가ㅣ간동안 메인 블록체인에서 선별된 우선 순위가 높은 트랙잭션을 제공하는 것이다. 우선 순위 채널은 특히 채굴자가 금융 거래와 같은 일반 사용자 수준 활동이 아닌 오라클, 계약에 대한 거버넌스 기능과 같은 인프라 서비스를 활성화하도록 고안되었다. 실제로 여기에서 설계된대로 네트워크에서 채굴력의 100 % 미만으로 구현된 우선 순위 채널은 전송시간에 느슨한 경계만 제공 할 수 있으므로 전방 실행과 같은 매우 속도의존적인 목표에 대한 사용을 방지 할 수 있습니다.
우선순위채널은 Miner M을 보장한다. 채굴자와 사용자에게 트랙잭션이 mempool에 포함된 D 블록내에서 채굴된다. 스마트컨트랜트는 DON 모니터링을 사용해 채널의 서비스 약관을 시행할 수 있다. 우선순위채널은 채널을 제공하는 채굴자 M과 액세스 요금을 지불하는 사용자 간의 계약형태를 취한다. 채굴자는 사용자가 거래를 mempool에 제출할 때(가스 가격이 있지만 가스 한도에 따라 사전에 합의된 경우) , 채굴자는 이를 다음 D 블록 내의 체인에 배치하는 데 동의한다.
우선순위채널 계약 설명 :
SC는 MAINCHAIN의 로직을 나타내고 exec는 DON의 로직을 나타낸다.
스마트컨트랙트 는 채굴자의 예금 d 와 사용자로부터 선급금 P를 받는다.
DON 실행 가능한 exec는 mempool을 모니터링하여 사용자에 대한 트랙잭션 배치를 트리거 한다.
사용자가 채굴자의 트랙잰셕을 제출하면 스마트 컨트랙트에 성공 메시지를 보낸다.
적시에 채굴하고 서비스 실패시 실패 메시지를 보낸다.
스마트컨트랜트는 성공 메시지를 받으면 선급된 P를 채굴자에게 보내고 실패 메시지를 받으면 d를 포함한 나머지 자금을 사용자에게 보낸다.
성공적으로 종료되면 보증금 d를 채굴자에게 지급한다.
물론 채굴자는 여러 사용자에게 동시에 우선 순위 채널을 제공할 수 있다.
5) Confidentiality-Preserving DeFi / Mixicles
: 참여 당사자의 민감한 데이터를 숨기는 금융 스마트 계약,
여기서 SC를 사용하여 하이브리드 계약의 MAINCHAIN 부분을 표시하고 DON 구성 요소를 개별적으로 또는 실행 가능한 exec로 설명
오늘날 DeFi 애플리케이션은 사용자에게 기밀성을 거의 또는 전혀 제공하지 않는다. 모든 거래는 체인에서 볼 수 있다. 다양한 영 지식 기반 접근 방식, 예를 들어 거래 프라이버시를 제공 할 수 있으며 TEF는 이를 지원하기에 충분히 일반적이다. 그러나 이러한 접근 방식은 포괄적이지 않으며, 예를 들어 일반적으로 거래의 기반이되는 자산을 숨기지 않는다.
DON에서 궁극적으로 지원하려는 광범위한 컴퓨팅 도구 세트는 이러한 격차를 해소 할 수있는 다양한 방법으로 개인 정보 보호를 활성화하여 다른 시스템의 개인 정보 보호 보장을 보완하는 데 도움이 된다. 예를 들어, Chainlink Labs 연구원 이 제안한 기밀 유지 DeFi 도구 인 Mixicles는 금융 도구를 뒷받침하는 자산 유형을 숨길 수 있으며 DON 프레임 워크에 매우 자연스럽게 맞출 수 있다.
Mixicles는 간단한 바이너리 옵션을 실현하기위한 용도로 가장 쉽게 설명된다. 바이너리 옵션은 두 명의 사용자가 플레이어와 일관성을 유지하기 위해 여기에서 언급 할 때 두 가지 가능한 결과가있는 이벤트에 베팅하는 금융 상품입니다. 자산이 미리 지정된 시간에 목표 가격을 초과하지 않는다.
다음 예는 아이디어를 보여줍니다.
예 2. Alice와 Bob은 Carol ’s Bubble Token (CBT)이라는 자산의 가치를 기반으로하는 바이너리 옵션의 당사자이다. Alice는 2025 년 6 월 21 일 T = 정오에 CBT의 시장 가격이 최소 250 USD가 될 것이라고 베팅했다. 밥은 반대로 베팅한다. 각 플레이어는 미리 지정된 기한까지 100 ETH를 입금한다. 우승 포지션을 가진 플레이어는 200 ETH를 받는다. (즉, 100 ETH를 얻는다). 기존의 Chainlink 오라클 네트워크 O가 주어지면 예 2의 합의를 실현하는 스마트 계약 SC를 구현하기 쉽다. 두 플레이어는 각각 100 ETH를 SC에 입금합니다. T 이후에 시간 T에서 CBT의 가격을 요청하는 쿼리 q가 O에게 전송됩니다. O는 이 가격의 보고서 r을 SC에 보냅니다. SC는 r이 250 이상이면 Alice에게 돈을 보내고 그렇지 않으면 Bob에게 돈을 보냅니다. 그러나 이 접근 방식은 체인에 대한 r을 보여줍니다.
관찰자가 바이너리 옵션의 기초가 되는 자산을 추론 할 수 있습니다.
Mixicles의 용어에서는 술어 스위치 (r)로 계산 된 이진 값을 전송하는 스위치 측면에서 SC의 결과를 개념적으로 생각하는 것이 도움이 된다. 이 예에서 switch (r) = 0 if r ≥ 250; 이 결과가 주어지면 Alice가 이깁니다.
그렇지 않으면 switch (r) = 1이고 Bob이 이깁니다. DON은 switch (r)를 계산하고이를 SC에 체인으로 보고하는 실행 가능한 exec를 실행하여 기본 Mixicle을 하이브리드 계약으로 실현할 수 있습니다.
체인링크 홈페이지
'블록체인' 카테고리의 다른 글
Chainlink API (0) | 2021.05.23 |
---|---|
Chainlink 기초 (0) | 2021.05.23 |
오라클(Oracle)이란 (0) | 2021.05.07 |
하이퍼레저 패브릭 v2.2 네트워크 구축 및 동작 확인 (1) | 2021.01.27 |
VMware 하이퍼레저 패브릭 v2.2 환경 구축하기 (0) | 2021.01.27 |