[Celestia Series] 2. 연산 레이어와 데이터 저장

100y
Decipher Media |디사이퍼 미디어
21 min readJul 16, 2022

서울대학교 블록체인 학회 디사이퍼(Decipher) Celestia팀에서 최초의 데이터 가용성 네트워크인 Celestia에 대한 글을 시리즈로 연재합니다. 본 시리즈는 모듈러 블록체인을 자세히 설명한 한국어로 된 아티클이 적다는 문제의식에서 출발해, Celestia에 한정짓지 않고 데이터 가용성 및 모듈러 블록체인의 개념을 포괄적으로 설명하였습니다. 글에 들어가기 앞서서, 필자는 Celestia와 아무런 연관이 없음을 밝힙니다.

Celestia Series

1. 모듈러 블록체인
2. 연산 레이어와 데이터 저장
3. Data Availability Problem과 솔루션
4. Celestia의 사용 예시
5. Celestia의 특징과 다른 솔루션들

Author

Jason of Decipher
Seoul Nat’l Univ. Blockchain Academy Decipher(@decipher-media)
Reviewed By 정재환

목차

1. 셀레스티아(Celestia) 개요
2. 연산 레이어(Execution Layer)
3. 그 외의 데이터 저장 방식
4. 마무리
5. References

1. 셀레스티아(Celestia) 개요

1편에서는 모놀리틱(Monolithic) 블록체인과 모듈러(Modular) 블록체인의 개요를 알아보았습니다. 모듈러 블록체인에서는 블록체인의 네가지 역할인 합의(Consensus), 연산(Execution), 데이터 가용성(Data Availability), settlement를 서로 다른 블록체인 네트워크에 적절히 분담시켜 블록체인 트릴레마를 개선하려는 그림을 꿈꾸고 있는 것을 살펴봤습니다. 이번 시리즈를 관통하는 주제이기도 한 셀레스티아(Celestia)는 대표적인 모듈러 블록체인 프로젝트입니다.

Celestia는 최초의 모듈러 블록체인 네트워크로, LazyLedger라는 이름으로 시작한 프로젝트입니다. Celestia는 블록체인이라면 수행해야할 최소의 역할인 consensus와 data availability에만 집중한 프로젝트이기 때문에, 게으른 분산원장이라는 뜻의 LazyLedger라는 이름이 프로젝트의 정체성을 잘 표현하고 있긴 하지만, 더 큰 방향을 바라보고자 Celestia라는 이름으로 프로젝트명 변경을 했습니다. 본래 ‘Celestial’이라는 단어는 ‘하늘의’, ‘천상의’ 뜻을 가지고 있습니다. 하늘 혹은 우주와 같이 어디 매이지 않고, 확장성이 있으며, 가장 기저에서 consensus를 제공한다는 뜻으로 Celestia라는 이름을 사용했으며, 개발자들에게 높은 자유도로 그들만의 execution 레이어를 구축할 수 있도록 합니다.

3편에서 자세히 알아보겠지만, Celestia는 데이터 가용성 샘플링(Data Availability Sampling)을 사용하여 Celestia 블록체인에서는 항상 데이터가 가용가능하도록 합니다. 특히 다른 블록체인들과 달리, Celestia 네트워크에서는 라이트노드(Light node)도 data availability sampling을 통한 검증에 참여할 수 있게 합니다. 밤하늘의 별 하나하나는 빛이 미약할지 몰라도, 모이면 환한 밤하늘의 별빛을 이루듯이, Celestia에서도 라이트노드들 개개인이 샘플링을 하는 데이터 조각은 크기가 작으나, 이것들이 모이게 되면 용량이 큰 블록도 효과적으로 검증을 할 수 있게 됩니다.

