Vitalik: 롤업의 확장 체계 분석 - 데이터 샤딩

수정: 사우스윈드
이더리움의 경우 롤업은 단기에서 중기, 그리고 아마도 장기적으로 볼 때 신뢰할 수 없는 유일한 확장성 솔루션입니다. 이더리움 L1의 거래 수수료는 몇 달 동안 높았으며 이제 전체 생태계를 롤업으로 옮기는 데 필요한 모든 조치를 취하는 것이 더욱 시급합니다. 롤업은 많은 이더리움 사용자의 수수료를 크게 낮췄습니다: l2fees.info 웹사이트는 종종 Optimism 및 Arbitrum 네트워크가 이더리움 기본 계층 자체보다 약 3-8배 저렴하다는 것을 보여줍니다. 서명을 포함하여 수수료가 이더리움 베이스 레이어보다 약 40-100배 낮습니다.
그러나 이러한 (롤업에서) 요금조차도 많은 사용자에게 엄청나게 비쌉니다. 오랫동안 데이터 샤딩(data sharding)은 현재 형태의 롤업의 장기적인 단점에 대한 해결책으로 여겨져 왔으며, 데이터 샤딩은 롤업을 위한 약 1-2MB/s의 전용 데이터 공간을 추가할 것으로 예상됩니다. 이더리움 체인 . 이 문서에서는 솔루션을 구현하고 가능한 한 빨리 롤업을 위한 데이터 공간을 잠금 해제하고 시간이 지남에 따라 더 많은 추가 공간과 보안을 추가하는 실제 경로를 설명합니다.
1단계: 트랜잭션 호출 데이터 확장
현재 존재하는 롤업은 트랜잭션 호출 데이터를 사용합니다. 따라서 다양한 Rollups 팀의 추가 작업 없이 단기간에 Rollup 용량을 늘리고 비용을 줄이려면 트랜잭션 호출 데이터의 가스 비용을 줄여야 합니다. 현재 평균 블록 크기는 이더리움 네트워크의 안정성을 위협하는 크기에 가깝지 않으므로 안전하지 않은 경우를 방지하기 위해 몇 가지 추가 논리가 필요할 수 있지만 잠재적으로 그렇게 하는 것이 안전합니다.
보다EIP-4488 제안, 또는 다른 것(간단하지만 온화함)EIP-4490 제안.
EIP-4488:
https://github.com/ethereum/EIPs/pull/4488
EIP-4490:
https://github.com/ethereum/EIPs/pull/4490
EIP 4488은 다음을 수행할 수 있어야 합니다.각 슬롯롤업에 사용할 수 있는 데이터 공간은 이론상 최대 약1 MB, 롤업을약 5배 저렴한 비용첫 번째 레벨 제목
2단계: 여러 샤드
그동안 "적절한" 샤드를 출시하기 위한 작업을 시작할 수 있습니다. 완전한(기능적) 형태로 샤딩을 구현하려면 시간이 오래 걸리겠지만, 우리가 할 수 있는 것은 단계별로 구현하고 각 단계에서 이점을 얻는 것입니다. 우선 샤딩 스펙의 "비즈니스 로직"을 구현하는 것은 당연하지만,처음 실행되는 샤드의 수를 매우 낮게 만드십시오.(예: 4개의 샤드) 샤딩된 네트워크를 둘러싼 대부분의 어려움을 피할 수 있습니다. 각 샤드는 자체적으로서브네트워크방송. 기본적으로 유효성 검사기는 위원회를 신뢰하지만 원하는 경우 각 하위 네트워크에 있도록 선택할 수 있지만 비콘 블록에 의해 확인된 샤드 블록의 전체 데이터를 본 경우에만 수신됩니다.
샤드 스펙 자체는 특별히 어렵지 않은데 최근에 출시된 알테어 하드포크와 비슷한 크기의 상용구 코드 변경(알테어의 비콘 변경 스펙 파일은 728줄, 샤드의 비콘 변경 스펙 파일은 888줄)이므로 알테어의 구현 및 배포와 비슷한 시간 내에 달성할 수 있을 것으로 기대합니다.
샤딩된 데이터를 롤업에서 실제로 사용할 수 있으려면 롤업이 샤딩된 데이터에 증명을 가져올 수 있어야 합니다. 두 가지 옵션이 있습니다.
BEACONBLOCKROOT opcode 추가, 롤업은 과거 비콘 체인 블록 루트에 기반한 Merkle 증명을 확인하는 코드를 추가합니다.
향후 커밋 체계가 변경될 때 롤업이 코드를 변경할 필요가 없도록 상태 및 기록 액세스의 미래 보장형 사전 컴파일을 추가합니다.
첫 번째 레벨 제목
3단계: 위원회에서 보호하는 N개의 샤드
활성 샤드 수를 4개에서 64개로 늘립니다. 이 시점에서 샤딩된 데이터는 하위 네트워크로 이동하므로 해당 시점의 P2P 계층은 더 많은 수의 하위 네트워크로 분할할 수 있을 만큼 이미 충분히 강력해야 합니다. 데이터 가용성의 보안은 위원회 보안에 의존하는 대다수(검증자) 정직성 가정을 기반으로 합니다.
첫 번째 레벨 제목
4단계: 데이터 가용성 샘플링(DAS)
DAS(Data Availability Sampling)가 추가되어 더 높은 수준의 보안을 보장하여 대다수(검증인) 부정직한 공격이 있는 경우에도 사용자를 보호할 수 있습니다. 데이터 가용성 샘플링은 단계적으로 수행할 수 있습니다. 먼저 네트워크에서 테스트할 수 있도록 구속력이 없는 방식으로 수행한 다음 일부 클라이언트에서 먼저 비콘 블록을 수신하기 위한 요구 사항으로 수행할 수 있습니다.
첫 번째 레벨 제목
조각 기반 낙관적 롤업 및 ZK 롤업
샤딩 구현 후 현재 이더리움과 이더리움의 주요 차이점 중 하나는 샤딩 세계에서 롤업 데이터가 스마트 계약에 롤업 블록을 제출하는 트랜잭션의 일부가 되는 것이 실제로 불가능하다는 것입니다. 대신, 롤업 데이터의 게시와 롤업 블록의 제출은 분리되어야 합니다. 먼저 데이터 게시는 데이터를 온체인(즉, 샤드 체인)에 넣은 다음 블록 제출이 블록 헤더를 제출하고 기본 데이터를 가리키는 증명입니다.
Optimism과 Arbitrum은 이미 롤업 블록 커밋에 2단계 설계를 사용하므로 둘 다에 대해 작은 코드 변경이 될 것입니다.

