Tác giả: Samuel Okediji Biên dịch: Cointime.com 237
Trong lĩnh vực công nghệ chuỗi khối, Ethereum đã và đang nỗ lực giải quyết cơ sở người dùng ngày càng mở rộng của mình, tăng thông lượng giao dịch và giảm chi phí. Để đạt được khả năng mở rộng dài hạn, Ethereum sử dụng khái niệm bảo vệ dữ liệu. Là một bước tạm thời hướng tới việc triển khai đầy đủ sharding, Đề xuất cải tiến Ethereum 4844 (EIP-4844) đã được giới thiệu. Đề xuất nhằm mục đích cho phép Ethereum đạt được thông lượng cao hơn khoảng 100.000 giao dịch mỗi giây (TPS), đồng thời duy trì tính bảo mật và phân cấp.
Hiểu tầm quan trọng của tiêu chuẩn EIP và EIP-4844:
Đề xuất cải tiến Ethereum (EIP) là một tài liệu chính thức phác thảo các cải tiến, tính năng mới hoặc thay đổi đối với giao thức Ethereum. Chúng cung cấp một cách để các thành viên cộng đồng Ethereum đề xuất và thảo luận về các cải tiến tiềm năng.
EIP-4844 chủ yếu liên quan đến việc tích hợp các giao dịch shard blob vào mạng Ethereum. Sharding là việc phân chia cơ sở dữ liệu thành các phân vùng nhỏ hơn (còn gọi là phân đoạn) để cải thiện hiệu quả và hiệu suất. Bằng cách triển khai các giao dịch sharded blob, Ethereum nhằm mục đích cải thiện chi phí giao dịch và tăng thông lượng tổng thể. Mặc dù EIP-4844 không phải là một giải pháp sharding hoàn chỉnh, nhưng nó thể hiện một bước quan trọng để đạt được khả năng mở rộng cần thiết và hiệu quả chi phí để tạo điều kiện áp dụng rộng rãi hơn.
Bài viết này sẽ đi sâu vào EIP-4844 và tác động của nó đối với khả năng mở rộng của Ethereum. Chúng tôi sẽ giải thích khái niệm về sharding, cung cấp thông tin chuyên sâu về vai trò của tiêu chuẩn EIP và làm sáng tỏ tầm quan trọng của việc sharding các giao dịch blob trong hệ sinh thái Ethereum. Ngoài ra, chúng ta sẽ khám phá các tính năng và cơ chế chính được giới thiệu bởi EIP-4844, bao gồm các giao dịch mang đốm màu, thanh toán gas và mối quan hệ giữa EIP-4844 và sharding toàn diện. Bằng cách đọc bài viết này, bạn sẽ có được sự hiểu biết toàn diện về EIP-4844 và đóng góp của nó cho những nỗ lực không ngừng của Ethereum nhằm cải thiện khả năng mở rộng và giảm chi phí giao dịch.
Thông qua khám phá này, bạn sẽ đạt được những hiểu biết sau:
Khái niệm về sharding và tầm quan trọng của nó đối với khả năng mở rộng của Ethereum .
Vai trò của EIP-4844 như một bước trung gian hướng tới bảo vệ hoàn toàn.
Các tính năng và cơ chế được giới thiệu bởi EIP-4844, chẳng hạn như giao dịch mang đốm màu và thanh toán gas.
Cách EIP-4844 phù hợp với khả năng mở rộng và lộ trình giảm chi phí của Ethereum.
Người dùng có thể mong đợi các giao dịch nhanh hơn và phí thấp hơn từ việc triển khai EIP-4844.
Bằng cách đọc bài viết này, bạn sẽ có thể hiểu đầy đủ và đánh giá cao tầm quan trọng của EIP-4844 và tác động của nó đối với Ethereum đối với khả năng mở rộng lớn hơn và áp dụng rộng rãi.
EIP-4844 là gì?
EIP-4844 tập trung vào việc tích hợp các giao dịch shard blob trong mạng Ethereum. Sharding liên quan đến việc chia cơ sở dữ liệu thành các phân vùng hoặc phân đoạn nhỏ hơn để cải thiện hiệu quả và hiệu suất. Trong bối cảnh của Ethereum, sharding nhằm mục đích cải thiện chi phí giao dịch và tăng thông lượng. Ethereum có kế hoạch triển khai dank sharding (một loại sharding cụ thể), dự kiến sẽ tăng đáng kể TPS của Ethereum lên khoảng 100.000.
EIP-4844 tập trung vào việc tích hợp các giao dịch shard blob trong mạng Ethereum. Sharding liên quan đến việc chia cơ sở dữ liệu thành các phân vùng hoặc phân đoạn nhỏ hơn để cải thiện hiệu quả và hiệu suất. Trong bối cảnh của Ethereum, sharding nhằm mục đích cải thiện chi phí giao dịch và tăng thông lượng. Ethereum có kế hoạch triển khai dank sharding (một loại sharding cụ thể), dự kiến sẽ tăng đáng kể TPS của Ethereum lên khoảng 100.000.
So với các đề xuất bảo vệ Ethereum và không phải Ethereum trước đây, bảo vệ dank giới thiệu một số đổi mới. Nó tập trung vào việc cung cấp nhiều không gian hơn cho các khối dữ liệu, không chỉ các giao dịch. Ngoài ra, dank sharding triển khai một thị trường phí hợp nhất trong đó một người đề xuất chọn các giao dịch cho tất cả các phân đoạn, loại bỏ nhu cầu mỗi phân đoạn phải có người đề xuất riêng. Để giải quyết vấn đề về giá trị có thể trích xuất tối đa (MEV), phương pháp phân tách người đề xuất/người xây dựng cũng được giới thiệu.
EIP-4844 (Proto-Danksharding)
EIP-4844, còn được gọi là bảo vệ nhúng chìm sơ khai, là một bước trung gian để tiến tới bảo vệ nhúng toàn diện. Nó nhằm mục đích tăng TPS lên khoảng 1.000 và giới thiệu một loại giao dịch mới gọi là "giao dịch mang blob". Các giao dịch này bao gồm dữ liệu "đốm màu", đây là yếu tố chính để bảo vệ dank toàn diện. Việc triển khai EIP-4844 dự kiến sẽ diễn ra vào nửa cuối năm 2023, nhưng có thể có sự chậm trễ.
EIP-4844 hoạt động như thế nào?
EIP-4844 giới thiệu các giao dịch với các đốm màu, tương tự như các giao dịch thông thường nhưng có thêm các đối tượng lớn nhị phân được gọi là "đốm màu". Các đốm màu này được thêm vào khối, tăng dung lượng dữ liệu của khối mang đốm màu. Điều đáng chú ý là, không giống như chỉ đơn giản là tăng kích thước khối, bao gồm các đốm màu tránh được việc tăng kích thước khối trong Ethereum do các vấn đề như tập trung hóa và yêu cầu tính toán.
Các đốm màu có các thuộc tính khác so với các khối. Các khối được lưu trữ vô thời hạn và hiển thị với Máy ảo Ethereum (EVM), trong khi các đốm màu có thời gian tồn tại giới hạn và không nhìn thấy được đối với EVM. Các đốm màu tồn tại ở lớp đồng thuận Ethereum, không phải lớp thực thi, giúp giảm chi phí lưu trữ. EIP-4844 cũng chứa logic lớp thực thi, quy tắc xác thực, thị trường phí đa chiều và các thay đổi hệ thống khác cần thiết cho bảo vệ nhúng toàn diện trong tương lai.
Điều quan trọng cần lưu ý là EIP-4844 không thực sự triển khai sharding, nhưng đưa Ethereum đến gần hơn với mức độ khả năng mở rộng và chi phí cần thiết để đạt được sự chấp nhận rộng rãi. EIP-4844 cung cấp các lợi ích về khả năng mở rộng và tiết kiệm chi phí mặc dù không triển khai bảo vệ nhúng toàn diện.
EIP-4844 sẽ mang lại lợi ích gì cho người dùng?
EIP-4844 là một bản nâng cấp giao thức phù hợp với lộ trình tập trung vào Rollup của Ethereum. Quá trình chuẩn bị cho việc triển khai đang tiến triển nhanh chóng, mạng phát triển đã chạy và các thông số kỹ thuật cho việc nâng cấp sắp hoàn thiện.
Sau khi triển khai EIP-4844, người dùng có thể mong đợi những cải tiến đáng kể, chủ yếu ở dạng giao dịch nhanh hơn và phí thấp hơn. Việc triển khai thành công cũng sẽ nâng cao khả năng cạnh tranh của Ethereum trong không gian tiền điện tử.
Đối với những người dùng quan tâm đến việc truy cập dữ liệu từ các đốm màu cũ đã bị xóa, điều quan trọng cần lưu ý là mặc dù các đốm màu bị xóa sau một vài tuần, nhưng dữ liệu của họ vẫn có sẵn trong bộ lưu trữ dài hạn được duy trì bởi lớp đồng thuận Ethereum.
giao dịch blob
EIP-4844 giới thiệu một loại giao dịch mới, "giao dịch blob", dựa trên tiêu chuẩn EIP-2718. Loại giao dịch của giao dịch blob là BLOB_TX_TYPE và TransactionPayload là tuần tự hóa RLP của TransactionPayloadBody, bao gồm chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, to, value, data, access_list, max_fee_per_data_gas, blob_versioned_hashes, y_parity, Các trường khác nhau như r và S.
Không giống như các giao dịch tạo thông thường, trường "tới" của giao dịch blob phải đại diện cho một địa chỉ 20 byte và không được bằng không.
EIP-2718 ReceiptPayload của giao dịch blob bao gồm trạng thái, cumminance_transaction_gas_used, logs_bloom và nhật ký, được mã hóa dưới dạng RLP.
Định dạng giao dịch blob:
EIP-2718 ReceiptPayload của giao dịch blob bao gồm trạng thái, cumminance_transaction_gas_used, logs_bloom và nhật ký, được mã hóa dưới dạng RLP.
Định dạng giao dịch blob:
dấu hiệu
Các giá trị chữ ký y_parity, r và s cho giao dịch blob được tính bằng cách tạo chữ ký secp256k1 trên một thông báo cụ thể. Thông báo thu được bằng cách ghép nối và băm tuần tự hóa RLP của BLOB_TX_TYPE và chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, to, value, data, access_list, max_fee_per_data_gas và blob_versioned_hashes bằng thuật toán băm keccak256.
Tính chữ ký:
digest = keccak256(BLOB_TX_TYPE || rlp([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, to, value, data, access_list, max_fee_per_data_gas, blob_versioned_hashes]))
chữ ký = secp256k1_sign(digest, private_key)
y_parity, r, s = extract_signature_parts(chữ ký) mở rộng đầu
EIP-4844 mở rộng mã hóa tiêu đề hiện tại bằng cách giới thiệu hai trường số nguyên không dấu 64 bit mới: data_gas_used và thặng dư_data_gas. Trường data_gas_used cho biết tổng lượng gas dữ liệu được tiêu thụ bởi các giao dịch trong khối. Trường thặng_dữ_liệu_khí theo dõi giá trị tích lũy của khí dữ liệu vượt quá giá trị mục tiêu, với giá trị tối thiểu là 0. Các khối vượt quá mức tiêu thụ gas dữ liệu mục tiêu sẽ làm tăng giá trị của extra_data_gas, trong khi các khối thấp hơn giá trị mục tiêu sẽ làm giảm giá trị đó.
mã tiêu đề:
Opcode để lấy phiên bản băm
EIP-4844 giới thiệu một opcode mới gọi là BLOBHASH (sử dụng HASH_OPCODE_BYTE làm byte opcode) để thu thập các giá trị băm theo phiên bản. Mã lệnh này đọc chỉ mục uint256 big-endian từ ngăn xếp và thay thế nó bằng tx.blob_versioned_hashes[index] nếu chỉ mục nằm trong phạm vi của danh sách blob_versioned_hashes. Mặt khác, chỉ mục được thay thế bằng bytes32 có giá trị bằng không. Khí tiêu thụ bởi opcode này được xác định bởi HASH_OPCODE_GAS.
Mã lệnh BLOBHASH:
Mã lệnh BLOBHASH:
biên dịch trước đánh giá chấm
Đã giới thiệu tính năng tiền biên dịch mới tại POINT_EVALUATION_PRECOMPILE_ADDRESS để xác thực bằng chứng KZG. Bằng chứng cho thấy đốm màu được đại diện bởi một lời hứa đánh giá một giá trị nhất định tại một điểm cụ thể. Quá trình biên dịch trước này được thực hiện với chi phí POINT_EVALUATION_PRECOMPILE_GAS, xác minh sự liên kết của cam kết với versioned_hash được cung cấp và xác minh bằng chứng KZG bằng cách sử dụng các giá trị cam kết, điểm và bằng chứng.
pip đánh giá tiền biên dịch:
def point_evaluation_precompile(đầu vào: Số byte) -> Số byte:
versioned_hash = input[:32]
z = đầu vào[32:64]
y = đầu vào[64:96]
cam kết = đầu vào[96:144]
bằng chứng = đầu vào[144:192]
khẳng định kzg_to_versioned_hash(cam kết) == versioned_hash
khẳng định verify_kzg_proof(cam kết, z, y, bằng chứng)
trả về Byte(U256(FIELD_ELEMENTS_PER_BLOB).to_be_bytes32() + U256(BLS_MODULUS).to_be_bytes32()) Tính khí
EIP-4844 giới thiệu khí dữ liệu như một loại mới độc lập với khí thông thường. Tương tự như EIP-1559, khí dữ liệu tuân theo các quy tắc đích của riêng nó. Trường tiêu đề extra_data_gas lưu trữ dữ liệu liên tục cần thiết để tính giá gas dữ liệu. Hiện tại, chỉ có giá blob sử dụng gas dữ liệu.
Công thức tính khí:
data_fee = calc_data_fee(tiêu đề, tx)
tổng_dữ_liệu_gas = get_total_data_gas(tx)
data_gasprice = get_data_gasprice(tiêu đề)
calc_data_fee(tiêu đề, tx) = get_total_data_gas(tx) * get_data_gasprice(tiêu đề)
get_total_data_gas(tx) = DATA_GAS_PER_BLOB * len(tx.blob_versioned_hashes)
get_data_gasprice(header) = fake_exponential(MIN_DATA_GASPRICE, header.excess_data_gas, DATA_GASPRICE_UPDATE_FRACTION) Xác minh lớp đồng thuận
get_data_gasprice(header) = fake_exponential(MIN_DATA_GASPRICE, header.excess_data_gas, DATA_GASPRICE_UPDATE_FRACTION) Xác minh lớp đồng thuận
Trong lớp đồng thuận, đốm màu được tham chiếu nhưng không được mã hóa đầy đủ trong khối báo hiệu. Thay vào đó, nó lan truyền ở dạng "bỏ qua". Lớp đồng thuận đảm bảo tính khả dụng của các đốm màu và xử lý quá trình xử lý các khối đèn hiệu được cập nhật, truyền bá và đồng bộ hóa các loại khối đèn hiệu và bỏ qua blob mới, đồng thời tạo các khối đèn hiệu với các bỏ qua blob liên quan.
Xác thực lớp thực thi
Lớp thực thi thực thi các điều kiện hợp lệ cho các khối, bao gồm cập nhật thặng dư_data_gas, đủ số dư cho các giao dịch blob, tồn tại ít nhất một blob, xác minh hàm băm blob được phiên bản, xác nhận rằng giá gas dữ liệu hiện tại được đáp ứng, theo dõi tổng mức tiêu thụ gas dữ liệu và thực thi từng The giới hạn gas dữ liệu tối đa cho một khối.
mạng
Có hai đại diện mạng cho các giao dịch blob: PooledTransactions và BlockBodies. PooledTransactions sử dụng các định dạng trình bao bọc bao gồm EIP-2718 Giao dịch thanh toán, blobs, cam kết và bằng chứng. Các yếu tố này gói gọn dữ liệu cần thiết để xác thực các giao dịch blob. BlockBodies cho các phản hồi truy xuất nội dung tuân theo định dạng Giao dịch thanh toán giao dịch blob tiêu chuẩn EIP-2718.
Các nút không tự động phát các giao dịch blob cho các nút ngang hàng. Thay vào đó, các giao dịch này sẽ được quảng cáo bằng thông báo NewPooledTransactionHashes và có thể được yêu cầu thủ công bằng cách sử dụng GetPooledTransactions.
Tóm lại là
EIP-4844 là một bước quan trọng hướng tới phân đoạn đầy đủ, phù hợp với mục tiêu của Ethereum là cung cấp khả năng mở rộng quy mô đặc biệt cho các bản tổng hợp. EIP-4844 cho phép các bản tổng hợp tăng tỷ lệ lên tới 0,375 MB trên mỗi vị trí bằng cách giới thiệu các giao dịch blob phù hợp với định dạng mà thông số kỹ thuật phân mảnh cuối cùng mong đợi. Nó thiết lập một thị trường phí độc lập giúp giữ mức phí thấp trong khi hệ thống được sử dụng hạn chế.
Thiết kế của EIP-4844 tạo ra sự cân bằng giữa việc đạt được kết quả và giảm gánh nặng phát triển trong tương lai. Nó cải thiện đáng kể công việc cần thiết để triển khai phân đoạn đầy đủ, bao gồm các loại giao dịch mới, logic lớp thực thi, xác thực chéo đồng thuận, logic khối đèn hiệu và định giá gas độc lập thích ứng cho các đốm màu.
Công việc tiếp theo để kích hoạt phân đoạn đầy đủ bao gồm các phần mở rộng lấy mẫu 2D, triển khai lấy mẫu tính khả dụng của dữ liệu, phân tách người đề xuất/người xây dựng và các yêu cầu về bằng chứng lưu ký đối với người xác thực.
EIP-4844 cũng mở đường cho các cải tiến và dọn dẹp giao thức trong tương lai, chẳng hạn như áp dụng các quy tắc cập nhật giá gas của nó để tính phí cơ sở chính.
Tất cả bình luận