Bitget App
Giao dịch thông minh hơn
Mua CryptoThị trườngGiao dịchSao chépBot‌EarnWeb3

Vitalik's Bài Viết Nhanh Mới: Định Giá Gas Đa Chiều

Xem bài gốc
ChaincatcherChaincatcher2024/05/09 12:19
Theo:作者:Vitalik Buterin

Vitalik nói về việc định giá Gas đa chiều của Ethereum, làm thế nào để cân bằng và lựa chọn?

Tác giả: Vitalik Buterin

Dịch: Karen, Foresight News

Trong Ethereum, tài nguyên đã bị giới hạn cho đến gần đây và được định giá bằng một tài nguyên duy nhất gọi là "Gas." Gas là đơn vị đo lường cho "nỗ lực tính toán" cần thiết để xử lý các giao dịch hoặc khối cụ thể. Gas kết hợp các loại "nỗ lực tính toán" khác nhau, trong đó những loại quan trọng nhất là:

1. Tính toán thô (ví dụ: CỘNG, NHÂN);

2. Đọc và ghi vào bộ nhớ lưu trữ Ethereum (ví dụ: SSTORE, SLOAD, chuyển ETH);

3. Băng thông dữ liệu;

4. Chi phí tạo ra các chứng minh ZK-SNARK cho các khối.

Ví dụ, giao dịch mà tôi gửi đã tiêu thụ tổng cộng 47.085 Gas. Điều này bao gồm: (i) một chi phí cơ bản là 21.000 Gas, (ii) các byte calldata được bao gồm trong giao dịch tiêu thụ 1556 Gas, (iii) đọc và ghi vào bộ nhớ lưu trữ tiêu thụ 16.500 Gas, (iv) tạo ra logs tiêu thụ 2149 Gas, phần còn lại được sử dụng cho thực thi EVM. Phí giao dịch mà người dùng phải trả tỷ lệ thuận trực tiếp với Gas tiêu thụ. Một khối có thể chứa tối đa 30 triệu Gas, và giá Gas được điều chỉnh liên tục thông qua cơ chế định mục tiêu EIP-1559 để đảm bảo trung bình 15 triệu Gas mỗi khối.

Phương pháp này có một ưu điểm lớn: vì tất cả nội dung được hợp nhất vào một tài nguyên ảo, thiết kế thị trường rất đơn giản. Tối ưu hóa giao dịch để giảm chi phí là dễ dàng, tối ưu hóa các khối để thu thập phí cao nhất có thể tương đối dễ dàng (ngoại trừ MEV), và không có cơ chế khuyến khích kỳ lạ nào khuyến khích việc gói một số giao dịch với nhau để tiết kiệm chi phí.

Tuy nhiên, phương pháp này cũng có hiệu suất không cao: nó xem xét các tài nguyên khác nhau như có thể thay thế khi các ràng buộc cơ bản thực sự khác nhau. Để hiểu vấn đề này, bạn có thể xem biểu đồ sau đây trước:

Giới hạn Gas áp đặt một ràng buộc:

Các ràng buộc bảo mật cơ bản thực sự thường gần với:

Sự khác biệt này khiến cho giới hạn Gas có thể loại trừ một cách không công bằng các khối thực sự an toàn, chấp nhận các khối không thực sự an toàn, hoặc một sự kết hợp của cả hai.

Nếu có n tài nguyên với các ràng buộc bảo mật khác nhau, Gas một chiều có thể tiềm năng giảm hiệu suất lên đến n lần. Do đó, mọi người đã lâu đã quan tâm đến khái niệm Gas đa chiều, và thông qua EIP-4844, chúng tôi đã thực sự triển khai Gas đa chiều trên Ethereum. Bài viết này khám phá những ưu điểm của phương pháp này và triển vọng cho những cải tiến tiếp theo.

Blob: Gas Đa chiều trong Dencun

Đầu năm nay, kích thước trung bình của khối là 150 kB. Một phần lớn của điều này là dữ liệu Rollup: các giao thức Layer2 lưu trữ dữ liệu trên chuỗi. Dữ liệu này rất đắt đỏ: mặc dù các giao dịch trên Rollup chỉ tốn 5-10 lần so với Ethereum L1, thậm chí chi phí như vậy cũng quá cao đối với nhiều trường hợp sử dụng.

