This series of posts is called the Tech Tuesday Updates. Along with the Komodo's weekly newsletter, Tech Tuesday Updates will be another weekly piece of content to look forward to.
In case you've missed a previous edition and want to catch up, you can find all the previous Tech Tuesday updates here.
Without further ado, here are the past week’s tech highlights!
Smart Contracts & Custom Consensus Testing Service
The A-team (A is for Australia) notary node operator blackjok3r has made a set notary node testnet scripts for the STAKED discord channel’s ongoing testing. As we learned from the STAKED & PIRATE AMA on Monday 10th September, the purpose of these test notaries is primarily to allow for fungibility between STAKED chains for week to week testing which was briefly touched up on last week’s Tuesday Tech Community Notes.
The purpose of the STAKED chain not only serves the Komodo community, it serves dApp developers and dApp platforms by giving them a service to test their creations publicly with a dedicated and experienced team of testers as well as exposing the functionality of new products to the the ever-growing Komodo community.
What is Custom Consensus? The hidden elephant in the room is that Komodo’s Custom Consensus Framework allows more than just smart contracts. As we’ve been learning from Komodo's Lead Developer James’ demonstrations and explanations through these early development phases, a developer using Komodo’s technology can handle an unimaginable number of ways of integrating a UTXO based system of conditions, fulfillment and rulesets to manage their own ways of achieving consensus for their given application. It may even be possible for a custom consensus module to implement solidity.
Bitcoin Oracle Price Feed dApp Not Only For BTC Prices
Testing continues on the Custom Consensu framework. Last week we introduced the Oracle custom consensus module which turns off-chain data to on-chain data.
How do you speed up testing? Automation. There are already integration tests for some of the existing CC modules for tokenized assets, rewards and the simple dice betting contract.
Testing oracles at this stage is not automated to that extent due to the heavy development focus. The oracle Custom Consensus module is being tested against a Prices CC module and a payment Gateway CC module. More of this will be covered in later weeks.
However, because oracle data can contain dozens of combinations of data types the test team made a simple oracle dApp to facilitate their testing and reduce human error inputs. The utility app takes a bitcoin price feed and saves it to the blockchain for use in other Custom Consensus module tests. The first surprise of this week though is this is how easy it is to compile the oracle utility dApp:
- Compile oraclefeed sourcecode
gcc oraclefeed.c -lm -o oraclefeed
- Execute oraclefeed binary
The next surprise which followed shortly after is that James (Komodo lead dev) said “oracle_dapp is NOT only for btcprice feed. I used it for posting merkleroots and processing withdraws”.
Merkleroots...of what? Hashed data. The first thing I can think of is a verification or “source of truth” for some decentralized data like IPFS hosted files for example.
Instant blockchain payments secured by bitcoin’s hashrate
Imagine sending a transaction to the mempool and it cannot be doublespent. This is the solution created by @Mihailo who is the first person to create a working Custom Consensus module with mentoring from Komodo’s Lead Developer jl777. Mihailio opened up a channel (yes, an on-chain channel and a quasi Lightning Network obsoleting technology?) with 100 payments with a value of 10000 satoshi in each payment - and spent one.
The very basic explanation in three steps is:
- Set up a payment channel with your denominations (10k satoshi in this case)
- Optionally, wait for the payment channel to be notarized by Komodo onto Bitcoin for bitcoin level security
- Send out transactions to those payment channels to be spent like any other type of transaction, one at a time or in multiples, to the destination of your choosing
If you need to send 50k satoshi, authorize the release of 5 of those 10k payments by sending the the payment details to the person’s destination address.
If you really want to read more about how this Payment Channels custom consensus module works in relation to being an alternative to Lightning Network as well as overcoming standard protocol level problems like blockchain reorganization, chapter 10 of the “Mastering Crypto Conditions” text goes into a lot more detail.
This technology is so new, the RPC commands to make it happen are still not in the project’s main source repository. I, or someone on the team, will do my best to present a working demonstration of this technology as early as practically possible.
zk-SNARK only blockchain - PIRATE
The purpose of zk-SNARK technology is to enable privacy in transactions. The technology came out of the zcash project (which is a bitcoin fork), which Komodo is a source code fork. So the anthropological or genealogical view of PIRATE is BTC > ZEC > KMD > PIRATE.
The discussion topics in the last week revolved around:
- The emission rate of new coins over the next 3 years
- The ZEC announcement of sprout to sapling release and what it means for PIRATE which does not allow for transparent transactions
- Full node wallet possibilities
Hints For Creating An Alternative Blockchain/Komodo Wallet
Duke Leto, Bitcoin Hush Lead Dev, a Komodo Assetchain created by airdrop/merging (mergedrop) 4 different blockchains (bitcoin, hush, supernet, revs) gave our community hints for testing out the HushNG wallet but using it for Komodo instead - this wallet based which is based on VueJS looks like it could easily be ported!
This means that projects looking to utilise Komodo’s assetchain technology for creating an independent blockchain can choose either Agama and now potentially HushNG - which supports enhanced private communication.
Join us as we continue to develop and lead the blockchain industry into the future.