Celestia 블록체인이 담당하는 역할은 1) 트랜잭션 순서를 정렬하는 consensus와 2) 모든 트랜잭션 데이터를 저장하여, 네트워크의 모든 참여자가 데이터에 안전하게 접근할 수 있도록 하는 data availability 두가지 입니다. 이는 블록체인이라면 수행해야할 최소의 역할이며, execution 및 settlement의 역할은 다른 블록체인이 Celestia 위에 올라와서 수행하게 함으로써, 역할을 분리시킵니다. 기존 모놀리틱 블록체인에서는 모든 노드들이 블록체인의 4가지 역할을 다 수행함으로써 확장성에 있어서 한계가 있었다면, Celestia는 연산레이어들이 데이터 저장을 Celestia 블록 공간에 할 수 있도록 공간을 제공하여 확장성을 비약적으로 개선할 수 있습니다. Celestia 네트워크에는 다양한 연산 레이어가 올라올 수 있으며, 연산 레이어에는 어떤 종류가 있는지 살펴보도록 하겠습니다.

2. 연산 레이어 (Execution Layer)

연산 레이어는 execution에만 특화된 네트워크로, 가장 대표적인 예시로는 아비트럼(Arbitrum)이나 옵티미즘(Optimism)같은 롤업 네트워크들이 있습니다. 연산 레이어들의 특징으로는, 블록체인의 네가지 역할 중 execution만 처리하며, 나머지 역할들은 다른 네트워크에 의존합니다. 예시로 이더리움 위의 롤업 네트워크들은 consensus, data availability, settlement를 이더리움 네트워크에 의존함으로써, 이더리움의 강력한 보안 수준을 따르면서도, execution을 이더리움이 아닌 오프체인(off-chain)에서 효율적으로 처리하여 확장성을 개선할 수 있습니다. 이더리움의 보안을 이용하면서도 확장성을 개선하기 때문에 이더리움 확장성 솔루션 혹은 이더리움 레이어2라고 불리기도 합니다.

이더리움 레이어2 솔루션의 종류 (출처: 스타크웨어)

이더리움 레이어2 솔루션에는 위의 표와 같이 크게 스테이트 채널, 플라즈마, 옵티미스틱 롤업, zk롤업, 밸리디움, 볼리션으로 총 6가지 존재합니다. 여기서 스테이트 채널은 조금 특수한 경우를 위한 솔루션으로, 이번 글에서 다루지는 않겠으나, 궁금하신 독자 분들께서는 필자가 이전에 작성한 글을 참고해주시길 바랍니다. 위 표에나와 있는 레이어2 솔루션들은 검증을 하는 방식(Validity proof, Fraud proof)과 데이터를 저장하는 방식(온체인, 오프체인)에 따라 분류되지만, 모두에게 해당하는 공통점이 3가지가 있습니다.

  1. 모든 레이어2 솔루션들은 execution을 이더리움이 아닌, 이더리움 밖의 오프체인에서 처리합니다. Execution에는 컴퓨팅 리소스가 많이 소모되기 때문에, 이를 오프체인인 연산 레이어에서 수행하면 확장성을 개선하는 효과를 낳을 수 있습니다.
  2. Execution을 모두가 확인할 수 있는 이더리움이 아닌 오프체인에서 실행하기 때문에, execution이 제대로 이루어졌는지 확인하는 과정이 필요합니다. 따라서 모든 레이어2 솔루션들은 오프체인 네트워크의 연산 결과를 머클트리(Merkle tree)의 형태로 압축하여 이더리움 블록에 기록합니다. 아래에서 자세히 살펴보겠지만, 플라즈마의 경우 블록 헤더를 요약한 블록 루트(Block root)를 기록하며, 나머지 솔루션들의 경우 네트워크의 상태(state; ex. 사용자들의 지갑 잔고)를 요약한 스테이트 루트(State root)를 기록합니다. 이러한 머클 루트(Merkle root)들이 이더리움 온체인에서 검증 받는 방식은 사기 증명(Fraud proof)와 유효성 증명(Validity proof)의 형태로 나뉩니다.
  3. Execution에 사용된 트랜잭션 데이터를 어딘가에 저장합니다. 연산 레이어의 트랜잭션 데이터를 이더리움에 저장하는 것을 데이터 온체인 방식이라고 하며, 이더리움 외의 다른 공간에 저장하는 것을 데이터 오프체인 방식이라고 합니다.