Vậy tại sao không giảm chi phí Gas của calldata (hiện tại là 16 Gas cho các byte khác không, 4 Gas cho các byte bằng không) để làm cho Rollup rẻ hơn? Chúng tôi đã làm điều này trước đây, và chúng ta có thể làm lại bây giờ. Nhưng câu trả lời ở đây là: kích thước khối tối đa là 30.000.000/16 = 1.875.000 byte khác không, và mạng hầu như hoặc gần như không thể xử lý các khối có kích thước như vậy. Giảm chi phí 4 lần sẽ tăng kích thước tối đa lên 7,5 MB, điều này sẽ tạo ra một rủi ro lớn đối với bảo mật.

Vấn đề này cuối cùng được giải quyết bằng cách giới thiệu một không gian dữ liệu riêng, thân thiện với Rollup (được gọi là blob) trong mỗi khối.

Hai tài nguyên này có giá và giới hạn khác nhau: sau Dencun

Trong một hard fork, một khối Ethereum có thể chứa (i) 30 triệu Gas và (ii) 6 blobs, mỗi blob có khả năng chứa khoảng 125 kB dữ liệu gọi. Hai tài nguyên này có giá cả riêng và được điều chỉnh thông qua một cơ chế định giá tương tự như EIP-1559, với mục tiêu trung bình mỗi khối là 15 triệu Gas và 3 blobs.

Kết quả là chi phí của Rollup đã giảm đi 100 lần, khối lượng giao dịch trên Rollup đã tăng hơn 3 lần, và kích thước khối tối đa lý thuyết chỉ tăng một cách nhẹ: từ khoảng 1,9 MB lên khoảng 2,6 MB.

Lưu ý: Phí giao dịch Rollup được cung cấp bởi Growthepie.xyz. Hard fork Dencun đã xảy ra vào ngày 13 tháng 3 năm 2024, giới thiệu việc định giá đa chiều cho blobs.

Gas Đa chiều và Các Client Stateless

Trong tương lai gần, chứng minh lưu trữ cho các client Stateless cũng sẽ đối mặt với các vấn đề tương tự. Các client Stateless là một loại client mới có khả năng xác minh chuỗi mà không cần lưu trữ một lượng lớn hoặc bất kỳ dữ liệu nào cục bộ. Các client Stateless đạt được điều này bằng cách chấp nhận các chứng minh về các phần cụ thể của trạng thái Ethereum mà các giao dịch trong khối đó cần truy cập.

Hình ảnh trên cho thấy một client Stateless nhận một khối và chứng minh về các giá trị hiện tại của các phần cụ thể của trạng thái mà khối thực thi (ví dụ: số dư tài khoản, mã, lưu trữ), cho phép các node xác minh một khối mà không cần lưu trữ bất kỳ dữ liệu nào.

Một lần đọc lưu trữ tốn 2100-2600 Gas, tùy thuộc vào loại đọc, trong khi chi phí ghi lưu trữ cao hơn. Trung bình, mỗi khối thực hiện khoảng 1000 hoạt động đọc/ghi lưu trữ (bao gồm kiểm tra số dư ETH, các cuộc gọi SSTORE và SLOAD, đọc mã hợp đồng và các hoạt động khác). Tuy nhiên, tối đa lý thuyết là 30.000.000/2.100 = 14.285 lần đọc. Tải băng thông của các client Stateless tỉ lệ với số này.

<pkế hoạch hiện tại là hỗ trợ các client stateless bằng cách chuyển thiết kế cây trạng thái ethereum từ merkle patricia sang verkle. tuy nhiên, verkle không có bảo mật sau lượng tử và phải lựa chọn tối ưu cho hệ thống chứng minh stark mới. do đó, nhiều người quan tâm đến việc thông qua nhị phân starks, hoặc hoàn toàn bỏ nâng cấp vài năm đổi, khi starks trở nên chín chắn hơn.< p>

Các chứng minh STARK dựa trên các nhánh cây băm nhị phân có nhiều lợi ích, nhưng điểm yếu chính của chúng là thời gian lâu để tạo ra chứng minh: cây Verkle có thể chứng minh hơn 100.000 giá trị mỗi giây, trong khi STARKs dựa trên băm thường chỉ chứng minh vài nghìn băm mỗi giây, và việc chứng minh mỗi giá trị đòi hỏi bao gồm nhiều nhánh băm.

