The Launch of Amazon Managed Blockchain

Andy Jassy, CEO of Amazon Web Services, delivers his AWS re:Invent 2018 keynote, featuring the latest AWS news and announcements.

In this segment, he announces Amazon Managed Blockchain as a fully managed service that makes it easy to create and manage scalable blockchain networks using the popular open source frameworks Hyperledger Fabric and Ethereum.

The idea is to make it much easier to use the two most popular blockchains.

For private network capabilities, with a specific number of members, Hyperledger Fabric is available now.

Ethereum will be available in a couple of months and is often selected for a public decentralized ledger with an unknown amount of members.

ETHEREUM

Ethereum is an open-source, public, blockchain-based distributed computing platform and operating system featuring smart contract functionality.

Ether is a cryptocurrency whose blockchain is generated by the Ethereum platform. Ether can be transferred between accounts and used to compensate participant mining nodes for computations performed.

“Gas”, an internal transaction pricing mechanism, is used to mitigate spam and allocate resources on the network.

Ethereum was proposed in late 2013 by Vitalik Buterin, a cryptocurrency researcher and programmer. Development was funded by an online crowdsale that took place between July and August 2014.

The system went live on 30 July 2015, with 72 million coins “premined”. This accounts for about 70 percent of the total circulating supply in 2018.

In 2016, as a result of the exploitation of a flaw in The DAO project’s smart contract software, and subsequent theft of $50 million worth of Ether, Ethereum was split into two separate blockchains – the new separate version became Ethereum (ETH) with the theft reversed, and the original continued as Ethereum Classic (ETC).

HYPERLEDGER FABRIC

Hyperledger Fabric is a permissioned blockchain infrastructure, originally contributed by IBM and Digital Asset, providing a modular architecture with a delineation of roles between the nodes in the infrastructure, execution of Smart Contracts (called “chaincode” in Fabric) and configurable consensus and membership services.

A Fabric Network comprises “Peer nodes”, which execute chaincode, access ledger data, endorse transactions and interface with applications as well as “Orderer nodes” which ensure the consistency of the blockchain and deliver the endorsed transactions to the peers of the network.

Fabric supports chaincode in Go and JavaScript (via Hyperledger Composer, or natively since v1.1) out-of-the-box, and other languages such as Java by installing appropriate modules. It is therefore potentially more flexible than competitors that only support a closed Smart Contract language.

Kathleen Breitman on Tezos

Kathleen Breitman and Christine Moy speak with Jen Wieczner (Fortune Magazine) about how blockchain is changing business.  Moy is the Blockchain Program Lead at J.P. Morgan Chase and Breitman is the Co-Founder of Tezos.

Their discussion includes blockchain application in terms of finance and banking and also touches upon women in technology.

According to their website, Tezos offers a formal process through which stakeholders can efficiently govern the protocol and implement future innovations. Further, the platform was designed to facilitate formal verification, which helps secure smart contracts and avoid buggy code. Tezos uses their own version or a proof-of-stake consensus algorithm, with the intention of giving every stakeholder the opportunity to participate in the validation of transactions on the network and be rewarded by the protocol for doing so.

Tezos is a smart contract platform similar to Ethereum. As opposed to more well known cryptocurrencies, such as Bitcoin, Tezos sees the future of cryptocurrency as an upgradable path to success.

Tezos has evolved via some controversy and like most cryptocurrencies and specific blockchains, long-term success is unproven.

An Open Source History: from Linux to Bitcoin’s Blockchain

Open-source software may be developed in a collaborative public manner and is a prominent example of open collaboration.

In this video, Rusty Russell uses his 20 years of experience writing community-produced software to discuss his open source programming experience with Linux and Bitcoin and what can be done by a group of volunteers releasing world-class software for all to use freely.

Open-source software is a widely used in the blockchain community and contributes to the currency of network “trust.”

Establishing a high level of trust is only possible when the software that powers the network is free and open source. Even a correctly distributed proprietary blockchain is essentially a collection of independent agents running the same third party’s code. Open source also facilitates innovation as different perspectives contribute to the ecosystem and keep it growing.

