EIP-7706 và Các Cơ Chế Gas Mới Nhất của Ethereum

Trung cấp5/24/2024, 6:12:02 AM
Đề xuất EIP-7706 nhằm giảm chi phí vận hành của Ethereum L2, thay đổi mô hình kinh tế, và giới thiệu mô hình giá kép của Phí Cơ sở và Phí Ưu tiên. EIP-4844 đề xuất Giao dịch Blob để ổn định phí giao dịch và sẽ được triển khai vào năm 2024. Mô hình gas trong Ethereum cũng sẽ tăng các hạn chế khi mạng phát triển, chẳng hạn như việc tiêu thụ calldata. Điều này giúp phát triển L2 và giảm chi phí sequencer. Bài viết này sẽ giới thiệu cơ chế Phí Gas Ethereum mới nhất.

Giới thiệu: Vào ngày 13 tháng 5 năm 2024, Vitalik đã đề xuất EIP-7706, bổ sung cho mô hình Gas hiện có bằng cách loại bỏ riêng cách tính khí cho calldata và tùy chỉnh cơ chế định giá phí cơ bản tương tự như khí Blob, tiếp tục giảm chi phí vận hành của Lớp 2. Các đề xuất liên quan cũng cần được truy nguyên từ EIP-4844 được đề xuất vào tháng 2/2022, cách nhau rất lâu. Do đó, kiểm tra các tài liệu liên quan, chúng tôi hy vọng sẽ cung cấp một bản tóm tắt về cơ chế Ethereum Gas mới nhất để mọi người hiểu nhanh chóng.

Các Mô hình Gas Ethereum Được Hỗ Trợ Hiện Tại - EIP-1559 và EIP-4844

Trong thiết kế ban đầu, Ethereum đã áp dụng một cơ chế đấu giá đơn giản để định giá phí giao dịch, yêu cầu người dùng phải mở thầu một cách tích cực cho giao dịch của họ, tức là đặt giá gas. Thông thường, vì phí giao dịch được người dùng trả đi đến các thợ đào, các thợ đào quyết định thứ tự đóng gói giao dịch dựa trên nguyên tắc tối ưu kinh tế, theo giá đặt cược, phớt lờ tình hình MEV. Theo quan điểm của các nhà phát triển lõi vào thời điểm đó, cơ chế này đối mặt với bốn vấn đề:

Sự dao động của mức phí giao dịch không phù hợp với chi phí đồng thuận của giao dịch: Đối với các chuỗi khối đang hoạt động, có đủ cầu để đóng gói giao dịch, điều này có nghĩa là các khối có thể dễ dàng được điền, nhưng điều này thường dẫn đến sự dao động đáng kể trong tổng chi phí. Ví dụ, khi Giá Gas trung bình là 10 Gwei, chi phí biên phát sinh do mạng chấp nhận một giao dịch khác trong một khối cao gấp mười lần so với khi Giá Gas trung bình là 1 Gwei, điều này là không chấp nhận được.

Sự chậm trễ không cần thiết đối với người dùng: Do giới hạn cứng của gaslimit cho mỗi khối, kết hợp với sự biến động tự nhiên của khối lượng giao dịch lịch sử, các giao dịch thường phải chờ đợi trong vài khối được đóng gói, điều này không hiệu quả cho toàn bộ mạng lưới. Không có cơ chế “nới lỏng” nào cho phép một khối lớn hơn và khối tiếp theo nhỏ hơn để đáp ứng sự khác biệt trong nhu cầu giữa các khối.

Giá cả không hiệu quả: Việc áp dụng cơ chế đấu giá đơn giản đã dẫn đến hiệu quả thấp trong việc phát hiện giá cả công bằng, điều này có nghĩa là người dùng khó có thể đưa ra một giá cả hợp lý, dẫn đến nhiều trường hợp người dùng phải trả phí quá cao.

