Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Execution Layer Meeting 169 #850

Closed
timbeiko opened this issue Aug 17, 2023 · 8 comments
Closed

Execution Layer Meeting 169 #850

timbeiko opened this issue Aug 17, 2023 · 8 comments

Comments

@timbeiko
Copy link
Collaborator

timbeiko commented Aug 17, 2023

Meeting Info

Agenda

@yperbasis
Copy link
Member

I suggest to discuss our strategic vision around Verkle and state expiry. To my mind Vitalik's proposal makes a lot of sense. If we follow it, we don't need to translate a chunk of the Merkle–Patricia trie into Verkle with every block, which is IMO in-elegant and complicated. I'm a fan of both Verkle and state expiry and Vitalik's proposal offers a nice path to reach both.

@timbeiko
Copy link
Collaborator Author

Added @yperbasis!

@timbeiko
Copy link
Collaborator Author

My 2c on testnet ordering for Dencun:

  • devnet-9: one more devnet, spec frozen, which we stress-test. Assuming we're happy with it, move to testnets, otherwise, devnet-10
  • Holesky: fork this testnet first given it's relatively new, and the validator set will be small near genesis.
  • Goerli: fork second, given it has the most user activity (apps, L2s, validators), but also is being deprecated. Dencun should be the last fork on Goerli IMO.
  • Sepolia: last one before mainnet

In parallel, we can tell validators to use Ephemery to test their setups, but given it doesn't have first-class support in all clients yet, I wouldn't sequence it linearly with other testnets.

@etan-status
Copy link

I finally got to update the SSZ eips for transactions / receipts to address the latest feedback.

Previously, we have discussed two approaches, based on SSZ Unions, and a normalized SSZ container. Both of these have now been fused together, to have something based on a PartialContainer. The PartialContainer takes the design space flexibility and the compact serialization of the SSZ Union, but ensures that common fields that are present in multiple cases end up at the same Merkle tree generalized index like in the normalized SSZ container. This essentially combines all the advantages and could also be reusable for other purposes, sunsetting the currently unused SSZ Union and SSZ Optional types.

  1. https://eips.ethereum.org/EIPS/eip-7495: SSZ PartialContainer
  2. https://eips.ethereum.org/EIPS/eip-6493: SSZ SignedTransaction / PooledTransaction / Receipt
  3. https://eips.ethereum.org/EIPS/eip-6404: SSZ transactions_root
  4. https://eips.ethereum.org/EIPS/eip-6466: SSZ withdrawals_root
  5. https://eips.ethereum.org/EIPS/eip-6465: SSZ receipts_root

I have also created a showcase website at https://eth-light.xyz that allows inspection of both the existing RLP and the proposed SSZ PartialContainer based format. The website is meant for use on desktop / laptop only, it is not mobile friendly. It requires JavaScript to be enabled, but doesn't work in Tor browser due to lack of Shared Array Buffer. A regular Firefox via Tor should work.

To use the website, wait for the latest blocks to be synced in the left sidebar, then click the Transactions button. A list of all transactions within the block is populated. The buttons on the left are for the transaction byte representation, the buttons on the right are for the receipt byte representation. SSZ buttons indicate size after Snappy framed compression as proposed in the EIP. RLP is uncompressed as that's how it is sent over RLPx. The URL can be updated manually to load any transaction by hash to allow inspecting historical transactions. Use #rlp / #receipt/rlp / #ssz / #receipt/ssz suffix for the various views.

Note that when inspecting very old receipts of the 'Homestead' scheme, the default Cloudflare gateway currently has a bug where it incorrectly reports those with a Status code instead of the intermediate post-state root. Switching to an Infura gateway fixes that, but that comes with their logging privacy policy. I have reached out to Cloudflare for a fix, but it is still pending. An earlier bug where they sometimes omitted withdrawals_root from block responses was already addressed.

@barnabasbusa
Copy link
Member

Small PR for adjusting cancun time for Holesky: eth-clients/holesky#68

@barnabasbusa
Copy link
Member

Holesky: fork this testnet first given it's relatively new, and the validator set will be small near genesis.

1.48M is not really that small.

@timbeiko
Copy link
Collaborator Author

@barnabasbusa I meant the number of operators, my bad!

@timbeiko
Copy link
Collaborator Author

Closed in favor of #857

Santhosh1692 added a commit to Santhosh1692/pm-1 that referenced this issue Sep 12, 2023
Santhosh1692 added a commit to Santhosh1692/pm-1 that referenced this issue Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants