Designing Network¶
Mitum is designed for general purpose blockchain. To fill this requirement, policy and data of mitum can be configurable and manageable by practical way. The network designer will design his/her network in 2 parts:
- Data
- Policy
Data¶
Simply to say, data is the contents of block. In block any kind of arbitrary contents can be stored. There are several built-in data types in mitum, and new types of data can be defined by the network designer.
Roughly data can be categorized by 2 kinds:
- Defined data
- Anonymous data
All data belongs to the predefined type and has the unique id within globally.
Defined data
is the data, which is statically defined outside block. It is managed in each node and shared thru network. It is under control of its type.
Anonymous data
represents any kind of undefined data.
The size of data is limited up to certain amount by network policy. Basically data can be created, updated and removed.
Policy¶
Most of distributed system should share the basic principles to the siblings. These principles can be shared and should be synced. For example, how many nodes should be selected as acting suffrage group and the way to select proposer from acting suffrage group.
In mitum these kinds of principles, most of the policies are managed in block like data. This means that:
- Policy can be shared to the entire network without additional mechanism.
- Policy can be updated by consensus like data.
Note
The initial policy is set by the network designer.
Model¶
By designing data and policy, the designer can build and launch his/her own model of network.
For example, the designer want to build currency model in mitum. He/Her can define several currencies and it’s related data and add additional policy.
Data types:
- Account
- Balance
Policy:
- Total amount
- Minimum amount of new balance
- Multisig
- Inflation
- etc