The Ethereum Challengers, ep. 9: 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 new Inside IOST channel (leobi.io/st).
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 new Inside IOST content channel (leobi.io/st) covers IOST news and projects.

The Ethereum Challengers has mostly covered top market cap coins up to this point.

RSK (on Bitcoin) and NEM. EOS and Cardano. Ethereum Classic. Qtum and NEO.

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).

Still not quite as much attention as we would like though:)

It’s time for IOST, the Internet of Services Token. IOST has garnered major attention since this series began.

Unlike most challengers discussed so far, IOST had no public token sale. It sold out in private sale, in which it collected 35,000 ether in January of this year.

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.”

As with many variations on proof-of-stake, IOST nodes are expected to hold tokens to increase their chances of being selected as a block validator and thus receiving a reward of tokens.

That’s similar to proof of stake. But there’s more to it.

Inside IOST’s video on how and why to vote for IOST nodes

Nodes are not the only party rewarded IOST when selected. All of the IOST holders who have voted for the node receive a 50% portion of the rewards. Voters who vote before mainnet receive extra rewards. 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.

So. many. consensus. algorithms. Image from 101blockchains.com

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.

According to the IOS Token’s whitepaper, the system’s random number mechanism satisfies these requirements:

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.”

Of course everyone wants to double-spend crypto. Just look at how far double-spending fiat can get you.

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.

IOST is working to differentiate itself from Ethereum and EOS with a robust, feature-filled virtual machine.

IOST testnets currently feature 1) JavaScript smart contract programming and 2) a smart contract Domain Name System (DNS). These features address the concerns people have expressed over Ethereum’s current reliance on Solidity and its non-readable account names.

IOST’s developer documentation is ramping up, and contracts can be deployed to testnet. JavaScript is the language currently supported.

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.

You can read more about the VM, including some sample Ethereum, EOS, and IOST code for benchmarking, in the second part of Li Haifeng’s article.

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.

Berminal

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.

It’s still the bears’ turf out there. I had to wait 97 days for a screenshot this green.

Why does Berminal need a token? Well, I don’t know what they plan for their news app, but it appears other apps will use the same token.

Berminal is building a whole content ecosystem on IOST. (Click to Tweet)

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.”

That’s right: IOST might just raise the dead.

Noisy projects like Berminal will serve to help IOST’s launch. It remains to be seen 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 (leobi.io/st) 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?

  1. Scalability
    IOST claims up to 100,000 transactions 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.
  2. Governance
    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.
  3. Development Complexity
    Multiple languages will be supported for smart contract development, with JavaScript already implemented. The V8 virtual machine has been selected over other options. Updating smart contracts is easy.
  4. Timeline
    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.
  5. 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.
  6. Adoptability
    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.
  7. 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. Venture funds as large as $50 million have gotten behind IOST projects, and the team offers involved collaboration with developers, above and beyond the usual documentation and support that platforms offer.
     
    The Chinese language IOST community is significant. (One of Leobi’s founders is in China as I write this, as Leobi is working to bridge East and West for the IOST network, and EOS and Tron have shown that this bridging is both 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.

Follow me here on Medium (Peter Keay) or on Twitter (twitter.com/bitgensteinx) to get more cryptocurrency content, especially on dApp platforms. Follow Leobi (twitter.com/leobi_iost) for more IOST updates.

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.”