Blockchain in COOV(1)

chris0205.eth·2022년 3월 9일
0

인사이트

목록 보기
1/1
post-thumbnail

들어가며

혹시 쿠브앱을 써본적이 있나? 만약, 비트코인, 이더리움 등에 투자하고 있거나 NFT 등을 보유하고 있다면, 쿠브앱을 실행시키면 나오는 로고에 '블록체인 기반 접종증명서' 라는 말이 눈에 띌 것이다.

흔히 들어왔던 블록체인은 노드를 유지하는 보상으로 특정한 토큰(ex.BTC, ETH...)을 제공받는다. 근데 우리가 쿠브앱을 사용한다고 해서 토큰을 지불하거나 지불받는가? 절대, 전혀 아니다. 그렇다면 과연 쿠브앱에는 어떠한 블록체인 기술이 사용되고 있는 것인가? 궁금증을 유발한다.


Blockchain Labs

블록체인 시스템을 지탱하기 위해 반드시 필요한 암호화폐의 존재는 블록체인을 이용한 서비스의 상용화에 치명적인 단점으로 작용한다.

이와 같은 이유로 많은 기업과 공공기관들은 블록체인으로서의 특성이 부족한 프라이빗 체인을 선택하여 서비스를 구축하기 시작했으나 대부분의 경우 또 다른 폐쇄형 분산 데이터베이스 시스템을 구축한 것일 뿐 실질적인 블록체인 기술의 장점은 구현하지 못한 채 비용은 더 많이 들고 속도는 느린 딜레마에 빠지게 되었다. 따라서 블록체인랩스는 다음 세 가지 큰 원칙을 세우고 새로운 블록체인 시스템의 연구 개발에 착수하게 되었다.

  1. 누구나 참여할 수 있는 개방형 블록체인과 관리 가능하고 높은 성능을 낼수 있는 프라이빗 체인의 장점을 모두 살린 새로운 유형의 블록체인 코어 엔진을 개발할 것
  2. 개방형 네트워크에서 필수적인 가상화폐 없이도 시스템을 운영할 수 있는 새로운 합의 알고리즘을 개발할 것
  3. 블록체인 시스템 도입에 탈중앙성, 무신뢰성 신뢰 등 사회적, 정치적 의의 보다 신뢰 구축 기반 구조 형성에 따른 경제적인 비용 절감에 목표를 두고 이를 현실화 할 수 있는 방법과 분야를 찾을 것

위 원칙에 따라 블록체인랩스의 연구개발진은 기업/공공기관에서 채택 가능한 블록체인 기술인 InfraBlockchain 개발에 매진했고, 이를 적용한 블록체인 기반의 실질적인 서비스 사례를 만들어가고 있다.

이모저모

  • InfraBlockchain을 퍼블릭 블록체인을 품은 프라이빗 블록체인이라고 소개하는데, 프라이빗 블록체인은 접근에 대한 제한점이 존재하기 때문에 이에 대해 의문을 제기하는 사람들도 존재한다.

관련기사


InfraBlockchain white paper

1. Blockchain Design Without Native Cryptocurrenty

기존 퍼블릭 블록체인에 대한 경제 모델은 블록체인 네트워크 상에서 유효한 암호화폐의 존재와 함께했고, PoW, PoS로 블록체인 생태계를 유지했다.

퍼블릭 블록체인은 초기 개발자나 초기 투자자들에게 많은 부가 집중되는 경향을 가지기 때문에 공정하지 못하다고 할 수 있다.

InfraBlockchain은 public/permissioned 블록체인이다. 어떠한 특별한 토큰(BTC, ETH 등과 같은 암호화폐)도 없고 단지 사용자가 만드는 토큰만 존재할 뿐이다. 트랙잭션 수수료는 선출된 블록 생성자가 선택한 토큰으로 지불된다.

여기서 사용자는 trusted entities(기업체, 금융기관, 정부 등)이고, 이러한 기관들이 발행한 스테이블 토큰이 선택되어 트랜잭션 수수료로 사용된다.

블록 생성자는 블록체인 트랜잭션을 실행하는 핵심 블록체인 사업자이고, 여기서 트랜잭션 수수료는 블록 생성자를 위한 공유이익으로 수집된다.

이러한 블록 생성자는 PoT(Proof of Transaction)이라는 독특한 합의 메커니즘으로 선출된다.
PoT는 TaaV(Transaction as a Vote)로 행해진다.

이때, PoT는 애플리케이션 제공자가 블락 생성자가 되도록 인센티브를 제공한다.

2. InfraBlockchain as Smart Contract Based General Financial Platform

KYC 인증 절차를 거친 사용자들이 페깅된 스테이블 토큰을 기본 통화로 하는 블록체인 플랫폼은 잠재력이 크다. 핀테크 서비스를 안전하고 확장가능한 블록체인 환경에서 편리하고 비용 효율적으로 사용할 수 있게 해주는 대안 금융망 시스템으로서의 잠재력이 아주 크다.