Blockchain không có phần thưởng khối sẽ không ổn định: Khi hủy bỏ phần thưởng khối do khai thác mang lại và áp dụng mô hình phí thuần túy, nó có thể dẫn đến nhiều bất ổn, chẳng hạn như khuyến khích khai thác "khối chị em" để ăn cắp phí giao dịch, mở ra các vectơ tấn công khai thác ích kỷ mạnh mẽ hơn, v.v.

Cho đến khi đề xuất và thực hiện EIP-1559, đã có một lần lặp lại đầu tiên của mô hình Gas. EIP-1559, được đề xuất bởi Vitalik và các nhà phát triển cốt lõi khác vào ngày 13 tháng 4 năm 2019, đã được thông qua trong bản nâng cấp London vào ngày 5 tháng 8 năm 2021. Cơ chế này bỏ cơ chế đấu giá và thay vào đó áp dụng mô hình định giá kép là Phí cơ sở và Phí ưu tiên. Phí cơ sở được tính toán định lượng dựa trên mối quan hệ giữa mức tiêu thụ khí trong khối mẹ và mục tiêu khí nổi và đệ quy thông qua một mô hình toán học đã được thiết lập. Hiệu quả trực quan là nếu việc sử dụng khí trong khối trước đó vượt quá mục tiêu khí xác định trước, phí cơ bản sẽ tăng lên và nếu nó thấp hơn mục tiêu khí, phí cơ bản sẽ giảm. Điều này có thể phản ánh tốt hơn cung cầu và đưa ra dự đoán về khí hợp lý chính xác hơn, ngăn chặn giá khí cắt cổ do hoạt động sai vì việc tính phí cơ bản được xác định trực tiếp bởi hệ thống chứ không phải do người dùng tự do chỉ định. Mã cụ thể như sau:

Có thể suy luận rằng khi parent_gas_used lớn hơn parent_gas_target, phí cơ bản của khối hiện tại sẽ được so sánh với phí cơ bản của khối trước cộng với một giá trị lùi. Đối với giá trị lùi, nó được tính bằng cách nhân parent_base_fee với giá trị lùi của tổng lượng gas sử dụng của khối trước so với mục tiêu gas và lấy phần dư với gas target và một hằng số, sau đó lấy giá trị lớn nhất của kết quả và 1. Logic tương tự khi đảo ngược.

Ngoài ra, phí cơ sở sẽ không còn được phân bổ như một phần thưởng cho các thợ mỏ mà sẽ được đốt trực tiếp, từ đó đưa mô hình kinh tế của Ethereum vào trạng thái giảm phát, điều này có lợi cho sự ổn định giá trị. Trong khi đó, phí ưu tiên tương tự như một phần thưởng được người dùng trả cho các thợ mỏ và có thể được định giá tự do, điều này một phần nào đó có thể cho phép thuật toán xếp hàng của thợ mỏ được tái sử dụng.

Khi thời gian trôi qua vào năm 2021, sự phát triển của Rollups dần đạt đến đỉnh điểm của nó. Chúng ta biết rằng cho dù đó là OP Rollups hay ZK Rollups, điều đó ngụ ý việc cần tải lên một số dữ liệu chứng minh cụ thể của dữ liệu L2 nén vào chuỗi thông qua calldata để đạt được Khả năng Dữ liệu trên chuỗi, hoặc được xác minh trực tiếp trên chuỗi. Điều này đặt ra các chi phí gas đáng kể cho việc duy trì tính cuối cùng của L2, cuối cùng được chuyển sang người dùng. Do đó, chi phí sử dụng hầu hết các giao thức L2 không thấp như được tưởng tượng vào thời điểm đó.

Đồng thời, Ethereum cũng phải đối mặt với tình thế tiến thoái lưỡng nan của cạnh tranh không gian khối. Chúng tôi biết rằng mỗi khối có Giới hạn Gas, có nghĩa là tổng mức tiêu thụ gas của tất cả các giao dịch trong khối hiện tại không thể vượt quá giá trị này. Tính toán dựa trên Giới hạn Gas hiện tại là 30.000.000, về mặt lý thuyết có giới hạn là 1.875.000 byte, trong đó 16 đề cập đến lượng khí tiêu thụ trên mỗi byte calldata được xử lý bởi EVM. Điều này ngụ ý rằng kích thước dữ liệu tối đa có thể được cung cấp trong một khối duy nhất là khoảng 1,79 MB. Tuy nhiên, dữ liệu liên quan đến Rollup được tạo bởi các trình tự L2 thường có kích thước dữ liệu lớn hơn, cạnh tranh với việc xác nhận giao dịch của những người dùng chuỗi chính khác, dẫn đến giảm số lượng giao dịch có thể được đóng gói thành một khối duy nhất, do đó ảnh hưởng đến TPS của chuỗi chính.

