BC Consulting Course Handbook

Blockchain Foundations

The purpose of this course is to provide students with a fundamental understanding of the technology and potential use cases.  The learning objectives for this course are:

  • Introduction to the Government Blockchain Association (GBA)
  • Introduce the history of bitcoin and blockchain technology.
  • Discuss why cryptocurrencies and blockchain technologies are important.
  • Provide a basic understanding of cryptocurrencies.
  • Provide a basic understanding of blockchain technology.
    • Cryptography (public/private keys)
    • Types of DLTs
      • Blockchain vs DLT
      • Private/closed, hybrid/consortium, public/open
      • Ledger vs scripted
      • IOTA/Tangle vs Hashgraph
    • Proof algorithms
    • Mining
    • Nodes (and types, especially for private solutions)
    • Hash
  • Track a transaction(s) life cycle thr0ugh the blockchain architecture components
  • Introduce smart contracts
    • Describe how smart contracts are not truly “smart” and
    • May not be “contracts” (e.g., stored procedure, rules table)
  • Introduce legal and regulatory considerations.
  • Discuss different types and uses of cryptocurrencies.
  • Discuss blockchain use cases, benefits, and risks.

Blockchain Technical Consultant

  • To Blockchain vs Not blockchain
  • Ethereum abstract (DAO Hack)
  • Blockchain Governance Models
    • Describe Blockchain Protocol Management
    • Describe hard vs soft forks
  • Development methodologies (Agile, Waterfall, and Iterative) applicable to blockchain implementations
  • System development phases
    • Requirements
      • Elicitation & Gathering
        • Business needs
        • Functional
        • Non-Functional
      • Requirements Analysis
        • Bi-Directional Traceability
        • Operational Concept & Scenarios
        • Interface Management
      • Requirements Management
        • Requirements baselines
        • Change Control
    • Design
      • Survey of protocols
        • Identify the major blockchain protocols and describe their technical attributes including
          • Type (public, permission, private)
          • Type of consensus algorithm
          • block size
          • block time
          • capacity
          • Supports smart contract
          • Others that may impact the selection of protocol
      • Communications (transactions, messages, status updates)
      • Blockchain architecture
      • Security
      • Data Management
      • Infrastructure requirements for blockchain solutions
      • Resources
      • Cost Impacts of design alternatives
    • Development Tools (Survey of)
      • Solidity (Example)
    • Implementation (distributed systems)
    • Test
      • How should blockchain projects be tested (differently than traditional projects)
      • Intra-node
      • Inter-node
      • Smart contract auditing
    • Deployment (adoption)
      • Ongoing operation and administration of the blockchain network (and the prevention of hard forks)

Exercise:  Blockchain projects lessons learned

Blockchain Executive Consultant

The purpose of this course is to help students integrate blockchain capabilities into organizational strategic missions, visions, and plans.  The course is intended to help executives anticipate risks and barriers as well as develop strategies to overcome obstacles and successfully deploy blockchain solutions traditional challenges.  The learning objectives for this course should enable students to:

  1.  Understand the linkage between business needs to blockchain solutions
    1. Understanding blockchain capabilities & limitations
    2. Knowing which blockchain solution matches particular business needs
  2. Planning blockchain projects
    1. What makes blockchain projects different
      1. Smart contracts
      2. Immutability
      3. Using tokens – legal & regulatory risks
      4. Fear, uncertainty, and doubt
    2. Planning blockchain project
      1. Establishing management processes
        1. Scope and requirements management
        2. Stakeholder management
      2.  Estimating
        1. Resources
        2. Schedule
        3. Costs
      3. Identifying risks & determining mitigations and contingencies
    3. Managing & tracking blockchain projects
      1. Using smart measures
      2. Blockchains, EVM and information integrity
    4. People, politics, and adversity
      1. Understanding the source and categories of resistance to blockchain technologies
      2. Understanding the nature and magnitude of resistance to transformative implementations
      3. Establishing effective responses to adversity
      4. Understanding the leadership qualities and attributes to implement transformative change with blockchain technology

 

  1. Blockchain is a Transformational Technology

  2. Blockchain facilitates change by approaching old problems with a new paradigm (new way of looking at the world, problems and opportunities)
  3. Whenever there is change, there are winners and losers (losers will resist)
  4. Two responses
    1. Understand, anticipate and prepare for the change
    2. Ignore or deny the change and be impacted by the change
    3. Cite examples (blockchain and non-blockchain)
  5. Understand the difference between conventional wisdom and new paradigms
    1. Conventional wisdom is appropriate when there are no significant changes to the tenants of the subject
    2. Conventional wisdom is wholly inappropriate when the tenants or paradigm has changed
    3. Site examples of how paradigms can impact outcomes (May use Titanic example).
  6. Understand how blockchain fits into the power paradigm
    1. Through history, power has concentrated from the tribal level to international organizations
    2. Technology (communication) has facilities the concentration of power
    3. Blockchain facilitates decentralization and reverses the concentration of power
    4. Bitcoin appeared during the financial crisis when banks were “Too Big To Fail”
    5. Discuss the distrust of large powerful institutions
    6. Discuss the advances of the sharing economy
  7. Discuss how decentralization may impact future systems, and solutions to problems.
    1. Describe how will this technology impact money, governance and the law
    2. Describe what forces may support or resist implementation blockchain based solutions
    3. How can obstacles be overcome to find innovative and effective solutions