다른 블록체인 서비스(이더리움 스마트컨트랙트 등)의 경우에는 사용자가 자신의 블록체인 트랜잭션을 실행하기 위해 암호화폐를 가지고 있어야 하는데 반해, InfraBlockchain은 사용자 대신 서비스 제공자가 페깅된 스테이블 블록체인 트랜잭션 수수료를 낸다. 마치 인터넷 웹 서비스 제공자가 서버 비용을 웹 유저들을 위해 대신 내주는 것처럼 말이다.

위 그림을 참고하면 두가지 스마트 컨트랙 유형이 있다는 것을 알 수 있다. 하나는 'system smart contract'이고 다른 하나는 'user-deployed smart contract'이다.

3. InfraBlockchain Standart Token Model

3.1 Every Blockchain Account is a Built-in Standard Token

이더리움의 ETH와 같은 토큰이 InfraBlockchain 상에는 없다. 대신, 생성되는 모든 계정은 InfraBlockchain 표준 토큰을 만들 수 있으며, 블록체인 코어 레벨에서 기본적으로 지원되는 표준 토큰 작업을 수행할 수 있다.

InfraBlockchain 상의 토큰들은 블록체인 코어 시스템에 의해 상호운영성(interoperability)이 강화되고 보장된다. 다른 블록체인은 새로운 토큰을 만들기 위해선 사용자가 각 토큰에 대해 맞춤형 스마트 컨트랙 코드를 짜고 배포하여야 한다.(ERC-20 등의 권고 사항을 맞춰줘야 한다.)

  • 인프라블록체인 표준 토큰 표기법 :
    {TOKEN_SYMBOL}/{TOKEN_ISSUER}
    e.g. DUSD/ib.dusd : 'ib.dusd'라는 계정에 의해 DUSD라는 USD로 페깅된 토큰이다.

3.2 Built-in Standard Token Operations

creating/issuing/redeeming/transferring 기능은 인프라블록체인 코어에 내장되어 있다. 이것에 대해 좀 더 알아보자.

  • SetTokenMeta operation
    블록체인 계정 주인은 인프라블록체인 표준 토큰을 만들 수 있다. 토큰 심볼과 precision(?), 토큰 메타 데이터(토큰 발행자의 웹사이트 url같은)가 SetTokenMeta 작업에 의해 실행된다.
  • Issue operation
    토큰 계정 주인은 특정 블록체인 계정으로 새 토큰을 발행할 수 있다.
  • Transfer operation
    토큰 홀더는 다른 계정으로 토큰을 보낼 수 있다.
  • TxFee operation
    토큰 계정이 블록 생성자에 의해 트랜잭션 수수료 토큰으로 선택된다면, 트랜잭션 수수료를 계산한 뒤 인프라블록체인 코어에서 'txfee' 표준 토큰 작업은 자동 생성된다. (트랜잭션 수수료 지불자는 따로 존재한다. 기업이나 정부에서 일반적인 앱 or 서비스 유저 대신 트랜잭션 수수료를 지불하는 것이다.)
  • Redeem(Burn) operation
    토큰 발행자만이 토큰 발행자 계정이 소유한 토큰을 소각할 수 있다.
  • Read-Only operation
    블록체인 상에서 발행되고 순환하는 인프라블록체인 표준 토큰에 대한 모든 정보는 모두에게 투명하게 공개된다. 토큰 정보에 대한 프로그래밍 방식의 접근은 체인 정보 API를 통해 모든 계정과 인프라블록체인 노드에 엑세스하는 외부 시스템에 구축되는 스마트 컨트랙 코드와 함께 제공된다.
    - GetTokenMeta : 토큰의 메타데이터를 얻는다.
    - GetTotalSupply : 토큰의 현재 총 공급량을 얻는다.
    - GetTokenBalance : 토큰을 위한 계정의 토큰 밸런스(?)를 얻는다.

3.3 Transaction Fee Tokens Selected by Block Producers


위 그림은 인프라블록체인 표준 토큰을 누구나 자유롭게 만들 수 있는 인프라블록체인 토큰 생태계의 예시이다.
스마트 컨트랙은 모든 인프라블록체인 표준 토큰에 '표준 토큰 인터페이스'를 통해 접근할 수 있다. 어떤 기관이든 온체인 토큰을 개발하고 배포할 수 있다. 이 토큰은 다른 토큰들과의 상호운용성이 있다.(인프라블록체인 네트워크 상에서의 토큰들에 한해서..사실 이건 다른 블록체인 네트워크도 마찬가지인것 아닌가?)

