Guidance for Secure Blockchain Validation Using AWS Nitro Enclaves
Overview
How it works
These technical details feature an architecture diagram to illustrate how to effectively use this solution. The architecture diagram shows the key components and their interactions, providing an overview of the architecture's structure and functionality step-by-step.
Deploy with confidence
Ready to deploy? Review the sample code on GitHub for detailed deployment instructions to deploy as-is or customize to fit your needs.
Well-Architected Pillars
The architecture diagram above is an example of a Solution created with Well-Architected best practices in mind. To be fully Well-Architected, you should follow as many Well-Architected best practices as possible.
Operational Excellence
This Guidance provides mechanisms for implementing changes (AWS CDK), gathering feedback (GitHub), and secure instance management (Systems Manager). This allows you to safely make updates, incorporate improvements, and operate resources without compromising security. Adhering to proven operational best practices helps achieve reliable, high-performing workloads.
Security
By implementing the robust security controls of this Guidance, you protect your information, systems, and assets. For example, resources are protected by deploying them in a separate VPC with private subnets, allowing internet access only through NAT gateways. Access to Amazon EC2 instances is restricted, with no inbound access allowed and administrator access granted only through Systems Manager. Data, including sensitive private key material and Web3Signer configurations, is encrypted using AWS KMS and stored in DynamoDB, with cryptographic attestation ensuring decryption only within the Nitro Enclaves.
Reliability
The Guidance implements a highly available network topology with an Auto Scaling group deployed across two different Availability Zones, ensuring at least two active instances at any time. A Network Load Balancer distributes traffic between these instances. The application-level architecture is designed for reliability, with loosely coupled dependencies, stateless compute processes inside the Nitro Enclaves, and the ability to automatically recover from failures.
Performance Efficiency
The Guidance leverages an Auto Scaling group to match demand and help ensure that only the minimum resources required are running. The blockchain validation client and consensus client can be deployed in private and public subnets, respectively, within the same VPC to decrease latency and improve performance.
Cost Optimization
The Guidance avoids services and storage options with high monthly fixed costs. For long-term operation, the Amazon EC2 instances should be part of an Amazon EC2 Instance Savings Plan, which can reduce costs compared to using on-demand instances. The default instance type is C6A.xlarge, the smallest instance currently supporting Nitro Enclaves.
Sustainability
By using an Auto Scaling group, this Guidance helps to ensure the high availability of your workloads while minimizing the number of Amazon EC2 instances running. This solution can be easily extended to scale out or in as needed, optimizing resource utilization based on demand.
Disclaimer
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages