Prysm setup Clone the eip4844 branch in the Prysm repo and build the binaries $ git clone https://github.com/prysmaticlabs/prysm.git $ cd prysm $ git checkout eip4844 $ bazel build //cmd/prysmctl $ bazel build //cmd/beacon-chain $ bazel build //cmd/validator $ cd ../
12/19/2022[toc] What's Changed? Please read through this document carefully as there have been some changes since the first Devnet. Here's a summary: The geth and beacon clients have been updated New geth and beacon genesis Some beacon chain and execution networking parameters have changed New geth/prysm bootstrap node addresses Blob-utils has been updated to support Devnet v2
10/12/2022We need to tweak the way optimistic sync works. Right now, a VALID block means all of its ancestors will also become VALID blocks. This breaks with EIP-4844 when blob sidecars are introduced as an optimistcally imported block lacking its sidecar will be incorrectly promoted to VALID. This makes It then becomes easy for an attacker to trick peers into treating actual invalid blocks with missing data as valid. To fix this all we have to do is change the block used as a basis for the block status transition. When a block transitions from NOT_VALIDATED to VALID, identify the latest ancestor whereby all of its own ancestors satisfy data availability: (using the same type definitions in the optimistic sync spec) def latest_valid_candidate_block(opt_store: OptimisticStore, block: BeaconBlock) -> BeaconBlock: # Assuming the input `block` is VALID chain = [] while True:
6/30/2022