Tác giả: 0xSamo; Nguồn: LXDAO
01 Lời nói đầu
EIP-4844, là bản nâng cấp lớn nhất của Ethereum sau The Merge, đã thu hút đủ sự chú ý từ toàn bộ mạng. Không gian lưu trữ tạm thời Blob được giới thiệu trong bản nâng cấp này tương đương với việc bổ sung một toa tàu gắn bên cạnh tàu Ethereum, cung cấp không gian sẵn có dữ liệu rẻ hơn mà không ảnh hưởng đến trạng thái vận hành ban đầu của tàu.
Các mạng lớp 2 như Optimism, StarkNet và Arbitrum đều đã hỗ trợ EIP-4844 trong một khoảng thời gian ngắn và đạt được hiệu quả giảm chi phí đáng kể. LXDAO Trong giao dịch mà kho bạc trả lương cho những người đóng góp vào Optimism, phí gas trước và sau thực sự khác nhau 100 lần.
Nhưng trong khi rất ngạc nhiên, chúng tôi phát hiện ra rằng StarkNet, với tư cách là đại diện của ZK Rollup, cũng đã đạt được hiệu quả giảm chi phí đáng kinh ngạc. Từ mức tiêu thụ gas dễ dàng vượt quá 1$ trước đó, nó cũng đã giảm xuống 0,01 $.
Nếu bạn muốn biết các nguyên tắc kỹ thuật chi tiết hơn, bạn có thể vào MyFirstLayer2 để tìm hiểu.
02 Tại sao việc giảm phí của StarkNet lại gây ngạc nhiên?
Sự khác biệt về yêu cầu không gian lưu trữ một cấp giữa OP Rollup và ZK Rollup
Bởi vì OP Rollup và ZK Rollup có sự phụ thuộc khác nhau vào phí DA (Tính khả dụng của dữ liệu: tính khả dụng của dữ liệu, bao gồm cả dịch vụ lưu trữ và phân phối dữ liệu, để các bên thứ ba có thể lấy được dữ liệu họ muốn).
OP Rollup sẽ đóng gói và nén tất cả thông tin chi tiết về các giao dịch gần đây, bao gồm chữ ký người dùng và thông tin khác, rồi tải chúng lên mạng cấp một. Nó không yêu cầu quá nhiều nhiệm vụ xác minh trên mạng cấp một và hầu như mọi chi phí đều nằm trong không gian lưu trữ của mạng cấp một.
Ngược lại, ZK Rollup có tốc độ nén dữ liệu cao hơn. Ví dụ: nó có thể loại bỏ dữ liệu chữ ký của người dùng và dựa vào bằng chứng không có kiến thức để đảm bảo rằng các giao dịch là hợp pháp và không cần phải đóng gói tất cả các chi tiết giao dịch, chỉ những thay đổi về trạng thái mới được đóng gói và tải lên.
Ví dụ: trên mạng lớp thứ hai, 100 người dùng đã giao dịch trên cặp giao dịch USDC / USDT. Mỗi người dùng giao dịch và hợp đồng Swap có cả USDC và USDT. Số dư USDC sẽ thay đổi. Đối với OP Rollup, đó là 100 giao dịch và 400 lần thay đổi số dư của 200 tài khoản; đối với ZK Rollup, không có nhiều khác biệt liên quan đến những thay đổi trong số dư của người dùng, nhưng đối với hợp đồng Swap, số dư USDC và USDT của nó có thể được nén tổng cộng 200 thay đổi thành 2 thay đổi trong số dư cuối cùng, làm giảm đáng kể khối lượng dữ liệu.
ZK Rollup xác minh lượng Gas bổ sung mà ZK Proof tiêu thụ
Sau khi hiểu sự khác biệt giữa hai loại này, ấn tượng đầu tiên của bạn có thể là phí gas của ZK Rollup nhìn chung thấp hơn. Tuy nhiên, những sinh viên đã thực hành nó đều nên biết rằng chi phí L2 của ZK Rollup như StarkNet và ZkSync thường cao. Nó cao hơn đáng kể so với OP Rollup, đặc biệt là tuyến công nghệ STARK của StarkNet, lớn hơn ZK Proof của các tuyến SNARK khác và thường đứng cuối bảng xếp hạng về phí chuyển L2.
Mỗi bảng phí L2 tại một thời điểm nhất định trong năm 2023
Lý do khiến ZK Rollup không đánh bại OP Rollup ngay khi lên mạng là rất đơn giản. Mặc dù nó có tốc độ nén dữ liệu giao dịch cao hơn và tiết kiệm chi phí truyền dữ liệu đến một lớp, nhưng nó cần xác minh tính hợp pháp của bằng chứng không có kiến thức trên một lớp mạng, điều này làm tăng chi phí tính toán.
Blob chỉ có thể giảm chi phí phần lưu trữ chứ không giúp ích gì cho phần tính toán. Do đó, những lợi ích mà ZK Rollup có thể thu được từ EIP-4844 là. Hơn nữa Có rất ít nên khó có thể không ngạc nhiên khi thấy StarkNet tiến bộ từ vị trí cuối bảng của “kẻ kém thành tích” lên ngang bằng với vị trí thứ nhất và thứ hai trong lớp.
03 Khám phá phí StarkNet
Tôi phải nói rằng cơ chế của ZK Rollup phức tạp hơn nhiều so với OP Rollup. Ví dụ: thông qua hợp đồng Optimism: Batcher, xét về chi phí đóng gói dữ liệu vào mạng chính trước và sau nâng cấp, bất kỳ ai cũng có thể hiểu đầy đủ lý do tại sao phí giao dịch của nó lại giảm xuống hai bậc.
Tìm hiểu thêm:
Một bước cuối cùng trước khi nâng cấp Batch:
https://etherscan.io/tx/0x8d8a21aeb64a62c66bc1848c2f37c4ca266edc5d122dd287270bc6aa2c24f445
< p style ="text-align: left;">
Lô mới đầu tiên sau khi nâng cấp (tổng cộng 0,0011 ETH bao gồm phí Blob): https://etherscan.io/tx/0xa3e36193ab5ca4e6e98848640b1896def4c419ce203e7bd8e876dd2d5eb77e6c
Phí cho 6 đốm màu (tổng cộng 0,00078 ETH):
https://blobscan.com/tx/0xaec6d2e65705632f869c02b9baf063822153e058c0da75723733b78b99242f35 em>
Tuy nhiên, trong quá trình khám phá chi phí của StarkNet Gas, tác giả đã gặp phải những khó khăn đáng kể và thậm chí còn gặp phải nhiều tình tiết đảo ngược cốt truyện. cũng rất khai sáng, chúng ta hãy cùng xem lại bài viết nhé.
L1DA đã biến mất
Vì việc khám phá Chủ nghĩa lạc quan Dựa trên kinh nghiệm của Fei Mi, chúng tôi tự nhiên nghĩ rằng tất cả những gì chúng tôi cần làm là tìm hợp đồng trong đó StarkNet gửi dữ liệu lên mạng chính. Hợp đồng quan trọng này chắc chắn đã từng nằm trong danh sách tiêu thụ Gas của Etherscan và điều đó sẽ không khó khăn gì. để tìm. Scroll, vẫn chưa được điều chỉnh cho phù hợp với Blob, vẫn nằm trong số những game hay nhất và đứng ở vị trí dẫn đầu rực rỡ.
Khi tìm kiếm từ khóa StarkNet, chúng tôi sẽ tìm thấy 3 hợp đồng liên quan: Nhà điều hành, Hợp đồng cốt lõi và Đăng ký sự kiện trang bộ nhớ. Tuy nhiên, hợp đồng thứ ba có vẻ liên quan đến không gian lưu trữ đã bị ngừng sản xuất cách đây gần hai năm. .
Như vậy chúng ta chỉ có thể thấy rằng Nhà điều hành liên tục tương tác với Hợp đồng cốt lõi và liên tục cập nhật trạng thái mới nhất.
Và nếu chúng ta lật lại mặt trước và mặt sau của blob thích ứng, chúng ta thấy rằng giao dịch Trạng thái cập nhật của Nhà điều hành thực sự đã được nâng cấp, nhưng nó chỉ là một hàm băm trỏ đến một gói dữ liệu khác. Ngay cả bản cập nhật sau nàyStateKzgDA cũng tiêu thụ nhiều Gas hơn, điều này cũng không thể giải thích được lý do khiến StarkNet giảm phí.
Bản cập nhật sau này chỉ là một cam kết đa thức KZG, được sử dụng để chứng minh rằng dữ liệu trong Blob và Batch tương ứng của nó gói tương ứng và chỉ là "State Root". Gốc trạng thái này tương ứng với "sổ cái nhỏ" ghi lại tất cả các trạng thái của tất cả các hợp đồng trên mạng cấp hai, về mặt lý thuyết, sổ cái nhỏ này cũng tồn tại trên mạng cấp một.
Vậy câu hỏi đặt ra là tại sao chỉ còn lại một gốc? Cuốn sổ nhỏ dày đó đã đi đâu?
Phân tích sau thất bại đầu tiên
Mặc dù lần đầu tiên An việc khám phá ít thành công hơn, nhưng chúng tôi vẫn có thể có được một số suy luận và phỏng đoán. Những người bạn đã xem MyFirstLayer2 phải biết rằng vấn đề cốt lõi được Rollup thảo luận là vấn đề DA (tính khả dụng của dữ liệu) và giải pháp họ áp dụng là tải dữ liệu chính lên mạng chính để giải quyết vấn đề về tính khả dụng của dữ liệu, để mọi người có thể dễ dàng truy cập nó yêu cầu dữ liệu.
OP Rollup thực sự là một cách đơn giản và thô sơ để nén và đóng gói từng giao dịch rồi tải nó lên đến một lớp mạng, sau đó những người khác có thể có được bức tranh đầy đủ về sổ cái nhỏ lớp thứ hai bằng cách giải nén và phát lại từng giao dịch để xác minh xem giao dịch có được thực hiện chính xác hay không.
ZK Rollup không cần tải lên tất cả chi tiết giao dịch, chỉ cần State Diff (phần thay đổi trạng thái của mỗi đợt) được tải lên. Có, bằng chứng không có kiến thức được sử dụng để đảm bảo rằng tất cả các giao dịch đã được thực hiện chính xác trên lớp thứ hai. Những người khác có thể khôi phục lại bức tranh đầy đủ của sổ cái nhỏ lớp thứ hai bằng cách phát lại kết quả của nhiều thay đổi trạng thái.
Và chúng tôi biết rằng dữ liệu trong Blob chỉ là một chuỗi văn bản nhị phân cho một lớp và chỉ lớp đầu tiên bảo vệ dữ liệu trong Blob Không thể xác minh tính chính xác của Bằng chứng ZK nếu không xác minh tính hợp pháp của nó và hợp đồng thông minh của một lớp không thể đọc và xác minh nội dung của Blob. Do đó, nếu Bằng chứng ZK vẫn được lớp đầu tiên xác minh. , bản thân ZK Proof không thể được đặt trong Blob, vì vậy StarkNet Để đạt được hiệu quả giảm chi phí nhất định, State diff của mỗi lô phải được đặt trong Blob.
Vậy rõ ràng nhiệm vụ tiếp theo của chúng ta là tìm ra xem StarkNet đặt sự khác biệt trạng thái ở đâu? Trước đây nó được đặt ở đâu? Bây giờ nó có được đặt trong Blob không?
Ngoài ra, việc chỉ tìm thấy một state root cũng khiến mọi người thắc mắc liệu StarkNet có âm thầm tải dữ liệu thay đổi trạng thái lên mainnet từ lâu hay không. nó đã được thay đổi thành trách nhiệm của DAC (Ủy ban sẵn sàng dữ liệu) của chính họ. Nếu thực sự đúng như vậy thì mức phí cao trước đây của StarkNet là hoàn toàn không hợp lý và chỉ có thể giải thích là...
Các liên kết liên quan:
https://layer2.myfirst.io/zh#2.4-rollup
Hệ thống SHARP
May mắn thay, sau khi thảo luận với @0xYandhii , một cái mới Vào buổi bình minh của StarkNet trước khi mạng chính phổ quát được ra mắt, sản phẩm đầu tiên thực sự là StarkEX, bao gồm cả sàn giao dịch phái sinh phi tập trung DYDX, cũng là một sản phẩm của thời kỳ đó. Sau khi mạng chính trực tuyến, sản phẩm ban đầu không bị bỏ rơi mà thay vào đó chia sẻ hệ thống xác minh với mạng chính.
Tức là SHARP: Hệ thống xác minh và chứng minh được chia sẻ, sau đó chúng tôi tìm thấy các hợp đồng liên quan như SHARP Blockchain Writer và Starkware: SHARP Verifier.
Mở trình duyệt khối để truy vấn các giao dịch liên quan, bạn có thể thấy SHARP Blockchain Writer đã thực hiện 4 loại hoạt động sau:
Xác minh Merkle: Xác minh cây Merkle
Xác minh FRI: Bằng chứng tiệm cận tương tác nhanh của Reed-Solomon, được sử dụng để đảm bảo rằng dữ liệu được gửi hoặc kết quả tính toán tuân theo các quy tắc hoặc ràng buộc cụ thể mà không tiết lộ nội dung của dữ liệu.
Đăng ký trang bộ nhớ liên tục: Đã tải lên hơn một trăm lần trong một chu kỳ, đăng ký một không gian bộ nhớ liên tục, nghi ngờ là một lớp Một phần của mạng nơi dữ liệu được ghi.
Xác minh bằng chứng và đăng ký: một chu kỳ, nhanh như mười phút, chậm như một hoặc hai giờ, nên đủ Nhiều giao dịch được xác minh trong một đợt.
Không khó để nhận thấy bước 1, 2 và 4 là các bước liên quan đến chứng minh không có kiến thức và Bước thứ ba là đăng ký Không gian bộ nhớ rõ ràng là bước ghi dữ liệu vào một lớp mạng và là nơi có nhiều khả năng lưu trữ State diff nhất.
Thật hợp lý khi suy đoán rằng chi phí của ba bước xác minh không thay đổi đáng kể trước và sau khi nâng cấp Blob và chi phí của bước thứ ba sẽ là có thể giải thích hai bước của StarkNet. Thứ tự hiệu quả giảm phí.
Vì vậy, tác giả tiếp tục duyệt trình duyệt khối và tìm thấy phiên bản cũ thứ hai đến cuối cùng trước EIP-4844, phiên bản đầu tiên đến phiên bản cuối cùng và phiên bản mới nhất 3 đã được nâng cấp. Thực hiện một chu kỳ xác minh cho mỗi giai đoạn và đếm lượng Khí tiêu thụ theo bốn bước.
Kết quả như sau khiến người ta gãi đầu.
Chi phí bộ nhớ đã giảm một nửa, nhưng xét theo tỷ lệ chi phí trong toàn bộ quá trình xác minh ZK Proof, mức độ suy giảm DA này không giải thích được bất kỳ vấn đề nào.
Tại thời điểm này, cuộc thám hiểm gần như đã kết thúc. Tác giả có cảm giác như một nhà vật lý đang ngồi trước máy va chạm hạt lớn trong thế giới ba vật. Mọi tế bào não đều gào thét: Điều này thật vô nghĩa! Tôi thậm chí còn vào cộng đồng StarkNet để đăng bài hỏi, nhưng có lẽ vì câu hỏi quá phức tạp nên không ai trong cộng đồng người Anh trả lời.
Các liên kết liên quan:
Người viết chuỗi khối SHARP:
https://etherscan.io/address/0x16d5783a96ab20c9157d7933ac236646b29589a4
Starkware: SHARP Trình xác minh:
https://etherscan.io/address/0x47312450b3ac8b5b8e247a6bb6d523e7605bdb60
SHARP System GasUsed Explore< /strong>
Tại thời điểm này, chúng ta còn lại một mẹo nhỏ cuối cùng trong dữ liệu giao dịch csv đã tải xuống trước đó, chỉ có ETH được tiêu thụ bởi phí Gas, và không có thông tin như Gaslimit. Do đó, không thể loại trừ tác động của biến động đơn giá Gas đến số liệu thống kê. Vì vậy, tác giả đã viết một tập lệnh để đếm GasUsed (phần đã sử dụng của Gaslimit) thực sự được tiêu thụ bởi mỗi giao dịch liên quan.
Cuối cùng, ánh sáng xuất hiện! Có thể thấy, trước khi nâng cấp, các giao dịch đăng ký dung lượng bộ nhớ thực tế được gửi theo nhóm 2. Một chi phí gas tối thiểu là 50.000, trong khi nhóm còn lại thường khoảng 300.000 gas.
Sau khi nâng cấp, hầu hết tất cả các giao dịch bộ nhớ đã đăng ký đã trở thành giao dịch chi phí thấp 50.000.
Kết luận kỳ lạ lần trước có lẽ là do chúng tôi lấy quá ít mẫu. Đã xảy ra tình trạng chu kỳ xác minh sau khi nâng cấp bắt kịp với một khoảng thời gian lớn Gas mạng chính tăng vọt, khiến nó tồn tại rất lâu, hàng trăm lần. Các giao dịch trên Trang bộ nhớ liên tục có chi phí Gas cao hơn, làm sai lệch kết quả thống kê.
Theo ý tưởng này, chúng tôi đã tổ chức lại dữ liệu GasUsed của ba thời điểm, lần này hợp lý hơn nhiều. Tại thời điểm này, có thể xác nhận rằng kích thước của Trang bộ nhớ thực sự đã giảm đáng kể sau khi nâng cấp. Đây sẽ là nơi lưu trữ dữ liệu thay đổi trạng thái State Diff Sau khi nâng cấp, phần dữ liệu này đã được chuyển. tới Blob.
Và sau đó chúng tôi tìm thấy sơ đồ kỹ thuật của StarkNet trên l2beat.com và phát hiện ra rằng State diff thực sự được lưu trữ trong Trang bộ nhớ như chúng tôi mong đợi.
Cuối cùng, dựa trên tính toán của chúng tôi dựa trên số lượng GasUsed (ước tính rộng dựa trên cỡ mẫu được chọn ngẫu nhiên nhỏ hiện tại), chi phí thực tế của L1DA cho StarkNet đã giảm khoảng 4-10 lần, tức là ít hơn một bậc độ lớn. Điều này cũng phù hợp với suy luận lý thuyết: trong bản nâng cấp EIP-4844, ZK Rollup không thu được nhiều lợi ích như OP Rollup.
04 Tóm tắt
Sau khi tìm hiểu ở trên, cuối cùng chúng tôi đã làm rõ lý do và mức độ giảm phí của StarNet và kết luận vẫn có phần hấp dẫn.
Phí L1DA đã giảm đáng kể, nhưng điều này không thể giải thích cho sự sụt giảm hai bậc độ lớn
Rõ ràng StarNet đã từng ghi dữ liệu của từng đợt thay đổi trạng thái vào một lớp mạng. Bây giờ, nó đặt phần dữ liệu này vào Blob, do đó, trong hành động đăng ký không gian bộ nhớ , nó có thể nhận được ít hơn một chút so với Một mức độ hiệu quả giảm phí lớn.
Tuy nhiên, StarkNet đã vươn lên từ vị trí cuối cùng hoặc thứ hai lên ngang hàng với những học sinh đứng đầu khoa OP. Xét về mức độ tiến bộ tương đối, Anh ấy thậm chí còn đánh bại cả. toàn bộ OP Rollup, điều này rõ ràng là không thể.
Vậy thì lời giải thích hợp lý duy nhất là thu nhập "ác tâm" trước đây quả thực quá cao. Trước khi phát hành mã thông báo STRK, tất cả các ưu đãi phát triển và cộng đồng của StarkNet đều cần có tiền. Ngoài việc đốt tiền của các nhà đầu tư, việc đặt mức chênh lệch giá Gas L2 L1 cao hơn có thể là một trong những cách của họ để duy trì sự phát triển, điều này đã gây ra sự xấu hổ cho StarNet trước đó. tình hình hóa đơn.
Giờ đây, việc phát hành mã thông báo STRK đã mang lại cho họ đủ tính thanh khoản và các ưu đãi sinh thái, đã đến lúc đưa Gas trở lại mức hợp lý Với làn sóng nâng cấp Blob này, những bao cát buộc vào chân đã được tháo bỏ và hiệu quả giảm chi phí được thể hiện qua nó thực sự khiến nhiều người ngạc nhiên.
OPization ZK
OP Rollup sau khi nâng cấp , sau chuyển dữ liệu ban đầu được lưu trữ trong Calldata của mạng chính Ethereum sang khu vực lưu trữ tạm thời, một chút bảo mật thực sự sẽ bị hy sinh.
Trước đây, dữ liệu trong không gian Calldata được lưu trữ vĩnh viễn, điều đó có nghĩa là bất kỳ ai cũng có thể lấy đủ dữ liệu từ mạng chính Ethereum để khôi phục OP L2. .
Nhưng sau khi nâng cấp, dữ liệu Blob sẽ hết hạn. Nếu không có thực thể nào trong toàn bộ mạng lưu dữ liệu Blob trước đây thì hồ sơ giao dịch lịch sử của OP L2 có thể sẽ bị loại bỏ. mất. Mặc dù trạng thái mạng Lớp 2 mới nhất vẫn có thể được bảo vệ - vì thời gian lưu trữ của Blob vượt quá thời gian thử thách 7-14 ngày của OP, vì vậy trước khi mỗi Blob sắp hết hạn, trạng thái Lớp 2 tương ứng của nó vẫn đáng tin cậy, mười ngày mới nhất này. hồ sơ giao dịch duy trì tính bảo mật của OP L2 trên cơ sở luân phiên.
ZK Rollup Nếu muốn tận hưởng các lợi ích của Blob, bạn cũng cần chuyển dữ liệu trạng thái lớp thứ hai quan trọng từ không gian Calldata vĩnh viễn sang không gian Blob. Điều này có nghĩa là sau một thời gian, chúng ta không thể dựa vào dữ liệu do mạng cấp một cung cấp để phát lại trạng thái của mạng cấp hai như trước nữa.
Có lẽ điều này sẽ trở thành một điều bình thường mới. Trong tương lai, tất cả các mạng lớp thứ hai sẽ dựa vào Blob để duy trì trạng thái bảo mật mới nhất và mỗi L2 cũng vậy. cần bổ sung riêng Tìm cách giải quyết tính sẵn có của dữ liệu giao dịch lịch sử để đạt được sự cân bằng tốt hơn giữa bảo mật và hiệu quả.
Xu hướng tích hợp của OP và ZK
Trước đây, không. Thế hệ đầu tiên của OP Rollup được ra mắt đầu tiên, nhưng thế hệ ZK Rollup đầu tiên không mang lại phí gas cạnh tranh hơn sau khi nó được đưa lên mạng. Với xu hướng mô-đun hóa tiếp theo do sự xuất hiện của OP Stack và Polygon SDK mang lại, OP Stack thậm chí còn có kế hoạch giới thiệu công nghệ ZK trong tương lai để giảm bớt thời gian thử thách.
Điều này chắc chắn chỉ ra một thực tế rằng hai con đường kỹ thuật của OP và ZK không phải là sự cạnh tranh sinh tử. Họ sẽ học hỏi lẫn nhau và có một sự cạnh tranh sinh tử. có xu hướng hòa nhập, nhưng đây là thời điểm mà ZK "quý tộc" học được từ OP "đơn giản và thô thiển".
Thật khó để tưởng tượng rằng công nghệ của mạng lớp thứ hai đã phát triển đến mức như vậy chỉ trong hai hoặc ba năm. Có lẽ đây chính là sức hấp dẫn của nó. thế giới chuỗi khối.