Amazon Managed Blockchain - Hyperledger Fabric and Ethereum
In its cloud service Amazon Web Services (AWS), Amazon also offers the option of operating its own blockchain with its own dApps and smart contracts in the cloud. " Amazon Managed Blockchain " is a fully managed service, similar to Microsoft Azure Blockchain Services. Several blockchains can be used in parallel via the cloud without companies needing their own hardware or setting up the infrastructure. In parallel to Amazon Managed Blockchain, Amazon Quantum Ledger Database (QLDB) is also available in AWS. QLDB is a ledger database that stores a complete and verifiable history of data changes in an application. So Amazon QLDB is not a blockchain technology. Amazon Managed Blockchain, in turn, is a fully managed blockchain service. The two services have nothing to do with each other. Entry into managed blockchains on AWS In Amazon Managed Blockchain, private blockchains can be set up based on Hyperledger Fabric. It is also possible to join the public Ethereum mainnet. Currently, Amazon is also working on the possibility of providing a private Ethereum network. Currently Amazon only offers versions 1.2 and 1.4 for Hyperledger Fabric. However, it is to be expected that Hyperledger 2.x can also be integrated. At the moment, however, this is not the case. Hyperledger Fabric Several own blockchains can also be used in parallel in an AWS account via Amazon Managed Blockchain. Here it is also possible to use Hyperledger Fabric or Ethereum in parallel. All blockchains of an AWS account are managed through the Amazon Managed Blockchain dashboard. Each blockchain is managed through its own area and allows its own members and peer nodes. Amazon Managed Blockchain can be managed in a number of ways, for example through the AWS Management Console or the AWS Command Line Interface (CLI). It is also possible to access the various blockchains with the AWS Software Development Kit (SDK) . Those who rely on Hyperledger Fabric in AWS can of course access the blockchains with the same tools that are available when operating their own hardware. The various frameworks and extensions of Hyperledger are also available for Hyperledger Fabric in Amazon Managed Blockchain. The Hyperledger Fabric CLI and SDK can be used in conjunction with Amazon Managed Blockchain. Amazon Managed Blockchain provides endpoints for access. For your own blockchain, you can create your own VPC PrivateLink endpoints in the dashboard to manage the respective blockchain. To interact with development of Ethereum Smart Contracts, clients use a WebSocket or HTTP connection to a peer node endpoint in Amazon Managed Blockchain. This node endpoint can only be accessed through the AWS account. The client uses standard Ethereum JSON RPC API methods to query and submit transactions to the nodes participating in the Ethereum network. Control resources, create blockchain, analyze data When selecting the appropriate blockchain technology, the equipment and resources of the nodes used can of course be configured. Memory and CPU can be controlled in the same way as the certificates and private keys. The resources available depend on the subscription (starter or standard) booked. Different resources in the area of CPU and RAM can be defined for new nodes, as for the founding node. Companies can set up a private blockchain with Hyperledger Fabric 1.2 / 1.4 when booking Amazon Managed Blockchain. Unfortunately, the current Hyperledger Fabric 2.x is not yet supported. When using Hyperledger Fabric, organizations benefit from the many frameworks and tools available for Hyperledger. We have dealt with the topic in several articles, for example " Using Hyperledger Caliper to Create Benchmarks for Smart Contracts " or " Hyperledger Avalon - Off-Chain Functions for the Blockchain ". The focus of Amazon Managend Blockchain is of course on creating smart contracts . When booking resources in AWS, for example in this case with Amazon Managed Blockchain, the data of these resources can be used within AWS. For example, the various analysis tools in AWS that help analyze your own blockchain in the AWS cloud are interesting. Amazon Redshift works with Amazon Managend Blockchain. In this case, other services for analysis or data storage can also be connected to your own blockchain. Deploy Hyperledger Fabric with just a few clicks Above all, the managed blockchain avoids providing your own hardware or virtual servers. There is also no need to install and configure software. In addition, network and security functions are automatically active in the blockchain. Here, too, no separate systems have to be integrated. Amazon Managed Blockchain supports Amazon Quantum Ledger Database (QLDB). This is a Hyperledger Fabric order service that uses blockchain technologies, but is not blockchain technology itself. The security of the Hyperledger Fabric CA is ensured with AWS Key Management Service (KMS). Amazon Managed Blockchain supports the creation of your own consortium based on Hyperledger Fabric or the connection to the Ethereum mainnet. Your own consortium can also span multiple AWS subscriptions. This enables partners to create their own members with their AWS account and join the blockchain network from outside. Amazon Managed Blockchain has a voting API. Existing members of the consortium can use this to vote on whether a new member may be admitted. New members can start and adapt their own blockchain nodes. Of course, all members also save a copy of the ledger here. With Amazon Managed Blockchain, it is therefore possible to quickly and easily set up a widespread consortium between partners who want to use a common blockchain. Use Ethereum Blockchain with Amazon Managed Blockchain In addition to the possibility of providing your own blockchain based on Hyperledger Fabric, Amazon Managed Blockchain can also be used to join the Ethereum mainnet. This enables you to operate your own nodes in a large, public blockchain network. When operating Hyperledger Fabric, the focus is on providing a private consortium. That distinguishes the two possibilities from each other. In the future it should also be possible to set up a private Ethereum network with Amazon Managed Blockchain. Fully managed service for deploying the blockchain Amazon Managed Blockchain means that companies do not have to operate their own infrastructure and do not have to carry out any installations in the cloud. The service just needs to be booked and activated. The complete administration of the underlying infrastructure lies with Amazon. Setting up a blockchain therefore initially consists of building your own infrastructure for creating a blockchain with just a few clicks. Then members (organizations) can be added, who in turn can set up their own nodes in the blockchain. Compare the costs of using Amazon Managend Blockchain editions Since no hardware and software of their own are used, companies or developers do not have to make any investments to set up their own blockchain platform. When using Hyperledger Fabric, the cost of usage is charged. The focus is on the operating hours of the network members, peer nodes, storage and the amount of data transferred. There are no requirements for the operation of the blockchain from outside. Anyone who does not rely on Hyperledger Fabric, but joins the public Ethereum network, has to reckon with the costs of the nodes, node storage and the requests to the Ethereum network. If the Ethereum network is left again, no further costs are to be borne. To get an overview of the costs, extensive documentation and calculation examples are available on the “ Amazon Managed Blockchain pricing ”. When using Hyperledger Fabric, the two editions “Starter” and “Standard” are available. For test networks and small production networks the Starter Edition is designed . A maximum of 5 members per network and 2 peer nodes per member can be integrated here. A total of up to 3 Hyperledger fabric channels can be used per network. lower transaction throughput and a lower availability than standard networks are available in the order service in the starter edition. Amazon charges members $ 0.36 per hour. The cost per gigabyte of storage usage is $ 0.12 per gigabyte per month. The Standard Edition is designed for production networks. A maximum of 14 members per network and 3 peer nodes per member can be integrated here. The performance of the resources is also designed to be higher. Companies can use up to 8 Hyperledger Fabric channels per network in the Standard Edition. Better than a Starter Edition network, the order service has a higher transaction throughput and higher availability. Amazon charges members $ 0.65 per hour. The cost per gigabyte of storage usage is $ 0.12 per gigabyte per month. Blockchain in practice: create your own network with Hyperledger Fabric In the AWS Management Console, the wizards for creating your own blockchain (create network) and joining the Ethereum blockchain development (join network) are available in the "Amazon Managed Blockchain" area. Creating your own blockchain solution in Amazon Managed Blockchain consists of four steps. First, the framework used is selected (Hyperledger Fabric or Ethereum). Members can then be invited. There is also the option of connecting nodes from other AWS accounts. The illustration shows the end-to-end connection in the fabric network. During creation, you can also select the nodes that will store a full copy of the ledger. As soon as the blockchain is ready, dApps and smart contracts can be provided. Each member can create and operate their own peer nodes in the administration. Once a network has been created, additional members can be created. It is also possible to invite external members. Use Hyperledger Fabric and Private Ethereum Network When the creation of a new network has started, you can choose from Hyperledger Fabric and soon also “Private Ethereum”. With "Framework version" you can select the basic version of Hyperledger Fabric on which your own blockchain is to be built. The edition used (Starter or Standard) must also be selected here. After defining the name of the blockchain, the first member is created in the wizard. The name of the member and the username for the Hyperledger certification authority are important for this. A blockchain always requires at least one member who is defined as the founding member of the network. Members in have their own identity in the private blockchain. A blockchain may have several members (organizations), at least one member is required (founding member). For this reason, when you create a new Hyperledger Fabric blockchain, the first member is also created. The new member does not yet have any peer nodes. However, these can be added and started at any time. Peer nodes can be added or removed at any time after the blockchain is created. This also applies to invited members from other AWS accounts. Other AWS accounts can be invited to the newly created blockchain network at any time. These accounts can also create their own members and peer nodes again. There are costs involved in creating members, peer nodes, and peer node stores. This must be taken into account when planning the blockchain. The creation of your own blockchain takes about 30 minutes as soon as the creation is started with "Create network and member". The administration takes place in the dashboard of the created blockchain. Once the creation is complete, AWS will mark the blockchain as "Available". The invitations to the blockchain and your own invitations can be found under the menu item "Invitations" of the Amazon Managed Blockchains dashboard. Separate invitations can be sent for each network. As soon as the blockchain network is available, new peer nodes can be created over the members. To do this, click on the relevant member in the dashboard. New nodes can be configured using the “Create Peer Node” button. Which performance and which RAM are available for a peer node depends on whether the starter or standard edition was selected for the blockchain. Different resources can of course also be selected for different peer nodes. Remove blockchain networks again To delete a blockchain network, the members are first removed from the network. If the last member has been deleted, the blockchain network will no longer be available either. An Amazon managed blockchain network is automatically deleted as soon as the last member in the network deletes their membership. The network does not have to be deleted afterwards. This must be taken into account when deleting members in order to avoid accidentally removing a complete blockchain. If there is a multi-member blockchain network in an AWS account, the network will be deleted when you delete all members. If there are other members in the network, for example external members who were invited afterwards, the network will not be removed. But there is the possibility to have blockchains deleted if the founding member has been removed. Join an Ethereum network with Amazon Managed Blockchain When managing the individual networks in Amazon Managed Blockchain, an Ethereum network can also be joined. The public Ethereum blockchain development (mainnet) is available here, but also the two test networks Ropsten and Rinkeby. Here, too, there are various instances available on the basis of which joining can take place. Conclusion In many cases, companies looking for ways to operate their own blockchains can hardly avoid the possibilities of Hyperledger Fabric. But Ethereum also plays an important role in the area of smart contracts and dApps. With Amazon Managed Blockchain, companies can set up their own blockchain infrastructures or join an existing network with their own nodes via the AWS cloud. Using Amazon Managend Blockchain, it is also possible to link several AWS accounts to form a consortium. Providing your own blockchain is done with just a few clicks of the mouse, and no further administrative tasks are necessary, except of course the creation of peer nodes. This is also interesting for developers, as they can continue to work with their familiar tools, and the blockchain is available wherever there is a connection to the Internet.