Scroll 공동 창립자 장예: Scroll의 디자인 구조와 도전 과제는 무엇인가요?
출처:Scrollh中文社区
최근 Scroll의 공동 창립자 장예가 스탠포드의 블록체인 세미나에 초청되어 Scroll의 아키텍처 디자인과 도전에 대해 공유했습니다. 발표의 전반부에서는 Scroll의 전체 아키텍처를 소개하고, 몇 가지 특별한 디자인 선택에 대해 강조했습니다.
후반부에서는 처음부터 zkEVM을 구축하는 방법을 설명하고, 구체적인 예를 사용하여 이 과정을 시연했습니다. 마지막으로 Scroll이 암호학 및 프로토콜 디자인 분야에서 직면한 다양한 연구 도전에 대해 간략히 논의했습니다.
배경과 초기 의도
Scroll은 이더리움의 Layer 2 확장 솔루션입니다. 이더리움과의 최대 호환성을 위해 Scroll은 EVM 계산의 유효성을 증명할 수 있는 바이트코드 수준 호환 "zkEVM"을 구축하고 있습니다. Scroll의 디자인 초기 의도는 개발자 친화적이며 최대한의 조합 가능성을 제공하는 것입니다. zkEVM 구축의 도전 과제는 구축 난이도와 제로 지식 증명 생성 비용이 매우 높다는 것입니다. 다행히 최근 몇 년간의 기술 혁신으로 인해 점차 가능해지고 있으며, 예를 들어 다항식 약속은 임의 차수를 증명할 수 있고, 조회 테이블은 저장소 읽기 제약을 구현할 수 있으며, 하드웨어 가속은 증명 생성을 가속화하고, 재귀 증명은 증명을 더욱 압축하여 비용을 줄일 수 있습니다.
구체적인 세부 사항은 Scroll 블로그 시리즈 #1: 이더리움 네이티브 zkEVM 롤업 소개를 참조하십시오.
Scroll 아키텍처
Scroll 노드는 애플리케이션과 사용자가 Scroll과 상호작용하는 주요 경로입니다. 이는 세 가지 모듈로 구성되어 있습니다: 정렬기(Sequencer), 조정기(Coordinator) 및 중계기(Relayer).
정렬기는 JSON-RPC 인터페이스를 제공하고 L2 거래를 수신합니다. 몇 초마다 L2의 메모리 풀에서 거래를 가져와 실행하여 새로운 L2 블록과 새로운 상태 루트를 생성합니다. Scroll의 정렬기 구현은 Go-Ethereum(Geth)을 기반으로 하며, 가장 주류의 이더리움 노드 구현 중 하나입니다. Geth를 포크함으로써 최상의 호환성을 구현하고 이미 시간의 시험을 거친 보안을 상속받을 수 있습니다.
새로운 블록이 생성되면 조정기는 알림을 받고 정렬기로부터 이 블록의 실행 흔적을 수신합니다. 그런 다음 이 실행 흔적을 롤러 풀에서 무작위로 선택된 롤러에게 배포하여 증명을 생성합니다.
중계기는 이더리움과 Scroll에 동시에 배포된 롤업 및 브리지 계약을 모니터링합니다. 두 가지 주요 책임이 있습니다. 첫째, 롤업 계약을 모니터링하여 L2 블록의 상태를 추적하며, 여기에는 데이터 가용성과 유효성 증명이 포함됩니다. 둘째, 이더리움과 Scroll에 동시에 배포된 브리지 계약의 입금 및 출금 이벤트를 모니터링하고 메시지를 한 레이어에서 다른 레이어로 중계합니다.
각 L2 블록은 최종 확인될 때까지 다음 세 가지 단계를 거칩니다.
Pre-committed는 블록이 정렬기에 의해 제안되고 롤러에게 전송되었음을 나타냅니다. Precommitted 블록은 아직 Scroll L2의 공식 부분이 아니지만, 이더리움 기본 레이어에 게시되지 않았기 때문에 정렬기를 신뢰하는 사용자는 예상대로 다음 단계를 진행할 수 있습니다. 현재 Pre-commited 단계는 1-2초가 소요될 것으로 예상됩니다.
Committed는 해당 블록의 거래 데이터가 이더리움의 롤업 계약에 게시되었음을 나타냅니다. 이는 블록 데이터가 사용 가능하다는 것을 보장하지만, 올바르게 실행되었음을 증명할 수는 없습니다. 현재 Committed 단계는 몇 분이 소요될 것으로 예상됩니다.
Finalized는 이더리움 체인에서 유효성 증명을 검증하여 이 블록의 거래 정확성을 검증했음을 나타냅니다. 최종 확인된 블록은 Scroll L2 체인의 공식 부분으로 간주됩니다. 현재 Finalized 단계는 10분 이상 소요될 것으로 예상됩니다.
Pre-Alpha 테스트넷 단계에서는 증명자의 계산 능력이 부족하여 전체 프로세스의 시간이 예상보다 더 길어질 수 있습니다.
구체적인 세부 사항은 Scroll 블로그 시리즈 #6: Scroll의 아키텍처 개요를 참조하십시오.
zkEVM의 본질
zkEVM의 본질은 EVM 가상 머신 계산에서 생성된 실행 흔적에 대한 증명을 생성하는 것입니다. Scroll의 zkEVM 디자인에서 첫 번째 레이어는 EVM의 논리를 직접 증명하는 것을 포함하며, 여기에는 EVM 회로, RAM 회로, 저장소 회로 및 ECDSA 서명을 검증하는 서명 회로와 같은 기타 회로가 포함됩니다. 두 번째 레이어는 첫 번째 레이어의 증명을 집계하는 증명을 수행합니다. 동적 실행 흔적을 고려하여 증명 시스템의 프론트 엔드 부분에서 Scroll은 현재 최신의 Plonkish 프로토콜을 사용하고 있으며, 표준 Plonk와 비교하여 Permutation을 사용하여 전후 제약을 연결합니다. Plonkish는 더 낮은 차수의 Custom gate를 사용하여 각 단계의 제약을 유연하게 설정할 수 있습니다.
하드웨어 가속 측면에서 Scroll은 독특한 PipeZK 가속 솔루션을 보유하고 있습니다. 첫 번째 레이어의 EVM 회로에 대해 가속된 GPU는 9배의 속도를 향상시켜 30초 이내에 증명을 완료할 수 있습니다. 두 번째 레이어의 집계 회로에 대해 가속된 GPU는 15배의 속도를 향상시켜 약 2분 반 이내에 증명을 완료할 수 있습니다. 현재 Pre-Alpha 테스트넷에는 약 10명의 증명자만 있기 때문에 실제 속도는 실험 데이터보다 약간 느릴 수 있습니다.
구체적인 세부 사항은 Scroll Devcon 6 시리즈 #1: zk-Rollups의 증명 시스템 선택를 참조하십시오.
흥미로운 연구 방향 (프로토콜 및 암호학)
현재 Scroll의 연구 팀은 프로토콜 레이어와 암호학 방향에서도 흥미로운 연구 탐색을 진행하고 있습니다.
연구의 첫 번째 방향은 증명자와 정렬기의 탈중앙화입니다. Scroll이 제안한 첫 번째 솔루션은 정렬기와 증명자의 작업을 하나의 노드에 맡겨 거래를 처리하고 증명을 생성하는 것입니다. 이 경우 노드의 부담이 증가하여 어느 정도 중앙화가 발생할 수 있습니다. 두 번째 솔루션은 정렬기 노드가 합의에 따라 블록을 생성하고, 증명자 노드는 자유롭게 증명을 제출할 수 있게 하는 것입니다. 이 경우 시스템은 가장 빠른 검증자에게 의존하게 되며, 다른 계산 능력이 부족한 증명자는 더 이상 증명을 제출할 유인이 없어 시스템에서 탈퇴하게 되어 증명 시스템이 가장 빠른 검증자에게 얽힐 수 있습니다. 두 번째 솔루션에 대한 Scroll의 제안된 해결책은 정해진 시간 내에 증명을 제출하는 경우 증명 보상을 받을 수 있도록 시간 창을 설정하는 것입니다.
연구의 두 번째 방향은 L3의 존재 의미입니다. L3는 StarkNet에 의해 처음 제안되었지만, 데이터 가용성이 L1에 놓이면 비용을 크게 절감할 수 없고, 데이터 가용성이 L1에 놓이지 않으면 L2에서 유사한 기능을 구현할 수 있다는 논란이 있습니다. L3는 애플리케이션의 사용자 정의 요구에 더 적합할 가능성이 높으며, 예를 들어 독특한 정렬기, 사용자 정의 실행 환경, 더 저렴한 입출금 비용 또는 L3 간의 조합 가능성이 필요할 수 있습니다. L3에 대한 더 많은 논의는 Vitalik: 어떤 Layer 3가 의미가 있는가?를 참조하십시오.
연구의 세 번째 방향은 L2 레이어 간의 유동성 분배입니다. 예를 들어 Uniswap은 서로 다른 L2 레이어에 각각 유동성 풀을 배포해야 할 수 있습니다. 서로 다른 L2 레이어 간의 유동성 풀을 연결하는 방법은 사용자 경험을 크게 향상시킬 것입니다.
연구의 네 번째 방향은 zkEVM의 자원 가격 책정 문제입니다. 계산 비용은 주로 검증 및 거래 증명으로 구성되며, 저장 비용은 주로 과거 거래 및 calldata의 데이터 저장으로 구성됩니다. 가장 이상적인 상태는 현재 이더리움 메인넷의 자원 가격 책정 방안을 유지하는 것이지만, Keccak과 같은 zk에 불리한 연산으로 인한 비용 증가로 인해 zkEVM의 자원 가격 책정 방안을 조정해야 할 필요가 있습니다.
기타 연구 방향으로는 제로 지식 증명에서 회로의 무작위성 및 산술화가 있습니다. Scroll의 증명 시스템은 두 레이어로 나뉘어 있으므로 증명자의 하드웨어 가속 알고리즘도 두 레이어 디자인을 중심으로 전개됩니다. Scroll은 현재 첫 번째 레이어와 두 번째 레이어의 증명 시스템 모두에서 Halo2 프로토콜을 선택하고 있지만, 서로 다른 증명 시스템 간의 조합 가능성도 적극적으로 탐색하고 있습니다.
물론 현재 zk 시스템은 여전히 개발 중이며, 감사 및 실증 검증을 거치지 않았기 때문에 예측 가능한 장기 시간 내에 이러한 코드가 결함이 없다고 보장할 수 없으며, 코드 측면에서는 여전히 많은 감사 작업이 필요합니다. 구체적인 내용은 Scroll Rollup Day #1: Vitalik이 다중 증명을 사용하여 Rollup 보안을 강화하는 방법 소개를 참조하십시오.