Following a full year of development, validation testing and network stress tests, IOST is finally ready for it’s mainnet launch happening on 25th February 2019. With less than a month to go for the mainnet launch, we feel that it is a good time to take a peek at all the development and new implementation IOST brings to the table.
In this article, we’ll be briefly going through some of the innovations of IOST and you can then decide for yourself if IOST is worthy of your attention!
*IOST price is trading at $0.0055 at time of writing
What is IOST?
IOST seeks to build an enterprise grade blockchain application platform that is capable of large-scale utilization while ensuring that it is highly secure and developer friendly. The major differentiating factor for the IOST project stems from the 5 main innovations that they are introducing:
(i) Proof-of-Believability Consensus Algorithm
(ii) Efficient Distributed Sharding
(iii) Atomix Commit Protocol
(v) Micro State Blocks
The IOST team claims that their innovations improve scalability without compromising on security and the immutability characteristics of the blockchain. In this article, we will be skipping the technical details so if you need further technical details, be sure to check out the IOST whitepaper!
What is the Proof-of-Believability?
IOST uses the Proof-of-Believability (PoB) as its consensus protocol which essentially combines Delegated Proof-of-Stake (DPoS) with a non-tradeable reputation score known as Servi. Additionally, it retains the decentralized aspects of PoS/PoW where hundreds of other nodes are also able to participate in block production (no limit to number of block producers). A brief run through on PoB:
- In IOST, any full node [b] with greater than 2.1 million IOST staked/voted will become a trusted node [c]. Trusted nodes process all transactions on the network which are further validated by regular nodes [a].
- As trusted nodes process transactions, they receive a non-tradeable reputation score called Servi.
- The trusted node with the highest Servi score mints the next block and has it’s Servi score reset to 0 after to ensure a fair block generation process where only good actors with a good history can mint the next block and without any monopoly.
With that, IOST’s PoB ensures only reputable trusted nodes mints new blocks in a fair manner while deterring malicious actors.
[a] Regular Node: Anyone running a single shard node. The role of a Regular Node is to sample and verify transactions processed by Trusted Nodes within their shards.
[b] Full Node: Anyone running a node in all shards. Full Nodes cannot mint new blocks and do not receive Servi (Reputation Points). Full Nodes become Trusted Nodes when they receive more than 2.1 million IOST votes.
[c] Trusted Node: Trusted Nodes are Full Nodes which receive greater than 2.1 million IOST votes. Trusted Nodes are able to receive Servi (Reputation points) for each transaction processed and are able to mint blocks. There is no limit to the number of Trusted Nodes.
Efficient Distributed Sharding (EDS): Bias-resistance on Sharding
Traditional sharding in blockchain splits the nodes on a network into small groups to verify a proportional number of transactions, enabling concurrent verification of transactions, thus increasing the network throughout. Sharding has been touted as a simple way to increase scalability but at the same time, there are concerns regarding the node selection process as well as resistance against malicious nodes.
IOST is researching on Distributed Random Protocol (DRP) together with Algorand and Omniledger to prevent the impact of the activity caused by malicious or failing nodes. As a result, this makes the shard sufficiently large and strongly bias-resistant.
TransEpoch: Staying Byzantine Fault Tolerant
IOST switches batches of nodes in and out when transitioning between epochs. To do so while maintaining full operability during transition/idle phases, IOST uses TransEpoch, a node-to-shard transition assignment protocol to enable the remaining validators to continue offering services while the newly joined nodes are downloading history data and bootstrapping.
The TransEpoch algorithm keeps the Byzantine Fault Tolerance (BFT) consensus on each shard to avoid malicious nodes from taking over the shards during transitions.
Atomix: Prevents double-spending
When a blockchain implements sharding, there is a high likelihood that transactions will be made across shards. This opens the network up to the risk of double spending and inaccuracies betweens ledgers of different shards.
IOST introduces Atomix, also known as Byzantine Shard Atomic Commit protocol to support inter-shard transactions. This will prevent double spending and ensures the consistency of transactions. Here is how Atomix works:
- Node a in shard A wants to send funds to node b in shard B.
- Nodes in shard A approves the transaction and log it in shard A’s blockchain.
- The client locks a’s funds into a transaction message and sends it to B.
- A sends the transaction to B’s blockchain for validation.
- Nodes in B approves the transaction, and b receives the funds.
- If at any point in the process the nodes reject the transaction, the funds are returned to a.
Micro State Blocks (MSB): Blockchain size reduction
Blockchain storage is another major concern for blockchain technologies, especially for blockchains with high throughput. To minimize the storage and bootstrapping costs for validators, IOST uses Micro State Blocks, a blockchain storage pruning approach to summarize the full state of a shard’s blockchain.
In each shard, only the past MSB headers and blockchain state is distributed across multiple shards. With this mechanism in place, the clients would not be able to prove the existence of past transactions and would need to ask the validators of the shard to create existence proof for transactions. This will significantly reduce the size of each shard, thus resulting in more efficient use of storage space.
Roadmap and Current Progress
Following months of rigorous testing and bug fixing from their public beta, IOST is now on track with their initially proposed roadmap and the mainnet, V1.0 Himalaya is set to launch on 25th February 2019. The IOST network client and wallet is also set to be released within the same time period as well.
Moving forward in Q2 of 2019, the team seeks to upgrade the network to V2.0 Himalaya by introducing their native sidechain to further improve the throughput rate and scalability of the network. IOST is also set to launch decentralized applications and commercial applications on the network.
Blockchain technology is still in its infancy, and it’s arguable that many of the existing tech are simply insufficient to cater for demands on a global scale while staying true to being a distributed, trustless system.
With IOST’s mainnet launch, their tech will be put to the real test to see if the innovations that the IOST team brings can be as useful as they claim. Regardless of that, the IOST team has worked hard and it is definitely exciting to see how things will turn out and to see if the team can achieve their goal in delivering an application platform that’s highly scalable, secure and immutable.