18 Ways To Customize Your Purpose-Built Blockchain With Komodo

DanielApril 4, 2019

Komodo is the world’s most advanced multi-chain platform. With a unique multi-chain architecture, Komodo gives every project an independent blockchain with its own decentralized network and its own coin.

Blockchains created with Komodo’s technology are also fully customizable. This allows each project to build the blockchain solution that fits their individual needs. This post will explain the 18 different ways you can customize your blockchain with Komodo.

Independent Blockchains vs. Smart Contracts

Before we dive into the 18 customizable options, it’s important to fully understand what it means to launch an independent blockchain with Komodo.

When you launch a blockchain with Komodo, you have the same level of autonomy as if you were to code your own blockchain from scratch or fork an existing blockchain, plus you have the option to use Komodo’s Custom Consensus framework to program dApps and host smart contracts natively.

If you choose to make a Proof of Work chain, then it will be mineable. If you choose to make a Proof of Stake chain, then it will be stake-able. Either way, anyone in the world can choose to join your network to earn block rewards, contribute to the decentralization of your ledger, and increase your network’s security.

Just like any other blockchain, each blockchain launched with Komodo’s technology has its own coin and an independent network. The network determines the validity of every transaction and block. Blocks are mined according to the chosen consensus rules. Blockchains launched with Komodo’s technology are not tied to the Komodo blockchain or network in any way.

While launching a blockchain with Komodo’s technology offers the independence and autonomy that normally comes with coding a blockchain from the ground up or forking an existing blockchain, it is far easier and faster than either of these options. A blockchain can be customized and launched with Komodo’s technology in just 10 to 15 minutes.

It’s important to make a distinction between creating an independent blockchain and using blockchain technology via a smart contract. Projects that create a smart contract on an ordinary smart contract platform do not get an independent blockchain. Instead, they are sharing the same blockchain and decentralized network with all of the other projects built upon that particular platform. This leads to crippling congestion and sky-high transaction fees.

In reality, those who adopt blockchain technology with a smart contract platform are simply paying gas fees for that platform’s decentralized network to execute its smart contract. The success of any single project does more to benefit the platform than it does the the successful project itself. At the same time, there is no way for successful projects to grow because the platform has but one shared blockchain with one shared network. It is too congested to scale.

Although smart contract platforms did much to generate interest and excitement in the blockchain industry, their shared-blockchain model is deeply flawed. Many talented developers are working hard to innovate solutions to the issues that a single-chain model creates, but they’re failing to address the more fundamental problems of the design itself.

Komodo’s 4 Pillars Of Blockchain Technology

Komodo is the world’s only blockchain platform with a multi-chain architecture. Every project that builds with Komodo gets a customizable, independent blockchain. Komodo provides features to support the 4 Pillars of Blockchain Technology.

Security

Komodo’s innovative delayed proof of work security mechanism protects every blockchain with the power of the Bitcoin hash rate. This effectively recycles the energy used to run the Bitcoin network, extending its massive level of security to the entire Komodo ecosystem.

Scalability

As every projects gets an independent blockchain, Komodo eliminates many of the blockchain scalability issues that continue to plague smart contract platforms. At the same time, Komodo offers every project the ability to scale out on linearly with the Multi-Chain Syncing feature. This allows multiple chains to act as one, boosting transaction-processing capabilities on demand.

Interoperability

There are a number of blockchain interoperability features available within the Komodo ecosystem. Blockchains can choose to become part of a blockchain cluster, which allows cross-chain verification of transactions. Moreover, all chains built with Komodo have access to Komodo’s industry-leading atomic swap technology, which enables peer-to-peer trades between 95% of all coins and tokens in existence.

Adaptability

Blockchains launched with Komodo are customizable in 18 different ways. This gives every project the flexibility and adaptability they need to create valuable blockchain solutions for their specific use case.

18 Ways To Customize Your Chain With Komodo

There are currently 18 different ways that you can customize your blockchain with Komodo, leading to hundreds of millions of different possibilities to choose from. Below are descriptions of all the options available to you when building with Komodo.

Parameter #1: -ac_Name

Choose the ticker symbol for your blockchain’s currency. This is the first step in customizing your independent blockchain with Komodo. You may only use capital letters and numbers.

Parameter #2: -ac_Blocktime

Choose the amount of time, in seconds, that elapses between the generation of blocks in your blockchain. The default block time is 60 seconds, allowing the network to produce one block (either through mining or staking) per minute.

Parameter #3: -ac_Supply

Choose the number of pre-mined coins generated prior to your blockchain being launched publicly. If you don’t want any pre-mined coins, simply set this equal to zero. If you would like to raise funds, then this parameter allows you to choose how many coins you want to make available for the crowdfund.

Parameter #4: -ac_Rewards

Choose the number of coins awarded when someone successfully mines or stakes a new block. This is known as a block reward. Of course, the higher your block rewards, the greater the total supply of your blockchain’s currency.

