You’ve heard it before: blockchain is too slow. It’s okay for small applications or for very specific use cases, but don’t try to run a service like Facebook or Amazon on it. These companies process millions of transactions a day from the millions of users that interact with them. Bitcoin and Ethereum have such a low throughput, as measured in transactions per second (TPS), that they would clog almost instantaneously under such heavy strain.
It’s easy to think that this is a problem inherent to blockchain technology itself. After all, one of the defining features of blockchain technology is that it’s decentralized. Not a single entity controls the process for grouping and verifying transactions. In fact, in its purest form, anyone can create a node and start mining to participate in the grouping and verification process.
But the more people participating, the longer it takes for a single group of transactions (a block) to be verified, because at least 51% of all the nodes need to agree that the block conforms to all the rules and can be added to the blockchain.
But blockchain technology was never inherently slow. Blockchains were slow because of their consensus protocols and each blockchain’s specific architecture. In reality, blockchains technology can be as fast as any other fundamental technology that needs to process transactions. It just needs to be engineered correctly.
And that’s where IOST comes in.
What is IOST?
IOST stands for the “Internet of Services Token”. The company is headquartered in Singapore, has close to fifty full-time employees, and is led by co-founder and entrepreneur Jimmy Zhong. Other members of the team have worked at Uber, Google, Morgan Stanley, and Deloitte, or have graduated from top universities such as Harvard, Princeton, and Brown. It’s a talented team.
IOST wants to provide a high-speed, blockchain network that can scale for global adoption. This isn’t particularly new; many blockchain projects focus on scalability. The difference is that IOST wants to deliver this network without becoming more decentralized. And that’s new, because most blockchain projects that have a higher TPS make some sort of compromise when it comes to decentralization.
EOS, for example, has a consensus protocol called Delegated Proof of Stake (DPoS), where 21 supernodes control and maintain the network. For some people, 21 large entities to control a blockchain network is extremely centralized, while for others it’s decentralized enough. But it’s nonetheless a compromise on decentralization when compared to networks such as Ethereum or Bitcoin, which are slow but have thousands of nodes to control and maintain the network.
The IOST public Testnet has already achieved processing speeds of roughly 8,000 TPS. Even for relatively centralized projects with a PoS or DPoS consensus mechanism, that’s very fast. Of course, that’s in a controlled lab environment, so we’ve yet to see whether the IOST Mainnet, which launched at the end of February this year, will hit such speeds. Ultimately, IOST wants its blockchain to have a TPS of over 100,000 TPS.
How Does it Work Technically?
The viability of IOST currently relies almost entirely on its technology. In order to attract new blockchain developers or move blockchain developers over from other blockchains platforms such as EOS or Ethereum, it needs to provide a platform that’s technically much better than its competitors. So IOST is inevitably a very technical project, and so this post will be too. Here are some of the key technologies of IOST:
- Efficient Distributed Sharding (EDS)
Blockchain projects have so far solved the scalability problem in two ways: they either have fewer nodes to reach consensus (such as EOS or TRON) or they implement a technical solution such as sharding (which Ethereum is currently implementing).
Sharding means splitting the network into subspaces, or shards. Without sharding, every node in the network needs to verify the same block of transactions. Its output is always one block of transactions. Sharding allows for different blocks of transactions to be verified concurrently. EDS specifically splits the workload across IOST nodes, while also monitoring the workload on those nodes and selecting nodes in such a way that the network doesn’t slow down.
But sharding has security implications, because smaller networks are easier to attack. Typical attacks are double-spend attacks: imagine I transfer 100 IOST from address X to address Y, while simultaneously checking the balance of address X. Because both actions happen at the same time and could be dealt with by different shards, that’s a problem.
IOST uses something they call “Atomix” to prevent its EDS technology from double-spend attacks. It’s explained with plenty of technical jargon in IOST’s technical whitepaper, but let’s keep it simple by saying that all the final transactions are checked between shards for transaction consistency with Atomix. If there’s no contradictory information, the transaction will process successfully. If there is, the transactions with contradictory information will fail as a single unit and will not be added to the blockchain.
- Distributed Randomness Protocol (DRP)
The Proof of Stake consensus protocol assigns validators the right to produce blocks on a random schedule. But it’s notoriously difficult for a computer to produce a random number. Any supposedly random number supplied by a computer is generated by an algorithm, and so by definition cannot be fully random. It’s pseudo-random at best.
This poses a security threat, because someone could figure out the algorithm and guess which node will be given a certain role in a PoS consensus mechanism. This might seem like nitpicking, but blockchain platforms that have hundreds of millions of dollars moving through them provide plenty of incentive for people to try and game the system.
IOST’s DRP is one of the key protocols in its EDS technology. It’s a distributed random number generator that doesn’t try to be truly random (which is impossible), but that at least tries to be as unpredictable as possible. It has the following requirements (taken from the whitepaper):
- The system should be able to make progress when the ratio of dishonest participants is below a certain threshold, and when nothing bad would happen when making progress.
- The final random number must be unforgeable and unbiased, minus negligible probability.
- A dishonest participant should not be able to try to generate the random number that favors the participant more than once, even if multiple dishonest participants work together.
- Third parties should be able to verify the output by faithfully running the DRP protocol.
While most blockchain projects rely on either Proof of Work or a third party to generate randomness, IOST has built this protocol internally to mitigate the security risk that comes with trusting a third party.
- Proof of Believability (PoB)
Nearly all consensus protocols today give power to the wealthy. Proof of Work requires you to buy increasingly expensive, specialized computer equipment to improve your hashrate. No longer can you mine bitcoin from your potato computer, while playing Counter-Strike: Source in the meantime. Mining requires dedicated machines, and the mining hardware required for that costs thousands of dollars.
Proof of Stake and Delegated Proof of Stake give power to the wealthy too, because those with more tokens staked have more votes. To a degree, this is inevitable and even wanted. Those who have more at stake are less likely to cheat the system. But it doesn’t necessarily mean that the ones with supposedly plenty of money at stake aren’t dishonest. After all, while $1 million at stake might be a lot for someone who’s worth $10 million, it’s not for a billionaire.
IOST’s consensus protocol is an altered version of the classic PoS model. It’s called Proof of Believability, and it separates nodes on the IOST blockchain in two groups: believable nodes and normal nodes. Believable nodes can verify transactions quickly, while normal nodes validate samples of the output of believable nodes for finality and verifiability.
The chance of a node being believable depends on their believability score. Each node on the network has a certain believability score, and those with a higher score are more likely to be selected. The believability score is based on:
- The amount of IOST a node has staked.
- The number of positive reviews a node has.
- The previous transactions of a node.
- The number of earned Servi tokens.
So part of the believability score is based on good behavior in the network, which is itself based on the number of good reviews a node has received and the previous transactions that it’s processed. Another part is based on the number of Servi tokens. Nodes receive Servi tokens when they help the network, which can be providing a service pro-bono, reviewing third-party services, or generally doing the IOST community a favor. Interestingly, these Servi tokens are non-tradeable and are reset to zero when a node is selected as believable, so nodes are incentivized to keep up their good behavior.
This allows IOST to be both fast, while also allowing nearly anyone to become a node in the network. There’s even more innovative technology that makes IOST a fast network, such as Micro State Blocks and TransEpoch, but the above are the defining pieces of technology that stood out to me.
- IOST’s Virtual Machine (VM)
I wanted to briefly talk about IOST’s virtual machine too. Every blockchain platform that developers can use has a virtual machine for them to easily interact with the blockchain. The best-known VM is the Ethereum Virtual Machine (EVM), through which developers create their smart contracts in Solidity, Ethereum’s programming language.
IOST on CoinMarketCap
Contrary to many blockchain projects, IOST didn’t do an ICO. Instead, it generated $31.3 million during a private sale from investors such as Huobi and Sequoia in January 2018. It has a total supply of 21 billion and currently ranks #55 on CoinMarketCap, at a price of $0.0074 today. IOST can be used to pay for services, commissions (such as running smart contracts), and to increase your believability score.
What Does This Mean for DGaming?
Done with the tech and finance talk! How is this relevant for the DGaming industry? Let me tell you, it’s very relevant, because any DGame needs a blockchain to run on. CryptoKitties runs on Ethereum, Steem Monsters runs on STEEM, Axie Infinity runs on a combination of Ethereum and Loom. The better the underlying blockchain, the easier for developers to create a game that will resemble a traditional game, but with the added functionality of blockchain technology.
Starting from the tenth of March, six DGames will be deployed on the IOST Mainnet, with many more to come. That’s good, because plenty of DGames on your platform will attract people to your blockchain, which will ultimately dictate whether the project will succeed or not. IOST has also set aside $50 million to fund its ecosystem and incentivize developers to create all kinds of DApps on the IOST blockchain.
IOST launched its Mainnet end of February this year, which was six months ahead of schedule. Since then, 200 nodes have already started participating in the network, including big hitters such as Huobi, AlphaWallet, and DAppReview. Although it’s early yet, there seems to be good traction behind the project, with more to come as DApps get released on it.
If the Mainnet can live up to IOST’s promise of a high throughput without losing decentralization, it will stand head and shoulders above other blockchain platforms that are either slow or more centralized. After that, it will depend on the quality of the DApps that will be released on the IOST blockchain in the foreseeable future.