ADA; 과거로부터 배운 3세대 가상화폐

SungJunEun·2021년 10월 23일
0

Case Studies

목록 보기
4/6
post-thumbnail

해결하고자 하는 문제는

기존 가상화폐 산업을 통해 알게 된 사실들

  • 대부분의 가상화폐 프로토콜들은 하나의 레이어를 통하여 해당 가상화폐를 통해 일어나는 이벤트들의 합의를 이루려는 경향성을 보인다. 하지만, 성공적인 프로토콜이라 할 수 있는 TCP/IP의 경우는 여러 레이어로 이루어져 있다.

  • 과거에 진행된 암호학 연구에 많은 관심을 쏟지 않는다.

  • 많은 알트코인들은 미래 업데이트에 대한 계획을 정하지 않는다. 성공적인 하드/소프트 포크는 해당 가상화폐의 성공을 가른다. 또한 어느 기업이 명확한 로드맵이 없는 프로토콜에 투자할 수 있겠는가?

  • 비트코인과 그와 비슷한 가상화폐들은 거래를 익명화시키는데, 이에 대한 장점도 있지만, 단점으로는 메인스트림으로 적용되기 어렵다. 기존 은행들은 거래에 포함된 메타데이터를 굉장히 중요시 하는데, 앞서 언급된 가상화폐 프로토콜을 이를 제공하지 않는다.

1세대(BTC), 2세대(ETH)의 문제점

BTC는 기존에 존재하던 여러 암호학과 PoW라는 획기적인 합의 알고리즘을 합쳐서 만든 최초의 분산화된 P2P 네트워크이다. 하지만, 견고한 script 언어, 블록 생성 시간과 사이즈등과 같은 문제가 단순히 값을 전달하는 것외에 일들을 하기 어렵게 한다.

ETH는 기존에 단순히 금액을 전달하는 것에서 특정 조건이 발동될 때에만 거래를 유효하게 할 수 있는 스마트 컨트랙트 개념을 도입하여 더 일반화되고 복잡한 거래들을 가능케 하였다. 하지만, 여전히 확장성의 문제와 하드 포크와 같은 거버넌스 문제등이 존재한다.

카르다노는 scalability(확장성), interoperability(상호 운용성), sustainability(지속 가능성)의 측면에서 기존의 프로토콜들의 장점에 새로운 개념들을 합쳐서 더 나은 3세대 블록체인 프로토콜을 만드는 것이 목표이다. 하지만, 이와 별개로 블록체인 프로토콜을 만드는 방법론적인 측면에서도 카르다노는 새로운 시도를 하였다.

카르다노 프로젝트의 2가지 규칙

  1. 문제를 해결하기 위한 모든 과학/기술들은 Peer Review(피어 리뷰)를 거친다.

    실제로 카르다노 프로젝트를 시작한 IOHK는 여러 실제 논문들을 학술지에 출판하고, 여러 대학과 컨퍼런스에서 리뷰받고 있다.

  2. 높은 보장성의 코드의 작성을 목표로 한다.

    코드의 실패가 사람의 죽음과 직결되는 신칸센이나 제트 엔진에 사용되는 기술을 사용하여서 퀄리티를 높이는 데 집중하는 것이 목표이다. 높은 퀄리티는 그전에 존재하던, DAO나 Parity hack과 같은 문제를 막을 수 있다.

실제로 그전까지와 현재까지도 가상화폐 프로토콜을 진행하는데에 있어서 피어 리뷰를 사용한 곳은 잘 없다. 대부분의 가상화폐 프로젝트들은 2가지 경향성을 띈다. 하나는 "fast and break things"의 정신으로 황급히 작성된 코드 기반이고, 그의 반대는 "slow and academic"으로 완전히 백서를 기반으로 하는 프로젝트이다. 그리하여서 또 다른 카르다노의 목표는 가상화폐 프로토콜을 발전시키는 더 효과적이고, 솔직한 방법의 레퍼런스를 카르다노를 통하여 보여주는 것이다.


두가지 층의 설계

