KomodoWorld’s (Not)Short Guide to Komodo

 

Rewriting in progress. Last changes: 6-august-2019

     Introduction   

    Komodo is a multi-chains, scalable, interoperable & composable ecosystem for the creation of any blockchain-based project. Komodo offers to skilled developers the highest level of independence, the widest range of customizations and the most advanced blockchain technology for putting their ideas into practice.

   The anonymous founder jl777 has earned a solid reputation as one of the most productive developer in this space, a great problem-solver and a respected consultant for other projects. He achieved his goals to solve the main bottlenecks of crypto: security, privacy, scalability and interoperability, without making compromises with decentralization. 


     Project Background

    Komodo history started in 2014 with the SuperNET project.

   The goal of SuperNET was developing a common interface uniting the best & most advanced coins with their unique features. The main currency was Bitcoin, the backend was mostly built on NXT, privacy was based on Bitcoindark, other coins/dapps provided marketplace, assets exchange, file storage, atomic swaps, games, stablecoins, etc. Users could have accessed an entire decentralized open-finance ecosystem from a single wallet, 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 in 2015 but the promising development was cut short by a series of events! The fundamental problem was that SuperNET was heavily relying on many third parties, that is the blockchains it was built upon. It happened that some of the coins/dapps were abandoned by their teams for various reasons. Yet this was a lesser problem because they could be replaced. The irreparable disaster was a series of backward-incompatible changes on NXT that completely broke SuperNET inner workings.

      Rather than giving up with the project, jl777 decided to start over taking the lessons into consideration. The SuperNET vision was to be rebuilt on its own independent codebase, with every part as modular and independent as possible, while also offering the same flexibility to any project built on it.


    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 at the end of 2018 but it 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) Smartchain creation kit

    The basic idea with Komodo is that all new coins, securities, tokens, dapps or blockchain-based projects will get their own independent Smartchain. 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 on other Smartchains.

    The relationship between all the Smartchains and Komodo is fundamentally different from the ‘sidechain’, ‘childchain’, ‘plasma’ or ‘sharding’ concepts in the sense that they’re really independent from each other (like Litecoin is independent Bitcoin) and not tied to any ‘parent’ chain for their survival. They come with their own consensus, nodes and custom rules.

    The ‘Blockchains’ created with Komodo technology are properly called ‘Smartchains’ because virtually anything can be programmed into them with the Antara Framework (see below).

    Unlike other multi-chain platforms there’s no Komodo tax for launching a Smartchain, no Komodo fees to pay, no gas cost, no lock-in, no obligations in any shape or form. A Komodo-based Smartchain doesn’t even need to interact with the rest of Komodo  ecosystem, if it doesn’t want to. Each Smartchain pays its tx fees in its own native coin and freemium models are possible too.

   There’s no practical limit to the number of Smartchains that can be created. Developers can choose from a list of initial parameters and Antara modules (see below) for a total of thousands different combinations. More parameters and more modules continue to be developed, including consensus algo, signatures schemes and all kind of new technologies.

     If a skilled developer can’t find the option he’s looking for, he can create it with the Antara Framework that allows to implement new core 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 excellent documentation, alternatively there’s an online blockchain generator called Composer and third party consulting services like Chainzilla  Chainmakers and RedFox



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

    It’s already been shown many times that small PoW blockchains are easy targets for double-spend attacks and Komodo design is based on many small chains that use a variety of algo. So how to protect them? Especially the ones using PoW? For this reason Komodo has developed the delayed-Proof-of-Work tech to decentralize the creation of checkpoints on the Bitcoin blockchain.

   dPoW is an additional layer of protection (like a ‘write-protect’ notch) on top of the existing consensus of Komodo and other Smartchains using it. dPoW allows to have many small independent chains with Bitcoin-level security.

   dPoW uses a randomized process between 64 elected Notary Nodes: every turn a complex sortition process selects 13 notaries that agree on the same data to notarize on Bitcoin. Also normal user nodes check that notarized data is valid or the notarization would be rejected by the network.

   Unlike Masternodes or dPoS systems, the Notary Nodes don’t have any power on the blockchains they’re notarizing. The worst case scenario is that Smartchains have to rely on their normal consensus without checkpoints.

   Notary Nodes are elected yearly by a stake-weighted vote. Every year the best performing half (by number of successful notarizations) keep their spot, while the other half is up for election. In exchange for their service, Notary Nodes receive a Komodo mining advantage that consists in 75% of blocks while the remaining 25% is for independent miners.

   dPoW protection is available for both Komodo-based Smartchains and external blockchains. Gamecredits was the first separate project to adopt it.

   Projects building on Komodo have also the option of creating their own dPoW network, separate from official one. Setting up a working dPoW network, even with far less than 64 nodes, is a challenging task but KMDlabs is experimenting with ways to simplify and automate the process.