Để giải quyết vấn đề nan giải này, các nhà phát triển cốt lõi đã đề xuất EIP-4844 vào ngày 5 tháng 2 năm 2022, được triển khai sau khi nâng cấp Dencun vào quý II/2024. Đề xuất này giới thiệu một loại giao dịch mới được gọi là Giao dịch Blob. Trái ngược với các loại Giao dịch truyền thống, ý tưởng cốt lõi của Giao dịch Blob bổ sung một kiểu dữ liệu mới, cụ thể là dữ liệu Blob. Không giống như các kiểu calldata, dữ liệu blob không thể được truy cập trực tiếp bởi EVM mà chỉ có thể truy cập hàm băm của nó, còn được gọi là VersionedHash. Ngoài ra, hai thiết kế đi kèm được giới thiệu. Thứ nhất, so với các giao dịch thông thường, chu kỳ GC của các giao dịch blob ngắn hơn, đảm bảo rằng dữ liệu khối không trở nên quá cồng kềnh. Thứ hai, dữ liệu blob có cơ chế Gas gốc. Nhìn chung, hiệu ứng được trình bày tương tự như EIP-1559, nhưng mô hình toán học chọn hàm mũ tự nhiên, hoạt động ổn định tốt hơn khi xử lý biến động về khối lượng giao dịch. Điều này là do độ dốc của hàm mũ tự nhiên cũng là một hàm mũ tự nhiên, có nghĩa là bất kể trạng thái khối lượng giao dịch của mạng, khi khối lượng giao dịch tăng nhanh, phí cơ bản của khí blob phản ánh đầy đủ hơn, hạn chế hiệu quả hoạt động giao dịch. Ngoài ra, hàm này có một đặc tính quan trọng trong đó giá trị hàm là 1 khi abscissa là 0.

base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GASe*(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)

Nơi MIN_BASE_FEE_PER_BLOB_GAS và BLOB_BASE_FEE_UPDATE_FRACTION là hai hằng số, và excess_blob_gas được xác định bởi sự khác biệt giữa tổng lượng gas blob tiêu thụ trong khối cha và một hằng số TARGET_BLOB_GAS_PER_BLOCK. Khi tổng lượng gas blob tiêu thụ vượt quá giá trị mục tiêu, tức là sự khác biệt là dương, e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) lớn hơn 1, và base_fee_per_blob_gas tăng, ngược lại, nó giảm.

Điều này cho phép thực hiện giá thành thấp trong các tình huống khi chỉ mong muốn khả năng đồng thuận của Ethereum để lưu trữ dữ liệu quy mô lớn để đảm bảo tính sẵn có, mà không chiếm đến khả năng đóng gói giao dịch của khối. Lấy ví dụ về Rollup sequencer, thông tin quan trọng của L2 có thể được đóng gói vào dữ liệu blob thông qua giao dịch blob, và logic cho việc xác minh on-chain có thể được thực hiện trong EVM thông qua các thiết kế tinh vi sử dụng versionedHash.

Lưu ý rằng cài đặt hiện tại của TARGET_BLOB_GAS_PER_BLOCK và MAX_BLOB_GAS_PER_BLOCK đặt ra một hạn chế trên mainnet, cụ thể là mục tiêu xử lý trung bình 3 blobs (0,375 MB) mỗi khối và giới hạn tối đa 6 blobs (0,75 MB) mỗi khối. Các giới hạn ban đầu này nhằm mục đích giảm áp lực mà EIP đặt lên mạng và dự kiến sẽ được tăng trong các bản nâng cấp tương lai khi mạng chứng minh được tính đáng tin cậy dưới các khối lớn hơn.