PoT/TaaV를 통해 지정된 블록 생성자는 트랜잭션 수수료로 사용될 토큰을 정할 수 있다. 다른 암호화폐(ETH 등)와 마찬가지로 트랜잭션이 실행되면 선택된 트랜잭션 수수료 토큰이 트랜잭션 수수료로 지불된다.

인프라블록체인 네트워크 상에는 트랜잭션 수수료로 지불할 native token이 없다. 따라서 믿을만한 기관에서 발행한 스테이블 토큰이 블록 생성자에 의해 트랜잭션 수수료 토큰으로 결정된다. 블록 생성자가 토큰을 트랜잭션 수수료 토큰으로 사용되도록 만들면, weight(가중치) 값이 각 토큰에게 부여된다. weight값은 각 토큰이 표준 트랜잭션 수수료 유닛과 비교하여 정해진다. 환율이라고 생각할 수 있다.

블록체인 생태계가 진화함에 따라, 연달아 선출된 인프라블록체인의 블록 생성자들은 2/3 이상의 활발한 블록 생성자들의 동의를 얻어 트랜잭션 수수료 토큰을 새로 지정할 수도, 폐지할 수도 있다.

이더리움이나 이오스 같은 블록체인과 비교해보자면, 네트워크 상에서 만들어진 새로운 토큰을 실행하는데에 ETH, EOS가 쓰인다. 그에 반해, 인프라블록체인은 블록 생성자가 지정한 토큰을 수수료로 사용할 수 있다.

4. InfraBlockchain Transaction Fee Model

4.1 Transaction Fee Table Managed by Block Producers

블록 생성자들은 체인상의 트랜잭션 수수료 표를 관리한다. 인프라블록체인 표준 토큰 작업 또는 커스텀 스마트 계약 작업과 같은 특정 블록체인 작업에 특정한 값을 투명하게 매긴다. 이러한 트랜잭션 수수료 표는 블록 생성자 2/3이상의 동의를 얻고 연속적으로 업데이트된다.

만약 수수료 표에 명시되어 있지 않은 스마트 계약 작업이 실행되면, 작업당 디폴트 트랜잭션 수수료가 부과된다. 또한 사용자가 생성한 커스텀 스마트 계약은 많은 양의 컴퓨팅 리소스(cpu time, network bandwidth, storage space)를 사용할 수 있기 때문에 디폴트 수수료가 아닌 동적인 트랜잭션 수수료가 부과될 수도 있다.(디폴트 수수료보다 동적인 수수료가 더 높은 경우에 적용)

txfee_token_amount_charged_to_an_operation =
max{ ( txfee_table( operation ) | default_txfee ), dynamic_txfee( operation ) } / txfee_token_weight

위 표는 수수료 표의 예시이다. 이때 예외적인 사항이 있는데, 2/3이상의 블록 생산자의 서명이 있는 시스템 계정으로 특정된 거래는 수수료를 면제받는다.

4.2 Delegable Transaction Fee Payment

인프라블록체인으로 제출되는 모든 블록체인 트랜잭션에 대해, 트랜잭션 수수료 납부자 계좌명을 명시하고 트랜잭션 메세지에는 블록체인 작업이 요구하는 서명 외에 트랜잭션 수수료 납부자 계좌의 서명이 포함되어야 한다.

트랜잭션 수수료 납부자는 항상 트랜잭션과 직접적인 연관이 있는 계좌와 분리되어있기 때문에, 트랜잭션 수수료 지불은 다른 계좌로 위임 가능하다.

모든 블록체인 계좌가 블록체인 트랜잭션을 만들기 위해 어느정도의 토큰을 갖고 있어야 하는 것(비트코인, 이더리움, 이오스 등 대부분의 퍼블릭 블록체인들)은 블록체인 기반 어플리케이션이 널리 적용되는 것에 큰 허들로 작용한다.

인프라블록체인에서는 블록체인 트랜잭션 수수료의 대리 지불을 가능케 함으로써 더 나은 UX를 제공한다.

5. Fiat-Stable Tokens and Security Tokens on InfraBlockchain

5.1 Token Backing Depository

Token Backing Depository는 발행된 토큰의 가치를 보장하기 위해 같은 가치의 자산을 홀딩하고 인프라블록체인상에서 토큰을 발행하는 독립체이다.

언제든지 토큰 홀더가 토큰 인출을 원한다면, Token Backing Depository는 토큰을 소각하고 그 양과 동일한 자산을 사용자에게 제공한다.

이때, 토큰 소각은 Token Backing Depository 계정에 의해서만 가능하다.

예를 들면, BTC/D1이란 것은 BTC를 backed한 토큰이고, 이는 D1이라는 Token Backing Depository 계정에 의해 발행되었고, D1이 프라이빗 키를 소유한다. 따라서 BTC는 오로지 D1 계정에 의해서만 소각이 가능하다.

