Project Update, January 7th 2022

The following is an update that was sent out on January 7th to those who subscribe to the koinos.io newsletter. If you would like to gain early access to these updates, then head on over to koinos.io and sign up for the newsletter!

Proof-of-Burn Consensus ANNOUNCED

A lot has happened since our last update, most importantly we FINALLY released our design for the consensus algorithm we intend to use on Koinos … proof-of-BURN! We’ve been waiting nearly TWO YEARS to release information about this novel consensus algorithm that we believe can deliver more decentralization than proof-of-work and more efficiency than proof-of-stake.

Our first week back from the holidays we hit the ground running a with the blockchain engineering team hard at work on testnet v0.3.0 (or “V3”). The primary goal for this version is finalizing the system calls within the blockchain framework. Getting these right is critical for ensuring that Koinos is as upgradeable as possible. We’ve also made improvements that have significantly increased the speed of v0.3.0 and made it much easier to replay the blockchain.

Smart Contract EVENTS

Koinos v0.3.0 , which we are running internally prior to release, now has events! With events, Koinos dApp developers will gain the ability to log events that occur within their smart contract for the purpose of allowing microservices to readily react to them. This will make developing powerful custom microservices more accessible to developers, which will help them build more feature rich dApps that are lower cost and more scalable.

State Verifiability

Another important addition that was made to Koinos was state verification. A blockchain user must be able to verify that any changes to the ledger (or “state”) that their node has made are in consensus with every node on the network. Ethereum does this by referencing the entire blockchain state in its “state root.” Their solution, however, requires storing data in a patricia trie data structure, which is not how Koinos stores data.

The database primitive Koinos uses is called a “state delta.” Instead of storing old values of objects (“undo states” which are used in Bitcoin, Steem, and EOS), Koinos stores new values of objects, and projects those new values across multiple undo states (state nodes in StateDB vernacular) to present the consensus state at a given block. By storing positive deltas that are then collapsed during a read to provide access to the current state, undoing and redoing state is as simple as choosing which deltas to collapse which means that switching forks does not have implicit writes in the algorithm. Furthermore, this can support processing a new block while reading state from the previous block in parallel.

Long term, the deltas are blocks. Short term, they are transactions. In order to verify the state we can calculate a merkle root of only the database writes of the block (and not the entire state like Ethereum) which represent the state transition for the block and which can be verified by all nodes.

Algorithmically, this is more efficient with a complexity of O(nlogn) < O(nlogm). And cryptographically speaking, a full state root could still be calculated from the proof of the state transition root.

Community Development

There are now a number of great community developers building decentralized applications for Koinos, so we’ve made it a priority to connect with them and help them connect with one another so that we can all better collaborate to add value to the Koinos ecosystem. If you are interested in developing dApps on the Koinos main net, connect with us on Telegram or Discord, we are here to help!

Community Discussion

This week there has been some discussion about the transition from the KOIN ERC20 to native Koin. To clear up the confusion, blockchain architect Michael Vandeberg jumped into the conversation on Discord and laid out a preliminary plan. Community member Luke Willis, host of The Koin Press, delivered a great summary post here.

Community member Julián González author of the Koilib JS library and the Kondor wallet delivered an excellent presentation on the Koinos blockchain architecture for Koinos Espanol. You can watch it here (FYI it’s in Spanish).

As always, thank you for your support and be sure to follow the project on Twitter and YouTube, and join our discord and telegram channels to get involved!