Tinh chỉnh mô hình tiêu thụ khí cho môi trường thực thi - EIP-7706

Sau khi làm rõ mô hình Gas hiện tại của Ethereum, hãy xem xét mục tiêu và chi tiết triển khai của đề xuất EIP-7706. Đề xuất này được giới thiệu bởi Vitalik vào ngày 13 tháng 5 năm 2024. Tương tự như dữ liệu Blob, đề xuất này tách mô hình Gas cho một trường dữ liệu đặc biệt khác, cụ thể là calldata, và tối ưu hóa logic triển khai mã tương ứng.

Về nguyên tắc, logic tính phí cơ sở cho dữ liệu calldata tương tự như phí cơ sở cho dữ liệu blob trong EIP-4844, cả hai đều sử dụng một hàm mũ để tính toán hệ số tỷ lệ cho phí cơ sở hiện tại dựa trên sự chênh lệch giữa giá trị tiêu thụ gas thực tế trong khối cha và giá trị mục tiêu.

Đáng chú ý một thiết kế tham số mới, LIMIT_TARGET_RATIOS = [2,2,4], trong đó LIMIT_TARGET_RATIOS [0] đại diện cho tỷ lệ mục tiêu của Gas cho các hoạt động thực hiện, LIMIT_TARGET_RATIOS [1] đại diện cho tỷ lệ mục tiêu của Gas cho dữ liệu Blob, và LIMIT_TARGET_RATIOS [2] đại diện cho tỷ lệ mục tiêu của Gas cho calldata. Vector này được sử dụng để tính toán các giá trị mục tiêu gas cho ba loại gas trong khối cha, sử dụng LIMIT_TARGET_RATIOS cho phép chia số nguyên trên giới hạn gas như sau:

Bộ logic thiết lập cho gas_limits như sau:

gas_limits[0] phải tuân theo công thức điều chỉnh hiện có.

gas_limits[1] must be equal to MAX_BLOB_GAS_PER_BLOCK.

gas_limits[2] phải bằng gas_limits[0] // CALLDATA_GAS_LIMIT_RATIO.

Chúng tôi biết rằng giới hạn khí hiện tại của gas_limits[0] là 30000000, và CALLDATA_GAS_LIMIT_RATIO được thiết lập trước là 4. Điều này có nghĩa là mục tiêu gas calldata hiện tại khoảng 30000000 // 4 // 4 = 1875000. Kể từ đó, theo logic tính toán gas calldata hiện tại, mỗi byte khác không sẽ tiêu thụ 16 Gas và byte không là 4 Gas, giả định rằng phân phối của byte khác không và byte không trong một đoạn calldata là 50%, xử lý trung bình của 1 byte calldata đòi hỏi 10 Gas. Do đó, mục tiêu gas calldata hiện tại nên tương ứng với dữ liệu calldata của 187500 byte, xấp xỉ gấp đôi so với việc sử dụng trung bình hiện tại.

Lợi ích của phương pháp này là giảm đáng kể khả năng calldata đạt đến giới hạn gas, duy trì việc sử dụng calldata ở mức độ tương đối ổn định thông qua mô hình kinh tế và ngăn chặn việc lạm dụng calldata. Lý do của thiết kế này là mở đường cho việc phát triển L2, kết hợp với dữ liệu blob, để tiếp tục giảm chi phí của sequencer.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được sao chép từ [ TechFlow]. Tất cả bản quyền thuộc về tác giả gốc [Web3Mario]. Nếu có ý kiến ​​phản đối về việc tái in này, vui lòng liên hệ Học cửađội ngũ và họ sẽ xử lý nhanh chóng.
  2. Bản phủ nhận trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi có ghi chú, việc sao chép, phân phối hoặc đạo văn những bài viết dịch là không được phép.

EIP-7706 và Các Cơ Chế Gas Mới Nhất của Ethereum

