IOS (Internet of Services) is an open-source, decentralized blockchain network based on a consensus algorithm called “Proof of Believability” (PoB) – a protocol that is developed to ensure the security and efficiency of transactions on the network. IOST is the native token of IOS Network. The team at IOST aims to increase the system’s throughput enormously while guaranteeing security.
Currently, Dapp.com has 17 distinct IOST dapps listed on our platform with Endless Game leading in both 24h users and 24h transactions. For those who want to start building their own dapps on top of the IOST blockchain, it is imperative to truly take the time to understand how IOST works differently from other blockchains. This article will walk you through the 5 mechanisms that support the IOST network.
The IOST has four mechanisms:
Proof-of-Believability (PoB) guarantees that the IOST nodes are with negligible probability to misbehave, while significantly increasing the transaction throughput by size-one-shard. It separates all the nodes into two leagues: believable and normal.
First of all, believable nodes process transactions quickly. Then the normal nodes validate samples of the transactions and provide verifiability. Based on its believability score (it is calculated by multiple factors, such as token balance, contributions to the community, reviews, etc.), a node is selected as the believable league. Normal nodes are able to ensure that the believable nodes are acting honestly. If a normal node catches a believable node acting dishonestly, that believable node will lose all of its tokens and its believability score will go back to zero.
TransEpoch is node-to-shard transition assignment protocol that allows remaining nodes to continue working while having new nodes bootstrap and download history data. By using TransEpoch, IOST switches batches of nodes in and out of shards when transitioning between epochs. The TransEpoch algorithm keeps the Byzantine Fault Tolerance (BFT) consensus for each shard during the transition and keeps the shards secure so that malicious nodes won’t be able to take over the shard during the whole process.
Byzantine Shard Atomic Commit (Atomix) is a two-step inter-shard atomic commit protocol that guarantees transaction atomicity in Byzantine setting. Here’s an example of a cross-shard transaction from node a at shard A to node b at shard B:
Node a in shard A wants to send a fund to node b in shard B. If the nodes in A approve the transaction, the transaction is logged in A’s blockchain. At the same time, the client will lock the fund into a transaction message (proof-of-acceptance) and send it to B. A sends the transaction to B’s blockchain for validation. If all nodes in B approve the transaction, b receives the fund. If the TX is rejected by nodes in A, the fund returns to a.
To minimize the storage and bootstrapping costs for validators, IOST uses Micro State Blocks (MSBs). So each shard only stores the headers of previous blocks and the blockchain state is dispersed across multiple shards. Because of the MSB generation protocol, nodes only need to validate the last part of the blockchain instead of the entire blockchain.
Source: IOST White Paper