Skip to content

Transactional Layer

Alexander Chepurnoy edited this page Feb 22, 2016 · 7 revisions

Transactional layer is defined by few abstract interface. A concrete implementation needs to implement them.

Block

A block is a an atomic batch of state modifiers network participants are agreed on.

A block has:

  • a link to a previous block

  • transactional data: a sequence of transactions, where a transaction is an atomic state update. Some metadata is possible as well(transactions Merkle tree root, state Merkle tree root etc)

  • consensus data to check whether a block was generated by a right party in a right way. E.g. "baseTarget" & "generatorSignature" fields in the Nxt block structure, nonce & difficulty in the Bitcoin block structure

  • a signature(s) of a block generator(s)(there is no signature for a block in Bitcoin though)

  • timestamp

  • additional data: block structure version no etc

Block interface in Scorex following this definition pretty well.

State & History

A state is a result of sequential blocks applying, starting from a genesis block.

Clone this wiki locally