Trung cấp5/24/2024, 6:12:02 AM
Đề xuất EIP-7706 nhằm giảm chi phí vận hành của Ethereum L2, thay đổi mô hình kinh tế, và giới thiệu mô hình giá kép của Phí Cơ sở và Phí Ưu tiên. EIP-4844 đề xuất Giao dịch Blob để ổn định phí giao dịch và sẽ được triển khai vào năm 2024. Mô hình gas trong Ethereum cũng sẽ tăng các hạn chế khi mạng phát triển, chẳng hạn như việc tiêu thụ calldata. Điều này giúp phát triển L2 và giảm chi phí sequencer. Bài viết này sẽ giới thiệu cơ chế Phí Gas Ethereum mới nhất.

Giới thiệu: Vào ngày 13 tháng 5 năm 2024, Vitalik đã đề xuất EIP-7706, bổ sung cho mô hình Gas hiện có bằng cách loại bỏ riêng cách tính khí cho calldata và tùy chỉnh cơ chế định giá phí cơ bản tương tự như khí Blob, tiếp tục giảm chi phí vận hành của Lớp 2. Các đề xuất liên quan cũng cần được truy nguyên từ EIP-4844 được đề xuất vào tháng 2/2022, cách nhau rất lâu. Do đó, kiểm tra các tài liệu liên quan, chúng tôi hy vọng sẽ cung cấp một bản tóm tắt về cơ chế Ethereum Gas mới nhất để mọi người hiểu nhanh chóng.

Các Mô hình Gas Ethereum Được Hỗ Trợ Hiện Tại - EIP-1559 và EIP-4844

Trong thiết kế ban đầu, Ethereum đã áp dụng một cơ chế đấu giá đơn giản để định giá phí giao dịch, yêu cầu người dùng phải mở thầu một cách tích cực cho giao dịch của họ, tức là đặt giá gas. Thông thường, vì phí giao dịch được người dùng trả đi đến các thợ đào, các thợ đào quyết định thứ tự đóng gói giao dịch dựa trên nguyên tắc tối ưu kinh tế, theo giá đặt cược, phớt lờ tình hình MEV. Theo quan điểm của các nhà phát triển lõi vào thời điểm đó, cơ chế này đối mặt với bốn vấn đề:

Sự dao động của mức phí giao dịch không phù hợp với chi phí đồng thuận của giao dịch: Đối với các chuỗi khối đang hoạt động, có đủ cầu để đóng gói giao dịch, điều này có nghĩa là các khối có thể dễ dàng được điền, nhưng điều này thường dẫn đến sự dao động đáng kể trong tổng chi phí. Ví dụ, khi Giá Gas trung bình là 10 Gwei, chi phí biên phát sinh do mạng chấp nhận một giao dịch khác trong một khối cao gấp mười lần so với khi Giá Gas trung bình là 1 Gwei, điều này là không chấp nhận được.

Sự chậm trễ không cần thiết đối với người dùng: Do giới hạn cứng của gaslimit cho mỗi khối, kết hợp với sự biến động tự nhiên của khối lượng giao dịch lịch sử, các giao dịch thường phải chờ đợi trong vài khối được đóng gói, điều này không hiệu quả cho toàn bộ mạng lưới. Không có cơ chế “nới lỏng” nào cho phép một khối lớn hơn và khối tiếp theo nhỏ hơn để đáp ứng sự khác biệt trong nhu cầu giữa các khối.

Giá cả không hiệu quả: Việc áp dụng cơ chế đấu giá đơn giản đã dẫn đến hiệu quả thấp trong việc phát hiện giá cả công bằng, điều này có nghĩa là người dùng khó có thể đưa ra một giá cả hợp lý, dẫn đến nhiều trường hợp người dùng phải trả phí quá cao.

Blockchain không có phần thưởng khối sẽ không ổn định: Khi hủy bỏ phần thưởng khối do khai thác mang lại và áp dụng mô hình phí thuần túy, nó có thể dẫn đến nhiều bất ổn, chẳng hạn như khuyến khích khai thác "khối chị em" để ăn cắp phí giao dịch, mở ra các vectơ tấn công khai thác ích kỷ mạnh mẽ hơn, v.v.

