Written by Peter Keay

Senior Architect / Director of Globalization @ICO Alert, host @Bitgenstein's Table: Crypto Philosophy Podcast. Blockchain industry writer, marketer, programmer
November 28 2018

The Ethereum Challengers, ep. 9: IOST (Internet of Services Token)

Proof of Believability, Scalability without Centralization, Easy Development, Mainnet Launch Q1 2019

Ethereum and IOST logos 


ICO Alert content disclaimer


We’ve mostly covered top market cap coins up to this point.

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

Coming soon are Waves and Komodo, and then a “Defense of Ethereum” 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).

This week, it’s time for IOST, the Internet of Services project.

Unlike most challengers discussed so far, IOST had no public token sale. Instead, it raised 35,000 ether in a hard-capped private sale in January of this year and is backed by a number of notable investors including Huobi, Sequoia, and half a dozen other groups.

Why Should You Believe Me? (IOST’s Version of Proof of Stake)

IOST’s consensus protocol is what it calls “Proof of Believability.”

As with many proof-of-stake systems, 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.

But there’s more to it than simple Proof of Stake.

First, token balance isn’t the only factor in the IOST selection process. You can boost your believability score by participating in the network – by providing reviews, for example.

Second, a portion of your “Believability” 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 all 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.

Upon hearing about FTFS, I immediately started thinking about how it could be gamed, probably by collusion. I’m guessing that IOST’s launch, like EOS’s, might have a few cases of possible collusion that come to light and need to be dealt with by the community.

In any case, this Servi reset helps mitigate the immense power that whale token holders can have. Perhaps other mitigations, like quadratic voting, will help this problem on other platforms. IOST wants to tackle it right out of the gate, and 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

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.

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

(This above from the whitepaper, but I’ve cleaned it up a little since the translation of the original paper is poor and frequently missing words, though it is understandable.)

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). Exceptions include Cardano’s Ouroboros, which has a “secure, multiparty implementation of a coin-flipping protocol,” and IOST’s approach, Distributed Randomness Protocol, is also multiparty, using 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.

However, the IOST mainnet has not quite launched yet. It’s coming in Q1 2019. This is an updated roadmap – the team is ahead of their original schedule.

IOST-roadmap-edited

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 of these 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 I usually call IOST to avoid confusion with iOS and EOS both – has sometimes been attacked on this point.

IOST – and in particular Jimmy Zhong, both founder and greatest English-language IOST evangelist – even capitalizes on this comparison.

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 them to the punch.

Tweets Jimmy Zhong again:

In the interest of full disclosure, I’ve been 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.

Still, I find the distinction that IOST claims appealing: more decentralization, without the usual scalability drawbacks.

DPoS’s Block Producers, 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 its still a compromise.

So if IOST can truly launch a scalable product without the need for a mechanism like DPoS, I’m interested.

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 protocols 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. But IOST executes sharding without proof of work. While Zilliqa’s sharding creation depends on two PoW(s) processes to elect a committee and assign shards, 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. Its 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 – everybody don your tech buzzwords helmet – “a novel two-step inter-shard atomic commit protocol that guarantees transaction atomicity in Byzantine setting.”

This approach shows some similarities to Omniledger tech. 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.

The IOST Virtual Machine

The “Virtual Machine” is the layer that allows blockchain platforms to act like a single computer, running program code in a decentralized manner.

The virtual machine runs smart contracts and interacts with the blockchain. Since decentralized platforms have certain characteristics, virtual machines necessarily have limitations. Some more than others. The most notable virtual machine currently is Ethereums EVM.

IOST is working to differentiate themselves from Ethereum and EOS with the virtual machine they use. IOST testnets currently feature 1) JavaScript smart contract programming and 2) a smart contract Domain Name System (DNS), which respectively answer concerns people have expressed over Ethereum’s reliance Solidity and the non-readable account names.

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. But IOST is building its VM with the direct intention of remedying these shortcomings. 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. IOST also releases regular “tech updates” to keep the community up to date on the status on various parts of development, on these and other 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. The latest tech update as of this writing is November 20th.

Marketing and Community

IOST has undeniably emphasized the building of its community.

It was what IOST founder Jimmy Zhong spoke about with Mike Finch and me in our interview podcast:

Jimmy is the incarnation of enthusiasm – for IOST, for its community, for the projects being developed on it. In the interview, he mentions a number of projects that he can’t discuss the details of yet. The game Crypto Heroes will launch on IOST, and I can only surmise that IOST will attract a number of projects for the same reasons EOS has.

In fact, the IOST project I’m most familiar with is one I 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 are in the works, this sleek tool is a solid addition to your crypto day.

Screen Shot 2018-11-28 at 11.38.04 AM

I had to wait 97 days for a screenshot this green.

But why does it need a token? Perhaps like Brave and BAT, Berminal’s token is an add-on that will hopefully see more value in the future. Or perhaps it’s just Berminal’s way to try to get free BTC market sentiment data, rewarding people with their own token.

Update: 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.

8f5c9c8ba826f0ffe91c6d2ff94a1ac2

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

In any case, 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.

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 tokens per second on its Proof of Believability protocol. Mainnet hasn’t launched quite yet, so we won’t have real-world (read: not testnet) numbers until then. Clearly the network’s capacity will exceed that of the much slower alternatives.

  2. Governance
    IOST wants to implement a “fully-decentralized” on-chain governance system. Interim governance until that happens is handled by the Politburo 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. See #5 for more relevant details.

  4. Timeline
    IOST raised funds in January 2018 and is currently in the final stages of testnets, with mainnet launch scheduled in Q1 2019 and a version 2 mainnet with native sidechain support scheduled for Q2 2019.

  5. Generalized Features
    A larger set of standard libraries mean developers won’t have to recreate a number of features they would need to re-roll on other platforms.

  6. Adoptability

    A domain name system provides human-readable names. IOST transactions will currently include transaction fees. I don’t have an estimate for these fees, or any way to measure my expectation they’ll be abstracted away from users, until we see the mainnet in action.

  7. Market Position
    IOST is certainly an underdog but seems to be focused on rapid development. Several significant projects have committed to moving to or launching on IOST when its mainnet launches. One effect of IOST’s greater centralization is that we haven’t seen too many proactive community entities emerge like EOS’s Block Producers, unless they work outside of my language fluency and so I haven’t seen them yet. IOST will need more active community groups to seriously compete against EOS, other platforms, and especially Ethereum.

New call-to-action

Topics: Cryptocurrency, News, Ethereum, Protocol, Ethereum Challengers, Decentralized