카르다노는 프로토콜을 두가지 층으로 나누어서 설계하였다. 이유는 다음과 같다. 결국 카르다노는 금융 시스템의 일종이다. 두사람 간의 거래는 크게 값의 전달과 그 전달 뒤에 있는 스토리로 나눠진다. 예를 들어서 Alice가 Ben에게 NFT를 1 ADA를 주고 샀다고 할 때, 이 거래 뒤에 있는 스토리는 어떤 목적으로, 어떤 스마트 컨트랙트를 통하여, 누가 값을 전달하였는지이다.

이 두가지 종류의 데이터를 하나의 레이어에 담을 때 다음과 같은 문제가 발생한다.

먼저 블록체인에 어느 메타데이터까지 담을 것인지에 대한 문제가 생긴다. 값 전달의 주체만 담을건지, 혹은 이 메타데이터는 나중에 폐기할 수 있는건지, 만약 해당 거래가 특정 나라의 법을 위반한할 때와 같은 문제가 제기된다.둘째로는 프라이버시의 문제이다. 거래 뒤에 있는 스토리는 매우 사적일 수 있다. 이것을 과연 모두가 접근가능한 블록체인에 담아도 되는지에 관한 문제는 매우 어렵다.

그리하여 카르다노는 값을 저장하는 레이어(Cardano Settlement Layer;CSL)과 왜 값이 움직였는지에 대한 스토리를 담는 레이어(Cardano Computational Layer;CCL)로 나누어 설계되어 있다. 이 두 레이어는 동일하게 Ouroboros라는 PoS 프로토콜을 사용한다.


Ouroboros, PoS 프로토콜

Ourboros는 Proof-of-Stake 프로토콜이다. 먼저 카르다노가 PoS를 고른 이유는, 더 안전한 투표,확장가능성과 다양한 인센티브 계획이 가능하기 때문이다. Ouroboros는 에딘버러 대학교에서 연구된 수학적으로 증명이 된 안전한 암호학 모델이다. 또한 Ouroboros는 모듈러 형식의 유연한 디자인 구조를 가지고 있어서 미래에 여러 변화들에 유연하게 대처할 수 있다.

Ouroboros의 동작 과정은 다음과 같다. 먼저 체인을 여러 epochs로 나눈 뒤에, 이 epochs는 또 각각의 time slot들로 나눠진다. 각각의 time slot마다 ADA의 분포에 따라 랜덤하게 slot leader가 뽑혀서 이 리더가 블록 생성의 권한을 갖게 된다.


규제에 관하여

현존하는 금융시스템의 가혹한 현실은 시스템은 확장되면서 규제를 필요한다는 점이다. 규제의 효율성과 범위에 대하여 논할 수도 있겠지만, 규제가 존재한다는 점과 대부분의 정부들이 그것을 강제한다는 점은 부인할 수 없다.

글로벌화와 돈이 디지털화되면서 규제자들이 현재 직면한 문제들은 다음과 같다. 먼저 하나의 금융 거래가 여러 관할권을 거친다면, 어느 규제가 더 상위에 적용되냐이다. 두번째 문제는 프라이버시 기술이 발전함에 따라서 누가 그 거래에 참여하고, 어느 사람이 어떤 화폐를 가지고 있는지 알기가 힘들고, 이는 효과적인 규제를 막는다.

개인과 시장

카르다노 프로토콜은 개인의 권리와 시장의 권리를 나누어서 규제에 접근한다. 먼저 개인은 항상 자신의 자산에 자신만이 자유롭게 접근할 수 있어야 한다. 이렇게 해야하는 이유는 다음과 같다.

먼저 모든 정부가 믿을 수 있는 건 아니기 때문이다. 가상화폐는 가장 낮은 수준의 공통 분모를 위하여 만들어졌다. 두번째 이유는 기록은 절대 변경되서는 안되기 떄문이다. 롤백이나 공식 기록을 수정하는 것을 가능케 하면 특정 관여자에게 이득이 되는 방향으로 과거 기록을 수정하는 경우가 생길 수도 있다. 세번째로 값의 전달은 규제되서는 안되기 떄문이다. 자산 통제와 다른 인공적인 벽은 인간의 권리를 축소시킨다.