Xét đến dự đoán ngày nay từ các hệ thống chứng minh tối ưu như Binius và Plonky3, cũng như các băm dành riêng như Vision-Mark-32, có vẻ như việc chứng minh 1000 giá trị mỗi giây là khả thi trong một thời gian, nhưng chứng minh 14.285 giá trị thì không. Các khối trung bình sẽ ổn, nhưng các khối tối đa tiềm năng (được phát bởi kẻ tấn công) sẽ làm gián đoạn mạng.

Cách tiếp cận mặc định chúng ta áp dụng để xử lý các tình huống như vậy là định giá lại: tăng chi phí đọc lưu trữ để giảm tối đa mỗi khối xuống một mức an toàn. Tuy nhiên, chúng ta đã làm điều này nhiều lần rồi, và làm lại sẽ làm cho quá nhiều ứng dụng trở nên quá đắt đỏ. Một cách tiếp cận tốt hơn là Gas đa chiều: giới hạn và tính phí cho việc truy cập lưu trữ một cách riêng biệt để duy trì việc sử dụng trung bình tại 1000 lần truy cập lưu trữ mỗi khối, nhưng đặt một giới hạn tối đa mỗi khối, ví dụ, 2000 lần truy cập.

Tính Phổ cập của Gas Đa chiều

Một tài nguyên khác đáng xem xét là sự tăng trưởng kích thước trạng thái: các hoạt động tăng kích thước trạng thái Ethereum, sau đó yêu cầu các node đầy đủ lưu trữ. Điểm độc đáo của sự tăng trưởng kích thước trạng thái là lý do giới hạn nó đến từDoanh thu hoàn toàn từ việc sử dụng lâu dài, chứ không phải từ các giá trị cao nhất.

</pkế>

Do đó, việc thêm một chiều Gas riêng cho các hoạt động tăng kích thước trạng thái (ví dụ, từ không đến không-zero SSTORE, tạo hợp đồng) có thể có giá trị, nhưng với một mục tiêu khác: chúng ta có thể đặt một giá động nhắm mục tiêu vào một lượng sử dụng trung bình cụ thể nhưng không đặt một giới hạn cho mỗi khối.

Điều này thể hiện một thuộc tính mạnh mẽ của Gas đa chiều: nó cho phép chúng ta tách biệt hỏi cho mỗi tài nguyên (i) sử dụng trung bình lý tưởng là bao nhiêu? (ii) sử dụng tối đa an toàn mỗi khối là bao nhiêu? Bằng cách đặt giá Gas dựa trên giá trị tối đa mỗi khối và cho phép sử dụng trung bình thay đổi, chúng ta có 2n độ tự do để đặt 2n tham số, điều chỉnh mỗi tham số dựa trên các yếu tố an ninh mạng.

Trong các tình huống phức tạp hơn, chẳng hạn như khi các yếu tố an ninh cho hai tài nguyên trùng lắp một phần, việc xử lý điều này có thể được thực hiện bằng cách có một opcode hoặc tài nguyên tiêu thụ nhiều loại Gas trong một số lượng nhất định (ví dụ, một zero-to-non-zero SSTORE có thể tiêu thụ 5000 Gas chứng minh khách hàng không có trạng thái và 20000 Gas mở rộng lưu trữ).

Tối đa mỗi giao dịch (chọn cái có chi phí dữ liệu hoặc tính toán cao hơn)

Hãy để 𝑥1 là chi phí Gas cho dữ liệu, 𝑥2 là chi phí Gas cho tính toán, vì vậy trong một hệ thống Gas một chiều, chúng ta có thể viết chi phí Gas của một giao dịch như sau:

Trong kế hoạch này, chúng ta xác định chi phí Gas của một giao dịch như sau:

Nghĩa là, các giao dịch được tính phí dựa trên việc họ tiêu thụ nhiều tài nguyên nào hơn, thay vì tổng của dữ liệu và tính toán. Điều này dễ dàng mở rộng để bao gồm nhiều chiều hơn (ví dụ, 𝑚𝑎𝑥(...,𝑥3∗𝑠𝑡𝑜𝑟𝑎𝑔𝑒_𝑎𝑐𝑐𝑒𝑠𝑠)).

Có thể thấy cách này làm tăng hiệu suất trong khi đảm bảo an ninh. Lý thuyết, khối lượng dữ liệu tối đa trong một khối vẫn là Gas LIMIT /𝑥1, giống như trong một hệ thống Gas một chiều. Tương tự, tối đa tính toán lý thuyết là Gas LIMIT /𝑥2, cũng giống như trong một hệ thống Gas một chiều. Tuy nhiên, chi phí Gas cho bất kỳ giao dịch nào tiêu thụ dữ liệu và tính toán sẽ giảm.

Điều này có thể là phương pháp được áp dụng trong EIP-7623 đề xuất để giảm kích thước khối tối đa trong khi tiếp tục tăng số lượng blob. Cơ chế chính xác trong EIP-7623 phức tạp hơn một chút: nó giữ giá calldata hiện tại ở 16 Gas mỗi byte nhưng giới thiệu một giá tối thiểu là 48 Gas mỗi byte; các giao dịch trả phí cao hơn giữa (16 * byte + execution _ Gas) và (48 * byte). Do đó, EIP-7623 giảm giá trị tối đa lý thuyết của dữ liệu gọi giao dịch trong một khối từ khoảng 1,9 MB xuống khoảng 0,6 MB trong khi giữ nguyên chi phí cho hầu hết các ứng dụng. Lợi ích của phương pháp này là nó thay đổi rất ít so với hệ thống Gas một chiều hiện tại, làm cho việc triển khai rất dễ dàng.

Tuy nhiên, phương pháp này có hai điểm nhược:

1. Ngay cả khi tất cả các giao dịch khác trong một khối sử dụng rất ít tài nguyên đó, các giao dịch tiêu thụ mạnh một tài nguyên vẫn sẽ bị tính phí lớn một cách không cần thiết;

2. Nó khuyến khích việc gom giao dịch tiêu thụ dữ liệu nặng và tính toán nặng cùng nhau để tiết kiệm chi phí.

Tôi tin rằng các quy tắc như trong EIP-7623, cho dữ liệu gọi giao dịch hoặc các tài nguyên khác, có thể mang lại lợi ích đáng kể, ngay cả với những điểm nhược này.

Tuy nhiên, nếu chúng ta sẵn lòng đầu tư (rất nhiều) nỗ lực phát triển, một phương pháp lý tưởng hơn sẽ xuất hiện.

EIP-1559 Đa chiều: Một Chiến lược Khó Khăn nhưng Lý tưởng Hơn

Hãy xem xét cách EIP-1559 tiêu chuẩn hoạt động trước tiên. Chúng ta sẽ tập trung vào phiên bản được giới thiệu cho các blob trong EIP-4844, vì nó có vẻ toán học hơn.

Chúng ta theo dõi một tham số excess _ blobs. Trong mỗi khoảng thời gian khối, chúng ta đặt:

excess _ blobs <-- max (excess _ blobs + len(block.blobs) - TARGET, 0)

nơi TARGET = 3. Điều này có nghĩa là nếuMột khối có nhiều hạt hơn mục tiêu, số hạt thừa tăng lên, và nếu một khối có ít hạt hơn mục tiêu, số hạt thừa giảm đi. Sau đó, chúng ta đặt blob _ basefee = exp(số hạt thừa / 25.47), trong đó exp là hàm mũ 𝑒𝑥𝑝(𝑥)=2.71828^𝑥's xấp xỉ.

Điều này có nghĩa là mỗi khi số hạt thừa tăng khoảng 25, phí cơ sở cho hạt tăng khoảng 2.7 lần. Nếu hạt trở nên quá đắt đỏ, việc sử dụng trung bình giảm, và số hạt thừa bắt đầu giảm, tự động giảm giá lại. Giá của hạt được điều chỉnh liên tục để đảm bảo rằng trên trung bình, các khối chỉ đầy khoảng một nửa, có nghĩa là mỗi khối chứa trung bình 3 hạt.

Nếu có một đỉnh tạm thời trong việc sử dụng, có một giới hạn: mỗi khối chỉ có thể chứa tối đa 6 hạt, trong trường hợp đó, các giao dịch có thể cạnh tranh bằng cách tăng phí ưu tiên. Tuy nhiên, trong các hoàn cảnh bình thường, mỗi hạt chỉ cần trả phí cơ sở cho hạt cộng thêm một khoản phí ưu tiên nhỏ để được bao gồm như một động lực.

