search

야 (EIP)4844, 너지?

user-image
김재원 (포뇨)
Research Team Lead/
Xangle
2023.07.19

 

이더리움 샤딩, 댕크 샤딩, eip4844, 롤업, 프로토 댕크샤딩이미지 출처: 영화 <추격자>


목차

1. 들어가며

2. 이더리움 샤딩의 역사와 변화 과정

2-1. 초기 이더리움의 샤딩 계획: Hypercubes, Hub and Spoke Chains, Super Quadratic Sharding, Quadratic Sharding

2-2. 간소화와 실용주의의 추구: Full Execution Sharding → Data Sharding

3. 댕크샤딩(Danksharding)

3-1. 댕크샤딩은 데이터 샤딩을 위한 신규 블록체인 아키텍쳐

3-2. 중앙화 현상을 최소화하기 위해 PBS(Proposer Builder Separation)와 CrList를 활용할 예정

3-3. 그 외에도 체인의 확장성과 신뢰를 확보하기 위해 DAS, Erasure coding, KZG commitment 등을 도입할 것

4. EIP4844, 프로토-댕크샤딩(Proto-danksharding)

4-1. EIP4844는 댕크샤딩의 초석

4-2. 단순히 콜데이터 사용료를 줄이면 블록 크기 문제가 발생

4-3. 블롭 트랜잭션의 구조와 생성 과정

5. EIP4844는 롤업 비용을 과연 얼마나 절감할 수 있을까?

5-1. 현재 DA(L1 publication) 비용은 전체 롤업 비용의 90% 이상을 차지

5-2. 현 시점에서 EIP4844 도입 시 롤업의 DA 비용은 무료에 가까울 것으로 예상되며, 블롭 사용료가 유의미하게 증가하려면 롤업 수요가 10배 이상 증가해야 할 것

5-4. 이더리움 커뮤니티내에서는 블롭의 비용 구조를 변경하는 것도 적극적으로 논의 중

6. 맺으며

주석. 이더리움 데이터 저장 공간 종류

1. EVM내 주요 저장 공간은 스토리지(Storage), 메모리(Memory), 스택(Stack), 콜데이터(Calldata)로 분류됨

2. 그 중 롤업이 사용하는 공간은 콜데이터(Calldata)

 

 

 

 

 

 

1. 들어가며

알파는 EIP에 숨어있다. EIP1559(런던), EIP3675(더 머지), EIP4895(상하이) 업그레이드 1달 전후로 ETH 가격은 10%~80% 상승했다. 차기 업그레이드는 올해 말 적용 예정인 데네브(Deneb)칸쿤(Cancun)을 합친 덴쿤(Dencun) 하드포크다. 덴쿤에서 가장 주목을 많이 받고 있는 업그레이드 사항은 프로토-댕크샤딩(Proto-danksharding)으로 불리는 EIP4844로, 이더리움의 샤딩 로드맵을 구현하기 위한 첫 단추이자 롤업의 운영 비용을 획기적으로 절감해줄 제안이다.

본 리포트는 2부로 구성되어 있다. 전반부에서는 이더리움 샤딩의 발자취를 따라가면서 샤딩의 역사가 어떻게 변화했고 이더리움의 장기적인 비전인 댕크샤딩(Danksharding)이 무엇인지 살펴본다. 후반부에서는 프로토-댕크샤딩의 구조와 의의를 들여다보고 EIP4844 적용 이후 롤업의 경제 구조가 어떤 식으로 바뀌게 될지 그려본다.

Dencun(Deneb Cancun) 업그레이드에 제안된 EIP, EIP4844

이더리움 주요 업그레이드, EIP1559, EIP3675, EIP4895

2. 이더리움 샤딩의 역사와 변화 과정

2-1. 초기 이더리움의 샤딩 계획: Hypercubes, Hub and Spoke Chains, Super Quadratic Sharding, ETH2 Sharding

돌이켜보면 초창기 이더리움 커뮤니티에서 확장성 문제를 해결하기 위해 논의되었던 모델들은 대담하고 미래지향적이었다. 당시 등장했던 대표적인 모델들로는 hypercubes, super quadratic sharding, hub and spoke chains 등이 있었는데, 이 중에서도 하이퍼큐브(hypercube)와 허브 앤 스포크 체인 (hub and spoke chain)은 비탈릭이 이더리움 메인넷이 출시하기도 전인 2014년 말에 제안한 구조였다 (Scalability, Part 2: Hypercubes 글 참고). 허브 앤 스포크 체인은 오늘날 폴카닷의 Relay chain-Parachain 구조의 초기 형태라고 볼 수 있다. 한편, 하이퍼큐브는 허브 앤 스포크 체인의 단점을 보완하기 위해 등장한 모델로서, 허브(보라색)를 통하지 않고도 서브스테이트(substate)간 상호 작용이 가능하게 하여 메시징 속도를 개선했다는 장점이 있다. 안타깝게도 해당 모델은 공격 벡터가 많고 구현이 복잡하여 채택되지는 않았지만, 훗날 이러한 아이디어들이 ETH2 로드맵에 등장하는 quadratic sharding* 모델의 형성에 기여하는데 중요한 역할을 하였다. 이더리움의 샤딩은 이후 크게 세 가지 큰 변곡점을 맞이하게 되며, 이러한 변화 끝에 오늘날 샤딩 모델이 탄생하게 되었다.

