This course is offered by Blockchain Training Alliance (Link to course: https://blockchaintrainingalliance.com/collections/all-courses/products/blockchain-architecture)
Dates: April 25-27, 2018: Virtual Instructor-led WebEx
Certification obtained on May 16th, 2018 – Certified Blockchain Solution Architect (BTA-CBSA)
This instructor-led 3 day Blockchain Architecture training is for technical leaders who need to make decisions about architecture, environment, and development platforms. The class covers the following topics:
- What is Blockchain
- How does Blockchain work
- Types of Blockchains
- How is Blockchain different from what we have today
- What are use cases for Blockchain
- What does a Blockchain app look like
- How do I design a Blockchain app
- How do I develop a Blockchain app
- How do I test a Blockchain app
What is Blockchain?
- A record keeping system, Trust, Decentralization, Trustless environment
How does Blockchain work?
- Announcements, Blocks, Nodes, Chaining, Verification, Consensus, Scalability, Privacy, Crypto Hashing, Digital Fingerpring, PoW vs PoS
Types of Blockchains
- Public vs Private, Open vs closed, Smart Contracts, Blockchain as History, Tokens / Coins, Gas
How is Blockchain different from what we have today?
- Decentralized, Peer-to-peer architecture, Software vs Firmware, Database vs Blockchain, Distributed database or other technology? Data Sovereignty, Group Consensus
What are Use Cases for Blockchain?
- Use Case Examples: Currency, Banking Services, Voting, Medical Records, Supply Chain / Value Chain, Content Distribution, Verification of Software Updates (cars, planes, trains, etc), Law Enforcement, Title and Ownership Records, Social Media and Online Credibility, Fractional asset ownership, Cable Television billing, High fault tolerance, DDoS-proof, Public or Private Blockchain? Who are the participants?
What does a Blockchain app look like?
- Resembles typical full stack web application
- Any internal state changes and all transactions are written to the blockchain
- Public Blockchain visibility
- Private Blockchain solutions
How do I design a Blockchain app?
- What does this solution need to let users do?
- Will the proposed solution reduce or remove the problems and pain points currently felt by users?
- What should this solution prevent users from doing?
- Do you need a solution ready for heavy use on day 1?
- Is your solution idea enhanced by the use of Blockchain? Does the use of Blockchain create a better end-user experience? If so, how?
- Has your business developed custom software solutions before?
- What level of support are you going to need?
- How big is the developer community?
- Does your vision of the future align with the project or platform’s vision of the future?
- Does the platform aim to make new and significant contributions to the development space, or is it an efficiency / cost play?
- Should the solution be a public or private Blockchain?
- Should the solution be an open or closed Blockchain?
- Create a plan for contract updates and changes!
- Hybrid solutions
- Monetary exchanges?
How do I develop a Blockchain app?
- AGILE approach pre-release
- Define guiding principles up front
- Software vs Firmware
- Announcements, not transactions!
- Classes, not contracts
- Link contracts to share functions
- Use calling contracts to keep contract address the same
- Hyperledger vs Ethereum
- CONSIDER No of Users * Avg No of Transactions (state changes) per User
- Should a Blockless solution be applied?
- Monolithic vs Modular
- Sandwich complexity model
How do I test a Blockchain app?
- Recommend 5x to 10x traditional application testing time
- SECURITY is #1!
- Networks (Ethereum)