Day: 31 January 2020
Blockchain – What, How & Where
T Ashok, @ash_thiru on Twitter
Summary
This article is a short primer on Blockchain outlining ‘What is blockchain technology’, ‘How does it work’ and ‘Where is it useful’. Curated from four articles which are nice and easy reads.
Blockchain 101
The interesting article “Blockchain explained” is about “What”, and outlines What is Blockchain?, How Blockchain Works, Is Blockchain Private?, Is Blockchain Secure?, Blockchain vs. Bitcoin, Basics of Public and Private Key, Practical Applications, Pros and Cons of Blockchain, Disadvantages of Blockchain and What’s Next for Blockchain? A quick and easy read it is, check it out!
“How Blockchain Technology Works. Guide for Beginners” is a nice and easy read on the “How”, covering Hash function, Nonce, Nodes, Wallets, Digital signatures, Protocols and Principles of Blockchain.
Blockchain networks
There are different Blockchain networks – Public, Private, Permissioned and Consortium. In a public blockchain networkis one that anyone can join and participate in, such as Bitcoin. In a private blockchainnetwork, one organization governs the network. It controls who is allowed to participate in the network, execute a consensus protocol and maintain the shared ledger. A private blockchain can be run behind a corporate firewall and even be hosted on-premises.
In a permissioned blockchainnetwork, there are restrictions on who is allowed to participate in the network, and only in certain transactions. Participants need to obtain an invitation or permission to join. In consortium blockchain network multiple organizations share the responsibilities of maintaining a blockchain, predetermining who may submit transactions or access the data.
Read about this in “What is blockchain technology?”.
Applications of Blockchain
What are areas where Blockchain can be very useful? Well these are:
1. Payment processing and money transfers
2. Monitor supply chains
3. Retail loyalty rewards programs
4. Digital IDs
5. Data sharing
6. Copyright and royalty protection
7. Digital voting
8. Real estate, land, and auto title transfers
9. Food safety
10. Immutable data backup
11. Tax regulation and compliance
12. Workers’ rights
13. Medical record-keeping
14. Weapons tracking
15. Wills or inheritances
16. Equity trading
17. Managing Internet of Things networks
18. Expediting energy futures trading and compliance
19. Securing access to belongings
20. Tracking prescription drugs
The article “20 Real-World Uses for Blockchain Technology” outlines the “where”, that is areas Blockchain can be used in, and how these applications could benefit from this technology.
on Coverage
(In this SmartBits, Girish Elchuri outlines ” on Coverage “. The video is at the end of this blog)
During development,100% unit testing is needed, anything less is useless. Look at it this way; when you are crossing the chasm, if you jump even 99%, you still die. So it has to be 100%. The way I approach this is, every single line of code that I execute, I execute it as part of the code itself or execute it separately to make sure that the function is behaving the way that it is expected to behave for the parameters being passed.Most of the times the help text provided by the man-pages for the functions may not be 100% complete.From that perspective firstly you have to test the code by yourself. Secondly, certain functions even after being tested have to be again tested as a part of the product and for that I do write a lot of scaffolding code. It is a must. This is not something that I preach, but I practise as well. At this stage, a lot of development of my product is done by myself and I do practise 100% of unit testing and in my opinion, there is no shortcut.