이더리움 댕크 샤딩

PArd
10 min readNov 19, 2023

--

0.도입부

블록체인 생태계는 코드로 이루어져 있고 24시간 언제나 열려있는 시장이다. 시장에 참여하다 보면 시시각각 바뀌고 더 나은 결과를 도출하기 위해 혁신을 거듭하는 것이 마치 살아 움직이는 생물같기도 하다.

이더리움은 가장 널리 알려진 스마트 컨트랙트 블록체인 토큰으로 레이어1의 대장주이다.
하지만 많은 이더리움 블록체인 네트워크에서 발생하는 트랜잭션은 혼잡성을 유발하여 이를 해결하게 위해 확장성을 늘리기 위해 여러가지 방법이 도입되었다.

1. L2 Solution,특히 rollup와 shading

많은 방법 중 우리에게 가장 친숙한 L2 solution과 shading중 오늘은 이더리움 dank shading 업데이트에 초점을 맞춰 샤딩과 이더리움이 샤딩을 선택한 이유에 대해서 알아보고자 한다.
이는 EIP-4844라고 알려져 있으며 이는 이더리움 개선 제안 4844이다. 제안 4844에는 dank sharding을 수행하기 전의 단계인 Proto-Danksharding의 제안내용으로 최종적으로 Dank sharding의 채택을 위해 준비하는 대안 내용을 담고 있다. dank sharding에 대해서 알아보기 혼잡성을 해결하기 위한 방법 중 하나인 sharding에 대해서 알아보고 이더리움 dank sharding에 대해서 리뷰해보겠다.

앞선 TeamKNK의 Chainlink research에서의 L2에서의 온체인과 오프체인에 대해서 설명햇듯이 L2는 오프체인 혹은 사이드체인을 활용하여 온체인의 많은 계산량을 오프체인과 사이드체인으로 넘겨 많은 연산량을 처리하고 중요한 것들만 온체인에 기록하는 방식이다.
이는 비트코인 라이트닝 네트워크, optimisitc rollups, zk-rollups등의 솔루션이 존재한다.

2. Sharding에 대해서

반면 샤딩이란 단일 공유 체인에서 스마트 계약, 트랜잭션을 처리하여 혼잡성을 개선하여 확장성을 늘리는 것을 선택한 방법이다. 하지만 단일 체인에서 이루어지는 모놀리틱 L1의 경우 이미 경제적으로, 구조적으로 불안정할 뿐만 아니라 여러 사례에서 보여지고 있듯이 모듈러식의 병렬처리가 동반되어야 더 큰 목표를 달성할 수 있음이 알려져 있다.

따라서 대규모 데이터베이스를 “샤드”라고 알려진 작은 섹션으로 나누어 관리하는 작업에는 이더리움 메인네트워크의 온체인뿐만 아니라 롤업체인등이 포함된다. 이러한 샤드 체인들은 정기적으로 메인 체인에 레코드를 제출하여 병렬적으로 트랜잭션처리와 네트워크 처리량 증가를 다룬다.

대부분의 블록체인 네트워크에서 합의 메커니즘은 노드가 트랜잭션을 검증하도록 요구한다. 하지만 이는 분산화를 유지하고 네트워크 보안을 강화시키는 한편, 노드는 전체 기록을 저장해야하지만, 블록체인 네트워크는 제한된 수의 트랜잭션을 동시에 처리할 수 있기에 네트워크의 확장성을 타협하게 되었다. 샤딩을 구현함으로써 노드가 전체의 네트워크 트랜잭션을 검증하는 것을 피할 수 있으며 노드와 네트워크의 처리속도 차이로 인한 네트워크 저하를 감소시킬 수 있게 된다.

3. Proto — Dank Sharding and Dank sharding