지금부터 머클 루트의 검증 방식과 데이터 저장방식을 자세히 알아보고 5가지 솔루션에 대해서 차례대로 살펴보겠습니다.

2.1 검증 방식에 따른 연산 레이어의 분류

모든 이더리움 레이어2 솔루션들은 네트워크의 블록 헤더(플라즈마의 경우) 혹은 네트워크의 상태(그 외의 경우)에 대한 정보를 머클트리로 요약하여 이더리움 블록에 기록합니다. 머클트리는 정보들을 2개 씩 계속 짝지어 요약하며 최종적으로 남는 값인 머클 루트를 도출해내는 데이터 요약법입니다. 아래 그림은 TA, TB, …, TH를 머클트리를 요약해서 머클 루트인 H_ABCDEFGH를 도출한 예시입니다.

머클 트리를 통한 데이터 요약 (출처: Investopedia)

머클트리를 이용하면 특정 데이터가 머클트리 내에 존재하는지 확인하기도 굉장히 간단한데, 만약 위의 그림에서 TE가 H_ABCDEFGH 아래에 존재하는 것을 확인하고 싶으면, H_E는 TE를 통해 알 수 있으니, H_F, H_GH, H_ABCD 이렇게 총 3개의 값만 안다면 효율적으로 확인할 수 있습니다. H_E와 H_F를 통해 H_EF를 도출하고, H_GH를 사용하여 H_EFGH를 도출한다음에, 마지막으로 H_ABCD를 이용하여 H_ABCDEFGH가 도출되는지 확인하면 되기 때문입니다. 만약, TA, TB, …, TH를 머클트리를 이용해서 단계적으로 요악한 것이 아니라 한 번에 H_ABCDEFGH로 요약해버리면 TE가 머클트리에 속하는지 확인하기 위해선 H_E를 제외한 모든 H_A, H_B, …, H_H 값을 알아야 확인할 수 있기 때문에 굉장히 비효율적일 것입니다.

레이어1 블록체인에서 트랜잭션 순서를 정렬하거나 블록 생성 순서를 합의하여 네트워크의 보안을 유지하는 역할을 하는 주체를 작업 증명(PoW) 네트워크에서는 채굴자, 지분 증명(PoS) 네트워크에서는 밸리데이터라고 합니다. 똑같이 레이어2 네트워크에서도 비슷한 역할을 하는 주체가 있는데, 이를 오퍼레이터(Operator) 혹은 시퀀서(Sequencer)라고 합니다. 이제 오퍼레이터가 레이어2 네트워크의 트랜잭션을 모아서 처리하고 이에 대한 머클 루트를 주기적으로 이더리움 블록에 기록한다는 것을 알았습니다. 근데 과연 머클 루트가 타당한지 타당하지 않은지 어떻게 알 수 있을까요? 머클 루트는 머클트리의 특성상 내부에 있는 정보가 조금이라도 틀리면, 완전히 다른 값으로 변하게 됩니다. 따라서 악의적인 오퍼레이터가 타당하지 않은 머클 루트를 이더리움 블록에 기록할 경우, 레이어2 네트워크 사용자들의 자금은 위험에 처할 수도 있습니다.

이더리움에 존재하는 스마트 컨트랙트에선 레이어2 솔루션의 종류에 따라 이를 사기 증명(Fraud proof) 혹은 유효성 증명(Validity proof)의 형태로 입증합니다.

사기 증명 (Fraud proof)