It’s worth mentioning that while the open nature of blockchains has been a source of innovation and variation, it has also been seen as a form of governance.  By virtue of the code itself, where users are expected to run whichever specific version of the code contains a function or approach they think the whole network should embrace, the code represents a type of governance.

Hyperledger Fabric Explainer Video

Hyperledger Fabric is an enterprise grade, permissioned, distributed ledger platform that offers modularity and versatility for a broad set of industry use cases.

The modularity is represented by plug-and-play components, such as consensus, privacy and membership services.

One of its features is the enablement of a network of networks. This allows businesses to work together while maintaining privacy of pertinent information.

Hyperledger Fabric allows confidential information to be managed and transacted between parties without all information passing through a central authority. That way, personal data isn’t available to the entire network. In other words, if a network member is not a part of an agreed-upon transaction, the information would not appear on their ledger.

This allows solutions developed with Hyperledger Fabric to be adapted to any industry.

Hyperledger is an open source global collaboration, hosted by The Linux Foundation, including leaders in finance, banking, Internet of Things, supply chains, manufacturing and Technology.

The Byzantine Generals Problem – An Intro To Blockchain

A Byzantine fault is any fault presenting different symptoms to different observers. A Byzantine failure is the loss of a system service due to a Byzantine fault in systems that require consensus.

The objective of Byzantine fault tolerance is to be able to defend against failures of system components with or without symptoms that prevent other components of the system from reaching an agreement among themselves, where such an agreement is needed for the correct operation of the system.

Byzantine refers to the Byzantine Generals’ Problem, in which a group of generals, each commanding a portion of the Byzantine army, encircle a city. These generals wish to formulate a plan for attacking the city. In its simplest form, the generals must decide only whether to attack or retreat. Some generals may prefer to attack, while others prefer to retreat. The important thing is that every general agree on a common decision, for a halfhearted attack by a few generals would become a rout, and would be worse than either a coordinated attack or a coordinated retreat.

The problem is complicated by the presence of treacherous generals who may not only cast a vote for a suboptimal strategy, they may do so selectively. For instance, if nine generals are voting, four of whom support attacking while four others are in favor of retreat, the ninth general may send a vote of retreat to those generals in favor of retreat, and a vote of attack to the rest. Those who received a retreat vote from the ninth general will retreat, while the rest will attack (which may not go well for the attackers). The problem is complicated further by the generals being physically separated and having to send their votes via messengers who may fail to deliver votes or may forge false votes.

The typical mapping of this story onto computer systems is that the computers are the generals and their digital communication system links are the messengers.

Byzantine fault tolerance can be achieved if the loyal (non-faulty) generals have a majority agreement on their strategy. There can be a default vote value given to missing messages. For example, missing messages can be given the value . Further, if the agreement is that the votes are in the majority, a pre-assigned default strategy can be used (e.g., retreat).

Byzantine fault tolerance is the dependability of a fault-tolerant computer system, particularly distributed computing systems, where components may fail and there is imperfect information on whether a component has failed. In a “Byzantine failure”, a component such as a server can inconsistently appear both failed and functioning to failure-detection systems, presenting different symptoms to different observers.

It is difficult for the other components to declare it failed and shut it out of the network, because they need to first reach a consensus regarding which component has failed in the first place. The term is derived from the Byzantine Generals’ Problem, where actors must agree on a concerted strategy to avoid catastrophic system failure, but some of the actors are unreliable. Byzantine fault tolerance has been also referred to with the phrases interactive consistency or source congruency, error avalanche, Byzantine agreement problem, Byzantine generals problem, and Byzantine failure.

A Blockchain Voting Example

This Amazon Web Services video provides a simple example of voting on an immutably distributed ledger: blockchain. This year, the ideal of having a truly secure, transparent, auditable and yet anonymous voting system took a step closer to becoming reality.

On November 15, 2018, The Secretary of State of West Virginia, Mac Warner, reported a successful first instance of remote blockchain voting.

He stated that in the 2018 midterm elections, 144 military personnel stationed overseas from 24 counties were able to cast their ballots on a mobile, blockchain-based platform.

Warner stated that “This is a first-in-the-nation project that allowed uniformed services members and overseas citizens to use a mobile application to cast a ballot secured by blockchain technology.”

As positive as this was in terms of approaching the ideal noted above, there is still a necessity for security improvement in terms of mobile device usage.

