This series of posts is called the Tech Tuesday Updates. Along with AMA Mondays on Komodo’s subreddit and the Five Bullet Fridays weekly newsletter, Tech Tuesday Updates will be another weekly piece of content to look forward to.
Without further ado, here are the past week’s tech highlights!
Smart Contract & 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 Crypto-Conditions implementation is more than just smart contracts. As we’ve been learning from our 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 crypto-condition smart contract to implement solidity…
Bitcoin Oracle Price Feed dApp Not Only For BTC Prices
Testing continues on the UTXO Smart Contract system built supporting the (draft) open standard Crypto Conditions. Last week we introduced the Oracle Smart Contract 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 smart contracts 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. Oracle smart contracts are being tested against a Prices smart contract and a payment gateway smart contract. 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 smart contract 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 Crypto-Condition Smart Contract / Consensus 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 Crypto Condition 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” or “Crypto Conditions Made Easy” 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.