레이어2 네트워크의 execution이 모두 타당하다고 가정하고 이더리움 블록에 전부 기록합니다. 대신, 이더리움에 존재하는 스마트 컨트랙트에서 타당성을 검사할 수 있는 약 7일간의 분쟁기간이 주어지며, 분쟁 기간 동안 네트워크 참여자들은 이더리움 블록에 기록된 머클 루트와 레이어2의 트랜잭션 데이터를 다운로드 받아 재실행 해봄으로써 타당성을 검사할 수 있습니다. 만약 타당하지 않다는 것이 밝혀지면 fraud proof를 만들어 이더리움 스마트 컨트랙트에 제출하게 되면, 악의적인 오퍼레이터는 페널티를 받게 되고, 네트워크의 상태는 악의적인 행위가 있기 전으로 롤백됩니다. 플라즈마와 옵티미스틱 롤업이 fraud proof 방식을 사용합니다.

Fraud proof를 사용하는 네트워크는 validity proof에 비해 기술적 난이도가 매우 낮고, execution에 들어가는 컴퓨팅 비용이 낮으며, EVM 호환이 가능한 네트워크를 구축하기 쉽다는 장점이 있습니다. 하지만 7일간의 분쟁기간이 존재하여 레이어2 네트워크에서 다시 이더리움으로 자금을 출금 할 때 즉시 출금이 불가능하고, 7일 동안의 유예기간이 존재하며, 또한 validity proof를 사용하는 네트워크에 비해 트랜잭션 데이터를 요약하기가 어려워 데이터 저장에 드는 비용이 높다는 단점이 있습니다.

유효성 증명 (Validity proof)

레이어2 네트워크의 머클 루트를 이더리움 블록에 기록할 때 연산이 옳다는 증거인 validity proof까지 함께 이더리움에 제출합니다. 즉, fraud proof 방식과는 달리 타당한 머클 루트만 기록될 수 있습니다. Validity proof는 영지식증명(Zero-Knowledge Proof)을 통해 생성되는데, 영지식 증명이란 쉽게 말하면 “Prover가 특정 내용을 알고 있다는 사실을 Verifier에게 증명해야하는 상황에서, Verifer에게 특정 내용을 공개하지 않고서도 증명”할 수 있는 암호학 중 하나입니다.

알리바바의 동굴 문제 (출처: 위키피디아)

영지식 증명은 위의 그림과 같이 알리바바의 동굴 문제로 쉽게 비유될 수 있습니다. 위 예시에서 분홍색이 Prover이며, 초록색이 Verifier의 역할을 합니다. 동굴 내부는 두 갈래 길로 나뉘어 있으며, 사이에는 마법 주문을 알아야만 지나갈 수 있는 문이 있습니다. 분홍색은 자신이 마법 주문을 알고 있다는 사실을 초록색에게 증명하고 싶지만, 초록색에게 마법 주문이 구체적으로 무엇인지 밝히고 싶지 않습니다. 이를 증명하는 과정이 영지식 증명입니다. 우선, 초록색이 동굴 밖에 있는 상태에서 분홍색이 A, B 둘 중 가고 싶은 곳으로 들어간 후에, 초록색이 분홍색보고 A 또는 B 둘 중 하나로 지시합니다. 만약 분홍색이 B로 들어갔는데 초록색이 B로 나오라고 지시할 시, 분홍색은 마법 주문을 몰라도 초록색이 지시한대로 이행할 수 있습니다. 다만, 이 과정을 지속적으로 반복하게 될 경우, 분홍색은 동굴 주문을 모른다면 지속적으로 초록색이 지시한대로 이행하기 힘들 것입니다. 즉, 만약 분홍색이 초록색의 지시를 계속 이행한다면, 초록색은 분홍색이 마법 주문을 알고 있다고 확률론적으로 확신할 수 있게 되는 것입니다.