*Quadratic sharding: 블록체인을 하나의 비콘 체인과 64개의 샤드 체인으로 분리하고 각각의 샤드들이 트랜잭션을 동시에 병렬적으로 처리한 뒤 헤더를 비콘 블록에 쏴주는 구조다. 비콘 블록마다 64개의 샤드에 대한 트랜잭션을 포함하고 있으며 각 샤드 블록에 대한 검증은 이더리움의 밸리데이터들로 구성된 64개의 위원회(committee)가 진행한다. 위원회는 랜덤 샘플링(random sampling) 과정을 통해 임의로 구성된다 (샤딩(Sharding): 이더리움 블록체인의 미래 참고).

초기 이더리움 확장성 개선 모델, hypercube 구조, Hub and spoke chain 구조

첫 번째 변곡점은 흔히 ETH2로 불리는 세레니티(Serenity) 업그레이드의 로드맵이 점차 구체화되기 시작한 2017년 말~2018년 초 사이에 맞이했는데, 골자는 super quadratic sharding, exponential sharding과 같은 복잡한 개념들에 대한 연구를 중단하고 quadratic sharding부터 구현하자는 선택이었다. Super Quadratic Sharding은 샤드 위에 샤드를 추가하는 구조로, 스타크웨어(Starkware)가 제안한 L2 위에 L3체인들을 쌓아 올리는 개념인 fractal scaling과 유사하다. 이러한 결정 덕분에 이더리움은 quadratic sharding에 R&D 리소스를 전적으로 집중할 수 있게 되었다. 실제로 저스틴 드레이크(Justin Drake)가 2018년 3월에 작성한 Sharding phase1 spec을 보면 super quadratic sharding이 가장 마지막 단계인 phase 6에 배치된 것을 확인할 수 있다.

샤딩 매커니즘, 샤딩 원리, 샤딩 작동 방식, 비콘 체인, 샤드 체인

두 번째 변화는 2019년 하반기에 발생했는데, 이는 크로스링크(Crosslinks)* 개발을 포기하고 샤드 블록을 일방적으로 비콘 체인으로 전달하는 구조로 전환하는 것이었다 (깃헙 리포 참고). 기존에는 아래 그림과 같이 크로스링크를 통해 비콘 체인과 샤드 체인이 연결되여 서로 소통할 수 있도록 하는 것을 목표로 하였으나 (아래 그림에서 M은 Main Chain (Beacon Chain), S는 Shard Chain을 뜻한다), 이를 포기한 결과 샤드 체인 → 비콘체인 트랜잭션 플로우에만 신경 써도 된 것이다. 즉, 이전 모델에서는 메인 체인과 샤드 체인이 크로스링크를 통해 연결되어 있었지만, 새로운 구조에서는 이런 연결이 필요 없게 되었다.

*Crosslink:샤드 체인 블록을 검증한 비콘 체인 밸리데이터들 혹은 위원회(committee)의 서명(signature)으로, 비콘 체인이 샤드 체인의 최신 state을 확인하거나 샤드 체인간 상호작용할 때 사용되는 장치

Chain cross linking, 비탈릭 부테린, 체인 크로스 링크, 롤업 중심의 로드맵

Chain cross-linking, 출처: Vitalik Buterin

마지막은 비탈릭이 2020년 Rollup centric ethereum roadmap을 발표했을 때 도래했다. ‘롤업 중심의 로드맵’이라는 표현에서 유추할 수 있듯 해당 시기를 기점으로 롤업의 역할이 이더리움 생태계내에서 크게 확대되었다. 핵심은 트랜잭션 실행(execution)을 롤업에 위임하고, 샤드는 오직 데이터 가용성(Data Availability) 레이어로만 활용하자는 것이다. 즉, 샤드는 데이터를 기록하는 역할만 수행하고 사용자들의 트랜잭션 데이터를 실제로 실행하는 역할은 롤업이 담당하게 된 것이다. 이더리움이 execution sharding에서 data sharding으로 피벗하게 된 순간이기도 하다.