Dank sharding은 Ethereum 네트워크에서의 개념을 연구한 dakrad feist의 이름을 따서 만들어진 네트워크 샤딩 방법이다. 이는 Protolambda와 Dankrad Feist의 두 연구원의 연구결과에서 유래되었다. 이전 다른 sharding방법과 비교해서 단순화를 목표로 하는데, 현재의 이더리움 트랜잭션 공간에 단순히 트랜잭션 공간을 늘리는 것을 목표로 접근 하는 것이 아닌 blob-carrying 트랜잭션으로 알려진 새로운 트랜잭션 유형을 추가하여, “Blob”이라고 불리는 새로운 데이터 형태를 추가하여 롤업시 충분한 저장 공간을 제공하는 것을 목표로 한다.

4. Why Dank shading?

2020년부터 이루어진 이더리움의 확장 로드맵은 이더리움의 보안 및 확장성을 실행하기 위해 zero-knowledge proof(영지식 증명), optimistic fraud proofs의 개발과 더불어 “롤업”을 중심으로 이루어졌다. 이에 L2라 불리는 arbtrum optimistic rollup, optimism, loopring등의 롤업 프로젝트들이 사용자들에게 많은 채택을 받아 사용중이다. 하지만 롤업 공간의 확장에도(이더리움 단독 layer인 상태보다는 훨씬 낫겠지만) 여전히 수수료가 아직 비싸다는 의견이 계속하여 나오고 있다. 실제로 arbtrum, optimism의 수수료는 solana, polygon등의 다른 체인과 비교하여 여전히 비싸다.

거래 수수료에 들어가는 비용은 크게 3가지로 나뉜다.
실행, 저장/상태 업데이트, 데이터 가용성

실행은 네트워크의 모든 노드가 트랜잭션을 실행하고 결과가 유효한지 확인하는 비용이다.

저장 / 상태 업데이트(state commitment)는 네트워크에서 코인의 입,출입값을 새로운 값으로 업데이트하여 블록체인 “데이터베이스”에 기록하는 비용이다.

데이터 가용성은 실행과 상태 업데이트에 관련한 데이터가 모든 네트워크 참가자들에게 공개되어 검증하도록 쓰이는 비용이다.

여기서 롤업은 실행을 오프체인으로 다양한 증명유형(zk-rollup, optimistic rollup . ..)을 사용하여 거래가 사기가 아님을 증명하고 이더리움 노드 대신 이 작업들을 rollup주체에게 위임할 수 있다.
실행을 메인 체인 밖인 오프체인으로 이동하면 상태 저장 비용이 크게 줄어들지만, 이 과정에서 데이터 가용성을 보장하기 위해 중요한 데이터들은 레이어1 온체인에 기록해야 한다. 즉 실행과 저장 / 상태 업데이트에 대해서는 layer2 비용을 지불하지만 데이터 가용성을 위한 데이터 기록은 layer1의 비용을 지불해야 한다.

Danksharding ethereum 업그레이드 과정은 이러한 layer1에 데이터를 게시, 기록하는 비용을 크게 낮출 것이다. 또한 최근 모듈러 블록체인으로 상장해 가격 상승을 달리고 있는 Celestia(TIA)프로젝트는 데이터 가용성을 저렴하게 제공하기 위해 자체 제작한 독립 체인을 제공하는 것을 목표로 한다. 최근 Celestia(TIA)의 가격상승에는 이러한 근본적 문제를 해결하기 위한 이유가 있다.

나도 데려가

5.Danksharding은 어떻게 수수료를 줄일 수 있을까?

call data는 Solidity언어로 스마트 컨트랙트 계약을 작성하고 이행될 때 불필요한 복사본을 방지하고 데이터가 변경되지 않도록 보장하도록 사용되는 데이터이다.

이런 형태의 calldata는 bytes당 상당히 비싼 가스비로 트랜잭션 데이터 제출 비용을 감당해야 하는데, 롤업 프로젝트가 이더리움에 calldata를 기록하기 위해선 non-zero bytes당 16가스, zero bytes당 4가스에 해당하는 수수료를 지불해야 한다. 이는 layer1에서는 비교적 저렴한 리소스이지만, layer 2 rollup 프로젝트의 상황에서는 비싼 자원으로 바뀐것이다.

이러한 비싼 calldata의 가격을 낮추기 위해 dankshading은 컴퓨터 과학의 데이터 압축 알고리즘에서 데이터 압축, 오류 수정(error correcting), 삭제 코딩(srasure coding)등의 개념을 적용시킨다.