영지식 증명을 레이어2 확장성 솔루션에 적용하면 큰 장점이 있습니다. Validity proof를 통해서 레이어2 네트워크의 데이터를 공개하지 않고도 execution이 옳게 진행되었다는 것을 증명할 수 있기 때문에, fraud proof를 사용하는 네트워크에 비해 데이터를 비약적으로 압축해서 저장할 수 있습니다. 즉, 데이터를 저장하는데 드는 비용이 낮습니다. 또한, 연산에 대한 유효성이 7일간의 분쟁기간 필요없이 즉시 결정되기 때문에 출금 시에도 즉시 출금이 가능합니다. 다만, 영지식 증명은 기술적으로 복잡하며, EVM 호환이 되는 네트워크를 구축하기가 어렵고, 오프체인에서 영지식 증명을 생성하는데 드는 비용이 비싸다는 단점이 있습니다. 밸리디움과 zk롤업이 validity proof 방식을 사용합니다.

2.2 데이터 저장 방식에 따른 연산 레이어의 분류

모든 이더리움 레이어2 솔루션들은 네트워크의 트랜잭션 데이터를 어딘가에 저장합니다. 이더리움 블록에 저장할 경우 데이터 온체인 방식이라고 하며, 이더리움 외의 다른 곳에 저장할 경우 데이터 오프체인 방식이라고 합니다. 데이터 온체인 방식은 데이터를 이더리움에 저장하기 때문에, 데이터가 누구에게나 접근 가능하여 항상 가용 가능한 상태가 됩니다. Data availability에 대해선 3편에서 자세히 알아보겠지만, 데이터가 가용 가능한 상태는 네트워크의 보안에 매우 중요한 조건입니다. 대신, 저장 공간으로 이더리움 블록 공간을 사용하므로 속도가 느리고 비용이 비싸다는 단점이 있습니다.

트랜잭션 데이터를 이더리움 외의 공간에 저장할 경우 데이터 오프체인 방식이라고 합니다. 중앙화된 오프체인에 데이터를 저장하게 되므로, 속도가 매우 빠르고, 비용이 저렴하다는 장점이 있으나, 만약 악의적인 오퍼레이터가 데이터를 공개하지 않을 경우 data availability problem 이라는 보안에 굉장히 심각한 문제가 발생할 수 있습니다. 그 외의 데이터 저장방식에 대해서는 본 글의 파트3에서 다루도록 하겠습니다.

2.3 연산 레이어 하나씩 살펴보기

이더리움 레이어2 솔루션의 종류 (출처: 스타크웨어)

지금까지 검증 방식과 데이터 저장 방식에 따른 분류를 알아보았습니다. 이를 조합하게 되면 위의 표와 같이 5가지의 레이어2 솔루션을 쉽게 도출해낼 수 있습니다. 하나씩 차례대로 살펴보도록 하겠습니다.

플라즈마(Plasma) — Fraud proof / 데이터 오프체인

플라즈마 네트워크는 블록 헤더를 머클 트리로 요약한 블록 루트를 이더리움 온체인에 기록합니다. 출금 시 약 7일간의 분쟁기간을 두어 이의제기(Fraud proof 제출)를 할 수 있게끔 하여 이더리움 네트워크의 보안에 어느정도 수혜를 받을 수 있습니다. 하지만, 플라즈마에는 굉장히 심각한 문제가 있는데 바로 data availability problem입니다. 데이터를 중앙화된 오프체인에 저장하기 때문에, 만약 악의적인 오퍼레이터가 타당하지 않은 트랜잭션을 끼워두고, 데이터를 일부로 공개하지 않는다면 사용자들은 이더리움에 제출된 블록 루트가 타당한지 확인을 할 수가 없을 것입니다. 애초에 트랜잭션 데이터가 공개가 되지 않기 때문에 재실행하여 검증을 진행할 수 없기 때문입니다. 이는 사용자들이 플라즈마 네트워크에서 자금을 탈취당하거나 동결될 위험이 있다는 것을 의미합니다. 대표적인 프로젝트로는 Polygon PoS, Omisego 등이 있습니다.

