Blockchain decrypted: The Block Lattice - Adaptability
Part 3, in the previous blog we have taken a closer look at some of the inner workings, this time let’s look at how suitable and scalable the block lattice is and whether it is ready for long term adoption.
Index
- Part 1: Introduction
(https://steemit.com/blockchain/@iwan.spillebeen/bockchain-decrypted-the-block-lattice-introduction) - Part 2: In depth
(https://steemit.com/blockchain/@iwan.spillebeen/blockchain-decrypted-the-block-lattice-in-depth) - Part 3: Adaptability / Scalability
(https://steemit.com/blockchain/@iwan.spillebeen/blockchain-decrypted-the-block-lattice-adaptability) - Part 4: Attack Potential
(https://steemit.com/blockchain/@iwan.spillebeen/blockchain-decrypted-the-block-lattice-attack-potential) - Part 5: Block Lattice Visualisation
(https://steemit.com/blockchain/@iwan.spillebeen/blockchain-decrypted-the-block-lattice-visualisation) - Part 6: Network Flooding
- Part 7: Resolving Forks
Suitability for Developers
API support for Nano is quite good. They have RPC libraries, for interacting with nodes in Javascript, Python, PHP, and Elixir. They are all endorsed and posted on their devtools website.
There is also a library for performing Proof of Work in the web browser, written in WebAssembly. They also have a few more tools for interacting with the protocol and a package for Fedora.
The Nano team appears quite responsive and open in their communication and willing to help upcoming projects.
Suitability for IoT ![Internet-of-Things-Needs-IPv6 - mini.png](https://steemitimages.com/640x0/https://steemitimages.com/DQmdfZpLzRhut3XuLDDWpii6dGJG4B3MaBKkTegSMoEUEEQ/Internet-of-Things-Needs-IPv6%20-%20mini.png)
Nano provides a great use case for micro-transactions in the Internet of Things space. We will definitely need to utilize fast, free, miner-less blockchain technologies if we want our machines to quickly and autonomously interact with currency.
Data streams
Nano does not have a built-in mechanism for data transfer on layer 1, but there is an idea to use steganography, meaning that you could encode data inside the value transaction itself, since Nano uses 128 bits per transaction. In principle, you could use the bottom 64 or 32 bits to create and extract small messages.
Beyond that, Nano could implement a layer 2 approach pretty simply: if one can already communicate with other IoT devices, one could just utilize that channel for the data layer. Therefore, this does not appear to be a major obstacle for Nano.
Off-chain Transactions
With Nano, off-chain transactions are not entirely possible. The sending party must be online and connected to the network to facilitate a transaction, however the receiving party does not have to be online at this time, they will simply receive and process the transaction the next time they are online.
Personally, I don’t think this is a big issue, as there would still be a trust issue if it did have this feature. Beyond that, most smart devices and smart consumer electronics have internet access these days and since transactions in Nano using the Nano or Canoe wallet are virtually instant the amount off time one need to spend online to do a transaction is negligible.
Long Term Adoption
One issue that we will run into is that when there are enough users and clients of a cryptocurrency, we have to start asking ourselves, are there enough to go around? On top of that, when we are dealing with IoT where machines will send tiny amounts of a currency to each other, we need to make sure that these tiny amounts don’t grow too expensive in the long run.
Nano is effectively pre-mined, I.e. their ledger starts out with a fixed amount of cryptocurrency that can never change. Over time these tokens are being bought, sold, and moved around with ICOs and Faucets, increasing the general users' attainment of these cryptocurrencies.
Also keep in mind that the amount of Nano in circulation is quite massive, perhaps not so interesting from a HODL perspective since there is a large circulation but certainly a plus point when it comes to use as a currency and for IoT interaction.
The maximum supply of Nano is on the order of 2¹²⁸ ~ 340e36, or 340 undecillion. The reason for this high ceiling is that they utilize a 128 bit integer to represent balances. Their actual max supply is about 133,248,290 MXRB, where 1 MXRB represents 10³⁰ (or 1 nonillion) raw Nano units.
The max supply can be denoted as roughly 133e36, or 133 undecillion raw Nano. Their wiki also denotes a few helper units based on the SI system to help with using some of these high numbers. Here is the maximum supply in raw units: 133,248,290,000,000,000,000,000,000,000,000,000,000. That’s 39 digits!
For comparison, this means there are about 48 sextillion raw Nano for each and every IOTA that could ever exist. IOTA (Tangle) has a maximum supply of roughly 2.8 quadrillion MIOTAs, whereas Bitcoin has a maximum of roughly 2.1 quadrillion satoshis.
Let’s picture a scenario where we reach 75 billion IoT devices by 2025. Let’s forget, to keep things simple, that there will be billions of people owning cryptocurrencies by 2025. Therefore, let’s also assume that these IoT devices own all the crypto.
Now, let’s make a few calculations. The average amount of crypto that will be shared among these future 75 billion devices will be on the order of 37 thousand IOTA (or 37 kIOTA) or 1.78 octillion raw Nano (or 1.78 kXRB); from this we can see that there will be much more flexibility (in terms of transactions) for Nano than either the Tangle or most of the traditional Blockchains/cryptocurrencies.
Scalability ![scalability - mini.png](https://steemitimages.com/DQmeaunmDQVgDP1ZsHx57viir44yGxYnfC8bDxcHET3FagD/scalability%20-%20mini.png)
Speed of Transactions
In Nano, the user, performs the confirmation by signing their transaction. This process takes a trivially small amount of time. In general, your transaction is fully confirmed and processed in a matter of seconds. The bulk of the time is spent on performing proof of work, which is necessary to mitigate unchecked spam / DDoDs / Sybil attacks.
However, as soon in the Canoe demonstration video posted here (https://steemit.com/blockchain/@iwan.spillebeen/bockchain-decrypted-the-block-lattice-introduction) transaction appear as close to instant as you can get, even with this pre-mining function. The whole transaction takes less than 20 seconds to fill out and as soon as you hit the transfer button the transfer appears instantly in the receiving wallet.
You can easily try this out for yourselves by downloading the Nano desktop and mobile wallet (or the canoe wallets: https://getcanoe.io/) by then creating a different wallet on each device (which takes less than a minute) and by collecting some FREE Nano from the Nano faucet (https://www.nanofaucet.org/)
You will see these Nano appear in your selected wallet within a second and you can then send them between your two wallets instantly, and the most beautiful part ... all this is transaction fee free!
Ledger Size
In Nano, the current full ledger size is on the order of 3 GB. Not bad for two years worth of transactions.
Granted, Nano isn’t nearly as popular as IOTA yet, so we have yet to see how it will perform under extreme loads. Over time, size will definitely become an issue. There are plans of pruning the database, as all that is needed for consistency is the total balance in each of the block lattice’s blockchains. This pruning is on their roadmap.
Decentralisation ![Decentralisation - mini.png](https://steemitimages.com/640x0/https://steemitimages.com/DQmcrCXnA3Evc2Xdi33uKMVJNCqJdQ4jdYDT2gSEPysZsrg/Decentralisation%20-%20mini.png)
Nano has no central authorities managing transactions on the network and has had auto-peering since its release around September 2015. Therefore, we can deem it as being decentralised.
The only area where there might be a slight issue is in that of their representative system. This is a potential attack vector, whereby a malicious entity may buy up millions of dollars worth of XRB and carry out a voting attack.
This scenario is outlined on their Attacks wiki. Granted, it is “low” risk as the malicious party would have to effectively forfeit large sums of money to carry out this attack, on the order of hundreds of millions of dollars or ~50% of the market cap, as of this writing. I will also be addressing various attacks in the next blog.
Lastly, we have already addressed the use case for nodes in the previous blog: https://steemit.com/blockchain/@iwan.spillebeen/blockchain-decrypted-the-block-lattice-in-depth
Smart Contracts
Nano currently does not have a design for smart contracts, their entire focus is on the block lattice following their mantra "do one thing, and do it well"; since they are a very small team (4 people) this is entirely understandable and absolutely the right approach. It is entirely possible that this becomes a roadmap item in future or that this is addressed by others through a fork.
Conclusion
Despite the lack of smart contracts, I still believe that the block lattice is well positioned to play a major role in the expanding blockchain space, it already addresses a large number of issues faced by the legacy systems and could very well be the replacement of theses systems (even though this doesn’t seem to be the team’s objective).
Acknowledgements / References
Artwork:
- Title page “Intelligent Solutions” courtesy of http://www.hloom.com/cover-pages/
- Page header / footer “Abstract blue lights” created by Kotkoa - Freepik.com
Other references:
- https://medium.com/@yourcryptomarketing/Nano-the-future-of-bockchain-architecture-no-fees-and-unlimited-scalability-for-all-b2c51a0d80a7
- https://www.reddit.com/user/meor
- https://www.forbes.com/sites/louiscolumbus/2016/11/27/roundup-of-internet-of-things-forecasts-and-market-estimates-2016/#54bb8ea9292d
- https://github.com/clemahieu/Nano/wiki/Double-spending-and-confirmation
- https://github.com/clemahieu/Nano/wiki/Representatives-and-decentralization
- https://Nano.net/page/resources.php#devtools
- https://en.wikipedia.org/wiki/Steganography
- https://hackernoon.com/iota-vs-Nano-413679bb4c3e
- https://github.com/clemahieu/Nano/wiki/Distribution,-Mining-and-Units
- https://github.com/clemahieu/Nano/wiki/Roadmap
- https://github.com/clemahieu/Nano/wiki/Attacks
- https://hackernoon.com/visualizing-how-Nano-works-8c70678ef082
Contact me
You can contact me here with any questions, suggestions and / or to discuss the topic of this document:
LinkedIn: https://www.linkedin.com/in/iwanspillebeen/
Email: [email protected]
CryptoPub/ToshiTimes: https://thecrypto.pub/u/iwan.spillebeen
Sponsoring
I write these papers to - hopefully - help make blockchain more accessible to people new to the technology, I don't get paid, nor sponsored to write these papers. If you absolutely feel inclined to donate something to the writing of this document, you can do so at the following address:
- Ethereum / Ether: 0x6E2a1f9baD495B894A2c6F8240918620F899f4E2
- Nano / XRB: xrb_1xxzi1o9ywinusod35dcun6ku385i33bohhh8hpap76fh67fgnxg1m3qm9mb
Disclaimer
Blockchain – Decrypted is written as a series of chapters, aimed at demystifying the various workings of blockchain technology. Where appropriate I use examples from existing or to-be cryptocurrencies, these examples are just that, examples, and do not aim at promoting or otherwise endorsing any given cryptocurrency.
This document does not constitute legal or financial advice and I do not make any guarantees or promises as to any results that may be obtained from using my content. No one should make any investment decisions without first consulting his or her own financial advisor and conducting his or her own research and due diligence. I disclaim any and all liability in the event any information, commentary, analysis, opinions, advice and/or recommendations prove to be inaccurate, incomplete or unreliable, or result in any investment or other losses.
Coins mentioned in post:
Part 4 is now available here: https://steemit.com/blockchain/@iwan.spillebeen/blockchain-decrypted-the-block-lattice-attack-potential
Chapter 5 is now available: https://steemit.com/blockchain/@iwan.spillebeen/blockchain-decrypted-the-block-lattice-visualisation
Chapter 6 is now available (https://steemit.com/blockchain/@iwan.spillebeen/blockchain-decrypted-the-block-lattice-network-flooding) in which we discuss network flooding and network echo.
Chapter 7 is now available: https://steemit.com/blockchain/@iwan.spillebeen/blockchain-decrypted-the-block-lattice-resolving-forks