Steemit veterans vow to improve blockchain upgradeability and avoid damaging hard forks
In March, the crypto world saw the first instance of what many saw as a hostile takeover attempt of another blockchain. Justin Sun, the founder of Tron, had acquired Steemit, Inc. and the Steem blockchain with it — or so he thought.
A complex battle of hard forks, block production takeover, alleged bribes and misdirection ultimately resulted in most of the Steem community migrating to Hive, a completely grassroots version of the previous platform.
Meanwhile, the original employees and developers of Steemit, Inc. left the company almost immediately after the purchase. Their role in the ensuing battle was limited, but they didn’t exactly fall off the face of the Earth.
Andrew Levine — who described himself as the Steemit “designated non-engineer” executive — co-founded OpenOrchard with six of his former teammates. The new-old team set to design a blockchain from scratch, something of a Steem 2.0 that would fix all of its technical deficiencies.
Those issues were, above all, what caused Steem’s gruesome fate, Levine told Cointelegraph.
The consensus algorithm used by Steem, called Delegated Proof-of-Stake, entrusted block production to a set of just 20 validators or 'witnesses' selected by stakeholder vote. Such a small number led to politics dominating the environment in many instances. The validators can then become one more-or-less happy family — which seems to be what happened with EOS — or they can become bitter rivals, which is what happened with Steem.
Levine recounted an early design discussion with Steve Gerbino, one of Koinos’ co-founders: “Steve was like, ‘why the fuck? Why the fuck is block production connected to politics? Blocks should just get produced.’”
But this, in their view, was not the only problem. One of the reasons why Steemit was sold in the first place was that the company was hemorrhaging money from maintaining the infrastructure, Levine told Cointelegraph earlier.
“The problem with EOS and Ethereum and other general-purpose blockchains is that the cost of running the network is always at whatever the last maximum usage you had. The data never gets discarded.”
Other blockchains recently started recognizing this and researching ways of somehow compressing or ignoring state — a generic term for all accounts, balances and transactions in a blockchain. The stateless clients proposal in Ethereum is one of many examples.
But here existing blockchains run into upgradeability problems, Levine asserts. Hard forks — the complete migration and restart of a blockchain — are needed to change even the most basic parameters. For example, Ethereum needs to hard fork every time developers want to tweak the gas price of a particular operation.
Hard forks are inherently destabilizing and often turn political — as seen with proposals like ProgPow or the block size debate in Bitcoin. But beyond that, Levine believes that the difficulty in deeply upgrading blockchains is what holds many protocols back:
“What we realized was that the scaling limitations that were emerging at the higher layers were the result of lower level architectural errors.”
While Koinos initially started as an alternative to Steem that would’ve drawn from existing codebases like EOS, the team realized over time that they had an opportunity to re-architect the "third generation of blockchain."
Challenging the status quo of blockchain development
One of the innovations behind Koinos is the concept of Modular Upgradability.
Almost all of the key parameters of the blockchain, including the consensus algorithm, resource management and governance mechanisms will be implemented through smart contracts running on WebAssembly.
Some individual features may be introduced natively, but only after they’re battle-tested and only if it makes sense from a performance standpoint.
This gives Koinos extreme flexibility in the design of its protocol, and notably, avoids the need to hard fork the entire blockchain for every change. Such an idea is not entirely unique — the team was inspired by the concept of system smart contracts on EOS — but Koinos takes it to the extreme.
The consensus algorithm often defines a blockchain, but Levine believes this should not be its unique selling point. “Consensus algorithms are the easy part,” he said, referring to their technical development. Levine focused much more on a scalability feature that he says sets Koinos apart from others: state paging.
State paging “clears” the blockchain of unused smart contracts and information. This is similar to the concept of “pruning” often proposed for simpler blockchains based on unspent transaction outputs, like Bitcoin. The core idea behind pruning is that there is no real need to remember the fact that, for example, a particular wallet received 1 BTC in 2014 and sent it somewhere else in 2015. Under current architectures, this data must be included at all times.
On smart contract blockchains it’s unlikely that clear cut situations like this will exist, so it becomes hard to choose what to discard. State paging solves this by making each individual user responsible for storing their own data, even if it’s done on centralized clouds like Amazon S3. The data stored off-chain can always be fully validated and reinserted into the blockchain at any point, just as if it never left.
Levine said that this represents more of a philosophical change of mindset — that the value proposition of blockchain technology is its “ability to store digital ownership as distinct from the data itself.”
But the team is still cautious. While they say that the algorithms for state paging have been proven to work, it remains somewhat unclear if the trade-offs between storage and bandwidth usage will make it truly worthwhile.
While development continues, Koinos is launching a token distribution scheme reliant on proof-of-work mining, which in the past few years has largely fallen out of favor.
The issue of fair distribution
As the main characters of what was, arguably, a spectacular failure of delegated proof-of-stake, the founders of Koinos are understandably concerned about the concept. “I think the best way to criticize delegated proof-of-stake is to ask the question: why is it twenty [validators]?” Levine said.
While systems like Ethereum 2.0 are doing their best to onboard thousands of validators, Levine is firmly of the opinion that proof-of-stake results in the “the rich getting richer.”
Part of that is the initial seeding of tokens, he added. Some early staking projects used proof-of-work to power the initial distribution, but over time the initial coin offering became the prevalent method. The inequality, in Levine’s view, starts with the ICO:
“You get these wealthy capitalists, which I have nothing... I mean, I have some things against capitalists. But you have these wealthy individuals who accumulate a large stake and they set the path.”
Levine did not want to go into detail on what the consensus algorithm for Koinos is going to be. The decision is not set in stone yet, though he alluded that it will be “neither proof-of-work nor proof-of-stake.”
But for now, Koinos is set to launch with a token distribution scheme reliant on pure PoW. Instead of running an ICO, people will be able to collect tokens by mining with their home computers.
The miner released by Koinos is specifically targeted for central processing units, which are largely ignored by large scale mining operations that could gain an unfair edge over average people, though Monero miners are a notable exception.
The mechanism will leverage Ethereum and a custom automated market maker to “trade” hashes for tokens. Users will mine at a custom-set difficulty parameter, and periodically submit their work to a smart contract, which will reward them with KOIN. Lowering the difficulty results in a more consistent “hit rate” of the right hashes, but requires more individual submissions and hence more Ethereum gas fees. Conversely, a higher difficulty will save on fees but it will add more randomness in how often the correct hash is found.
Mining will start on Oct. 13 at 5 P.M. UTC (1 P.M. Eastern Time) and last for six months, after which the Koinos mainnet is set to launch. Funding for the team will be optional, with a default 5% mining donation that can be disabled. The team released both a graphical interface miner and a command-line tool to let everyone pitch in.
Organic community interest is often the key for a successful blockchain. Despite innovative base layer ideas, executing on them and providing a valuable environment for application usage and development is what really counts for long-term success. From that point of view, the road ahead of Koinos is still long and perilous.
For those interested in mining with their home computer's CPU, OpenOrchard has provided a short video on downloading and running the Koinos miner. Please note that Cointelegraph has not audited this software and you install it at your own risk.