Skip to main content

Block

Blocks are batches of transactions and behaviors with a hash of the previous block in the chain. This links blocks together (in a chain) because hashes are cryptographically derived from the block data. This prevents fraud, because one change in any block in history would invalidate all the following blocks as all subsequent hashes would change and everyone running the blockchain would notice.

Structure

  • Header
  • Transactions
  • Behaviors
  • Signature (of all aforementioned data)
  • ommers block headers

Contains all the ETH block header values, additionally provides the behavior total quantity, VDF difficulty, VDF challenge and VDF result, from these information we can check, in a very short time, that the VDF solution provided by the miner is valid. We can also run the challenge computation to confirm that the miner didn't cheat the challenge to get elected as the miner. VDF difficulty is the delay parameter, that can also be recomputed from public information.

Body

Also contains the behaviors that were taken in the pool of available behaviors, along with their signatures.

Transactions

Behaviors

Signature

Signature of all aforemetioned data

Block size

See https://docs.google.com/document/d/1UH5q3WD8oA4DDXVSfjFiA5PRlaSLtGLS8yNza850Poo/edit#

Block time

Provided as a parameter, we want the chain to output a block at an average desired time. To narrow down the time between each block, we adjust a difficulty parameter to converge to it.