토큰은 어떤 블록체인 계정 소유자이던 간에 발행이 가능하지만, Token Backing Depository는 다른 블록체인 계정들의 신뢰를 필요로 한다. Token Backing Depository는 신뢰를 유지하기 위해 항상 투명하게 그들이 토큰을 backing하고 있는지 증명해야한다.

5.2 Fiat-Pegged Stable Tokens(dFIAT)


fiat-pegged 스테이블 토큰은 블록체인 외부의 명목화폐를 일대일로 보유함으로써 유지한다.

만약 블록 생성자가 블록체인 생태계에서 신뢰받는 fiat-pegged 스테이블 토큰을 선택한다면, fiat-pegged 스테이블 토큰은 블록체인상에서의 암호화폐처럼 트랜잭션 수수료 토큰으로 사용될 수 있다.

dFIAT은 블록체인 사용자가 dFIAT Token Backing Depository에 명목화폐를 예치할때만 발행된다.

Token Backing Deposittory의 오프체인 시스템은 전통적인 은행 시스템에 접속하며 명목화폐를 관리하고, 안전하게 저장된 프라이빗 키를 사용하는 블록체인에 접속하여 dFIAT 토큰을 발행/소각한다. 실제 명목화폐로 dFIAT 토큰을 상환하는 보증이 중요하기 때문에, 광범위한 생태계 지원을 받는 fiat-pegged 스테이블 토큰을 발행하는 신뢰받는 기관의 존재는 인프라블록체인 설계에 있어서 없어서는 안될 요소이다.

dFIAT Token Backing Depository 의 모든 활동이 투명하고 추적가능하기 때문에, 블록체인 상에서 순환하고 있는 dFIAT 토큰의 총 공급량은 항상 공개된 정보이다. 따라서 명목화폐와 dFIAT 토큰의 비교를 통해 사용자들의 두려움을 없애준다. 블록체인 상의 dFIAT 토큰 총 공급량은 은행에 예치된 명목화폐의 양보다 작거나 같아야 한다.

5.3 Asset-Backed Security Tokens(dASSET)


Depositories는 실물 자산으로 지지되는 안전한 토큰을 인프라블록체인상에서 발행할수도 있다.
주식, 부동산, 미술품, 금, 보석, 다른 퍼블릭 블록체인의 암호화폐 등의 실물자산은 신뢰받는 Token Backing Depository(TBD라고 하겠다.)에 의해 토큰화될 수 있다.

자산은 TBD 오프체인 상에서 완전하게 소유되지만, 토큰화된 자산에 대한 부분적인 소유권이 인프라블록체인 상에서 거래될 수 있다.(그렇담 부동산의 부분거래가 가능하단 말인가??) 온체인 토큰 상에서의 거래를 통한 자유시장(open market)이 자산의 값을 결정한다.

토큰화된 자산으로부터 수익이 나면, 예를 들어, 매달 렌트비를 받는 등, 배당금은 dASSET 토큰 홀더들에게 투명하게 블록체인 상에서 배분된다.

만약 토큰화된 온전한 자산(온전한 부동산이나 미술품)을 원한다면, 제안된 매입 가격에 해당하는 fiat-pegged 토큰의 합계를 계산하여 자산 인수 제안을 escrowing 할 수 있다. 이때, 지불된 가치는 dASSET 토큰 홀더들에게 분배되고, 해당 자산에 대한 dASSET 토큰은 모두 소각된다.

외부 암호화폐를 페깅하는 토큰도 TBD에 의해 발행될 수 있다. 암호화폐로 지지되는 토큰의 상환(현금화)은 TBD에 의해 보증된다.


중간정리

백서의 초반 내용은 인프라블록체인의 기능, 구성 등에 대한 설명이 주를 이루었다. 5장의 내용에서 dASSET 토큰을 이용하면 실물자산을 블록체인 장부상으로 옮기는 것이 가능하다. 장부를 복잡하고 불투명하게 관리하기 보다 투명하고 편리하게 블록체인 상에서 관리한다는 것이 매력적인 포인트로 다가왔다.

그러나 다른 블록체인 네트워크들과 마찬가지로 보안 관련 이슈가 발생할 수도 있을 것 같다. dASSET 토큰 해킹을 통해 소유하고 있는 실물자산이 다른 이에게 넘어갈 수도 있기 때문이다. 따라서 프라이빗 블록체인인 인프라블록체인의 접근권한을 잘 설정하는 것이 관건일 것 같다.

다음 2편에선 나머지 백서의 내용을 다룰 것이다. 앞에서 언급만 된 PoT에 대해 알아볼 것이다.


참고

InfraBlockchain white paper
COOV: 블록체인 기반 백신접종증명 시스템 구축
Types of Blockchain:Public, Private, or Something in Between

profile
long life, long goal

0개의 댓글