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

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: BlockchainArchitectural 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.

Singular Architecture

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?

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.