================================

TB Comments (10/16 evening)

Great work at reconstructing the content for Days 1-4.

Here is some feedback for consideration (most of which marries to detailed feedback I provided in late September):

  • For Day 1, consider discussing what GBA is all about (vision, goals, scope, etc.)  – may be as a separate small-scale slide deck – [Gerard] Agree, Added to Blockchain Foundations Course.
  • For Days 1 – 2, suggest:
    • A) Adding Cryptography (public/private keys) – [Gerard] Agree, Added to Blockchain Foundations Course.
    • B) Adding details about Nodes (and types, especially for private solutions) – [Gerard] Agree, Added to Blockchain Foundations Course.
    • C) Adding details about communications (transactions, messages, status updates) – [Gerard] Agree, Added to Blockchain Technical Consultant Course.
    • D) Describe how smart contracts are not truly “smart” and may not be “contracts” (e.g., stored procedure, rules table) – [Gerard] Agree, Added to Blockchain Foundations Course.
    • E) Describe several Proof Algorithms (definitions, details) as part of Consensus topics – [Gerard] Already included in the Blockchain Foundations Class
    • F) Describe hard vs soft forks  – [Gerard] Added to Blockchain Technical Consultant Course.
    • G) Blockchain Use Cases that are now being trialed – [Gerard] Already included in the Blockchain Foundations Class
    • H) Ideally track a transaction(s) life cycle thr0ugh the blockchain architecture components – [Gerard] Agree, Added to Blockchain Foundations Course.
    • I) Cite Gartner 2018 hype cycle in the outset – [Gerard] – Disagree.  This is so common on the internet, old news, and does not really materially impact the understanding of blockchain.
  • For Days 3 – 4, suggest:
    • A) Creating our own well-rounded decision model for 1st bullet – [Gerard] I don’t understand, could you please explain?
    • B) Changing “development methodologies” to “system development phases” [Gerard] I added “System Development Methodologies” because you are right. The sub-bullets are related to the phases.  However, I kept the development methodologies because I want to explain how different methodologies like waterfall, iterative and agile relate to blockchain and smart contract development.
    •  C) Regarding requirements, the Capabilities and Constraints terms are a bit confusing.
      • Based on a (business) use case, stakeholder and then, solution requirements are created (e.g., user stories) to describe how the system is to perform or operate.
      • Requirements are both functional (e.g. transaction, consensus algorithm) and non-functional (e.g., performance, reliability, scalability, etc.)
      • Constraints examples are regulation-related, rule-related (e.g, smart contracts), or design related.
    • ———–[Gerard] Agreed. I completely re-wrote this section. ——————-
      D) For Design,

      • 1)Assumed more details will expand on what was covered in Days 1 -2 (and comments above) – [Gerard] The description of protocols here include technical parameters that are needed to make a selection including performance and scalability capabilities and limitations.
      • 2) Why are costs and resources only cited here?  Don’t these pertain to other Sys Dev phases too? – [Gerard] Design decisions drive cost impacts.  There are development costs and operational costs.  cost considerations must be factored into the design.
      • 3) Assumed these are pertinent for government and private (business) sectors.  – [Gerard] Not sure I understand this comment.
      • 4) For infrastructure, assumed this pertains to the many system admin activities needed – [Gerard] Current and future infrastructure considerations impact design alternatives
    • E) For Development Tools, why is Solidity singled out – [Gerard] It is only meant as an example. It has been clarified.
    • F) For Testing, why is “smart contract auditing” only singled out, versus the testing of all other functionality and system qualities (e.g, non-functional system attributes) – [Gerard] Agreed. Corrected.
    • G) For Testing, need to describe intra-node testing and inter-node testing. – [Gerard] Agreed. Corrected.
    • H)  For Deployment, need to describe the ongoing operation and administration of the blockchain network (and the prevention of hard forks) – [Gerard] Agreed. Corrected

** The end of Day 4 will be a good lead-in to Day 5 and its inclusion of topics relating to Proof-of-Concept, Pilot, Operationalize, etc.  **