Further reading:

Main resources about dPoW

 

     3) libSPV

   For a blockchain project achieving mass scale it is necessary to have reliable light clients for users that don’t want to run a full node or are using mobile devices. The most used method is based on the Simple-Payment-Verification (SPV) described by Satoshi in his whitepaper.

   There are some doubts about the scalability of SPV to very large number of users, fortunately one additional benefit of dPoW is the possibility to create extremely light clients that require 100x or 1000x times less overhead than normal SPV.
   All Smartchains that also make use of dPoW can offer this light client technology to their users.

Further reading:

nSPV a simple approach to superlight clients leveraging notarizations

libnSPV the evolution of nSPV

 


     4) AtomicDEX

    AtomicDEX (ex BarterDEX) is the Komodo ecosystem’s atomic-swaps decentralized exchange (DEX) that works with p2p orderbooks, ordermatching and liquidity providers. jl777 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 limits and the need for a  complete rewriting in order to enhance user experience.

   The new version called AtomicDEX has been open to beta testing in july 2019 with very positive feedbacks. The marketmaker2.0 core has vastly improved connectivity, multi-threading and other enhancements. The new core will also make it easier to create abstraction layers for supporting non-Bitcoin based coins.


     5) dICO

    Decentralized initial coin offerings (dICOs) use the AtomicDEX 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 AtomicDEX as means of payment.



    6) Jumblr (deprecated)

     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.


 
    7) Multichain scaling

    Komodo on-chain scaling technology leverages the security provided by delayed-PoW to create multiple chains 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.

     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 Smartchain. It can be done by adding one or more new ‘chains’ to its own ‘cluster’, that is a group of fungible chains that maintain the same overall supply across them. Every additional chain can be customized in the usual ways, so a specific project achieving mass scale can be composed of many custom Smartchains for different geographic areas or groups of people or use-cases.

   This is a unique scaling method, different from both the “single big chain” or the “sharding” tech researched by other projects. From the user point of view he only needs to run the Smartchain he most often transacts with, yet he can also send coins to someone using another chain on the same cluster. 

    Of course Komodo is flexibile enough to also adapt any 2nd layer scaling solutions when and if they become mature enough for mainstream use. jl777 himself has made some contributions to a Lighting Network implementation and used the tech for CHIPS

Further reading:

The manychains universe or how to solve unlimited scaling with existing technology

dPoW was created to secure the manychains universe  



     8) Antara Framework

    Komodo has implemented the Antara Framework technology (previously known as ‘Crypto Conditions’ or ‘Custom Consensus’), an UTXO-based Turing-complete protocol that is completely different from other smart contract technologies (in fact ‘smart contracts’ is a sub-set of what it can do).

   Any kind of custom rules or program can be programmed into a specific Antara module and compiled into the Smartchain daemon. It will become a blockchain enforced rule and run at native CPU speed, without gas cost or virtual machine. It’s also possible to dynamically load the modules without recompiling the entire daemon. For blockchain technology it’s a big improvement over existing methods, comparable to the difference between Asic vs Cpu mining. 

   As examples of what can be accomplished, Komodo has created a few proof-of-concept Smartchains with provably random & blockchain enforced games: Dice, Tetris and Sudoku.

   Most blockchain innovations can be integrated via a custom Antara module, including core customizations, signature schemes or new consensus algo that otherwise would be way harder to develop from scratch and integrate into a blockchain.

   For example Verus coin has used Antara to solve the Nothing-at-Stake and Weak Subjectivty problems of PoS and it took only a few weeks of work. Verushash is now one of the consensus algo a developer can choose when creating a Smartchain. 

    Many set of modules are in various phases of concept, development and testing, including the following:
  • 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 zkSNARK proofs
  • CC-Channels: secure instant payment mechanism via on-chain channels
  • 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
 

   If a developer can’t find what he’s looking for among the existing modules, he can write his own custom one. Writing an entire module from scratch isn’t a job for weekend coders but any serious project will love the incredible customization possibilities.

   An eWASM and Python interpreters are in development, in this way Antara modules 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.

   For Dapps development each module includes a very 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

Further reading:

Transactionalization or how to design your custom consensus blockchain

Obsoleting smartcontract GAS costs using efficient transactionalization methods

 

   9) 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 Antara 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