Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

IDItemEPICImportanceADR/RFCBrief descriptionNotes
IF2-200World State View

Status
colourGreen
titleMUST


Iroha must have an in-memory representation of the World State View for optimization of access and change time.In-memory, read fast data representation of the current World's State.
IF2-201Kura

HI2-1

HI2-17

HI2-18

HI2-5

Status
colourGreen
titleMUST


Iroha must have abstraction over the disk-based block storage, which will cover all validation- and world-state-view-related functionality.

Iroha should have the Kura as a detachable library, so other Hyperledger solutions can easily reuse it.

Kura is a decorator on top of Disk Block Storage and provides validation and World State View synchronization functionality. 
IF2-202Blocks Synchronization

HI2-2

HI2-43

Status
colourGreen
titleMUST

Block SynchronizationIroha must perform seamless synchronization of block storage between peers, so new peers or lagging ones will quickly synchronize their state with the network and join the decision-making process in consensus.
//TODO Egor Ivkov please add a small note about the gossip design and concernsPeers periodically gossip with each other, sharing the latest block hash. If the hashes differ, then the peers discover they are out of sync and request synchronization.
IF2-203Merkle Tree

Status
colourGreen
titleMUST

Merkle Tree

//TODO: Egor Ivkov , may I ask you to fill that?Iroha provides a general purpose implementation of a Merkle Tree, which is used to verify the state of committed blocks and their transactions.


Consensus

IDItemEPICImportanceADR/RFCBrief descriptionNotes
I2-300SumeragiHI2-3

Status
colourGreen
titleMUST


Iroha must have a reliable BFT consensus of blocks between all peers, which should keep effectively prevent attacks and malfunctioning in case of n of 2n+1 nodes are malicious/failing.

(details of Sumeragi are described in the white paper)

Sumeragi should be implemented as a detachable component and be available as a library, so other Hyperledger solutions can reuse it.


...