Design choice for central bank digital currency: policy and technical considerations — 2

Huisu Jang
slcf
Published in
21 min readApr 23, 2021

다음 글은 다음의 working paper를 정리한 내용입니다.

위 논문은 전미경제연구소(NBER)가 2020년 8월에 발표한 110쪽에 달하는 working paper 형태의 보고서로 중앙은행디지털화폐(CBDC)에 관한 경제적, 기술적, 법적 요소들을 광범위하게 다루고 있습니다. 위 보고서의 내용을 정리하여 몇 주간 시리즈 형태로 소개해보고자 합니다.

그림 1. 거래장부로서의 블록체인 (출처: https://www.nber.org/system/files/working_papers/w27634/w27634.pdf)

3. Ledger Infrastructure

디지털 화폐 시스템의 목적은 개별 사용자가 자신이 소유한 화폐를 사용해 거래할 수 있게 하고 각 사용자들의 계좌 잔액을 추적하는 것이다. 물리적 화폐 거래를 디지털화 하는 것은 생각보다 단순하지 않은 작업이다. 화폐는 일반적으로 알려진 컴퓨터의 ‘파일’과는 다른 개념이다. 보내는 사람이 자신의 ‘파일’을 복사해서 받는 사람에게 보낼 때는 원본 파일이 여전히 보내는 사람에게 남아있게 되지만, 디지털 화폐 시스템에서는 보내는 사람이 디지털 형태의 화폐를 전송하고 난 뒤에는 더이상 디지털 화폐를 소유하지 않아야 한다.

이를 구현하기 위해 현대 디지털 화폐 시스템에서는 모든 사용자들의 계좌잔액을 의미하는 글로벌 상태를 정의하고, 이 글로벌 상태를 문제없이 유지하는 것을 목표로 한다. 일반 상업은행 시스템부터 비트코인과 이더리움같은 암호화폐에 이르기까지 모두 문제 없는 업데이트를 통한 글로벌 상태의 유지를 위해 다양한 접근을 시도하고 있다. 이 때 상태의 업데이트를 거래(transactions)라고 부르는데 단순한 자금이동 및 스마트 컨트랙트(smart contracts)를 통한 사용자 계좌 간 의사소통까지 모두 아우른다. 이렇게 거래를 한데모아서 하나의 장부(ledger)에 시간순서에 따라 나열하게 되는데, 시스템의 현재 상태라는 것은 거래를 순서에 맞게 나열하고 장부에 기록한 결과를 의미한다. 거래의 순서를 나타내는 단위의 하나로서 블록(block)이라는 개념을 만들어 내는데 일정한 시간 동안 일어난 거래를 하나의 블록에 담기게 되며 이러한 블록들을 시간순서에 맞도록 연결한 체인형태의 블록의 모임이 바로 블록체인(blockchain)이 되는 것이다. (Fig1. 참고)

이 시스템은 잘 정의된 방식으로 시스템 참여자들이 시간순서대로 블록을 추가할 수 있게 해야한다. 정해진 규칙을 만족하는 모든 거래를 기록해야하며 거래기록 순서를 전복시킬 수 있기 때문에 블록이 제거되지 않도록 유의해야 한다. 소수의 머신의 오작동이나 악의적인 활동으로 인해 장부가 훼손되는 것을 방지하기 위하여 전체 장부는 여러 머신위에서 동시적으로 저장되고 업데이트 되는 분산장부로 구성되어야 한다. 이 때 가장 중요한 문제는 네트워크 지연이나 일부 집단의 임의적인 오작동이 있더라도 모든 분산된 머신들이 마치 하나의 시스템처럼 동일한 장부를 공유하고 동일한 거래 순서에 대해 합의에 이르러야 한다는 것이다. 이를 분산시스템 분야에서는 State machine replication (SMR) 이라 부르며 이 기능은 중앙화 된 관리 시스템이라 할지라도 하드웨어 오작동 등으로 인해 여전히 중요한 이슈 중 하나이다.

SMR 및 네트워크 계층의 설계는 전체 시스템의 보안과 성능에 영향을 줄 뿐만 아니라 “시스템이 얼마나 탈중앙화 되었는지”를 결정하는 중요한 요소이며 이 설계는 시스템이 사용자에게 얼마나 열려 있을것이며 시스템의 통제가능한 대상을 어떻게 설정할 지를 결정한다. 현재 탈중앙화를 디자인 하는 방법은 중앙화된 상업은행 시스템부터, semi-centralized 시스템인 리플이나 리브라 그리고 완전히 탈중앙화된 암호화폐 시스템까지 다양한 형태를 띄고 있다. 이러한 다양한 탈중앙화 디자인의 범주들은 CBDC 디자인에 있어 명확한 장단점을 제공하기 때문에 각 디자인의 차이를 이해할 필요가 있다.

3.1 Information security foundations: The Confidentiality, Integrity, Availability (C-I-A) triad

디지털 화폐 시스템이 지속가능하기 위해서는 기초 정보보안 속성을 만족해야만 한다. 통상적으로 전통적인 정보보안 요소들은 다음과 같은 세 가지 차원을 기반으로 하고 있다: Confidentiality(기밀성), Availability(가용성), Integrity(무결성). 간단히 말해 기밀성은 정보 시스템이 접근 권한이 없는 대상이 정보를 알 수 없도록 하는 것이고, 무결성은 정보가 변조되지 않으며 올바르게 저장되었음을 의미한다. 마지막으로 가용성은 시스템이 사용자들의 요청에 응답할 수 있음을 의미하는데 이 때 요청은 데이터의 추출이나 특정한 작업을 수행하거나 혹은 거래를 발송하는 등의 요청이 될 수 있다. 지금부터는 각 정보보안의 요소를 만족하는지 평가하기에 앞서 분산 및 탈중앙화 시스템의 종류와 개념에 대해 설명하고자 한다.

그림 2. 정보보안의 3요소 (출처: https://www.nber.org/system/files/working_papers/w27634/w27634.pdf)

3.2 Distribution and decentralization

Distribution systems(분산시스템): 분산시스템은 기본적으로 네트워크를 통해 의사소통하고 협력하는 여러 개의 기기들로 이루어진 시스템이다. 분산시스템의 실제 구조는 셀수없이 많으며 다양한 기능들을 제공한다. 그 중에서도 CBDC를 구현하기에 가장 적합한 구조는 분산장부(distributed ledger)로 동일한 거래 기록을 유지하는 기기들의 집합이라고 볼 수 있다. 위에서 언급한 SMR이나 합의(consensus)알고리즘을 통해 각 기기들은 거래기록을 동기화하고 동일한 내용에 대한 복사본을 보관할 수 있다. 이 복사본을 통해서 하나의 기기가 사용 불가능하더라도 다른 기기가 동일한 정보를 제공하여 위에서 언급한 ‘가용성’을 달성한다.

전통적인 클라이언트/서버 방식 혹은 클라우드 컴퓨팅에서도 가용성을 달성하기 위하여 각 기기들을 분산하는 방법을 채택하고 있으며 많은 비용이 소모되는 분야 중 하나이다. 예를 들어, 지리적 분산시스템에서는 데이터의 복사본을 서로 다른 지역의 도시들에 저장해두어 한 지역의 네트워크 성능이 전체 데이터 시스템의 성능에 영향을 주지 않도록 유지한다. 이러한 클라우드 기반의 분산시스템은 사실 고도로 중앙화된 시스템이며 하나의 권한을 가진 중앙 관리자(클라우드 제공자)가 전체 분산데이터 시스템을 소유하고 관리한다.

Decentralized systems(탈중앙화시스템): 탈중앙화 시스템은 시스템 내의 기기들을 통제하는 하나의 중앙 관리자가 없는 분산시스템의 한 종류이다. 시스템 안에서 기기들 간 신뢰를 전제로 하지 않기 때문에 각 기기들은 독립적으로 활동하며 이로 인해 중앙 관리자의 변질 및 오작동으로 인한 피해가 제한된다. 시스템의 탈중앙화 여부 및 그 정도에 대한 기준들에 대해서는 여전히 논란이 있으며 그 정도에 대해 일반적으로 역할분리(role separation)와 신뢰 분산(trust dispersal) 혹은 한계신뢰(threshold trust)를 통해 설명하려고 한다.

역할분리(Role separation): 비교적 약하지만 유용하게 탈중앙화를 정의하는 방법 중 하나는 여러 개의 서로 다른 기능을 서로 다른 역할을 가진 다수의 사용자들에 의하여 수행되도록 분담하는 것이다. 예를 들어 한 참여자는 서명을 하는 역할을 수행하고 다른 참여자는 서명을 확인하는 역할을 수행하는 방법으로 시스템을 구성할 수 있다. 전통적 경제학 모형에서는 중앙은행과 상업은행이 각각의 기능을 분담하여 수행하였는데 중앙은행은 국가화폐의 공급을 관리하고 상업은행은 고객관리를 담당하는 형태로 이루어져 있다. 이를 바탕으로 BOE(The Bank of England)의 CBDC는 계정관리를 일반 결제지급 시스템 사업자(Payment Interface Provider, PIP)에게 위임하는 방식으로 탈중앙화를 달성하고자 시도하였다.

신뢰분산(Trust dispersal): 분산시스템 내 하나의 기능을 전체 사용자의 부분집합이 수행함으로써 신뢰를 분산시키는 효과가 있다. 마치 국가에서 중앙정부가 지방정부들과 기능을 나누어서 해당 지역에 대한 사법권을 가지는 것 처럼 생각할 수 있다. CBDC에서도 PIP들에게 개별 고객들만 관리하도록 하여 유사한 형태의 신뢰분산을 구현할 수 있다. 다시말해 전체 CBDC시스템의 신뢰는 각 개별 PIP들에 대한 신뢰의 합으로부터 오며 만약 일부 PIP가 잘못된 행동으로 인해 신뢰를 잃는 경우 신뢰의 손실을 개별 PIP가 달성하는 신뢰의 양에 제한하고자 하는 것이다. 이 때 유의해야 하는 것은 일부 PIP가 많은 양의 신뢰를 구성하고 있는 경우 문제가 될수 있기 때문에, (“too big to fail” 을 기억하라) 신뢰분산을 잘 활용하기 위해서는 이 점을 유의하여 디자인 해야 한다.

한계신뢰(Threshold trust): 마지막으로 시스템은 한계신뢰의 구현으로 탈중앙화를 달성할 수 있다. 시스템 내의 사용자는 개별적 혹은 집합적으로 동일한 역할을 수행하는 여러 기관에 걸쳐 신뢰를 분할하여 단일 기관이나 소규모 연합이 어떤 사용자에게도 권한을 가질 수 없도록한다. 이사회 또는 의회가 한계신뢰를 구현한 전통적인 유기체중의 하나로 이사회 멤버들은 신뢰를 구성하기 위한 일원으로 참여하지만 개인으로서는 어떤 권한도 가지지 않는다. 이와 유사하게 분산장부에서는 의회 내 개별 회사에 의해 운영되는 서버들로 합의 그룹을 구성하고 그 그룹에 신뢰를 분산시켜 한계신뢰를 제공한다.

이렇게 한계신뢰를 달성하는 경우 모든 사용자에게 가용성을 보장하는 반면 기밀성이나 무결성을 제공하지는 못한다. 기밀성이나 무결성은 개별 사용자가 사용하는 서버에 의해 달성되기 때문에 어떤 오염된 서버가 거래 내역을 변조하거나 잘못된 정보를 사용자에게 보내는 경우 기밀성이나 무결성을 달성하는 것에 실패할 수 있다. 그렇기 때문에 분산장부의 합의알고리즘은 악의적인 공격 혹은 비잔틴 실패에 대응할 수 있도록 디자인되어야 한다. 현재 대부분의 퍼블릭 암호화폐는 비잔틴 공격에 효과적으로 대응하기 위한 다양한 기술들을 고안하고 있는 반면 “허가형(permissioned)” 블록체인들은 비잔틴 공격에 취약한 경향이 있다. 한계신뢰를 달성하는 것 이외에도 프라이버시가 높게 요구되는 데이터에 대한 threshold cryptography에 대한 연구도 함께 진행되고 있으며 이는 이후에 6.3절에서 다루고자 한다.

CBDC를 위한 분산장부 시스템을 디자인할때, 지금까지 다룬 보안의 기초요소인 C-I-A 들이 적절한 방식으로 보장되고 있는지 논의하는 것이 중요하며 잠재적인 위험요소를 고려하는 것이 매우 중요하다.

3.3 State machine replication for distributed ledgers

CBDC 분산장부의 SMR 기반구조 디자인을 위해 고려할 수 있는 탈중앙화 정도는 크게 세 가지로 분류할 수 있다. 첫번째는 중앙은행이 모든 시스템을 소유하고 중앙화된 형태(centralized option)로 서비스를 제공하는 것이다. 이 구조의 적합성에 대한 관련 전문가들의 의견은 다소 논쟁적이긴 하지만 전통적인 은행 시스템과 유사하여 구현하기 쉽고 상대적으로 리스크가 적은 것은 사실이다. 하지만 완전히 중앙화된 형태의 CBDC 시스템은 시스템 관리 규칙의 변경 가능성이나 거래기록의 접근 권한이 중앙은행에 집중되기 때문에 사용자 입장에서 완전한 프라이버시를 보장하는 현금에 비해 CBDC가 상대적으로 매력적이지 않을 것으로 예상되며 CBDC 시스템이 또다른 결제 애플리케이션으로서 존재할 가능성이 크기 때문에 결국에는 CBDC의 궁극적인 목표달성의 실패로 이어질 가능성이 크다. 이를 개선하기 위한 첫 단계로서 중앙집중되었으나 검증가능한 장부를 사용하여 사용자가 거래를 발행한 후에 취소가 불가능한 커밋 형태의 일종의 약속을 제공할 수 있고 이를 통해 거래 기록의 수정을 방지할 수 있다. 준 탈중앙화 (semi-decentralized) 혹은 허가형 분산장부에서는 시스템을 작동시킬 협의체를 구성한다. 이 디자인은 소수의 집단이 전체 시스템을 통제하는 것을 방지하는 동시에 어느정도 중앙화된 협의체가 시스템 전체를 위한 의사결정을 내릴 수 있도록 하여 제도적 목적이 존재하는 경우 용이할 수 있다. 마지막으로 고려가능한 옵션은 완전히 탈중앙화된 (fully decentralized) 시스템으로 비트코인과 같은 형태를 가진다. 이 디자인은 완전히 탈중앙화되었기 때문에 시스템에 대한 통제력이 다른 디자인에 비해 매우 약하기 때문에 법적, 제도적 관점에서 받아들이기 어려운 측면이 존재한다. 다음 표는 위에서 언급한 세 가지 고려가능한 디자인에 대한 요약설명을 제공하고 있으며 지금부터는 각각의 옵션에 대한 장단점을 상세히 논의해보고자 한다.

표 1. 중앙화 vs. 탈중앙화 기반구조 비교 (출처: https://www.nber.org/system/files/working_papers/w27634/w27634.pdf)

3.3.1 Centralized ledgers

CBDC를 구현하는 가장 간단한 방법은 중앙 관리자가 전체 시스템을 통제하는 중앙집권형으로 운영하는 것이며 시스템의 회복력을 위해 시스템의 복사본을 다수의 서버가 복사하여 보관하는 방식으로 이루어진다. 중앙집중형 분산 시스템이 예기치못한 공격이나 서버의 일부가 충돌 오류를 일으키는 경우에 대응하기 위한 해결책들은 전통적으로 연구되어왔다. 충돌오류는 정보보안 속성 (C-I-A) 중에서 가용성(Availability)에 문제를 일으킬 수 있다. 충돌오류로부터 시스템을 보호하는 현대의 SMR 알고리즘은 이미 잘알려진 효율적이고 발전된 기술들을 사용하고 있다.

시스템에 포함된 서버가 예기치 못한 임의의 행동을 하는 경우 행동의 원인이 해킹이든 통제하는 내부자가 있던지 상관없이 결과적으로 전체 장부 시스템의 가용성 뿐만 아니라 무결성을 해칠 수 있다. 다시말해 해킹이나 내부자 소행으로 인한 임의의 비잔틴 실패(Byzantine failures)를 고려하는 경우, 중앙서버의 단순한 복사본을 여러 개 보관하는 것이 결코 장부의 무결성을 보장하지 못한다는 것이다. 이처럼 비잔틴 실패를 고려한 SRM을 Byzantine fault tolerance(BFT) 메커니즘이라고 하는데 지금까지 클라우드 컴퓨팅 연구에서는 주로 충돌오류에 잘 대응하는 SRM위주로 개발이 되어왔기 때문에 상대적으로 주목받지 못하였으나 최근 다시 주목을 받으면서 새로운 연구주제로 자주 언급되고 있다.

이 외에도 다수의 시스템 서버가 있을 시 생길 수 있는 소프트웨어 버그나 지리적 리스크가 존재한다. 각 서버가 지리적으로 가까이 존재하는 경우 자연재해나 전쟁 등과 같이 지리적인 원인으로부터 동시에 문제가 생길 수 있기 때문에 지리적 자유도를 높여 서버를 설치하는 것이 권장되며 모든 시스템 서버가 동일한 소프트웨어를 사용하여 이를 겨냥한 소프트웨어 해킹이나 버그의 피해를 받지 않도록 유의해야 한다. 이처럼 개별 서버의 관리가 개별 사용자에의해 관리되는 완전탈중앙화 매커니즘과는 달리 중앙집중형 혹은 준탈중앙화 매커니즘의 경우 소수의 권한을 가진 관리자에 의해 전체 시스템이 관리되기 때문에 관리차원에서는 매우 효율적인 측면이 있으나 악의적인 비잔틴 공격에 매우 취약할 수 있다는 사실을 유념해야 한다.

3.3.2 Centralized but verifiable ledger

중앙집중된 형태로 장부를 유지하더라도 클라이언트들이 서버가 거래장부를 잘 유지하고 있는지 확인할 수 있는 방법 또한 존재한다. 특히 authenticated data structures (ADSs) 는 서버가 특정 데이터를 제대로 보관하고 있는 사실에 대한 증거를 클라이언트에게 제공하는 방식으로 클라이언트들이 서버에 대한 신뢰를 제한할 수 있도록 한다. 예를 들어, CBDC를 받고 실제 현물을 파는 거래를 체결한 경우 현물을 양도하기 이전에 CBDC 장부에 받는 거래가 기록되기를 원할 것이다. 이 때 ADS에서는 단순히 중앙 서버가 거래가 기록되었는지 여부를 말해주는 것이 아니고 서버는 클라이언트가 요청한 거래가 장부에 제대로 기록되었다는 암호학적 증거 (cryptographic proof)를 제공하고 클라이언트는 개별적으로 그 증거를 검증할 수 있게 된다. 이 때 서버는 클라이언트의 요청을 장부에 반영하지 않고는 유효한 증거품을 만들 수 없다는 조건을 만족해야 한다.

이를 위해 클라이언트는 서버에게 보내는 데이터에 일종의 커밋먼트(commitment)를 포함시키는데 이것을 사용해 이후 서버로부터 받은 증거품을 검증할 수 있다. 이 커밋먼트는 특정시점에서 전체 데이터 상태에 대한 일종의 암호학적으로 표현된 지문이라고 생각할 수 있으며 이후에 데이터 상태가 업데이트 되면 이 커밋먼트도 변하게 된다. 이 커밋먼트는 전체 데이터 (전체 거래장부)를 표현해야 하기 때문에 데이터 크기에 독립적이고 충분히 작은 크기의 데이터로 표현되어야 한다. ADS의 핵심 과제는 클라이언트가 자신의 약속이 서버에 저장된 데이터의 표준 표현인지 확신 할 수 없다는 것이다. 예를들어 split-view attack 에서는 악의적인 서버가 개별 클라이언트에 대해 서로 다른 개별 데이터 셋을 구축해두고 개별 클라이언트들에게 서로 다른 데이터 상태에 대한 서로 다른 커밋먼트를 제공하는 방식으로 대응할 수 있다. 극단적으로 본다면전체 데이터 상태를 나타내는 글로벌 상태는 존재하지 않으며 서버는 클라이언트 별로 서로 다른 데이터 셋을 구축해 두고, 그 때 그에 상응하는 커밋먼트를 제공하게 되며 클라이언트들은 사실 서로 다른 데이터 셋을 알고 있게 되는 것이다.

이 문제를 해결하기 위해서는 클라이언트들끼리 특정한 시점에서 전체 데이터 셋에 대한 동일한 커밋먼트를 가진다는 것을 확인해야만 하는데 이를 위해 클라이언트들은 동일한 가십프로토콜 내에 포함되어 있어야 한다. 가십 프로토콜의 사용범위는 클라이언트 끼리의 의사소통을 위해서 사용되기도 하고 서버가 퍼블릭 블록체인에 대한 커밋먼트를 공시하는데 쓰이기도 한다. 이를 방어하기 위한 또다른 방법으로 witness cosigning protocol을 사용할 수도 있다. 이 프로토콜하에서 서버는 클라이언트에게 커밋먼트를 전송하기 전에 witness들로부터 공동 암호서명을 받는데 이는 독립적인 witness들이 서버의 작업을 확인하고 있다는 것을 의미한다. 공동 암호서명을 받은 커밋먼트를 클라이언트에게 제공하고 이후에는 위와 동일한 작업을 수행하며 witness들은 커밋먼트를 클라이언트에게 전송하기 전에만 서명을 하고 이후에는 다른 작업을 수행하지 않는다. 이로부터 클라이언트들은 witness들과 특정 시점에 동일한 데이터 상태를 공유했다는 사실을 알 수 있고 가십프로토콜을 통해 다른 일반 클라이언트들과 의사소통할 필요가 없으며 클라이언트가 참여하고 있는 네트워크가 특정 악의적인 노드가 의도적으로 관리할 위험으로부터 보호받을 수 있다. 이 방법의 주요 과제는 독립적인 witness 집단을 유지하는데 들어가는 비용과 클라이언트들이 가십 프로토콜에 참여하는 대신 witness집단이 올바르게 활동하고 있다는 것을 믿을 수 있도록 시스템을 구성하는 것이다.

ADS는 Certificate Transparency(CT) 프로젝트와 같은 더 투명한 분산 에코시스템을 구현하는데에도 사용될 수 있다. CT 에코시스템에서는 다양한 회사들이 CA가 서명한 인증서들을 기록하게 되고 일반 클라이언트는 위에서 말한 방식으로 그들과 의사소통 함으로써 모든 인증서를 확인할 수 있다. CT 에코시스템은 암호화 된 통신 (HTTP)을 뒷받침하는 형태로 인터넷 생태계에 신뢰를 제공하는 데 인증서가 수행하는 중심적인 역할을 고려했을 때 매우 중요하다는 것을 알 수 있으며 이 에코시스템을 통해 CA가 인증서를 잘못 발급하는 문제를 개선할 수 있을 것이다. 또한 인증서를 거래로 대체하고 로그를 남기는 회사의 역할을 일반 상업은행이나 관련 기관들이 수행하게 되면 이러한 CA 에코시스템을 CBDC 시스템에 적용하기에도 매우 용이하다.

3.3.3 Semi-centralized ledgers

중앙집중도를 줄이기 위한 방안으로 CBDC 시스템을 중앙은행에 의해 승인된 몇몇 독립적인 기관이 함께 관리하는 방법도 존재하지만 피상적인 관점에서 이는 중앙은행이 단순히 직접 전체 시스템을 관리하는 대신 관리자를 선택하는 것에 지나지않는다. 하지만 만약 중앙은행이 CBDC시스템에 대한 통제권을 포기한다면 다른 방식으로 준-탈중앙화를 구현할 수있다. BFT 알고리즘을 통한 기술적인 보호 하에서 수십개 혹은 수백개의 관련 기관이 함께 의사결정을 하고 특정한 한 기관이 규칙을 바꾸거나 검열을 하거나 거래 장부 상태를 변조하는 것을 방지하는 형태로 CBDC 시스템을 운영할 수 있다. 물론 이 때 참여기관의 선정에 중앙은행이 관여하기 때문에 퍼블릭 블록체인과는 달리 제도를 준수하는 시스템을 구성할 수 있으며 불법거래나 공격으로 인한 거래는 거래를 기록하지 않는 방식으로 시스템을 관리할 수 있을 것이다. 또한 이를 통해 중앙은행은 복잡한 정치적 메커니즘을 적용할 수도 있을 것이다. 물론 권한을 분산시킨다고 하더라도 이는 탈중앙화된 물리적 화폐의 완전한 디지털화라고 볼 수는 없다. 개별 사용자들의 준 탈중앙화된 CBDC에 대한 통제권은 일반 종이화폐에 대한 통제권과는 다르겠지만, 법 집행기관이 같은 관할권에있는 사업자에게 금전적 통제, 거래 검열 등을 강제 할 수 있다는 점에서는 장점이 있을 수 있다.

준 탈중앙화 시스템에 다수의 노드들이 참여하는 경우 의사소통의 횟수가 시스템 내 노드 개수의 제곱에 비례하여 증가하기 때문에 다소 느릴 수 있다는 기술적인 단점이 존재하였으나 최근에는 이 의사소통의 횟수를 시스템 내 노드 개수의 선형 비례하도록 줄이는 방법들이 고안되어 준 탈중앙화 시스템에 다수의 노드들이 참여하는 것이 가능해졌으며 Libra (현 Diem)가 이 방법을 채택하겠다고 밝힌 바가 있다.

3.3.4 Decentralized ledgers with central-bank monetary control

탈중앙화된 거래장부시스템은 비트코인과 같은 암호화폐를 고려할 수 있다. 이러한 암호화폐 시스템에서도 역시 시스템 규칙을 변경하는 것 (통화 정책의 변화)등을 구현할 수 있지만 비허가형이기 때문에 과반수이상의 찬성을 얻어 분기(fork)의 형태로 이루어져야 하기 때문에 중앙은행이 통제하기 어렵다는 특징을 가지고 있다. 이러한 방식의 운영은 시스템 자체가 강건성을 가질 수 있으며 (비트코인이 특별한 문제나 중앙관리자 없이 10년 이상 운영되고 있는 시스템임을 상기하자) 거래내역에 대한 통제권이 없기 때문에 물리적 화폐를 디지털화 하기에 적합한 시스템이다. 하지만 프론트러닝이나 실수로 발행한 거래,불법거래와 같이 통제가 필요한 부분에서 또한 통제를 할 수 없다는 단점이 존재한다.

결과적으로 완전히 오픈된 형태의 비허가형 시스템옵션은 통제권을 도입하는 것이 불가능하기 때문에 CBDC의 디자인으로 채택퇴지 않을 것으로 보인다. 리브라도 이와 관련해 최근 다음과 같이 언급하였다. “ …FINMA를 포함한 각국 관할 및 규제당국의 주요 우려사항은 검증 인에 대한 실사를 수행하지 않는 무허가 네트워크로 전환하는 경우 네트워크의 규정 준수 조항이 유지되도록 협회가 보장하는 것이 어려울 수 있습니다는 것입니다.” 이처럼 해결해야 할 기술적, 법적 및 규제적 질문에 답변하기 전에는 CBDC의 디자인 옵션으로 비허가형 접근방식을 고려하지 않을 것이라 생각한다.

3.4 Scalability to large transaction volumes

거래장부 시스템의 형태가 무엇이든 단일 서버의 처리성능과 비교했을 때 분산 시스템의 처리성능을 향상시키는 것 또한 중요한 논의사항 중 하나이다. 거래처리능력을 확장하기 위한 방안으로 몇 가지 아이디어들이 논의되고 있는데 그 중 첫번째는 시스템 상태를 다수의 평행한 거래장부들로 분리하는 것이다. 각 거래장부들은 서로다른 서버에 의해서 작동되며 전체 시스템의 성능은 분리된 거래장부 개수에 비례해서 향상된다. 이 때 단일 시스템에 비해 분리된 개별 시스템의 보안이 상대적으로 약화된다는 문제가 있으며 여러 개별 시스템에 저장되는 거래들이 전체 시스템 관점에서 보았을 때 거래순서나 이중지불같은 문제가 없도록 운영되어야 하는 어려움이 존재한다. 예를 들어 개별체인 1과 개별체인2에 존재하는 계정들 사이에 거래가 일어나게 된다면 개별체인 1,2는 이 점을 유의하여 각 체인의 계정을 업데이트 해야하는 것이다. 특히 이 기술의 경우 개별체인들 간 역할분리가 뚜렷하고 체인간 거래가 미미한 경우 적용하기에 용이하다.

또 다른 접근방식은 시스템 상 하나의 노드가 하나의 서버로 이루어진 일반적인 접근 대신에 시스템 상의 하나의 노드를 서로 연결된 서버로 구성하여 고성능 노드로 향상시키는 것이다. 이러한 접근방식은 기존 시스템의 거래장부를 유지하는 프로토콜과는 독립적으로 물리적인 방법으로 성능을 향상시킬수 있기 때문에 보안성이 저하되는 문제를 배제할 수 있으며 노드 운영에 많은 자원이 투자가능한 CBDC와 같은 시스템을 구성하는데 적용해 볼 수 있다. 이후 7.2 절에서 P2P 채널을 사용해 개별 서버가 처리해야할 거래들을 줄이는 방법에 대해서 논의하도록 한다.

--

--