Blockchain Architecture Course

LENGTH OF COURSE - 3 days

Blockchain is becoming one of the most exciting technologies that is disrupting business and industries alike.  While currently in the beginning stages of deploying this technology, understanding the available platforms, hosting, associated technologies, languages and security is paramount to the success of any POC or enterprise deployment. Corporate Executives, decision makers, stakeholders and developers seeking to align their efforts with the technology need to be aware of the various aspects related to this technology and development.

In this course, we seek to present an independent view of each of these topics.  Our approach is to share the pros and cons of each decision as well as a non-technical summary of implementation.

Please note:  some of the content may appear repeating themselves, however, they are designed to re-enforce learning.

OBJECTIVES

  • Identifying the decisions and participants in a successful blockchain implementation
  • Learn about various blockchain platforms – Open Source and Commercial
  • Understand the hosting and mining options
  • Awareness of associated technologies
  • Understand the primary programming languages, and
  • Determining the decisions surrounding the security of blockchains
  • Learn about blockchain architecture for building a private or hybrid blockchain

WHO SHOULD TAKE THIS COURSE

  • Software developers
  • Corporate executives seeking to connect corporate strategy with this technology
  • Government executives looking to better understand blockchain opportunities
  • Supply chain managers
  • Entrepreneurs
  • Technology Enthusiasts

PREREQUISITES FOR THE COURSE

  • A strong understanding of computing and a strong understanding of blockchain

The Blockchain Academy reserves the right to cancel the Blockchain Architecture course at least 7-days in advance via Email if we have not received seven or more confirmed applications. If the Blockchain Architecture is canceled by The Blockchain Academy then full refunds will be made. This means that the participant is aware that the event is not guaranteed to take place at the time of reservation.

COURSE OUTLINE

Day 1  Blockchain Decision Process

Module 1: Blockchain Decision Overview

The decision to use blockchain technology is multifaceted. There are discussions of Platforms, Hosting and Mining.  What sort of architectural and resource capabilities and constraints should be considered in making the early decisions that will have dramatic impact on the success of the project.

  • Is blockchain technology the right solution
  • Who are the participants in a blockchain project?
  • What type of blockchain should be used
  • What is the environment that will host the blockchain?
  • What additional technologies are important to success
  • What programming languages are available to various solutions
  • What security considerations are there

Module 2: Blockchain Platforms

There are many existing blockchain platforms.  Understanding each as well as the various pros and cons allows for selecting the most advantageous platform for each implementation of a new project.  This module will cover the major platforms.

Public Platforms  

  • Bitcoin
  • Ethereum
  • Multichain
  • Open chain
  • Quorum
  • Chain
  • BigChainDB

Commercial Platforms 

  • Hyperledger (Fabric/Iroha)
  • Hydra Chain
  • Chain Core
  • IOTA
  • Corda
  • Gospel
  • Tezos
  • BlockOne / EOS.IO
  • Symbiont / Assembly 
  • Tezos

Module 3: Hosting Decisions

Each blockchain platform has specific advantages and weaknesses.  Understanding how each is designed allows for a strategic implementation for each project.

  • Private / Public
  • Permissioned / Permissionless
  • Cloud
    • IBM Blue Mix
    • AWS
    • Oracle
    • Microsoft
    • Gospel
  • Distributed Networks
    • Bitcoin
    • Ethereum
    • IOTA
  • Developing your own network of nodes
    • What is required
  • Transaction Costs
  • Interoperability

Module 4: Associated Technologies

There are a number of associated technologies and blockchain architecture that provide enhanced features and functions.  This segment is a discussion of a few of them and how they impact the platform decisions.

  • On-chain vs. Off-chain
  • Lightning Network
  • CoCo Framework
  • Smart Contracts

Module 5: Development Languages

Development of blockchains is never done in a vacuum. Understanding the strengths of each development language and where it is deployed allows for alignment of existing skill sets with the internal or preferred development languages for blockchain implementations.

  • C++, C : Bitcoin, Ethereum, Bitcoin Cash, Ripple, Litecoin
  • JavaScript: Ethereum, Bitcoin Cash, Ripple, IOTA, Litecoin, NEM, Dash
  • Java: Bitcoin Cash, IOTA, Litecoin, NEM, EOS
  • Python: Bitcoin, Ethereum, Ripple, Litecoin, EOS
  • Go: Hyperledger, Ethereum, IOTA,
  • Solidity: Eithereum (DL)
  • Kotlin: Corda (DL)
  • Any server-side programming language for BUILD blockchain from Scratch (DL)

Module 6: Security and Implementation Goals

Implementation of any enterprise project is always challenging, and pitfalls seem to be everywhere. Here are a few Security and Implementation issues that should be considered with any large-scale development.

  • Government Regulations
  • Legal Issues
  • Security Loopholes
  • Defining project goals
  • Metrics to determine success/failure
  • Hurdles to Blockchain Adoption
  • 10 secrets about blockchain

Module 7: Risk Management