Loại hình định giá Gas này đã tồn tại trong Ethereum từ nhiều năm: ngay từ năm 2020, EIP-1559 đã giới thiệu một cơ chế rất tương tự. Thông qua EIP-4844, chúng ta đặt hai mức giá độc lập cho Gas và Hạt.

Lưu ý: Phí cơ sở Gas trong gwei cho một giờ vào ngày 8 tháng 5 năm 2024. Nguồn: ultrasound.money

Về nguyên tắc, chúng ta có thể thêm nhiều phí độc lập cho việc đọc lưu trữ và các loại hoạt động khác, nhưng tôi sẽ trình bày một vấn đề cần chú ý trong phần tiếp theo.

Đối với người dùng, trải nghiệm này rất giống với hiện tại: bạn không còn trả phí cơ sở (basefee) nữa, mà là hai phí cơ sở, mà ví của bạn có thể trừ trực tiếp từ bạn, chỉ hiển thị phí dự kiến và phí tối đa bạn có thể mong đợi trả.

Đối với người xây dựng khối, chiến lược tối ưu hóa đa phần giống như hiện tại: bao gồm bất kỳ nội dung hợp lệ nào. Hầu hết các khối không đầy—dù là về Gas hay Hạt. Một tình huống khó khăn nảy sinh khi có đủ Gas hoặc đủ Hạt để vượt quá giới hạn khối, đòi hỏi người xây dựng có thể giải quyết một vấn đề ba chiều để tối đa hóa lợi nhuận của họ. Tuy nhiên, ngay cả với các thuật toán xấp xỉ khá tốt, lợi ích từ việc tối ưu hóa lợi nhuận thông qua các thuật toán độc quyền trong tình huống này nhỏ hơn nhiều so với việc sử dụng MEV cho các hoạt động tương tự.

Đối với các nhà phát triển, thách thức chính là cần phải thiết kế lại chức năng của EVM và cơ sở hạ tầng liên quan của nó, hiện đang được thiết kế dựa trên một giá và giới hạn duy nhất và bây giờ cần phải được tái cấu trúc để chứa nhiều giá và giới hạn.

Một vấn đề mà các nhà phát triển ứng dụng phải đối mặt là việc tối ưu hóa trở nên phức tạp hơn một chút: trong một số trường hợp, bạn không còn có thể nói rõ ràng A hiệu quả hơn B vì nếu A sử dụng nhiều calldata và B sử dụng nhiều thực thi, A có thể rẻ hơn khi calldata rẻ và đắt hơn khi calldata đắt.

Tuy nhiên, các nhà phát triển vẫn có thể đạt được kết quả khá tốt bằng cách tối ưu hóa dựa trên giá trung bình lịch sử dài hạn.

Định giá Đa chiều, EVM, và Các cuộc gọi con

Một vấn đề không nảy sinh trong hạt, và cũng không nảy sinh trong EIP-7623 hoặc thậm chí trong một triển khai định giá đa chiều hoàn chỉnh cho calldata, nhưng sẽ nảy sinh nếu chúng ta cố gắng định giá từng cá nhân truy cập trạng thái hoặc bất kỳ tài nguyên nào khác, đó là giới hạn Gas trong các cuộc gọi con.

Giới hạn Gas trong EVM tồn tại ở hai nơi. Đầu tiên, mỗi giao dịch đặt một giới hạn Gas, hạn chế tổng lượng Gas có thể được sử dụng trong giao dịch đó. Thứ hai, khi một hợp đồng gọi một hợp đồng khác, cuộc gọi đó có thể đặt giới hạn Gas riêng của mình. Điều này cho phép các hợp đồng gọi các hợp đồng khác mà họ không tin tưởng và vẫn đảm bảo họ có một giới hạn sau khi cuộc gọi được thực hiện.

Còn Gas còn lại để thực thi các phép tính khác.