예를 들어 넷플릭스와 같은 OTT 서비스를 이용할때, 당신은 모든 영화의 데이터를 즉각 다운받아서 실행시키는 것이 아닌, data cloud server에서 당신의 컴퓨터에 데이터 패킷을 보내는데, 이 때 모든 데이터 패킷이 전송되는 것이 아닌 일부분의 데이터 패킷이 전송되어 컴퓨터에서 실행된다. 삭제 코딩, 오류 수정의 기술을 사용하지 않는다면 화질 저하를 넘어서 영상이 제대로 플레이되지 않고 노이즈의 문제를 겪을 것이지만, 삭제 코딩, 오류 수정의 기술을 사용하여 압축된 데이터를 복원할 수 있다면 컴퓨터는 전체의 영화를 온전하게 복구하여 플레이시킬 수 있다.

이와 마찬가지로 Dankshading은 calldata를 담고 있는블록들, 그 블록의 25%까지는 잃어버리거나 의도적으로 생략하는 과정을 거쳐 data전송에 드는 가스수수료를 하락시키고 오류수정코딩의 기술을 거쳐 데이터를 복구한다. 이 과정에서 새로운 트랜잭션이 등장하게 되는데 “블롭-운반 트랜잭션”(blob-carrying transaction)유형의 트랜잭션이 등장한다. 128킬로바이트에 해당하는 blob을 블록에 임베드 할 수 있게 되어 장기적인 계획으론 데이터 운반 블롭들이 각 블록마다 담기게 될 예정이다.

다수의 블롭들이 블록마다 담기게 된다면 당연히 블록사이즈가 늘어나게 되는데 30메가바이트 이상의 블록이 생성될 수 있다. 현재의 블록사이즈는 100 킬로바이트 정도로 30메가 바이트는 이에 30배에 해당하는 메가블록이 생성되는 것이다.
하지만 이 거대한 블록을 각 밸리데이터, 노드가 잘게 쪼개 작은 조각만을 저장하여 여러 노드로 분산된 조각으로 복구시키는 과정을 거친다.

5–1.그렇다면 왜 굳이 새로운 데이터 유형인 “블롭”을 고안해내야 하는가?

이는 ‘블롭’이 calldata를 저장하는 새로운 형태이기 때문이다. 언급했듯, 롤업들은 롤업데이터를 calldata의 형태로 저장하고 있는데 현재의 calldata는 이더리움 실행 layer에서도 접근가능한 상황으로, layer 1 의 비용이 지불되기 때문에, 이더리움 실행 layer에서 접근 불가능한 ‘블롭’ 형태로 저장한다. 이러한 단순화로 인해 calldata를 저장하는 것보다 블롭데이터를 저장하는 것이 훨씬 비용적인 측면에서 유리해지며 danksharding의 목적인 것이다.

즉, dankshading은 이더리움 네트워크위에서의 롤업 네트워크들에게 트랜잭션 데이터를 저장할 수 있는 공간을 제공하고, layer1에서 나가는 비용을 절감함과 동시에 경제적인 새로운 기준을 마련하여 기존 샤딩보다 더욱 확장성 있는 네트워크 데이터 저장공간을 확보하게 하는 것이다.

6. investment idea

Ethereum Proto-danksharding은 이더리움 네트워크의 개션에도 도움을 주어 장기적인 가격호재가 예상될 뿐만 아니라, ethereum 기반의 rollup project 또한 상당한 가격 수혜를 받는 것이 예정된 업그레이드이다.
대표적으로 danksharding의 수혜를 받는 코인들은
L2 roll-up sector
Zk sector
tia등의 데이터 가용성을 개선하는 자체 모듈러 체인종류가 예상된다.

reference

  1. 데이터 가용성과 댕크샤딩에 대하여- a16z 인터뷰
  2. crunching the Calldate
  3. 롤업 네트워크 경제 모델 살펴보기 — 100y, a41 research
  4. Danksharding.org
  5. https://www.alexbeckett.xyz/the-economics-for-rollup-fees/

--

--