이와 별개로 카르다노는 시장은 그들의 조건과 동의사항(terms and conditions)에 대하여 공개할 의무가 있다고 믿는다. 그리고 만약 개인이 이 시장과 비즈니스를 할려고 한다면, 그 개인 역시도 시장과 동일한 수준의 의무가 생긴다.

규제의 실행

규제의 또다른 문제는 규제의 집행의 비용과 실용성이다. 작고 여러 관할을 거치는 거래는 기존의 금융 시스템이 사기가 일어났을 때 배상하고 상업적 분쟁을 방지하기 위하여 너무 많은 비용이 든다.

이를 카르다노는 3가지 레벨에서 혁신할 수 있다고 믿는다. 첫번째로 상업적 관계의 조건과 동의사항(terms and conditions)를 스마트 컨트랙트를 통해 더 잘 제어할 수 있다. 또한 모든 자산이 디지털화되어서 CSL 상에서 존재한다면, 사기가 없는 거래가 가능할 것이다. 두번째로 Hardware Security Model, HSM의 사용을 통해 Personal Identity Information, PII가 유출되지 않지만, 인증은 할 수 있는 공간을 만들 수 있다. 마지막으로, 카르다노의 로드맵에는 가변성, 소비자 보호와 중재를 추가할 수 있는 스마트 컨트랙트와 상호작용할 수 있는 규제 DAO가 포함되어 있다.


확장성의 3가지 요소

TPS(Transaction per second)

TPS는 초당 프로토콜이 처리할 수 있는 거래의 수를 말한다. 카르다노는 앞서 언급되었던 Ouroboros만의 고유한 특징을 이용하여서 높은 TPS를 이룰 수 있게 된다. Ouroboros의 epoch를 통한 slot leader 선거는 computational cost가 전혀 들지 않기 때문에 매우 저렴하다. 그에 따라서 뽑힌 slot leader는 여러개의 블록을 추가할 수도 있고, 하나의 epoch가 아닌 여러개의 epoch가 병렬로도 각각 블록을 추가할 수 있게 된다. 또한 참여하는 노드가 많아질수록 생성되는 epoch의 수도 늘어남으로 TPS도 증가한다.

네트워크 대역폭(Network Bandwith)

대역폭이란 네트워크나 데이터 전송 매체의 데이터 운반 능력을 가리키는 데 널리 쓰이는 용어로 일정 시간내에 전송되는 데이터의 양을 말한다. 몇만명에서 수십, 수백만명이 카르다노 네트워크에 참여하고 TPS가 높게 형성된다고 하였을 떄, 네트워크 대역폭은 확장성에 매우 중요한 영향을 미친다. 카르다노는 이를 위하여 Recursive Internetwork Architecture(RINA)라는 새로운 네트워크 구조를 사용하여서 이를 해결하려고 한다.

데이터 스토리지

많은 노드가 네트워크에 참여하고, 시간이 지남에 따라서 기존 블록체인 데이터는 기하급수적으로 증가할 것이다. 이에 따라서 라이트 노드들이 상대적으로 적은 데이터를 저장하여도 네트워크에 참여할 수 있도록하는 것이 확장성에 매우 중요하다. 따로 기술이 언급되어 있지는 않지만, pruning, subscription, compression, partitioning과 같은 기법을 통하여 가능할 것이라고 카르다노는 믿는다.


상호운용성

더 나은 기술이 전부 대체할 수는 없다.

상호운용성은 앞에 말하였던 규제와 깊은 관련이 있을 수 밖에 없다. 이때까지의 금융 시스템을 살펴보면, 더 나은 기술이 등장한다고 해서 기존에 존재하였던 시스템이 패배를 인정하고 업그레이드하는 일은 없었다. 작동만 한다면 기존 금융 시스템은 업그레이드나 소프트웨어를 발전시킬 이유가 없다. 여러 핀테크 기술이 등장하였지만, 여전히 은행은 코볼과 같은 언어로 작성되어 있다.

기존의 금융시스템 ↔ 크립토

