[Celestia Series] 1. 모듈러 블록체인
서울대학교 블록체인 학회 디사이퍼(Decipher) Celestia팀에서 최초의 데이터 가용성 네트워크인 Celestia에 대한 글을 시리즈로 연재합니다. 본 시리즈는 모듈러 블록체인을 자세히 설명한 한국어로 된 아티클이 적다는 문제의식에서 출발해, Celestia에 한정짓지 않고 데이터 가용성 및 모듈러 블록체인의 개념을 포괄적으로 설명하였습니다. 글에 들어가기 앞서서, 필자는 Celestia와 아무런 연관이 없음을 밝힙니다.
Celestia Series
1. 모듈러 블록체인
2. 연산 레이어와 데이터 저장
3. Data Availability Problem과 솔루션
4. Celestia의 사용 예시
5. Celestia의 특징과 다른 솔루션들
Author
Kun of Decipher
Seoul Nat’l Univ. Blockchain Academy Decipher(@decipher-media)
Reviewed By 정재환
목차
1. 들어가며
2. 모놀리틱 블록체인
3. 모놀리틱 블록체인의 한계
4. 모듈러 블록체인
5. 마무리
6. References
1. 들어가며
현재 운영되고 있는 다양한 블록체인 네트워크 들은 각기 다른 지향점을 갖고 개발, 운영되고 있습니다. P2P Electronic Cash System 이라는 개념으로 시작한 비트코인의 경우 P2P 거래라는 목적성에 부합하게 거버넌스 및 개발이 이뤄지고 있고, 튜링 완전성이라는 특징 하에 ‘The world computer’로 불리우는 이더리움은 그 특성을 극대화 시킬 수 있는 방향으로 다양한 프로포절들을 통한 거버넌스가 이뤄지고 있습니다. 비트코인과 이더리움 이외의 다른 메인넷들도 각 체인의 각 체인의 비전과 철학에 걸맞게 거버넌스가 이뤄지고 있으며, 다양한 형태로 발전하며 멀티체인의 시대로 나아가고 있습니다.
이때 각기 체인들은 트릴레마 문제를 해결하기 위해 독자적인 방법을 고안해 적용하고 있습니다. 이더리움의 경우 PoS로의 전환 및 롤업을 통해 확장성을 해결하고자 합니다. 롤업은 2편에서 자세히 알아볼 예정이며, Vailidty proof 혹은 Fraud Proof을 통해 오프체인에서 연산을 진행하고 온체인에서는 최소한의 데이터만 처리해 확장성을 확보하는 방식입니다. 솔라나의 경우 하드웨어를 고도화시키는 동시에 병렬처리와 같은 기능을 도입해 노드의 부담을 경감시키는 방향으로 확장성을 도모하고자 합니다. 이외에도 BSC는 탈중앙성을 포기하고 블록의 크기를 키웠고, 코스모스는 멀티체인을 도모하는 방식 등으로 보다 많은 양의 트랜잭션을 저렴한 비용으로 처리하고자 노력합니다.
그러나 위의 대부분의 블록체인들은 트랜잭션의 처리 속도를 빠르게 하기 위해서는 탈중앙성이나 보안성을 희생해야 한다는 트릴레마의 문제에서 아직 벗어나지 못했습니다. 노드의 개수와 블록의 처리 속도간에 구축되어 있는 함수는 블록체인 자체의 구조를 바꾸지 않는 이상 해결하기 어려운 문제이기 때문입니다. 이러한 확장성 문제를 해결하는 방법으로 블록체인의 아키텍처를 기능별로 분리해 별도의 레이어에 위임하는 방식인 모듈러 블록체인이 주목받고 있습니다. 기존 블록체인의 방식인 모놀리틱 블록체인에서는 노드에서 모든 작업을 일괄적으로 처리했어야 하는데, 모듈러 블록체인에서는 그 단어가 시사하듯 모듈 형태로 작업을 분리할 수 있어 탈중앙화를 훼손하지 않으면서 높은 확장성을 제공할 수 있습니다.
2. 모놀리틱 블록체인 (Monolithic Blockchain)
모놀리틱 블록체인은 Consensus — Settlement — Execution — Data Availability으로 구성된 블록체인이 갖춰야 하는 기능들이 한 체인내에서 이뤄지는 체인을 의미합니다. 비트코인과 이더리움이 모놀리틱 블록체인의 대표적인 예시입니다.
비트코인의 경우 블록생성과 검증은 풀노드를 통해서 이뤄지는데, 이 풀노드는 PoW 알고리즘 상에서의 합의부터 트랜잭션의 검증 및 연산까지 모든 영역을 담당합니다. 이더리움의 경우에도 합의 알고리즘을 기반으로 트랜잭션의 순서가 정해지고, 이렇게 정렬된 데이터는 연산되어 스테이트 형태로 표시됩니다. 이런 일련의 과정속에서 하나의 체인 상에서 Consensus — Settlement — Execution — Data Availability의 과정이 모두 이뤄진다는 점에서 일체로 되어 있는 블록체인, 다시말해 모놀리틱 블록체인으로 분류됩니다.
모놀리틱 블록체인은 풀노드가 블록에 대한 데이터를 모두 갖추고 있다는 점에서 트랜잭션의 검증이 용이하고 합의 알고리즘이 강력하다는 장점을 가집니다. 비트코인과 이더리움의 트랜잭션이 검증되면서 특정 블록에 대한 정보가 제공되지 않아 검증할 수 없는 사례는 발생하지 않기 때문입니다.
3. 모놀리틱 블록체인의 한계
모놀리틱 블록체인에서는 노드가 Consensus — Settlement — Execution — Data Availability 모든 작업을 처리하기에 확장성 측면에서 구조적인 한계를 보입니다. 모든 노드가 동일한 트랜잭션을 처리해야하기에 모놀리틱 블록체인 확장성은 결국 하나의 노드가 처리할 수 있는 양과 동일합니다. 풀노드가 추가되더라도 트랜잭션 처리 속도가 개선될 수 없고, 오히려 추가되는 노드들도 동일하게 트랜잭션에 대한 검증과 연산, 그리고 합의 과정을 모두 거쳐야 한다는 점에서 다른 노드들의 수행을 방해하는 병목으로 작용할 수도 있습니다. 이처럼 풀노드들이 합의부터 트랜잭션의 연산과 검증 그리고 데이터 가용성까지 작업해야 한다는 점은 모놀리틱 블록체인의 한계를 시사합니다.
더불어 모놀리틱 블록체인은 모든 노드들이 풀노드로 참여해 다운로드 받고, 검증에 사용해야하는 데이터가 꾸준히 증가한다는 점에서도 한계를 보입니다. 만일 지금과 같은 구조로 블록데이터가 풀노드에 계속 쌓이게 된다면, 풀노드를 구축하는데 드는 비용과 시간이 크게 증가해 확장성을 저해하는 요소로 작용할 것입니다. 더불어 풀노드를 구축하는데 비용이 증가해 풀노드의 수가 줄어들어 탈중앙성까지 해치게 됩니다.
모놀리틱 블록체인이 확장성을 도모하는 방법에는 블록의 크기를 키우는 방법부터, 샤딩 등 다양한 방법들이 존재지만, 탈중앙성과 보안성을 희생한다는 점에서 명확한 블록체인 트릴레마의 모습을 보입니다. 블록의 크기를 키우는 방법은 노드 구축에 대한 부담을 늘려 풀노드 구축에 대한 유인을 저해시키고, 샤딩의 경우 샤드간 데이터를 공유하는 구조가 복잡해 보안성 측면에서 단점을 보일 수 있습니다. 이러한 일련을 방법들을 최소한의 희생으로 극복하면서 확장성을 추구할 수 있는 방법으로 모듈러 블록체인이 주목받고 있습니다.
4. 모듈러 블록체인 (Modular Blockchain)
모듈러 블록체인은 그 단어가 시사하는 것처럼, 블록체인의 기능을 모듈화 시켜 각기 다른 레이어에서 수행할 수 있게끔 해주는 블록체인 아키텍처를 의미합니다. 모듈화의 대상이 되는 기능들은 Execution, Consensus, Data availability, Settlement의 네가지로, 각각의 기능에 특화된 별도의 레이어가 구축되어 다른 레이어에 속해 있는 노드들이 처리해야 하는 데이터의 양을 경감시키는 형태로 확장성을 확보하는 구조입니다.
1) Consensus
Consensus는 블록체인의 합의를 담당하는 영역으로 해당 레이어에서 트랜잭션의 순서를 정하게 됩니다. 아래 그림과 같이 알파벳으로 표현된 트랜잭션을 합의 알고리즘을 통해 순서를 정하는 과정(Ordering)을 거치게 됩니다.
2) Execution
Execution은 트랜잭션 연산을 담당하는 부분으로, 합의 알고리즘에서 정해진 순서대로 트랜잭션을 실제 수행하는 영역을 의미합니다. 대체로 이러한 연산 과정을 거쳐 결과는 스테이트(지갑의 잔고 개념) 형태로 표시됩니다.
3) Data availability
Data availability는 현재 체인의 상태를 검증하는 영역을 의미하는데, 블록의 모든 내용이 온전히 배포되어있는지에 대한 개념으로 현재 체인의 상태를 검증할 때 사용됩니다. Data availability가 확보되지 않으면, 블록의 정보가 온전히 공개되지 않아 검증이 불가능해져 해당 영역은 체인 보안성의 큰 부분을 차지합니다.
4) Settlement
Settlement는 같은 settlement 레이어를 공유하고 있는 연산레이어들끼리 trust-minimized 브릿지를 구축할 수 있도록 하며 consensus 레이어에 전달되기 이전에 각 트랜잭션에 대한 추가적인 검증을 담당합니다. 트랜잭션을 검증한다는 점에서 연산의 일종이라고 볼 수 있지만, state를 계산한다는 점에서 그치지 않고 state에 대한 증명을 받아서 검증한다는 점에서 좁은 의미의 연산과 구분됩니다. 롤업의 경우 연산만 오프체인에서 진행하고 이더리움을 settlement 레이어로 활용합니다.
모듈러 블록체인은 위의 네가지 블록체인의 기능을 레이어 형태로 그 목적에 맞추어 특화한다는 점에서 효율적이고 유연하다는 장점을 집니다. 이러한 분류는 해당 체인의 트랜잭션 처리 속도를 큰 폭으로 향상 시킵니다. 뿐만 아니라 특정한 합의 레이어 위에 특정한 목적을 갖는 연산 레이어를 올려서 각 개발자의 목적에 맞는 형태로 체인을 구축할 수 있습니다. 이러한 형태는 체인의 영역 중 가장 어려운 부분인 합의의 영역을 처음부터 구축하지 않고도 독자적인 체인을 개발할 수 있다는 가능성을 열어주고 추후 체인을 유지보수하는 관점에서도 유연한 정책을 유지할 수 있게끔 하는 장점을 지닙니다.
모듈러 블록체인은 위의 네 가지 레이어들이 각기 다른 형태로 조합되어 나타날 수 있습니다.
1)레이어1이 모든 역할을 수행하면서 레이어2가 추가적인 연산 능력을 수행하는 형태입니다. execution과 consensus를 분리시킨 모듈러 블록체인으로 확장성을 확보하려는 시도는 이더리움에서도 롤업을 통해 확인할 수 있습니다. 이더리움에서는 합의 알고리즘을 기반으로 트랜잭션의 순서가 정해지고, 이렇게 정렬된 데이터는 연산된 이후 스테이트 형태로 표시됩니다. 이때 이더리움은 자체 체인을 합의 알고리즘으로 사용하고, 다양한 롤업들이 이더리움 합의 레이어위에서 동작하게끔 설계되어 있어, 두 개 이상의 연산 레이어를 통해 더욱 많은 트랜잭션을 처리할 수 있습니다
2) 합의와 검증 레이어 위에 연산 레이어가 올려지고, 각 연산 레이어를 검증하고 연결하기 위해 settlement 레이어가 존재하는 형태입니다. 최하단의 합의 레이어에서는 트랜잭션의 순서만 정해지고 실질적인 연산 및 검증은 이뤄지지 않습니다. 모듈러 블록체인인 Celestia의 경우 합의와 DA는 Celestia, Settlement는 Cevmos를 통하고 연산은 별도의 특화된 체인을 통해 이뤄지는 형태를 취할 수 있습니다.
3)Settlement layer 없이 합의-검증 레이어와 연산 레이어만 구분된 형태입니다. Fraud proof등의 연산 레이어의 검증은 연산 레이어 내부에서 노드들끼리 p2p 형태로 이루어집니다.
모듈러 블록체인은 위의 언급된 형태 이외에도 다양한 형태로 존재할 수 있습니다. 블록체인의 기능에 따라 다양한 형태의 레이어가 만들어질 수 있고, 레이어를 레고블럭 형태로 쌓아 모듈러 블록체인의 형태가 정해질 수 있기 때문입니다.
5. 모듈러 블록체인이 해결해야 하는 과제
Data Availability
모듈러 블록체인은 모놀리틱 블록체인과 달리 트랜잭션을 검증하는 주체가 분리되어 있다는 점에서 큰차이를 보입니다. 모놀리틱 블록체인의 경우 모든 노드는 풀노드 상태로 트랜잭션에 대한 모든 정보를 갖고 있어 데이터 부족으로 인해 트랜잭션을 검증하지 못하는 상황이 발생하지 않습니다. 반면 모듈러 블록체인에서는 트랜잭션을 담당하는 노드가 각 레이어별로 상이하기에, 트랜잭션에 대한 정보가 각 레이어간에 온전하게 전해지지 않는다면 블록을 제대로 검증할 수 없는 상황에 처할 수 있습니다. 블록에 데이터가 전해지지 않으면 올바르지 않은 트랜잭션이 포함되어 있다는 것을 검출하는 Fraud Proof가 원칙적으로 불가능해지고 Validity Proof의 경우 지갑의 잔고를 확인할 수 없는 문제가 발생합니다.
이러한 문제는 블록데이터를 온전히 다루지 않는 라이트 노드를 고려했을 때 대응하기가 더욱 까다로워집니다. 라이트 노드들은 블록헤더를 기반으로 블록에 대한 검증을 진행하는데, 블록 생산자가 블록헤더에 대한 정보만 제공하고 블록바디에 기록되어 있는 내용은 조작하는 경우 악의적인 트랜잭션이 포함되어 있어도 검출해내기가 어렵기 때문입니다.
이번 1편에서는 모놀리틱 블록체인과 모듈러 블록체인의 차이에 대해 짚어보고 모듈러 블록체인의 강점에 대해 알아보았습니다. 모놀리틱 블록체인에서는 모든 노드가 Consensus — Settlement — Execution — Data Availability의 모든 작업들을 수행해야한다는 점에서 확장성을 확보하기에 구조적인 어려움있고, 이를 해결하기 위해 각기 기능들을 레이어의 형태로 분산하는 모듈로 블록체인의 개념이 등장했습니다. 이후의 글에서 모듈러 블록체인의 일종인 Celestia의 특성과 작동원리에 대해 보다 짚어보고, 특히나 연산 레이어의 작동방식에 따른 분류를 진행해 모듈러 블록체인에 대해 자세히 짚어보겠습니다.
6. References
- https://medium.com/imperator-guide/modular-vs-monolithic-blockchains-introduction-to-celestia-the-first-modular-blockchain-d99d6899cfe1
- https://medium.com/blockchain-capital-blog/wtf-is-data-availability-80c2c95ded0f
- https://polynya.medium.com/the-lay-of-the-modular-blockchain-land-d937f7df4884
- https://www.bitscrunch.com/blogs/modular-vs-monolithic-blockchain#:~:text=Monolithic Blockchain&text=While that has worked in,and record higher processing costs.
- https://vitalik.ca/general/2021/05/23/scaling.html
- https://celestia.org/learn/modular-architectures/#the-modular-blockchain-stack
- https://medium.com/coinmonks/why-we-need-modular-blockchains-for-scalability-276f4d724b0e
- https://blog.polygon.technology/the-data-availability-problem-6b74b619ffcc/
- https://rainandcoffee.substack.com/p/modular-blockchain-protocols
- https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding
디사이퍼 — Celestia 팀 소개
Jason — Decipher Senior Researcher
이건우 — Decipher Junior Researcher
임요한 — Decipher Junior Researcher
장혁수 — Decipher Junior Researcher
홍성수 — Decipher Senior Researcher