IOST (Internet of Services Token)
Everything You Need to Know about IOST: Proof of Believability. Scalability without Centralization. Easy Development. Servi Nodes. Mainnet Launch February 25.
This is a rewrite of an article authored by me & published on the ICO Alert blog.
Disclaimer: I’ve invested in most of these Ethereum Challengers. I’m also an enthusiastic EOS dApp developer and content producer, and I’m on the team of the IOST Node Leobi and its impending Inside IOST channel.
But remember: these articles are not financial or career advice. I can’t predict which, if any, Ethereum Challengers will succeed. Please do your own research.
The Ethereum Challengers has mostly covered top market cap coins up to this point.
Soon a “Defense of Ethereum” episode is coming, and even a Lightning Network episode — but since the series started, a few other major players have captured attention. They might just find their way into the series.
Hashgraph. Dfinity. Zilliqa. Cosmos (Tendermint).
It’s time for IOST, the Internet of Services Token. IOST has garnered major attention since this series began.
IOST is backed by a number of notable investors including Huobi and Sequoia.
Why Should You Believe Me? (IOST’s Version of Proof of Stake)
IOST consensus is not Proof of Work. It’s not strictly Proof of Stake. Nor is it Delegated Proof of Stake or any variant, as several competitors are.
IOST’s consensus protocol is what it calls “Proof of Believability.”
That’s similar to proof of stake. But there’s more to it.
Nodes are not the only party rewarded IOST when selected. All of the IOST holders who have voted for the node receive a portion of the rewards — currently set at 50%. Voters who vote before mainnet receive extra rewards. So if you have IOST, go vote — even if it’s not for Leobi 🙂 The minimum number of votes a node must receive to be included as a potential block producer is 2.1 million IOST.
But node votes aren’t the only factor in how much IOST rewards you can get. You can also boost your rewards by serving the network in other ways — such as by referring users to the IOST network with dapps you build and receiving a portion of their transaction fees.
Yes, there are transaction fees, but only for high-volume users. More on that later.
A portion of your “Believability” score is reset to zero when you’re selected. Not permanently, of course. And not by spending all of your IOST tokens.
IOST holders and participants accumulate a non-tradable asset called “Servi” by holding tokens and by helping the network in other ways. Your Servi are spent when your node is selected to help verify a block, reducing your Servi balance and the weight it gives you to zero. Some factors in your Believability score, like feedback from the “Fair and Transparent Feedback System” (FTFS), survive the Servi purge, but this feedback must be obtained from other users, services, and smart contracts, not from simple staking.
This Servi reset helps mitigate the immense power that whale token holders can have.
I would argue that some elected node systems, such as Lisk, have been hurt by the potential of massively powerful cartels. Perhaps other mitigations, like quadratic voting, will eventually help this problem on Lisk and other platforms, but IOST wants to tackle it right out of the gate. I’m excited to see how Servi and PoB work out.
But to make a proof of stake system fair and secure, there’s another critical component that has pestered computer programmers since the early days: the difficulty of generating random numbers.
Fooled by Randomness (The Problem with Random Numbers in Smart Contracts)
One of the major problems with proof-of-stake networks — and indeed with blockchains and blockchain applications in general — is the difficulty of producing truly random numbers. Without truly random numbers, or at least unpredictable random numbers, blockchain applications can be gamed.
If you can guess or forge a random number a system will use, even with a moderately small degree of certainty, you can probably attack the system.
I’m a developer on EOS, and generating true, unpredictable random numbers takes a kind of multi-party secrecy ritual. So IOST takes significant pride in the protocol’s mechanism for securely generating random numbers.
1) It has to be resistant to dishonest participants (including clients and servers) within a certain ratio.
2) The final random number must be unforgeable and unbiased (uniformly random), except negligible probability.
3) A dishonest participant is not able to try multiple times to generate a random number that favors the participant, even if multiple dishonest participants collude.
4) Third parties are able to verify the output is generated by faithfully running the protocol (i.e., verify that it satisfies all the above requirements).
(The above is from the whitepaper, but I’ve cleaned it up a little since the translation of the original paper is poor and frequently missing words.)
Most methods to generate randomness on smart contract platforms rely on expensive proof of work or a trusted third-party, even if that party is voted in. IOST’s approach, Distributed Randomness Protocol, is multiparty — as is Cardano’s “secure coin flip” and the EOS tactic I described above. It uses a “non-interactive zero-knowledge proof (NIZK) and publicly verifiable secret sharing (PVSS).”
You can read the technical journal article behind this tech, “Scalable Bias-Resistant Distributed Randomness,” over at IEEE Explore.
The IOST Mainnet coming in Q1 2019. This is an updated roadmap — the team is ahead of their original schedule.
It remains to be seen how secure IOST’s implementation of their randomness tech will be in the real world.
This caveat applies to most Ethereum Challengers, and I’m okay with bearing with a blockchain product as it overcomes difficulties — Ethereum being one partially past example, and EOS certainly being another.
Speaking of EOS…
IOST and EOS
Around the web, IOS — which most of us usually call IOST to avoid confusion with iOS and EOS both — has sometimes been attacked on this point.
This isn’t a fair comparison. IOST differs in a significant number of aspects from EOS, most of which I mention in this article.
But IOST — and in particular Jimmy Zhong, both founder and greatest English-language IOST evangelist — nevertheless capitalizes on this comparison, calling IOST “a better EOS.”
Tweets Jimmy Zhong:
The main point of the IOST/EOS comparison is scalability, but to be honest, nearly every platform we’ve considered except Ethereum Classic has a focus on scalability. So IOST’s play in the scalability game is to beat most of the others to the punch.
Tweets Jimmy Zhong again:
Since this tweet, six months have past, and IOST’s mainnet launch is here.
IOST is launching in a matter of days.
Full disclosure: I’m involved in the EOS community — moonlighting on the Everything EOS podcast, writing a few smart contracts, creating a video that introduces UBI and Dan Larimer’s proposed URI, and filming a new Developer Tutorial series that I’m very excited about.
But I’m also on the founding team of a new IOST node candidate named Leobi. It’s grueling work watching all of the major Ethereum Challenger platforms closely, but IOST is one I’d like to keep a particularly close eye on.
I find the distinction that IOST claims appealing: more decentralization, without the usual scalability drawbacks.
DPoS Block Producers like those on EOS — while I don’t find them as terrible as some critics do — are indeed a compromise. As much as I like EOS, anyone who calls the BP system something other than a compromise made for the sake of scalability has blinders on. The system can be argued to be safe, and decentralized enough, but it’s still a compromise.
So if IOST can truly launch a scalable product without the need for a mechanism like DPoS, I’m interested.
IOST does still include voted-in nodes. Servi nodes must have a minimum collateral of 2.1 million IOST to be elected. Yet there is no maximum number of nodes, and I should point out that a number of cryptocurrencies running on Proof of Stake have explicit (Ethereum) or practical (Nexus) minimum stake amounts.
Efficient Sharding and Inter-Shard Transfers
Even scalable systems want to be more scalable, and sharding is a hot topic that slices across all of them.
We’ve looked a little bit at sharding before, and will consider it in depth in the upcoming Ethereum article. In short, sharding splits up the blockchain into multiple parallel chains, multiplying the protocol’s capacity.
This has potential security implications as smaller networks are easier to attack, but some products are finding ways to mitigate this.
One upcoming platform (and upcoming article in this series), Zilliqa, uses Proof of Work to do so. Sharding is Zilliqa’s current big selling point, to my knowledge. But IOST executes sharding without proof of work. “Our Efficient Distributed Sharding technology makes the sharding creation process even faster by replacing the PoW process with cryptographic sortition.”
An immediate problem is how shards can avoid a double spend attack — where I tell one shard I pay 5,000 IOST to someone and tell another shard I spend the same 5,000 IOST to pay someone else. It’s what I would try if I were just a bit less virtuous.
To solve this problem, IOST is developing a tech called Atomix. Atomix is — don your tech buzzword helmet — “a novel two-step inter-shard atomic commit protocol that guarantees transaction atomicity in Byzantine setting.”
In short, transactions are “gossiped” between shards before funds are finally released to the recipient of a transaction. You can read more details in the technical whitepaper.
Development on the IOST Virtual Machine
The “Virtual Machine” is the layer that allows blockchain platforms to act like a single global computer, running program code in a decentralized manner.
The virtual machine runs smart contracts and interacts with the blockchain.
As IOST Senior Engineer Li Haifeng points out, Ethereum and EOS both have some disadvantages as far as their virtual machines go. I don’t agree that all of the particular points in this article are major concerns, and some are in the process of being addressed on both E-platforms. But IOST is, again, aiming to beat other platforms to the punch by launching a VM that remedies these shortcomings right out of the gate.
Developers can check out IOST’s growing documentation.
IOS Foundation also releases regular tech updates to keep the community up to date on the status on various parts of development. Check them out to learn about features like Micro State Blocks, TransEpoch node/shard switching, and Multiversion Concurrency Control (MVCC), which eliminates the need for rollback on state in the event of a fork.
Marketing and Community
Second to rapid development, IOST’s emphasis has been community building.
This was what IOST founder Jimmy Zhong spoke about time and time again when he appears as a guest on the ICO Alert Podcast. (I was actually on that podcast, though only for a couple of questions, and my co-host also went on to start an IOST node, Sutler Ventures, which focuses on venture capital — “investing in blockchain projects within the IOST ecosystem.”)
Jimmy is the incarnation of enthusiasm — for IOST, for its community, for the projects being developed on it. He is always mentioning upcoming projects.
But the IOST project I’m most familiar with is one I already use every day.
One project which has committed to launching on IOST when its mainnet arrives (planned for Q1 2019) is Berminal.
An impressive app on mobile and desktop both, Berminal has quickly become my go-to for news in the cryptocurrency space. Users can earn tokens by voting “bull” or “bear” on articles — though in almost every case the bulls outnumber the bears by 10–20 times regardless of the article’s content — and by accurately predicting what Bitcoin’s price will be come evening.
Even if no upcoming features were in the works, this sleek tool is a solid addition to your crypto day.
But why does it need a token?
Berminal has recently begun advertising their new app Bermi, which uses the BERM token and lets video creators share “the best in short video content.”
Noisy projects like Berminal will serve to help IOST’s launch. It remains to be seen how big — and how successful — that launch will be. I’ll be watching, and now that I’m part of the team running the Leobi IOST node and the Inside IOST podcast, I’ll be working to keep the community up to date along the way.
If you enjoyed this article and hold IOST, please vote! I suggest our Leobi IOST node, to support Leobi’s Inside IOST channel and Developer Outreach Program.
Voters will even get 50% of IOST Mainnet block rewards distributed to them as bonus IOST tokens, plus bonus rewards for voting early.
The Big Questions
We’ve ended each episode with a quick round-up of seven big questions that pit each project against Ethereum, just to make sure there’s nothing I’ve missed. Here they are again:
How does IOST stack up?
IOST claims up to 100,000 tokens per second on its Proof of Believability protocol. Mainnet hasn’t launched quite yet, so we haven’t seen real-world numbers yet. However, the network’s capacity will, at the least, dramatically exceed that of much slower alternatives like Ethereum.
IOST wants to implement a “fully-decentralized” on-chain governance system. Interim governance until that happens is handled by the Politburo — er, I mean the Internet of Service Foundation, which is a not-for-profit organization based in Singapore with members around the world.
- Development Complexity
IOST raised funds in January 2018 and is currently in the final stages of testnet and pre-launch voting, with mainnet launch scheduled for February 25, 2019 — and a version 2 mainnet with native sidechain support scheduled for Q2 2019.
- Generalized Features
IOST’s larger set of standard libraries mean developers don’t have to recreate a number of standard features that they need to on most other smart contract platforms.
IOST’s domain name system provides human-readable names, and IOST transactions will be free — up to a point. Once a wallet exceeds a certain transaction threshold, transaction fees kick in. This helps prevent spam and keep the network’s economics making sense without the inconvenience of transaction fees for casual users.
- Market Position
IOST is an underdog, but the focus on rapid development has brought it to launch in record time. Several significant projects have committed to launching on IOST when mainnet launches.
The Chinese language IOST community seems significant — which is why one of Leobi’s founders is in China as I write this. Leobi is working to bridge East and West for the IOST network, and EOS has shown that this bridging is essential and challenging.
IOST will need many active community groups to seriously compete against EOS, other platforms, and especially Ethereum. If you’re interested in IOST, vote for — and get in touch with! — your favorite IOST nodes and communities.
Next time, we’ll consider a defense of Ethereum’s chances at becoming a dominant platform. Then, it’s on to other platforms like Zilliqa, Dfinity, and more — but first, Bitcoin’s own Lighting Network and its capacity as a platform for “lapps.”