Tech Tuesday Update #13: A Summary Of Last Week's Development
This series of posts is called the Tech Tuesday Updates.
In case you’ve missed a previous edition and want to catch up, you can find all the previous Tech Tuesday updates here.
Ledger 5% Rewards Coming!
Notary Node operator (and HyperDEX developer) Luke Childs has created a Ledger Live App for users to claim Komodo’s 5% Monthly Active User Reward. His efforts have been merged into Ledger’s app, https://github.com/LedgerHQ/ledger-app-btc/pull/84
Offline Signing - A tool for project founders and whales
The next version of the Agama wallet (v44) will have a new tool for signing a transaction offline (e.g. an airgapped computer) and using the signed (but not broadcast) transaction on an online computer for broadcasting. Therefore keeping your offline wallet funds safe.
If you were a project founder or your business was providing a blockchain service you will likely be heavily invested in it. Any risk of having funds stolen must be mitigated.
This offline signing feature comes in 3 easy steps:
- Create an unsigned transaction (online)
- Sign the transaction from (1) (offline)
- Push the signed transaction from (2) on a node (online)
How ETH’s whitepaper compares to Komodo’s recent developments and what you get out-of-the-box
Eth marketed itself against these BTC deficiencies for the ETH ICO:
- lack of turing-completeness (e.g. Bitcoin script was limited)
- value-blindness (UTXO can't be split by values easily in bitcoin script - e.g. change in value of that UTXO and sending to 2 different parties based on price changes, e.g. hedge contract)
- lack of state, UTXO is either spent or unspent. (now with Komodo's Custom Consensus framework, a UTXO can be locked to another program with programmable state changes, etc.)
- blockchain-blindness, UTXO not having access to blockchain data like previous block hash (while a "smart-utxo" via Komodo's Custom Consensus framework has full access to blockchain)
The whitepaper further goes on to detail the types of applications solidity can enable:
- Financial
- Semi Financial
- Non Financial
The types of applications listed in the whitepaper are:
- Token System
- Financial Derivatives
- Stable-Coin Currencies
- Identity & Reputation Systems
- Decentralized File Storage
- Savings Wallet
- Crop Insurance
- Decentralized Data Feed
- Smart Multi-Sig Escrow
- Cloud Computing Execution
- Peer-to-Peer Gambling
- Prediction Markets
- On-chain decentralized marketplaces
Komodo For Developers & Entrepreneurs
Komodo’s technology offers a number of benefits to both developers and entrepreneurs. You can customize and launch your own Smart Chain, activate the Antara Modules you need for your blockchain use case, and build an open source multi-coin wallet with an attractive and easy to use UX for your broader community project use.
On top of that, you have several more options available to you, such as: a listing to an atomic swap decentralized exchange, the ability to run decentralized ICOs from the same atomic swap technology to crowdfund, as well as a slick new STO app.
Learn how to write Komodo Custom Consensus modules with Komodo's developers on Discord.
How centralized is the dPoW Notarization process?
tl;dr;
The last point (3) is what is not understood. The centralized signing AND validation is false. Decentralized consensus is signed/notarized by multi-party witnesses (notary network), and this transaction is then validated across the entire network of users. Not just notary nodes. The process is not centralized to notary nodes - all nodes validate the notarization of a blockhash.
Yesterday came news of another 51% on a PoW blockchain without any protection. Vertcoin (VTC) is a popular mining coin with a community that is staunchly about “decentralization” and “ASIC resistance." The irony is the community is quite interested in seeking 51% protection, but at least one core developer calls dPoW “centralized”. This is FUD which we see a lot from the “wisdom of the crowd”, unfortunately from a lack of understanding of the process.
Notary Network & dPoW Multi-Sig Transaction
These are the critical parts:
- Notary Nodes are NOT master nodes
- The notarization transaction is validated by all nodes (not just notary nodes, ALL NODES) on the network
- For Komodo based blockchains, this is in the source code
- For 3rd party coins like GAME, HUSH, EMC2, CHIPS this source code is added to the validation and prevents deep re-orgs beyond the last notarization checkpoint
- Code added to 3rd party coin, adding validation of notarized data so all nodes on the 3rd party network can validate https://github.com/gamecredits-project/GameCredits/commit/e65fe302111408c02d2bf7e286205d4273fa0fed
- 64 Notary Nodes (Full Native Nodes)
- 4 belong to Developers to fund/test the project
- 30 best performing nodes are automatically re-elected
- 30 node operator spots are available and are elected by community airdrop vote tokens
- Notary Nodes hold no power and cannot change any transactions (they are not master nodes)
- dPoW Multi-Sig transaction is an automated process that:
- Begins with the blockhash from the public blockchain being notarized being “witnessed” as being true, and agreed to being the current blockhash from the PoW network; then,
- One node is randomly selected as the starting point for the “sortition” in the current dPoW transaction; and,
- The notary network determines the best connected nodes for the current round, from the starting point, that can sign the transaction that contains the blockhash written into the most secure blockchain (currently BTC)
- There are 13 signatures on the Multi-Sig dPoW transaction
- A bad actor can at worse not notarize
Quantifying “Decentralization”
A decentralized system is made up of smaller systems, each requiring decentralization. Public blockchains can be broken down into these subsystems:
- Mining
- Developers
- Clients
- Nodes
- Ownership
- Exchanges
Mining
Komodo has 64 notary nodes that mine 75% of coins. This is like having 64 mining pools sharing the block rewards throughout the day, as well as the remaining 25% mined by public (and private) mining pools.
Comparing it to BTC, ETH & for the choice of the recent 51% attack, VTC - we can see that Komodo’s PoW consensus is far more decentralized.
Developers
Developers within the ecosystem include every Komodo blockchain project and friendly fork as well as the devops engineers and notary node operators that contribute to the running of all systems. Including the zCash developers who have recently provided the sapling upgrade.
Clients
Only the command line is available in one flavor, however there are more than a dozen wallets that support Komodo with several forked from the Agama multi-coin wallet. With Komodo's Custom Consensus framework (customizable chain logic), the number of dApp clients will increase rapidly.
Nodes
There are at least 64 full nodes from Notary Node operators (and to be honest, most of them run 3 nodes for statistics and separation of mining vs notarization function), plus the devops engineers running electrum servers, explorers and those “bobs” providing liquidity on the DEX network. Maybe 500 full nodes world wide.
Ownership
On the richlist today for KMD, there are 16 addresses with 1M+ KMD.
Exchanges
Komodo is traded on more than a dozen exchanges as well as an atomic swap DEX network.
If dPoW is not centralized, how decentralized is it?
It’s not even close to centralized. It’s not fully decentralized either because the Notary Nodes need to be elected. They are not hand chosen, and they are open to the public to run for election, however - because a certain level of skill is required to maintain a node on a network that maintains security, you're unlikely to gain any community votes without some testnet or #kmdlabs experience. Any hint of your node being compromised and that is the end of your Notary Node.
All the Notary Nodes do is take a decentralized consensus blockhash, sign it onto a stronger blockchain (BTC) and then that transaction is validated across the whole network (full nodes, not just notary nodes). Every electrum server, explorer, exchange, BOB, full node wallet user - with decentralized consensus.
- Decentralized consensus output (blockhash)
- Notarized blockhash
- Decentralized validation of notarization by every user running a full node (because the validation of the notarized data is in the source code of the notarized chain)
This last point (3) is what is not understood. The centralized signing AND validation is false. It is signed by multi-party witnesses to decentralized data, and this transaction is then validated across the entire network of users. Not just notary nodes.
Interested in GUI dApps development? Discord's #cc_gui channel will be where most of the work will take place in the coming weeks.
Thank you Komodo (& ecosystem) developers, what an exciting week!