ZK 롤업을 사용하면 거래를 커밋하려면 작업이 데이터에서 직접 작동한다는 증거를 제공해야 하기 때문에 상황이 조금 더 까다롭습니다. 그들은 통과할 수 있습니다ZK-SNARK샤드의 데이터가 비콘 체인의 커밋과 일치하는지 증명하기 위해 이 작업은 매우 비쌉니다. 다행히 더 저렴한 대안이 있습니다.
ZK-SNARK가 BLS12-381 기반인 경우PLONK의 증거그런 다음 샤드 데이터 약정을 입력으로 직접 패키징할 수 있습니다. BLS12-381 샤드 데이터 커밋은 KZG 커밋으로 PLONK와 동일한 유형의 커밋이므로 공개 입력으로 증명에 직접 전달할 수 있습니다.
첫 번째 레벨 제목
샤딩된 세상에서 누가 과거 데이터를 저장할까요?
데이터 공간을 늘리기 위한 필요조건은이더리움 코어 프로토콜이 합의에 도달하는 모든 데이터를 영구적으로 유지 관리하는 속성을 제거합니다.. 이러한 데이터의 양이 너무 많기 때문입니다. 예를 들어:
EIP-4488이 가져오는 이론적 최대 체인 크기는 12초 슬롯당 약 1,262,861바이트로 연간 약 3.0TB이지만 실제로는 특히 초기에는 연간 약 250-1000GB일 가능성이 더 높습니다.
샤드 4개(슬롯당 1MB)는 연간 ~2.5TB를 추가합니다.
64개의 샤드(슬롯당 16MB)는 연간 총 약 40TB의 스토리지가 됩니다.
대부분의 사용자는 256GB에서 2TB 사이의 하드 드라이브를 사용하며 1TB가 중간 값인 것으로 보입니다. 아래 그래프는 컴퓨터 하드 드라이브 공간이 얼마인지에 대해 블록체인 연구원 그룹에서 수행한 내부 조사 결과입니다.