Why Blockchain: Daniel Larimer at Virginia Tech

Daniel Larimer created the cryptocurrency platform BitShares in 2014, was co-founder of the blockchain social platform Steemit in 2016, and is CTO of Block.one, a private company that was the original developer of EOS in 2017.

In this presentation, Larimer describes EOSIO as designed to make blockchain development easier.  He states it’s now one of the largest blockchain companies. Further, he states that it’s the fastest, general-purpose blockchain, with lots of users and no transaction fees.

Following are some additional notes from his talk.

When people think of blockchain they think of tokens, proof of work and wasting energy.  That’s not necessary. 

If you have a database, it should be on a blockchain.  It can be a private blockchain.

Blockchain will give you security, auditability and accountability of the system compared to a non-blockchain database.

With blockchain you can manage your own security and as a company you can mitigate legal issues since every action can be audited.  A blockchain is not modified; it’s append only. The data is not on one server.  It’s only one of many on a network that all verify the data. No one can change it.

Blockchain helps businesses automate compliance with regulators. 

Blockchain is faster.  It eliminates human points of contact that have been implemented to reduce fraud.

Blockchain is a better infrastructure for designing software.

Blockchain will become required as a best practice.  It will be ubiquitous and invisible.


Introducing HyperLedger Project

This 20min video was published by The Linux Foundation in early 2017 as a keynote address by Brian Behlendorf, Executive Director of Hyperledger Project, formally introducing the project.

The Hyperledger Project is a collaborative effort created to advance blockchain technology by identifying and addressing important features for a cross-industry, open standard for distributed ledgers that can transform the way business transactions are conducted globally. The Project is a Linux Foundation Collaborative Project and implements many open source best practices familiar to other leading projects.

HYPERLEDGER PROJECT GOALS

The goals of the project are delineated as such:

Build an open source, developer-focused community of communities to benefit an ecosystem of Hyperledger-based solution providers and users, focused on blockchain-related use cases that will work across a variety of industry sectors.

Through this, create a family of enterprise grade, open source blockchain frameworks, platforms and libraries, upon which anyone can build and run their own applications to meet real business needs.

Involve developers, service providers, solution providers and end users in the development and promotion of the software, using the best practices of multi-stakeholder open source community.

Host the collaboration environment for the community, establishing a neutral home for community infrastructure and technical governance of Hyperledger.

MANY BLOCKCHAINS

There will not be only one blockchain or a chain-of-all-chains.

There will be many public chains and millions of private chains, potentially each with a different consensus mechanisms, preferred smart contract language/mechanism and other characteristics.

The more common code underlying these chains, the better for everyone.

This is still early days – perhaps like 1994 and the web.

COMMUNITY OF MULTIPLE COMMUNITIES

The idea of Hyperledger is modeled after the Linux Foundation and Apache Foundation projects.

A Hyperledger project involves:

  • A team of volunteer developers
  • Building code in the open
  • Managing their own roadmap and release schedule
  • Responsible for following HL policies and requirements
  • Encouraged but not required to align their code with other projects

Across projects, we have:

  • Common software license
  • Common IP Framework
  • Common collaboration tools
  • Promotion and branding as an equal to other projects
  • Security processes and practices

TWO FLAGSHIP PROJECTS

Fabric: Uses Practical Byzantine Fault Tolerance, which was originally developed by IBM, who contributed to this project along with Digital Asset others.

Hyperledger Fabric is a blockchain framework implementation and one of the Hyperledger projects hosted by The Linux Foundation. Intended as a foundation for developing applications or solutions with a modular architecture, Hyperledger Fabric allows components, such as consensus and membership services, to be plug-and-play. Hyperledger Fabric leverages container technology to host smart contracts called “chaincode” that comprise the application logic of the system.

Sawtooth Lake: Like of Proof of work without requiring the same processing power. Hyperledger Sawtooth is a modular platform for building, deploying, and running distributed ledgers. Distributed ledgers provide a digital record (such as asset ownership) that is maintained without a central authority or implementation.

