편집자: Azuma, Odaily Planet Daily
베이징 시간으로 3월 26일 정오에 Monad 공동 창업자인 Keone Hon이 Rollup의 성능 상태에 대한 심층적인 기사를 게재했습니다. 기사에서 Keone은 블록 디스플레이 업그레이드 후 Rollup의 이론적 TPS 한도를 계산하는 방법을 자세히 설명하고 업그레이드 후에도 일부 레이어 2(기본)의 단일 트랜잭션 수수료가 여전히 몇 달러에 달한다고 설명했습니다. 또한 Keone은 롤업이 직면한 일부 병목 현상과 잠재적인 개선 사항도 설명했습니다.
다음은 오데일리 플래닛 데일리가 편집한 Keone의 원본 내용입니다. 독자의 편의를 위해 번역가가 원본 텍스트에 일부 내용을 추가했습니다.
최근 시장에서는 Layer1뿐만 아니라 Layer2에도 관련된 롤업 실행 병목 현상 및 가스 제한에 대한 논의가 있었습니다. 아래에서는 이러한 병목 현상에 대해 설명합니다.
EIP-4844 표준에 따라 블록체인 업그레이드에 Blob 데이터 구조가 도입되었습니다. Layer2의 데이터 가용성(DA)은 더 이상 Ordinary와 상호 작용할 필요가 없습니다. 레이어 1 거래는 동일한 수수료 시장에서 입찰됩니다.
현재 Blob의 전체 용량 상태는 블록당 125kb Blob 3개(12초)를 생성하는 것입니다. 이는 블록당 31.25kb입니다. 이는 트랜잭션 크기가 약 100바이트임을 감안할 때 모든 롤업이 TPS를 공유한다는 것을 의미합니다. 약 300.
물론 특별한 주의가 필요한 정보도 있습니다.
최근 Base+는 가스 수수료의 급증으로 인해 큰 주목을 받았습니다. 네트워크의 일부 일반 거래 비용이 몇 달러까지 올랐습니다.
칸쿤 업그레이드 이후 베이스 네트워크가 일정 기간 동안만 줄어들더니, 이제는 업그레이드 전 수준으로 돌아오거나 심지어 초과한 이유는 무엇인가요? 이는 Base의 블록에 대한 총 가스 제한이 있기 때문이며, 이는 코드의 매개변수를 통해 시행됩니다.
현재 Base에서 사용하는 가스 매개변수는 Optimism과 동일합니다. 즉, 네트워크의 수요(총 거래 수)가 공급을 초과하는 경우 Layer2 블록(2초)당 총 500만 개의 가스가 제한됩니다. (블록 스페이스) 이때 가격 정산은 온디맨드 실행 메커니즘을 채택하여 네트워크에 가스가 급증하게 됩니다.
Base가 총 가스 한도를 늘리지 않는 이유는 무엇인가요? 즉, Rollup이 총 가스 한도를 설정해야 하는 이유는 무엇입니까?
위에 언급된 데이터 가용성에 대한 TPS 상한 외에도 실제로 실행 처리량의 병목 현상과 상태 성장의 숨겨진 위험이라는 두 가지 주요 이유가 더 있습니다.
일반적으로 EVM 롤업은 Geth에서 분기된 EVM을 실행합니다. 이는 Geth 클라이언트와 유사한 성능 특성을 가지고 있음을 의미합니다.
Geth의 클라이언트는 단일 스레드(즉, 한 번에 하나의 작업만 처리할 수 있음)이고 LevelDB/PebbleDB 인코딩을 사용하며 해당 상태를 머클 패트리샤 트리(MPT)에 저장합니다. 이는 SSD(Solid-State Drive)에 데이터를 저장하기 위해 다른 트리 구조(LSM 트리)를 기본 계층으로 사용하는 범용 데이터베이스입니다.
롤업의 경우 "상태 액세스"(머클 트라이에서 값 읽기)와 "상태 업데이트"(각 블록 끝에서 머클 트라이를 업데이트)는 실행 프로세스에서 가장 비용이 많이 드는 링크입니다. SSD에서 단일 읽기 비용이 40~100 마이크로초이고, 머클 트리 데이터 구조가 다른 데이터 구조(LSM 트리)에 내장되어 있기 때문에 불필요한 추가 찾기가 많이 필요하기 때문입니다.
이 링크는 복잡한 파일 시스템에서 특정 파일을 찾는 과정으로 상상해 볼 수 있습니다. 루트 디렉터리(trie 루트 노드)에서 대상 파일(리프 노드)까지 이동해야 합니다. 각 파일을 검색할 때는 데이터베이스 LevelDB에서 특정 키를 찾아야 하며, LevelDB 내부에서는 LSM 트리라는 또 다른 데이터 구조를 통해 실제 데이터 저장 작업을 수행해야 합니다. 이 과정에서 많은 추가 검색 단계가 발생합니다. 이러한 추가 단계는 전체 데이터 읽기 및 업데이트를 상당히 느리고 비효율적으로 만듭니다.
Monad 설계에서는 MonadDb를 통해 이 문제를 해결했습니다. MonadDb는 Merkle Trie를 디스크에 직접 저장하여 LevelDb의 오버헤드를 방지하고 비동기 IO를 지원하여 파일 시스템을 우회하여 여러 읽기를 병렬로 처리할 수 있도록 지원하는 맞춤형 데이터베이스입니다.
또한 Monad가 채택한 "낙관적 병렬 실행" 메커니즘을 사용하면 여러 트랜잭션을 병렬로 처리할 수 있으며 해당 상태를 MonadDb에서 병렬로 추출할 수 있습니다.
그러나 롤업에는 이러한 최적화 기능이 없으므로 실행 처리량에 병목 현상이 발생합니다.
Erigon/Reth 클라이언트에는 데이터베이스 효율성을 위한 특정 최적화 기능이 있으며 일부 롤업 클라이언트도 이러한 클라이언트(예: OP-Reth)를 기반으로 구축되었습니다. Erigon/Reth는 어느 정도 읽을 때 쿼리 비용을 줄이는 플랫 데이터 구조를 사용하지만 비동기 읽기 또는 다중 스레드 처리를 지원하지 않습니다. 추가적으로, 각 블록 이후에 머클 루트를 다시 계산해야 하는데, 이는 다소 느린 프로세스이기도 합니다.
다른 블록체인과 마찬가지로 Rollup도 활성 상태가 너무 빨리 증가하는 것을 방지하기 위해 처리량을 제한합니다.
상태 성장률이 우려되는 이유는 상태 데이터가 크게 증가하면 솔리드 스테이트 드라이브(SSD)에 대한 기기 수요도 상향 조정되어야 하기 때문이라는 것이 시장의 공통된 주장입니다. 그러나 나는 이것이 약간 부정확하다고 생각합니다. SSD는 상대적으로 저렴하며(고품질 2TB SSD는 약 200달러입니다), 이더리움의 전체 상태는 거의 10년의 역사에서 "고작" 약 200GB였습니다. 순수한 스토리지 관점에서 보면 여전히 성장할 여지가 많습니다.
더 큰 숨겨진 위험은 실제로 상태가 계속 증가함에 따라 지정된 상태 조각을 쿼리하는 시간이 길어진다는 것입니다. 이는 현재 머클 패트리샤 트리가 "노드에 자식 노드가 하나만 있다"라는 조건이 충족되면 "바로가기"를 사용하기 때문인데, 이는 트리의 유효 깊이를 줄여 쿼리 프로세스 속도를 높일 수 있습니다. 머클 트리가 점점 더 가득 차게 되면 사용 가능한 "바로가기"가 점점 더 적어질 것입니다.
요약하자면, 국가 성장의 숨겨진 위험은 궁극적으로 국가 액세스 효율성의 문제이므로 국가 액세스를 가속화하는 것이 국가 성장을 더욱 지속 가능하게 만드는 열쇠입니다.
Layer2는 현재 비교적 중앙 집중화된 상태에 있습니다. 즉, 네트워크는 여전히 단일 시퀀서에 의존하여 상태를 유지하고 블록을 생성합니다. 모든 상태가 메모리에 저장될 수 있도록 매우 높은 RAM(랜덤 액세스 메모리)이 있는 하드웨어에서 시퀀서를 실행하면 어떨까요?
이에는 두 가지 이유가 있습니다.
우선, 이는 이더리움 메인 네트워크의 데이터 가용성 병목 문제를 해결하지는 못할 것입니다. 비록 Base의 현재 상황을 기준으로 볼 때 네트워크 가스의 급증은 메인 네트워크의 데이터 가용성 역량 부족으로 인한 것이 아니라, 장기적으로 이는 결국 롤업을 제한하는 주요 병목 현상이 될 것으로 보입니다.
두 번째 문제는 분산화입니다. 비록 시퀀서가 여전히 고도로 중앙 집중화되어 있지만 네트워크 운영과 관련된 다른 역할도 중요하며, 노드를 독립적으로 실행하고 동일한 거래 내역을 재생하며 동일한 상태를 유지할 수 있어야 합니다.
Layer1의 원시 트랜잭션 데이터와 상태 제출만으로는 전체 상태를 잠금 해제할 수 없습니다. 완전한 상태에 액세스해야 하는 모든 행위자(예: 상인, 거래소 또는 자동 거래자)는 전체 Layer2 노드를 실행하여 트랜잭션을 처리하고 상태의 최신 복사본을 보유해야 합니다.
롤업은 여전히 블록체인이며, 블록체인은 공유된 글로벌 상태를 통해 글로벌 조정을 달성할 수 있는 능력 때문에 흥미롭습니다. 모든 블록체인에는 강력한 소프트웨어가 필요하며, 하드웨어 최적화만으로는 문제를 해결할 수 없습니다.
Keone이 이 기사를 게시한 후 여러 머리의 Layer2 프로젝트의 핵심 인력이 업데이트 아래에서 상호 작용했습니다.
zkSync 공동 창립자 Alex Gluchowski는 "머클 루트는 각 블록마다 다시 계산해야 합니다"라는 기사에 대한 응답으로 이 점에서 Monad의 차이점이 무엇인지 물었습니다.
Keone의 답변은 각 블록 이후에 머클 루트를 계산하는 최적화 알고리즘이 있을 것이라는 것입니다.
Base 담당자인 Jesse Pollak도 이를 활용하여 Cancun에서 Base 업그레이드 이후 가스 비용이 떨어지지 않고 증가한 이유를 EIP-4844가 Layer1에서 DA 비용을 크게 줄였다고 말했습니다. 하지만, 네트워크 거래 수요가 5배 이상 증가했고, Base 네트워크의 블록은 250 Gas/s 제한이 있기 때문에 수요가 공급을 초과하여 가스 요금이 상승하게 됩니다.
위 내용은 칸쿤 업그레이드 이후 롤업의 성능 병목 현상은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!