Blockchain Architecture Training

COURSE OUTLINE:

Description

This course reviews�the Blockchain architectural and technical topics that must be considered before launching a Blockchain development program. There are many decisions and issues that face the technical project team and this class will enable participants to make those decisions.

Audience

This course is intended for technical leaders who make technical decisions about their architecture, environments, and development platforms.

Learning Objectives

  • What is Blockchain?
  • How does Blockchain work?
  • Blockchain types
  • How is Blockchain different from what we use today?
  • Blockchain use cases
  • What does a Blockchain app look like?
  • How do I design, develop, and test a Blockchain app?

What is Blockchain?

  • A record of keeping systems
  • Trust
  • Decentralization
  • Trustless environment

How does Blockchain work?

  • Announcements
  • Blocks
  • Nodes
  • Chaining
  • Verification
  • Consensus
  • Scalability
  • Privacy
  • Crypto hashing
  • Digital fingerprinting
  • PoW versus PoS

Blockchain Types

  • Public versus private
  • Open versus closed
  • Smart contracts
  • Blockchain as history
  • Tokens/coins
  • Gas

How is Blockchain different from what we have today?

  • Decentralization
  • Peer-to-peer architecture
  • Software versus firmware
  • Database versus Blockchain
  • Distributed database or other technology?
  • Data sovereignty
  • Group consensus

Blockchain Use Cases

  • Use case examples
    • Currency
    • Banking
    • Voting
    • Medical records
    • Supply chain/value chain
    • Content distribution
    • Verification of software updates
    • 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?

  • DApp
  • Resembles typical full stack web application
  • Any internal state changes and all transactions are written to the Blockchain
  • Node.js
  • IDE
  • Public Blockchain visibility
  • Private Blockchain solutions
  • Oracles

How do I design a Blockchain app?

  • What does the solution need to let users do?
  • Will the proposed solution reduce or remove the problems and pain points 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 and 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 versus firmware
  • Announcements, not transactions!
  • Classes, not contracts
  • Link contracts to share functions
  • Use calling contracts to keep contract addresses the same
  • Hyperledger versus Ethereum
  • Consider the number of users and number of transactions per user
  • Should a blockless solution be applied?
  • Performance
  • Security
  • Anonymity
  • Monolithic versus modular
  • Sandwich complexity model

How do I test a Blockchain app?

  • Recommendations
  • Security
  • Networks (Ethereum)