Parameter #5: -ac_Halving

Choose the number of blocks between reductions in block rewards. Block times are ~1 minute. So, for example, if you want your block rewards to decrease once annually, you would set this parameter equal to 525,600. There are no restrictions on how frequently reductions in block rewards can occur.

Parameter #6: -ac_Decay

Choose the size of each reduction in block rewards. Traditionally, block rewards decrease by 50% but this need not be the case. They can decrease by any percentage you want. Block rewards will decrease by the percentage you choose with this parameter at the block heights you selected with the -ac_Halving parameter.

Parameter #7: -ac_End

Choose when your blockchain’s block rewards will end. It can be any block height you want. After that block height is reached, miners/stakers will still receive the transaction fees for the blocks they generate, but they will not receive a block reward.

Parameter #8: -ac_Public

Choose whether or not to enable private zero-knowledge transactions. If you would like to prevent private transactions on your blockchain, then set this parameter equal to 1. If you’d like to make private transactions an optional feature, simply set it to 0.

Parameter #9: -ac_Private

Choose whether or not to make private z-transactions mandatory. Set -ac_Private to 1 for optional privacy. Set it to 0 for mandatory zero-knowledge-proof transactions. Note that -ac_Public must be set to 0 in order for this parameter to work properly.

Parameter #10: -ac_Staked

Choose the percentage of blocks generated through staking. If you want a 100% Proof of Work chain, ignore this parameter. Proof of Work (PoW) is the default consensus mechanism.

If you’d like a 100% Proof of Stake chain, then you can simply set -ac_Staked to 100. All other percentages work, as well. For example, setting this parameter equal to 30 would mean that roughly 30% of the blocks in your chain would be generated through staking, with the remaining 70% being mined according to PoW rules. The -ac_Staked parameter uses PoS64 rules.

Parameter #11: -ac_TimeLockFrom, -ac_TimeLockTo, and -ac_TimeLockgte

These 3 parameters give you the option of timelocking any block rewards greater than or equal to (gte) the value you choose with -ac_timelockgte. If a miner or staked receives a block reward greater than or equal to the value of your choosing, then those coins are temporarily time locked.

Locked rewards are randomly unlocked at blocks between the “from” and “to” block heights you select. For instance, if you set -ac_timelockfrom==250000 and -ac_timelockto==500000, then all time locked funds will become unlocked randomly at some point between block height 250,000 and 500,000. All funds would be unlocked by block 500,000.

Parameter #12: -ac_CC

Choose whether or not to enable Custom Consensus framework and select to which cluster your blockchain will belong. Values less than 100 are for ordinary blockchain interoperability features, like cross-chain transactions proofs. Values greater than 100 create a fungible cluster with other chains using the same value for -ac_CC.

Parameter #13: -ac_CCactivate

Activate Komodo’s Custom Consensus framework for an existing blockchain. If you’re launching your blockchain for the first time, ignore this parameter and use -ac_CC instead.

For existing blockchains that do not already have the Custom Consensus framework enabled, setting -ac_CCactivate equal to a future block height will activate CC modules at that block. This parameter requires hard forking the existing chain. All nodes will need to update their daemons.

By default, ac_ccactivate uses the default ac_cc value of ac_cc=2. It is not necessary to further specify ac_cc in the launch parameters, unless a value other than 2 is required.

Parameter #14: -ac_Perc

Decide whether or not to receive extra funds, as a percentage specified with this parameter, of all transactions sent and all block rewards generated on your chain. These funds are created in addition to both transacted funds and block rewards so use of this parameter causes inflation.

Parameter #15: -ac_Founder

For this parameter to take effect, it must be used in conjunction with -ac_Perc. While -ac_Perc can be used without -ac_Founders, -ac_Founders has no effect without -ac_Perc.

If both parameters are set, then -ac_Founders specifies, in blocks, how often you receive your transfers of the funds generated from the -ac_Perc parameter. Use of the -ac_Founders parameter limits your funds to a percentage of each block reward (as opposed to a percentage of all block rewards and all transactions, as is the case with -ac_Perc alone).

Parameter #16: -ac_PubKey

Designate the PubKey of the address to which you want -ac_Perc rewards and -ac_Founders rewards sent. Make sure to set this parameter if you’re using -ac_Perc, and/or -ac_Founders!

Parameter #17: -ac_Script

Choose whether or not you’d like to enter a Script Hash address to receive coins generated from the -ac_Perc, and/or -ac_Founders parameters. In effect, this allows these coins to be sent to a multi-signature address.

It may be a multi-sig address controlled by key team members of a blockchain project, such that multiple team members must approve a transaction before any funds are moved.

Alternatively, this parameter can be used to send funds to a multi-sig address that funds a specific Custom Consensus module. For instance, the Rogue CC module is funded by setting the -ac_Script parameter equal to a specific script hash. The -ac_Perc rewards are deposited to that address, which then allows users to receive payouts from successful gameplay.

Parameter #18: -ac_Eras

