xxxxxxxxxx
Sign in to import from GitHub:
Link to GitHub:
Or start with a template:
Goals: Determine whether the rollout of 4444s should bump the eth
protocol version or not.
TLDR: We should probably bump the eth
protocol version.
Short answer is “No”
The actual message payloads to the eth
protocol do not change, and so the the bump is purely anchored to client behavior.
Lets look at what happens in both cases to a client that doesn’t update.
If we do bump the eth
protocol version, then the client will remain on the old version of the protocol while updated clients will migrate to the new version. Assuming broad adoption of the new protocol version, clients that do not update will face a diminished group of viable peers. The peers that such a client can find will continue to serve them historical data from pre-merge. Such a client may face degraded performance while attempting to establish reliable peer connections.
If we do not bump the eth
protocol version, then all clients will remain on the same version. Clients that update will provide empty responses to requests for historical block data. In connections between updated and not-updated clients there will be requests for historical block data which the updated client does not have. Some clients may choose to implement functionality to disconnect clients that ask for pre-merge data. A client that does not update will see a network of nodes that predominantly do not answer their requests for data and will face degraded performance during sync until they find reliable peers.
Both of these seem to result in clients that do not update facing some form of degraded performance.
Not updating the protocol version means that clients that do choose to update will also face data requests for data they do not have from clients that do not update.
Not updating the protocol version also means that clients will have to make subjective decisions about how to treat requests for pre-merge data, such as whether to they disconnect. This client behavior can be well defined if we do update the protocol version.
It seems that there are some mild benefits to bumping the eth
protocol version. Specifically, allowing updated clients to have well defined behavior in how they deal with incoming requests for pre-merge data.
There may be some concerns around protocol fragmentation, which I believe are anchored to the idea that those implementing 7801 may want to stay on the old protocol version to enable transfer of pre-merge history data.
Two viable solutions for this would be to:
GetBlockBodies/GetReceipts
messages in whatever new DevP2P sub-protocol gets defined for EIP-7801Both of these can avoid fragmentation of the eth
protocol and allow for all clients to move to the new protocol version regardless of whether they implement 7801 or not.
https://github.com/ethereum/EIPs/pull/9087 has updated 7801 to be a fully separate protocol.
or
Do you really want to delete this template?
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Please sign in to GitHub and install the HackMD app on your GitHub repo. Learn more
Sign in to GitHubHackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
Syncing