즉, 현재 사용자가 노드를 실행할 수 있지만 이 로드맵의 일부가 수정 없이 구현되면 사용자는 노드를 실행할 수 없습니다. 물론 더 큰 드라이브를 사용할 수 있지만 사용자는 이를 구매하기 위해 노력해야 하므로 노드 실행의 복잡성이 크게 증가합니다. 현재 주력 솔루션은 EIP-4444,이 제안은 1년 이상 된 블록 또는 영수증을 저장해야 하는 노드 운영자의 책임을 제거합니다.. 샤딩의 경우 이 1년 기간이 더 단축될 가능성이 높으며 노드는 자신이 적극적으로 참여하는 서브네트워크의 샤드만 책임지면 됩니다.
이것은 질문을 제기합니다:이더리움 코어 프로토콜이 이 데이터를 저장하지 않는다면 누가 저장할까요?
첫째, 샤딩을 하더라도 데이터의 양이 그렇게 많지 않다는 점을 기억하는 것이 중요합니다. 예, 연간 40TB는 실제로 "기본" 소비자 하드웨어를 실행하는 개인의 범위를 벗어납니다(실제로 연간 1TB도 여전히 그렇습니다). 그러나 약간의 리소스를 투자하고 이 데이터를 저장하는 방법을 찾는 사람에게는 허용 가능한 범위 내에 있습니다. 48TB HDD(하드 디스크 드라이브)는 현재 $1,729에 판매되고 있으며 14TB는 약 $420입니다. 32 ETH 유효성 검사기 슬롯을 실행하는 사람은 스테이킹 보상을 위해 샤딩이 구현된 후 전체 체인을 기꺼이 지불하고 저장할 수 있습니다. 따라서 실제로는 "아무도 특정 샤드의 일부 과거 데이터를 저장하지 않아 데이터가 완전히 손실됩니다."이 상황은 불가능해 보인다.
그렇다면 누가 이 데이터를 저장할까요? 내 생각 중 일부:
개인 및 기관 자원봉사자,
블록 탐색기(etherchain.org, etherscan.io, amberdata.io 등)는 사용자에게 데이터를 제공하는 것이 비즈니스 모델이기 때문에 모든 데이터를 확실히 저장할 것입니다.
롤업 DAO는 롤업과 관련된 기록 데이터를 저장하고 제공할 참가자를 지정하고 비용을 지불합니다.
기록 데이터는 토렌트를 통해 업로드 및 공유할 수 있습니다.
클라이언트는 블록체인 기록 데이터의 0.05%를 무작위로 저장하도록 자발적으로 선택할 수 있습니다(많은 클라이언트가 동시에 오프라인 상태가 되는 경우 데이터의 작은 덩어리만 손실되도록 삭제 코딩 사용).
Portal Network의 클라이언트는 블록체인의 과거 데이터 중 일부를 임의로 저장할 수 있으며 Portal Network는 자동으로 데이터를 저장하는 노드로 데이터 요청을 보냅니다.
기록 데이터의 저장은 프로토콜에서 인센티브를 받을 수 있습니다.
The Graph와 같은 프로토콜은 클라이언트가 과거 데이터 및 Merkle 정확성 증명에 대해 서버에 비용을 지불하는 인센티브 시장을 만들 수 있습니다. 이것은 사람과 기관이 과거 데이터를 저장하고 해당 데이터를 필요에 따라 사용할 수 있도록 하는 서버를 실행하도록 장려합니다.
이러한 솔루션 중 일부(개인 및 기관 자원봉사자, 블록 탐색기)는 이미 사용 가능합니다. 그리고 현재의 P2P 토렌트 장면은 주로 자원 봉사자들에 의해 주도되고 많은 콘텐츠를 저장하는 생태계의 훌륭한 예입니다. 다른 프로토콜 기반 체계는 인센티브를 제공하기 때문에 더 강력하지만 개발하는 데 시간이 더 오래 걸릴 수 있습니다. 장기적으로는 현재 이더리움 프로토콜보다 이러한 L2 프로토콜을 통해 과거 데이터에 액세스하는 것이 더 효율적일 수 있습니다.


