지난 #1에서 말했던 것처럼 카르다노(Cardano)는 3세대 블록체인을 '지향'하고 있다. 여기서 3세대라고 하는 것도 업계가 정했다고 볼 수 없으며 카르다노측에서 직접 정한 것이기 때문에, 논란의 여지가 있을 수 있다.
어쨌든, 카르다노는 자신들이 1)확장성, 2)상호운용성, 3)지속가능성을 확보하여 3세대 블록체인을 만들 수 있다고 말하고 있는 상황이며, 오늘은 카르다노의 확장성(Scale)에 대해 언급하고자 한다.
▣ 확장성 개념
확장성은 개별 블록체인 뿐만 아니라 전체 업계의 성공과 확장을 위해서라도 반드시 해결해야 할 문제로, 블록체인이 얼마나 빠르게 암호화폐 전송을 처리할 수 있느냐를 나타내는 지표이다.
현재 비트코인의 확장성은 7TPS(초당 전송량, Transaction Per Second), 이더리움은 15TPS 내외를 나타내고 있으며, 이에 대한 해결책으로는 사이드체인(Sidechain), 합의 컨센서스 변경 등이 언급되고 있는 상황이다.
▣ 우로보로스 알고리즘
카르다노는 확장성 문제를 해결하기 위해, 즉 더 빠르게 많은 암호화폐 전송을 처리하기 위해 우로보로스(Ouroboros)라고 하는 합의 알고리즘을 사용 중에 있다.
우로보로스는 영국 에딘버러 대학의 에겔로스 키아이아스(Aggelos Kiayias) 교수가 설계한 합의 알고리즘으로, 기본적으로 PoS(Proof of Stake) 형태로 구축되어 있다.
※ 다른 글에서 언급했듯이, 일반적으로 부르는 PoS, PoW는 개괄적인 개념을 나타낼 뿐이며 같은 PoS라고 할지라도 개별 암호화폐에서는 다르게 작동 및 구현될 수 있다.
우로보로스 알고리즘의 가장 큰 특징은 블록을 만드는 과정을 에포크(Epoch)와 슬롯(Slot)으로 구분지어 만들었다는 점이다.
우로보로스에서는 블록을 생성할 사람들을 사전에 미리 선발하게 된다. 이 때, 앞으로 만들어질 모든 블록에 대해 생성자를 선발할 수 없으니, 특정 주기를 정해놓고 해당 주기에 대해 선발하게 되는데 이 주기를 에포크라고 부르며 슬롯은 에포크 내에서 블록 1개를 생성하는 시간을 의미한다.
에포크가 시작되기 전, 개별 슬롯에서 블록을 생성할 슬롯 리더(Slot Leader)를 선별하게 된다. 슬롯 리더는 확률적으로 선별되는데 이 때 확률은 가지고 있는 에이다의 수를 전체 에이다의 수로 나눈 값이 된다.
즉 총 1억개의 에이다 중 5천만개의 에이다를 가지고 있다면, 이 사람이 슬롯 리더에 선발될 확률은 50%인 것이다.
이런 과정을 모든 슬롯에 걸쳐서 반복하게 되며, 한 사람이 여러 개의 슬롯 리더가 될 수 있다.
참고로 현재 에포크는 21,600개의 슬롯으로 구성되어 있다.
우로보로스는 기본적으로 PoS이기 때문에, 같은 플랫폼 블록체인인 이더리움보다 더 빠르게 합의를 이끌어 낼 수 있다. 이 때문에 우로보로스 알고리즘을 소개하는 문서에 따르면, 카르다노는 258 TPS를 처리할 수 있다. (단 슬롯 주기를 5초로 했을 경우이며, 현재는 슬롯 주기가 20초임)
출처 : Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol
카르다노의 확장성 상태는 이더리움보다는 훨씬 나은 수준이라고 볼 수 있다. 다만 플랫폼 역할을 하기 위해서는 기본적으로 5,000 이상의 TPS(VISA, Mastercard 수준)를 처리할 수 있어야 하기 때문에 아직 확장성 문제를 완벽하게 해결했다고 볼 수 없다.
카르다노 측도 이에 대해 알고 있으며, 백서에서 밝힌 로드맵에 따르면 2018년부터 우로보로스에 확장성을 해결할 방법을 적용할 것이라고 밝혔다.