Extending the bitcoin protocol has been done numerous times by the bitcoin community to achieve its current tech stack. The QTUM project extended bitcoin to include the use of an abstract account layer to make compatibility with the Ethereum Virtual Machine possible. Antara is Komodo’s bitcoin protocol enhancement that enables objects of any type to become blockchain elements. Antara also enables Turing complete logic to be part of network consensus providing a broad scope for solutions.#komodo enables turing complete consensus by incorporating #ripple open standard technology also found in #interledger. Is $kmd the answer to bridging #bitcoin to #DLT & #blockchain Click To Tweet
Komodo lead dev jl777 was able to collaborate with libscott (Scott Sattler) to include a Ripple technology called “Crypto Conditions” into komodod. Similarly to how QTUM extended bitcoin with new OP_CODEs, the komodo protocol has an additional OP_CHECK_CRYPTOCONDITION op code. Op codes are part of the consensus, not only a smart contract synchronous short computation task. Parts of this technology make up the Interledger Payment Method specification draft currently at the w3c.
What is Crypto Conditions
Crypto Conditions is an open standard data format submission put before the IETF (Internet Engineering Task Force) who govern some of the Internet standards. This data format is agnostic to the implementation – it can be implemented in any language. It can also be implemented in any cryptographic signing scheme.
Consensus vs Smart Contracts
In this video, Ethereum co-founder, Web3 Consortium president & Polkadot chief engineer Dr Gavin Wood briefly explains where smart contracts limitations are met. Go to 34mins.
Further to the conceptual understanding of consensus vs smart contracts, Consensus is the network rules, transactions occur and block producers are rewarded for ordering the transactions. Smart contracts involve a vendor and a user to a service, plus the additional effort of the consensus layer to order the execution of the smart contracts. This 3rd party in the vendor-user relationship needs to be paid for their service, and this is where gas fees becomes a problem for the economics for developers.
Consensus of a module is not limited by compute, where smart contracts generate higher gas costs for each computation invoked. In saying this, smart contracts from different vendors on a single chain offer synchronous execution whereas consensus between smart chain chain consensus is asynchronous, and take longer to communicate transaction states.
Modularity with Antara Blockchain Components
The humble programmatic object can now be signed and packaged as a UTXO data structure and used in the komodo protocol for network consensus amongst peers. This is what the Antara modules are – blockchain objects.
Objects have a state and this is maintained on the blockchain. The immutable parts (functions) are compiled into machine code and run on every peer, much like a smart contract. The mutable parts are stored on the blockchain in the OP_RETURN data portion. Bitcoin op_return data has a 40 byte limit, not enough for this sentence. Komodo op_return has a 10000 byte limit, enough to write signed crytographic object states.
Custom Module & Loadable Library
Antara offers developers two methods to customize their consensus rules if not using the modules that ship with Komodo. The first is to modify the source of existing modules and include with Komodo. The other is to load custom modules as a library at runtime. All modules can interact with each other once loaded, like any other programming environment. A tutorial on how the Cryptocurrency Heirs consensus is built in the developer documentation along with the Heir API description.
First Generation Modules Shipped: Blockchain Building Blocks
The first generation of Antara modules included:
- Faucet: a blockchain enforced single point of coin distribution for new users and applications. This features a proof of work transaction generation to prevent spam.
- Dice: a now defunct blockchain enforced dice game whose magic showed how two participants, a dealer node and a player node could share a secret to unlock the winning amount of coins.
- Oracles: an onchain data feed for trusted sources to publish to, with a 8000 byte limit per transaction. The data can be specified as several types including bytes.
- Gateways: the blockchain enforced method of tokenizing another chain
- Tokens: a blockchain token with a data portion to represent any asset.
- Channels: a blockchain preconfigured spending channel in multiple and custom denominations.
These first generation components were developed in 2018 and refined in 2019 to take advantage of the multichain architecture of Komodo.