KomodoWorld’s Short Guide to Komodo

Last changes: 16-april-2019

Disclaimer: this is my own take on Komodo, the tech is steadily evolving and the project is in the process of ‘rebranding’ that includes how it will present and market itself. I think to have covered all main aspects and will update the guide with important developments.

     Introduction   

    Komodo is a complete ecosystem for the creation of any blockchain-based project. A full Swiss-army-knife of blockchain solutions. The founder and lead developer jl777 sought to solve the main bottlenecks of crypto: security, privacy, scalability and interoperability, without making compromises with decentralization.


     Project Background

    Komodo history dates back to 2014 with the SuperNET project. Its goal was to help mass adoption by uniting the most innovative coins under a common infrastructure. In this design Bitcoin was the basic currency, the backend was based on Nxt, other coins or dapps provided specific features and more could be built on top: privacy, marketplace, assets exchange, file storage, atomic swaps dex, games, etc.
    Users could have accessed a whole decentralized open-finance ecosystem from a single interface, with all complex interactions working under the hood.
    A proxy-token asset exchange, the Multigateway, and a beta release of the SuperNet UI were released and enjoyed some success for while. Unfortunately SuperNet required stability from the coins it was built upon. Some of them failed or were abandoned for their own reasons but the worst happened with a series of backward-incompatible changes that broke its functionality.
        This sad experience urged jl777 to completely rebuild the SuperNET project on its own independent codebase and make every part as modular and independent as possible, while also offering the same flexibility to any project built on it.

