Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building a Blockchain Platform with Hyperledger Sawtooth and Seth

Building a Blockchain Platform with Hyperledger Sawtooth and Seth

Learn about the Hyperledger Sawtooth blockchain platform and how to use Apache Brooklyn to deploy and manage a Sawtooth blockchain with Seth EVM smart contract transaction processors.

Andrew Kennedy

November 21, 2018
Tweet

More Decks by Andrew Kennedy

Other Decks in Technology

Transcript

  1. Building a Blockchain Platform
    Using Hyperledger Sawtooth and Seth
    Blockchain Technology Conference
    Andrew Donald Kennedy
    November 2018

    View Slide

  2. Introduction
    2
    @grkvlt

    View Slide

  3. Andrew Kennedy
    Distributed Systems Hacker
    Cloudsoft Corporation Engineer
    Open Source Contributor
    Apache Brooklyn
    Hyperledger Sawtooth
    Hyperledger Technical Ambassador
    @grkvlt

    View Slide

  4. Agenda
    Blockchain
    Hyperledger
    Sawtooth
    Ethereum
    Docker Compose
    Dockerfile
    Apache Brooklyn
    Results...
    4
    @grkvlt

    View Slide

  5. Blockchain
    Exciting, buzzword-compliant
    Alternative to databases!
    Details are a whole other talk...
    Lots of interest in Bitcoin and Ethereum
    Private blockchains as an alternative
    Any questions now?
    @grkvlt

    View Slide

  6. Blockchain allows multiple different parties to securely
    interact with the same universal source of truth
    Streamlined settlement,
    improved liquidity,
    increased transparency
    and new products/markets
    Finance
    Unite disparate processes,
    increase data flow and
    liquidity, reduce costs and
    improve patient
    experience and outcomes
    Healthcare
    Track parts and service
    provenance, ensure
    authenticity of goods,
    block counterfeits, reduce
    conflicts
    Supply Chain
    Shared Ledger Database
    @grkvlt

    View Slide

  7. Hyperledger
    Another part of the Linux Foundation
    Various Blockchain implementations
    Open source code from IBM and Intel
    Fabric, Sawtooth, Burrow
    @grkvlt

    View Slide

  8. 8
    Together with the global technology community, The Linux Foundation® is solving the world’s
    hardest problems through open source and creating the largest shared technology investment
    in history.
    With 16 years experience providing governance structure, IT infrastructure and ecosystem
    development, The Linux Foundation is the umbrella organization for more than 50 open source
    projects accelerating open technology development and commercial adoption.
    Some of the game-changing initiatives hosted by The Linux Foundation include:
    Linux Foundation
    @grkvlt

    View Slide

  9. Where open source teams build diverse approaches
    for business blockchain technology systems
    Provide neutral,
    open, & community-
    driven
    infrastructures
    supported by technical
    and business
    governance
    Build technical
    communities
    to develop blockchain
    and shared ledger
    POCs, use cases, field
    trials and deployments
    Educate
    the public
    about the market
    opportunity for
    blockchain technology
    Promote our
    community of
    communities
    taking a toolkit
    approach with many
    platforms and
    frameworks
    Create enterprise
    grade, open source,
    distributed ledger
    frameworks &
    code bases
    to support business
    transactions
    Hyperledger Goals
    @grkvlt

    View Slide

  10. Hyperledger
    @grkvlt

    View Slide

  11. Sawtooth
    Originally Intel Blockchain
    Donated to Hyperledger as Sawtooth
    Pluggable consensus mechanism
    Various different transaction families
    @grkvlt

    View Slide

  12. Sawtooth
    @grkvlt

    View Slide

  13. Sawtooth
    @grkvlt

    View Slide

  14. Sawtooth Consensus
    Raft
    PoET
    PBFT
    @grkvlt

    View Slide

  15. Sawtooth PoET
    PoET consensus mechanism
    Proof of Elapsed Time
    Uses Skylake SGX secure enclave feature
    No burning the energy equivalent of a small country
    @grkvlt

    View Slide

  16. Ethereum
    Public and open EVM specification
    Reference implementation as Ethereum
    Solidity code for Smart Contracts
    Execute logic to determine if transaction is accepted
    Also ERC-20 standard for tokens/coins
    @grkvlt

    View Slide

  17. Sawtooth Seth
    Transaction Family
    Code for EVM from Burrow
    Seth implements Ethereum JSON-RPC
    @grkvlt

    View Slide

  18. Sawtooth Seth
    Smart Contract Code
    Written in Solidity
    Compiled to EVM
    Executed by calling RPC Endpoint
    Resulting blocks written to chain
    @grkvlt

    View Slide

  19. Sawtooth Deployment
    @grkvlt

    View Slide

  20. Sawtooth Deployment Plus
    @grkvlt

    View Slide

  21. Docker
    @grkvlt

    View Slide

  22. Docker Compose
    Simple prototyping on a single machine
    Compose YAML files supplied in Sawtooth repository
    Use these to build Docker images
    Deploy quickly to single machine for testing
    @grkvlt

    View Slide

  23. Docker
    Custom deployment with Docker
    Docker with networking
    Just add SDN driver and Data Store
    Kubernetes available soon…?
    @grkvlt

    View Slide

  24. Dockerfile
    Issues with Sawtooth Docker images
    Designed for development
    Need GitHub repository mounted as volume
    Huge images, multi Gigabyte
    Broken builds and repository code in flux
    Create new Dockerfiles for extra images needed
    @grkvlt

    View Slide

  25. Apache Brooklyn
    Cloud Orchestration
    Define and Manage Applications
    Scale and Shrink On Demand
    Policies for Actions
    Autonomic Computing
    Sensors and Effectors
    @grkvlt

    View Slide

  26. Apache Brooklyn
    Orchestrate Docker across multiple VMs
    Same functionality as Compose, almost
    Define containers and their relationships
    Inject various bits of configuration
    Easier than building a lot more custom Docker images
    Allows simple scaling, but see Swarm and services
    Eventually want to use more features like policies
    @grkvlt

    View Slide

  27. Apache Brooklyn
    @grkvlt

    View Slide

  28. Apache Brooklyn
    @grkvlt

    View Slide

  29. Results
    Work in Progress
    Deployment Demo
    CLI Access
    @grkvlt

    View Slide

  30. References
    github.com/hyperledger/sawtooth-core
    github.com/hyperledger/sawtooth-seth
    github.com/grkvlt/hyperledger-brooklyn-sawtooth
    hyperledger.org/projects/sawtooth
    @grkvlt

    View Slide

  31. 31
    Questions?

    View Slide