옵티미스틱 롤업(Optimistic Rollup) — Fraud proof / 데이터 온체인

옵티미스틱 롤업은 플라즈마와 같이 fraud proof 방식을 사용하지만, 데이터를 온체인에 저장한다는 차이점이 있습니다. 데이터를 이더리움 블록에 저장하기 때문에, 네트워크의 참여자들은 항상 데이터에 접근이 가능하다는 장점이 있습니다. 따라서 플라즈마 네트워크에서 발생하는 data availability problem과 같은 심각한 보안상 문제는 존재하지 않으며, 보안을 이더리움에 완벽하게 의존한채로 확장성을 개선할 수 있다는 장점이 있습니다. 다만, 출금시 7일간 유예 기간이 있다는 것이 단점이며, 또한 데이터를 이더리움 블록에 저장하기 때문에 확장성이 이더리움 메인 체인에 제한을 받을 수 밖에 없습니다. 대표적인 프로젝트로는 Arbitrum, Optimism 등이 있습니다.

zk롤업(zk-Rollup) — Validity proof / 데이터 온체인

zk롤업은 롤업 네트워크인 만큼, 데이터를 온체인에 저장하여 data availability problem이 존재하지 않으며, 옵티미스틱 롤업과의 차이점은 fraud proof가 아닌 validity proof 사용한다는 점입니다. Validity proof를 사용하기 때문에 항상 execution이 옳다는 것을 증명할 수 있어 즉시 출금이 가능하다는게 장점이고, 또한 영지식 증명의 특성으로 인해 트랜잭션 데이터를 매우 압축해 이더리움 블록에 저장할 수 있기 때문에, 옵티미스틱 롤업보다 확장성이 훨씬 좋다는 장점이 있습니다. 하지만 옵티미스틱 롤업의 경우 EVM 호환이 매우 쉬운 반면, EVM이라는 것이 생길 때 애초에 영지식 증명을 고려하지 않았기 때문에 zk롤업에서는 EVM 도입의 기술적 장벽이 매우 커 어려움이 있습니다. 대표적인 프로젝트로는 dYdX 등이 있습니다.

밸리디움(Validium) — Validity proof / 데이터 오프체인

밸리디움은 zk롤업과 유사하게 validity proof를 사용하지만, 데이터를 중앙화된 오프체인에 저장합니다. 플라즈마와 달리 data availability problem가 그리 심각하지 않은 이유는, 플라즈마에서는 execution에 대한 타당성을 입증하기 위해 트랜잭션 데이터가 필요했지만, 밸리디움에서는 execution에 대한 타당성이 validity proof를 통해 입증되므로 트랜잭션 데이터의 유무가 타당성의 유무와 큰 상관이 없습니다. 다만, 여기서도 악의적인 오퍼레이터가 데이터를 일부로 공개하지 않을 경우, 사용자들의 자금이 탈취되진 않지만 동결될 위험이 있습니다. 데이터를 오프체인에 저장하므로 zk롤업에 비해 매우 저렴하고 빠르다는 장점이 있습니다. 대표적인 프로젝트로는 StarkEx 엔진을 사용하는 Sorare, ImmutableX 등이 있습니다.

볼리션(Volition) — Validity proof / 데이터 온, 오프체인

볼리션은 zk롤업과 밸리디움을 절충하여 사용하는 솔루션입니다. validity proof를 사용하되, 데이터를 상황에 따라 선택적으로 온체인 혹은 오프체인에 저장할 수 있게 함으로써 융툥성있게 활용할 수 있습니다. 중요한 데이터는 이더리움에 온체인에 저장하여 확장성이 떨어지는 대신 보안 수준을 강력하게 할 수 있고, 그리 중요하지 않은 데이터는 오프체인에 저장하여 확장성의 이점을 가져갈 수 있습니다. 대표적인 프로젝트로 zkSync 등이 있습니다.