Cho đến khi đề xuất và thực hiện EIP-1559, đã có một lần lặp lại đầu tiên của mô hình Gas. EIP-1559, được đề xuất bởi Vitalik và các nhà phát triển cốt lõi khác vào ngày 13 tháng 4 năm 2019, đã được thông qua trong bản nâng cấp London vào ngày 5 tháng 8 năm 2021. Cơ chế này bỏ cơ chế đấu giá và thay vào đó áp dụng mô hình định giá kép là Phí cơ sở và Phí ưu tiên. Phí cơ sở được tính toán định lượng dựa trên mối quan hệ giữa mức tiêu thụ khí trong khối mẹ và mục tiêu khí nổi và đệ quy thông qua một mô hình toán học đã được thiết lập. Hiệu quả trực quan là nếu việc sử dụng khí trong khối trước đó vượt quá mục tiêu khí xác định trước, phí cơ bản sẽ tăng lên và nếu nó thấp hơn mục tiêu khí, phí cơ bản sẽ giảm. Điều này có thể phản ánh tốt hơn cung cầu và đưa ra dự đoán về khí hợp lý chính xác hơn, ngăn chặn giá khí cắt cổ do hoạt động sai vì việc tính phí cơ bản được xác định trực tiếp bởi hệ thống chứ không phải do người dùng tự do chỉ định. Mã cụ thể như sau:

Có thể suy luận rằng khi parent_gas_used lớn hơn parent_gas_target, phí cơ bản của khối hiện tại sẽ được so sánh với phí cơ bản của khối trước cộng với một giá trị lùi. Đối với giá trị lùi, nó được tính bằng cách nhân parent_base_fee với giá trị lùi của tổng lượng gas sử dụng của khối trước so với mục tiêu gas và lấy phần dư với gas target và một hằng số, sau đó lấy giá trị lớn nhất của kết quả và 1. Logic tương tự khi đảo ngược.

Ngoài ra, phí cơ sở sẽ không còn được phân bổ như một phần thưởng cho các thợ mỏ mà sẽ được đốt trực tiếp, từ đó đưa mô hình kinh tế của Ethereum vào trạng thái giảm phát, điều này có lợi cho sự ổn định giá trị. Trong khi đó, phí ưu tiên tương tự như một phần thưởng được người dùng trả cho các thợ mỏ và có thể được định giá tự do, điều này một phần nào đó có thể cho phép thuật toán xếp hàng của thợ mỏ được tái sử dụng.

Khi thời gian trôi qua vào năm 2021, sự phát triển của Rollups dần đạt đến đỉnh điểm của nó. Chúng ta biết rằng cho dù đó là OP Rollups hay ZK Rollups, điều đó ngụ ý việc cần tải lên một số dữ liệu chứng minh cụ thể của dữ liệu L2 nén vào chuỗi thông qua calldata để đạt được Khả năng Dữ liệu trên chuỗi, hoặc được xác minh trực tiếp trên chuỗi. Điều này đặt ra các chi phí gas đáng kể cho việc duy trì tính cuối cùng của L2, cuối cùng được chuyển sang người dùng. Do đó, chi phí sử dụng hầu hết các giao thức L2 không thấp như được tưởng tượng vào thời điểm đó.

Đồng thời, Ethereum cũng phải đối mặt với tình thế tiến thoái lưỡng nan của cạnh tranh không gian khối. Chúng tôi biết rằng mỗi khối có Giới hạn Gas, có nghĩa là tổng mức tiêu thụ gas của tất cả các giao dịch trong khối hiện tại không thể vượt quá giá trị này. Tính toán dựa trên Giới hạn Gas hiện tại là 30.000.000, về mặt lý thuyết có giới hạn là 1.875.000 byte, trong đó 16 đề cập đến lượng khí tiêu thụ trên mỗi byte calldata được xử lý bởi EVM. Điều này ngụ ý rằng kích thước dữ liệu tối đa có thể được cung cấp trong một khối duy nhất là khoảng 1,79 MB. Tuy nhiên, dữ liệu liên quan đến Rollup được tạo bởi các trình tự L2 thường có kích thước dữ liệu lớn hơn, cạnh tranh với việc xác nhận giao dịch của những người dùng chuỗi chính khác, dẫn đến giảm số lượng giao dịch có thể được đóng gói thành một khối duy nhất, do đó ảnh hưởng đến TPS của chuỗi chính.

