저자: 0xSamo; 출처: LXDAO
01 서문
더 머지 이후 이더리움의 가장 큰 업그레이드인 EIP-4844는 웹상에서 많은 주목을 받았습니다. 블롭 임시 스토리지의 도입은 이더리움 열차에 사이드 캐리지를 추가하는 것과 같으며, 열차의 원래 운영 상태에 영향을 주지 않으면서도 더 저렴한 데이터 가용성을 제공합니다.
옵티미즘, 스타크넷, 아비트럼 등과 같은 레이어 2 네트워크는 모두 단기간에 EIP-4844를 지원했으며, 다음 거래에서 보듯이 LXDAO 재무부가 옵티미즘에 기여금을 지불하면서 가스 요금에서 100배의 차이를 보인 것처럼 상당한 요금 인하를 목격했습니다. 가스 요금의 차이는 무려 100배입니다.
그러나 놀랍게도 다음과 같은 사실도 발견했습니다. ZK 롤업의 대표주자인 스타크넷은 1$ 이상이던 가스 소비량을 0.01$까지 낮추는 놀라운 비용 절감 효과도 달성했습니다.
기술에 대한 자세한 설명은 내 첫 번째 레이어2로 이동하세요.
02 StarkNet의 요금 인하가 놀라운 이유는 무엇인가요?
옵 롤업과 ZK 롤업의 한 계층 스토리지 요구 사항의 차이점
옵 롤업과 ZK 롤업은 DA 요금(데이터 가용성: 제3자가 액세스하려는 데이터에 액세스할 수 있도록 데이터를 저장 및 배포하는 서비스로 구성됨)에 대한 의존도가 다릅니다.
OP 롤업은 사용자 서명과 같은 정보를 포함해 최근 거래의 모든 세부 정보를 패키징 및 압축하여 네트워크의 한 계층에 업로드합니다. 티어 1 네트워크에서 많은 유효성 검사 작업이 필요하지 않으며, 대부분의 비용은 티어 1 네트워크의 저장 공간을 사용하는 것 이상입니다.
반면, ZK 롤업은 데이터 압축률이 더 높습니다. 예를 들어 사용자 서명 데이터를 폐기하고 영지식 증명에 의존하여 거래가 합법적인지 확인하며, 거래의 모든 세부 정보를 패키징하는 대신 상태의 변경 사항만 패키징하여 업로드합니다.
예를 들어 레이어 2 네트워크에서 100명의 사용자가 USDC/USDT 쌍을 거래했고, 거래할 때마다 사용자와 USDC와 USDC 모두에 대한 스왑 계약의 잔액이 변경됩니다. OP 롤업의 경우 100건의 거래와 200개의 계정에 대해 400개의 잔액 변경이 발생하며, ZK 롤업의 경우 사용자 잔액 변경과 관련된 부분의 차이는 크지 않지만 스왑 계약의 경우 총 200개의 USDC와 USDT 잔액 변경을 2개의 최종 잔액 변경으로 압축할 수 있어 데이터의 크기가 크게 줄어든다는 장점이 있습니다.
ZK 롤업의 ZK 증명 검증을 위한 추가 가스 소비
이 둘의 차이점에 대해 알아본 후 가장 먼저 눈에 들어오는 것은 ZK 롤업의 가스 수수료가 일반적으로 ZK 증명보다 높다는 점일 수 있습니다. 첫인상은 일반적으로 ZK 롤업의 가스비가 OP 롤업보다 낮다고 생각할 수 있지만, 실제로 사용해 보신 분들은 스탁넷, 지크싱크 등과 같은 ZK 롤업의 L2 비용이 OP 롤업보다 훨씬 높은 경우가 많다는 것을 아실 것입니다. 특히 스탁넷의 스타크 기술 루트는 다른 SNARK 루트보다 ZK Proof의 양이 많고, 다양한 L2의 전송 수수료 순위에서 OP 롤업보다 높은 순위에 있는 경우가 많기 때문이죠. 전송 수수료는 종종 L2 순위에서 최하위에 위치합니다.
2023년 특정 시점의 L2별 L2 수수료 표
ZK 롤업이 온라인에 등장하자마자 OP 롤업을 이기지 못한 이유는 거래 데이터의 압축률이 높아서 한 계층으로 데이터를 전송하는 데 드는 비용을 절감하는 반면, 네트워크의 한 계층에서 영지식 인증서의 유효성을 확인해야 하기 때문에 계산 오버헤드가 추가되기 때문입니다.
그리고 블롭은 프로세스의 저장 부분의 비용만 줄여줄 뿐, 프로세스의 계산 부분에는 도움이 되지 않기 때문에 ZK 롤업은 EIP-4844에서 얻을 수 있는 것이 적으므로 StarkNet이 하위 계층에서 하위 계층으로 발전하는 것을 보는 것은 좋은 일입니다. 따라서 스타크넷이 최하위권 '후발주자'에서 상위권 두 팀과 같은 리그에 진입하는 것을 보고 입이 떡 벌어지지 않을 수 없습니다.
03 스타크넷의 수수료에 대한 탐구
ZK의 롤업 메커니즘이 OP보다 훨씬 우수하다는 것은 말할 필요도 없습니다. 예를 들어 옵티미즘: 배처 계약을 통해 업그레이드 전후에 메인 네트워크로 데이터를 패키징하는 비용 등 롤업의 메커니즘은 OP 롤업보다 훨씬 더 복잡하며, 트랜잭션 비용이 두 배 정도 감소하는 이유를 누구나 충분히 이해할 수 있습니다.
자세히 알아보기:
업그레이드 전 마지막 이전 배치:
https:// etherscan.io/tx/0x8d8a21aeb64a62c66bc1848c2f37c4ca266edc5d122dd287270bc6aa2c24f445
업그레이드 후 첫 번째 신규 배치(블롭 요금 포함 총 0.0011 ETH):
https://etherscan.io/tx/ 0xa3e36193ab5ca4e6e98848640b1896def4c419ce203e7bd8e876dd2d5eb77e6c
6개의 블롭 비용(총) 0.00078 ETH):
https://blobscan.com/tx/ 0xaec6d2e65705632f869c02b9baf063822153e058c0da75723733b78b99242f35
하지만 스타크넷 가스 비용을 탐구하는 과정에서 저자는 경험했습니다. 상당한 어려움을 겪었고 심지어 몇 번의 플롯 반전을 겪었지만,이 탐사 과정 자체가 매우 깨달음을 주었으므로 기사와 함께 다시 살펴 보겠습니다.
사라져가는 L1DA
옵티미즘의 지불 거절의 비밀을 탐구한 경험 때문에, 우리는 애초에 스타크넷이 메인 네트워크에 제출한 데이터만 찾으면 된다고 자연스럽게 가정했습니다. 스타크넷이 메인넷에 데이터를 제출하는 계약은 매우 중요한 계약이며, 이더스캔의 가스 소비 목록에서 한때 최상위에 있었던 계약을 찾는 것은 어렵지 않을 것이며, 아직 블롭에 적용되지 않은 스크롤은 여전히 최상위 목록에서 상위권에 머물러 있는 것을 볼 수 있습니다.
StarkNet을 검색하면 Operator, Cisco, StarkNet이라는 키워드를 찾을 수 있습니다. 그 후 오퍼레이터, 코어 계약, 메모리 페이지 팩트 레지스트리 등 3개의 관련 계약을 찾을 수 있는데, 저장 공간과 관련된 것으로 보이는 세 번째 계약은 거의 2년 전에 중단된 것으로 보입니다.
그러니 오퍼레이터만 남게 됩니다. 코어 컨트랙트와 지속적으로 상호작용하며 최신 상태로 지속적으로 업데이트합니다.
블롭을 적용하기 전과 후로 돌아가 보면 오퍼레이터의 상태 업데이트 트랜잭션이 매우 단순하다는 것을 알 수 있습니다. 에서 오퍼레이터의 업데이트 상태 트랜잭션이 실제로 업그레이드되었지만 모두 다른 패킷을 가리키는 해시에 불과하다는 것을 알 수 있습니다. 나중에 더 많은 가스를 소비하는 업데이트 스테이트KzgDA조차도 스타크넷의 수수료 인하를 전혀 설명하지 못합니다.
이 이후의 업데이트는 블롭의 데이터가 해당 배치의 패킷과 일치한다는 것을 증명하기 위한 KZG 다항식 커밋이며, 단지 "상태 루트"일 뿐입니다. 이 상태 루트는 2계층 네트워크의 모든 컨트랙트 상태를 기록하는 "원장"에 해당하며, 이론적으로 1계층 네트워크에도 존재합니다.
그렇다면 왜 루트만 존재할까요? 그 두꺼운 작은 장부는 어디로 갔을까요?
첫 번째 실패 이후의 분석
첫 번째 퀘스트는 그다지 성공적이지 않았지만, 여전히 몇 가지 추론과 추측을 해볼 수 있는 부분이 있습니다. 마이퍼스트 레이어2를 보신 분이라면 롤업이 탐구하는 핵심 문제가 DA 문제(데이터 가용성)이며, 이들이 사용하는 솔루션은 데이터 가용성 문제를 해결하기 위해 주요 데이터를 메인 네트워크에 업로드하여 누구나 필요한 데이터에 쉽게 접근할 수 있도록 하는 것임을 알고 계실 것입니다.
OP 롤업은 실제로 각 트랜잭션을 압축된 패키지로 네트워크의 한 계층에 업로드하는 간단한 무차별 방식으로, 다른 사람들이 압축을 풀고 각 트랜잭션을 재생하여 2계층 원장의 전체 모습을 볼 수 있도록 합니다. 트랜잭션이 올바르게 실행되었는지 확인하기 위해 2계층 원장의 전체 그림을 볼 수 있습니다.
반면, ZK 롤업은 모든 트랜잭션 세부 정보를 업로드할 필요 없이 영지식 증명을 통해 모든 트랜잭션이 2계층에서 올바르게 실행되었는지 확인하기 위해 State Diff(각 배치의 상태를 변경하는 부분)만 업로드하면 됩니다. 다른 사람들은 여러 상태 변경의 결과를 재생하여 L2 원장의 전체 그림을 복원할 수 있습니다.
블롭의 데이터는 첫 번째 레이어에 바이너리 텍스트 문자열일 뿐이며, 첫 번째 레이어는 블롭의 적법성을 검증하지 않고 블롭의 데이터 정확성만 보호하고 첫 번째 레이어의 스마트 컨트랙트는 블롭의 내용을 읽고 검증할 수 없으므로 첫 번째 레이어가 여전히 ZK 증명을 검증한다면, 첫 번째 레이어에서 ZK 증명을 사용할 수 있다는 것을 우리는 알고 있습니다. 따라서 한 레이어에서 여전히 ZK Proof를 검증한다면 ZK Proof 자체를 블롭에 넣을 수 없으므로 StarkNet은 특정 비용 절감 효과를 가질 수 있으며, 각 배치의 State diff를 블롭에 넣어야 합니다.
그렇다면 다음 과제는 당연히 StarkNet이 State diff를 어디에 넣는지 파악하는 것입니다. 그것이 어디에 있었는지, 그리고 그것이 블롭에 있는지 없는지를 알아내는 것입니다.
또한, 스테이트 루트가 하나뿐이라는 사실은 StarkNet이 오래 전에 메인 네트워크에 스테이트 변경 사항을 업로드하는 방식을 자체 DAC(데이터 가용성 위원회)로 조용히 변경한 것은 아닌지 궁금하게 만듭니다. 만약 그렇다면, 스타크넷의 엄청난 수수료는 완전히 정당화될 수 없으며, ......
로만 설명할 수 있습니다. style="text-align:왼쪽;">관련 링크:
https://layer2.myfirst.io/zh#2.4-rollup
샤프 시스템
다행히 @0xYandhii와 논의한 후 새로운 빛이 생겼고 범용 호스팅 세계에서 StarkNet의 첫 번째 제품은 실제로 새로운 제품입니다. 스타크넷의 첫 번째 제품은 사실 범용 메인넷이 출시되기 전의 스타크EX였으며, 탈중앙화 파생상품 거래소인 DYDX도 그 당시의 제품입니다. 메인넷이 출시되면서 기존 제품을 폐기하는 대신, 기존 제품을 메인넷과 검증 시스템을 공유하도록 옮겼습니다.
이것이 바로 샤프: 공유 증명 및 검증 시스템 시스템이며, 샤프 블록체인 라이터, 스타크웨어: 샤프 검증자 등과 같은 관련 컨트랙트를 찾아볼 수 있습니다. .
블록 브라우저를 열어 관련 트랜잭션을 쿼리하면 SHARP 블록체인 작성기가 다음 네 가지 유형의 작업을 수행한다는 것을 알 수 있습니다.
머클 검증: 머클 트리 검증
FRI 검증: 빠른 리드-솔로몬 대화형 오라클 증명. 제출된 데이터 또는 계산이 데이터 자체의 내용을 드러내지 않고 특정 규칙이나 제약 조건을 따르도록 하는 데 사용되는 근접성 증명입니다.
연속 메모리 페이지 등록: 네트워크 계층에 데이터를 쓰기 위한 것으로 의심되는 연속 메모리 공간을 한 주기에 100회 이상 업로드하는 행위.
증명 확인 및 등록: 빠르면 10분, 느리면 1~2시간에 한 번씩 주기에 한 번씩 검증을 위해 충분한 트랜잭션을 저장해야 합니다.
1, 2, 4단계는 영지식 증명과 관련된 단계이고, 3단계인 메모리 공간 등록은 네트워크의 첫 번째 계층에 데이터를 기록하는 단계이며, 상태 차이를 저장할 가능성이 가장 높은 곳이라는 것을 어렵지 않게 알 수 있습니다.
이 세 가지 검증 단계의 비용은 블롭 업그레이드 전후로 크게 변하지 않았으며, 3단계의 비용이 스타크넷 전후로 두 배의 비용 절감 효과를 설명해야 한다는 것이 합리적 추론입니다.
그래서 블록 브라우저를 계속 넘기면서 EIP-4844 이전 구 버전, 두 번째 첫 번째 버전, 업그레이드된 최신 버전의 3단계 검증 주기를 각각 한 번씩 가져와서 각 4단계에서 소비된 가스 양을 계산해 보았습니다.
결과는 머리가 아찔할 정도입니다.
메모리 비용은 절반으로 줄었지만, 전체 라운드에서 비용이 얼마나 드는지 보면 이 수준의 DA 감소는 아무 의미가 없습니다.
이 퀘스트는 거의 막바지에 이르렀고, 저는 삼체 세계의 대형 입자 충돌기 앞에 앉아 모든 뇌세포가 "이건 말이 안 돼요!"라고 외치는 물리학자가 된 기분이었습니다. 심지어 스타크넷 커뮤니티에 가서 이에 대해 문의하는 게시물을 작성하기도 했지만, 문제가 너무 복잡하게 얽혀 있어서인지 영어 커뮤니티에서도 반응이 더뎠습니다.
관련 링크:
샤프 블록체인 작성자:
샤프 블록체인 작성자:
https://etherscan.io/address/0x16d5783a96ab20c9157d7933ac236646b29589a4
Starkware: SHARP Verifier:
https://etherscan.io /address/0x47312450b3ac8b5b8e247a6bb6d523e7605bdb60
SHARP 시스템 가스 사용 탐색
이 시점에서 마지막 트릭이 하나 남았습니다. 앞서 다운로드한 거래 데이터의 csv에는 가스 수수료로 소비된 ETH만 있고 가스 한도 등에 대한 정보가 없기 때문에 가스 단가 변동이 통계에 미치는 영향을 배제할 수 없습니다. 그래서 저는 이전에 관련된 각 거래의 실제 GasUsed(Gaslimit에서 소진된 부분)를 계산하는 스크립트를 작성했습니다.
마침내 빛이 보였습니다! 업그레이드 이전에는 메모리 공간을 등록하는 트랜잭션이 실제로 2개씩 세트로 전송되었으며, 하나의 가스는 가장 낮은 50,000개, 다른 하나는 일반적으로 약 300,000개 정도였음을 알 수 있습니다.
업그레이드 후에는 거의 모든 등록 메모리 트랜잭션이 50k 미만의 낮은 범위에 속합니다. 트랜잭션이 5만 개의 저소비 트랜잭션이 되었습니다.
지난번 업그레이드의 이상한 결론은 샘플을 너무 작게 채취했기 때문일 가능성이 높습니다. 샘플이 너무 작았고, 마침 그 업그레이드 이후의 검증 주기가 대규모 메인넷 가스 급증과 일치하여 장시간에 걸친 수백 개의 레지스터 연속 메모리 페이지 트랜잭션이 더 높은 가스를 소비하여 결과가 왜곡된 것입니다.
이에 따라 3분 동안 GasUsed 데이터를 재정렬했습니다. 이 라인을 따라 3분 동안의 GasUsed 데이터를 재배열한 결과, 이번에는 훨씬 더 의미가 있었습니다. 이를 통해 업그레이드 후 메모리 페이지의 크기가 실제로 크게 줄어든 것을 확인할 수 있었으며, 업그레이드 후 블롭으로 이동한 State Diff 상태 변경 데이터가 저장된 곳임을 확인할 수 있었습니다.
그리고 l2beat.com에서 StarkNet의 기술 도식도 확인할 수 있었습니다. StarkNet의 기술 회로도를 보면 예상대로 상태 차이가 메모리 페이지에 실제로 저장되어 있음을 알 수 있습니다.
그러므로 궁극적으로 상태 차이를 계산할 때는 GasUsed 양(지금까지 무작위로 선택한 작은 샘플 크기로 느슨하게 추정)에 따라 계산한 결과, StarkNet의 실제 L1DA 비용은 대략 4~10배 정도 감소했으며, 이는 1배에 약간 못 미치는 수치입니다. 이는 이론적 추정치와도 일치합니다. EIP-4844 업그레이드에서 ZK 롤업은 OP 롤업만큼의 이득을 얻지 못합니다.
04 요약
이 모든 탐색 끝에 마침내 스타넷의 요금 인하 이유와 정도를 파악할 수 있게 되었습니다. 스타넷이 왜 그리고 어느 정도까지 요금을 인하했는지에 대한 결론은 여전히 조금 흥미롭습니다.
L1DA의 큰 비용 하락은 두 가지를 설명하지 못합니다
스타넷이 각 상태 변경 데이터를 네트워크의 단일 계층에 기록했던 것은 분명한 사실입니다. 네트워크의 한 레이어에 기록했지만, 이제는 해당 데이터를 블롭에 저장하므로 메모리 공간을 등록하는 작업을 약간 줄일 수 있습니다.
그러나 스타크넷이 하위권에서 상위권 OP 학생들과 같은 수준의 비용 절감, 심지어 상대적인 발전 측면에서 전체 OP 롤업을 앞지르는 것은 분명 불가능합니다.
그렇다면 유일한 합리적인 설명은 '블랙 하트' 비용이 너무 높아지기 전이라는 것입니다. STRK 토큰이 출시되기 전에는 스타크넷의 모든 개발 및 커뮤니티 인센티브에 자금이 필요했고, 투자자들의 돈을 소진하는 것 외에도 L2 L1 가스 스프레드를 높게 설정하는 것이 개발을 계속하는 방법 중 하나였으며, 이것이 스타크넷의 당황스러운 가스비 상황을 초래한 것일 수도 있습니다.
이제 STRK 토큰 발행으로 충분한 유동성과 생태적 인센티브를 확보했으니, 이제 가스를 합리적인 수준으로 되돌리고 이번 블롭 업그레이드를 통해 발목을 잡는 모래주머니를 제거하여 수수료를 낮추는 효과로 많은 사람들을 놀라게 할 때입니다.
ZK의 OP
옵 롤업은 메인 이더 네트워크의 콜데이터에 저장된 데이터를 임시 저장 영역으로 업그레이드한 후 실제로 약간의 보안을 희생했습니다. 업그레이드 후 실제로 보안이 약간 희생되었습니다.
이전에는 Calldata 공간에 데이터가 영구적으로 저장되었기 때문에 누구나 메인 이더 네트워크에서 현재 상태를 모두 복원하기에 충분한 데이터를 가져올 수 있었습니다.
그러나 업그레이드 후에는 블롭의 데이터가 최신 상태가 아니며, 네트워크의 어느 주체도 과거의 블롭 데이터를 보관하지 않는다면 OP L2의 거래 내역이 손실될 수 있습니다. 블롭은 OP의 7~14일 챌린지 기간 이후에도 보관되기 때문에 현재의 최신 레이어 2 네트워크 상태는 여전히 보호될 수 있지만, 각 블롭에 해당하는 레이어 2 상태는 만료될 때까지 계속 신뢰되며, 이 최근 10일 정도의 거래 기록이 롤오버되어 OP L2의 보안을 유지하게 됩니다.
ZK 롤업은 또한 블롭의 이점을 누리려면 중요한 레이어 2 상태 데이터를 영구 Calldata 공간에서 블롭 공간으로 옮겨야 합니다. 즉, 일정 시간이 지나면 더 이상 과거처럼 네트워크의 첫 번째 레이어에서 제공하는 데이터에 의존해 두 번째 레이어 상태를 재생할 수 없게 됩니다.
아마 이것이 새로운 표준이 되어 모든 L2 네트워크가 블롭에 의존하여 상태를 안전하게 유지하고, 각 L2는 보안과 효율성 사이에서 더 나은 균형을 유지하면서 자체적으로 과거 거래 데이터를 사용할 수 있는 방법을 찾아야 할 것입니다.
OP와 ZK의 융합 추세
과거에는 1세대 OP 롤업이 먼저 온라인화되었고, 1세대 ZK 롤업은 보다 경쟁력 있는 가스 요금 없이 온라인화되었습니다. 보다 경쟁력 있는 가스 요금. 과거에는 1세대 OP 롤업이 가장 먼저 온라인화되었고, 1세대 ZK 롤업은 온라인화 당시 더 경쟁력 있는 가스 요금이 제공되지 않았습니다.
이것은 의심할 여지없이 OP와 ZK가 서로 경쟁하는 것이 아니라 서로에게서 배울 것이며 합병하는 경향이 있다는 사실을 지적하지만 이번에는 "고귀한" ZK에서 "단순하고 잔인한" ZK로 바뀌는 것입니다. 이번에는 ZK가 OP의 "단순하고 잔인한" 접근 방식에서 배우는 경우입니다.
2차 네트워크의 기술이 불과 2~3년 만에 이렇게 많이 발전했다는 것이 믿기 어렵지만, 이것이 바로 블록체인 세계의 아름다움일지도 모릅니다.