Short History of Crypto-Conditions

Komodo Platform’s Smart Contract Technology

Satinder Grewal
5 min readFeb 26, 2020

I love to talk on the Komodo Platform subject and specially on it’s historic development. Since I have been with Komodo Platform from its earliest days of SuperNET, I pretty much been observing and explaining its technology to its users on chat platform and different media interviews previously.

In latest event, I noticed a good question from a curious Komodo Platform chat user “Hember”

ok, KMD integrated some Turing that is Ripple and somehow this does something to BTC… wtf did I just try to read on iKomodo?
Anyone want to try to explain this shit in words that a technically “no!” person would understand? — Hember

It’s a question to a post from Mylo on his website ikomodo.com article Extending Bitcoin Protocol — Antara, where he talked about Antara Smartchains (Link: 1, 2)and its smart contract technology, Crypto-Conditions (Link: 1, 2, 3).

Following is a formatted version of the answer which I provided in Komodo Platform Discord chat.

There’s an organisation which helps standardise technology protocols in industry, https://ietf.org. The Internet Engineering Task Force (IETF).

The folks from different projects and Linux world who work together around making Linux based technologies started a project called Interledger Protocol some time ago, and Ripple was just one of the sponsors to support Interledger Protocol and it’s technologies (Link: 1, 2, 3, 4, 5, 6, 7).

Interledger Protocol proposed the smart contract type standards to enhance the capabilities in Interledger. It is called “Crypto-Conditions”.

So far 4 revisions proposed on this standardisation. That means the industry experts review the standard, revise it, review it again, find vulnerabilities and propose more fixes to it. There has been not just the proposals but the actual implementations developed in different programming languages as well.

Implementations links:
https://github.com/rfcs/crypto-conditions#implementations

Originally Crypto-Conditions was picked by jl777 as a solution for Komodo’s blockchain scaling solution, and a dedicated C/C++ developer was hired to turn these proposed specifications to a C code. That dev is Scott Sadler (libscott — Discord handle) — (Links: Github, LinkedIn). He turned the specifications to actual C code. Here’s the library links:

Crypto-Conditions Specifications Github repository link:
https://github.com/rfcs/crypto-conditions

Crypto-Conditions implementation in C code, the C library:
https://github.com/ssadler/libcryptoconditions

Thanks to Scott Sadler (libscott) Komodo was able to do the “Merkel of Merkel of Merkel” (MoMoM) (Links: 1, 2, 3) transactions using “Crypto-Conditions” technology, which is basically a solution to make scalable Smart Chains using Komodo technology and also able to make Smart Contract type decentralised applications but with much much more powerful and in efficient manner than Ethereum!

jl777 found that this “MoMoM” solution is not just limited to create a scalable blockchain solution and tried creating other different blockchain consensus based code which could be used to plug in to an existing “Asset Chain”, and with a blockchain hard fork activate this new blockchain consensus work with new set of rules regulated by this plug in code created with “Crypto-Conditions” technology. As a result turning the not so smart chain “Asset Chains” to a “Smart Chain”, which can do anything which any smart contract type application can possibly do, but in much better and securer ways.

That first set of “Crypto-Conditions” code base gave almost 7 to 9 new consensus based Smart Chain modules:

  • CC-Faucet (Links: 1, 2, 3)
  • CC-Rewards (Links: 1, 2, 3)
  • CC-Tokens (Links: 1, 2, 3)
  • CC-Dice (Links: 1, 2)
  • CC-Channels (Links: 1, 2, 3)
  • CC-Oracles (Links: 1, 2, 3)
  • CC-Rogue (Blockchain based Game)(Links: 1, 2)
  • CC-Sudoku (Blockchain based Game) (Links: 1, 2)

These modules became the first examples of the proof that the “Crypto-Conditions” are indeed the perfect fit to extend the Bitcoin blockchain based technology to extend to the smart contract level applications and also at the same time be very secure, efficient, and powerful to make best decentralised applications.

Later jl777 trained few more core developers such as Dmitriy Menshchikov (dimxy) and Mihailo Milenkovic who also enhanced these early “Crypto-Conditions” modules now called “Antara Modules”.

Image Ref.: https://github.com/marmarachain/MarmaraChain

And because of this technology, we now have the Marmara Credit Loops Project (Links: 1, 2) from B. Gultekin Çetiner in Turkey (Links: 1), which focuses on a solution to Post Dated Checks using blockchain technology, explained in more detailed in it’s white paper “Marmara Credit Loops: A Blockchain Solution to Nonredemption problem in Post-dated Cheques written by Prof. Çetiner and James (jl777) Lee. Marmara project ($MCL) is entirely based on Komodo Platform technology and extensively uses Crypto-Conditions technology.

Images Ref.: https://veruscoin.io

Even the Verus project’s Nothing at Stake solution is based on “Crypto-Conditions” (Links: 1, 2, 3, 4, 5) which is adopted from Komodo Platform technology, and is enhanced in more different further ways by Michael J Toutonghi - @MikeToutonghi (Links: LinkedIn, Github).

But I heard “Crypto-Conditions” tech development and usage in “Interledger” project is not considered to be implemented and they moved away from this technology (Links: 1, 2).

The “Crypto-Conditions” technology developed in Komodo Platform is using the core basis from the proposals, but it has significantly enhanced by jl777 further, to the extent that it is now usable with the Komodo Platform.

The latest technology in development and in early tests is the CC-Pegs which makes it possible to create pegged cryptocurrency. This Crypto-Conditions code uses other previously created Crypto-Conditions modules (Gateways, Tokens, Oracles, Prices) and extend it’s functionality further.

That is the basis of Stablecoins technology being developed in Komodo Platform based on Decentralised Oracle and Prices Antara Modules.

Further on Crypto-Conditions technology’s standard we can now also see that Cardano (Links: 1) is also proposing the same method, Enhanced UTXO, EUTXO (Links: 1, 2, 3). I got feedback from some expert Komodo Platform team members on it saying that if you read on it’s detail, you will find it’s a mirror to what Crypto-Conditions does.

Conclusion

Crypto-Conditions as a an industry standard to create smart decentralised applications using blockchain technology has so far proven to be the perfect model for Komodo Platform, and it is becoming evident that rest of the industry is also exploring the same principles which are being utilised in Komodo Platform enhanced Crypto-Conditions implementation.

For any Blockchain technology developer who has the understanding of how Bitcoin transactions are created and spent on Bitcoin network, or has learnt from Mastering Bitcoin (Links: 1, 2) book from Andreas M. Antonopoulos, they can easily follow the “Mastering Crypto-Conditions” guide by Komodo Platform core developer James (jl777) Lee, and follow great tutorials and documentation created by the documentation team of Komodo Platform. You can follow these links here:

Mastering Bitcoin:
https://github.com/bitcoinbook/bitcoinbook

Mastering Crypto-Conditions: https://github.com/KomodoPlatform/Mastering_CryptoConditions

Antara Tutorials:
https://developers.komodoplatform.com/basic-docs/antara/antara-tutorials/introduction-to-antara-tutorials.html

--

--