원작자: 비탈릭 부테린
원본 편집: Karen, Foresight News
Justin Drake, Francesco, Hsiao-wei Wang, @antonttc 및 Georgios Konstantopoulos에게 특별히 감사드립니다.
처음에 이더 로드맵에는 두 가지 확장 전략이 있었습니다. 하나(2015년 이전 논문 참조)는 "샤딩"입니다. 각 노드는 체인의 모든 트랜잭션을 확인하고 저장하는 것이 아니라 트랜잭션의 작은 부분만 확인하고 저장하면 됩니다. 다른 P2P 네트워크(예: BitTorrent)도 이런 방식으로 작동하므로 물론 블록체인도 동일한 방식으로 작동하도록 만들 수 있습니다. 다른 하나는 레이어 2 프로토콜입니다. 이 네트워크는 이더 위에 위치하므로 대부분의 데이터와 계산을 메인 체인 외부에 유지하면서 보안의 이점을 최대한 누릴 수 있습니다. 레이어 2 프로토콜은 2015년 상태 채널, 2017년 플라즈마, 2019년 롤업을 의미합니다. 롤업은 상태 채널이나 플라즈마보다 강력하지만 대량 온체인 데이터 대역폭이 필요합니다. 다행스럽게도 2019년에는 샤딩 연구가 대규모로 "데이터 가용성"을 확인하는 문제를 해결했습니다. 그 결과, 두 가지 경로가 수렴되었고 오늘날 이더 의 확장 전략으로 남아 있는 롤업 중심 로드맵을 얻었습니다.
The Surge, 2023년 로드맵 에디션
롤업 중심 로드맵은 단순한 노동 분업을 제안합니다. 이더 L1은 강력하고 탈중앙화 기본 계층에 초점을 맞추고 L2는 생태계 확장을 돕는 임무를 맡습니다. 이 모델은 사회 어디에나 존재합니다. 법원 시스템(L1)은 초고속과 효율성을 추구하기 위해 존재하는 것이 아니라 계약과 재산권을 보호하기 위해 존재하며, 기업가(L2)는 이 견고한 기반 위에 인류를 건설하고 이끌어가기 위해 존재합니다. 비유적으로) 화성.
올해 롤업 중심 로드맵은 중요한 결과를 달성했습니다. EIP-4844 Blob 출시로 이더 L1의 데이터 대역폭이 크게 증가했으며 여러 EVM(이더 Virtual Machine) 롤업이 첫 번째 단계에 진입했습니다. 각 L2는 자체 내부 규칙과 논리를 가진 "샤드"로 존재합니다. 샤딩 구현 방법의 다양성과 다양화가 이제 현실이 되었습니다. 그러나 앞서 살펴보았듯이 이 경로에는 몇 가지 독특한 문제도 따릅니다. 따라서 이제 우리의 임무는 롤업 중심 로드맵을 완성하고 이더 L1의 특징인 견고성과 탈중앙화 유지하면서 이러한 문제를 해결하는 것입니다.
급증: 주요 목표
1. 미래에 이더 L2를 통해 100,000 TPS 이상에 도달할 수 있습니다.
2. L1의 탈중앙화 와 견고성을 유지합니다.
3. 적어도 일부 L2는 이더 의 핵심 속성(무신뢰, 개방성, 검열 저항성)을 완전히 상속합니다.
4. 이더 34개의 서로 다른 블록체인이 아닌 하나의 통합된 생태계처럼 느껴져야 합니다.
이 장의 내용
확장성 삼각형
데이터 가용성 샘플링의 추가 진행
데이터 압축
일반화된 플라즈마
성숙한 L2 증명 시스템
L2 간 상호 운용성 개선
L1에서 실행 확장
확장성 삼각형
확장성 삼각형(Scalability Triangle)은 블록체인의 세 가지 속성, 즉 탈중앙화(보다 구체적으로 낮은 노드 실행 비용), 확장성(다수의 트랜잭션 처리) 및 보안(공격자가 다음을 수행해야 함) 사이에 모순이 있다고 주장하는 2017년에 제안된 아이디어입니다. 네트워크 노드의 많은 부분을 손상시켜 단일 트랜잭션이 실패하게 만듭니다.)
삼각 역설은 정리가 아니며, 삼각 역설을 소개하는 게시물에는 수학적 증명이 나오지 않는다는 점은 주목할 가치가 있습니다. 이는 경험적 수학적 주장을 제공합니다. 탈중앙화 친화적인 노드(예: 소비자 노트북)가 초당 N 트랜잭션을 검증할 수 있고 초당 k*N 트랜잭션을 처리하는 체인이 있는 경우 (i) 각 트랜잭션은 1/k 노드로 볼 수 있습니다. 이는 공격자가 악의적인 트랜잭션을 전달하기 위해 몇 개의 노드만 손상하면 된다는 것을 의미합니다. 그렇지 않으면 (ii) 귀하의 노드가 강력해지고 체인이 탈중앙화 않을 것입니다. 이 글의 목적은 삼각 역설을 깨는 것이 불가능하다는 것을 증명하려는 것이 아니라, 트릴레마를 깨는 것이 어렵고 논쟁의 프레임 밖에서 어느 정도 사고가 필요하다는 것을 보여 주기 위한 것이었습니다.
수년에 걸쳐 일부 고성능 체인은 소프트웨어 엔지니어링 기술을 적용하여 노드를 최적화함으로써 아키텍처를 근본적으로 변경하지 않고 트릴레마를 해결했다고 종종 주장해 왔습니다. 이것은 항상 오해의 소지가 있습니다. 온체인 노드를 실행하는 것은 이더 에서 노드를 실행하는 것보다 훨씬 더 어렵습니다. 이 기사에서는 이것이 왜 그런지, 그리고 L1 클라이언트 소프트웨어 엔지니어링만으로는 이더 확장할 수 없는 이유를 살펴보겠습니다.
그러나 데이터 가용성 샘플링과 SNARK의 조합은 삼각형 역설을 해결합니다. 이를 통해 클라이언트는 소량의 데이터만 다운로드하고 수행하는 동안 특정 양의 데이터가 사용 가능하고 특정 수의 계산 단계가 사용 가능한지 확인할 수 있습니다. 매우 적은 양의 계산이 올바르게 실행되었습니다. SNARK는 신뢰할 수 없습니다. 데이터 가용성 샘플링은 미묘한 N개 신뢰 모델을 가지고 있지만 확장 불가능한 체인의 기본 속성을 유지합니다. 즉, 51% 공격조차도 네트워크에서 불량 블록을 강제로 허용할 수 없습니다.
트릴레마에 대한 또 다른 해결책은 플라즈마 아키텍처입니다. 이 아키텍처는 영리한 기술을 사용하여 인센티브 호환 방식으로 사용자에게 데이터 가용성 모니터링 책임을 부여합니다. 컴퓨팅 파워를 확장하기 위한 수단으로 사기 증명만 있던 2017~2019년 초, 플라즈마는 보안 실행 측면에서 매우 제한적이었지만 SNARK(영지식 간결 비대화형 인수)의 인기로 인해 플라즈마는 아키텍처가 더욱 다양해졌습니다. 사용 사례의 범위가 더욱 넓어졌습니다.
데이터 가용성 샘플링의 추가 진행
우리는 어떤 문제를 해결하고 있나요?
2024년 3월 13일 Dencun 업그레이드가 온라인으로 전환되었을 때 이더 블록체인에는 12초 슬롯당 약 125kB, 즉 슬롯당 약 375kB의 데이터 사용 가능한 대역폭의 3개 블롭이 있었습니다. 거래 데이터가 온체인 직접 게시된다고 가정하면 ERC 20 전송은 약 180바이트이므로 이더 에서 롤업의 최대 TPS는 375000 / 12 / 180 = 173.6 TPS입니다.
이더 의 콜 데이터(이론적 최대값: 슬롯당 3천만 가스 / 바이트당 16가스 = 슬롯당 1,875,000바이트)를 추가하면 607 TPS가 됩니다. PeerDAS를 사용하면 Blob 수를 8~16개로 늘릴 수 있으며, 이는 통화 데이터에 463~926TPS를 제공합니다.
이는 이더 L1에 비해 크게 개선되었지만 충분하지 않습니다. 우리는 더 많은 확장성을 원합니다. 우리의 중기 목표는 슬롯당 16MB이며, 롤업 데이터 압축 개선과 결합하면 최대 58,000TPS가 됩니다.
그것은 무엇입니까? 어떻게 작동하나요?
PeerDAS는 "1D 샘플링"을 비교적 간단하게 구현한 것입니다. 이더 에서 각 블롭은 253비트 프라임 필드에서 4096차 다항식입니다. 우리는 다항식 공유를 방송하며, 각 공유에는 총 8192개 좌표 중 16개 인접 좌표의 16개 평가가 포함되어 있습니다. 이러한 8,192개의 평가 중 임의의 4,096개(현재 제안된 매개변수에 따르면: 128개의 가능한 샘플 중 64개)가 블롭을 복구할 수 있습니다.
PeerDAS는 각 클라이언트가 소수의 서브넷을 수신하도록 하는 방식으로 작동합니다. 여기서 i번째 서브넷은 모든 blob의 i번째 샘플을 브로드캐스트하고 다른 서브넷에서 수신할 글로벌 p2p 네트워크의 피어에게 blob을 요청하도록 요청합니다. 필요한 다른 서브넷. 보다 보수적인 버전의 SubnetDAS는 피어 계층에 대한 추가 조사 없이 서브넷 메커니즘만 사용합니다. 현재 제안은 지분 증명에 참여하는 노드가 SubnetDAS를 사용하고 다른 노드(예: 클라이언트)는 PeerDAS를 사용하도록 하는 것입니다.
이론적으로 "1D 샘플링"을 상당히 확장할 수 있습니다. 최대 blob 수를 256(목표 128)으로 늘리면 데이터 가용성 샘플링 없이 노드당 16 샘플 * 128 blob * 512로 16MB 목표를 달성할 수 있습니다. Blob당 샘플당 바이트 = 슬롯당 1MB의 데이터 대역폭. 이는 허용 범위 내에 거의 포함되지 않습니다. 실행 가능하지만 대역폭이 제한된 클라이언트는 샘플링할 수 없음을 의미합니다. blob 수를 줄이고 blob 크기를 늘려 이를 어느 정도 최적화할 수 있지만 이렇게 하면 다시 빌드하는 데 더 많은 비용이 듭니다.
그래서 우리는 궁극적으로 한 단계 더 나아가 블롭 내뿐만 아니라 블롭 간에도 무작위로 샘플링하는 2D 샘플링을 수행하려고 합니다. KZG 약속의 선형성 속성을 활용하여 블록의 blob 집합은 동일한 정보를 중복 인코딩하는 새로운 가상 blob 집합으로 확장됩니다.
따라서 궁극적으로 우리는 한 단계 더 나아가 블롭 내뿐만 아니라 블롭 간에도 무작위 샘플링인 2D 샘플링을 수행하려고 합니다. KZG 약속의 선형 속성은 동일한 정보를 중복하여 인코딩하는 새로운 가상 Blob 목록을 사용하여 블록의 Blob 집합을 확장하는 데 사용됩니다.
2D 샘플링. 출처: a16z 암호화
결정적으로, 약속의 확장을 계산하는 데는 Blob이 필요하지 않으므로 이 솔루션은 근본적으로 분산 블록 구축에 친화적입니다. 실제로 블록을 구축하는 노드에는 Blob KZG 약속만 있으면 되며 DAS(데이터 가용성 샘플링)를 사용하여 데이터 블록의 가용성을 확인할 수 있습니다. 1D DAS(1차원 데이터 가용성 샘플링)는 본질적으로 분산 블록 구축에 적합합니다.
기존 연구와의 링크는 무엇입니까?
데이터 가용성에 대한 원본 게시물(2018): https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding
후속 논문: https://arxiv.org/abs/1809.09044
DAS, 패러다임에 대한 설명글: https://www.paradigm.xyz/2022/08/das
KZG 약속을 통한 2D 가용성: https://ethresear.ch/t/2d-data-availability-with-kate-commitments/8081
ethresear.ch의 PeerDAS: https://ethresear.ch/t/peerdas-a-simpler-das-approach-using-battle-tested-p2p-comComponents/16541 및 논문: https://eprint.iacr.org / 2024/1362
EIP-7594: https://eips.ethereum.org/EIPS/eip-7594
ethresear.ch의 SubnetDAS: https://ethresear.ch/t/subnetdas-an-intermediate-das-approach/17169
2D 샘플링의 데이터 복구 미묘한 차이: https://ethresear.ch/t/nuances-of-data-recoverability-in-data-availability-sampling/16256
또 무엇을 해야 합니까? 절충안은 무엇입니까?
다음 단계는 PeerDAS의 구현 및 출시를 완료하는 것입니다. 그 후 보안을 보장하기 위해 네트워크를 주의 깊게 관찰하고 소프트웨어를 개선하면서 PeerDAS의 Blob 수를 늘리는 점진적인 과정이었습니다. 한편, 우리는 PeerDAS 및 기타 DAS 버전을 표준화하고 포크 선택 규칙 보안과 같은 문제와의 상호 작용을 표준화하는 더 많은 학술 작업을 볼 수 있기를 바랍니다.
향후 추가 단계에서는 이상적인 2D DAS 버전을 식별하고 보안 속성을 입증하기 위해 더 많은 작업을 수행해야 합니다. 또한 우리는 결국 KZG에서 양자 안전하고 신뢰할 수 있는 설정이 필요하지 않은 대안으로 전환하기를 희망합니다. 현재 우리는 어떤 후보자가 분산 블록 구축에 우호적인지 알 수 없습니다. 값비싼 "무차별 대입" 기술을 사용하고 행과 열을 재구성하기 위한 유효성 증명을 생성하기 위해 재귀적 STARK를 사용하는 것조차 기술적으로 STARK가 O(log(n ) * log(log(n)) 해시 값(사용하여)이기 때문에 충분하지 않습니다. STIR), 그러나 실제로 STARK는 전체 덩어리만큼 큽니다.
나의 장기적인 현실적인 경로는 다음과 같습니다.
이상적인 2D DAS를 구현합니다.
1D DAS를 고수하고 샘플링 대역폭 효율성을 희생하며 단순성과 견고성을 위해 더 낮은 데이터 캡을 허용합니다.
(하드 피벗) DA를 포기하고 플라즈마를 우리가 중점을 두는 주요 레이어 2 아키텍처로 완전히 받아들입니다.
이 옵션은 L1 계층에서 직접 실행을 확장하기로 결정한 경우에도 존재합니다. 왜냐하면 L1 레이어가 대량 의 TPS를 처리하게 되면 L1 블록이 매우 커지게 되고 클라이언트는 정확성을 검증하기 위한 효율적인 방법을 원하게 되므로 우리는 Rollup(예: ZK)을 사용해야 하기 때문입니다. L1 레이어 -EVM 및 DAS) 동일한 기술.
로드맵의 다른 부분과 어떻게 상호 작용합니까?
데이터 압축이 구현되면 2D DAS의 필요성이 줄어들거나 적어도 지연될 것이며, 플라즈마가 널리 사용된다면 그 필요성은 더욱 줄어들 것입니다. DAS는 또한 분산형 블록 구성 프로토콜 및 메커니즘에 대한 과제를 제기합니다. DAS는 이론적으로 분산형 재구성에 친화적이지만 실제로는 포함 목록 제안 및 주변 포크 선택 메커니즘과 결합되어야 합니다.
데이터 압축
우리는 어떤 문제를 해결하고 있나요?
롤업의 각 트랜잭션은 대량 온체인 데이터 공간을 차지합니다. ERC 20 전송에는 약 180바이트가 필요합니다. 이상적인 데이터 가용성 샘플링을 사용하더라도 이는 계층 프로토콜의 확장성을 제한합니다. 슬롯당 16MB를 사용하면 다음을 얻을 수 있습니다.
16000000 / 12 / 180 = 7407TPS
분자 문제뿐만 아니라 분모 문제도 해결하여 롤업의 각 트랜잭션이 온체인 더 적은 바이트를 차지하도록 할 수 있다면 어떨까요?
그것은 무엇이며 어떻게 작동합니까?
제 생각에는 가장 좋은 설명은 2년 전의 이 사진입니다.
0바이트 압축에서는 0바이트의 긴 시퀀스가 각각 2바이트로 대체되어 0바이트가 몇 개 있는지 나타냅니다. 한 단계 더 나아가 우리는 거래의 특정 속성을 활용합니다.
서명 집계: ECDSA 서명에서 BLS 서명으로 전환합니다. BLS 서명의 특징은 여러 서명을 단일 서명으로 결합하여 모든 원본 서명의 유효성을 증명할 수 있다는 것입니다. L1 계층에서는 집계를 하더라도 검증에 드는 계산 비용이 높기 때문에 BLS 서명을 고려하지 않습니다. 그러나 L2와 같이 데이터가 부족한 환경에서는 BLS 서명을 사용하는 것이 합리적입니다. ERC-4337의 집계 특성은 이 기능을 달성하는 방법을 제공합니다.
주소를 포인터로 바꾸기: 이전에 주소가 사용된 경우 20바이트 주소를 기록의 위치를 가리키는 4바이트 포인터로 바꿀 수 있습니다.
거래 값의 사용자 정의 직렬화 - 대부분의 거래 값은 매우 적은 숫자를 갖습니다. 예를 들어 0.25 ETH는 250, 000, 000, 000, 000, 000 wei로 표시됩니다. 최대 기본 처리 수수료와 우선 처리 수수료도 유사합니다. 따라서 사용자 정의 십진수 부동 소수점 형식을 사용하여 대부분의 금전적 가치를 나타낼 수 있습니다.
기존 연구와의 링크는 무엇입니까?
시퀀스.xyz 살펴보기: https://sequence.xyz/blog/compressing-calldata
L2 통화 데이터 최적화 계약: https://github.com/ScopeLift/l2-optimizooooors
유효성 증명을 기반으로 한 롤업(일명 ZK 롤업)은 트랜잭션 대신 상태 차이를 게시합니다. https://ethresear.ch/t/rollup-diff-compression-application-level-compression-strategies-to-reduce-the-l2 -data -1/9975-l1의 발자국
BLS 지갑 - ERC-4337을 통한 BLS 집계: https://github.com/getwax/bls-wallet
그 밖에 수행해야 할 작업은 무엇이며 절충점은 무엇입니까?
다음에 해야 할 가장 중요한 일은 위의 솔루션을 실제로 구현하는 것입니다. 주요 장단점은 다음과 같습니다.
1. BLS 서명으로 전환하려면 많은 노력이 필요하며 보안을 강화할 수 있는 신뢰할 수 있는 하드웨어 칩과의 호환성이 감소합니다. 대신 다른 서명 체계의 ZK-SNARK 래퍼를 사용할 수 있습니다.
2. 동적 압축(예: 주소를 포인터로 대체)은 클라이언트 코드를 복잡하게 만듭니다.
3. 거래 대신 온체인 에 상태 차이를 게시하면 감사 줄어들고 많은 소프트웨어(예: 블록체인 익스플로러)가 작동하지 않게 됩니다.
로드맵의 다른 부분과 어떻게 상호 작용합니까?
ERC-4337을 채택하고 최종적으로 그 일부를 L2 EVM에 통합하면 융합 기술의 배포 속도를 크게 높일 수 있습니다. L1에 ERC-4337의 일부를 배치하면 L2에 배포하는 속도가 빨라질 수 있습니다.
일반화된 플라즈마
우리는 어떤 문제를 해결하고 있나요?
16MB blob 및 데이터 압축을 사용하더라도 58,000TPS는 소비자 결제, 탈중앙화 소셜 또는 기타 고대역폭 영역의 요구 사항을 완전히 충족하기에 충분하지 않을 수 있습니다. 특히 개인 정보 보호 고려 사항을 고려하기 시작하면 확장성이 줄어들 수 있습니다. 3~8배. 높은 거래량, 낮은 가치의 애플리케이션 시나리오의 경우 현재 옵션 중 하나는 데이터를 오프체인으로 유지하고 흥미로운 보안 모델을 채택하는 Validium을 사용하는 것입니다. 운영자는 사용자의 자금을 훔칠 수 없지만 모든 사용자 자금을 일시적 또는 영구적으로 동결 할 수 있습니다. 하지만 우리는 더 잘할 수 있습니다.
그것은 무엇이며 어떻게 작동합니까?
플라즈마는 운영자가 블록을 오프체인에 게시하고 해당 블록의 머클 루트를 온체인 배치하는(전체 블록을 온체인 배치하는 롤업과 달리) 관련 확장 솔루션입니다. 각 블록에 대해 운영자는 각 사용자에게 Merkle 분기를 보내 사용자의 자산이 변경되었거나 아무것도 변경되지 않았음을 증명합니다. 사용자는 Merkle 포크를 제공하여 자산을 클레임 할 수 있습니다. 중요한 점은 이 분기가 최신 상태에 뿌리를 둘 필요가 없다는 것입니다. 따라서 데이터 가용성에 문제가 있더라도 사용자는 사용 가능한 최신 상태를 클레임 자산을 복구할 수 있습니다. 사용자가 잘못된 분기를 저지른 경우(예: 이미 다른 사람에게 보낸 자산을 클레임 하거나 운영자가 직접 자산을 생성하는 경우) 온체인 챌린지를 통해 자산의 법적 소유권을 확인할 수 있습니다. 기구.
플라즈마 캐시 체인 다이어그램. 코인 i를 소비하는 거래는 트리의 i번째 위치에 배치됩니다. 이 예에서는 이전 트리가 모두 유효하다고 가정하면 Eve는 현재 토큰 1을 소유하고 David는 토큰 4를 소유하고 George는 토큰 6을 소유하고 있음을 알 수 있습니다.
초기 플라즈마 버전은 결제 사용 사례만 처리할 수 있었고 더 이상 효과적으로 홍보할 수 없었습니다. 그러나 모든 루트를 SNARK로 확인해야 한다면 플라즈마는 훨씬 더 강력해집니다. 운영자가 부정 행위를 할 수 있는 경로를 대부분 제거하므로 각 챌린지 게임을 크게 단순화할 수 있습니다. 동시에 플라즈마 기술을 더 넓은 범위의 자산 클래스로 확장할 수 있는 새로운 길을 열어줍니다. 마지막으로, 운영자가 부정 행위를 하지 않는다면 사용자는 일주일 간의 도전 기간을 기다리지 않고 즉시 자금을 클레임 할 수 있습니다.
EVM 플라즈마 체인을 만드는 한 가지 방법(유일한 방법은 아님): ZK-SNARK를 사용하여 EVM의 잔액 변경 사항을 반영하고 역사상 서로 다른 지점에서 "동일한 토큰"을 정의하는 병렬 UTXO 트리를 구축합니다. . 그런 다음 그 위에 플라즈마 구조를 구축할 수 있습니다.
핵심 통찰력은 플라즈마 시스템이 완벽할 필요는 없다는 것입니다. 자산의 하위 집합(예: 지난 주에 이동하지 않은 토큰)만 보호할 수 있더라도 하이퍼 확장 가능한 EVM(예: Validium)의 현재 상태가 크게 향상되었습니다.
또 다른 유형의 구조는 Intmax와 같은 하이브리드 플라즈마/롤업입니다. 이러한 구조는 사용자당 매우 적은 양의 데이터를 온체인(예: 5바이트)에 저장하고 이를 통해 Plasma와 Rollup 사이의 일부 속성을 얻습니다. Intmax의 경우 매우 높은 확장성과 개인 정보 보호를 얻을 수 있습니다. 16MB 용량에서는 이론적으로 약 16,000,000/12/5 = 266,667TPS로 제한됩니다.
기존 연구와의 링크는 무엇입니까?
원본 플라즈마 논문: https://plasma.io/plasma-deprecated.pdf
플라즈마 캐시: https://ethresear.ch/t/plasma-cash-plasma-with-much-less-per-user-data-checking/1298
플라즈마 현금흐름: https://hackmd.io/DgzmJIRjSzCYvl4lUjZXNQ?view#🚪-Exit
Intmax (2023): https://eprint.iacr.org/2023/1082
또 무엇을 해야 합니까? 절충안은 무엇입니까?
남은 주요 과제는 플라즈마 시스템을 실제 생산 애플리케이션에 적용하는 것입니다. 위에서 언급했듯이 Plasma와 Validium은 둘 중 하나 또는 선택이 아닙니다. 모든 Validium은 Plasma 기능을 종료 메커니즘에 통합하여 보안 속성을 어느 정도 향상시킬 수 있습니다. 연구의 초점은 EVM 속성에 대한 최상의 결과를 얻는 것입니다. (신뢰 요구 사항, 최악의 경우 L1 가스 비용 및 DoS 공격을 견딜 수 있는 능력 측면에서 고려) 뿐만 아니라 대체 애플리케이션별 구조도 Plasma는 직접적으로 해결해야 하는 Rollup보다 개념적으로 더 복잡합니다. 더 나은 일반 프레임 연구하고 구축합니다.
플라즈마 설계 사용의 주요 단점은 운영자에 더 의존적이고 기반이 어렵다는 것입니다. 하지만 하이브리드 플라즈마/롤업 설계는 종종 이러한 약점을 피합니다.
로드맵의 다른 부분과 어떻게 상호 작용합니까?
플라즈마 솔루션의 효율성이 높을수록 L1이 고성능 데이터 가용성 기능을 갖춰야 한다는 부담이 줄어듭니다. 활동을 L2로 이동하면 L1에 대한 MEV 압력도 줄어듭니다.
성숙한 L2 증명 시스템
우리는 어떤 문제를 해결하고 있나요?
현재 대부분의 롤업은 실제로 무신뢰가 아닙니다. 시스템 동작을 무시(낙관적 또는 검증)할 수 있는 안전 위원회가 있습니다. 어떤 경우에는 증명 시스템이 전혀 작동하지 않거나, 작동하더라도 "자문" 기능만 갖습니다. 최첨단 롤업에는 다음이 포함됩니다. (i) Fuel과 같은 일부 무신뢰 애플리케이션별 롤업; (ii) 이 글을 쓰는 시점에서 Optimism과 Arbitrum은 "1단계"로 알려진 부분 무신뢰 이정표를 달성한 두 가지입니다. 전체 EVM 롤업. Rollup이 더 이상 진전을 이루지 못한 이유는 코드의 버그에 대한 우려 때문이었습니다. 무신뢰 롤업이 필요하므로 이 문제에 정면으로 맞서서 해결해야 합니다.
그것은 무엇이며 어떻게 작동합니까?
먼저, 이 글에서 처음 소개한 "스테이지" 시스템을 검토해 보겠습니다.
0단계: 사용자는 노드를 실행하고 체인을 동기화할 수 있어야 합니다. 검증이 완전히 신뢰할 수 있거나 중앙 집중화되어 있다면 괜찮습니다.
1단계: 유효한 거래만 승인되도록 보장하는 (무신뢰) 증명 시스템이 있어야 합니다. 인증 시스템을 무시할 수 있는 안전위원회는 허용되지만 75%의 임계값 투표가 있어야 합니다. 또한 위원회의 정족수 차단 부분(예: 26% 이상)은 롤업을 구축하는 주요 회사 외부에 있어야 합니다. 더 약한 업그레이드 메커니즘(예: DAO)이 허용되지만, 악의적인 업그레이드를 승인하는 경우 자금이 온라인 상태가 되기 전에 사용자가 자금을 인출할 수 있을 만큼 충분히 긴 지연 시간이 있어야 합니다.
2단계: 유효한 거래만 허용되도록 보장하는 (무신뢰) 증명 시스템이 있어야 합니다. 예를 들어, 안전 위원회는 코드에 입증 가능한 버그가 있는 경우에만 개입할 수 있습니다. 두 개의 중복 증명 시스템이 서로 일치하지 않는 경우 또는 하나의 증명 시스템이 동일한 블록에 대해 두 개의 다른 사후 상태 루트를 허용하는 경우(또는 일주일과 같이 충분한 기간 동안 아무것도 허용하지 않는 경우) 업그레이드 메커니즘이 허용되지만 지연 시간이 길어야 합니다.
우리의 목표는 2단계에 도달하는 것입니다. 2단계에 도달하기 위한 주요 과제는 시스템이 실제로 충분히 신뢰할 수 있다는 것을 증명할 만큼 충분한 자신감을 얻는 것입니다. 이를 수행하는 두 가지 주요 방법이 있습니다.
형식적 검증: 현대 수학과 컴퓨팅 기술을 사용하여 시스템이 EVM 사양을 통과하는 블록만 허용한다는 점을 (낙관적이고 타당하게) 증명할 수 있습니다. 이러한 기술은 수십 년 동안 존재해 왔지만 최근 발전(예: Lean 4)으로 인해 더욱 실용적이게 되었으며 AI 지원 증명의 발전으로 이러한 추세가 더욱 가속화될 수 있습니다.
다중 증명자: 여러 증명 시스템을 만들고 보안 위원회(또는 TEE와 같은 신뢰 가정이 있는 기타 장치)를 통해 이러한 증명 시스템에 돈을 투자합니다. 증명 시스템이 동의하면 안전위원회는 권한이 없습니다. 그렇지 않으면 안전위원회는 둘 중 하나만 선택할 수 있으며 일방적으로 자체 답변을 강요할 수 없습니다.
낙관적 증명 시스템, 유효성 증명 시스템 및 안전 위원회를 결합한 여러 증명자의 양식화된 그래프입니다.
기존 연구와의 링크는 무엇입니까?
EVM K Semantics (2017년부터 공식 검증 작업): https://github.com/runtimeverification/evm-semantics
다중 증명 아이디어 강의(2022): https://www.youtube.com/watch?v=6hfVzCWT6YI
Taiko는 다중 증명을 사용할 계획입니다: https://docs.taiko.xyz/core-concepts/multi-proofs/
또 무엇을 해야 합니까? 절충안은 무엇입니까?
정식 검증을 위해서는 작업량이 엄청납니다. EVM의 전체 SNARK 증명자의 공식적으로 검증된 버전을 생성해야 합니다. 우리는 이미 작업을 시작했지만 이것은 매우 복잡한 프로젝트입니다. 이 작업을 크게 단순화하는 트릭이 있습니다. 최소 가상 머신(예: RISC-V 또는 Cairo)에 대해 공식적으로 검증된 SNARK 증명기 생성한 다음 해당 최소 가상 머신에서 EVM을 구현할 수 있습니다(및 동등성에 대한 형식적 증명). 다른 이더 Virtual Machine 사양에 적용).
다중 증명에는 아직 완료되지 않은 두 가지 주요 부분이 있습니다. 첫째, 우리는 적어도 두 가지 서로 다른 증명 시스템에 대해 충분한 확신을 가져야 합니다. 둘 다 각각 합리적으로 안전하다는 것을 보장하고, 문제가 있는 경우 문제가 서로 다르고 관련이 없어야 함을 보장합니다(따라서 동시에 발생하지 않음). 문제가 발생합니다). 둘째, 우리는 병합 증명 시스템의 기본 논리에 대해 매우 높은 수준의 신뢰를 가져야 합니다. 코드의 이 부분은 훨씬 적습니다. 각 증명 시스템을 서명자로 대표하는 계약과 함께 안전한 다중 서명 계약에 자금을 저장하여 매우 작게 만들 수 있는 방법이 있지만 이렇게 하면 온체인 가스 비용이 증가합니다. 효율성과 보안 사이의 균형을 찾아야 합니다.
로드맵의 다른 부분과 어떻게 상호 작용합니까?
활동을 L2로 이동하면 L1에 대한 MEV 압력이 줄어듭니다.
L2 간 상호 운용성 개선
우리는 어떤 문제를 해결하고 있나요?
오늘날 L2 생태계가 직면한 주요 과제는 사용자가 생태계 내에서 탐색하기가 어렵다는 것입니다. 또한 가장 쉬운 접근 방식은 중앙 집중식 크로스 체인, RPC 클라이언트 등 신뢰 가정을 다시 도입하는 경우가 많습니다. 우리는 L2 생태계를 통합된 이더 생태계를 사용하는 것과 같은 느낌으로 사용할 수 있도록 해야 합니다.
그것은 무엇입니까?
L2 간 상호 운용성 개선에는 여러 범주가 있습니다. 이론적으로 롤업 중심의 이더 샤드 L1을 실행하는 것과 같습니다. 현재 이더 L2 생태계는 실제로 이상적인 상태에 비해 다음과 같은 단점을 여전히 가지고 있습니다.
1. 특정 체인의 주소: 주소에는 체인 정보(L1, Optimism, Arbitrum...)가 포함되어야 합니다. 이것이 달성되면 간단히 "보내기" 필드에 주소를 입력하여 교차 L2 전송 프로세스를 구현할 수 있습니다. 이 시점에서 지갑은 백그라운드에서 자체적으로 전송하는 방법(크로스체인 프로토콜 사용 포함)을 처리할 수 있습니다. .
2. 체인별 결제 요청: "체인 Z에서 Y 유형의 X 토큰을 나에게 보내주세요" 형식의 메시지를 생성하는 것이 쉽고 표준화되어야 합니다. 여기에는 두 가지 주요 적용 시나리오가 있습니다. (i) 사람 간 결제인지, 사람과 판매자 서비스 간의 결제인지(ii) 자금을 요청하는 DApp입니다.
3. 크로스체인 교환 및 가스 지불: 크로스체인 작업을 표현하기 위한 표준화된 개방형 프로토콜이 있어야 합니다. 예를 들어 "Arbitrum(On Optimism)에서 나에게 0.9999 이더 보낸 사람에게 1 이더 보내겠습니다", " Arbitrum에 이 거래를 포함시킨 사람에게 0.0001 이더(Optimism)를 보내겠습니다." ERC-7683은 전자에 대한 시도이고 RIP-7755는 후자에 대한 시도이지만 둘 다 이러한 특정 사용 사례보다 더 광범위하게 적용됩니다.
4. 라이트 클라이언트: 사용자는 단순히 RPC 공급자를 신뢰하는 것이 아니라 상호 작용하는 체인을 실제로 확인할 수 있어야 합니다. a16z 암호화폐의 Helios는 이더 자체에 대해 이를 수행할 수 있지만 이러한 무신뢰성을 L2로 확장해야 합니다. ERC-3668(CCIP-read)은 이 목표를 달성하기 위한 하나의 전략입니다.
라이트 클라이언트가 Ethereum 헤더 체인의 보기를 업데이트하는 방법. 헤더 체인이 있으면 Merkle 증명을 사용하여 상태 개체를 확인할 수 있습니다. 올바른 L1 상태 개체가 있으면 Merkle 증명(및 사전 확인을 확인하려는 경우 서명)을 사용하여 L2의 상태 개체를 확인할 수 있습니다. Helios는 전자를 수행했습니다. 후자로 확장하는 것은 표준화 문제입니다.
1. 키스토어 지갑: 오늘 스마트 계약 지갑을 제어하는 키를 업데이트하려면 지갑이 존재하는 온체인 업데이트해야 합니다. 키 저장소 지갑은 키가 한 위치(L1 또는 나중에 L2)에만 존재하도록 허용하고 지갑 사본이 있는 모든 L2가 키를 읽을 수 있도록 하는 기술입니다. 즉, 업데이트는 한 번만 수행하면 됩니다. 효율성을 향상시키기 위해 Keystore 지갑은 L2에 L1에 대한 정보를 무료로 읽을 수 있는 표준화된 방법을 요구합니다. 이에 대한 두 가지 제안, 즉 L1S LOAD와 REMOTESTATICCALL이 있습니다.
키스토어 지갑 작동 방식
2. 보다 급진적인 "공유 토큰 브리지" 개념: 모든 L2가 유효성 증명 롤업이고 모든 슬롯이 이더 에 제출되는 세상을 상상해 보십시오. 그런 세상에서도 네이티브 상태의 한 L2에서 다른 L2로 자산을 이전하려면 여전히 인출과 예금이 필요하며, 이를 위해서는 대량 L1 가스 요금을 지불해야 합니다. 이 문제를 해결하는 한 가지 방법은 어떤 L2가 각 토큰 유형을 소유하고 각각의 잔액 유지하고 이러한 잔액 L2 전송 작업에 의해 시작된 일련의 트랜잭션을 통과하도록 허용하는 유일한 기능을 가진 공유 최소 롤업을 만드는 것입니다. 일괄 업데이트를 위해 L2 전반에 걸쳐. 이를 통해 각 전송에 대해 L1 가스 수수료를 지불할 필요 없이, ERC-7683과 같은 유동성 공급자 기반 기술을 사용하지 않고도 L2 간 전송이 가능해집니다.
3. 동기 구성성: 특정 L2와 L1 사이 또는 여러 L2 사이에서 동기 호출이 발생하도록 허용합니다. 이는 DeFi 프로토콜의 재정적 효율성을 향상시키는 데 도움이 됩니다. 전자는 L2 간 조정 없이 구현할 수 있으며 후자는 공유 순서 필요합니다. 롤업 기반 기술은 이러한 모든 기술과 자동으로 작동합니다.
기존 연구와의 링크는 무엇입니까?
체인별 주소:
ERC-3770: https://eips.ethereum.org/EIPS/eip-3770
ERC-7683: https://eips.ethereum.org/EIPS/eip-7683
RIP-7755: https://github.com/wilsoncusack/RIPs/blob/cross-l2-call-standard/RIPS/rip-7755.md
스크롤 키스토어 지갑 디자인: https://hackmd.io/@haichen/keystore
헬리오스: https://github.com/a16z/helios
ERC-3668(CCIP 읽기라고도 함): https://eips.ethereum.org/EIPS/eip-3668
Justin Drake가 제안한 "기반(공유) 사전 확인" 제안: https://ethresear.ch/t/based-preconfirmations/17353
L1S 로드(RIP-7728): https://ethereum-magicians.org/t/rip-7728-l1s load-precompile/20388
낙관론의 REMOTESTATICCALL: https://github.com/ethereum-optimism/ecosystem-contributions/issues/76
공유 토큰 브리지 아이디어가 포함된 AggLayer: https://github.com/AggLayer
또 무엇을 해야 합니까? 절충안은 무엇입니까?
위의 많은 예는 언제 표준화해야 하는지, 어떤 레이어를 표준화해야 하는지에 대한 표준 딜레마에 직면해 있습니다. 너무 일찍 표준화하면 형편없는 솔루션이 굳어질 위험이 있습니다. 너무 늦게 표준화하면 불필요한 조각화가 발생할 수 있습니다. 어떤 경우에는 속성이 약하지만 구현하기 쉬운 단기 솔루션이 있고 "결국 정확"하지만 구현하는 데 수년이 걸리는 장기 솔루션이 있습니다.
이러한 작업은 기술적 문제일 뿐만 아니라 L1뿐만 아니라 L2와 지갑 간의 협력이 필요한 (아마도 주로) 사회적 문제이기도 합니다.
로드맵의 다른 부분과 어떻게 상호 작용합니까?
이러한 제안의 대부분은 "상위 수준" 구조이므로 L1 수준 고려 사항에 거의 영향을 미치지 않습니다. 한 가지 예외는 최대 클레임 값(MEV)에 큰 영향을 미치는 공유 순서 입니다.
L1에서 실행 확장
우리는 어떤 문제를 해결하고 있나요?
L2가 확장성이 뛰어나고 성공하더라도 L1이 여전히 아주 작은 거래량만 처리할 수 있다면 이더 여러 가지 리스크 발생할 수 있습니다.
1. ETH 자산의 경제적 상태가 더욱 불안정해지며 이는 결국 네트워크의 장기적인 보안에 영향을 미칩니다.
2. 많은 L2는 L1에서 고도로 발전된 금융 생태계와 긴밀한 관계를 맺음으로써 이익을 얻습니다. 이 생태계가 크게 약화되면 (독립적인 L1이 아닌) L2가 될 인센티브가 약해질 것입니다.
3. L2가 L1과 동일한 보안 보장을 달성하는 데 오랜 시간이 걸립니다.
4. L2가 실패하는 경우(예: 운영자의 악의적인 행위 또는 실종으로 인해) 사용자는 여전히 L1을 통해 자산을 복구해야 합니다. 따라서 L1은 L2의 매우 복잡하고 지저분한 마무리 작업을 때때로 실제로 처리할 수 있을 만큼 강력해야 합니다.
이러한 이유로 L1 자체를 계속 확장하고 점점 더 많은 사용 사례를 수용할 수 있도록 하는 것이 매우 중요합니다.
그것은 무엇입니까? 어떻게 작동하나요?
확장하는 가장 간단한 방법은 가스 한도를 직접 늘리는 것입니다. 그러나 이는 L1을 중앙 집중화하여 이더 L1을 강력하게 만드는 또 다른 중요한 기능인 강력한 기본 계층으로서의 신뢰성을 약화시킬 수 있습니다. 단순히 가스 한도를 얼마나 늘리는 것이 지속 가능한지에 대해서는 여전히 논쟁이 있으며, 이는 더 큰 블록의 검증을 더 쉽게 만들기 위해 구현되는 다른 기술(예: 기록 만료, 상태 비저장, L1 EVM 유효성 증명)에 따라 달라집니다. 지속적으로 개선해야 할 또 다른 중요한 점은 이더 클라이언트 소프트웨어의 효율성입니다. 이는 5년 전보다 오늘날 훨씬 더 효율적입니다. 효과적인 L1 가스 캡핑 전략에는 이러한 검증 기술의 개발을 가속화하는 것이 포함됩니다.
EOF: 정적 분석에 더 친숙하고 더 빠른 구현을 가능하게 하는 새로운 EVM 바이트코드 형식입니다. 이러한 효율성 향상을 고려하면 EOF 바이트코드는 가스 비용을 낮출 수 있습니다.
다차원적 가스 가격: 컴퓨팅, 데이터 및 저장에 대해 서로 다른 기본 수수료와 한도를 설정하면 최대 용량을 늘리지 않고도 이더 L1의 평균 용량을 늘릴 수 있습니다(따라서 새로운 보안 리스크 발생을 방지).
특정 opcode 및 사전 컴파일에 대한 가스 비용 절감 - 역사적으로 우리는 서비스 거부 공격을 방지하기 위해 특정 저가 작업에 대한 가스 비용을 반복적으로 늘렸습니다. 더 많은 일을 할 수 있는 한 가지는 고가의 opcode의 가스 비용을 줄이는 것입니다. 예를 들어 덧셈은 곱셈보다 훨씬 저렴하지만 현재 ADD 및 MUL 연산 코드의 비용은 동일합니다. 우리는 ADD를 더 저렴하게 만들고 PUSH와 같은 더 간단한 opcode를 더 저렴하게 만들 수 있습니다. EOF는 이와 관련하여 전반적으로 더 최적화되었습니다.
EVM-MAX 및 SIMD: EVM-MAX는 EVM의 별도 모듈 로 보다 효율적인 기본 대수 아날로그 수학을 허용하기 위한 제안입니다. 의도적으로 내보내지 않는 한 EVM-MAX 계산으로 계산된 값은 다른 EVM-MAX opcode에서만 액세스할 수 있습니다. 이를 통해 이러한 값을 최적화된 형식으로 저장할 수 있는 공간이 더 많아집니다. SIMD(Single Instruction Multiple Data)는 값 배열에서 동일한 명령어를 효율적으로 실행할 수 있도록 하는 제안입니다. 두 가지가 함께 EVM과 함께 암호화 작업을 보다 효율적으로 구현하는 데 사용할 수 있는 강력한 보조 프로세서를 만듭니다. 이는 개인 정보 보호 프로토콜 및 L2 방어 시스템에 특히 유용하므로 L1 및 L2 확장에 도움이 됩니다.
이러한 개선 사항은 향후 Splurge 기사에서 더 자세히 논의될 것입니다.
마지막으로 세 번째 전략은 기본 롤업(또는 내장된 롤업)입니다. 기본적으로 병렬로 실행되는 EVM의 많은 복사본을 생성하여 Rollup이 제공할 수 있는 것과 동일하지만 프로토콜에 더 기본적으로 통합되는 모델을 생성합니다.
기존 연구와의 링크는 무엇입니까?
Polynya의 이더 L1 확장 로드맵: https://polynya.mirror.xyz/epju72rsymfB-JK52_uYI7HuhJ-W_zM735NdP7alkAQ
다차원 가스 가격: https://vitalik.eth.limo/general/2024/05/09/multidim.html
EIP-7706: https://eips.ethereum.org/EIPS/eip-7706
EOF: https://evmobjectformat.org/
EVM-MAX: https://ethereum-magicians.org/t/eip-6601-evm-modular-arithmetic-extensions-evmmax/13168
SIMD: https://eips.ethereum.org/EIPS/eip-616
기본 롤업: https://mirror.xyz/ohotties.eth/P1qSCcwj2FZ9cqo3_6kYI4S2chW5K5tmEgogk6io1GE
L1 확장의 가치에 대한 Max Resnick 인터뷰: https://x.com/BanklessHQ/status/1831319419739361321
Justin Drake가 SNARK 및 기본 롤업을 사용한 확장에 대해 이야기합니다: https://www.reddit.com/r/ethereum/comments/1f81ntr/comment/llmfi28/
그 밖에 수행해야 할 작업은 무엇이며 절충점은 무엇입니까?
L1 확장에는 개별적으로 또는 동시에 수행할 수 있는 세 가지 전략이 있습니다.
L1을 더 쉽게 확인할 수 있도록 기술(예: 클라이언트 코드, 무상태 클라이언트, 기록 만료)을 개선한 다음 가스 한도를 늘립니다.
최악의 리스크 증가시키지 않고 특정 작업에 대한 비용을 절감하고 평균 용량을 늘립니다.
네이티브 롤업(즉, EVM의 N 병렬 복사본 생성)
이러한 다양한 기술을 이해하면 서로 다른 장단점이 있음을 알게 될 것입니다. 예를 들어 네이티브 롤업은 일반 롤업과 동일한 구성성 약점을 많이 가지고 있습니다. 동일한 L1(또는 L2)의 계약 내에서 수행할 수 있는 것처럼 단일 트랜잭션을 보내 여러 롤업에 걸쳐 동기적으로 작업을 수행할 수 없습니다. 방법. 가스 한도를 늘리면 검증 노드를 실행하는 사용자 비율 증가, 솔로 스테이킹 수 증가 등 L1 검증을 단순화하여 얻을 수 있는 다른 이점이 약화됩니다. 구현에 따라 EVM(이더 Virtual Machine)에서 특정 작업을 더 저렴하게 만드는 것은 EVM의 전반적인 복잡성을 증가시킬 수 있습니다.
L1 확장 로드맵에서 대답해야 할 큰 질문은 L1과 L2의 궁극적인 비전은 무엇입니까?입니다. 분명히 모든 것을 L1에 두는 것은 터무니없는 일입니다. 잠재적인 사용 사례에는 초당 수십만 건의 트랜잭션이 포함될 수 있으며, 이로 인해 L1을 완전히 검증할 수 없게 됩니다(기본 롤업 접근 방식을 채택하지 않는 한). 하지만 가스 한도가 10배로 늘어나 이더 L1의 탈중앙화 에 심각한 해를 끼치는 상황에 빠지지 않도록 하기 위해서는 몇 가지 지침이 필요합니다.
L1과 L2의 노동 분업에 대한 관점
로드맵의 다른 부분과 어떻게 상호 작용합니까?
더 많은 사용자를 L1으로 끌어들이는 것은 확장성을 향상할 뿐만 아니라 L1의 다른 측면도 개선한다는 것을 의미합니다. 이는 단순히 L2 문제가 아니라 더 많은 MEV가 L1에 남아 있게 되므로 MEV를 명시적으로 처리해야 할 필요성이 더욱 시급해짐을 의미합니다. 이는 L1의 빠른 슬롯 시간 값을 크게 증가시킵니다. 동시에 이는 L1(the Verge) 검증의 원활한 진행에 크게 의존합니다.