3. 그 외의 데이터 저장 방식

그 외의 데이터 저장 방식 (출처: Celestia)

위에서 데이터 저장 방식을 알아볼 때 데이터 온체인, 오프체인 이렇게 이분화 하여 알아보았습니다. 플라즈마와 밸리디움이 사용하는 데이터 저장 방식이 가장 확장성이 좋지만, 가장 중앙화 되어있고, 롤업이 사용하는 방식은 가장 확장성이 떨어지지만, 가장 탈중앙화 되어있습니다. 사실 데이터 저장 방식에는 이외에도 중간적인 성격을 띄는 솔루션들이 많이 있습니다. 다른 데이터 저장 방식들에 대해 살펴보겠습니다.

Data Availability Committees(DAC)

완전한 오프체인 방식인 플라즈마와 밸리디움보단 탈중앙화 되어있지만, 그래도 여전히 중앙화된 솔루션입니다. 데이터를 오프체인에 저장하는 대신 단일 주체가 아니라 여러 주체들이 공동으로 데이터를 관리하게 됩니다. Consensys, Infura, StarkWare와 같은 선별된 기업이 데이터를 공동으로 관리하며 대표적인 예시로 ImmutableX와 DeversiFi가 이 방식을 사용합니다.

PoS Guardians

zkSync에서 사용하는 방법입니다. 경제적인 인센티브 시스템을 도입함으로써 DAC 방식보다 더 탈중앙화된 방식입니다. 토큰 홀더들은 공동으로 데이터를 관리하며, 만약 악의적인 행동을 할 경우 페널티로 토큰을 슬래싱하는 방식을 사용합니다.

Data Availability Layer(DA Layer)

아예 트랜잭션 데이터 저장을 위한 data availability 전문 블록체인을 구축하는 것입니다. 이번 시리즈의 주인공인 Celestia가 대표적인 예시이며, 그 외로는 Polygon Avail이라는 프로젝트가 존재합니다. Data availability sampling이라는 방법을 통해 라이트노드들이 데이터 조각을 샘플링하여, 만에하나 악의적인 블록 생성자가 데이터를 누락시키거나 숨긴다고 해도, 무조건 원본데이터를 복구할 수 있도록 합니다. 즉, 원천적으로 data availability problem이 발생하지 않으며, DA layer 위에 올라오는 연산 레이어들이 안전하게 자신들의 트랜잭션 데이터를 DA layer에 저장할 수 있습니다. 트랜잭션 데이터를 이더리움에 기록하는 것보단 당연히 보안 수준이 낮지만, 위에서 살펴본 그 외의 방식들보단 훨씬 안전하다는 장점이 있으며, 라이트노드들의 data availability sampling을 통해 블록 크기도 안전하게 크게 키울 수 있어 확장성 측면에서도 크게 손해보지 않는 방법입니다.

4. 마무리

이번 2편에서는 Celestia가 어떤 프로젝트인지 간단히 살펴보고, Celestia를 data availability 레이어로 사용할 수 있는 다양한 연산 레이어들의 종류에 대해 알아 보았습니다. 연산 레이어들이 데이터 저장을 온체인에 할 경우 안전하다는 장점이 있었으나, 비용 및 속도 측면에서 아쉽고, 이를 오프체인에 저장하자니 data availability problem이라는 심각한 보안 문제에 직면할 수 있었습니다. Celestia는 이 문제를 효율적으로 해결할 수 있었으며, data availability problem이 구체적으로 무엇인지, 또 어떤 방식을 통해 해결할 수 있었는지는 3편에서 이어서 알아보도록 하겠습니다.

5. References

디사이퍼 — Celestia 팀 소개

Jason — Decipher Senior Researcher
이건우 — Decipher Junior Researcher
임요한 — Decipher Junior Researcher
장혁수 — Decipher Junior Researcher
홍성수 — Decipher Senior Researcher

--

--