<img src="https://img.bitgetimg.com/multiLang/image/ec5474dbb2a7f1806abef925ed20134b171525709<p>Chú ý: Dấu vết của các giao dịch trừu tượng liên quan đến một tài khoản gọi một tài khoản khác và cung cấp một lượng Gas hạn chế cho người được gọi để đảm bảo rằng ngay cả khi người được gọi tiêu hết toàn bộ Gas được phân bổ cho nó, cuộc gọi bên ngoài vẫn có thể tiếp tục chạy.</p> <p>Thách thức đặt ra ở việc đạt được Gas đa chiều giữa các loại thực thi khác nhau, điều này dường như đòi hỏi nhiều hạn chế cho mỗi loại Gas cho các cuộc gọi con, đòi hỏi những thay đổi rất sâu trong EVM và không tương thích với các ứng dụng hiện có.</p> <p>Đây là một trong những lý do tại sao các đề xuất Gas đa chiều thường giữ lại ở hai chiều: dữ liệu và thực thi. Dữ liệu (dù là calldata giao dịch hoặc blob) được phân bổ bên ngoài cho EVM, vì vậy không cần thay đổi nội bộ của EVM để định giá calldata hoặc blob một cách riêng biệt.</p> <p>Chúng ta có thể đưa ra một " giải pháp theo kiểu EIP-7623" để quyết vấn đề này. Dưới đây là một cách triển khai đơn giản: tính 4 lần phí cho các hoạt động lưu trữ trong quá trình thực thi; giản hóa việc phân tích, giả sử mỗi tốn 10000 gas. Cuối giao dịch, hoàn lại min(7500 * động_lưu_trữ, Gas_thực_thi). Kết quả, sau khi trừ lại, người dùng cần trả khoản sau:< p>

Gas_thực_thi + 10000 * hoạt_động_lưu_trữ - min(7500 * hoạt_động_lưu_trữ, Gas_thực_thi)

Điều này bằng:

max(Gas_thực_thi + 2500 * hoạt_động_lưu_trữ, 10000 * hoạt_động_lưu_trữ)

Điều này phản ánh cấu trúc của EIP-7623. Một cách tiếp cận khác là theo dõi hoạt_động_lưu_trữ và Gas_thực_thi theo thời gian thực và tính phí 2500 hoặc 10000 dựa trên việc tăng max(Gas_thực_thi + 2500 * hoạt_động_lưu_trữ, 10000 * hoạt_động_lưu_trữ) đã tăng lên bao nhiêu khi mã opcode được gọi. Điều này tránh cần phải giao Gas quá mức, chủ yếu được hoàn lại thông qua việc hoàn trả.

Chúng tôi không nhận được sự cho phép tinh mịch cho các cuộc gọi con: các cuộc gọi con có thể tiêu hết toàn bộ phần phép của một giao dịch cho các hoạt động lưu trữ rẻ tiền.

Nhưng chúng tôi đã có được một điều khá tốt, đó là, hợp đồng thực hiện cuộc gọi con có thể đặt một giới hạn và đảm bảo rằng sau khi cuộc gọi con hoàn tất, cuộc gọi chính vẫn còn đủ Gas cho việc xử lý sau cần thiết.

Giải pháp "hoàn chỉnh về giá đa chiều" đơn giản nhất mà tôi có thể nghĩ đến là: chúng ta coi xét giới hạn Gas cho các cuộc gọi con là tỷ lệ. Nghĩa là, giả sử có 𝑘 loại thực thi khác nhau, và mỗi giao dịch đặt giới hạn đa chiều 𝐿1...𝐿𝑘. Giả sử tại điểm thực thi hiện tại, Gas còn lại là 𝑔1...𝑔𝑘. Giả sử một mã CALL được gọi, sử dụng giới hạn Gas cho cuộc gọi con 𝑆. Đặt 𝑠1=𝑆, sau đó 𝑠2=𝑠1/𝑔1*𝑔2, 𝑠3=𝑠1/𝑔1*𝑔3, và cứ tiếp tục như vậy.

Nói cách khác, chúng ta xem xét Gas cho loại đầu tiên (thực sự là thực thi VM) như một "đơn vị tài khoản" đặc biệt, sau đó phân bổ Gas cho các loại khác sao cho cuộc gọi con nhận cùng một phần trăm Gas khả dụng trong mỗi loại. Cách tiếp cận này có thể trông hơi xấu xí, nhưng nó tối đa hóa tính tương thích ngược với phiên bản trước.

Nếu chúng ta muốn làm cho giải pháp này trở nên "trung lập" hơn giữa các loại Gas khác nhau mà không hy sinh tính tương thích ngược, chúng ta có thể đơn giản biểu diễn tham số giới hạn Gas cho cuộc gọi con như một phần của Gas còn lại trong ngữ cảnh hiện tại (ví dụ, [1...63]/64).