앞서 언급되었듯이 은행과 같은 기존의 금융 시스템과 가상화폐 프로토콜이 상호작용하기 위해서는 다음과 같은 부분이 필요하다.

  1. 메타데이터

    메타데이터는 거래의 둘러싼 이야기이다. 누가, 왜, 어떤 방식으로 거래가 이루어졌는지는 굉장히 개인적인 데이터로써 모두가 볼 수 있는 블록체인 상에 올리기는 까다롭다.

  2. Attribution

    Attribution은 어디에서 돈이 나와서 어디로 들어가는지의 정보로 거래의 실행하는 주체의 신원을 말한다. Attribution 역시 메타데이터의 일종이지만, 매우 중요한 정보이기 때문에 따로 떼어놓았다.

  3. Compliance

    KYC,AML,ATF와 같은 규정들은 기존 은행 시스템에게는 매우 중요하다. 현재 대부분의 크립토 포로토콜들은 이와 같은 규정들을 적용하기 어렵다.

크립토 프로토콜 사이의 상호 운용성

각각의 프로토콜은 각각의 장부와 합의 알고리즘을 가지고 있다. 이 프로토콜들 사이에서 정보와 값을 이동시키려면 카르다노 프로토콜을 외부의 프로토콜과 연결시키고 메시지나 거래를 변환하여야 한다. 이에 사용될 수 있는 기술은 cross chain trading이나 sidechain scheme등이 있다.


지속 가능성

가상화폐 프로토콜의 지속 가능성에 대하여 따질 때는 크게 2가지 질문을 할 수 있다. 하나는 프로젝트의 자금에 관한 것이고, 두번째는 프로젝트의 방향성이다.

프로젝트의 자금은 어디서 오는가?

기존의 가상화폐 프로젝트들은 대부분 ICO를 통하여 자금을 확보한다. 이는 토큰을 분산화할 수 있는 좋은 방안이지만, 얻을 수 있는 자금은 초반에 한정된 양일수 밖에 없고, 어떤 경우에는 이를 위하여 불필요한 토큰을 발행하기도 한다. 다른 방식은 큰 회사들로부터 기부를 받는 방식인데, 이 경우는 해당 회사의 이익에 맞게 프로젝트의 방향이 변화할 수 있다.

카르다노가 제시하는 새로운 방법은 treasury 시스템이다. 이 treasury는 새로운 토큰 발행이나 채굴 수수료의 일부가 계속 쌓인다. 이 후 어느 사용자가 어떤 프로젝트에 treasury의 자금이 펀딩되기를 원하면 투표를 만들고 토큰 홀더들은 투표를 하거나 다른 사람에게 투표를 위임할 수 있다. 이러한 방식을 통하여서 카르다노 커뮤니티가 원하는, 카르다노 프로젝트의 방향성과 맞다고 생각되는 프로젝트들이 지원을 받고, 성장하는 양성 피드백이 형성될 수 있다.

위에 언급된 treasury 시스템을 이루기 위해서는 다음과 같은 챌린지들이 존재한다.

  1. 올바른 투표 메커니즘
  2. 투표에 대한 인센티브
  3. 제안을 쉽게 할 수 있는 메커니즘

카르다노는 이 treasury 시스템이 하나의 레퍼런스로 만들어서 다른 프로젝트들도 이를 도입하고 각자의 목적에 맞게 수정하는 것을 목표로 합니다.

프로젝트의 방향성

시간이 흐름에 따라 혁신, 기술,그리고 사용 케이스들에 따라서 프로젝트는 변화할 수 밖에 없다. 블록체인 프로젝트가 변화하는 방법에는 소프트 포크와 하드 포크가 있다. 하지만, 어떤 포크가 적절한지 결정하는 적당한 방법이 존재하지 않고, 결국 체인이 나눠질 수 있다는 점은 큰 단점이다. 그렇다면 논쟁이 있어도 어느정도의 안정성이 보장되고, 변화는 하지만, 원래 방향에서 잘 변화하지 않고, 변화 할때는 전체의 동의가 있을때만 변하는 사회 시스템은 무엇이 있을까?

카르다노의 발명자 Charles Hoskinson은 헌법이 위에 언급된 질문의 답이라고 설명하였다. 그리하여 프로토콜을 헌법처럼 여기고 작성한다면, 어느정도의 안정성과 변화를 동시에 보장받을 수 있다고 생각한다.


References

profile
블록체인 개발자(진)

0개의 댓글