Lesson: Any blockchain project is ultimately hostage of the platform it’s built upon, unless it enjoys a completely separate infrastructure


    Komodo ICO

    Komodo first 100 million coins were created at genesis. 70 millions were distributed to Bitcoindark holders (the privacy coin used in the SuperNET project), 10 millions were kept for development and 20 millions sold to new users during the ICO from october 14 to november 19, 2016. The ICO raised 2636 Bitcoin, at that time were valued ~1.9 million Usd. Most of the funds are reserved to pay dPoW notarization fees until the ecosystem becomes self-sustaining.


    Komodo coin – Specs & supply

    Komodo is a Zcash fork using the same PoW equihash algo. The zero-knowledge tech has been removed from Komodo mainnet and will be again available in a parallel chain (see below) late in 2019. Max Komodo supply is 200 millions, to be reached in ~14 years from genesis. Block reward is 3 Komodo per block, with a block every minute. A unique feature is the automatic 5% yearly reward that doesn’t require any active staking. The reward must be claimed at least once a month, because it stop accruing after being unclaimed for ~30 days.


    Komodo Technologies


     1) Blockchain creation kit

    The basic idea with Komodo is that all new coins, securities, tokens, dapps or blockchain-based projects will get their own independent blockchain. They won’t share the same infrastructure with others. Everything is compartmentalized from the start and they’re completely unaffected by problems or congestion that can happen in other parts of the ecosystem. There are no fees or gas costs to pay, except for what developers choose to set for their blockchain in its native coin. Freemium models are possible too.
     It’s important to note that the blockchains created with Komodo tech are fundamentally different from ‘sidechain’, ‘childchain’, ‘plasma’ or ‘sharding’ concepts because they’re really independent (like Litecoin is independent Bitcoin) and not tied to any ‘parent’ chain for their survival.
     There’s no practical limit to the number of blockchains that can be created. Developers can choose from a list of initial parameters and Custom Consensus modules (see below) for a total of thousands different combinations. All options are steadily increased and enhanced, including consensus algo, signatures schemes and all kind of new technologies.
     If a developer can’t find a desired option, he can create it with the Custom Consensus tech that allows to implement new features and properties for a fraction of the effort required with any other existing system.
     Developers can do all this on their own following the documentation, or there are third party services like Chainzilla and Chainmakers. A custom blockchain generator app is also in the plans, thanks to an advanced technology partnership with Amazon AWS


     2) dPoW (delayed-Proof-of-Work)

    The savy reader will have already wondered: how can many small blockchains be secured from double-spend attacks? It’s true that small PoW blockchains are easy targets, for this reason Komodo uses a set of 64 elected Notary Nodes to decentralize the creation of checkpoints on the Bitcoin blockchain. This is an additional layer of protection, like a ‘write-protect’ notch, on top of the existing consensus of Komodo and other blockchains using dPoW. It allows to have many small independent blockchains with Bitcoin-level security.
    dPoW uses a randomized process between the Notary Nodes: every notarization turn a complex sortition process selects 13 notaries that agree on the same data. They can’t fake data because also normal user nodes check that they’re valid or the notarization would be rejected by the network.
   Notary Nodes are elected yearly by a stake-weighted vote. Every year the best performing 32 (by number of successful notarizations) keep their spot, while the other 32 are up for election. In exchange for their service, Notary Nodes receive a mining advantage that consists in 75% of Komodo blocks while the remaining 25% is for independent miners.
    dPoW protection was initially available only to Komodo and other blockchains created with Komodo tech but it’s now open to external blockchains.


     3) BarterDEX

    BarterDEX is the Komodo ecosystem’s atomic-swaps decentralized exchange (DEX) that works with p2p orderbooks, ordermatching and liquidity providers. Komodo team pioneered atomic-swaps based on Tier Nolan’s concept, making many test swaps between 2014-16. This work resulted in the release of BarterDEX in september 2017. The first release supported Komodo, all Komodo-ecosystem blockchains, Bitcoin and most other Bitcoin-based coins (BCH, LTC, DASH, ZEC, etc.). Further enhancements soon included the following:

  • Atomic swaps in lite mode, via electrum servers, without need for full blockchains
  • Fast 0conf swaps, without waiting for all confirmations (by using Komodo as collateral to be forfeited in case of cheating)
  • Support for Ethereum and Erc20 tokens by a method called ‘Etomic’

    The first year of release saw over 100k trades done via BarterDEX  but also showed its UX limits and the need for a  complete rewrite in order to enhance user experience. So a vastly improved core written in Rust (marketmaker2.0) that will use the libtorrent protocol for improved connectivity and an user-friendly gui are in alpha testing. The new core will also make it easier to support non-Bitcoin based coins.


     4) dICO

    Decentralized initial coin offerings (dICOs) use the BarterDEX technology to distribute tokens directly from the issuer to the investors, via atomic swaps. This avoids centralized points of failure like a website and the slow paced nature prevents whales from scooping up most tokens in a short time. Everyone has a fair chance of buying. The issuer can accept any coin integrated in BarterDEX as means of payment.


     5) Jumblr

     Komodo is moving the zero-knowledge tech to a custom parallel chain (see below), making this feature no longer necessary but I’ll explain it: Jumblr was an optional decentralized shuffler on top of the zero-knowledge privacy. It automated a process that users of Zcash-based coins must do manually, in order to effectively severe any currency trails. Jumblr moved the funds from a transparent address, through a series of shielded addresses, and then returned the funds in standard sizes of 10/100/1000 to new transparent addresses. Jumblr was purposefully designed to be slow in order to be also resistant against time-based analysis  (it required the node running for several hours for the process to finish).
    This feature was available only for Komodo and not for the other blockchains created with Komodo technology.

 
    6) Multichain scaling

    Komodo scaling technology leverages the security provided by dPoW to create multiple blockchains that can do cross-chain transactions with each other. Extensive use of burn protocol and Merkle of Merkle of Merkle roots allow to erase coins from one chain and recreate the exact amount on another one. Any blockchain created with Komodo tech can scale using this method, by adding another ‘parallel chain’ to its ‘cluster’ (that is a group of fungible chains that maintain the same overall supply across them).
   This is very different from the ‘sharding’ tech researched by other projects: ‘sharding’ a single large blockchain is hard and with relevant security tradeoffs, but the small independent blockchains created with Komodo have their own proven logic and consistency.
    Every parallel chain can be customized in the usual ways, so a specific project achieving mass scale can be composed of many custom parallel blockchains for different states, cities, regions or groups of people or use-cases. From the user point of view he only needs to run the blockchain he most often transacts with, yet he can also send coins to someone using another chain.

    This concept has been successfully tested in may 2018 with a cluster of a few hundred chains and 20k tps sustained for 14 minutes. Another test using a cluster of 8192 blockchains for an overall throughput of 1million tps is planned in the near future. The same throughput can be achieved independently by any project based on Komodo tech.


     7) Custom Consensus

    Komodo has implemented the ‘Custom Consensus’ technology (previously known as ‘Crypto Conditions’), an UTXO-based smart contract protocol that is completely different from other existing technologies (in fact ‘smart contracts’ are a sub-set of what the CC tech can do).
    In its simplest form, CC locks an UTXO in a publicly-known address and prevents it from being spent until a certain set of conditions are met. This allows to add and subtract properties from it, including properties that allow for Turing-complete programming.
   CC modules are hard-coded into the codebase and run in the daemon (there’s no virtual machine or gas cost to pay). A developer can choose which CC modules to integrate into his blockchain or he can write his own custom module if none suitable exists. 
     Blockchain innovations can be integrated via a custom CC module and they allow significant customization at consensus level that otherwise would be extremely hard to do. For example Verus coin, that is a Komodo fork, has used CC to solve the Nothing-at-Stake and Weak Subjectivty problems of PoS and it took only a few weeks of work. The Verushash algo is now one of the options a developer can choose when creating a new blockchain. 
    CC are language agnostic because they can also be written in any compiled programming language that can create a linkable library capable of calling and being called by C/C++ functions, a Python and eWasm interpreters are in development.

    Many set of Custom Consensus modules are in various phases of development and testing, for example:

  • CC-Faucet: anybody can add funds or ask for 0.1 coins
  • CC-Asset: fully featured colored coins and trading system, including NFT tokens
  • CC-Gateway: assetize Bitcoin or any other external coin
  • CC-Oracle: market for external data on blockchain
  • CC-Rewards: simulation of masternodes, users get extra reward for locking funds
  • CC-Coda: succinct blockchain based on SNARK proofs
  • CC-Channels: secure instant payment mechanism via on-chain channels
  • CC-Dice/CC-Tetris/CC-Sudoku: Proof-of-Concept of provably random and blockchain enforced games
  • CC-Lib: allows to dynamically load other CC modules, without restarting daemon
  • CC-Pegs: Crypto-backed stablecoin and blockchained derivatives
  • CC-Price: trustless price feed Oracle
  • CC-eWasm:  Go/Rust/C/C++/Solidity interpreter
  • CC-Python: Javascript/Python interpreter
  • CC-Musig: Schnorr signatures
  • CC-Dilithium: Quantum resistant signatures
  • CC-MoMoM: migration from one chain to another in the same cluster
  • CC-Vault: address that requires time to unlock, with another key to undo
  • CC-Heir: automatic send balance to another address if inactive for a long time

    Each of the above modules includes a large set of RPC calls. Eventually, once a large number of modules exists it will become possible to build entire decentralized applications based on RPC calls alone. While writing a specific CC module is complex, the end result is that creating dapps or custom features will be an order of magnitude easier and cheaper than with any other method, comparable to an Asic vs Cpu.

     7) Interoperability

Komodo vision is that there always will be many blockchains and so it’s creating an infrastructure to make them as much interoperable as possible. It’s already possible to do atomic swaps via BarterDEX and assetize external coins using the CC-Gateways on a custom blockchain. The long term roadmap includes ‘blockchain bridges’ to further enhance interoperability between both Komodo-based chains and other projects.


     The Komodo ecosystem

    With all the features above, Komodo is trying to plant seeds in many areas, attract developers and eventually have many high quality projects loosely tied to the same ecosystem. A partnership with the University of Texas at Arlington has also been established, that will help train more future blockchain developers and especially Custom Consensus specialists. 


    Further reading:

    The following articles and interviews are VERY recommended to complete this guide:

Article from Komodo website with project history and many links
Article by Grewal Satinder: Why Assetchains?
Darren Kleine’s series on Komodo
Naomi Brockwell interview with jl777
Crypto Zombie interview with jl777 (pages 10-15)
Developer’s Documentation



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s