How mitum Works¶
As described in the section, “Introduction”, the mitum network consists of the multiple consensus nodes.
- Standalone mode
- For development or research purpose, you can compose the network with only one node. In standalone mode, every operation will be same, even with the consensus process.
As mitum is blockchain, basically mitum network tries to store the incoming data by trusted way. This is simple process for new data.
- New message is received by one of nodes in the network.
- New message contains the user data.
- Message and it’s data are validated by the nodes.
- Each node tries to get the agreement for the new message and it’s data.
- If nodes get agreement to store new data, the new data will be established in the next block.
The important things in the process are,
- The agreement will be done by the consensus protocol, ISAAC+, and the agreement is made by voting with consensus nodes
- All the incoming message is validated by consensus nodes.
- Only agreed data is established(stored) in the block.
This is the normal process of PBFT based blockchain. Mitum follows the classic scenario of PBFT.
For detailed explanation, we can assume the simple situation,
- 10 nodes:
- suffrage group members: all node
- number of acting suffrage group members: 4 nodes
- Each node can reach others.
- Each node does not share the storage and network with others.
m0, … ,
m8are already working and
m9is just booted.
This example situation will be applied throughout this document.
4 nodes is the minimum number of consensus nodes. The detailed mitum network will be described in the section, “Designing Network”.
The detailed information about the bootstrapping mitum, will be described in the section, “”
About the consensus process, the section, “Consensus Protocol, ISAAC+”.
m9 is booted¶
m9are booted, each node will check it’s current block state and environment to join the network. At this time, node also tries to check the global network consensus state, which block height and round are proceeded currently.
- When everything is OK for joining consensus,
- The next consensus voting is for the next block, which has the height,
H33and it’s round is
New data message received¶
m9got the new data message,
B1. It has the data,
m9tries to broadcast
B1to the other consensus nodes.
- The network selects
m1as the new proposer for the next block(
m1will propose the new proposal,
- All the consensus nodes tries to establish
P1for the next block.
- To establish
P1, the majority should be reached for 2 steps.
- When each node receives the new proposal,
P1from the legitimated proposer, it estimates
P1and vote on
P1is passed thru SIGN and ACCEPT voting stage,
P1will be established in the next block(