diff --git a/content-keys-test-vectors.md b/content-keys-test-vectors.md index 145c870..43ec0a6 100644 --- a/content-keys-test-vectors.md +++ b/content-keys-test-vectors.md @@ -140,17 +140,3 @@ content_key = 0x02d1c390624d3bd4e409a61a858e5dcc5517729a9170d014a6c96530d64dd862 content_id = 0xa888f4aafe9109d495ac4d4774a6277c1ada42035e3da5e10a04cc93247c04a4 content_id: U256 = 76230538398907151249589044529104962263309222250374376758768131420767496438948 ``` - -#### Epoch Accumulator Key - -##### Input Parameters -``` -epoch_hash = 0xe242814b90ed3950e13aac7e56ce116540c71b41d1516605aada26c6c07cc491 -``` - -##### Expected Output -``` -content_key = 0x03e242814b90ed3950e13aac7e56ce116540c71b41d1516605aada26c6c07cc491 -content_id = 0x9fb2175e76c6989e0fdac3ee10c40d2a81eb176af32e1c16193e3904fe56896e -content_id: U256 = 72232402989179419196382321898161638871438419016077939952896528930608027961710 -``` diff --git a/history-network.md b/history-network.md index c06fc42..870fb00 100644 --- a/history-network.md +++ b/history-network.md @@ -8,8 +8,6 @@ The chain history network is a [Kademlia](https://pdos.csail.mit.edu/~petar/pape Execution chain history data consists of historical block headers, block bodies (transactions and ommer) and block receipts. -In addition, the chain history network provides individual epoch accumulators for the full range of pre-merge blocks mined before the transition to proof of stake. - ### Data #### Types @@ -19,7 +17,6 @@ In addition, the chain history network provides individual epoch accumulators fo * Transactions * Ommers * Receipts -* Header epoch accumulators (pre-merge only) #### Retrieval @@ -28,7 +25,6 @@ The network supports the following mechanisms for data retrieval: * Block header by block header hash * Block body by block header hash * Block receipts by block header hash -* Header epoch accumulator by epoch accumulator hash > The presence of the pre-merge header accumulators provides an indirect way to lookup blocks by their number, but is restricted to pre-merge blocks. Retrieval of blocks by their number for post-merge blocks is not intrinsically supported within this network. @@ -252,18 +248,6 @@ Note the type-specific encoding might be different in future receipt types, but for all current receipt types. -#### Epoch Accumulator - -``` -epoch_accumulator_key = Container(epoch_hash: Bytes32) -selector = 0x03 -epoch_hash = hash_tree_root(epoch_accumulator) - -content = SSZ.serialize(epoch_accumulator) -content_key = selector + SSZ.serialize(epoch_accumulator_key) -``` - - ### Algorithms #### The "Header Accumulator" @@ -316,6 +300,8 @@ def update_accumulator(accumulator: MasterAccumulator, new_block_header: BlockHe The network provides no mechanism for acquiring the *master* version of this accumulator. Clients are encouraged to solve this however they choose, with the suggestion that they include a frozen copy of the accumulator at the point of the merge within their client code, and provide a mechanism for users to override this value if they so choose. +The network provides no mechanism for acquiring the *epoch* versions of this accumulator. Bridges are encouraged to store a local copy of the [Accumulators Repository]() in order to build proofs for pre-merge blocks. It is possible that epoch accumulators will be introduced as a network type to facilitate `block_hash` by `block_number` lookups (for pre-merge blocks). If you find this use-case valuable, or any other use case for storing epoch accumulators in the network, please open an issue. + #### AccumulatorProof The `AccumulatorProof` is a Merkle proof as specified in the