Blockchain Architecture Training

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

Objectives

What you will learn:

  • 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?

Outline

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)

Audience

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

Duration

3 Days
X