Page 1
USPTO Provisional Patent Application Number : 62/646,930
YOSEMITE Public Blockchain YOSEMITE 퍼블릭 블록체인
- No ICO : using real money (e.g. USD, EUR, CNY) with no native crypto-currency - Proof-of-Transaction (PoT) : reasonable and fair consensus algorithm - General Financial Platform : designed for government and enterprise uses
- ICO 없는 블록체인 : 가상화폐의 발행 없이 달러, 유로, 위안화와 같은 실제 법정화폐를 사용하는 퍼블릭 블록체인
- Proof-of-Transaction (PoT) : 기존 PoW, PoS 합의 방식보다 공정하고 합리적인 새로운 방식의 컨센서스 메커니즘
- 범용 금융 플랫폼 : 정부와 기업들이 블록체인 기반 금융 서비스를 구현할 수 있는 블록체인 설계
Technical White Paper (KOR version)
Bezalel Lim / [email protected] Patrick O'Grady / [email protected]
Brandon Griffin Joe Park Anthony Di Franco Eugene Chung Eric Hwang
Feb. 2018
©2018 Yosemite X Inc. All rights reserved
Page 2
Abstract
We introduce a new method of public blockchain design without issuing any native
crypto-currency minted by blockchain itself. Instead, fiat-pegged stable coins (e.g. dUSD, digital
USD-pegged credit tokens) are issued as the foundational crypto token of the blockchain,
provided a trust entity such as a trusted financial institution or government backs the stable
coins with an equivalent fiat money reserve. The YOSEMITE Blockchain is basically designed as
a decentralized exchange platform in which various kinds of tokens, such as fiat-pegged-tokens,
crypto-pegged-tokens and real-asset-tokens, are issued by the trusted entities (the Depositories)
and traded securely and transparently on blockchain. We also proudly present a new blockchain
consensus mechanism, called Proof-of-Transaction (PoT), which incentivizes the application
service providers directly contributing to the blockchain ecosystem by generating actual
blockchain transactions, quantitatively measured by Transaction-as-a-Vote (TaaV). A novel
PoT-based BFT consensus with short block time and fast block finality realized by
Optimistic-Block-Production and optimized block validity voting protocols enables the
blockchain to scale, with extended scalability provided by the existing YOSEMITE on/off-chain
hybrid exchange technology. The named multi-sig blockchain accounts organizing the trust
network for account recovery enable the solid and stable YOSEMITE Blockchain ecosystem,
along with the integrated KYC/AML support for the regulatory compliance.
본 기술 백서는 블록체인에서 자체적으로 발행되는 네이티브 암호화폐가없는퍼블릭블록체인기술에대해소개한다.
법정화폐에 가치가 고정된 코인(예, dUSD, USD에 가치가 고정된 신용 토큰)이 블록체인 상에 발행되어 블록체인
시스템의 기본 통화로 사용되며, 금융 회사나 정부와 같은 신뢰기관들이 블록체인 사용자들로부터수신한법정화폐를
지급준비금으로 안전하게 보관하고, 그와 동일한 양만큼의 코인만이 투명하고 안전하게 블록체인 상에서 발행되고
유통된다. YOSEMITE 블록체인은 신뢰기관(Depository)들을 통해 발행되는 법정화폐 가치 고정 안정화 토큰,
비트코인과 같은 암호화폐에 가치가 고정된 토큰, 부동산 등의 실물 자산에 가치가 고정된 토큰들이 블록체인 상에서
거래될 수 있는 탈중앙화 분산 거래소 기능을 기본적으로 제공한다. Transaction-as-a-Vote(TaaV) 메커니즘을 통해,
블록체인 트랜잭션을 많이 발생시켜 블록체인 생태계에 직접적으로 공헌하는 서비스 제공자들에게 인센티브를
부여하는 방식으로, 기존의 PoW, PoS 합의 방식보다 공정하고 합리적인 새로운 방식의 Proof-of-Transaction (PoT)
블록체인 합의 메커니즘을 본 기술 백서를 통해 소개한다. Optimistic-Block-Production 방식과 최적화된 블록 유효성
투표 프로토콜을 통해 짧은 블록 타임과 빠른 블록 확정성을 구현하는 PoT 기반 BFT 합의 알고리즘은 기 개발된
YOSEMITE on/off-chain 하이브리드 거래소 기술과 함께 높은 수준의 블록체인 성능 확장성을 제공한다. 블록체인
상에 신뢰 네트워크를 구축하여 블록체인 계정 복구를 실현할 수 있는 네임드 멀티시그너처 블록체인 계정 시스템과
블록체인에 통합되어 제공되는 KYC/AML 규제준수 지원과 같은 특징들은 안정적이고 견고한 YOSEMITE 블록체인
생태계를 가능케 한다.
1
Page 3
Table of Contents
1 Public Blockchain Without Native Crypto-currency 네이티브 암호화폐가 없는 퍼블릭 블록체인 4
2 YOSEMITE Blockchain as Decentralized Exchange Platform YOSEMITE 블록체인 상에 구현된 탈중앙화 분산 거래소 플랫폼 7
3 Depository and Tokens Issued on YOSEMITE Blockchain Depository와 YOSEMITE 블록체인 상에 발행된 토큰 10
3.1 Fiat-Pegged Stable Coin (dFIAT) as Native Crypto-Currency of YOSEMITE Blockchain YOSEMITE 블록체인의 네이티브 암호화폐로서의 법정화폐 고정 안정화 코인 (dFIAT) 11 3.2 External-Crypto-Currency-Pegged Token (dCRYPTO) 외부 블록체인 암호화폐에 고정된 토큰 (dCRYPTO) 14 3.3 Real Asset Token (dASSET) 실물 자산 기반 토큰 (dASSET) 16
4 Built-in Token Operations in YOSEMITE Blockchain YOSEMITE 블록체인에서 기본 제공되는 토큰 오퍼레이션 18
5 Proof-of-Transaction (PoT) Consensus Mechanism Proof-of-Transaction (PoT) 컨센서스 메커니즘 21
5.1 Transaction-as-a-Vote (TaaV) 21 5.2 Proof-of-Transaction as Incentivization for Service Providers 블록체인 서비스 제공자들에게 인센티브를 부여하는 Proof-of-Transaction 합의 메커니즘 23 5.3 Blockchain Consensus, Governance, Tx Fee Profit Distribution 블록체인 컨센서스, 거버넌스, 트랜잭션 수수료 배분 26
5.3.1 Proof-of-Transaction (PoT) Node Pool Proof-of-Transaction (PoT) 노드 풀 26 5.3.2 Seed Trust Node Pool 시드 신뢰 노드 풀 27 5.3.3 Election of Block Producers for BFT Consensus BFT 컨센서스를 위한 블록생성자 선출 29 5.3.4 Transaction Fee Profit Distribution 트랜잭션 수수료 수익 배분 32 5.3.5 YOSEMITE BFT Consensus with Short Block Time and Fast Block Finality 짧은 블록 타임과 빠른 블록 확정성을 구현하는 YOSEMITE BFT 컨센서스 33
6 Blockchain Accounts 블록체인 계정 37
6.1 Named-Multi-Sig / Single-Key Blockchain Accounts 네임드 멀티시그너쳐 블록체인 계정과 단일 키 블록체인 계정 37 6.2 Trust Network for Account Recovery 계정 복구를 위한 신뢰 네트워크 39
2
Page 4
6.3 KYC/AML Compliance and Account Anonymity KYC/AML 규제 준수와 계정 익명성 39
7 Decentralized Issuance of dFIAT without Fiat Reserve 탈중앙화된 방식의 dFIAT 토큰 발행 42
8 Scalability of YOSEMITE Blockchain YOSEMITE 블록체인의 트랜잭션 처리 성능과 확장성 44
8.1 Single Chain Scalability 단일 체인 트랜잭션 처리 성능 44 8.2 Extended Scalability with On/Off-chain Hybrid Token Exchange Technology YOSEMITE On/Off-Chain 하이브리드 토큰 거래 기술을 통한 추가적인 성능 확장성 45 8.3 Scalable Multi-Blockchain Architecture 확장성있는 멀티 블록체인 아키텍처 47
9 Smart Contract Platform 스마트 컨트랙트 플랫폼 48
3
Page 5
1 Public Blockchain Without Native Crypto-currency 네이티브 암호화폐가 없는 퍼블릭 블록체인
The common belief for public blockchains holds that there should be a native crypto-currency
which is pre-minted through an ICO presale process or minted by the blockchain itself for every
new block as the reward to block producers. Bitcoin and Ethereum have their own native 1 2
crypto-currencies (BTC, ETH) to incentivize miners to maintain the blockchain network securely
through a Proof-of-Work(PoW)-based competitive consensus mechanism, which proves slow
and inefficient. For Proof-of-Stake(PoS )-based blockchains (EOS , NEO, DASH, ...), native 3 4
crypto-currencies are essential to elect block producers who participate in the consensus process
to make new blocks. In PoS blockchains, governance is commonly designed by utilizing a voting
system in which the native crypto-currency holders cast weighted votes in proportion to their
currency holdings or stake (vest) their crypto tokens to have more influence over blockchain
governance.
퍼블릭 블록체인에 대한 일반적인 생각은 블록체인 출시 전에 미리 발행되어 ICO를 통해 사전판매되거나, 매 블록
생성시 마다 블록체인에서 자체적으로 새로 발행되어 블록 생성자들(miners, validators, block producers)에게
보상으로 주어지는 네이티브 암호화폐가 반드시 필요하다는것이다. 비트코인, 이더리움과같은 Proof-of-Work (PoW)
기반 퍼블릭 블록체인들은 BTC, ETH와 같은 자체 생성되는 네이티브 암호화폐를 각기 가지고 있으며, 암호화폐
채굴자들이 경쟁적으로 블록을 생성하여 블록체인을 보안성이 높은 상태로 유지되도록 새로 발행한 네이티브
암호화폐를 채굴자들에게 보상으로 지급한다. Proof-of-Stake (PoS) 기반 블록체인들은 (EOS, NEO, DASH, ...) 블록
생성 보상으로 네이티브 암호화폐를 발행할 뿐만 아니라, 네이티브 암호화폐의 보유량을 블록 생성 합의과정에
참여하는 블록 생성자들을 선출하는 기준으로 사용한다. 또한 블록체인 사용자들의 네이티브 암호화폐의 보유량에
비례하여 가중치 투표를할수있도록하거나보유하고있는토큰을담보로 (Stake) 설정하여블록체인상에서영향력을
행사할 수 있도록 하는 방식으로 PoS 기반 블록체인들의 블록체인 거버넌스 모델이 설계된다.
The native crypto-currency in one blockchain is regarded as the basic assumption and
agreement among the stakeholders of the blockchain ecosystem (developers, investors, block
producers, service providers, end users) and used as the basic building block for blockchain
system design, though native crypto-currencies induce some critical problems in existing
blockchain ecosystems. The public blockchain’s native crypto-currencies traded in public
exchanges are speculative assets which are constantly being involved in pump-and-dump
schemes, making the native crypto-currencies highly volatile in price. For ordinary people who
are naturally accustomed to stable fiat-currency like USD, it is very uncomfortable to use
unstable crypto-currency as a payment/trading currency. People would not buy food in grocery
1 S. Nakamoto, Bitcoin: A peer-to-peer electronic cash system, https://bitcoin.org/bitcoin.pdf, 2008. 2 V. Buterin, Ethereum: A next-generation smart contract and decentralized application platform, https://github.com/ethereum/wiki/ wiki/White-Paper, 2013 3 Proof-of-Stake systems - https://en.wikipedia.org/wiki/Proof-of-stake 4 EOS.IO technical white paper, https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md, 2017
4
Page 6
stores using highly volatile company shares as a method of payment, and similarly they would
not use existing crypto-currencies. Even worse, to use services provided by the blockchain
platform, people first need to buy crypto-currency by selling their fiat money through an
external crypto exchange. This is the big hurdle against mass adoption of blockchain-based
applications setting aside the scalability issue which encumbers current public blockchains.
Additionally, the financial benefits gained from these speculative crypto-currencies are unfairly
concentrated amongst blockchain developers who maintain large portions of coins after ICOs
and early stage investors who can buy a disproportionate amount of total supply at cheap prices.
Meanwhile the followers adopting the blockchain, even if they are the service providers who are
directly contributing to the blockchain ecosystem by making applications generating meaningful
transactions, are relatively less compensated. In the same manner, blockchain governance
power also can be unfairly concentrated to the big token holders resulting in inevitably
centralized power. It is also impractical to expect most of the long tail blockchain users to
participate in an explicit voting process to democratically control blockchain governance (e.g.
voting for electing block producers).
이러한 블록체인 상의 네이티브 암호화폐의 발행은 해당 블록체인 생태계를 구성하는 개발자, 투자자, 블록생성자,
응용서비스 제공자, 서비스 사용자들이 암묵적으로 합의한 기본적인 가정이며 블록체인 시스템 설계의 핵심 요소로
사용되지만, 발행된 암호화폐는 해당 블록체인 생태계에 여러가지 중대한 문제들을 초래한다. 먼저, 암호화폐
거래소에서 거래되는 퍼블릭 블록체인 네이티브 암호화폐들은 일반적으로 가격 변동성이 매우 높다. 단기적
시세차익을 목적으로한 인위적인 가격 조정 (pump-and-dump) 등에 끊임없이 노출되고 있으며 일반적으로 투자
위험성이 높은 투기성 자산으로서 간주되고 있다. 일상에서 사용되고 있는 USD, EUR, CNY, KRW와 같은 가치가
안정적인 법정화폐 사용에 익숙한 일반대중들이 가격변동이 극심한 암호화폐를지불수단이나거래기준화폐로사용할
가능성은 매우 낮다. 사람들이 식료품점에서 식재료들을 살때 투자목적으로 보유하고 있는 회사주식을 지불수단으로
사용하지 않을 것 처럼, 현재 투기적으로 거래되고 있는 암호화폐들이 화폐로서 기능하도록 설계되었다 하더라도
현실적으로 법정화폐처럼 사용되는 것을기대하기는어렵다. 암호화폐사용대중화의또다른큰장애물은, 블록체인에
기반한 서비스를 사용하기 위해서는 블록체인 프로젝트들이 각각 자체 발행하고 있는 암호화폐들을 암호화폐
거래소에서 사용자들이 소유하고 있는 법정화폐를 가지고 해당 암호화폐들을 구매하여 블록체인 트랜잭션 수수료,
거래 대금 지불 등의 목적으로 사용해야 한다는 것이다. 또한 비트코인 이더리움과 같은 기존 퍼블릭 블록체인들은
처리속도가 매우 제한적이어서 대용량 트랜잭션을 처리할수 있는 상용 서비스를 블록체인 상에서구현하는것은현재
불가능하다. 퍼블릭 블록체인들이 블록체인 기술을 통한 탈중앙화/분산화의 이상을 구현하고자 하지만, PoW 기반의
블록체인들의 해쉬파워는 소수의 채굴풀들에 의해 집중화되어 있으며, 암호화폐의 지분 분배도 ICO를 통해 블록체인
개발회사 및 초기 투자자들에 의해 많은 부분 집중화 되어 있어서, 암호화폐 가격이 급등락하는 암호화폐 시장에서
암호화폐 발행자인 개발회사와 싼 값에 암호화폐를 대량으로 구매한 초기 투자자들에게 암호화폐를통한거래수익이
집중화되고 있으며 PoS 기반 블록체인 합의 방식에서 이미 암호화폐를 많이 가진 주체들이 블록 생성자로 선출되어
새로 발행되는 암호화폐를 가져가게 되는 불공평한 암호화폐 분배가 이뤄지는 것이 일반적인 상황이다. 블록체인
개발사 또는 초기 투자자가 아닌 후발 블록체인 참여자들은 그들이 해당 블록체인에서트랜잭션들을많이발생시켜서
직접적으로 블록체인 생태계에 공헌하는 블록체인 기반 서비스 제공자라고 할지라도 상대적으로 적은 보상을 받게
된다. 암호화폐를 이용한 가중치 투표를 통하여 블록 생성자들을 선출하는 방식으로 블록체인 거버넌스를 설계한
블록체인들도 암호화폐 배분의 불균형으로 인하여 동일하게 투표권의 집중화 현상이 나타나게 되며, 암호화폐
지분량이 적은 롱테일의 일반 사용자들이 추가적인 블록체인 트랜잭션을 해야하는 투표 과정에 적극적으로 참여하는
것을 기대하기는 매우 어렵다.
5
Page 7
In this paper, we introduce a new method of blockchain design without issuing native
crypto-currency minted by the blockchain itself. Instead, the fiat-pegged stable coins (e.g. digital
USD credit token) are issued as the foundational crypto-currency of the blockchain, provided a
trust entity such as a government or trusted financial institution backs the stable coins with an
equivalent fiat money reserve. Fiat-pegged stable coins are not likely to be involved in
speculation and most people are familiar and comfortable with stable fiat currencies. And we
proudly open a new horizon of blockchain consensus mechanism called Proof-of-Transaction
(PoT) which incentivizes the application service providers directly contributing to blockchain
ecosystem by generating actual blockchain transactions. The blockchain network collects
transaction fee profits by using fiat-pegged stable coin as the currency for fee payment. Special
administrative power is entitled to the trust entity under the social agreement of all players
running and using the blockchain (e.g. citizens use their national blockchain whose trust entity
is the national government, customers of a trusted financial institutions use the blockchain
operated by the institution). The trust entity only can execute predefined and restricted
administration operations on blockchain. All the blockchain transactions are provably
immutable and transparent to everyone including the administration actions of the trust entity.
Every block containing recent transactions is produced in a transparent and secure manner
through the reasonable and fair Proof-of-Transaction consensus mechanism, allowing any entity
to participate the blockchain consensus process together with the trust nodes appointed by the
trust entity. The YOSEMITE Blockchain is basically designed as a DEX (Decentralized
EXchange) blockchain which provides token exchange operations (token sell/buy order) as a
core pre-built blockchain transaction type. The trading fees from on-chain token exchange
transactions are collected and distributed to the trust entities and the service providers.
본 기술 백서를 통해 블록체인 자체적으로 새로운 암호화폐가 발행되지 않는, 즉 네이티브 암호화폐가 없는 퍼블릭
블록체인을 구현하는 새로운 방식을 소개한다. 블록체인에서 자체 생성 네이티브 암호화폐 대신에법정화폐의가치에
고정된 안정화 코인(예, dUSD, digital USD 신용 토큰)을 블록체인 상에 발행하여 블록체인의 기본 암호화폐로
사용한다. 이러한가치안정화코인은금융기관또는정부와같은신뢰기관이블록체인상에발행된토큰의양과동일한
양의 사용자들이 입금한 법정화폐를 지급준비금으로 보관함으로써 가능해진다. 법정화폐에 가치가 고정된 안정화
코인은 투기목적으로 거래되지 않을 것이며 일반 대중들은 일상에서 법정화폐를 사용하는 것과같이익숙하게사용할
수 있다. 자체 발행 네이티브 암호화폐가 없으므로 블록체인트랜잭션에서발생하는트랜잭션수수료는법정화폐고정
코인으로 징수된다. 그리고 본 기술 백서를 통해 블록체인 상에서 실제 의미있는 블록체인 트랜잭션들을 발생시켜
블록체인 생태계에 직접적으로 공헌하는 블록체인 기반 응용 서비스 제공자들에게 인센티브를 부여하는 기존 PoW,
PoS 합의방식과다른새로운방식의 Proof-of-Transaction (PoT) 블록체인합의메커니즘을소개한다. 블록체인생태계
구성원들의 사회적 합의를 얻을 수 있는신뢰기관에게블록체인상에서특별한관리권한이주어질수있다. (예를들면,
시민들이 자신들이 거주하고 있는 지역의 지방정부가 신뢰기관으로 운영에 참여하고 있는 블록체인을 사용하는데
지방정부는 이 블록체인상에서 특별 권한을보장받게됨, 또는금융기관이특별한권한을가지고운영에참여하고있는
블록체인을 해당 금융기관을 신뢰하는 고객들이 해당 블록체인을 통하여 금융거래를 함) 블록체인 상에서
신뢰기관에게 특별권한이 부여되지만 신뢰기관에게 주어지는 특별권한은 이미 블록체인 상에서 정의된
오퍼레이션들로만 제한되며, 신뢰기관이 실행한 모든 액션들은 블록체인 상에서 투명하고 위변조가 안되는 방식으로
모두에게 공개된다. YOSEMITE 블록체인 상에 새로운 블록(최근 블록체인 트랜잭션들의 집합)들을 생성하기 위해
선출되는 블록 생성자들이 PoT 기반 BFT 컨센서스 프로토콜을 통해 블록체인 합의를 이루어 나가게 되는데,
6
Page 8
YOSEMITE 블록체인의 블록생성자들은 Transaction-as-a-Vote(TaaV) 메커니즘을 통한 Proof-of-Transaction
방식으로 선출되며, 누구나 블록체인 상에서 트랜잭션을 많이 발생 시킬수 있는 블록체인 기반 서비스를 운용할 수
있으면 블록생성자로 선출되어 블록 생성 합의 과정에 참여하고 보상을 얻을 수 있다. 또한 블록체인이 안정적으로
운영될 수 있도록 신뢰기관들로 지정된 시드 신뢰 노드들이 일정 비율로 블록생성자들로 선정되어 합의 프로세스에
참여하게 된다. YOSEMITE 블록체인은 탈중앙화 분산 거래소(DEX, Decentralized Exchange) 기능이 기본적으로
탑재된 블록체인으로 설계되었다. 토큰 거래를 위한 Buy/Sell 주문들이 블록체인 상의 공개된 오더북에 등록되고
체결되며, DEX를 구현하기 위한 기본적인 오퍼레이션들이 블록생성자들이 운영하는 블록체인의 코어에 구현되어
있다. 블록체인 내 토큰 거래의수수료수익은블록생성자로선출될수있는서비스제공자들이운영하는 PoT 노드들과
신뢰기관들이 운영하는 신뢰 노드들에게 배분된다.
2 YOSEMITE Blockchain as Decentralized Exchange Platform YOSEMITE 블록체인 상에 구현된 탈중앙화 분산 거래소 플랫폼
Figure 2.1 - Crypto trading on the siloed centralized exchange systems
그림 2.1 - 중앙화된 암호화폐 거래소 (CEX) 시스템
The problem of centralized crypto-currency exchanges (CEX) is that they are the opaque siloed
systems. Although the crypto-currencies traded in the exchanges are minted and circulated on
the decentralized network of transparent public blockchains, the centralized exchange system
itself is not an open platform. Rather, only the exchange service operator has full access rights in
a siloed server system with the private application servers and database systems, like a usual
web application. Nevertheless, the reason why most crypto-currency trading volumes so far are
processed in these centralized exchanges is that the centralized servers can efficiently handle the
huge trading transaction volumes and their relatively easy usability, whereas on-blockchain
trading transactions are usually very slow, the transaction throughput is very low, and the
blockchain transaction fees (e.g. gas fee in Ethereum) must be paid by users. But, the critical
problem of any centralized exchange is that the trading transactions can be manipulated by the
7
Page 9
service operator, because once crypto-currencies and fiat funds are deposited to the centralized
exchange, the trading transactions are actually just modifications of the private databases for
which the service operator has full read/write access. The transaction data of the centralized
exchanges are not immutably transparent to the external world. Even worse, since the deposited
crypto-currencies and fiat funds are held by each centralized exchange, the assets can be
maliciously hacked by external or internal hackers, which has resulted in huge financial loss to
many exchange users.
현재 대부분의 암호화폐 거래소는 중앙화된 거래소(CEX, centralized exchange) 시스템으로 구현되어 운영되고 있다.
중앙화된 거래소 시스템은 블록체인 시스템과 달리 불투명하고 외부로 부터 격리되어 있는 시스템이다. 암호화폐
거래소에서 거래되는 암호화폐들은 퍼블릭 블록체인의 탈중앙화된 네트워크에서 발행되고 유통되고 있지만, 현재
대부분의 암호화폐의 거래는 오픈 플랫폼이 아닌 중앙화된 암호화폐 거래소에서 일어나고 있다. 암호화폐 거래소
사용자들의 암호화폐 거래 주문은 블록체인과 상관없이 중앙화된 거래소 서버에서 수집되고 거래소 서버 내에서
거래가 체결된다. 일반적인 웹 어플리케이션 서버 시스템과 같이, 중앙화된 암호화폐 거래소 서비스 운영자만이
외부로부터 격리된 내부의 거래소 어플리케이션 서버와 데이터베이스 시스템에 접근할 수 있는 권한을 가지고 있다.
그럼에도 불구하고지금까지거의대부분의암호화폐거래가이러한중앙화된암호화폐거래소들에서이루어지고있는
이유는 블록체인 상의 거래 트랜잭션은 일반적으로 매우 느리고 블록체인에서 동시에 처리가능한트랜잭션수가매우
적으며 블록체인 트랜잭션을 실행하려면사용자들이블록체인사용수수료(예, 이더리움의가스수수료)를블록체인의
암호화폐로 지분해야 하는 반면, 중앙화된 거래소 서버들은 대량의 거래 트랜잭션들을 빠르게 처리할 수 있으며
사용자들이 일반적인 웹서비스들과 같이 손쉽게 사용할 수 있기때문이다. 하지만중앙화된거래소시스템들은거래소
서비스 운영자들에 의해 거래 트랜잭션들이조작될가능성을항상가지고있다는중대한문제점을안고있다. 중앙화된
거래소에 암호화폐나 법정화폐가 입금된 후에는 모든 암호화폐 거래 트랜잭션은 단지 거래소 내부 데이터베이스를
수정하는 것에 지나지 않으며, 이 데이터베이스에 대한 읽기/쓰기 접근 권한은 서비스 운영자만이 가지고 있기
때문이다. 중앙화된 거래소에서 발생한 거래 데이터는 블록체인과는 달리 투명하고 위변조가 불가능한 방식으로
거래소 외부에 공개되지 않는다. 외부에서 거래소 데이터를 감사하더라도거래소내부데이터베이스의거래데이터는
언제든지 위변조가 가능하다. 또한, 중앙화된 거래소에 입금되어 있는 암호화폐와 법정화폐 자금은 거래소가 전부
보관하고 있어서 보안이 취약한 거래소 시스템들에서 끊임없이 거래소 외부와 내부의 공격자들로인한해킹사고들이
발생해 왔으며, 거래소 고객들의 자산에 심각한 피해를 입혀 왔다.
Figure 2.2 - Decentralized Exchange architecture of YOSEMITE Blockchain
그림 2.2 - YOSEMITE 블록체인 위에 구현된 탈중앙화 분산 거래소 (DEX) 시스템 구조
8
Page 10
The above diagram illustrates the decentralized exchange (DEX) platform architecture which
can be built upon the YOSEMITE Blockchain. The crypto tokens backed by either fiat money
funds held in trusted banks, other crypto-currencies, or real assets managed by trusted
Depositories, are issued and circulated in the YOSEMITE Blockchain in a transparent and
secure manner. Unlike a centralized exchange, buy/sell orders for the token exchange are
submitted as blockchain transactions signed by the user’s private keys, order-books are
on-blockchain and all the order-matchings are validated and transacted by the elected block
producers. The trading transactions are immutably transparent to the public and cannot be
manipulated by a centralized actor. The fiat-pegged stable coins issued through the trusted
Depositories are used as the trading currency and transaction fee payment. The YOSEMITE
Blockchain is basically a decentralized exchange platform in which various kinds of tokens are
traded securely and transparently with the fiat-pegged stable coin as the native crypto-currency
of the blockchain providing high speed and throughput of blockchain transaction processing.
그림 2.2는 YOSEMITE 블록체인 위에서 구현가능한 탈중앙화 분산 거래소 (DEX, decentralized exchange) 플랫폼의
아키텍처이다. 신뢰할수 있는 은행에 보관되어 있는 법정화폐들을 기반으로 하는 암호화 토큰, 외부의 퍼블릭
블록체인들의 암호화폐를 기반으로 하는 토큰, 실물자산을 기반으로 토큰 들이 신뢰기관인 Depository들을 통해
YOSEMITE 블록체인상에투명하고안전하게발행되고유통될수있다. 중앙화된거래소시스템과는다르게, 블록체인
상의 암호화 토큰 거래를 위한 Buy/Sell 주문 들은 블록체인 사용자 계정의 비밀키로 암호화 서명된 블록체인
트랜잭션으로탈중앙화된블록체인네트워크에제출되어토큰거래오더북(order book)이투명하고위변조가불가능한
블록체인 상에 공개된다. Buy/Sell 주문들은 블록체인 내에서 선출된 블록생성자들에 의해 검증되고 블록체인 상에서
주문체결이 이루어진다. 블록체인 상의 거래 트랜잭션들은 모두에게 투명하게 공개되고 중앙화된 하나의액터로부터
악의적인 조작이 불가능하다. YOSEMITE 블록체인은 신뢰기관인 Depository를 통해 발행되는 법정화폐 가치고정
안정화 코인을 토큰 거래 시 거래 기준 화폐와 블록체인 트랜잭션 수수료 지불 수단으로 사용하며, 다양한 종류의
토큰들을 안전하고 투명하게 거래할 수 있는 탈중앙화 분산 거래소 플랫폼 기능들을 블록체인의 기본 트랜잭션
타입으로 제공한다.
9
Page 11
3 Depository and Tokens Issued on YOSEMITE Blockchain Depository와 YOSEMITE 블록체인 상에 발행된 토큰
The Depository is the entity that issues tokens in YOSEMITE Blockchain and ensures the value
of issued tokens by holding assets outside the blockchain of equal value backing the issued
tokens. Whenever a token holder requests to redeem or withdraw their tokens, the Depository
who issued the token should burn the requested amount of tokens on blockchain and hand over
the corresponding amount of the backing asset to the user. The YOSEMITE Blockchain provides
built-in operations for issuing/redeeming(burning) tokens which can be circulated on the
blockchain. The issued token symbols are tagged by the account ID of the Depository who issued
the tokens. A token can be redeemed by only the Depository whose ID is tagged on the token
symbol.
Depository는 YOSEMITE 블록체인에 토큰을 발행하며 발행된 토큰의 가치에 일대일 대응되는 실물 자산을 블록체인
밖에서 투명하고 안전하게 보유하여 발행된 토큰을 가치를 뒷받침하는 기능을 하는 신뢰기관이다. 토큰 보유자가
가지고 있는 토큰을 대응되는 실물자산으로 교환을 요청하면 (redeem/withdrawal) Depository는 언제든지 자신이
발행한 토큰을 블록체인상에서 소각시키고 대응되는 실물자산을 사용자에게 안전하게 지급해 주어야 한다.
블록체인상에서 유통될수 있는 토큰 발행/청산(소각) 오퍼레이션들이 YOSEMITE 블록체인 상의 표준 트랜잭션으로
구현되어 제공된다. 발행된 토큰들의 심볼에는 토큰 발행자인 Depository의 블록체인 계정 식별자가 태그로붙여져서
발행된 토큰을 발행한 Depository를 식별할수 있도록 한다.
dUXD/D1 : UX-Dollar-pegged digital UXD token issued by the Depository D1, only
redeemable by D1
dBTC/D2 : Bitcoin-pegged digital BTC token issued by the Depository D2 holding the private
keys controlling the issued amount of actual Bitcoin, only redeemable by D2
dUXD/D1 : Depository D1에 의해 블록체인 상에 발행된 UX-Dollar에 고정된 digital UXD 토큰, 이 토큰은
Depository D1에 의해서만 UX-Dollar 실물자산으로 교환(redeem)이 가능함
dBTC/D2 : Depository D2에 의해 블록체인 상에 발행된 Bitcoin에 고정된 digital BTC 토큰, 이 토큰은 Depository
D2에 의해서만 Bitcoin으로 교환(redeem)이 가능함
If multiple entities issue UXD-pegged tokens, each token tagged by each Depository should be
redeemed by the tagged Depositories. The tokens can be issued by any blockchain accounts
acting as a Depository, but should earn trust from the blockchain users to be circulated on the
blockchain. The Depositories always are required to prove the secure existence of the backing
real assets transparently to be trusted.
10
Page 12
UXD에 가치가 고정된 토큰이 여러 Depository들에 의해서 발행되었다면, 각각 해당 Depository 식별자로 태그가
붙여진 토큰들은 해당 토큰을 발행한 Depository에 의해서만 UXD 실물자산으로 교환될 수 있다. YOSEMITE
블록체인상의 토큰들은 Depository로 동작하고자 하는 어떠한 블록체인 계정도 발행할 수 있으나, 발행된 토큰이
블록체인 상에서 원활하게 유통되기 위해서는 토큰을 발행한 Depository가 토큰 사용자들의 신뢰를 얻어야 한다.
Depository들이 블록체인 생태계에서 신뢰를 받기 위해서는 발행된 토큰의 가치를 뒷받침하는 실물자산들을 항상
안전하고 투명하게 보존하고 실물자산 들에 대한 신뢰할만한 정보들을 투명하게 공개해야 한다.
3.1 Fiat-Pegged Stable Coin (dFIAT) as Native Crypto-Currency of
YOSEMITE Blockchain YOSEMITE 블록체인의 네이티브 암호화폐로서의 법정화폐 고정 안정화 코인 (dFIAT)
Figure 3.1 - Fiat-pegged stable coin(dFIAT) as native currency of YOSEMITE Blockchain
그림 3.1 - YOSEMITE 블록체인의 네이티브 암호화폐로서의 법정화폐 고정 안정화 코인(dFIAT)
The fiat-pegged stable coin is the native crypto token on the YOSEMITE Blockchain, maintained
by a one-to-one backing of fiat money reserve outside the blockchain, and is issued by special
Depositories authorized by the top trust entity in the system, such as the government or a
trusted financial institution. This special fiat-pegged stable coin is the foundational currency in
YOSEMITE Blockchain, where it is used for transaction fee collection from every blockchain
transaction, as well as the trading currency for on-chain token exchange and the payment
method for blockchain applications. In YOSEMITE Blockchain, these kind of stable coins are
called as dFIAT (digital FIAT token). Below are the examples of dFIAT.
11
Page 13
법정화폐에 가치가 고정된 안정화 코인은 YOSEMITE 블록체인의 네이티브 암호 토큰인다. YOSEMITE
블록체인상에서 Top Trust Entity로 지정된 신뢰 금융 기관이나 정부기관이 공인한 특수 Depository에의해발행될수
있으며, 발행된 토큰의 양과 일대일로 대응되어 블록체인 상의 토큰의 가치를 보전하는 법정화폐 지급준비금이
블록체인 밖에서 투명하고 안전하게 관리된다. 법정화폐 가치 고정 안정화 코인은 블록체인 트랜잭션 마다 발생되는
트랜잭션 수수료 지불 수단, 블록체인 상 토큰 거래의 거래 기준 화폐, 블록체인 응용 서비스에서의 결제 수단 등에
사용되는 YOSEMITE 블록체인의 기초 화폐이다. YOSEMITE 블록체인에서발행된이러한법정화폐가치고정안정화
코인을 dFIAT (digital FIAT token) 토큰이라 칭한다. 아래는 dFIAT 토큰의 예이다.
● dUXD/TFI : UXD-pegged stable coin, digital UXD, issued by a trusted financial
institution (TFI), which could serve as the native crypto-currency of a blockchain
operated in a country where people use UXD dollar as currency.
● dKPW/BK1 : KPW-pegged stable coin, digital KPW, issued by a trusted bank (BK1),
which could serve as the native crypto-currency of a blockchain operated in a country
where people use KPW as currency.
...
● dUXD/TFI : 신뢰 금융기관 TFI가 블록체인 상에 발행한 법정화폐 UXD 가치 고정 안정화 코인. UXD를
법정화폐로 사용하는 지역에서 운용되는 YOSEMITE 블록체인의 네이티브 암호화폐로 사용될 수 있음.
● dKPW/BK1 : 신뢰 금융기관인 은행 BK1가 블록체인 상에 발행한 KPW 가치 고정 안정화 코인. KPW를
법정화폐로 사용하는 지역에서 운용되는 YOSEMITE 블록체인의 네이티브 암호화폐로 사용될 수 있음.
...
Unlike the other public blockchains’ native crypto-currencies, there is no currency inflation for
the native currency in YOSEMITE chain, dFIAT, because it is only issued when the users of the
blockchain deposit their fiat money to the dFIAT Depository. If a user sends 1000 KPW worth of
fiat money through an existing payment channel (e.g. wire-transfer, credit card payment) to the
bank acting as the authorized Depository (BK1), the same amount (1000) of dKPW/BK1 can be
issued to the user's blockchain account. The Depository system manages the fiat reserve by
interfacing with traditional secure banking systems and handles dFIAT token
issuance/redeeming by interfacing with the blockchain using the securely stored private key.
Because the guarantee of redeeming of dFIAT to actual fiat money is crucial for the YOSEMITE
Blockchain, the existence of trust entities receiving widespread public support is indispensable
in YOSEMITE Blockchain design. Only the Depository(ies) authorized in blockchain by the top
trust entity can issue and redeem dFIAT, but users will ultimately decide which Depositories’
tokens to use and trust.
일반적인 퍼블릭 블록체인 네이티브 암호화폐들과는 다르게, YOSEMITE 블록체인에서 네이티브 암호화폐로 쓰이는
dFIAT 토큰은 블록체인 사용자들이 Depository에 입금한 실제 법정 화폐의 양 만큼만 블록체인 상에서 발행되므로
dFIAT 토큰은 블록체인 내의 통화 인플레이션이 없다. 예를들어 한 블록체인 사용자가 1000 KPW 만큼의 실제
12
Page 14
법정화폐를 기존 결제 채널들(인터넷 뱅킹, 신용카드 결제 등)을 통해 YOSEMITE 블록체인 상의 공인 Depository
BK1으로 송금을 하면, 같은 양의 dFIAT 토큰인 1000 dKPW/BK1이 사용자의 블록체인 계정에 발행된다. Depository
시스템은 기존 뱅킹 시스템들과 연결되어 은행에 예치되어 있는 법정화폐 지급준비금을 관리하며, 시스템에안전하게
저장되어 있는 비밀키를 사용하여 YOSEMITE 블록체인 상의 dFIAT 토큰의 발행과 소각을 처리한다. YOSEMITE
블록체인에서 발행된 dFIAT 토큰들을 실제 법정화폐로 교환해 주는 것은 YOSEMITE 블록체인 운용의 핵심적인
부분이다. 이를 실현해줄 수 있는, 블록체인 사용자들로 부터 높은 신뢰를 받는 기관의 존재는 YOSEMITE 블록체인
설계에 반드시 필요한 요소이다. YOSEMITE 블록체인 상의 Top Trust Entity로 부터 명시적으로 공인된
Depository들만이 dFIAT 토큰들을 발행할수 있으나, 블록체인 사용자들이법정화폐를입금할경우에만 dFIAT 토큰이
발행될수있으므로결국에는블록체인생태계의사용자들의신임을받는 Depository들이발행한토큰들만이발행되고
유통될 것이다.
The public ledger of dFIAT token distribution for every blockchain account is maintained
transparently and securely by the blockchain network. All blockchain transactions such as
issuing/redeeming(burning) dFIAT, transferring dFIAT to another account (while consuming a
small amount of dFIAT as transaction fee), and exchanging tokens using dFIAT as trading
currency and transaction fee, are transparent and securely immutable since the transactions
occur on the blockchain. Since all actions of the dFIAT Depository are also transparent and
traceable, the total supply of the dFIAT token being circulated on blockchain is always public
information. So, if the trustworthy bank holding the fiat money deposited through the dFIAT
Depository allows public access to the current fiat money reserve balance in a reliable way,
blockchain users can transact on the YOSEMITE Blockchain without fear or uncertainty of
dFIAT redeem. Total supply of the dFIAT on the blockchain should always be less than or equal
to the fiat reserve amount in the trustworthy bank.
각 블록체인 계좌들의 dFIAT 토큰의 소유량에 대한 원장은 블록체인 네트워크를 통해 투명하고 위변조 할 수 없는
방식으로 안전하게 공개된다. dFIAT 토큰의 발행과 소각, 블록체인 계좌간 dFIAT 토큰 전송, dFIAT 토큰을 거래기준
화폐로 사용하는 다양한 토큰들의 오픈 마켓을 통한 거래, dFIAT으로 지불되는 트랜잭션 수수료 처리 등의 모든
블록체인 트랜잭션들이 투명하고 변경이 불가한 형태로 블록체인 상에서 처리된다. dFIAT Depository의 모든 액션이
블록체인 상에서 투명하고 추적이 가능하기 때문에 YOSEMITE 블록체인 상에서 발행되고 유통되고 있는 dFIAT
토큰의 총량은 항상 위변조가 불가한 공개정보이다. 따라서, 블록체인 생태계의 신뢰를 받고 있는 은행이 dFIAT
Depository를 통해 예치된 dFIAT 토큰 발행에 대응되는 법정화폐 지급준비금 잔고를 신뢰할수 있는 방식으로 항상
공개 한다면, 블록체인 사용자들은 dFIAT 토큰의 실제 법정화폐 교환의 불확실성에 대한 두려움 없이 YOSEMITE
블록체인 상의 dFIAT 토큰을 안전하게 사용할 수있다. dFIAT 토큰의블록체인상의발행총량은 Depository와연계된
은행에 예치되고 잔고가 공개되는 지급준비금의 총량보다 항상 같거나 작아야 한다.
13
Page 15
3.2 External-Crypto-Currency-Pegged Token (dCRYPTO) 외부 블록체인 암호화폐에 고정된 토큰 (dCRYPTO)
Figure 3.2 - Crypto-Currency-Pegged Token (dCRYPTO) issued by Depository
그림 3.2 -Depository에 의해 발행되는 외부 블록체인 암호화폐 고정 토큰 (dCRYPTO)
The crypto-currency-pegged tokens (dCRYPTO, digital CRYPTO token) can be issued by the
Depositories in the same way as the fiat-pegged stable coins. A Depository issues the exact
amount of dCRYPTO token only when a blockchain user deposits the same amount of
crypto-currency to the Depository’s external blockchain (e.g. Bitcoin, Ethereum) account, of
which the private key is owned by the Depository. A dCRYPTO token holder can always request
to redeem dCRYPTO to the actual crypto-currency, then the Depository has to burn dCRYPTO
token in the YOSEMITE Blockchain and transfer the burned amount of the external
crypto-currency to the token holder in the corresponding external blockchain. For example, the
dBTC/D2 token is the Bitcoin-backed crypto token issued by the Depository D2. When user A
deposits 1.25 BTC to Depository D2, 1.25 dBTC/D2 is issued to the user A’s YOSEMITE
blockchain account, regardless of the USD worth of the crypto-currency. The issued dCRYPTO
tokens can then be transferred and traded on the YOSEMITE Blockchain.
외부의 퍼블릭 블록체인들의 암호화폐의 가치에 고정된 토큰(dCRYPTO, digital CRYPTO 토큰)들도 신뢰기관인
Depository들에 의해 법정화폐 가치 고정 안정화 토큰 발행과 유사한 방식으로 블록체인 상에 발행될 수 있다.
Depository는 YOSEMITE 블록체인 사용자가 암호화폐를 Depository가 비밀키를 소유하고 있는 외부
블록체인(비트코인, 이더리움 등)의 계정으로 전송하면, 전송된 암호화폐의 양과 동일한 양의 dCRYPTO 토큰이
Depository에 의해 YOSEMITE 블록체인 상에 발행된다. dCRYPTO 토큰 소유자는 언제든지 Depository에게
dCRYPTO이 실제 외부 블록체인상의 암호화폐로 교환되도록 요청할 수 있다. 예를들면, YOSEMITE 블록체인 상에
발행된 dBTC/D2 토큰은 Depository D2에 의해 발행된 비트코인 암호화폐 기반 토큰이다. 사용자 A가 1.25 BTC를
14
Page 16
비트코인 블록체인 상에서 Depository D2의 비트코인계좌로전송하면, 동일한양의 1.25 dBTC/D2 토큰이사용자 A의
YOSEMITE 블록체인 계좌로 발행된다. 비트코인의 USD 가격과는 상관이 없다. 사용자 A가 Depository D2에게 0.5
dBTC/D2 토큰의 출금을요청하면 Depository D2는지금준비금으로보유하고있는비트코인중 0.5 BTC를사용자 A가
요청한 비트코인 계좌로 전송한다. 발행된 dCRYPTO 토큰들은 YOSEMITE 블록체인 상의 계좌들간에 전송되고
블록체인 내 오픈 마켓을 통해 거래될 수 있다.
The total supply of dCRYPTO is transparent and tamper-proof public information because
dCRYPTO is issued and circulated on the blockchain, i.e. all transaction data is held in the
decentralized ledger. Also, the amount of the crypto-currency owned by the Depositories can be
transparently verified by the corresponding external blockchain network. So, if the Depositories
publish their account addresses holding the external crypto-currency reserve and provide the
proof of the ownership of the private keys in external blockchains (e.g. providing the
cryptographic signature for the unpredictable recent block hash), YOSEMITE Blockchain users
can safely use dCRYPTO tokens on the YOSEMITE Blockchain. To gain trust from blockchain
users, the Depositories should be run by trusted institutions like banks and the private keys
must be securely managed within the environment guaranteeing high-level security.
dCRYPTO 토큰은 블록체인 상의 분산원장을 통해 발행되고 유통되므로 YOSEMITE 블록체인 내의 현재 dCRYPTO
토큰 총 통화량은 투명하고 위변조할 수없는공개정보이다. 또한 Depository들이보관하고있는암호화폐들의총량도
각암호화폐들의자체블록체인네트워크를통해 Depository가소유한계정들의암호화폐소유총량을투명하게확인할
수 있다. 따라서 Depository들이 외부 암호화폐를 지급준비금으로 보관하고 있는 Depository 소유의 외부 블록체인
계정 목록들을 공개하고 외부 블록체인 계정들의 소유권을 증명할 수 있다면(예를들어, 예측할수 없는 최근 블록
해시값에 대한 암호화 서명을 외부 블록체인 계정의 비밀키로 생성하여 주기적으로 공개함), YOSEMITE 블록체인
사용자들은 블록체인 상에 발행된 dCRYPTO 토큰들을 안전하게 사용할 수 있게 된다. 블록체인 사용자들의 신뢰를
얻기 위해, dCRYPTO 토큰을 발행하는 Depository들은 은행과 같은 신뢰 기관들에 의해 운영되어야하며, 암호화폐를
보관하는 비밀키들이 높은 수준의 보안이 유지되는 환경에서 안전하게 관리되어야 한다.
15
Page 17
3.3 Real Asset Token (dASSET) 실물 자산 기반 토큰 (dASSET)
Figure 3.2 - Real asset token (dASSET) issued by Depository
그림 3.2 - Depository에 의해 발행되는 실물자산 토큰 (dASSET)
Depositories can also issue real asset-backed crypto tokens (dASSET, digital ASSET token) on
the YOSEMITE Blockchain. The real assets, such as real estate, art pieces, (unlisted) company
shares, gold, diamond and so on, can be tokenized through trusted Depositories connecting the
real assets and the dASSET tokens. For example, REAL-123/D3 is the real estate token issued
for a building managed by Depository D3. The Depository issuing dASSET is required to
securely manage the ownership of the tokenized real assets and keep the real asset safe
physically. The partial ownership of the tokenized assets can be traded on the YOSEMITE
Blockchain. The open market determines the price of the assets through on-chain token trading.
If there is revenue generated from the tokenized asset, e.g. getting monthly rent, the profit can
be distributed to the dASSET token holders transparently on the blockchain. If someone wants
to purchase total ownership of a publicly tokenized asset (e.g. real estate, art-piece), one can
submit an asset acquisition proposal by escrowing a sum of fiat-pegged stable tokens
corresponding to the proposed purchase price (usually total market cap of the asset plus
premium). If the shareholders of the asset token approve the suggested price by voting in
proportion to the dASSET tokens owned by each shareholder, the total ownership of the real
asset is transferred to the asset buyer (e.g. ownership transfer on property deed, delivering the
art-piece to the buyer), the escrowed purchase payment is distributed to the dASSET token
holders proportionally, and all the dASSET tokens for the sold asset on blockchain are burned.
The operations required to facilitate real asset tokenization such as issuing/burning tokens,
16
Page 18
transferring/trading tokens, revenue distribution, proposing asset acquisition, escrowing
purchase payment, and voting are natively provided by the YOSEMITE Blockchain.
Depository들은 또한 YOSEMITE 블록체인 상에서 실물 자산 기반 토큰(dASSET, digital ASSET 토큰)들을 발행할수
있다. 부동산, 미술품, (비상장) 회사 주식, 금, 다이아몬드 등과같은실물자산들이신뢰기관인 Depository들을통해서
YOSEMITE 블록체인 상에서 발행될 수 있으며, Depository들은 발행된 dASSET 토큰들과 그와 연결된 실물자산들을
투명하고 안전하게 관리하는 역할을 한다. 예를 들어, REAL-123/D3 토큰은 특정 건물에 대한 지분을 거래하기 위해
Depository D3가 YOSEMITE 블록체인상에발행한토큰이다. dASSET 토큰을발행하는 Depository들은토큰화된실물
자산들의 소유권(부동산 등기 등)을 안전하게 관리해야 하며, 물리적으로 안전한 관리를 해야 한다. 토큰화된 실물
자산들은 Depository들의 보증하에 YOSEMITE 블록체인 상에서 실물자산에 대응하는 지분이 거래될 수 있다.
블록체인 상의 오픈 마켓 토큰거래를 통해 자산들의 가격이 시장에서 투명하게 결정된다. 만약 토큰화된 자산들에서
수익이발생한다면 (예를들어건물의월세수입등) 자산의수익이 Depository를통해법정화폐기반토큰으로블록체인
상에 입금되고 dASSET 토큰 소유자들에게 소유량에 비례하여 투명하게 배분되어진다. 부동산, 미술품같은토큰화된
자산의 전체 소유권이 블록체인 상에서 판매될 수도 있다. 자산의 전체 소유권을 구매하고자 하는 주체가 YOSEMITE
블록체인의 오픈마켓에서 형성된 현재 시장가격에 프리미엄을 붙인 전체 자산 가격에 해당하는 법정화폐에 고정된
코인을 YOSEMITE 블록체인상에에스크로하고자산인수제안을블록체인트랜잭션으로제출할수있다. 만약제안된
자산 인수 총 가격에 대해 해당 자산 토큰 소유자들이 각 계정의 토큰 소유량에 비례한 블록체인 상의 가중치 투표를
통해 승인하게 되면, 판매된 자산의 소유권이 자산 인수자에게 이전되며(예를들어, Depository를 통한 부동산 등기
이전, Depository가 보관하고 있는 실물 미술품을 인수자에게 배송함), 블록체인 상에 에스크로되어 있는 자산 인수
대금은 해당 자산의 dASSET 토큰 소유자의 블록체인 계정으로 각 계정의 토큰 소유량에 비례하여 배분되며, 해당
자산의 dASSET 토큰은 블록체인 상에서 모두 소각된다. 실물자산을 블록체인 상에서 토큰화하기 위해 필요한 모든
오퍼레이션들(토큰 발행/소각, 토큰 전송/거래, 수익 배분, 자산 인수 제안, 거래 대금 에스크로, 지분 투표 등)이
YOSEMITE 블록체인의 자체 트랜잭션으로 기본적으로 제공된다.
17
Page 19
4 Built-in Token Operations in YOSEMITE Blockchain YOSEMITE 블록체인에서 기본 제공되는 토큰 오퍼레이션
In the YOSEMITE Blockchain, the built-in operations to implement the on-chain decentralized
token exchange are provided at the core level. The crypto token issue/redeem, token transfer,
and token exchange order operations are provided as primitive blockchain transaction types.
YOSEMITE 블록체인은 블록체인 상에서 탈중앙화 분산 토큰 거래소 구현이가능하도록블록체인코어레벨에서기본
제공되는 토큰 오퍼레이션들을 제공한다. 토큰 생성/소각(redeem), 토큰 전송, 토큰 거래 주문 오퍼레이션들이
블록체인 상의 기본 트랜잭션 타입으로 제공된다.
● Issue / Redeem (Burn) Token 토큰 생성/소각(redeem) 오퍼레이션
A Depository can submit Issue-Token transactions to issue crypto tokens backed by real
assets securely held by the Depository on blockchain, and make Redeem-Token
transactions to burn issued crypto tokens to withdraw the real asset to the requesting
users. The Issue/Redeem-Token transactions should be crypto-signed by the private key
of the Depository account.
Depository는 안전하게 보관하고 있는 실물 자산에 대응하는 암호화 토큰을 블록체인 상에 발행하기 위해
Issue-Token 트랜잭션을 블록체인 네트워크에 제출한다. 또한 토큰 보유자의 토큰 교환 (redeem) 요청 시,
Depository는 사용자에게 실물 자산을 전달(출금)하고 Depository가 발행한 토큰을 redeem이 요청된 만큼
소각하기 위해 Redeem-Token 트랜잭션을 블록체인 네트워크에 제출한다. Issue/Redeem-Token 트랜잭션
메시지는 Depository의 블록체인 계정의 비밀키로 암호화 서명이 되어야 한다.
e.g. Issue 10000 dKPW/D1 to account-A, Redeem(burn) 5000 dKPW/D1 and withdraw
5000 KPW to user-A’s bank account, Issue 1.353 dBTC/D1 to account-B, Issue 10.515
dETH/D2 to account-C
예) Depository D1이 10000 dKPW/D1 토큰을 계정 A에 발행함, 계정 A가 소유한 5000 dKPW/D1 토큰을
소각하고 5000 KPW 를 은행 시스템을 통해 계정 A의 소유자에게 지급함, 1.353 dBTC/D1 토큰을 계정 B에
발행함, 10.515 dETH/D2 토큰을 계정 C에 발행함.
● Token Transfer 토큰 전송 오퍼레이션
A blockchain user can transfer his/her own crypto tokens held by the user’s blockchain
account to any other blockchain accounts. The Token-Transfer transaction should be
crypto-signed by the private key of the token sender’s account. The transfer transaction
18
Page 20
fee should be paid using the fiat-pegged stable coin, native to the YOSEMITE Blockchain.
A Token-Transfer transaction can be blocked if the transfer is not legitimate (e.g. not
KYC-authorized account). For the Tx-Vote field, refer to 5.1 “Transaction-as-a-Vote”
part.
블록체인 사용자는 자신의 블록체인 계정이 소유하고 있는 토큰들을다른블록체인계정들로전송할수있다.
Token-Transfer 트랜잭션 메시지는 토큰을 전송하는 블록체인 계정의 비밀키로 암호화 서명이 되어야 한다.
토큰 전송시 트랜잭션 수수료는 법정화폐 가치 고정 안정화 코인 dFIAT으로 지불된다. Token-Transfer
트랜잭션은 해당 토큰의설정에따라 KYC/AML 인증과정을거치지않은사용자들에게로의전송이제한될수
있다. 아래 예제의 Tx-Vote 필드는 5.1 “Transaction-as-a-Vote (TaaV)” 파트를 참고.
e.g. [ From : account-A, To : account-B, Amount: 50000 dKPW/D1, Tx-Fee : 100
dKPW/D1, Tx-Vote : Node-K-address ]
● Token Exchange Order 토큰 거래 주문 오퍼레이션
A blockchain user can submit buy/sell orders to trade his/her own crypto token. The
token exchange orders are matched automatically by the block producers who execute
the actual token trade between the buy/sell order submitters and collect the exchange
transaction fees paid with fiat-pegged stable coins. The Token-Exchange-Order
transaction should be crypto-signed by the private key of the order maker’s account. For
the Tx-Vote field, refer to 5.1 “Transaction-as-a-Vote” part. An open order which is not
yet fully filled can be cancelled by a Cancel-Order transaction signed by the same
account, with no transaction fee charged for the cancel operation.
블록체인 사용자는 소유하고 있는 토큰을 블록체인 상에서 거래하기 위해 Buy/Sell 주문을 블록체인
네트워크에 제출 할 수 있다. 토큰 거래 주문들은 블록 생성자들에 의해 가격 조건이 맞는 Buy/Sell 주문들이
자동으로 체결 처리된다. 거래 주문 들이 체결될 때 발생하는 트랜잭션 수수료는 법정화폐 가치 고정 안정화
코인 dFIAT으로 지불된다. Token-Exchange-Order 트랜잭션 메시지는 주문을 생성한 블록체인 계정으로
암호화 서명이 되어야 한다. 아래 예제의 Tx-Vote 필드는 5.1 “Transaction-as-a-Vote (TaaV)” 파트를 참고.
아직 완전히 체결이 완료되지 않는 주문들 (open order)은 주문 트랜잭션과 같은 블록체인 계정으로 암호화
서명된 Cancel-Order 트랜잭션으로 취소할 수 있다. 주문 취소 트랜잭션은 트랜잭션 수수료가 징수되지
않는다.
e.g. [ From : account-A, Buy : dETH/D2, Sell : dKPW/D1, Amount : 3, Price :
(1:150000), Tx-Fee : 450 dKPW/D1 (0.1%), Tx-Vote : Node-A-address ]
[ From : account-B, Buy : dKPW/D1, Sell : dETH/D2, Amount : 200000, Price :
(100000:1), Tx-Fee : 200 dKPW/D1 (0.1%), Tx-Vote : Node-Q-address ]
Since the core operations required to build an exchange service are supported as the primitive
blockchain transactions, the on-blockchain exchange service can be directly implemented on the
19
Page 21
YOSEMITE Blockchain. The transaction fees, paid in fiat-pegged stable coins (e.g. dKPW/D1),
are collected and held in the transaction fee profit pool on the blockchain. The collected
transaction fee profits are periodically distributed to the blockchain operators like block
producers.
이러한 토큰 거래소 서비스를 개발하는데 필요한 주요 오퍼레이션들이 기본 블록체인 트랜잭션으로 제공되므로,
YOSEMITE 블록체인 위에 블록체인 기반 탈중앙화 거래소 서비스를 손쉽게 개발할 수 있다. 블록체인 트랜잭션이
처리될 때 발생하는 트랜잭션 수수료는 dKPW/D1 와 같은 법정화폐 가치 고정 안정화 코인 dFIAT으로 징수되며,
징수된 수수료들은 블록체인상의 트랜잭션 수수료 수익 풀 (transaction fee profit pool)에쌓이게된다. 풀에축적되는
트랜잭션 수수료 수익은 블록생성자와 같은 블록체인을 운용자들에게 주기적으로 배분된다.
Token-Transfer operations are immediately charged transaction fees in dFIAT, preventing DoS 5
(Denial of Service) attacks. For Token-Exchange-Order transactions, only blockchain accounts
holding non-zero amount of tokens (including the transaction fee) not locked in the open orders
can make exchange transactions, similar to bandwidth allocation based on token ownership
without spending any tokens in EOS. To prevent multitudes of microtransactions trading a tiny
amount of tokens to spam the blockchain, a minimum limit for the amount of tokens
transferable or tradable in one transaction is enforced. Because Token-Exchange-Order
transactions are not immediately charged transaction fees, i.e. fees are collected only when the
buy/sell orders are matched, and the Cancel-Order transaction is fee free, malicious attackers
can repeat Token-Exchange-Order and Cancel-Order transactions indefinitely to orchestrate a
DoS attack without spending any tokens. To prevent this, the YOSEMITE Blockchain restricts
the rate of the Cancel-Order transactions adaptively in proportion to the dFIAT holding of each
account.
DoS (Denial of Service) 공격을 방지하기 위해 Token-Transfer 트랜잭션이 실행될 때 즉시 dFIAT으로 트랜잭션
수수료가 징수된다. Token-Exchange-Order 트랜잭션에 대해서는 주문 트랜잭션 제출시 즉시 트랜잭션 수수료가
징수되지는 않지만, 거래할 수 있는 미체결 주문들에 묶여있지 않은 트랜잭션 수수료를 포함한 0이 아닌 양의 토큰을
블록체인 계정이 소유하고 있어야만 Token-Exchange-Order 트랜잭션을 발생시킬 수 있으므로 DoS 공격을 위해
무한히 주문 트랜잭션을 생성할 수는 없다. (EOS 블록체인에서 EOS 토큰의 소유량에 비례한 만큼의 트랜잭션 처리
사용량을 각 계정에 할당하여 DoS 공격을방지할수있는개념과유사하게생각할수있다.) 하나의주문을아주미세한
양의 주문 트랜잭션들로 나누어 아주 많은 수의 블록체인 트랜잭션들을 생성하여 블록체인을 공격할 수 있으므로,
하나의 토큰 전송/거래주문 트랜잭션에서 최소 토큰량 이상의 토큰 전송/거래만 블록체인에서 처리되도록 강제된다.
Token-Exchange-Order 트랜잭션은 Buy/Sell 주문이 매치가 되어 체결이 되기 전까지는 트랜잭션 수수료가 발생하지
않고, Cancel-Order 트랜잭션도 트랜잭션 수수료가 징수되지 않으므로, 악의적인 공격자들이 Token-Exchange-Order
트랜잭션과 Cancel-Order 트랜잭션을 끊임없이 반복하여 블록체인 상의 토큰을 전혀 소진하지 않고도 DoS 공격을
실행할수 있다. 이를방지하기위해, YOSEMITE 블록체인은한계정이 Cancel-Order 트랜잭션을제출할수있는횟수를
해당 계정의 dFIAT 소유량에 비례하여 제한한다.
5 Denial of service attack - https://en.wikipedia.org/wiki/Denial-of-service_attack
20
Page 22
5 Proof-of-Transaction (PoT) Consensus Mechanism Proof-of-Transaction (PoT) 컨센서스 메커니즘
5.1 Transaction-as-a-Vote (TaaV)
The key idea that makes Proof-of-Transaction a novel blockchain consensus mechanism is the
concept of Transaction-as-a-Vote (TaaV). Every transaction generated by the client side of the
blockchain applications can optionally include a vote for a block producer candidate who can
potentially participate or is already participating in the blockchain consensus process. In
blockchain transaction messages which would incur some transaction fee, there is an optional
"transaction vote" field where a blockchain account address can be specified as a vote. That
means the entity generating the transaction on blockchain wants the blockchain core node
having the voted address to be a block producer. The transaction message containing the vote
for block producer is cryptographically signed by the private key of a blockchain account, so each
transaction vote has its own cryptographic proof on blockchain.
Proof-of-Transaction(PoT) 기반 컨센서스 메커니즘이 효과적이고 독창적인 블록체인 합의 방식으로 설계된 핵심
아이디어는 Transaction-as-a-Vote (TaaV) 이다. 블록체인의클라이언트측에서생성되는블록체인트랜잭션메시지에
블록체인 합의 과정에 참여하고 있거나 참여할 가능성이 높은블록생성자후보자를투표할수있는항목이선택적으로
포함될 수 있다. 이러한 트랜잭션 투표는 트랜잭션 수수료를 발생시키는 트랜잭션 메시지들에대해서만블록생성자로
선택될 수 있는 특정 블록체인 계정 주소가 “트랜잭션 투표" 필드에 명시 될 수 있다. 트랜잭션 메시지를 생성하는
주체가 트랜잭션 투표 필드에 명시된 블록체인 계정 주소를소유하고있는블록체인코어노드가블록생성자로뽑히는
것을 원한다는 의미의 투표이다. 블록생성자에 대한 투표를 포함하고 있는 블록체인 트랜잭션 메세지들은 해당
트랜잭션들을 생성하는 블록체인 계정의 비밀키로 암호화 서명이 되어지므로, 블록생성자 선출에 대한모든트랜잭션
투표에 대해 블록체인 상에 위변조가 불가능한 암호학적 증명 데이터가 기록된다.
Figure 5.1 - Transaction-as-a-Vote examples
그림 5.1 - Transaction-as-a-Vote 예제들
21
Page 23
The blockchain core nodes who acquire the most votes from processed transactions will be
elected as block producers that will cooperatively make new blocks and take rewards from
blockchain. Not every transaction has the transaction vote field, only the transactions incurring
transaction fees paid by blockchain users, i.e. transactions actually contributing to the
blockchain itself, generating profit for blockchain operators including block producers. Each
vote is not equally weighted, they are weighted in proportion to the transaction fee amount paid,
the more transaction fee paid from the voted transaction, the more weighted votes are
accumulated for the specified block producer. And the votes are only effective when the
transaction fees are actually paid to the blockchain. The transaction votes of the open token
exchange (buy/sell) orders unfilled yet are not tallied up as valid votes until the orders are
actually executed. In the example in the Figure 5.1, the token transfer transaction incurring
transaction fee 300 dKPW/D1 with a transaction vote signed for the Node-T-address is
300-weighted vote to Node-T. The token exchange sell order transaction with a transaction vote
signed for the Node-Q-address, which will incur 450 dKPW/D1 as transaction fee when the
order is executed, is 450-weighted vote to Node-Q only effective when it's actually filled. If the
order is cancelled by the user, it is not an effective vote.
블록체인 네트워크에 제출되고 정상적으로 처리된 블록체인 트랜잭션들로 부터 수집되는 트랜잭션 투표를 많이 얻는
블록체인 코어 노드들은 YOSEMITE 블록체인의 블록생성자로 선출되고, 새로운 블록을 생성하는 블록체인 합의
프로토콜에 다른블록생성자들과협력적으로참여하게되며, 새로운블록을생성할때주어지는보상을얻게된다. 모든
트랜잭션이 트랜잭션 투표를 포함할 수있는것은아니고, 트랜잭션수수료를발생시켜서블록생성자와같은블록체인
운영자들에게 수익을 주게되는 트랜잭션들만이 유효한 트랜잭션 투표를 포함할수있다. 각트랜잭션투표들이동일한
가중치로 처리되지않으며, 해당트랜잭션에서징수된트랜잭션수수료의양에비례한가중치투표로처리된다. 더많은
트랜잭션 수수료가 징수된 트랜잭션의 투표가 더 가중치가 높은 투표로 해당 블록생성자 후보 계정으로 집계된다.
트랜잭션 투표는 트랜잭션 수수료가 블록체인에서 실제로 징수 되는 시점 이후에만 유효하다. 따라서 아직 체결되지
않는 토큰 거래 Buy/Sell 주문들에 포함되어 있는 트랜잭션 투표들은 거래주문들이실제로체결되기전까지는유효한
투표로 집계되지 않는다. 그림 5.1의예에서, Node-T의블록체인주소로투표가된 300 dKPW/D1의트랜잭션수수료를
발생시키는 토큰 전송트랜잭션은 Node-T에대한 300만큼의가중치가부여된트랜잭션투표이다. Node-Q의블록체인
주소로 투표가 된 450 dKPW/D1의 트랜잭션 수수료를 발생시키는 그림 5.1의 토큰 거래 Sell 주문 트랜잭션이 주문
가격이 맞는 Buy 주문과 체결될 때 Node-Q에 대한 450 만큼의 가중치가 부여된 투표로 집계된다. 만약 해당 주문이
체결되지 않은 채 사용자에 의해 취소되었다면, 트랜잭션에 포함된 투표는 유효하지 않다.
In other blockchains, the voting process for blockchain governance and profit sharing are
usually separate and explicit processes, where the blockchain users have to submit a separate,
dedicated blockchain transaction in order to vote. Since most average users would not take the
time to explicitly vote, especially if fees are incurred while doing so, voting rates are typically low
in blockchain governance mechanisms. In EOS blockchain, the EOS token holders have to cast
their votes explicitly to the delegated block producers . In Stellar blockchain, the Lumens token 6
6 EOS.IO Technical White Paper - Consensus Algorithm (DPOS) - https://github.com/EOSIO/Documentation/blob/master/TechnicalWhitePaper.md#consensus-algorithm-dpos
22
Page 24
holders have to designate a blockchain account address who will take a portion of the
crypto-currency inflation . But in the YOSEMITE Blockchain with TaaV, the voting process for 7
blockchain governance and profit distribution is effectively integrated into the usual blockchain
transaction processing, and blockchain users do not need to be bothered with explicit voting.
일반적으로 다른 블록체인 시스템들에서 구현된 블록체인 거버넌스, 코인 수익 배분등을 위한 투표 프로세스들은
블록체인 사용자들이 투표에 참여하기 위해 별도의 블록체인 트랜잭션을 생성해야 하는 방식을 사용으로 설계되어
있다. 일반적인 블록체인 사용자들이 추가적으로 시간과 비용을 들여 별도의 트랜잭션을 생성하여 투표과정에
적극적으로 참여하기를 기대하기는 매우 어려우며, 특히 투표를 하기 위한 블록체인 트랜잭션 생성 시 블록체인 사용
수수료가 발생한다면 사용자들의 참여를 기대하기는 더욱 어렵다. 따라서 별도의 투표과정을 통해 블록체인
거버넌스가 운용되도록 한 블록체인들의 투표율은 일반적으로 상당히 낮을 수 밖에 없다. EOS 블록체인에서는
블록생성 권한이 EOS 암호화폐 소유자들로부터 위임된 블록생성자들을 선출하기 위해 EOS 암호화폐 소유자들이
일반적인 EOS 기반 블록체인 서비스를 사용하는 것과는 별도의 투표 프로세스에 참여해야 한다. 다른 예로, Stellar
블록체인에서는 블록체인 자체적으로 매 블럭마다 생성되는 (인플레이션으로 새롭게 발행되는) Lumens 암호화폐를
블록체인 노드를 운영하는 블록 생성자들에게 지급하지 않고, 인플레이션으로생성되는 Lumens 암호화폐들을어떠한
블록체인 계정이 가져갈 것인가에 대하여 Lumens 암호화폐 소유자들이 별도의 투표 과정이 참여해야 한다. 반면에,
Transaction-as-a-Vote (TaaV) 메커니즘을 사용하는 YOSEMITE 블록체인에서는 블록체인 거버넌스와 수익 배분을
위한 투표 프로세스가 별도로 존재하는 것이 아니라 블록체인 상에서 발생하는 트랜잭션에효과적으로통합되어있기
때문에 블록체인 사용자들이 별도의 투표과정에 참여하지 않아도 합리적인 방식으로 블록체인 사용자들의 투표가
자동으로 이루어 지게 된다.
5.2 Proof-of-Transaction as Incentivization for Service Providers 블록체인 서비스 제공자들에게 인센티브를 부여하는 Proof-of-Transaction 합의 메커니즘
Figure 5.2 - Proof-of-Transaction as the incentivization for the blockchain-based service providers
그림 5.2 - 블록체인 기반 서비스 제공자들에게 인센티브를 부여하는 Proof-of-Transaction 메커니즘
7 Stellar Developers Guide - Inflation - https://www.stellar.org/developers/guides/concepts/inflation.html
23
Page 25
The transaction votes for each blockchain core node (block producer candidate) are
continuously accumulated as the newly-made transactions are processed on the blockchain. The
amount of transaction votes acquired is solid proof of how much the blockchain account has
produced meaningful blockchain transactions invigorating the economy of the blockchain. The
accumulated vote amount is used as the key criteria for the block producer election in
YOSEMITE Blockchain. Proof-of-Work (PoW) based blockchains incentivize the entities having
a large hash power created from a huge amount of computation, which contributes nothing to
the blockchain itself besides creating a competition for block production, and wastefully
consumes massive amounts of electricity. Alternatively, Proof-of-Stake (PoS) based blockchains
incentivise entities owning a large amount of the native crypto-currency. The validators or block
producers of PoS, who already possess a lot of crypto-currency, will have more opportunities to
earn newly-minted crypto-currencies generated as the block reward from the blockchain itself,
essentially the-rich-get-richer. While both PoW and PoS incentivize the players who already
have vested interests but do not directly contribute to the creation of the economic transactions,
Proof-of-Transaction (PoT) incentivizes the blockchain-based service providers who can
produce the tx-fee-revenue-generating transactions, directly contributing to the blockchain
economy by creating real transactions, not just leveraging already vested computation power or
financial wealth.
블록체인 상에서 새로운 트랜잭션들이 생성되고 처리됨에 따라, 블록생성자후보자인각블록체인코어노드들에대한
트랜잭션 투표가 누적된다. 각 블록체인 노드들의 계정에 누적된 트랜잭션 투표의 양은 해당 블록체인 계정을 소유한
주체가 얼마나 많은 의미있는 블록체인 트랜잭션들을 발생시키고 블록체인 내 경제를 활성화 시켰는 지에 대한 매우
정확하고 의미 있는 척도이다. 이렇게 축적된 트랜잭션 투표량은 YOSEMITE 블록체인의 블록생성자들을선출하는데
핵심적인 기준으로 사용된다. Proof-of-Work (PoW) 기반 블록체인은 거대한 양의 컴퓨터 연산으로부터 얻을 수 있는
해시 파워를 가진 주체들에게 인센티브를 제공하지만, 이러한 해시파워는 블록을 생성하는 계정을 선정하는 경쟁에
사용되는 것 외에 블록체인에 자체에 특별한 공헌을 하지는 않으며, PoW 기반 블록체인의 해시파워를 만들어 내기
위해 천문학적인 규모의 전기가 소모되고 있다. 한편, Proof-of-Stake (PoS) 기반의 블록체인은 해당 블록체인의
네이티브 암호화폐를 많이 소유하고 있는 주체들에게 인센티브를 준다. 많은 양의 암호화폐를 이미 소유하고 있는
PoS의 밸리데이터 또는 블록생성자들은 블록체인 합의 과정에서 새로운 블록을 생성하는 노드로 선출될 가능성이
높아지고 새로운 블록 생성 시 보상으로 주어지는 신규 발행된 암호화폐를 다시 얻게 된다. 결국 PoS 합의 방식은
기존에 암호화폐를 많이 가진이들이 더 많은 암호화폐를 얻을 수 있게 되는 부익부 시스템이라고 볼 수 있다. 이렇게
PoW, PoS 기반 블록체인 합의 방식들이 블록체인 상에서 발생하는 경제활동인 트랜잭션 생성에 직접적인 공헌을
하지는 않는 기득 권력(하드웨어 설비를 통한 해시파워 생성, 암호화폐)을 가진 참여자들에게 인센티브를 부여하는
반면, YOSEMITE 블록체인의 Proof-of-Transaction (PoT) 기반 합의 방식은 블록체인 상에서 트랜잭션수수료수익을
발생시켜 블록체인 내 경제에 직접적인 공헌을 하는 유의미한 블록체인 트랜잭션들을 많이발생시키는블록체인기반
서비스 제공자들에게 인센티브를 부여하는 합리적이고 공정한 블록체인 합의 방식이다.
Though the blockchain transaction message must always be crypto-signed by the private key of
the user’s blockchain account, the transaction message itself is not written by human hands.
Rather, the transaction voting field is encoded within the software developed for the specific
blockchain application serviced to the user. So when the software implemented by the
blockchain service provider creates blockchain transaction messages for application users, the
24
Page 26
account address of the blockchain core node being run by the service provider can be written in
the vote field for every transaction generated from the blockchain application. In above example
of Figure 5.2, the crypto exchange company A is providing its service built upon the YOSEMITE
Blockchain. The crypto trading software built by the company A always inserts the company’s
own blockchain core node address (Node-Crypto-Ex-A) in the transaction vote field of every
blockchain transaction message made for the user’s sell/buy order. As the trading volume of the
exchange service grows, the company A’s node accumulates a significant amount of transaction
votes that will qualify the node for the block producer election. The service providers, such as
crypto exchanges, fintech companies, and so on, will compete in a transparent and fair way to
get as many transaction votes as possible by providing useful services to the users.
블록체인 트랜잭션 메시지는 블록체인 사용자 계정의 비밀키로 항상암호화서명이되어야하지만, 블록체인트랜잭션
메시지를 사용자가 직접 만드는 것은 아니다. 트랜잭션메시지는사용자가사용하는소프트웨어가생성하며, 트랜잭션
투표 필드 역시 블록체인 사용자에게 서비스되는 특정 블록체인 응용서비스를 위해 개발된 소프트웨어가 사용자를
대신하여 인코딩하게 된다. 따라서 YOSEMITE 블록체인에 기반한 서비스를 제공하기 위해 개발되어 사용자들에게
제공되는 소프트웨어들은 자신의 서비스에서 생성되는 모든 블록체인 트랜잭션 메시지의 트랜잭션 투표 필드에 해당
서비스 제공자가 운영하는 블록체인 코어 노드의 블록체인 계정 주소를 항상 인코딩하도록 개발될것이다. 그림 5.2의
예에서, YOSEMITE 블록체인 기반하여 서비스를 제공하고 있는 암호화폐 거래소 A의 트레이딩 소프트웨어는
사용자들의 토큰 거래 Buy/Sell 주문을 위해 인코딩되는 모든 트랜잭션 메시지들의 트랜잭션 투표 항목에 거래소
회사가 운영하는 블록체인 코어 노드의 블록체인 계정 주소(Node-Crypto-Ex-A)를 항상 입력하고 사용자가 제공한
블록체인 암호키로 트랜잭션 메세지를 암호화 서명하여 블록체인 네트워크에 제출한다. 암호화폐 거래소 서비스의
거래량이증가함에따라, 거래소회사 A의블록체인노드는많은양의트랜잭션투표를얻게될것이고, 결국 YOSEMITE
블록체인의 블록생성자로 선출되어 블록체인에서 보상을 받게 된다. YOSEMITE 블록체인에기반한암호화폐거래소,
핀테크 서비스 회사들과 같은 서비스 제공자들은 더 많은 양의 트랜잭션 투표를 얻기 위해 블록체인 사용자들에게
양질의 서비스를 제공하려는 노력을 하며 투명하고 공정한 방식으로 경쟁하게 될 것이다.
25
Page 27
5.3 Blockchain Consensus, Governance, Tx Fee Profit Distribution 블록체인 컨센서스, 거버넌스, 트랜잭션 수수료 배분
Figure 5.3 - Proof-of-Transaction based BFT blockchain consensus
그림 5.3 - Proof-of-Transaction 기반 BFT 블록체인 컨센서스
5.3.1 Proof-of-Transaction (PoT) Node Pool Proof-of-Transaction (PoT) 노드 풀
Proof-of-Transaction based blockchain consensus is designed as a new blockchain consensus
mechanism for public blockchain like YOSEMITE Blockchain. Any entity can be elected as a
block producer, and subsequently participate in blockchain consensus to make new blocks and
collect profits, by earning sufficient transaction votes from blockchain users for whom the entity
provides useful blockchain-based application services. The blockchain account addresses owned
by the blockchain core nodes run by the service providers, which earn the relatively more
amount of transaction votes are listed publicly in the Proof-of-Transaction Node Pool. The
blockchain accounts in the PoT Node Pool are guaranteed to get a portion (dividend) of the
transaction fee profits from the YOSEMITE Blockchain. The amount of user-signed transaction
votes earned by each account is calculated by the elected block producers through
BFT(Byzantine Fault Tolerant)-based blockchain consensus in a secure and transparent
manner, being utilized as the reliable and fair criteria to determine the beneficiaries of the
blockchain system. The number of accounts in the PoT Node Pool is limited and there is a
threshold amount of transaction votes to be earned for an account to be included in the PoT
26
Page 28
Node Pool. P% of the total transaction fee profits is allocated to the PoT Node Pool, among the
P%, each account in the pool can claim its own profit in proportion to the transaction votes
earned. PoT In the example of Figure 5.3, the top rated Node C who earned 120 billion points
from weighted transaction votes can claim 5% of the transaction fee profits generated from a
time window. The top nodes in PoT Node Pool also have the right to be elected to be block
producers to make new blocks and earn the additional block reward profit.
Proof-of-Transaction 기반 블록체인 컨센서스는 YOSEMITE 블록체인과 같은 퍼블릭 블록체인을 위한 합의
메커니즘이다. 블록체인 유저들에게 유용한 서비스를 제공하여 트랜잭션 투표만 얻을 수 있다면, 어떠한 블록체인
노드도 블록생성자로선출되어블록체인합의프로토콜에참여하고새로운블록을생성하여블록체인으로부터보상을
얻을 수 있다. 서비스 제공자들이 운영하는 블록체인 코어 노드가 소유하고 있는 블록체인 계정 주소들이 상대적으로
많은 양의 트랜잭션 투표를 얻게 되면투표량의순서에따라 Proof-of-Transaction(PoT) Node Pool에등록되며, 등록된
블록체인 계정들은 YOSEMITE 블록체인에서 발생하는 블록체인 트랜잭션 수수료 수익의 일부를 보상으로 받는것이
보장된다. 각 블록체인 계정이 얻게 되는 블록체인 사용자 계정들로 부터 서명된 트랜잭션 투표량은 YOSEMITE
블록체인 상에서 선출된 블록생성자들이 BFT (Byzantine Fault Tolerant) 기반 블록체인 합의 프로토콜을 통해 8
보안성이 높고 투명한 방식으로 정확하게 계산되어 진다. PoT Node Pool에 포함될 수 있는 블록체인 계정의 수는
제한되어 있으며, 획득한 트랜잭션 투표량에 따라 매 블록마다 정렬되어 목록에 반영된다. 아주 작은 양의 트랜잭션
투표 획득으로는 PoT Node Pool에 등록될 수 없으며 임계치 이상의 트랜잭션 투표를획득한계정들만 PoT Node Pool
등록 대상이 된다. 총 블록체인 트랜잭션 수수료 수익의 P%가 PoT Node Pool에할당되며, PoT Node Pool에등록된각
계정들은 각계정이획득한트랜잭션투표량에비례하여자신에게할당된수익지분을블록체인상에서청구할수있다.
그림 5.3의 예에서, PoT Node Pool의 최상위에 등록된 노드 C 계정은 1200B 포인트의 트랜잭션 투표를 얻었고 그에
비례하여 최근에 블록체인 상에서 징수된 트랜잭션 수수료 수익의 5%를 블록체인 상에서 청구할 수 있다. 또한 PoT
Node Pool에서 상위에 랭크된 계정을 소유하고 있는 블록체인 노드들은 블록생성자로 선출될 권한을 가지게 되며
블록생성자로 선출되어 블록을 생성하면 추가적인 블록 보상을 더 얻을 수 있다.
5.3.2 Seed Trust Node Pool 시드 신뢰 노드 풀
Though it is possible to run blockchain consensus with only the public nodes in PoT Node Pool,
the blockchain could be vulnerable when there are none or only a very small amount of
transactions occurring in the network. In that situation, there will be a higher probability for the
PoT nodes to be Byzantine, i.e. to act maliciously to destroy or take advantage of the blockchain,
as opposed to healthy conditions where multitudes of blockchain transactions are generated.
Seed Trust Nodes running honest nodes even in a no-transaction situation is very helpful for the
stability and reliability of the blockchain. In the YOSEMITE Blockchain, trusted Depositories
providing dFIAT, dCRYPTO, and dASSET tokens is the crucial part of the blockchain ecosystem.
It will create a virtuous cycle on the blockchain for the Depositories to run the Seed Trust Nodes
always running their blockchain core nodes to maintain the blockchain stably. The trusted
Depositories are highly incentivized to run Seed Trust Nodes full time, if they are guaranteed a
8 Byzantine fault tolerance - https://en.wikipedia.org/wiki/Byzantine_fault_tolerance
27
Page 29
portion of transaction fee profits (relatively smaller portion than the PoT Node Pool’s share, see
5.3.4 tx fee profit distribution), and blockchain users can be assured of the stability and security
of the chain given these nodes’ participation. There exists a Top Trust Account in the
YOSEMITE Blockchain who has the right to designate the blockchain accounts list in the Seed
Trust Node Pool and the transaction fee profit dividend ratio for each appointed Seed Trust
Node. The Top Trust Account must be owned by an entity having a very high level of trust within
the YOSEMITE Blockchain ecosystem, such as a trusted financial institution or government
organization. Although it is not always required for the Seed Trust Nodes to be run by the
Depositories, it is desirable for the Depositories to be designated as the Seed Trust Nodes. While
the Top Trust Account has the special right to appoint Seed Trust Nodes, all actions of the Top
Trust Account are transparent and immutable in the blockchain, monitored by everyone in the
blockchain ecosystem.
PoT Node Pool에서 선출된 노드들 만으로 블록체인 합의를 이루도록 할 수도 있지만, 블록체인 네트워크 상에서
발생하는 트랜잭션이 전혀 없거나 그 수가 매우 작은 상황에서는 블록체인 시스템의 보안이 매우 취약해 질 수 있다.
블록체인 상에서 트랜잭션이 많이 발생하여 PoT Node들의 수익이많이발생하는상황에서는 PoT Node들이정상적인
블록생성자로 동작하여 수익을 얻어가기 위해 노력하겠지만, 트랜잭션이 거의 발생하지 않는 상황에서는 PoT
Node들이 악의적으로 블록체인을 공격하거나 블록체인 노드 서버를 운영하지 않는 등, Byzantine 노드로동작하게될
확률이 높아지게 된다. 블록체인 트랜잭션이 전혀 발생하지 않는 상황에서도 블록체인 노드들이안정적으로운영되는
Seed Trust Node들이 존재한다면 블록체인의 안정성과 신뢰성에 큰 도움이 된다. YOSEMITE 블록체인에는블록체인
생태계의 지지를 받아 dFIAT, dCRYPTO, dASSET 토큰들을 발행하는 신뢰기관인 Depository들이 존재하는데,
자신들이 발행한토큰들이유통되는블록체인시스템을안정적으로유지하기위해항상안정적으로동작하는블록체인
코어 노드인 Seed Trust Node들을 Depository들이 운영해준다면 블록체인 생태계에 선순환적인 구조를 이루게 될
것이다. 이렇게 항상 안정적으로 운영되어야 하는 Seed Trust Node들이 블록체인 상에서 발생하는 트랜잭션 수수료
수익의 일부를 가져갈 수 있도록 보장받게 된다면, Depository들이 토큰 발행을관리하는역할뿐만아니라 Seed Trust
Node를운영하는것에대한강한인센티브가될것이다. (PoT Node Pool에할당되는수익비율에비해상대적으로작은
비율이 할당됨, '5.3.4 트랜잭션수수료수익배분' 파트참고) 이러한수익배분은 Depository들이발행한토큰의가치를
보전하기 위한 지급준비금 관리 등의 역할을 하는 것에 대한 보상으로 볼 수도 있다. 또한 이러한 신뢰기관인
Depository들이 운영하는 블록체인 코어 노드들이 블록생성자들의 일부로 선출되어 블록체인 합의 프로토콜에
참여하게 되면 블록체인 시스템의 안정성과 보안성을 더해 주게 되며, 블록체인 사용자들이 블록체인 시스템을
신뢰하고 블록체인 기반 서비스들을 이용할수있게된다. YOSEMITE 블록체인에는 Seed Trust Node Pool에들어가는
블록체인 계정 목록과 Pool 내의 각 계정이 보장받게 되는 트랜잭션 수수료 수익 배당 비율을 지정할 수 있는 권한을
가진 Top Trust Account가 존재한다. Top Trust Account는 신뢰 금융 기관이나정부기관과같은블록체인생태계에서
매우 높은 레벨의 신뢰를 받는 주체에 의해 소유되어야 한다. Top Trust Account가 Depository들을반드시 Seed Trust
Node들로 지정해야 하는 것은 아니지만 일반적으로 Depository들이 기본적인 Seed Trust Node들로 지정되는 것이
블록체인 생태계의 신뢰를 받을 수 있을 것이다. Top Trust Account에게블록체인상에서 Seed Trust Node들을지정할
수 있는특수권한이주어지지만지정된동작을수행하는것외에사용자들의블록체인트랜잭션처리에영향을줄수는
없으며, Top Trust Account의 모든 액션은 블록체인 상에서 이루어지므로 투명하고 위변조가 불가능한 방식으로
이루어지게 되어 블록체인 생태계의 모든 구성원들에 의해 감시를 받게 된다.
28
Page 30
5.3.3 Election of Block Producers for BFT Consensus BFT 컨센서스를 위한 블록생성자 선출
The critical element of blockchain design which enables scalability, i.e. a high capacity to make
more blockchain TPS (transactions per second), is whether the predefined number of consensus
participants (i.e. validators, block producers) exists. There is no predefined set in PoW-based
consensus (e.g. Bitcoin, Ethereum) where any node able to competitively find the solution of the
hash puzzle for the new block can be a block producer. Neither does the FBA (Federated
Byzantine Agreement) consensus with the ‘quorum-slice’ concept used in Stellar Consensus
Protocol , in which the quorum set participating in the consensus could be arbitrarily large as 9
the quorum-slices of the consensus nodes expand. In that situation, high TPS is not guaranteed
in the Stellar network. In practical setup, a blockchain with FBA consensus is managed by a
small, fixed set of authority nodes constituting the consensus quorum to achieve high TPS, but
that in fact results in an effectively permissioned blockchain, in which new users have no direct
incentive to run a blockchain node due to lack of a guaranteed block reward and low probability
of inclusion in the top tier quorum to participate in blockchain consensus. Whereas in the
BFT-based consensus algorithms like PBFT (Practical Byzantine Fault Tolerance), Tendermint 10
, and DPoS (Delegated PoS) of Steem/BitShares/EOS, there is a predefined number of elected 11 12
consensus participants (i.e. validators or block producers) which leads to high TPS because the
elected set of nodes can cooperatively make fast consensus for the new block creation with the
agreement that the new blocks made through the consensus of the elected nodes are
authoritative. The YOSEMITE Blockchain adopts the optimized modification of BFT-based
consensus algorithms to achieve short block time (inspired from DPoS of
Steem/BitShares/EOS) and fast 100% block finality (inspired from Tendermint), with the
unique block-producer-election mechanism using the Transaction-as-a-Vote and
Proof-of-Transaction.
블록체인 확장성(많은 수의 초당 처리 가능 트랜잭션 용량(TPS)을 실현하는 것)을 이루기 위한 핵심적인 설계 요소는
밸리데이터 또는 블록 생성자와 같은 합의과정에 참여하는 참여 노드의 수를 제한하는 것이다. 비트코인, 이더리움과
같은 PoW기반 블록체인 합의 방식에는 미리 정해진 수의 채굴자 노드들이 있는 것이 아니라, 어떠한 노드라도 해시
퍼즐을 빨리 찾을 수 있는 컴퓨팅 파워가 있으면 언제든지 채굴 노드가 되어 새로운 블록을 생성할 수 있다. 매 블록
생성시마다 모든 노드들에게 블록 생성자가 될 가능성이 주어지므로 더욱 탈중앙화된 방식이라 할 수 있지만 모든
노드들이 경쟁적으로 합의를 이루어야 하므로 새로운 블록에 대한 합의가 느려지게 되고, PoW 기반 합의에서는
언제든지 최근 블록들을 배제하고 새로운 블록체인 포크(fork)가 발생할수있어서블록에대한 100% 확정성을보장할
수 없게 된다. ‘quorum-slice’ 개념이 적용된 Stellar 컨센서스 프로토콜의 FBA (Federated Byzantine Agreement)
컨센서스 방식에서도 합의 참여 노드들의 집합의 크기가 미리 정해져 있지 않다. 각 블록체인 노드들이신뢰하는다른
노드들을 지정하는 ‘quorum-slice’의 교집합들이 점점 커져감에 따라 합의 참여 노드 집합(quorum set)의 크기는
9 D. MAZIERES, Stellar Consensus Protocol - https://www.stellar.org/papers/stellar-consensus-protocol.pdf , 2015 10 M. Castro, B. Liskov - Practical Byzantine Fault Tolerance and Proactive Recovery - http://www.pmg.csail.mit.edu/papers/bft-tocs.pdf , 2002 11 Jae Kwon - Tendermint : Consensus without Mining - https://tendermint.com/static/docs/tendermint.pdf , 2014 12 D. Larimer - BitShares - Delegated Proof-of-Stake Consensus - https://bitshares.org/technology/delegated-proof-of-stake-consensus , 2014
29
Page 31
임의적으로 커질 수 있으며, 그러한 상황에서는 합의 참여 노드 집합의 많은 수의 노드들이 메시지들을 주고 받고
새로운 블록에 대한 합의를 이루어야하므로 Stellar 블록체인의 높은 TPS를보장하기는어렵게된다. 그래서현실적인
FBA 기반 블록체인의 구성에서는 높은 TPS를 이루기 위해 적은 수의 거의 교체되지 않는 신뢰 노드들 사이에만 서로
quorum slice가 설정되어 실질적으로 작은 크기의 폐쇄된 합의 참여 노드 집합이구성되어새로운블록에대한합의를
빠르게 이루어 나갈 수 있게 된다. 이는 실질적으로 새로운 노드들의 블록체인 합의 과정 참여를 제한하는
퍼미션드(permissioned) 블록체인이 구성되어 운영되는 것으로 볼 수 있다. FBA 합의 방식에서는 합의 노드 집합 내
노드들의 투표를통해새로운블록을합의해나가기때문에새로운블록을생성한노드를특정한노드하나로지정할수
없으므로 블록생성시블록보상이존재하지않는다. 따라서새로운노드들이블록합의과정에참여하게될인센티브가
사실상 없으며, 폐쇄적으로 구성된 탑 티어 합의 집합의 노드들이 새로운 노드들을 합의 집합으로 포함해줄가능성도
매우 낮다. 반면에, PBFT (Practical Byzantine Fault Tolerance), Tendermint, Steem/BitShares/EOS에 구현된 DPoS
(Delegated PoS) 등의 BFT 기반컨센서스알고리즘들에서는밸리데이터, 블록생성자와같은블록체인내에서선출되어
합의 프토로콜 참여 노드들의 수가 블록체인 내에 미리 정해져 있다. 블록체인에서 정한 조건에 의해 선출되는 적은
수의노드들이서로경쟁없이협력하여새로운블록을순서대로생성해나가므로높은 TPS 성능을구현할수있게된다.
선출된 노드들 간에 합의를 이루어 생성한 블록은 변경되지 않고 확정적임을 가정할 수 있다. YOSEMITE 블록체인은
Transaction-as-a-Vote와 Proof-of-Transaction을 통한 독창적인 블록생성자 선출 메커니즘과 함께 짧은 블록
타임(Steem/BitShares/EOS의 DPoS로 부터 차용)과 빠른 100% 블록 확정성(Tendermint로 부터 차용)을 구현하기
위해 최적화된 변형된 형태의 BFT 기반 합의 알고리즘을 도입하였다. (5.3.5)
Block producers participating in the consensus protocol to generate new blocks in the
YOSEMITE Blockchain are elected from the PoT Node Pool and the Seed Trust Node Pool. Let
N represent the number of the block producers. The top p nodes sorted by the earned
transaction vote amount are selected from the PoT Node Pool as block producers in each round.
The remaining N-p nodes are pseudo-randomly (hard to predict but deterministically selected
by the protocol) selected from the Seed Trust Node Pool. The numbers N and p are fixed values
in the YOSEMITE Blockchain. The number p is chosen to be more than majority to give weight
to the PoT nodes. Among the N nodes periodically re-elected from the two pool, the BFT-based
consensus protocol is executed to generate new blocks.
YOSEMITE 블록체인에서 새로운 블록들을 생성하기 위한 컨센서스 프로토콜에 참여하는 블록생성자들은 PoT Node
Pool과 Seed Trust Node Pool로 부터 선출된다. 선출된 블록생성자들의 총 수는 N이라고하자. PoT Node Pool에있는
노드들중트랜잭션투표를많이얻은상위 p개의노드들이블록생성자를선출하는라운드마다선택되어블록생성자의
권한을 얻게 된다. 남은 N-p개의 노드은 Seed Trust Node Pool로부터 의사랜덤(pseudo-randomly, 예측하기는
어렵지만 프로토콜에 의해 결정되고 노든 노드에 의해 재현이 가능한, 예를들면 블록의 해시를 랜덤넘버를 만드는데
사용함)한 방식으로 블록생성자로 선택된다. 숫자 N과 p는 YOSEMITE 블록체인 상의 고정된 값이다. p 값은 PoT
노드들에 가중치를 주기위해 일반적으로 과반수 이상으로 설정된다. 주기적으로 두개의 노드 풀로 부터 재 선출되는
N개의 노드들 간에 BFT 기반 합의 프로토콜이 실행되어 새로운 블록들을 생성하게 된다.
For each new block, a portion of the total transaction fee amount collected from the new block is
given as a block reward to each block producer who creates each block. Although the accounts
receiving transaction votes are not necessarily forced to run blockchain core nodes, i.e. run a
physical server, the block reward allotted to elected block producers strongly incentivizes the
30
Page 32
PoT nodes to run core nodes and participate in blockchain consensus. If a PoT Node account
elected as a block producer by receiving a significant amount of transaction votes does not run
the physical core node server or an elected core node malfunctions or acts maliciously as a
Byzantine node, the account is penalized by slashing the already earned transaction votes,
forfeiting the account’s accumulated portion of the transaction fee profit pool, and depriving of
the block producer position. If the number of the elected block producers is N = 3f + 1, up to f
Byzantine nodes are tolerable in BFT-based consensus. Compared to the other public
blockchains with BFT-based consensus, the probability that a node elected as a block producer
in the YOSEMITE Blockchain is a Byzantine node can be regarded as very low because every
elected block producer is either a PoT Node making profit by doing the blockchain-based service
business seriously or a Seed Trust Node trusted by the ecosystem.
새로 생성되는 매 블록마다 해당 블록에서 징수된 총 트랜잭션 수수료 수익 중 일부가 해당 블록을 생성한
블록생성자에게 블록 생성 보상으로 지급된다. 트랜잭션 투표를 많이받은 PoT 노드들이반드시블록체인코어노드를
운영하도록 (실제 물리적인 서버를 운영) 블록체인 상에서 강제되어질 수 는 없지만, 블록생성자들에게주어지는블록
보상은 PoT 노드들이 실제 물리적인 코어 노드 서버들을 블록체인 네트워크 상에운영하여블록체인합의프로세스에
참여하도록 하는 강한 인센티브가 된다. 만약상당한양의트랜잭션투표를받아블록생성자로선출된 PoT 노드가실제
물리적인 블록체인 코어 노드 서버를 네트워크 상에 운영지않거나또는서버장애등오동작을일으키거나악의적으로
블록체인을 공격하는 노드로 동작하는 것이 발견되어 Byzantine 노드로 판명이 되면 해당 블록생성자 계정에 대해,
이미 얻은 트랜잭션 투표량을 삭감, 트랜잭션수수료수익풀에쌓여있는수익지분을몰수, 블록생성자지위박탈등의
처벌이 블록체인 상에서 이루어 진다. 선출된 블록생성자의 총 수가 N = 3f + 1 일 때, BFT 기반의 합의 프로토콜에서
최대 f 개 까지의 Byzantine 노드만 허용되므로, 선출된 블록생성자들 중에 f개를 넘는 Byzantine 노드들이 존재하지
않는 것이 기본적인 가정이다. YOSEMITE 블록체인에서 선출된 블록생성자들은 블록체인에 기반하여 서비스를
구현하여 많은 양의 트랜잭션들을 일으켜 수익을 내는 비즈니스를 하고 있는 PoT Node이거나 블록체인 생태계의
신뢰를 받는 신뢰기관들이 운영하는 Seed Trust Node이기 때문에, 다른 BFT 기반 컨센서스로 구현된 퍼블릭
블록체인들과 비교하여 YOSEMITE 블록체인의 블록생성자 노드들이 Byzantine 노드일 확률은 매우 낮다고 볼 수 있다.
31
Page 33
5.3.4 Transaction Fee Profit Distribution 트랜잭션 수수료 수익 배분
Figure 5.4 - Transaction fee profit distribution
그림 5.4 - 트랜잭션 수수료 수익 배분
For each new block, the total transaction fee amount collected from the transactions included in
the block is distributed to the block producer, PoT Nodes, and Seed Trust Nodes. B% of the
collected transaction fees is immediately allocated to the block producer as a block reward. The
remaining (100-B)% is saved to the Transaction Fee Profit Pool with P% allocated to the PoT
Node Pool and (100-B-P)% allocated to the Seed Trust Node Pool. Each account listed in PoT
Node Pool can regularly claim its own profit in proportion to its transaction vote amount at the
time of transaction fee collections. In the same way, each account in the Seed Trust Node Pool
can claim its own profit in proportion to the dividend ratio designated by the Top Trust Account.
The percentages B, P are fixed in the blockchain at each protocol upgrade, and P should be over
the majority portion to give weight to the PoT nodes.
매 새로운 블록 마다 블록 안에 포함된 블록체인 트랜잭션들로 부터 징수된 트랜잭션 수수료 총 수익은 해당 블록의
블록생성자, PoT Node들, Seed Trust Node들에게 배분된다. 하나의 블록에서 징수된 트랜잭션 수수료 총량의 B%는
블록생성자에게 즉시 블록 보상으로 주어진다. 나머지 (100-B)%는 트랜잭션 수수료 풀에 쌓이게 되는데, P%는 PoT
Node Pool에 (100-B-P)%는 Seed Trust Node Pool에 할당된다. PoT Node Pool에 등록된 각 블록체인 계정들은
트랜잭션 수수료들이 수집되는 시점들에 각 계정들의 트랜잭션 투표 수집 양에 비례하여 주기적으로 각 계정 자신의
수익 지분을 블록체인에 청구할 수 있다. 같은 방식으로 Seed Trust Node Pool에 등록되어있는각블록체인계정들도
Top Trust Account에 의해 지정된각계정의수익지분비율만큼주기적으로각계정자신의수수료수익을블록체인에
청구할 수 있다. B와 P 비율 값은 블록체인 상에 고정된 값이며 블록체인 프로토콜 업그레이드(하드포크)시변경될수
있다. 비율 P는 일반적으로 PoT 노드들에게 가중치를 부여하기 위해 상대적으로 높은 비율의 값으로 설정된다.
32
Page 34
5.3.5 YOSEMITE BFT Consensus with Short Block Time and Fast Block Finality 짧은 블록 타임과 빠른 블록 확정성을 구현하는 YOSEMITE BFT 컨센서스
The high speed and high transaction throughput processing capacity of a blockchain is a key
factor for the next generation scalable blockchains. The short block time (time interval between
consecutive block creations) and the fast block finality (time required for the new block to be
immutable, guaranteeing no fork up to the block) are the crucial properties of a scalable
blockchain.
빠른 트랜잭션 처리 속도와 많은 양의 트랜잭션 처리량은 차세대 고성능 블록체인 구현의 핵심 요소이다. 짧은 블록
타임(Short Block Time, 연속되는 블록들 간의 생성 시간 차)과 빠른 블록 확정성(Fast Block Finality, 새로운 블록이
불가역적으로 확정되기 까지 걸리는 시간, 확정성을 얻은 블록과 그와 연결된 이전의 모든 블록들은 이후에
포크(fork)가 일어나지 않을 것이 보장됨)은 확장성있는 고성능 블록체인에서 반드시 구현되어야 한다.
Figure 5.5 - BFT consensus protocol among the elected block producers
그림 5.5 - 선출된 블록생성자들 간의 BFT 컨센서스 프로토콜
33
Page 35
The short block time can be achieved by electing a fixed number of block producers to cooperate
(not compete) to produce blocks, letting each block producer make a new block in its
pre-allocated time slot and immediately progressing to the next block production turn without
waiting to gather votes for the validity of the new block from more than ⅔ of the elected block
producers. We call this mechanism “Optimistic-Block-Production”. The last broadcasted block,
created in the previous time slot allocated to the last block producer, is optimistically trusted as
a valid block if the current block producer has verified the validity of the block, regardless of the
final confirmation from a ⅔ majority of the elected block producers. However, if the next block
producers do not agree about the validity of a block, the newly created block will contain the
block-hash pointer of the last valid block, skipping over any invalid blocks. In the example of
Figure 5.5, The block made by block producer B which is a Byzantine node (malicious attacker or
having network problems) is skipped by the other block producers. There can be temporal forks
of the blockchain, but eventually the longest fork will survive as the canonical chain. A block
producer should not sign more than one temporary fork. If a single block producer’s signatures
are detected on multiple forks of the chain, the Byzantine block producer will be penalized.
Remember up to f Byzantine nodes are tolerable when the number of the block producers is N =
3f + 1. The Tendermint consensus algorithm and its variants can be regarded as
Pessimistic-Block-Production style which lead to relatively long block time because
block-producing nodes must wait to receive voting messages from the majority of consensus
participants for the confirmation of the block validity to continue to the next block production
stage.
짧은 블록 타임은 블록체인 상에서 선출된 고정된 수의블록생성자들이경쟁하지않고블록생성자간신뢰를전제하고
서로 협력하여 새로운 블록들을 생성하게 되므로 가능해진다. 각블록생성자들은자신에게할당된타임슬롯에자신이
수집한 트랜잭션들을 묶어서 새로운 블록을 생성하고 블록체인 네트워크를 통해 생성한 블록 정보를 모든
블록생성자들에게 방송한다. 다른 블록생성자들은 방송되어진 새로운 블록 정보에 대해서 유효성을 검증하고 새로운
블록의 유효성에 대한 자신의 투표 정보를 다른 모든블록생성자들에게다시방송하게되는데, 모든블록생성자들중 ⅔
이상의 블록유효성검증투표가해당블록에대해수집되지않은시점이라도, 다음블록을생성하도록스케줄링된다음
턴의 블록생성자는 자신의 타임슬롯에 즉시 자신이 받은 가장 최근의 블록을 기준으로 다음 새로운 블록 생성 턴을
진행하게 된다. 이전 타임 슬롯에 할당된 블록생성자가 생성하여자신에게전달되어진최신의블록은다음블록생성자
노드가 해당 블록의 유효성을 검증했다면 아직 전체 블록생성자의 ⅔ 이상의 유효성검증투표를수집된확정된블록이
아니라고 할지라도 우선 낙관적으로 (Optimistic) 그 블록이결국 100% 확정성을얻게될것이라는가정을하고곧바로
다음 블록 생성 단계로 넘어가게 되므로 “Optimistic-Block-Production” 방식 이라고 할 수 있다. 하지만, 만약 다음
블록생성자들이 이전 블록의 유효성에 대해 인정하지 않는다면 블록생성자들에 의해 새로 생성되는 블록은 잘못된
이전 블록(들)을 건너 뛰고 가장 최신의 유효성이인정된블록의해시포인터를포함하게될것이다. 그림 5.5의예에서,
Byzantine 노드(악의적인 공격자 노드이거나 네트워크 문제 등으로 B가 생성한 블록이 다른 블록생성자들에게
전달되지 않는 등의 경우)인 블록생성자 B에의해만들어진블록은다른블록생성자들에의해건너뛰어생략되어지고
정본(canonical)에 속하는 체인에 포함되지 않게 된다. 블록체인에 일시적인 포크(fork)들이 발생할 수 있으나, 결국
가장 긴 포크가 정본으로 인정된 체인으로 살아 남게 된다. 한 블록생성자는 동시에 두개 이상의 임시적인 포크에
서명을 해서는 안된다. 만약 한 블록생성자의 서명이 여러개의 임시 포크들에서 발견되어 진다면 Byzantine 노드로
간주되어 그 블록생성자는 블록체인 상에서경제적불이익을받도록처벌을당하게될것이다. 전체블록생성자의수가
N = 3f + 1 인 경우 최대 f개 까지의 Byzantine 노드들 만이 허용된다. Tendermint 컨센서스 알고리즘과 그 변형
알고리즘들은 현재 블록의 유효성에 대한 투표를 합의 참여 노드들 전체의 과반 이상으로 부터 수집하여 블록의
34
Page 36
유효성을 확정한 후에서야다음블록생성단계로넘어가도록설계되어있으므로 “Pessimistic -Block-Production” 블록
생성 방식이라고 부를 수있다. Pessimistic-Block-Production 방식은생성된블록이확정성을얻는시간을빠르게할수
있지만 블록의 유효성에 대한 투표를수집하여블록을확정한후에다음블록생성으로넘어가므로상대적으로긴블록
타임을 가지게 된다.
Fast block finality can be achieved through explicit block validity voting among elected block
producers. Without block validity voting, block finality can still be achieved, though the time
delay of block finality is somewhat long. The block finality of a block means that the block and
all connected previous blocks are confirmed as immutable and only the next blocks after the
finalized blocks have non-zero probability that they will belong to a temporary fork and
eventually be excluded from the canonical chain. The block-hash pointer to the previous block
included in the new block data is effectively regarded as a vote of the block producer for the
validity of all the previous blocks. If the block-producer-majority number of blocks are attached
after a block in a blockchain, it means that the block has received the majority number of votes
for block validity from the block producers. Let the block number of a block be k and the number
of the elected block producers be N = 3f + 1 where up to f Byzantines are tolerant. When the
block with block number k+(2f+1)-1 is broadcasted, the block k will earn block finality status
supported by a ⅔ majority of the block producers. Fast block finality is crucial for
inter-blockchain communication because only the transactions in finalized blocks can be
referenced in the external blockchains or the internal sibling chains of a blockchain (for the
multi-chain architecture). The minimum block finality time without explicit voting is 2f*t where
t is block time. If N=25, t=3 second then block finality time is 48 seconds, which is inappropriate
for smooth inter-blockchain communication. The YOSEMITE Blockchain accelerates the block
finality time through explicit block validity voting, independently of the block production
progress, with the trade-off of higher network communication cost. When a block producer
receives a newly broadcasted block from another block producer, the new block is validated and
a validity vote for the block is broadcasted to all block producers. When a block producer creates
a new block in its time slot, if the producer has gathered enough block validity votes for a
previous block from the ⅔ majority of the block producers, the block finality of the previous
block is declared in the new block. A further optimization for block validity voting is also
designed in the protocol to accelerate the voting message propagation. The provable summary
data of the block validity votes received from other block producers are also included in the new
block message and the validity vote message being broadcasted. The example in Figure 5.5
shows that the block finality with the block validity voting is faster than the one without explicit
voting. For larger numbers of block producers N, the resulting time difference is far more. Block
validity voting enables block finality time near the block time (usually 1 or 2 block time).
빠른 블록확정성은블록생성메시지의전파와는별도로, 선출된블록생성자들간에명시적인블록유효성검증투표를
전파하도록 하는 방식으로 구현할 수 있다. 이러한 별도의 블록 유효성 검증 투표 프로세스를 적용하지않더라도블록
생성 메시지 만으로도 각 블록의블록확정성이결국에는결정되지만블록확정성이결정되는시간이다소오래걸리게
된다. 각 블록의 블록 확정성이라는 것은 해당 블록과 그와 연결된 이전의모든블록들이향후블록체인상에서변경이
35
Page 37
되지 않을 것을 보장하는 것을 의미하는데, 한 블록이 블록생성자들 ⅔ 과반이상의 암호화 서명을 얻게 되면 블록은
확정된다. 가장 최근에 확정성을 얻은 블록 이후에 연결된 블록들 만이 임시적인 블록체인 포크에 속하여 결국 정본
체인에서 제외될 수 있는 가능성을 가지게 된다. 바로 직전의 블록의 해쉬를현재블록에포함하는블록해시포인터는
사실상 포인터가 가리키는 이전 블록과그와연결된모든이전블록들에대한현재블록의블록생성자의암호화서명을
한 블록 유효성 검증 투표라고 볼 수 있다. 따라서 한 블록 이후에 블록생성자 전체의 ⅔ 과반수 이상의 숫자의 새로운
블록이 블록체인 상에서 생성되어 연결되었다면, 그것은 해당 블록이 ⅔ 과반수 이상의 블록생성자들로 부터 암호화
서명된 블록 유효성 투표를 얻게 되어 블록이 확정성을 얻게 되는 것을 의미한다. 특정 블록의블록번호를 k라고하고
f개 까지의 Byzantine 노드를 허용할 수 있는 선출된 블록생성자들의 총 수를 N = 3f + 1 이라고 하자. 블록 번호가
k+(2f+1)-1 인 블록이 블록생성자들에게 방송되어 전달되었을 때, 블록번호가 k 인 블록은 블록생성자 전체 ⅔ 과반수
이상의 지지를 받은 블록 확정성 상태를 얻게 된다. 빠른 블록 확정성은 인터 블록체인 통신 (inter-blockchain
communication) 구현에 핵심적인 요소이다. 향후 블록체인 포크로 인해 변경될 가능성이 없는 확정성을 얻은 블록에
있는 트랜잭션만이 다른 외부의 블록체인들 또는 한 블록체인 내의 다른 형제 블록체인들로부터 참조가 될 수 있기
때문이다. 별도의 명시적 블록 유효성 검증 투표과정이 없는 경우의 최소 블록 확정성 시간은 2f*t 이다. (t : 블록타임)
예를들어 N=25, t=3초 라고 하면 블록 확정성을 얻기위해 걸리는 시간은 48초이며 이것은 원활한 인터 블록체인
통신을 하기 위해서는 다소 긴 시간이다. YOSEMITE 블록체인은 블록 확정성을 얻는 시간을 빠르게 가속하기 위해,
블록 생성자들 간의 네트워트 통신량이 더 증가하는 것이 트레이드 오프(trade-off)로 작용하지만, 블록생성메시지를
블록생성자들간에 전파하여 블록 생성을 진행 프로세스와 독립적으로 별도의 명시적 블록 유효성 검증 투표
프로세스를 블록생성자들 간에 진행하도록 한다. 다른 블록생성자로부터 만들어진 블록 생성 메시지가 네트워크에
방송되어 각 블록생성자들이 전달받게 되면, 각블록생성자들은전달받은블록의유효성을각각검증하고유효성검증
투표 메시지를 다른 모든 블록생성자들에게 방송하여 전달한다. 블록생성자가 자신에게 할당된 타임 슬롯에 새로운
블록을 생성하는 시점에, 현재 턴의 블록생성자 자신이 아직 블록 확정성을 얻지 못한 이전 블록에 대해, 해당 블록을
생성한 블록생성자와 자신을 포함한 전체 블록생성자 중 ⅔ 과반수 이상의 각 블록생성자들로부터 암호화 서명된블록
유효성 검증 투표를 수집된 것이 확인되면 새로 생성하는 블록 안에 새롭게 블록확정성을 얻게 된블록에대한선언과
증거 데이터와함께포함하여다른블록생성자들에게방송한다. 블록유효성검증투표메시지전달을가속화할수있는
추가적인 최적화도프로토콜내에설계되어있다. 블록생성메시지와블록유효성검증투표메시지를블록생성자들이
만들 때 자신의 블록 유효성 검증 투표에 대한 암호화 서명뿐만 아니라 아직 블록 확정성 상태가 아닌 블록들에 대해
자신이 수집한 다른 블록생성자들의 블록 유효성 검증 투표 정보와 암호화 서명들도 같이 포함하여, 네트워크 속도가
가장 빠른 패스를 통해 블록 유효성 검증 투표 메시지들이 빠르게 수집되도록 한다. 그림 5.5의 예에서 별도의 명시적
블록 유효성검증투표를진행하는것이블록생성메시지만전달하는경우에비해블록들이더욱빠르게확정성을얻게
되는 것을 볼 수 있다. 블록 생성자의 총 수(N)가 더욱 커짐에 따라 블록 유효성 검증 투표를 통한 블록 확정성을 얻는
시간이 상대적으로 훨씬 더 빠르게 진행된다. 이러한 블록 유효성 검증 투표 방식은대부분의경우 1~2 블록타임내에
블록 확정성을 보장하게 된다.
36
Page 38
6 Blockchain Accounts 블록체인 계정
Figure 6.1 - Blockchain account scheme of YOSEMITE Blockchain
그림 6.1 - YOSEMITE 블록체인의 블록체인 계정 구조
6.1 Named-Multi-Sig / Single-Key Blockchain Accounts 네임드 멀티시그너쳐 블록체인 계정과 단일 키 블록체인 계정
The YOSEMITE Blockchain natively supports named multi-sig blockchain accounts. A 13
blockchain account used in the YOSEMITE Blockchain consists of a ROOT account and LIVE
account pair. Every usual blockchain transaction includes the crypto-signature of the LIVE
account that should be validated by the block producers. The LIVE account can be freezed or
updated on the blockchain only by the ROOT account when the LIVE account is found to be
compromised. The ROOT and LIVE account themselves are multi-sig accounts, each having
multiple weighted keys and threshold value. To make a valid transaction message signed by a
multi-sig account, the transaction message needs to include valid signatures from the multi-sig
keys with the sum of key weights over the threshold value. In the example of Figure 6.1, for the
ROOT account of “User-Account-A” with threshold value of 2, a signature combination of
(KEY-0, Key-A) [weight sum : 3] or (KEY-0, Key-B) [weight sum : 2], or a single signature of
Key-A [weight : 2] is required to make a valid transaction signature. Recursively, to get a valid
13 Multi-signature - https://en.wikipedia.org/wiki/Multisignature
37
Page 39
signature of Key-A referencing to the “Trusted-Entity-A” blockchain account, the valid
multi-signatures of enough weighted keys from the “LIVE” account of “Trusted-Entity-A” must be
collected. A blockchain account can have a human-readable alphanumeric identifier (name).
The public key address of the ROOT account’s default key (KEY-0) can be used as a account
identifier alternatively. A Single-Key account with only one public/private key pair can also be
used as an independent blockchain account in the YOSEMITE Blockchain, using the same key
for both the ROOT and LIVE account without the multi-sig scheme. A Single-Key account can be
created implicitly in the client side offline from the blockchain. Whereas, a Named Multi-Sig
account must be registered on the blockchain, with the selected account name, the weighted
multi-sig keys and the threshold value, by a explicit blockchain account creation transaction
which is charged some transaction fee in dFIAT to prevent account creation spamming attacks.
YOSEMITE 블록체인은 계정 이름을 지정할 수 있는 멀티시그너쳐 블록체인 계정(Named-Multi-Sig Account)을
블록체인 코어 레벨에서 자체적으로 지원한다. YOSEMITE 블록체인에서 사용되는 하나의 블록체인 계정은 ROOT
계정과 LIVE 계정 쌍으로 구성된다. 블록체인 사용자들이 블록체인을 사용하면서 생성하는 일반적인 블록체인
트랜잭션 들은 LIVE 계정의 비밀키로 생성되는 암호화 서명을 포함해야 한다. 블록생성자들이 트랜잭션 메시지를
검증할 때, 사용자 계정의 현재 LIVE 계정으로 트랜잭션이 암호화 서명되어 있는 것이 확인되면 해당 트랜잭션을
유효한 트랜잭션으로 처리한다. 하나의 블록체인 계정의 LIVE 계정은 쌍을 이루고 있는 ROOT 계정에 의해서만 계정
사용이 중지되거나 다른 공개키/비밀키 쌍을 가지는 계정으로 변경될 수 있다. ROOT 계정과 LIVE 계정은 각 계정
자체가 여러 개의 가중치가 부여된 키(key, 공개키/비밀키 쌍)들과 서명 임계치 값을 가지는 멀티시그너처 계정이다.
멀티시그너처 계정에 의해 암호화 서명되는 유효한 트랜잭션 메시지를 만들기 위해서는, 멀티시그너처 계정 내의
키들의 비밀키로 생성한 트랜잭션 메시지에대한암호화서명목록을포함해야하며암호화서명을한키들의가중치의
합이 해당 멀티시그너처 계정에 지정된 서명 임계치 값과 같거나 커야 한다. 그림 6.1의 예에서, “User-Account-A”
계정의 ROOT 계정의 서명 임계치 값은 2이므로, ROOT 계정이 서명하는 유효한 트랜잭션 메시지를만들기위해서는
(KEY-0, Key-A) [가중치 합 : 3] 의 암호화 서명 조합이나 (KEY-0, Key-B) [가중치 합 : 2] 의 암호화 서명 조합, 또는
Key-A [가중치 : 2] 하나의 암호화 서명이 필요하다. “Trusted-Entity-A” 블록체인 계정에 대한 참조로 설정된이 ROOT
멀티시그너처 계정의 하나의 키인 Key-A 의 유효한 암호화 서명을 얻기 위해서는, 같은 방식으로 “Trusted-Entity-A”
블록체인 계정의 “LIVE” 계정의 서명 임계치 값 이상의 가중치 키의 합을 이루는 여러개의 암호화 서명 목록이비밀키
소지자들로 부터 수집되어야 한다. YOSEMITE 블록체인 내의 하나의 블록체인 계정은 사람이 식별할 수 있는
알파벳/숫자로 이루어진 식별자 이름을 가질 수 있다. 별도의 계정 이름을 블록체인 상에서 지정하지 않고 ROOT
계정의 기본 키 (KEY-0) 의 주소를 대신 계정 식별자로 사용할 수도 있다. 멀티시그너처 계정을 사용하지않고하나의
공개키/비공개키 쌍으로만 이루어진 단일키 계정(Single-Key Account)도 YOSEMITE 블록체인에서 하나의 독립된
계정으로 사용될 수 있다. 단일키 계정의 ROOT 계정과 LIVE 계정은 멀티시그너처 구성을 하지 않은 동일한 하나의
키로 설정된 것으로 볼 수 있다. 단일키 계정은 블록체인과 연결되지 않은 상태로 클라이언트 측에서사용자가임의로
생성하여 사용할 수 있으며, 단일키의 주소가 처음으로 블록체인 상에 노출될 때 블록체인은 신규 계정을 인식할 수
있다. 반면에, 네임드 멀티시그너처 (Named-Multi-Sig) 계정은사용자가선택한이름과사용자가생성하여비밀키들을
보관하고 있는 가중치가 부여된 여러 개의 키 목록과 서명 임계치 값 등이 명시적인 블록체인 계정 생성 트랜잭션을
통해 블록체인 상에 등록되어야 한다. 이러한 블록체인 계정 생성 트랜잭션은 계정 생성 스팸 공격을 막기위해 dFIAT
토큰으로 트랜잭션 수수료가 부과된다.
38
Page 40
6.2 Trust Network for Account Recovery 계정 복구를 위한 신뢰 네트워크
Because the LIVE account can be replaced by the ROOT account, when the blockchain keys are
lost or compromised by malicious attackers, the LIVE account used to make blockchain
transactions in normal situations can be recovered. Even in the case that the default key (KEY-0)
of the ROOT account is lost, the LIVE account can be recovered with the help of a single or
multiple trusted entities which the account owner registered as key recovery partners in his/her
multi-sig setup. The trusted key recovery partner should require the KYC/AML authentication 14
process to be done by the blockchain user. Recursively, the blockchain account of the trusted key
recovery partner also can be recovered by its own chosen trusted partners, and so on. These
links form the Trust Network of Blockchain Account Recovery in the YOSEMITE Blockchain.
Figure 6.1 shows an example of a Trust Network built by the “User-Account-A”, “Trust-Entity-A”,
“Trust-Entity-B” and a Single-Key account. The Trust Network makes the blockchain ecosystem
solid and stable, highly mitigating the vulnerability of blockchain key loss.
YOSEMITE 블록체인의 LIVE 계정은 연결된 ROOT 계정에 의해 교체될 수 있으므로, 비밀키가 분실되거나 악의적인
공격자에 의해 키가 탈취된 경우, 일상적인 블록체인 트랜잭션 생성을 위해 사용되고 있던 LIVE 계정은 ROOT 계정에
의해 복구 될 수 있다. ROOT 계정의 기본키 (KEY-0)를 잃어버린 경우라고 할지라도, LIVE 계정은 사용자가 ROOT 계정의 멀티시그너처설정에등록해놓은하나또는여러개의키복구파트너계정들에의해서다시복구될수있다. 각
사용자들이 신뢰하고 있는 키 복구 파트너들은 블록체인 사용자들의 계정을 복구해주기 위해 사전에 블록체인 계정
소유자들이 신뢰기관인 자신들을 통해 KYC/AML 신원 인증 프로세스를 거치도록 요구해야 하며, 신원인증된 계정이
키를 분실한경우다시신원인증을할수있는경우에만블록체인계정을복구해줄수있다. 이러한키복구파트너들의
블록체인 계정 역시, 각 키 복구 파트너 자신들이 선택한 다른 신뢰 파트너 계정들을 자신의 키 복구 파트너 계정으로
블록체인 상에 등록하여, 키 복구 파트너의 키가 해킹당한경우에도연결되는키복구연결관계들을통해계정을복구
할 수 있게 된다. 이러한 키 복구 연결 관계들이 모여서 YOSEMITE 블록체인의 계정 복구를 가능하게 하는 신뢰
네트워크 (Trust Network)를 구성하게 된다. 그림 6.1은 “User-Account-A” 계정, “Trust-Entity-A” 계정, “Trust-Entity-B”
계정과 하나의 단일키 계정이 신뢰 네트워크를 이루고 있는 예를 보여준다. 이러한 블록체인 상의 신뢰 네트워크는
블록체인 키 유실로 인한 블록체인 시스템의 취약성을 크게완화시켜안전하고견고한블록체인생태계를구축해나갈
수 있는 토대를 제공한다.
6.3 KYC/AML Compliance and Account Anonymity KYC/AML 규제 준수와 계정 익명성
Tokens issued by Depositories in the YOSEMITE Blockchain can be configured to be held,
transferred, and traded only by blockchain accounts that have already gone through the
KYC/AML process provided by trusted entities. Information about whether a blockchain
account has undergone the KYC/AML process and through what organization is published on
14 Know Your Customer / Anti Money Laundering - https://en.wikipedia.org/wiki/Know_your_customer
39
Page 41
the YOSEMITE Blockchain transparently, but the personal information gathered from users is
privately processed and maintained by the trusted entities. The integrated KYC/AML support by
the YOSEMITE Blockchain will be a great help to regulatory compliance issues faced by existing
blockchain systems.
YOSEMITE 블록체인 상에서 Depository들에 의해 발행되는 각각의 토큰들은 신뢰기관들을통해제공되는 KYC/AML
신원인증 프로세스를 거친 블록체인 계정들 만이 소유, 다른 계정으로의 전송, 블록체인 내 오픈마켓을 통한 토큰
거래를 할 수 있도록 선택적으로 설정될 수 있다. 각 블록체인 계정이 KYC/AML 신원인증 프로세스를 통과 했는지
여부와 어떤 신뢰기관을 통해서 신원인증을 하였는 지에 관한 정보는 블록체인 상에 투명하게 공개되지만, 신원인증
프로세스를 통해 신뢰기관들이 수집한 개인정보들은 신뢰기관들이 내부적으로만 비공개로 저장하고 관리하며
블록체인 상에 공개되지 않는다. 이러한 KYC/AML 규제 준수를 위한지원기능들이블록체인자체에기본적으로통합
구현되어 있는 YOSEMITE 블록체인은 퍼블릭 블록체인에 기반한 시스템들이 겪고 있는 금융 규제 준수 이슈들을
해결하는데 큰 도움이 될 것이다.
Since any number of blockchain accounts can be created anonymously and the personal identity
authentication information gathered through the KYC/AML process are privately handled by the
trusted entities, basic account anonymity can be achieved, while the transactions generated by
blockchain accounts are transparent in the blockchain. However, once the owner of a blockchain
account is known (e.g. someone receives tokens from his/her friend), the account anonymity is
compromised. To maintain account anonymity, trusted entities like financial companies can
build their own systems to manage blockchain accounts on behalf of their customers. A financial
company would provide blockchain account mapping services operated under its trusted public
internet domain, e.g. a web service operated under the url https://fintechX.com/YSMT, which
maps a company-specific user account address such as user-account-1234#fintechX.com to an
anonymous blockchain account managed by the financial company. It is possible for a company
to manage only one YOSEMITE Blockchain account serving all its customers using the memo
field in blockchain transaction message to distinguish its customers, with its private customer
ledger running on its backend system. Alternatively, a company can manage multitudes of
blockchain accounts, whose private keys are securely held in its internal system on behalf of its
customers, which are anonymously mapped to its customers and regularly shuffled to maintain
account anonymity of the blockchain transactions. YOSEMITE will provide standard protocols
and open-sourced basic building block components for developers to implement KYC/AML
integrated financial services built upon the YOSEMITE Blockchain.
블록체인 상에서는 사용자가 임의로 익명의 블록체인 계정들을 생성하여 사용할 수 있고 KYC/AML 신원인증
프로세스를통해수집되는개인정보는신뢰기관들을통해비공개적으로처리되기때문에, 블록체인계정들이생성하는
트랜잭션 정보들은 블록체인 상에 투명하게 공개된다 하더라도 각 계정의 개인 정보는 공개되지 않으므로 기본적인
계정 익명성을 이룰 수 있다. 하지만, 특정 블록체인 계정의 소유자의 정보가 한번 노출되면 (예를 들어, 자신의
친구에게 토큰을 전송하여 자신의 블록체인 계정 주소가 지인들에게 노출되는 경우) 해당 계정의 익명성은 무너지게
된다. 이러한 상황에서도 블록체인 계정의 익명성을 보장하기 위해서는, 일반 사용자들이 직접 블록체인 계정을
40
Page 42
생성하고 관리하는 대신 YOSEMITE 블록체인에 기반한 서비스들을 제공하는 금융회사들과 같은 신뢰기관들이
고객들을 대신하여 블록체인 계정들을 생성하고 블록체인과 통신하는 자신들의 안전한 시스템들을 통해 관리하는
방식을 구현할 수 있다. 금융회사들은 자신들이 소유하고 있는 신뢰받는 인터넷 도메인을 통해 (예,
https://fintechX.com/YSMT) 블록체인 계정에 공개적으로 연결되지 않는회사내부에서발급되는고객계정아이디(예,
user-account-1234#fintechX.com)를 금융회사가 관리하고 있는 익명의 블록체인 계정으로 매핑(mapping)해주는
웹서비스를 운영할 수 있다. 고객들은 금융회사가 발급하여 제공하는 고객 계정을 은행계좌처럼 사용할 수 있고
금융기관이 제공하는 계정 매핑 서비스를 통해 블록체인 상의 거래는 익명성을 보장하는 방식으로 블록체인 기반
서비스가 구현될 수 있다. 금융 서비스 제공 회사가 아주 많은 수의 블록체인 계정들을 고객들을 대신하여 생성하고
비밀키들은 안전하게 자신들의 내부 보안 시스템을 통해 관리되도록하며, 익명성을보장하기위해블록체인계정들과
고객 계정 간의 매핑이 주기적으로 섞이도록 구현할 수 있다. 다른 구현 방식으로, 금융회사가 많은 수의 블록체인
계정을 사용하지 않고 하나의 대표 블록체인 계정 만을 사용하는 대신 각 고객들을 식별하기 위해 블록체인 트랜잭션
메시지의 메모 필드를 사용하고 금융회사의 백엔드 시스템에서 메모필드에 사용된 식별자들과 내부 고객 계정을
연결하는 원장 시스템을 운영하는 방식으로 시스템을 구성할수도있다. YOSEMITE는서비스제공자들이 YOSEMITE
블록체인에 기반하여 KYC/AML 프로세스가통합되고계정익명성을보장하는서비스들을쉽게구축할수있도록표준
프로토콜을 제공하고 개발자들에게 오픈소스 기반 기본 컴포넌트들을 제공할 것이다.
41
Page 43
7 Decentralized Issuance of dFIAT without Fiat Reserve 탈중앙화된 방식의 dFIAT 토큰 발행
YOSEMITE blockchain users can receive an issuance of dFIAT by escrowing their dCRYPTO or
dASSET tokens. At a later time, the user can redeem dCRYPTO/dASSET tokens by returning the
corresponding amount of dFIAT. The issued amount of dFIAT is always less than the dFIAT
price of escrowed tokens by some margin. The exact rates and ratio of issuance will largely be
determined by the historical performance of the dCRYPTO/dASSET token being escrowed. A
very similar decentralized stable coin (bitUSD) implemented by BitShares has proven to closely 15
hold parity with USD. Stable coin issuance via dCRYPTO/dASSET tokens is beneficial to the
YOSEMITE Blockchain ecosystem because this style of issuance relies exclusively on
crypto-token-assets held on the blockchain without the need for a centralized reserve of fiat
funds.
YOSEMITE 블록체인 사용자들은 dCRYPTO 또는 dASSET 토큰을 블록체인 상에 에스크로(escrow)하여 신규 dFIAT
토큰을 발행받을 수 있다. 사용자가에스크로를통해발급받은 dFIAT 토큰의양과동일한양의 dFIAT 토큰을반납하면
에스크로되어있던 dCRYPTO/dASSET 토큰을 다시 돌려 받을 수 있다. 에스크로를 통해 발행되는 dFIAT 토큰의 양은
일정 비율의 마진값을 가지고에스크로되는시점의에스크로대상토큰의 dFIAT 기준시장가격보다항상낮은양으로
책정된다. dFIAT 토큰의 발행 비율은 에스크로되는 dCRYPTO/dASSET 토큰 가치의 안정성에 따라 다르게 책정될 수
있다. 이와 유사한 방식의 탈중앙화 안정화 코인인 bitUSD가 BitShares 블록체인에 의해 구현되었고 USD 가치와 큰
차이 없이 유지되어 왔다. Depository를 통해 YOSEMITE 블록체인 상에 발행되고 실물자산와 외부 블록체인의
암호화폐 자산에의해토큰의가치가뒷받침되고있는 dCRYPTO/dASSET 토큰을통해가치안정화코인을 YOSEMITE
블록체인 상에 신규로 발행하는 방식은 법정화폐의 지급준비금에 의존하지 않고 블록체인 자체적으로 탈중앙화된
형태로 안정화 코인을 발행할 수 있다.
n
dFIATASSET-BACKED < ∑ ( A
i × Pi )
i = 1
where dFIATASSET-BACKED : the total value of dFIAT issued via escrowing dCRYPTO/dASSET tokens,
n : the number of dCRYPTO/dASSET escrows locked for dFIAT issuance,
Ai : the amount of each dCRYPTO/dASSET token escrowed,
Pi : the current dFIAT price (changing over time) of each dCRYPTO/dASSET token escrowed
dFIATASSET-BACKED : dCRYPTO/dASSET 토큰들의 에스크로 하여 발행된 dFIAT 토큰의 총 가치,
n : dFIAT 발행을 위해 실행된 dCRYPTO/dASSET 에스크로의 총 수 dCRYPTO/dASSET, A
i : 각 dCRYPTO/dASSET 에스크로에 묶인 토큰의 양 ,
Pi : 각 dCRYPTO/dASSET 에스크로에 묶인 토큰의 현재 dFIAT 기준 가격 (시간에 따라 변함)
15 D. Larimer, C. Hoskinson S. Larimer - BitShares White Paper - https://www.scribd.com/document/173481633/BitShares-White-Paper
42
Page 44
The total value of dFIAT issued from escrowing dCRYPTO/dASSET tokens must always remain
strictly less than the sum of the total value of all escrowed dCRYPTO/dASSET tokens at current
prices in dFIAT. To ensure this equation always holds, the blockchain will execute a margin call
style operation, liquidating dCRYPTO/dASSET into the market on the YOSEMITE Blockchain,
at a price strictly higher than the total value of dFIAT issued from escrowing dCRYPTO/dASSET
tokens at the time. (The elected block producers of YOSEMITE Blockchain automatically
execute sell orders for the escrowed dCRYPTO/dASSET tokens according to the predefined
protocol)
dCRYPTO/dASSET 토큰들을 에스크로하여 발행된 dFIAT 토큰의 총가치는에스크로된 dCRYPTO/dASSET 토큰들의
블록체인 내에서 계속 변동할 수 있는 현재 dFIAT 기준 시장 가격을 반영한 총 가치의 합보다 항상 작아야 한다. 이
조건을 항상 만족시키기 위해, 에스크로된 각 dCRYPTO/dASSET 토큰의 dFIAT 기준 가격이 일정 수준 이하로
떨어지게 되면 블록체인 시스템은 에스크로된 dCRYPTO/dASSET 토큰들에 대해 YOSEMITE 블록체인 내 오픈 토큰
마켓에 Sell 주문을 실행하여 자동으로 dFIAT 토큰으로 유동화되어 진다. (블록생성자들이미리정해진프로토콜대로
에스크로된 dCRYPTO/dASSET 토큰들에대해마진콜(margin call) 스타일의트랜잭션들을자동으로실행함) 유동화된
dFIAT 토큰 중 dCRYPTO/dASSET 토큰 에스크로 시 발행된 양만 큼의 dFIAT 토큰은 블록체인사에서 소각되며,
소각되고 남은 코인은 수수료를 제하고 (징수된 수수료는 트랜잭션 수수료 수익 풀에 저장됨) dCRYPTO/dASSET
토큰을 에스크로 했던 사용자에게 반환된다.
dFIATAB = ∑ dFIAT i
AB = ∑ ( Ai × P
iE × r
i ) < ∑ ( Ai × P
iE × m
i ) ≤ ∑ ( Ai × P
i )
if the token price drops below the maintenance margin, Pi < P
iE × m
i , the blockchain automatically
liquidates(sells) the escrowed dCRYPTO/dASSET (Ai) and the dFIATi
ASTB is burned
where AB : ASSET-BACKED , dFIAT iAB : the amount of dFIAT issued via each dCRYPTO/dASSET escrow,
PiE : the dFIAT price of an dCRYPTO/dASSET when it is being escrowe,
ri : the rate at which dFIAT is issued based on the price P
iE , m
i : the maintenance margin rate, 0 < ri < m
i < 1
블록체인 오픈 마켓 상의 에스크로된 토큰의 가격이 일정 수준 (maintenance margin) 이하로 떨어지게 되면, Pi < P
iE ×
mi , 블록체인 시스템은 자동으로 에스크로된 양의 dCRYPTO/dASSET (A
i) 토큰을 dFIAT 토큰으로 유동화하고
dFIATiASTB 만큼의 토큰은 블록체인 상에서 소각됨
AB : ASSET-BACKED , dFIAT iAB : 각 dCRYPTO/dASSET 토큰 에스크로를 통해 발행된 dFIAT 토큰의 양,
PiE : 토큰이 에스크로되는 시점의 토큰의 dFIAT 기준 시장 가격,
ri : P
iE 가격 대비 dFIAT 토큰 발행 비율 , m
i : 에스크로 토큰 유지 마진 (maintenance margin) 비율,
0 < ri < m
i < 1
The YOSEMITE Blockchain provides a hybrid-style stable coin model supporting both
reserve-backed and token-backed pegging methods.
YOSEMITE 블록체인은 지급준비금(reserve)으로 가치가 보전되는 방식과 블록체인상의 토큰 자산으로 가치가
보전되는 방식의 하이브리드 형태로 법정화폐 가치고정 안정화 코인을 발행할 수 있다.
43
Page 45
Total supply of dFIAT = dFIATRESERVE-BACKED + dFIAT
ASSET-BACKED
The total supply of dFIAT tokens in circulation is the sum of dFIAT tokens backed by fiat fund
reserves held by the Depositories and dFIAT tokens backed by dCRYPTO/dASSET escrows.
YOSEMITE 블록체인 상에서 유통되고 있는 dFIAT 토큰의 총 통화량은 신뢰기관인 Depository를 통해 법정화폐
지급준비금에 의해 발행된 dFIAT 토큰의 양과 dCRYPTO/dASSET 토큰 에스크로를 통해 발행된 dFIAT 토큰의 양의
합과 같다.
8 Scalability of YOSEMITE Blockchain YOSEMITE 블록체인의 트랜잭션 처리 성능과 확장성
8.1 Single Chain Scalability 단일 체인 트랜잭션 처리 성능
The single chain scalability of the YOSEMITE blockchain depends mainly on the consensus
mechanism, namely, a novel PoT-based BFT consensus with short block time and fast block
finality. With the Optimistic-Block-Production and the optimized block validity voting protocol,
high speed and high throughput on-blockchain transaction processing, ranging from thousands
to tens of thousands transactions per second with 1~3 seconds block time, can be realized. In the
unique setup of the YOSEMITE Blockchain consensus, the service providers acting as PoT
Nodes and the trusted institutions acting as Seed Trust Nodes will be elected to become block
producers running full core node servers. They are expected to provide high performance
computing powers efficiently and securely to the blockchain ecosystem, handling very large
volume of transactions. The probability for the nodes run by the service providers and trusted
entities to be Byzantine is very low, and there is more room to reduce the number of elected
block producers compared to the usual public blockchain environment. Single chain scalability
is the foundation of extended scalability, like off-chain state channels, on/off-chain hybrid
exchange architecture and the ultimate multi-blockchain architecture with fast inter-blockchain
communication.
YOSEMITE 블록체인의 단일 체인 트랜잭션처리성능은짧은블록타임과빠른블록확정성을보장하는 PoT 기반 BFT
합의 메커니즘으로 부터 기인한다. Optimistic-Block-Production 방식과 최적화된 블록 유효성 검증 투표 프로토콜이
구현된 BFT 기반 합의 알고리즘을 통해 초당 수천건 이상의 블록체인 트랜잭션 처리량과 1~3초 내외의 빠른 블록
타임이 실현될 수 있다. YOSEMITE 블록체인의 독특한 방식의 블록체인 합의 방식인 PoT 기반 합의 프토로콜에서는
44
Page 46
YOSEMITE 블록체인 기반 서비스 제공자들이 운영하는 블록체인 코어 노드들인 PoT Node들과 신뢰 기관들이
운영하는 Seed Trust Node들이 블록생성자 노드들로 선출되어 진다. 이러한 블록생성자들이 운영하는 블록체인코어
노드들은 높은 보안성을 유지하는 서버 시스템 환경에서 큰 볼륨의 트랜잭션 처리량을 소화할 수 있는 충분한 컴퓨팅
파워를 블록체인 네트워크에 제공할 것이다. PoT를 통해 선출된 서비스 제공자들과 신뢰기관들에 의해 운영된는
노드들이 Byzantine 노드로 동작할 확률은 현저히 낮을 것을 기대할수있기때문에, 선출된블록생성자들의총갯수를
다른 일반적인 퍼블릭 블록체인 환경과 비교해서 상대적으로 좀더 작은 수로 설정할수있는여지가있다. 단일체인의
높은 트랜잭션 처리 성능은 Off-Chain 스테이트 채널, On/Off-Chain 하이브리드 토큰 거래 아키텍처 및 빠른 인터
블록체인 통신에 기반한 멀티 블록체인 아키텍처와 같은 블록체인 성능 확장성을 구현하는 기술에 기본적인 성능
기반이 된다.
8.2 Extended Scalability with On/Off-chain Hybrid Exchange Technology YOSEMITE On/Off-Chain 하이브리드 거래소 기술을 통한 추가적인 성능 확장성
Though the single chain throughput facilitated by the YOSEMITE Blockchain is enough for most
blockchain service applications, including on-blockchain decentralized exchanges, for
exceptional cases like high frequency trading or micropayments, YOSEMITE has already
provided on/off-chain hybrid exchange technology. Some trading pairs needing high volume,
high frequency trading can be serviced using the existing YOSEMITE hybrid architecture. In this
hybrid architecture, only ‘deposit to exchange’ and ‘withdrawal from exchange’ transactions are
on-blockchain. All buy/sell order messages crypto-signed by YOSEMITE Blockchain user
accounts are submitted to the off-blockchain exchange servers which match the signed buy/sell
orders and publish the trade transactions signed by the off-chain server’s account through the
distributed P2P storage IPFS in a transparent and immutable manner, regularly anchoring the 16
cryptographic proof of recent transactions handled in off-blockchain servers to the blockchain.
When a user requests the withdrawal of the tokens, the verified cryptographic proof of the whole
history of the off-chain trading transactions and the current token balances for the user is also
recorded in the on-blockchain withdrawal transaction. This prevents the external off-chain
exchange servers from manipulating the trading event, and makes the hybrid system fully
auditable to any external parties and fully restorable even in the event of the off-chain exchange
server failure. Off-chain payment channels enabling high-frequency micropayments can also be
implemented in a similar way using the YOSEMITE hybrid technology.
블록체인 기반 탈중앙화 분산 거래소와 같은 블록체인 기반 응용 서비스들을 구현하기 위한 충분한 속도와 처리량
성능이 YOSEMITE 블록체인에서 제공되지만, 하이 프리퀀시 트레이딩 (high frequency trading) 시스템이나
마이크로페이먼트와 같은 추가적인 트랜잭션 처리량을 요구하는 서비스들을 블록체인 기반으로 구현할 수 있도록
YOSEMITE가 이미 개발되어 공개된 YOSEMITE On/Off-Chain 하이브리드 거래소 기술을 제공한다. 더 높은 거래량
처리와 하이 프리퀀시 트레이딩이 요구되는 토큰 거래는 YOSEMITE 블록체인에 기반한 YOSEMITE 하이브리드
아키텍처로 구현된 거래 시스템을 통해 서비스 될 수 있다. YOSEMITE 블록체인 기반 하이브리드 토큰 거래
16 Juan Benet, IPFS - Content Addressed, Versioned, P2P File System https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf
45
Page 47
방식에서는, 사용자 블록체인 계정과 하이브리드 거래소 블록체인 계정 간의 입금과 출금 트랜잭션 만이 블록체인
상에서 발생하며, 사용자들의 블록체인 계정의 비밀키로 암호화 서명된 모든 Buy/Sell 주문 메시지들은 블록체인
트랜잭션으로 처리하지 않고 블록체인 밖의 오프체인 (off-chain) 거래소 서버로 제출된다. 오프체인 거래소 서버는
수집된 Buy/Sell 주문들을 연결해 거래를 체결하고 거래 체결 트랜잭션 메시지를 오프체인 서버의 블록체인계정으로
암호화 서명하여 체결된 거래 내역 데이터가투명하게처리되고변경될수없도록분산 P2P 저장소네트워크인 IPFS를
통해 공개된다. IPFS에 공개된 오프체인 토큰 거래 트랜잭션 정보들은 주기적으로 최근 트랜잭션들을 모아서 거래
트랜잭션 발생에 대한 증거데이터(트랜잭션 목록의 암호화 해시값)가 블록체인에 저장하여 오프체인 서버에서
이루어진 거래들에 대한 투명성과 불변성을 보장할 수 있도록 한다. (Anchoring) 하이브리드 거래소 시스템 사용자가
거래소의 블록체인 계정으로부터 사용자의 블록체인 계정으로 토큰의 출금을 요청하면, 이전 출금 시점 이후의 해당
계정의 IPFS와 블록체인에 변조가 안되는 방식으로 저장되어 있는 모든 오프체인 거래 트랜잭션 내역과 출금 시점의
거래소 상의 토큰 잔고 정보가 누구나 입증할 수 있는 형태로 (주문과 체결들에 대한 암호화 서명 확인과 IPFS와
블록체인 연결을 통한 데이터 불변성) 사용자에게 제시되고 토큰 잔고 입증단계를거친후잔고증명데이터를포함한
출금 블록체인 트랜잭션을 블록체인 상에서 실행하여 출금 요청된 토큰을 사용자의 블록체인 계정으로 전송한다.
이러한 방식을 통해 블록체인 외부에서 동작하는 오프체인 거래소 서버가 사용자들의 거래 트랜잭션들을 인위적으로
조작할 수 없도록 보장할 수 있으며, 하이브리드 거래소 시스템에서 발생한 거래 내역들이 블록체인에서 발생한
트랜잭션처럼 시스템 외부 제 3자에의해서완전히감사가가능하다. 또한거래내역들이 IPFS 분산저장소에저장되고
블록체인에 연결되므로오프체인거래소서버가장애가발생하더라도거래소에서처리되었던모든거래트랜잭션들이
복구가 가능하다. 매우 작은 양의 토큰 전송을 매우 높은 빈도로 처리해야하는 마이크로페이먼트(micropayment)
시스템 역시 YOSEMITE 하이브리드 기술을 동일하게 적용하여 YOSEMITE 블록체인에 기반한 고성능 오프체인
페이먼트 채널을 구현할 수 있다.
Figure 8.1 - YOSEMITE hybrid exchange technology, Technical White Paper and asset/crypto exchange
alpha version.
그림 8.1 - YOSEMITE 하이브리드 거래소 기술, 기술 백서와 자산 토큰 거래소 / 암호화폐거래소 알파 버전 시스템
The technical white paper and the working alpha system of the YOSEMITE hybrid exchange 17 18
technology were published in mid 2017. The working alpha versions of asset/crypto exchange
system in Figure 8.1 were developed based on the Ethereum blockchain, but the hybrid
technology can be implemented on any other blockchains including the YOSEMITE Blockchain.
17 YOSEMITE On/Off-Blockchain Hybrid Exchange Tecnical White Paper, 2017 https://yosemitex.com/documents/YOSEMITE_Hybrid_Exchange_Technical_White_Paper_20170731a.pdf 18 YOSEMITE Asset Exchange alpha (http://alpha.yosemitex.com) and Crypto Exchange alpha (http://crypto-alpha.yosemitex.com) hybrid exchange system built upon Ethereum
46
Page 48
YOSEMITE 하이브리드 거래소 기술은 2017 중반에 이미 기술 백서와 동작하는 알파버전 시스템이 공개되었다. 그림
8.1의 자산 토큰 거래소와 암호화폐 거래소 알파버전 시스템은 이더리움 블록체인을 기반으로 구현되었으나,
YOSEMITE 하이브리드 기술은 YOSEMITE 블록체인을 포함한 어떠한 퍼블릭 블록체인 위에서도 구현이 가능하다.
8.3 Scalable Multi-Blockchain Architecture 확장성있는 멀티 블록체인 아키텍처
Figure 8.2 - Scalable multi-blockchain architecture with tightly coupled inter-blockchain communication
그림 8.2 - 높은 수준의 상호운용성을 제공하는 인터 블록체인 통신을 통한 확장성있는 멀티 블록체인 아키텍처
With the well-designed single chain scalability characterized by fast block finality and
tightly-coupled inter-blockchain communication protocol, a scalable multi-blockchain
architecture can be implemented. The scalable multi-blockchain architecture is planned to be
implemented in a future upgrade of the YOSEMITE Blockchain. There will be a single
Root-Blockchain in each YOSEMITE Blockchain whose blocks contains the recent block-hashes
of the blocks having block finality status from the multiple Thread-Blockchains running in the
same YOSEMITE Blockchain. The Root-Blockchain operated by its own block producers acts as
the inter-blockchain communication hub between the Thread-Blockchains. A Thread-Blockchain
is a blockchain with its own transaction types, native dFIAT tokens used as basic currency token
in that chain, and its own blockchain consensus run by independent block producers. With
multiple Thread-Blockchains in a YOSEMITE Blockchain, each with a large capacity for
transactions, a very high level of blockchain scalability can be achieved.
빠른 블록 확정성이 보장되고 높은 수준의 블록체인 간 상호운용성을 제공하는 인터 블록체인 통신 프로토콜이 잘
디자인된 단일 블록체인들을 연결하여 블록체인 트랜잭션들을 병렬처리하여 높은 성능을 보장하는 확장성있는 멀티
블록체인 아키텍처를 구현할 수 있다. 멀티블록체인 아키텍처는 YOSEMITE 블록체인의 향후 프로토콜업그레이드에
적용할 예정이다. 멀티블록체인 구조가 구현된하나의 YOSEMITE 블록체인에는하나의 Root-블록체인이존재하는데,
Root-블록체인의 블록들은 하나의 YOSEMITE 블록체인 안에서 병렬적으로 동작하는여러개의 Thread-블록체인들의
블록확정성을얻은블록해시들을포함한다. Root-블록체인은자체블록생성자들에의해운영되고 Thread-블록체인들
간의 인터 블록체인 통신 허브로 동작한다. 각 Thread-블록체인은 자체 블록체인 트랜잭션 타입들, 해당 체인 내에서
기본 통화 토큰으로 사용되는 네이티브 dFIAT 토큰, 독립적인 블록생성자들로부터운영되는자체블록체인컨센서스
프로토콜을 Thread-블록체인 마다 자체적으로 가질 수 있다. 하나의 YOSEMITE 블록체인 안에 높은 트랜잭션 처리
성능을 가진 여러개의 Thread-블록체인들을 동시에 병렬적으로 운영하여, 매우 높은 수준의 블록체인 성능 확장성을
구현할 수 있다.
47
Page 49
9 Smart Contract Platform 스마트 컨트랙트 플랫폼
The YOSEMITE Blockchain, basically designed as a decentralized exchange platform, provides
tokenization and token-trading operations as built-in blockchain transaction types, so that
useful killer applications like crypto exchanges can be developed on the YOSEMITE Blockchain
without utilizing smart contract technology provided by the blockchain. To support customized
blockchain transactions designed by developers building their Dapp (Decentralized Application)
on top of the YOSEMITE Blockchain, smart contract execution will be provided in a future
upgrade of the YOSEMITE Blockchain. Instead of developing a custom-designed virtual
machine and smart contract programming language such as the EVM (Ethereum Virtual 19
Machine) and Solidity , the YOSEMITE Blockchain adopts WebAssembly (WASM) technology 20 21
which was originally developed as the open web standard for the next generation of
web-browser-side application runtime environments. WASM, due to its fast and safe VM, has
great potential to replace Javascript, currently the only de-facto standard in web programming.
The EOS blockchain also adopted WASM as its smart contracts execution technology. Currently,
developers can use C/C++/Rust programming languages to produce secure and high
performance smart contract codes compiled to WASM binary. DoS (Denial of Service) attacks
consuming resources such as computing power and storage of the blockchain must be
prevented. The operations callable from the WASM codes modifying the blockchain state (e.g.
token operations, storage operations) will charge a transaction fee paid in dFIAT. The
YOSEMITE Blockchain also restricts the execution time of a smart contract execution
transaction in proportion to the dFIAT holding of the blockchain account who initiated the
smart contract execution. The smart contract platform with a fiat-pegged stable coin as the
native crypto-currency will have a huge impact on practical blockchain-based application
development, attracting existing financial institutions and fintech startups to utilize the
YOSEMITE blockchain.
YOSEMITE 블록체인은 블록체인 상의 토큰 생성과 거래를 위한 오퍼레이션들이 블록체인 코어에 기본 블록체인
트랜잭션 타입으로 구현된 탈중앙화 분산 거래소 플랫폼 기능이 기본 탑재된 블록체인으로 설계되어 있어서 토큰
거래와 관련한 블록체인 기반 서비스들을 블록체인에서 제공되는 스마트 컨트랙트 실행 기능을 이용하지 않고도
구현할 수 있다. 하지만 블록체인에서 기본적으로 제공되지 않는개발자들이작성한코드로실행되는맞춤형블록체인
트랜잭션을 이용한 블록체인 기반 탈중앙화 어플리케이션 (Dapp, Decentralized Application) 개발을 지원하기 위해,
YOSEMITE 블록체인의 향후 프로토콜 업그레이드를 통해 스마트 컨트랙트 실행이 기능이 제공될 예정이다. EVM
(Ethereum Virtual Machine)과 Solidity와 같은 스마트컨트랙트를 위해 특별히 제작된 새로운 가상머신과
스마트컨트랙트 프로그래밍 언어를 개발하는 대신에, YOSEMITE 블록체인은 차세대 웹브라우저 단 응용프로그램
19 G. Wood, Ethereum Yellow Paper - https://ethereum.github.io/yellowpaper/paper.pdf 20 Solidity Programming Language official documentation - https://solidity.readthedocs.io 21 WebAssembly official website - http://webassembly.org
48
Page 50
실행 환경을 위한 오픈 웹 표준으로 개발된 WebAssembly(WASM) 기술을 도입한다. WASM은 매우 빠르고 안전한
가상머신 기술로 현재 사실상 웹 프로그래밍의 유일한 표준인 Javascript를 향후 대체할 수 있는 가능성이 매우 높은
기술이다. WASM 기술은 이미 EOS 블록체인에서도 스마트 컨트랙트 실행 기술로 채택되었다. 현재 C/C++/Rust
프로그래밍 언어를 이용하여 개발자들이 보안성이 높고높은성능을낼수있는 WASM 바이너리로컴파일되는스마트
컨트랙트 코드를 작성할 수 있다. 블록체인 시스템의 컴퓨팅 파워와 스토리지와 같은 자원들을 소진시킬 수 있는 DoS
(Denial of Service) 공격이 스마트 컨트랙트 플랫폼을 통해 실행되는 것이 반드시 방지되어야 한다. WASM 코드들로
부터 실행될 수 있는 토큰 오퍼레이션이나 스토리지 오퍼레이션과 같은 블록체인 상태를 변경하는 오퍼레이션들은
dFIAT 으로 실행 수수료가 부과된다. 또한 YOSEMITE 블록체인은 스마트 컨트랙트를 실행하는 블록체인 계정의
dFIAT 보유량에 비례하여 스마트 컨트랙트 트랜잭션을 실행하는 시간을 제한한다. 법정화폐 가치고정 안정화코인이
기본 화폐토큰으로지원되는스마트컨트랙트플랫폼은기존의금융회사들이나핀테크관련스타트업들이 ICO를통한
암호화폐 등을 사용하지 않고 사용자들이 일상적으로 사용하는 법정화폐를 사용하는 현실적이고 실용적인 블록체인
기반 어플리케이션들을 개발할 수 있는 범용 금융 서비스 플랫폼으로 동작할 것이다.
49