Customize your blockchain’s coin emission schedule. If enabled, the -ac_eras parameter allows you to implement up to 3 “eras” of blockchain rewards. This differs from block halvings because, with -ac_Eras, your blockchain’s emissions curve can be virtually anything you want. For instance, block rewards can increase over time, rather than only decreasing by the percentage of your choosing (as is the case with only the -ac_Decay and -ac_Halving parameters).

Additional Parameters In Testing

-ac_txpow

Choose whether or not to enforce a transaction rate limiter. If set equal to 1, this parameter serves as an effective way to prevent spam transactions on your blockchain, as it requires all transactions other than coinbase transactions to have a transaction ID starting and ending with 00. This feature can only be used with Proof of Work blockchains.

This parameter is currently a proof of concept. Many of the traditional RPC commands, such as sendtoaddress or sendmany, are not currently supported with this parameter. The createrawtransaction andsignrawtransaction commands must be used with this parameter.

-ac_algo

Choose which hashing algorithm you would like your blockchain to use. If this parameter is not specified, your blockchain will use the Equihash algorithm. If this parameter is set to -ac_algo=verushash, then the VerusHash 1.0 algorithm is used. The talented development team at Verus Coin created this unique hashing algorithm.

However, the Verus Coin team discovered a vulnerability in the first edition of the VerusHash algorithm that allowed a certain variety of FGPA miners to find blocks with a significant advantage over CPU and GPU miners. Verus implemented VerusHash 2.0, which has eliminated the vulnerability, but this updated algorithm is not yet available for blockchains launched with Komodo’s technology.

In addition, the Komodo team is testing and refining -ac_algo to make it compatible with -ac_staked. Currently, this combination is not recommended.

-ac_veruspos

Choose whether or not to implement the PoS consensus rules created by the talented development team at Verus Coin. If activated, the -ac_VerusPoS parameter must be set equal to 50 (no other values can be used). This allows 50% of all blocks to be generated according to Verus PoS rules. The remaining 50% of blocks will be created via Proof of Work mining. This parameter is an alternative to -ac_Staked but more testing is necessary before it is available for production blockchains.

-ac_CCenable

Choose which Custom Consensus modules you would like to activate on your blockchain. In order for this parameter to function properly, -ac_cc must be activated. If -ac_cc is set, but -ac_ccenable is not, all CC modules modules will be enabled.

The -ac_ccenable parameter must be set to the corresponding eval codes, in decimal separated by commas, to activate the desired Custom Consensus modules. The eval codes can be found here.

Once thorough testing is complete, the Komodo team will make these four additional parameters available for all projects that launch a blockchain with Komodo’s technology.

Komodo’s Custom Consensus Framework

As other projects within the blockchain space begin to explore multi-chain architecture, Komodo is staying at the cutting edge of the industry with the Custom Consensus framework.

This innovative technology makes each blockchain created with Komodo’s technology completely dynamic. Custom Consensus modules are added like plug-ins. The CC module library includes tokens, oracles, gateways, quantum security, lightning payments, and more.

If the Custom Consensus module library doesn’t have the technology you need, you can program your own CC modules. Modules are written in C or any language that compiles to C. There are no constraints on what you can program a CC module to do. It can be a game, an application, a specific piece of software, or the adoption of an existing open source technology.

Since CC modules are programmed separately from the code that dictate the blockchain’s ordinary consensus rules, creating dApps and games with the CC framework is speeds up blockchain development cycles several times over. Better still, there are no gas fees for CC modules. It is the optimal way to run any blockchain-based game, application, or software.

Launch A Blockchain With Komodo

If you’re ready to customize and launch a chain with Komodo, there are several different ways to get started.

First, you can launch a chain yourself. In order to go this route, you must install the Komodo daemon and set your parameters from a command line interface. If you’re comfortable with launching a chain from the CLI, see Komodo’s Developer Docs here.

The second option is to contact a third-party service provider. Right now, there are two service providers who can help you customize and launch your chain with Komodo: ChainMakers and ChainZilla. You can contact either service provider directly or send an email to [email protected] for a formal introduction with a Komodo team member present.

The third and final option is to use Komodo’s blockchain generator web app, which will be available soon. Once finished, this application will allow anyone to customize and launch an independent blockchain with Komodo’s technology from a sleek app with excellent UX/UI. While this app is still in development, it’s nearing completion and a small preview is already available.

As Komodo is an Advanced Technology Partner with Amazon Web Services (AWS), the app will be hosted on AWS Marketplace. The application will be released as part of the major rebrand that Komodo is currently undergoing. Komodo is evolving into a true industry leader.

To get all of the latest updates from Komodo, sign up for Komodo’s 5 Bullet Friday email list. Every Friday, you’ll receive a newsletter with a summary of the five most important events from the previous week. You can also join the Komodo community on Discord to chat with other community members and the Komodo team.

Join us as we continue to accelerate the global adoption of blockchain technology.