About Brian Behlendorf
Brian Behlendorf is a technology adviser and entrepreneur who has held founding and executive board positions in firms and non-profits focused on open systems, open standards and open source. Behlendorf organized and served as the Founding President of the Apache Software Foundation, a 501c3 non-profit that organizes volunteer software development projects around key Internet technologies, helping ensure an open and free marketplace. Behlendorf also founded and served as Chief Technology Officer of CollabNet, a company focused on bringing open source collaborative software development tools and methodologies into enterprise environments. Behlendorf currently serves on the Board of the Mozilla Foundation, the single largest open source project by user base, revenue and funded core headcount. Since retiring as Chief Technology Officer of CollabNet in 2007, he has focused on advising corporations, start-ups, investors, governments and NGOs on open source strategies.

Amazon Managed Blockchain


Jonathan Fritz presents a “Deep Dive on Amazon Managed Blockchain.” Before getting into the details of Amazon’s service, he addresses some of the basic concepts regarding blockchain.

Many business networks rely on central authorities, which can be inefficient, expensive and require time-consuming auditing.

An alternative would be a consortium, which could achieve better outcomes by sharing information.  However, they may not agree on how data can be secured and fairly shared.  

Multiple organizations need to independently verify transaction histories and need a single, up-to-date, accurate view of data.

Business logic among multiple organization could be simplified through automation.

Asset transfers require an expensive and inefficient escrow.

A public network needs a way to maintain a tamper-proof history of transactions and global state.

Blockchain resolves these points and eliminates the need for a central authority in business networks.

THREE MAIN BLOCKCHAIN COMPONENTS:

1) Distributed ledger (bottom layer)
2) Consensus mechanism
3) “Smart Contract” execution environment (top layer)

LEDGER DATABASE

The journal is the essence of a blockchain. The journal records an immutable log of all transactions and is maintained by nodes in the blockchain network.

CONSENSUS MECHANISM

This is how the network assures what data goes into the ledger and the data that it’s in their stays correct.

SMART CONTRACTS

Where the applications function and interact.

PUBLIC AND PERMISSIONED NETWORKS

Public networks allow anyone to participate. Members are incentivized to maintain the network.

Permissioned networks limit the members to known entities.

They both have applications in the world.

AMAZON MANAGED BLOCKCHAIN

AMB is a fully managed service that makes it easy to create and manage scalable blockchain networks using open source frameworks: Hyperledger Fabric and Ethereum.

This is a decentralized network and is not owned by Amazon and is low cost: you only pay for what you use.

HYPERLEDGER FABRIC (available now)

Creates permissioned networks with channels to limit the transactions on the ledger each member can see.

Has smart contracts, called Chaincode.

Validation policy for executing Chaincode and is configurable.

Has no native cryptocurrency.

ETHEREUM (coming soon)

Create smart contracts using the Solidity language that runs across nodes in the network.

Very scalable.

Create permissioned networks or use public Ethereum network.

Configured to use Proof-of-Work consensus algorithm for public networks and Proof-of-Authority for private networks.

Anyone who can access the network can see all data on the ledger.

IN BRIEF

Amazon Managed Blockchain is a fully managed blockchain service that makes it easy for customers to create and manage scalable blockchain-based transaction networks using the open source blockchain frameworks Hyperledger Fabric and Ethereum.

Blockchain technologies enable groups of organizations to securely transact, run application code and share data without a trusted central authority.

What is a Merkle Tree?

Merkle trees allows efficient data verification across a network.

In cryptography and computer science, a hash tree or Merkle tree is a tree in which every leaf node is labelled with the hash of a data block and every non-leaf node is labelled with the cryptographic hash of the labels of its child nodes.

Decentralized networks operate without relying on a central source of truth, and instead rely on group coordination in order to establish a shared state. Trust is distributed among participants, so to have confidence that each participant is telling the truth, there must be a mechanism for guaranteeing that participants have not accidentally corrupted or intentionally tampered with the system’s state.

Hence, the Merkle tree: a data structure that was patented in 1979, and because of its unique content validating and performance qualities, has since become the backbone of decentralized software like Git, BitTorrent, ZFS, and Ethereum.

Hash trees can be used to verify any kind of data stored, handled and transferred in and between computers. They can help ensure that data blocks received from other peers in a peer-to-peer network are received undamaged and unaltered, and even to check that the other peers do not lie and send fake blocks.