Book Image

Mastering Blockchain - Fourth Edition

By : Imran Bashir
5 (3)
Book Image

Mastering Blockchain - Fourth Edition

5 (3)
By: Imran Bashir

Overview of this book

Blockchain is the backbone of cryptocurrencies, it has had a massive impact in many sectors, including finance, supply chains, healthcare, government, and media. It’s also being used for cutting edge technologies such as AI and IoT. This new edition is thoroughly revised to offer a practical approach to using Ethereum, Hyperledger, Fabric, and Corda with step-by-step tutorials and real-world use-cases to help you understand everything you need to know about blockchain development and implementation. With new chapters on Decentralized Finance and solving privacy, identity, and security issues, as well as bonus online content exploring alternative blockchains, this is an unmissable read for everyone who wants to gain a deep understanding of blockchain. The book doesn’t shy away from advanced topics and practical expertise, such as decentralized application (DApp) development using smart contracts and oracles, and emerging trends in the blockchain space. Throughout the book, you’ll explore blockchain solutions beyond cryptocurrencies, such as the IoT with blockchain, enterprise blockchains, and tokenization, and gain insight into the future scope of this fascinating and disruptive technology. By the end of this blockchain book, you will have gained a thorough comprehension of the various facets of blockchain and understand the potential of this technology in diverse real-world scenarios.
Table of Contents (24 chapters)
23
Index

Security analysis tools and mechanism

There are several techniques to check the correctness of programs. First, we have unit testing, which is a common method. Second, we have property-based testing, i.e., fuzzing. At the next level, we have model checking, and finally, formal proofs are the most advanced technique to ensure the correctness of programs, in this case, smart contracts. Testing includes unit tests, integration tests, full end-to-end tests, and property-based testing, also called fuzzers.

Static analysis allows us to check the code against a set of coding rules to find code defects. The code does not execute; instead, it is statically checked. On the other hand, there is a dynamic analysis technique where the code is executed to find bugs and is tested against test criteria. Dynamic analysis usually constitutes unit tests and is not considered a formal verification technique. Static analysis using formal techniques is used to formally verify the correctness of the...