This article is a continuation of the two part series on the BTA Certified Blockchain Solutions Architect (CBSA) Exam Deep Dive series. The first article could be found here.
Objectives Continued from the first article (Objectives)
Objective – When is mining needed and when it is not
Mining is needed when there is a public blockchain or an consortium based blockchain that is being used for a transfer of value. Generally, miners are needed in a cryptocurrency platform or a development platform to ensure that resources used are effectively paid for.
For Example in Bitcoin mining is the process of adding transaction records to Bitcoin’s public ledger. The blockchain serves to confirm transactions to the rest of the network as completed and these Bitcoin nodes use the blockchain to distinguish legitimate Bitcoin transactions from attempts to re-spend coins that have already been spent. Miners need to compensated for the resources they consume providing the “mining”. The fees go to providing this return to the miners.
Miners in a private or enterprise blockchain is not needed for several reasons.
- Nodes are controlled by a single entity and resources are funded solely by the entity.
- Enterprises prefer security over transparency which limits the openness of the blockchain.
- Enterprise blockchains such as Hyperledger and Corda do not use a Proof of Work Algorithm which effectively removes the need of a mining pool.
Objective – Byzantine Fault Tolerance
Byzantine Fault Tolerance (BFT) is the classic problem in distributed computing
- Pre-selected generals and meant for a private blockchain
- PBFT runs incredibly efficiently as compared to other consenus methods.
- High transaction throughput with Centralized/permission based.
- Some Enterprise Blockchains that support a form of BFT are Hyperledger, Ripple and Stellar
The Byzantine Generals Problem with computers is essentially a “Byzantine” node that can be rogue by not forwarding packets or perhaps mislead other nodes involved in the P2P Consensus network.
Objective – Consensus among Blockchains
Consensus is a dynamic way of reaching agreement in a group. Some notes
- While voting just settles for a majority rule without any thought for the feelings and well-being of the minority.
- Consensus makes sure that an agreement is reached which could benefit the entire group as a whole
Test Tip – Know the major consensus methods for the exam. These are covered extensively in my courses. Know what PoET is and why you want to use it. Hint- Created by Intel to run on their trusted execution environment and similar to Proof of Work but more energy efficient
Objective – Hashing
Hashing means taking an input string of any length and giving out an output of a fixed length. In the context of cryptocurrencies like Bitcoin, the transactions are taken as an input and run through a hashing algorithm which gives an output of a fixed length
•No matter how big or small your input is, the output will always have a fixed 256-bits length •Even if slight changes are made to the input the changes get reflected in the hash.
Go to Anders website and learn. https://anders.com/blockchain/hash.html
Blockchain’s use of cryptographic hashing provides for _____________
- a. the maintaining of data integrity
- b. making data blocks tamper proof
- c. network security to work in unison
- d. All of the above
TESTIP- Effectively, blockchain hash functions makes it immutable, provide Integrity and is tamperproof
Objective – Security in Blockchain and how addresses, public keys, and private keys work
Private Key and public key are a part of encryption that encodes the information. Both keys work in two encryption systems called symmetric and asymmetric.
An X.509 certificate is any certificate under the X.509 specification standard for public key infrastructure and Privilege Management Infrastructure (PMI).
Need to for exam the differences below around keys.
- Symmetric encryption (private-key encryption or secret-key encryption) utilize the same key for encryption and decryption.
- Asymmetric encryption utilizes a pair of keys like public and private key for better security where a message sender encrypts the message with the public key and the receiver decrypts it with his/her private key.
Objective – What is a smart contract and dApps?
Smart contract is a term used to describe computer program code that is capable of facilitating, executing, and enforcing the negotiation or performance of an agreement using Blockchain technology. (Contract)
- The entire process is automated can act as a complement, or substitute, for legal contracts.
- Terms of the smart contract are recorded in a computer language as a set of instructions
- Aka – Chaincode in IBM
Smart Contracts provide the following as benefits
Autonomy •Trust •Backup •Safety •Speed •Savings •Accuracy
Dapps are “decentralized applications” – These applications run on a P2P network of computers, instead of a one computer. Dapps have one or more Smart contracts. which as not centralized
Objective – History of Blockchain
Dates to know around history of blockchain.
Objective – The programming languages of the most common blockchains
We do not need to know programming for this exam but we do need to know what are the common languages used for Solidity and Hyperledger
CBSA Exam required
- Solidity – Ethereum
- Go – Hyperledger Fabric
Check out this link if your curious about other blockchains.
Objective – Common testing and deployment practices for blockchains and blockchain-based apps
SDLC or the Software Development Life Cycle is a process that produces software with the highest quality and lowest cost in the shortest time. SDLC includes a detailed plan for how to develop, alter, maintain, and replace a software system.
Build on Frameworks
- PHP = Symphony and Fuel PHP
- Ethereum Solidity = Embark and Open Zeppelin
Ethereum Test Networks
Objective – Value Creation
Value Creation of the blockchain technology
Costing • Security • Privacy • Efficiency and Open source are provide areas of value for the blockchain.
Benefits of the Value Creation of the blockchain technology should end in?
- CAPEX Reduction and or OPEX Reduction
- Permissioned Access (Security)
- Increased Privacy or increased transparency based on use case
- Efficiency by reducing intermediaries. (Less accountants, Attorneys, Custom Agents, Lenders, etc.
- Risk Reduction(Less Human Error)
- Numerous other value added benefits
Objective –Blockchain Key Components
Test Tip – Validity Rules (validation) state how the user and the transactions will be validated.
Objective –Blockchain terminology
Terminology is tested heavily. Here are some terms we have not covered yet.
- A channel is a private blockchain overlay which allows for data isolation and confidentiality.
- Endorsement refers to the process where specific peer nodes execute a chaincode transaction and return a proposal response to the client application.
- Membership services provide identity, privacy, and confidentiality to the network
- World State is also known as the “current state”, the world state is a component of the HyperLedger Fabric Ledger The world state represents the latest values for all keys included in the chain transaction log.
Objective – Blockchain Architecture
From an Architecture perspective
- Blockchains are decentralized generally. Notable exceptions like Ripple
- Peer to Peer networks
- Security is built in
Blockchain Scalability 101
Some notes on how to Scale from my courses.
Blockchain architecture covered extensively in my new book “Architecting Enterprise Blockchain Solutions”
Objective – Enterprise Blockchains
The enterprise blockchains are as follows.
Objective – Bitcoin Improvement Protocols
A Bitcoin Improvement Proposal (BIP) is a design document for introducing features or information to Bitcoin. The BIP should provide a concise technical specification of the feature and a rationale for the feature.
There are three types of BIPs. Yes, you will need to know these for the exam and expect a question or two around these BIPs.
- Process – Describe or propose a change in a process – Example – BIP2
- Standard Track- Changes that are requested to its protocols, transaction validation or blocks.
- Informational – Highlight design issues, guidelines and any supporting information – Example- BIP 32
Lastly, we need to also understand Ethereum and Hyperledger Fabric in more detail. This is covered well enough for this exam in my courses.
Check out my O’Reilly Course that includes practice questions.
Carry on my cloud friends and please do let me know any feedback or suggestions.
Joe Holbrook, the Cloud Tech Guy