Để giải quyết vấn đề nan giải này, các nhà phát triển cốt lõi đã đề xuất EIP-4844 vào ngày 5 tháng 2 năm 2022, được triển khai sau khi nâng cấp Dencun vào quý II/2024. Đề xuất này giới thiệu một loại giao dịch mới được gọi là Giao dịch Blob. Trái ngược với các loại Giao dịch truyền thống, ý tưởng cốt lõi của Giao dịch Blob bổ sung một kiểu dữ liệu mới, cụ thể là dữ liệu Blob. Không giống như các kiểu calldata, dữ liệu blob không thể được truy cập trực tiếp bởi EVM mà chỉ có thể truy cập hàm băm của nó, còn được gọi là VersionedHash. Ngoài ra, hai thiết kế đi kèm được giới thiệu. Thứ nhất, so với các giao dịch thông thường, chu kỳ GC của các giao dịch blob ngắn hơn, đảm bảo rằng dữ liệu khối không trở nên quá cồng kềnh. Thứ hai, dữ liệu blob có cơ chế Gas gốc. Nhìn chung, hiệu ứng được trình bày tương tự như EIP-1559, nhưng mô hình toán học chọn hàm mũ tự nhiên, hoạt động ổn định tốt hơn khi xử lý biến động về khối lượng giao dịch. Điều này là do độ dốc của hàm mũ tự nhiên cũng là một hàm mũ tự nhiên, có nghĩa là bất kể trạng thái khối lượng giao dịch của mạng, khi khối lượng giao dịch tăng nhanh, phí cơ bản của khí blob phản ánh đầy đủ hơn, hạn chế hiệu quả hoạt động giao dịch. Ngoài ra, hàm này có một đặc tính quan trọng trong đó giá trị hàm là 1 khi abscissa là 0.

base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GASe*(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)

Nơi MIN_BASE_FEE_PER_BLOB_GAS và BLOB_BASE_FEE_UPDATE_FRACTION là hai hằng số, và excess_blob_gas được xác định bởi sự khác biệt giữa tổng lượng gas blob tiêu thụ trong khối cha và một hằng số TARGET_BLOB_GAS_PER_BLOCK. Khi tổng lượng gas blob tiêu thụ vượt quá giá trị mục tiêu, tức là sự khác biệt là dương, e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION) lớn hơn 1, và base_fee_per_blob_gas tăng, ngược lại, nó giảm.

Điều này cho phép thực hiện giá thành thấp trong các tình huống khi chỉ mong muốn khả năng đồng thuận của Ethereum để lưu trữ dữ liệu quy mô lớn để đảm bảo tính sẵn có, mà không chiếm đến khả năng đóng gói giao dịch của khối. Lấy ví dụ về Rollup sequencer, thông tin quan trọng của L2 có thể được đóng gói vào dữ liệu blob thông qua giao dịch blob, và logic cho việc xác minh on-chain có thể được thực hiện trong EVM thông qua các thiết kế tinh vi sử dụng versionedHash.

Lưu ý rằng cài đặt hiện tại của TARGET_BLOB_GAS_PER_BLOCK và MAX_BLOB_GAS_PER_BLOCK đặt ra một hạn chế trên mainnet, cụ thể là mục tiêu xử lý trung bình 3 blobs (0,375 MB) mỗi khối và giới hạn tối đa 6 blobs (0,75 MB) mỗi khối. Các giới hạn ban đầu này nhằm mục đích giảm áp lực mà EIP đặt lên mạng và dự kiến sẽ được tăng trong các bản nâng cấp tương lai khi mạng chứng minh được tính đáng tin cậy dưới các khối lớn hơn.

