newsence
來源篩選

EIP-8159: eth/71 - Block Access List Exchange

Ethereum Magicians

Discussion topic for EIP-XXXX: eth/71 - Block Access List Exchange PR: TBD 1 post - 1 participant Read full topic

newsence

EIP-8159:eth/71 - 區塊訪問列表交換

Ethereum Magicians
16 天前

AI 生成摘要

這是關於 EIP-XXXX 的討論主題,具體為 EIP-8159,涉及 eth/71 - 區塊訪問列表交換。該主題由 Ethereum Magicians 託管,目前有一位參與者發布了一則貼文。

EIP-8159: eth/71 - 區塊存取列表交換 - EIPs 網路 - 以太坊魔法師團體

This EIP proposes a new sub-protocol for the Ethereum peer-to-peer networking layer, eth/71, to facilitate the exchange of block access lists.

此 EIP 提出一個新的以太坊點對點網路層子協議 eth/71,以促進區塊存取列表的交換。

Abstract

This EIP introduces a new sub-protocol, eth/71, for exchanging block access lists between Ethereum nodes. This sub-protocol aims to improve the efficiency of block propagation by allowing nodes to request and receive only the access lists of blocks, rather than the entire block data. This can significantly reduce bandwidth usage, especially in scenarios where nodes are primarily interested in the access lists for transaction execution or validation.

摘要

此 EIP 引入一個新的子協議 eth/71,用於在以太坊節點之間交換區塊存取列表。此子協議旨在透過允許節點僅請求和接收區塊的存取列表,而不是整個區塊數據,來提高區塊傳播的效率。這可以顯著減少頻寬使用量,尤其是在節點主要對交易執行或驗證的存取列表感興趣的情況下。

Motivation

Currently, Ethereum nodes exchange entire blocks during block propagation. However, in many cases, nodes only need the access lists of blocks for specific tasks, such as transaction execution or validation. Downloading the entire block data consumes unnecessary bandwidth and resources.

動機

目前,以太坊節點在區塊傳播期間交換整個區塊。然而,在許多情況下,節點只需要區塊的存取列表來執行特定任務,例如交易執行或驗證。下載整個區塊數據會消耗不必要的頻寬和資源。

By introducing eth/71, nodes can request and receive only the access lists of blocks, reducing bandwidth usage and improving the overall efficiency of block propagation. This can be particularly beneficial for resource-constrained nodes or nodes with limited bandwidth.

透過引入 eth/71,節點可以僅請求和接收區塊的存取列表,從而減少頻寬使用量並提高區塊傳播的整體效率。這對於資源受限的節點或頻寬有限的節點尤其有利。

Specification

The eth/71 sub-protocol defines the following messages:

  • GetBlockAccessLists(blockHashes: List[Hash]): Requests the access lists for the specified block hashes.
  • BlockAccessLists(accessLists: List[List[AccessList]]): Returns the access lists for the requested block hashes. The order of the access lists corresponds to the order of the block hashes in the GetBlockAccessLists message.

規範

eth/71 子協議定義了以下訊息:

  • GetBlockAccessLists(blockHashes: List[Hash]): 請求指定區塊雜湊的存取列表。
  • BlockAccessLists(accessLists: List[List[AccessList]]): 返回請求的區塊雜湊的存取列表。存取列表的順序對應於 GetBlockAccessLists 訊息中區塊雜湊的順序。

The AccessList is defined as follows:

AccessList = List[AccessListEntry]AccessListEntry = (address: Address, storageKeys: List[Hash])

AccessList 定義如下:

AccessList = List[AccessListEntry]AccessListEntry = (address: Address, storageKeys: List[Hash])

The eth/71 sub-protocol is negotiated during the initial handshake between Ethereum nodes. If both nodes support eth/71, they can use it to exchange block access lists.

eth/71 子協議在以太坊節點之間的初始握手期間進行協商。如果兩個節點都支援 eth/71,則可以使用它來交換區塊存取列表。

Rationale

The design of eth/71 is based on the following considerations:

  • Simplicity: The sub-protocol is designed to be simple and easy to implement.
  • Efficiency: The sub-protocol aims to reduce bandwidth usage by allowing nodes to request and receive only the access lists of blocks.
  • Compatibility: The sub-protocol is designed to be compatible with existing Ethereum nodes.

理據

eth/71 的設計基於以下考量:

  • 簡潔性: 子協議設計得簡單易於實現。
  • 效率: 子協議旨在透過允許節點僅請求和接收區塊的存取列表來減少頻寬使用量。
  • 相容性: 子協議設計為與現有的以太坊節點相容。

Backwards Compatibility

This EIP introduces a new sub-protocol, eth/71, which is optional. Nodes that do not support eth/71 can continue to use the existing eth/66 sub-protocol for block propagation.

向後相容性

此 EIP 引入了一個新的子協議 eth/71,它是可選的。 不支援 eth/71 的節點可以繼續使用現有的 eth/66 子協議進行區塊傳播。

Security Considerations

The eth/71 sub-protocol does not introduce any new security risks. The access lists exchanged through eth/71 are already part of the block data, and nodes are responsible for verifying the integrity of the block data.

安全考量

eth/71 子協議沒有引入任何新的安全風險。透過 eth/71 交換的存取列表已經是區塊數據的一部分,節點負責驗證區塊數據的完整性。