Tuy nhiên, bất kể trường hợp nào, đáng lưu ý rằng một khi chúng ta bắt đầu giới thiệu Gas thực thi đa chiều, sự phức tạp bẩm sinh sẽ tăng lên, điều này dường như khó tránh khỏi.

Do đó, nhiệm vụ của chúng ta là thực hiện một sự cân nhắc phức tạp: chúng ta có chấp nhận một mức độ tăng phức tạp (xấu xí) tại cấp độ EVM để mở khóa những lợi ích quan trọng về khả năng mở rộng L1, và nếu có, đề xuất cụ thể nào là hiệu quả nhất đối với kinh tế giao thức và các nhà phát triển ứng dụng? Rất có khả năng rằng không phải cả hai giải pháp mà tôi đề cập ở trên là tốt nhất, nhưng vẫn còn không gian để đề xuất những giải pháp tinh tế và tốt hơn.

Cảm ơn đặc biệt Ansgar Dietrichs, Barnabe Monnot, và Davide Crapis vì phản hồi và xem xét của họ.

Ass
Các Nhãn Liên quan
Giá Khí Đa Chiều, EVM, Rollup, EIP-1559, Blobs
ChainCatcher nhắc nhở độc giả cần nhìn nhận blockchain một cách hợp lý, nâng cao nhận thức về rủi ro, cảnh giác với các loại phát hành token ảo và hoạt động đầu cơ. Tất cả nội dung trên trang web là thông tin thị trường hoặc ý kiến của các bên liên quan và không cấu thành bất kỳ hình thức tư vấn đầu tư nào. Nếu phát hiện thông tin nhạy cảm trong nội dung trên trang web, bạn có thể nhấn vào "Báo cáo," và chúng tôi sẽ xử lý ngay lập tức.
0

Tuyên bố miễn trừ trách nhiệm: mọi thông tin trong bài viết đều thể hiện quan điểm của tác giả và không liên quan đến nền tảng này. Không nên sử dụng thông tin từ bài viết này để đưa ra các quyết định đầu tư.

Bạn cũng có thể thích

Cuộc trò chuyện với Đồng sáng lập Farcaster: Làm thế nào Mạng xã hội Phi tập trung có thể phát triển từ 100,000 lên 1 tỷ người dùng

Các nhà đồng sáng lập Farcaster, Dan Romero và Varun Srinivasan, đã chia sẻ quan điểm của họ về một loạt các chủ đề.

Chaincatcher2024/05/23 02:37

Hệ sinh thái Ethereum bùng nổ trở lại: Giải thích chi tiết về ERC-7683 do Uniswap dẫn đầu

Thế giới đã phải chịu đựng các vấn đề liên chuỗi từ lâu.

Chaincatcher2024/05/23 01:40

FUD Lan Tràn Như Cháy Rừng: Liệu Vị Vua AI Mới Bittensor Có Sụp Đổ?

Mỗi thế hệ đều có câu chuyện và anh hùng của riêng mình; không có triều đại nào tồn tại mãi mãi.

Chaincatcher2024/05/22 13:14

Giao thức Ràng buộc Nostr

Trong bài viết này, chúng tôi đề xuất một giao thức kết hợp các cấu trúc dữ liệu cơ bản của giao thức Nostr với blockchain CKB. Thông qua sự kết hợp này, chúng tôi cho phép dữ liệu gốc của Nostr thừa hưởng các đặc điểm của UTXO/Cell trên blockchain CKB, mang lại những khả năng mới cho giao thức Nostr dựa trên các cơ chế trên chuỗi. Một trường hợp sử dụng tiềm năng là phát hành tài sản gốc trên Nostr. Giao thức kết hợp Nostr cũng giới thiệu một mô hình phát triển mới cho dApps. Thay vì chia dApp của bạn thành hai hệ thống (một là máy chủ ngoài chuỗi và một là hợp đồng thông minh trên chuỗi), chúng tôi sử dụng một hệ thống thống nhất với các mức dữ liệu khác nhau để xây dựng dApps. Điều này khác biệt cơ bản so với mô hình Ethereum.

Chaincatcher2024/05/22 12:52