Tinh chỉnh mô hình tiêu thụ khí cho môi trường thực thi - EIP-7706

Sau khi làm rõ mô hình Gas hiện tại của Ethereum, hãy xem xét mục tiêu và chi tiết triển khai của đề xuất EIP-7706. Đề xuất này được giới thiệu bởi Vitalik vào ngày 13 tháng 5 năm 2024. Tương tự như dữ liệu Blob, đề xuất này tách mô hình Gas cho một trường dữ liệu đặc biệt khác, cụ thể là calldata, và tối ưu hóa logic triển khai mã tương ứng.

Về nguyên tắc, logic tính phí cơ sở cho dữ liệu calldata tương tự như phí cơ sở cho dữ liệu blob trong EIP-4844, cả hai đều sử dụng một hàm mũ để tính toán hệ số tỷ lệ cho phí cơ sở hiện tại dựa trên sự chênh lệch giữa giá trị tiêu thụ gas thực tế trong khối cha và giá trị mục tiêu.

Đáng chú ý một thiết kế tham số mới, LIMIT_TARGET_RATIOS = [2,2,4], trong đó LIMIT_TARGET_RATIOS [0] đại diện cho tỷ lệ mục tiêu của Gas cho các hoạt động thực hiện, LIMIT_TARGET_RATIOS [1] đại diện cho tỷ lệ mục tiêu của Gas cho dữ liệu Blob, và LIMIT_TARGET_RATIOS [2] đại diện cho tỷ lệ mục tiêu của Gas cho calldata. Vector này được sử dụng để tính toán các giá trị mục tiêu gas cho ba loại gas trong khối cha, sử dụng LIMIT_TARGET_RATIOS cho phép chia số nguyên trên giới hạn gas như sau:

Bộ logic thiết lập cho gas_limits như sau:

gas_limits[0] phải tuân theo công thức điều chỉnh hiện có.

gas_limits[1] must be equal to MAX_BLOB_GAS_PER_BLOCK.

gas_limits[2] phải bằng gas_limits[0] // CALLDATA_GAS_LIMIT_RATIO.

Chúng tôi biết rằng giới hạn khí hiện tại của gas_limits[0] là 30000000, và CALLDATA_GAS_LIMIT_RATIO được thiết lập trước là 4. Điều này có nghĩa là mục tiêu gas calldata hiện tại khoảng 30000000 // 4 // 4 = 1875000. Kể từ đó, theo logic tính toán gas calldata hiện tại, mỗi byte khác không sẽ tiêu thụ 16 Gas và byte không là 4 Gas, giả định rằng phân phối của byte khác không và byte không trong một đoạn calldata là 50%, xử lý trung bình của 1 byte calldata đòi hỏi 10 Gas. Do đó, mục tiêu gas calldata hiện tại nên tương ứng với dữ liệu calldata của 187500 byte, xấp xỉ gấp đôi so với việc sử dụng trung bình hiện tại.

Lợi ích của phương pháp này là giảm đáng kể khả năng calldata đạt đến giới hạn gas, duy trì việc sử dụng calldata ở mức độ tương đối ổn định thông qua mô hình kinh tế và ngăn chặn việc lạm dụng calldata. Lý do của thiết kế này là mở đường cho việc phát triển L2, kết hợp với dữ liệu blob, để tiếp tục giảm chi phí của sequencer.

Tuyên bố từ chối trách nhiệm:

  1. Bài viết này được sao chép từ [ TechFlow]. Tất cả bản quyền thuộc về tác giả gốc [Web3Mario]. Nếu có ý kiến ​​phản đối về việc tái in này, vui lòng liên hệ Học cửađội ngũ và họ sẽ xử lý nhanh chóng.
  2. Bản phủ nhận trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ là của tác giả và không cấu thành bất kỳ lời khuyên đầu tư nào.
  3. Bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi nhóm Gate Learn. Trừ khi có ghi chú, việc sao chép, phân phối hoặc đạo văn những bài viết dịch là không được phép.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!