A discussion on the various Risk Management aspects of technology selection.

  • Enterprise Risk
  • Operational Risk
  • Geopolitical Risk
  • Market Risk
  • Reputational Risk
  • Systematic Risk
  • Compliance
  • Third Party Risk Management

Day 2  Blockchain Architecture

Module 1: Blockchain Architecture Overview

We need to think along the following lines:  First, the problem we're solving, secondly, the people / entities / stakeholders that we're solving the problem for, thirdly, what devices would they use for the envisioned blockchain, fourth, what blockchain architectural options do we have.

Thus, our thoughts of blockchain architecture would form the following thread:  problem, stakeholders, blockchain type and platform, nodes, blocks, transactions and security.

In addition, be aware of blockchain “protocols”. Data storage such as Factom, cryptocurrency such as Bitcoin, Smart Contracts such as Ethereum.

Module 2: Business and Technical Components of Blockchain Architecture

When we talk about architecture we need to keep two things in mind, that is, business architecture as well as technical architecture.   Many times, when we refer to architecture, we simply mean technical architecture.  However, the success of a project depends on both of them.

Section 1 Business Components or Considerations of a Blockchain

  • What Problem are we solving (problem definition) and for whom (i.e. enterprise project vs. entrepreneurial project)
  • Who are key Stakeholders (Participants) and scale
  • Devices for the blockchain usage
  • What Type of Blockchain to build

Section 2 Technical Components of a Blockchain

  • Ledger
  • Smart Contracts
  • Peer Network (Nodes)
  • Membership
  • Events
  • System Management
  • System Integration

Module 3:  Blockchain Architectural Options

From arc hitectual point of view, we need to answer the following question: would the identified business problem that leverages the blockchain technology require multiple data sources or a single blockchain data? before we start to design a blockchain architecture.

  1. Singular Architecture
  2. Hybrid Architecture

Module 4: The Two Vital and Inseparable Parts of Blockchain

The two vital parts of a blockchain is to construct a valid blockchain and use it to fulfill business or other types of needs.

(A) Construction of a blockchain

  • “Standard” Model of Block

High volume transaction blockchains and many other blockchains such as Bitcoin use this model.  This model pack several or many transactions into one block with the structure of [Header] and [Body].

  • Simple Model of Block

For a simple model, one block contains one transaction.  It is much easier to build and it could be more efficient.

  • Discussion: is there any other block structure differ from the above two models?
  • Transaction
    • Consensus
    • Provenance
    • Immutability
    • Finality

(B) Use of a blockchain / Fulfill Business or Other Types of Needs

  • Smart Contracts
  • Chaincode
  • Their Equivalent for Corda and Multichain
  • Components for Built-from-Scratch

 

Day 3  The Architecture of a PoC Private (permissioned) Blockchain

Module 1:  High-level Description of a PoC Private (permissioned) Blockchain

Including the following:

  • Analyze key Requirements
  • Translate key Requirements into functional Milestones
  • Translate Stakeholders / Participants into Nodes of a blockchain network
  • Define each node's Role
  • Decision on what blockchain platform to use or to build it from scratch
  • Blockchain Development Resources including programming language and programmers
  • Blockchain Development
  • Blockchain Deployment / Hosting
  • Blockchain Support

Module 2: Identity, Privacy and Security

As any other software platform, identity management, data privacy and protection and information security are of paramount importance.

  • Identity Management
  • Privacy Protection
  • Security

Module 3: Blockchain Structure and Distributed Peer-to-Peer Network

Like the construction of buildings, for blockchain we need to have structures.  For it to function as a network it needs to have nodes.  Simply put, blocks make the structure, transactions are the “meat and potato” of blocks, the linked blocks make a chain (a ledger),  of which each node has an identical copy, thus, ensuring data integrity and immutability.

  • Transaction
  • Block
  • Data Privileges

Read, Write: full read or partial read? Full write or partial write? 

  • Node Creation and Management

Master Node

  • Node and Data Processing

Module 4: Cryptography and Blockchain Algorithms

A key differentiator of blockchain from traditional databases is that data stored on a blockchain is tamper-resistant, that is, it's extremely difficult to hack into a blockchain to tamper its data.  And the reason is that blockchain technology uses cryptography to ensure data and relationship.

  • Symmetric encryption/decryption
  • Asymmetric encryption/decryption

(i.e. public key and private key pair)

  • ECDSA (The Elliptic Curve Digital Signature Algorithm)
  • Hash
  • Merkle tree
  • Their Application for Block Construction

Independent Module:  Hybrid Blockchain

This section would be light.  A hybrid blockchain is mostly about having the permissioned part for blockchain construction, that is, control the data input into the blockchain, however, use the open model for sharing/dissemination of data / information gathered and accumulated on the blockchain.  This type of blockchain would be most fitting for government, state and local agencies.

The mechanism for its blockchain architectural implementation would be similar to other types of blockchains, however, the difference lies in its technical workflow.  Since technical mechanisms for blockchain architecture have been presented in the above sections they would not be repeated for this section.  What we need to be mindful about are such blockchain size and future integration with relevant information resources.