Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Developing Blockchain Solutions in the Cloud
Developing Blockchain Solutions in the Cloud

Developing Blockchain Solutions in the Cloud: Design and develop blockchain-powered Web3 apps on AWS, Azure, and GCP

By Stefano Tempesta , Michael John Peña
€26.99 €17.99
Book Apr 2024 380 pages 1st Edition
eBook
€26.99 €17.99
Print
€33.99
Subscription
€14.99 Monthly
eBook
€26.99 €17.99
Print
€33.99
Subscription
€14.99 Monthly

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Apr 26, 2024
Length 380 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781837630172
Table of content icon View table of contents Preview book icon Preview Book

Developing Blockchain Solutions in the Cloud

Understanding Cloud-Native and Blockchain

In today’s rapidly evolving technological landscape, it is vital to stay ahead by understanding and adopting key technologies that are driving innovation and reshaping industries. This chapter will provide you with foundational knowledge of cloud-native and blockchain technologies, their benefits, and how they can be effectively combined to deliver solutions across multiple industries. As you progress through this chapter, you will be exposed to blockchain services in the major cloud service providers—AWS, Azure, and GCP—and make informed decisions about implementing cloud-native blockchain solutions. We will explore each technology in-depth, and provide real-world examples to demonstrate their applications and potential impact.

We will cover the following main topics in this chapter:

  • Blockchain basics – Distributed ledgers and cryptography
  • Introduction to cloud-native technology
  • Benefits and limitations of cloud-native blockchain
  • Key considerations for cloud-native blockchain implementation

Blockchain basics – Distributed ledgers and cryptography

Blockchain is a decentralized, distributed ledger technology that enables the secure recording, storage, and verification of transactions across a network of computers. It consists of a chain of blocks, where each block contains a list of transactions. These blocks are linked together using cryptographic techniques, forming a chronological chain.

One of the key problems that blockchain addresses is the issue of trust in traditional centralized systems. In traditional systems, such as banking or centralized databases, there is a reliance on intermediaries, such as banks or clearinghouses, to facilitate and validate transactions. This reliance can lead to issues such as fraud, data manipulation, censorship, and single points of failure.

Blockchain technology mitigates these issues by decentralizing the control and storage of data. Transactions on a blockchain are verified and recorded by a network of nodes, and once added to the blockchain, they are immutable and tamper-resistant. This decentralized and transparent nature of blockchain technology removes the need for intermediaries and creates a more trustless environment for transactions to occur.

Blockchain also addresses the problem of data integrity and security. The cryptographic techniques that are used in blockchain ensure that data stored on the ledger cannot be altered or tampered with without consensus from the network participants. This makes blockchain particularly suitable for applications where data integrity and security are paramount, such as financial transactions, supply chain management, voting systems, and identity management.

Myriads of books and online resources have already been written on introducing blockchain and the relevant technologies and frameworks that run along a blockchain network. Before progressing with this book, we recommend the following resources for deepening your understanding of cryptocurrency and tokens, the type and use of wallets, addresses, and cryptographic concepts, such as private and public keys, and hash values:

Types of blockchain

Blockchain operates as a form of Distributed Ledger Technology (DLT) that enables various stakeholders to safely collaborate and oversee an ever-expanding series of data entries, termed blocks. Every block encapsulates a group of activities, a time marker, and a nod to the preceding block. Together, these blocks create a resilient archive of all engagements undertaken on the platform.

One of the standout attributes of blockchain is its non-centralized design. This entails that the data isn’t dominated by a singular authority; instead, every member on the platform possesses a duplicate of the full ledger. Such a distributed model negates the dependency on centralized regulators or middlemen, curtailing possibilities of manipulation, deceit, and singular breakdowns.

Encryption is pivotal in preserving the trustworthiness of the blockchain. Each block carries a distinct cryptographic signature, conceived from the block’s details and the signature of its predecessor. This setup renders it exceedingly challenging to modify a block’s data without influencing the blocks that follow, guaranteeing the permanence of the blockchain.

Blockchains can be classified into three primary categories: public, private, and consortium. Each serves its purpose with distinct features and preferred applications.

Public blockchains

Public blockchains operate as open platforms accessible to any individual willing to join. Bitcoin and Ethereum are classic representations of this type. These blockchains pride themselves on deep-rooted decentralization and formidable security measures. However, their intricate validation procedures, such as Proof of Work (PoW), can sometimes restrict their speed and scalability. Public blockchains excel in environments that demand trust, openness, and resistance to external controls, such as with decentralized apps (dapps) and virtual currencies.

Private blockchains

Private blockchains, also known as permissioned blockchains, in contrast, are limited-access platforms that are often confined to specific entities or organizations. They are tailored for rapid transactions and superior scalability, presenting an edge over public blockchains in these aspects. However, this comes at the cost of shedding some of the complete decentralization inherent in public counterparts. For tasks prioritizing confidentiality, oversight, and swift operations, such as within organizational collaborations, supply chain tracking, or internal documentation, private blockchains emerge as the go-to choice.

Here are some examples of private blockchain platforms:

  • Hyperledger Fabric: Developed by the Linux Foundation, Hyperledger Fabric is designed for enterprise use. It enables organizations to build scalable blockchain applications with a high degree of privacy, performance, and customization. Industries such as finance, healthcare, and supply chain use Hyperledger Fabric for applications such as asset tracking, secure transactions, and compliance.
  • R3 Corda: Corda is a distributed ledger platform designed specifically for the financial industry but has applications in other sectors as well. It allows for the development of interoperable blockchain networks where transaction privacy is maintained, enabling businesses to transact directly and in strict privacy.
  • Quorum: Initially developed by J.P. Morgan, Quorum is an Ethereum-based private blockchain. It’s designed for processing private transactions within a permissioned group of known participants. Quorum is used in sectors such as finance for settlement, payments, and other financial services where transaction privacy is crucial.
  • Ripple (XRP Ledger for Private Use): While Ripple’s XRP Ledger is public, Ripple has developed a private version of it for central banks to issue and manage digital currencies. This private blockchain solution offers the transaction privacy and control that financial institutions require.
  • Multichain: Multichain is a platform that allows users to establish private blockchains for financial transactions, asset management, and other applications. It provides the tools for creating and deploying blockchain applications with a focus on privacy, control, and scalability.

Consortium blockchains

Consortium blockchains, often referred to as federated blockchains, interweave elements from both public and private types. They function under the stewardship of a group of trusted entities, rather than a single overarching body. Striking a balance, consortium blockchains marry the transparency of public chains with the control advantages of private ones. They are especially apt for situations that entail collaboration across different organizations but also necessitate a degree of privacy and control, such as in cross-border banking transactions or shared healthcare record systems.

Here are some examples of consortium blockchain platforms and their applications:

  • Energy Web Foundation (EWF), https://www.energyweb.org/: EWF has developed the Energy Web Chain, a public, enterprise-grade blockchain platform designed for the energy sector’s specific needs. It supports a consortium of energy companies working together to develop dapps that can drive cleaner, more efficient, and inclusive energy systems worldwide.
  • Blockchain Insurance Industry Initiative (B3i): B3i was a consortium of insurance companies that came together to explore and implement blockchain solutions. B3i used blockchain technology to make insurance transactions more efficient, transparent, and customer-friendly. B3i terminated operations in 2022.
  • we.trade: A consortium blockchain developed by a group of 12 major banks in Europe, we.trade was designed to simplify and secure international trade transactions for companies. The platform leveraged smart contracts to ensure that all parties in the supply chain could meet their obligations, offering a streamlined, secure process for trade finance. we.trade closed in 2022, but its case study by IBM is still accessible at https://www.ibm.com/case-studies/wetrade-blockchain-fintech-trade-finance.

These few examples illustrate how consortium blockchains are being used across various industries to improve processes, enhance security, and facilitate collaboration between different organizations.

Consensus mechanisms – Ensuring trust and security

A core attribute of blockchain technology is its proficiency in ensuring agreement amid a distributed set of nodes. These consensus models are computational strategies that validate uniform agreement among network nodes regarding the blockchain’s status and the legitimacy of upcoming transactions. Various consensus strategies exist, each tailored with its unique benefits and limitations. Notable consensus models encompass the following:

  • PoW: Adopted primarily by Bitcoin and similar digital assets, PoW mandates participants (or miners) to employ robust computing resources to calculate intricate algorithms. When a miner cracks a challenge, in the case of Bitcoin, for example, finding a hash value that matches the requirements of the network, they suggest integrating a new block into the blockchain. The network’s other nodes then scrutinize the block’s dealings, culminating in an agreement to either approve or decline the block. While PoW assures formidable security, it is power-hungry and might lean toward concentration:
Figure 1.1 – PoW in Bitcoin

Figure 1.1 – PoW in Bitcoin

The preceding AI-generated image visually explains the PoW consensus mechanism in Bitcoin. It depicts how miners use high-powered computers to compete in solving complex mathematical puzzles, with the successful miner unlocking a new block through the discovery of the correct hash. This process is symbolized by a golden key unlocking a block. The preceding figure also shows a network of nodes connected by digital links, highlighting the decentralized validation and addition of the newly mined block to the blockchain. The energy consumption involved in mining is represented by electricity symbols around the miners’ computers, providing a comprehensive overview of Bitcoin mining and the PoW system.

  • Proof of Stake (PoS): PoS emerges as a response to PoW’s limitations. Instead of expending computational might, PoS hinges on the quantity of digital currency a user possesses (their holdings) to gauge their likelihood of initiating a new block. Those with heftier holdings usually have elevated chances of being elected for block validations. PoS is considerably less power-consuming than PoW, though it might still edge toward central tendencies:
Figure 1.2 – PoS in Ethereum

Figure 1.2 – PoS in Ethereum

The preceding AI-generated image has been created to visually explain the PoS consensus mechanism in Ethereum. It illustrates validators staking Ethereum tokens, the selection process symbolized by a digital scale, and the decentralized network of nodes. The energy efficiency of PoS is also conveyed through green energy symbols, providing a clear, engaging, and informative view of Ethereum’s PoS system.

  • Delegated Proof of Stake (DPoS): As an offshoot of PoS, DPoS injects an element of representative choice into the agreement process. Here, the most substantial stakeholders empower specific, trustworthy nodes with their voting privileges. These chosen nodes then authenticate dealings and craft new blocks. DPoS can expedite transactions and enhance scalability, yet might be susceptible to collective manipulations and centralization.
  • Practical Byzantine Fault Tolerance (PBFT): PBFT is a consensus model tailored for permissioned blockchain networks where every node is identifiable and trustworthy. Within this structure, one node gets designated as the primary proposer for a fresh block. The remaining nodes in the system affirm the block through message exchanges. After a dominant majority concurs on the block’s authenticity, it joins the blockchain. While PBFT assures swift transactions and robust security, it might not be the best fit for expansive, open blockchain systems.

Smart contracts – Programmable logic on the blockchain

Smart contracts represent digital contracts where the conditions of an agreement are embedded directly into the programming. Operating on blockchain platforms, they facilitate automatic and trust-free completion of deals between entities, eliminating the reliance on middlemen. These contracts can be tailored to execute a range of functions, such as handling digital asset transfers, streamlining business operations, or activating contract stipulations upon meeting certain criteria.

Ethereum pioneered the integration of smart contracts into blockchain technology, though now, multiple other blockchain systems, such as Cardano, Polkadot, and Tezos, also incorporate smart contract capabilities.

The adaptability of smart contracts opens avenues for their usage in diverse sectors, encompassing finance, logistics, insurance, property dealings, and dapps.

From a programming perspective, it’s important to emphasize that conventional programming and smart contract development are two distinct paradigms within the software development landscape, each with its unique characteristics, use cases, and challenges. Let’s have a look at some key differences between conventional programming and smart contract development:

Programming paradigm

Conventional

Smart contract

Execution Environment

Applications are usually executed in a diverse range of environments, from personal computers and servers to cloud platforms. These environments can vary greatly in terms of their operating systems, hardware configurations, and network connections.

Smart contracts are executed on a blockchain platform, such as Ethereum. This environment is deterministic, meaning that the execution of the contract will always produce the same output given the same initial state and inputs, across all nodes in the network.

Language and Tools

There is a wide range of programming languages, frameworks, and tools available, each suited to different tasks, from web and mobile app development to data analysis and system programming.

Development is typically done in domain-specific languages such as Solidity (for Ethereum) or Java (for Hyperledger Fabric). These languages are designed to facilitate the creation of blockchain-based applications but might have limitations or unique features compared to more general-purpose languages.

Update and Maintenance

Conventional software can be updated or patched as needed. Developers can push updates to fix bugs, add features, or improve performance, and users can usually apply these updates at their convenience.

Once deployed, a smart contract is immutable; it cannot be changed or updated. If a bug is found or an update is required, a new contract must be deployed, and the state and assets controlled by the old contract may need to be manually migrated to the new one.

State Management and Transactions

State management is handled within the application’s environment, and transactions (if applicable) are managed by external systems such as databases or payment processors.

State management and transactions are intrinsic to the blockchain platform. Smart contracts not only manage the state of applications but also execute transactions that are transparent, traceable, and irreversible, within the blockchain network.

Consensus Mechanism

It does not inherently involve a consensus mechanism for decision-making. The application’s behavior is determined by its code and the inputs it receives.

Execution and the validity of transactions are subject to a consensus mechanism (for example, PoW or PoS) among the participants in the blockchain network. This ensures agreement on the state of the distributed ledger and the results of smart contract executions.

Security Implications

Security is crucial in all programming, but the impact of vulnerabilities can vary. Some issues can be patched before they are exploited, or their impact can be mitigated through various means.

Security is paramount and potentially more challenging due to the immutable nature of smart contracts. Vulnerabilities in smart contracts can lead to irreversible loss or theft of digital assets. This necessitates rigorous testing, audits, and formal verification processes before deployment.

Table 1.1 – Comparison between conventional and contract-oriented development

In summary, while both conventional programming and smart contract development share the fundamental principles of software development, they diverge significantly in their execution environments, security considerations, update mechanisms, and the ways they handle transactions and state management. These differences necessitate distinct approaches to development, testing, and deployment in each domain.

dapps – Building on the blockchain

dapps are applications that are built on top of blockchain platforms, utilizing smart contracts and decentralized storage to create trustless, transparent, and censorship-resistant services. dapps leverage the unique features of blockchain technology, such as immutability, decentralization, and tokenization, to deliver innovative solutions and disrupt traditional industries.

Examples of dapps include Decentralized Finance (DeFi) platforms, decentralized marketplaces, Decentralized Autonomous Organizations (DAOs), and Non-Fungible Tokens (NFTs).

Tokenization – Creating digital assets on the blockchain

Tokenization is the process of representing real-world assets or rights on the blockchain in the form of digital tokens. These tokens can represent anything from digital currencies and financial instruments to physical assets, such as real estate, art, or commodities.

There are two main types of tokens in the blockchain ecosystem:

  • Fungible tokens: Fungible tokens are interchangeable and have a consistent value across all instances. They are commonly used to represent digital currencies, such as Bitcoin and Ether, as well as other digital assets, such as utility tokens or security tokens.
  • NFTs: NFTs are unique, indivisible, and non-interchangeable tokens that represent ownership of a specific digital or physical asset. Each NFT has a unique identifier, which distinguishes it from other tokens. NFTs have gained significant popularity in the world of digital art, collectibles, and virtual goods as they provide a way to prove the authenticity and ownership of these assets on the blockchain.

Cryptocurrencies and tokens

Cryptocurrencies and tokens, such as NFTs, are both digital assets, but they serve different purposes and operate on different principles. For a start, cryptocurrency works at the network level, while tokens are governed by smart contracts. Cryptocurrencies such as Bitcoin or Ether are fungible, meaning that each unit is interchangeable with another unit of the same value. For example, one Bitcoin is equal in value to any other Bitcoin. NFTs, on the converse, are non-fungible, meaning that each token is unique and cannot be replaced with another token of the same value. In general, while both cryptocurrencies and tokens are digital assets, they serve different purposes, have different properties, and operate on different blockchain standards. Cryptocurrencies are primarily used for financial transactions, while tokens represent ownership or authenticity of digital or physical items.

Tokenization has the potential to revolutionize various industries by enabling the creation, trading, and management of digital assets in a secure, transparent, and decentralized manner.

Scalability, interoperability, and privacy – Key challenges and innovations in blockchain

As blockchain technology continues to evolve, several key challenges must be addressed to unlock its full potential. These challenges include scalability, interoperability, and privacy.

Scalability

Scalability is the ability of a blockchain network to handle an increasing number of transactions without compromising performance. Many public blockchains, such as Bitcoin and Ethereum, face scalability issues due to their resource-intensive consensus mechanisms and limited transaction throughput.

Various solutions are being developed to improve the scalability of blockchain networks, including the following:

  • Layer 2 solutions: These are off-chain protocols that process transactions outside the main blockchain, reducing the load on the network. Examples of layer 2 solutions include the Lightning Network for Bitcoin and Polygon (and many others) for Ethereum.
    • The Bitcoin Lightning Network (https://lightning.network/) is a layer-two scaling solution that’s designed to address the scalability and transaction throughput limitations of the Bitcoin blockchain. It is built on top of the Bitcoin protocol and operates as a decentralized network of payment channels.
    • Polygon (https://polygon.technology/) is a Layer 2 scaling solution for Ethereum that aims to address the network’s scalability issues by providing faster and cheaper transactions. It achieves this by using sidechains, Plasma chains, and other scaling techniques to offload transactions from the Ethereum mainnet.
  • Sharding: This is a technique that involves dividing the blockchain into smaller, parallel chains (shards) that can process transactions independently, thus increasing the overall transaction throughput.
  • New consensus algorithms: Alternative consensus mechanisms, such as PoS and DPoS, can offer improved scalability compared to PoW.

Interoperability

Interoperability refers to different blockchain platforms’ capability to engage and establish communication with each other. At present, the majority of blockchains function independently, constraining opportunities for collaboration and information sharing across chains.

Multiple initiatives focus on bolstering the mutual communication among blockchain platforms. Here are some examples:

  • Cross-chain bridges: These are structured systems that support the movement of assets and information from one blockchain network to another. Notable instances are the Wrapped Bitcoin (WBTC) token, enabling Bitcoin’s operation on the Ethereum network, and the Interledger Protocol (ILP), which simplifies payments across chains.
  • Blockchain-agnostic platforms: Platforms of this kind empower developers to craft tools that can engage with diverse blockchain networks. Some of these frameworks include Polkadot, Cosmos, and Avalanche.

Privacy

Preserving confidentiality remains pivotal for numerous blockchain applications since actions on open blockchains can often be viewed and traced. This transparency becomes problematic for scenarios necessitating discreet information storage and operations on the blockchain.

Several innovations aimed at bolstering privacy are in development:

  • Zero-knowledge proofs: These cryptographic methods allow an entity to confirm the authenticity of a claim without disclosing specifics about the claim. Techniques such as zk-SNARKs and zk-STARKs are prominent instances of such proofs.
  • Confidential transactions: These are protocols that are designed to obscure transaction values on the blockchain, ensuring heightened privacy while still retaining traceability. The Mimblewimble protocol, adopted by cryptocurrencies such as Grin and Beam, is a prominent example of shielded transactions.
  • Private and consortium blockchains: As previously discussed, selective-access blockchains, both private and consortium types, provide an enhanced level of confidentiality when juxtaposed with public blockchains as they limit entry to a particular set of trusted stakeholders.

By understanding these core concepts, we now have a solid foundation in blockchain technology and its potential to revolutionize various industries. Now, we can delve deeper into the benefits and limitations of building cloud-native decentralized applications that leverage blockchain technology.

Introduction to cloud-native technology

In this section, we will explore the concept of cloud-native technology, its underlying principles, and the benefits it brings to the modern software development landscape. We will discuss key cloud-native concepts, such as containerization, orchestration, and microservices, and provide examples of how these technologies enable the development of flexible, scalable, and resilient applications.

Defining cloud-native technology

Cloud-native technology refers to a software development approach that leverages the advantages of cloud computing to build, deploy, and manage applications. This approach prioritizes flexibility, scalability, and resilience by leveraging modern technologies and techniques such as containerization, microservices, Continuous Integration and Continuous Delivery (CI/CD), and Infrastructure as Code (IaC).

Cloud-native applications are designed to run on distributed and scalable infrastructure, allowing them to adapt to changing workloads and requirements quickly. This enables organizations to respond to market changes more rapidly, improve resource utilization, and optimize the Total Cost of Ownership (TCO) of their applications.

Key principles of cloud-native technology

There are several key principles and technologies associated with cloud-native applications. These include containerization, orchestration, microservices, CI/CD, and IaC.

Containerization

Containerization is a lightweight virtualization technology that allows applications and their dependencies to be packaged into isolated, portable containers. Containers can run on any platform that supports the container runtime, providing a consistent environment for development, testing, and production.

Containers provide several advantages over traditional virtualization techniques, such as reduced overhead, faster startup times, and improved resource utilization. Examples of popular containerization technologies include Docker and containerd.

Orchestration

Orchestration is the process of managing and automating the deployment, scaling, and operation of containerized applications. Container orchestration platforms, such as Kubernetes, Apache Mesos, and Docker Swarm, provide a framework for defining, deploying, and managing containerized applications at scale.

Orchestration platforms offer various features to support cloud-native applications, including service discovery, load balancing, rolling updates, auto-scaling, and self-healing. These features enable organizations to build and maintain applications that are highly available, scalable, and resilient.

Microservices

Microservices is a software architecture pattern that involves breaking down an application into small, loosely coupled components or services. Each service is responsible for a specific piece of functionality and can be independently developed, deployed, and scaled. This approach improves the modularity, maintainability, and scalability of applications, as each service can be updated or replaced without impacting the entire system.

Microservices can be implemented using a variety of languages, frameworks, and platforms, allowing organizations to choose the best tools for their specific needs. This flexibility also enables teams to adopt new technologies and methodologies more easily as each service can evolve independently of the others.

CI/CD

CI/CD is a set of practices that involve the automatic building, testing, and deployment of application code changes. This approach ensures that new features, bug fixes, and other changes are integrated and delivered to users quickly and reliably.

Continuous integration involves the automatic compilation and testing of code changes, ensuring that the application remains in a releasable state at all times. Continuous delivery extends this process to include the automatic deployment of changes to production, minimizing the risk of human error and ensuring a consistent, repeatable deployment process.

CI/CD practices are a core component of cloud-native development as they enable organizations to respond to market changes more rapidly and maintain high-quality applications.

IaC

IaC is a practice that involves managing and provisioning infrastructure components, such as networks, storage, and compute resources, using code and automation. IaC allows organizations to define their infrastructure requirements using code templates, which can then be automatically deployed and managed using tools such as Terraform, Azure Resource Manager, AWS CloudFormation, and Google Cloud Deployment Manager.

By treating IaC, organizations can improve the repeatability, reliability, and consistency of their infrastructure deployments. Additionally, IaC enables organizations to adopt version control and collaborative development practices for their infrastructure, ensuring that changes are tracked and reviewed before being applied.

Comparing traditional cloud computing and cloud-native technology

To better understand the advantages of cloud-native technology, it’s helpful to compare it with traditional cloud computing approaches. While both methods involve hosting applications and infrastructure on remote servers, they differ significantly in terms of architecture, development practices, and overall philosophy.

Architecture

Traditional cloud computing often involves monolithic applications running on Virtual Machines (VMs) or physical servers. In this model, applications are typically built as a single, large unit that contains all the required functionality. This can make the application difficult to maintain and scale as changes to one part of the system can impact the entire application.

In contrast, cloud-native applications are built using a microservices architecture, where the application is broken down into small, loosely coupled components. This approach allows individual components to be developed, deployed, and scaled independently, making the overall system more modular and easier to manage.

Development practices

Traditional cloud computing often relies on manual processes and ad hoc scripting for deploying and managing applications. This can lead to inconsistencies and errors, as well as slow release cycles and increased risk of downtime.

Cloud-native technology emphasizes automation and the use of modern development practices such as CI/CD, IaC, and containerization. These practices enable rapid, reliable, and repeatable deployments, as well as improved collaboration and visibility across development teams.

Infrastructure management

In traditional cloud computing, infrastructure management is often treated as a separate concern from application development. This can result in siloed teams and processes, as well as increased complexity and risk.

With cloud-native technology, infrastructure is treated as an integral part of the application life cycle. Using IaC and orchestration tools, developers can define, deploy, and manage infrastructure components alongside application code, ensuring a consistent and repeatable process.

In the next section, we will discuss the fundamentals of blockchain and related technologies.

Benefits and limitations of cloud-native blockchain

In this section, we’ll examine the advantages and drawbacks of adopting cloud-native blockchain solutions. We will discuss how cloud-native technologies can enhance the performance, security, and cost-efficiency of blockchain implementations and explore the potential trade-offs and limitations.

Scalability – Adapting to changing workloads

One of the key benefits of cloud-native blockchain solutions is their ability to scale in response to changing workloads. Scalability is essential for blockchain applications that need to handle a growing number of transactions or users. By leveraging cloud-native technologies such as containerization, microservices, and auto-scaling, blockchain implementations can dynamically adapt to meet increasing demands. Consider, though, that cloud technologies are designed for elasticity and scalability, whereas blockchain networks don’t necessarily address this technical requirement. As we will see later in this chapter, scalability and performance for blockchain networks can be met with different strategies at the protocol level, including transaction rollups, state channels, and off-chain storage.

Auto-scaling

Auto-scaling is a feature provided by many cloud providers, such as AWS, Azure, and GCP, that automatically adjusts the number of resources allocated to an application based on its current workload. This capability enables cloud-native blockchain implementations to dynamically scale up or down to meet fluctuating demands, ensuring optimal performance and resource utilization.

Security – Protecting data and infrastructure

Security is a critical concern for blockchain applications as they often involve sensitive data and transactions. Cloud-native technologies offer various security features that can enhance the security posture of a blockchain implementation.

Isolation and sandboxing

Containerization provides a natural layer of isolation between applications and the underlying infrastructure. By running each application component in a separate container, the potential impact of a security breach is limited to the compromised container, reducing the risk of lateral movement within the system.

Sandboxing is a technique that restricts the access and permissions of an application component, limiting its potential to cause harm. Cloud-native blockchain solutions can leverage sandboxing to confine smart contracts and other components, reducing the risk of vulnerabilities or malicious code compromising the entire system.

Built-in security features and compliance

Cloud providers offer a wide range of built-in security features that can be leveraged by cloud-native blockchain implementations. These features include data encryption, identity and access management, network security, and security monitoring and logging.

Additionally, many cloud providers are compliant with various industry standards and regulations, such as GDPR, HIPAA, and PCI-DSS. By utilizing cloud-native blockchain solutions, organizations can benefit from these compliance measures without having to implement them independently.

Cost-effectiveness – Optimizing resource utilization

Cloud-native blockchain solutions can provide significant cost savings compared to traditional, on-premises implementations. By leveraging the pay-as-you-go pricing models offered by cloud providers, organizations can optimize resource utilization and reduce costs associated with hardware, maintenance, and energy consumption:

  • Pay-as-you-go pricing: Pay-as-you-go pricing models allow organizations to pay only for the resources they consume, instead of committing to fixed hardware and infrastructure costs. This model enables cost optimization as resources can be dynamically scaled to match changing workloads, avoiding over-provisioning and under-utilization.
  • Reduced infrastructure and maintenance costs: By adopting cloud-native blockchain solutions, organizations can eliminate the need to purchase, maintain, and upgrade physical hardware and infrastructure. This approach not only reduces upfront capital expenditures but also minimizes ongoing maintenance and energy costs.
  • Cost optimization tools and techniques: Cloud providers offer various cost optimization tools and techniques that can help organizations fine-tune their resource usage and spending. These tools include budget and cost management features, as well as recommendations for optimizing resource allocation and performance. By leveraging these tools, organizations can ensure that their cloud-native blockchain implementations remain cost-effective and efficient.

Limitations and trade-offs of cloud-native blockchain solutions

While cloud-native blockchain solutions offer numerous benefits, there are also potential trade-offs and limitations to consider. Some of these challenges include data sovereignty, vendor lock-in, and network latency.

Data governance

The idea behind data governance is that data must adhere to the legal frameworks of the nation where it’s housed. When companies integrate blockchain systems into a public cloud setting, they might encounter the challenge of meeting data governance standards. These standards can be intricate, with nuances from one region to the next.

In response to these challenges, companies can opt to launch their blockchain infrastructures on cloud platforms that operate data centers in the preferred legal territories. Additionally, they might leverage mixed or diversified cloud models, ensuring data dispersion across various geographical zones.

Vendor lock-in

Vendor lock-in is a potential concern when adopting cloud-native technologies as organizations may become reliant on a specific cloud provider’s infrastructure, services, and tools. This dependency can make it challenging to switch providers or migrate back to on-premises solutions.

To mitigate vendor lock-in risks, organizations can adopt multi-cloud strategies, utilize open source technologies, and implement standardized APIs and data formats that facilitate interoperability between different platforms.

Network latency

Network latency can be a concern for some blockchain applications, especially those that require real-time processing or low-latency interactions. While cloud providers offer various techniques and services to optimize network performance, such as Content Delivery Networks (CDNs) and dedicated network connections, latency may still be higher compared to on-premises implementations.

Organizations should carefully assess their specific latency requirements and choose the appropriate cloud-native architecture and services to meet their needs.

Key considerations for cloud-native blockchain implementation

In this section, we will explore the key considerations and best practices for implementing cloud-native blockchain solutions on AWS, Azure, and GCP. By understanding these factors, organizations can make informed decisions and ensure the successful deployment and management of their blockchain applications in a cloud-native environment.

Choosing the right blockchain framework

Determining the right blockchain platform is paramount for executing a cloud-native blockchain initiative. Given that each platform possesses its distinct attributes, strengths, and challenges, it’s crucial to pinpoint the one that resonates most with an organization’s distinct needs. There are many blockchain networks in the market, and it would be impossible to cover all of them in depth. In the next few sections, we’ll look at the three platforms that better represent a broad utilization of permissionless and permissioned blockchain technologies for building decentralized apps: Ethereum, Hyperledger Fabric, and Corda.

Ethereum

Ethereum presents itself as a decentralized, open source platform endorsing smart contracts and facilitating the birth of dapps. Let’s look at some of its standout features:

  • An open, unrestricted blockchain network
  • Endorsement for smart contracts primarily coded in Solidity
  • Extensive developer involvement and supportive community
  • Energy costs (or gas fees) associated with transaction handling and executing smart contracts

For organizations eyeing the development of public dapps or delving into DeFi arenas, Ethereum emerges as a favored choice.

Hyperledger Fabric

Initiated by the Linux Foundation, Hyperledger Fabric stands out as an open source, permissioned blockchain platform tailored for enterprise scenarios. Some of its notable attributes are as follows:

  • An adaptable framework that allows for modifications and personalization
  • Multi-language support for smart contracts (known as chaincode)
  • Special channels to ensure transaction confidentiality
  • Versatile consensus methods

Given its features, Hyperledger Fabric frequently becomes the go-to for businesses keen on integrating blockchain in sectors with regulatory measures, such as banking, healthcare, and logistics.

Corda

Tailored mainly for the world of financial services, Corda is an open source, permissioned blockchain platform. It comes equipped with features such as the following:

  • Direct communication pathways among network users
  • Backing for intricate financial contracts and smart contracts
  • Seamless merging with present financial frameworks and facilities
  • Enhanced data privacy and confidentiality tools

Corda, with its specialized attributes, is particularly fitting for financial entities keen on leveraging blockchain for facets such as asset oversight, transaction processing, and other fiscal operations.

Scalability and performance

Scalability and performance are critical considerations when implementing cloud-native blockchain solutions. Organizations must ensure that their chosen platform can handle the anticipated transaction volume and accommodate future growth. Most blockchain networks struggle on both sides in terms of scaling and performing well when the number of transactions grows. Let’s examine a couple of strategies that are commonly used in blockchain platforms to achieve better scalability and performance, namely storing data off-chain (that is, not on the blockchain digital ledger), and rolling up multiple blocks and committing them at once. This latter approach is typical in so-called Layer 2 blockchain networks.

Off-chain storage

Off-chain storage can help improve the scalability and performance of blockchain applications by moving non-essential data and processing off the blockchain. This can help reduce network congestion and transaction fees, while also improving the overall user experience.

Off-chain storage solutions can include the following:

  • Traditional databases (for example, Amazon RDS, Azure SQL, and Google Cloud Spanner)
  • Distributed databases (for example, Amazon DynamoDB, Azure Cosmos DB, and Google Cloud Firestore)
  • File storage services (for example, Amazon S3, Azure Blob Storage, and Google Cloud Storage)

Layer 2 solutions

Layer 2 solutions are built on top of existing blockchain networks and aim to improve scalability and performance by handling transactions and smart contract execution off-chain. Here are some popular Layer 2 solutions:

  • State channels: Off-chain communication channels that enable participants to transact privately and securely without requiring on-chain transactions
  • Plasma chain: A framework for creating scalable, hierarchical blockchain networks that rely on the root chain for security
  • Rollups: Techniques for aggregating and compressing multiple transactions into a single on-chain transaction

State channels

To make this clearer, let’s look at examples of each solution. State channels are a Layer 2 scaling solution that allows for off-chain transactions between participants, thereby reducing the load on the main blockchain and increasing transaction throughput. Let’s say we have Alice and Bob, who want to engage in multiple transactions with each other without relying on the main blockchain for every transaction. They decide to set up a state channel between themselves to facilitate these transactions. The following figure describes what happens next on a state channel:

Figure 1.3 – State channel transaction

Figure 1.3 – State channel transaction

This is what happens:

  1. Opening the channel: Alice and Bob create a multi-signature wallet on the blockchain and lock some funds into it as collateral. This collateral serves as security to ensure that both parties abide by the rules of the state channel. The state channel is now open, and Alice and Bob can start transacting off-chain.
  2. Transacting off-chain: Alice and Bob can now exchange transactions directly with each other off-chain. These transactions are signed by both parties and can involve transferring funds or updating the state of a shared application. Since these transactions are off-chain, they are fast and have minimal fees compared to on-chain transactions.
  3. Updating the state: As Alice and Bob continue to transact, they keep track of the current state of their interactions. This state includes information such as the balances of each party and any other relevant data. Each time they want to update the state, they exchange and sign a new transaction reflecting the updated state.
  4. Closing the channel: Once Alice and Bob are done transacting or want to settle their balances on the main blockchain, they can close the state channel. To close the channel, they submit the final state of their interactions to the blockchain. The blockchain verifies the final state and settles any outstanding balances accordingly. The collateral that’s locked into the multi-signature wallet is released back to both parties, and the state channel is closed.

By using state channels, Alice and Bob were able to conduct multiple transactions off-chain, reducing congestion on the main blockchain and enjoying fast and low-cost transactions. State channels are particularly useful for scenarios where frequent interactions between parties are needed, such as gaming, microtransactions, or payment channels.

Plasma chains

Moving on to an example of a plasma chain, this approach is used by Layer 2 platforms for creating scalable, hierarchical blockchain networks that can process a high volume of transactions off-chain while maintaining security through periodic on-chain settlement. Let’s consider a simple implementation of plasma called Plasma Cash, which focuses on token transfers and is often used for NFTs or unique assets. The following figure depicts the flow of transactions between Alice and Bob:

Figure 1.4 – Plasma chain for Layer 2 networks

Figure 1.4 – Plasma chain for Layer 2 networks

This is what happens in a plasma chain:

  1. Setup: Alice wants to trade digital artwork with Bob. She sets up the plasma chain on Ethereum as a smart contract, which acts as the root chain. Alice deposits her digital artwork (represented as an NFT) into the plasma chain’s contract, locking it into a specific position in the Merkle tree. This initial state is recorded on the Ethereum mainnet.
  2. Transactions: Alice and Bob can now trade digital artwork with each other off-chain within the plasma chain. Each transfer of digital artwork is represented by a unique token (for example, Plasma Cash). These transactions are conducted off-chain, allowing for fast and low-cost transfers between Alice and Bob.
  3. Proofs and challenges: To ensure the security of the plasma chain, participants can challenge invalid transactions by submitting proofs to the root chain (Ethereum). For example, if Bob tries to spend a token that he doesn’t own or tries to spend the same token multiple times, Alice or other participants can challenge the transaction by submitting proof of the invalid transaction to the root chain.
  4. Periodic settlement: Periodically, the plasma chain’s operator (Alice) submits a Merkle root of the latest state of the Plasma chain to the Ethereum mainnet. This Merkle root serves as a cryptographic proof of the state of the Plasma chain, allowing participants to verify the validity of transactions without having to process every transaction on the Ethereum mainnet. If no challenges are raised within a specified period, the state of the Plasma chain is considered finalized, and any tokens can be withdrawn from the Plasma chain back to the Ethereum mainnet.
  5. Exit mechanism: If Alice or Bob want to exit the Plasma chain and withdraw their tokens to the Ethereum mainnet, they submit a proof of ownership (for example, a Merkle proof) to the Plasma chain’s contract on Ethereum. The contract verifies the proof and allows the user to withdraw their tokens to the Ethereum mainnet, ensuring that their ownership rights are preserved.

In summary, plasma allows for the creation of scalable blockchain networks by conducting most transactions off-chain, with periodic settlement and on-chain verification to maintain security and trust. This framework enables applications such as decentralized exchanges, gaming platforms, and asset tokenization to achieve high throughput and low latency while leveraging the security of the Ethereum mainnet.

Rollups

Rollups are a common Layer 2 scaling solution that aggregates and submits multiple transactions off-chain to the main blockchain, reducing congestion and increasing throughput. There are two main types of rollups: optimistic rollups and Zero Knowledge (ZK) rollups. Let’s look at an example of how each type works.

Optimistic rollups

Alice wants to participate in a DEX on Ethereum, which is prone to high gas fees and network congestion during peak times. The DEX pictured in the following figure implements an optimistic rollup solution to improve scalability and reduce transaction costs:

Figure 1.5 – Optimistic rollup transaction process

Figure 1.5 – Optimistic rollup transaction process

The transaction process consists of the following steps:

  1. Off-chain transactions: Alice and other users conduct trades off-chain within the optimistic rollup environment. These transactions are fast and low-cost since they don’t require interaction with the Ethereum mainnet. The DEX’s optimistic rollup operator aggregates these transactions into a single Merkle root.
  2. Submission to the Ethereum mainnet: Periodically, the optimistic rollup operator submits the aggregated Merkle root to the Ethereum mainnet, along with a fraud proof that attests to the validity of the transactions. The Ethereum mainnet verifies the validity of the Merkle root and fraud proof. If no fraudulent activity is detected, the transactions are considered valid and included in the Ethereum blockchain.
  3. Challenge period: After the Merkle root is submitted to the Ethereum mainnet, there is a challenge period during which users can scrutinize the transactions and raise disputes if they suspect any fraudulent activity. If a challenge is raised and proven valid, the fraudulent transactions are reverted, and the guilty party may face penalties.

Optimistic rollups enable high throughput and low-cost transactions by batching multiple transactions off-chain and submitting them to the Ethereum mainnet periodically. Users can enjoy the scalability benefits of Layer 2 solutions while still benefiting from the security and decentralization of the Ethereum mainnet.

ZK rollups

Bob wants to participate in a DeFi protocol on Ethereum, which requires frequent interactions with smart contracts and is affected by high gas fees. The DeFi protocol depicted in the following figure implements a ZK rollup solution to achieve scalability and reduce transaction costs:

Figure 1.6 – ZK rollup transaction process

Figure 1.6 – ZK rollup transaction process

This is how the transaction process goes:

  1. Off-chain transactions: Bob and other users interact with the DeFi protocol off-chain, executing transactions within the ZK rollup environment. These transactions are private and efficient as they don’t require interaction with the Ethereum mainnet. The ZK rollup operator generates a succinct proof (zk-SNARK) that attests to the validity of the transactions without revealing sensitive information.
  2. Submission to the Ethereum mainnet: Periodically, the ZK rollup operator submits the zk-SNARK proof to the Ethereum mainnet, along with a commitment to the updated state of the DeFi protocol. The Ethereum mainnet verifies the validity of the zk-SNARK proof, ensuring that the transactions comply with the protocol’s rules without revealing the details of individual transactions.
  3. Finality and settlement: Once the zk-SNARK proof has been verified, the transactions are considered finalized, and the updated state of the DeFi protocol is reflected on the Ethereum mainnet. Users can interact with the DeFi protocol on-chain, confident that their transactions are secure and valid.

ZK rollups provide high scalability and privacy for blockchain transactions by aggregating off-chain transactions into succinct proofs (zk-SNARKs) that are verified on-chain. Users can enjoy the benefits of efficient and cost-effective transactions while preserving privacy and security.

In summary, both optimistic rollups and ZK rollups are powerful Layer 2 scaling solutions that enable high throughput and low-cost transactions on blockchain networks like Ethereum. They achieve scalability by aggregating and batching transactions off-chain before submitting them to the mainnet, thereby reducing congestion and increasing efficiency.

Security and privacy

Security and privacy are essential aspects of any blockchain implementation. Organizations must ensure that their chosen platform provides the necessary features and controls to protect sensitive data and maintain compliance with relevant regulations.

Data encryption

Data encryption is a crucial aspect of securing sensitive data within a cloud-native blockchain environment. Organizations should ensure that their chosen platform supports the necessary encryption standards and protocols to protect data both at rest and in transit.

Here are some encryption techniques to consider:

  • Transport Layer Security (TLS) for securing data in transit
  • Advanced Encryption Standard (AES) for encrypting data at rest
  • Hardware Security Modules (HSMs) for managing cryptographic keys

Access control and identity management

Access control and identity management are critical for ensuring that only authorized users can access and interact with the blockchain network and its associated resources. Organizations should implement robust access control policies and leverage the identity management features provided by their chosen cloud provider.

Some access control and identity management considerations are as follows:

  • Role-Based Access Control (RBAC) for managing user permissions and privileges
  • Multi-Factor Authentication (MFA) for enhanced user security
  • Single Sign-On (SSO) integration with existing identity providers

It’s important to note that access control and identity management are peculiar to permissioned blockchains, where anonymous access is not authorized. Sovrin (https://sovrin.org/) is a decentralized identity platform that provides tools and protocols for creating and managing self-sovereign identities, where individuals have control over their identity information. Sovrin allows organizations to issue verifiable credentials, such as government-issued IDs or academic certificates, which can be stored and managed by individuals using their Sovrin identities.

Another example is uPort (https://www.uport.me/), a decentralized identity platform built on Ethereum. It provides tools and libraries for developers to integrate decentralized identity into their applications, allowing users to control their identity information. Also, uPort supports the creation of self-sovereign identities, enabling users to manage their identity credentials and interact with decentralized applications in a secure and privacy-preserving manner.

Smart contract security

Smart contracts play a crucial role in blockchain applications, and their security is of paramount importance. Organizations should ensure that their smart contracts are thoroughly audited, tested, and secured to prevent vulnerabilities and potential attacks.

Here are some smart contract security best practices:

  • Formal verification to prove the correctness of the smart contract code
  • Automated testing and fuzzing to identify vulnerabilities
  • Security audits conducted by reputable third-party firms

Interoperability and integration

Interoperability and integration are essential considerations for organizations looking to leverage existing systems and infrastructure within their cloud-native blockchain solutions. The chosen platform should support seamless integration with other services and provide the necessary tools and APIs for bridging blockchain networks with traditional systems.

API and SDK support

APIs and SDKs play a crucial role in enabling seamless integration between blockchain networks and existing systems. Organizations should ensure that their chosen platform provides comprehensive API and SDK support for various programming languages and platforms.

The following are some key API and SDK features to consider:

  • RESTful APIs for easy integration with web services and applications
  • Web3.js, Web3.py, or other SDKs for interacting with Ethereum-based networks
  • SDKs for popular programming languages, such as Java, Python, and JavaScript

Blockchain network interoperability

With the expansion and progression of the blockchain universe, the emphasis on ensuring compatibility among diverse blockchain systems has amplified. Organizations need to align with platforms that facilitate communication and interaction across chains, augmenting the effectiveness of their blockchain integrations.

A few notable solutions promoting such inter-chain compatibility are as follows:

  • Cosmos Network: An integrated network comprising independent, adaptable, and compatible blockchains (https://cosmos.network/)
  • Polkadot: A framework designed to bridge and fortify distinct blockchain entities (https://polkadot.network/)
  • Chainlink: A distributed oracle network that safely links smart contracts to outside data streams and application interfaces (https://chain.link/)

Cost optimization

Implementing a cloud-native blockchain solution can be expensive, particularly when considering the costs associated with infrastructure, development, and ongoing maintenance. Organizations should carefully consider the costs involved and optimize their implementations to minimize expenses while maximizing the benefits.

The following are some cost optimization strategies:

  • Using managed services to reduce the overhead of managing infrastructure
  • Implementing autoscaling policies to ensure efficient resource utilization
  • Monitoring and analyzing resource usage to identify and eliminate waste

In this section, we covered the key considerations and best practices for implementing cloud-native blockchain solutions on AWS, Azure, and GCP. By understanding these factors, organizations can make informed decisions and ensure the successful deployment and management of their blockchain applications in a cloud-native environment.

With that, we’ve discussed the importance of choosing the right blockchain framework, ensuring scalability and performance, securing sensitive data and transactions, enabling seamless interoperability and integration, and optimizing costs. By following these best practices, organizations can successfully implement cloud-native blockchain solutions that meet their specific requirements and deliver the desired benefits.

Summary

In this first chapter, we looked at blockchain and cloud-native technologies, exploring their core characteristics and potential synergies. We touched on the essential features of cloud-native technology, such as containerization and CI/CD pipelines, and the transformative attributes of blockchain, including distributed ledgers and consensus algorithms. We then discussed the merits and trade-offs of melding these technologies for robust, decentralized applications.

Next, we’ll start our journey together and delve into practical implementations of cloud-native Web3 applications on platforms such as AWS, Azure, and GCP to create the foundation for crafting innovative and distributed applications.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Learn architecture design patterns and access code samples for building Web3 apps in the cloud
  • Master the latest tools and cloud technologies for integrating DevOps in blockchain applications
  • Strengthen your understanding of cloud-native blockchain through real-world use cases and best practices
  • Purchase of the print or Kindle book includes a free PDF eBook

Description

As Web3 technologies continue to gain momentum across industries, businesses are looking for new ways to leverage the benefits of Web3 and stay at the forefront of technological innovation. This comprehensive guide offers an in-depth exploration of cloud-native blockchain fundamentals, providing valuable insights into the benefits and challenges of deploying these technologies in the cloud. From foundational concepts to advanced techniques, the book covers everything you need to know about developing and deploying secure, scalable blockchain solutions on AWS, Azure, and GCP. Through hands-on tutorials and projects, you’ll explore the latest tools, technologies, real-world use cases, and best practices to expand your understanding of the field’s complexities and opportunities. This book ensures easy comprehension through practical examples and access to source code on GitHub. As you advance, you’ll master platform selection and apply your newfound knowledge to tackle complex problems and deliver innovative cloud-native blockchain solutions tailored for your specific needs. By the end of this book, you’ll have a deep understanding of cloud-native blockchain deployment and implementation, and you’ll be equipped with the skills and knowledge to build secure and scalable solutions.

What you will learn

Discover the benefits and challenges of deploying Web3 solutions in the cloud Deploy secure and scalable blockchain networks leveraging AWS, Azure, and GCP resources Follow step-by-step tutorials and code samples to build Web3 solutions in the cloud Use hosted Kubernetes platforms, such as EKS, AKS, and GKE, for custom blockchains Compare the blockchain capabilities and offerings of AWS, Azure, and Google Cloud Familiarize yourself with the tools and techniques for automating DevOps practices tailored to Web3 apps

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Apr 26, 2024
Length 380 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781837630172

Table of Contents

24 Chapters
Preface Chevron down icon Chevron up icon
Part 1: Introduction to Cloud-Native Blockchain Chevron down icon Chevron up icon
Chapter 1: Understanding Cloud-Native and Blockchain Chevron down icon Chevron up icon
Chapter 2: Overview of AWS, Azure, and GCP Services for Blockchain Chevron down icon Chevron up icon
Chapter 3: DevOps for Cloud-Native Blockchain Solutions Chevron down icon Chevron up icon
Part 2: Deploying and Implementing Blockchain Solutions on AWS Chevron down icon Chevron up icon
Chapter 4: Getting Started with Amazon Managed Blockchain Chevron down icon Chevron up icon
Chapter 5: Hosting a Blockchain Network on Elastic Kubernetes Service Chevron down icon Chevron up icon
Chapter 6: Building Records with Amazon Quantum Ledger Database Chevron down icon Chevron up icon
Part 3: Deploying and Implementing Blockchain Solutions on Azure Chevron down icon Chevron up icon
Chapter 7: Hosting a Corda DLT Network on Azure Kubernetes Service Chevron down icon Chevron up icon
Chapter 8: Using the Ledger Features of Azure SQL Chevron down icon Chevron up icon
Chapter 9: Leveraging Azure Confidential Ledger Chevron down icon Chevron up icon
Part 4: Deploying and Implementing Blockchain Solutions on GCP Chevron down icon Chevron up icon
Chapter 10: Hosting an Ethereum Blockchain Network on Google Cloud Platform Chevron down icon Chevron up icon
Chapter 11: Getting Started with Blockchain Node Engine Chevron down icon Chevron up icon
Chapter 12: Analyzing On-Chain Data with BigQuery Chevron down icon Chevron up icon
Part 5: Exploring Real-World Use Cases and Best Practices Chevron down icon Chevron up icon
Chapter 13: Building a Decentralized Marketplace on AWS Chevron down icon Chevron up icon
Chapter 14: Developing a Decentralized Voting Application on Azure Chevron down icon Chevron up icon
Chapter 15: Creating Verifiable Digital Ownership on GCP Chevron down icon Chevron up icon
Chapter 16: The Future of Cloud-Native Blockchain Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Filter icon Filter
Top Reviews
Rating distribution
Empty star icon Empty star icon Empty star icon Empty star icon Empty star icon 0
(0 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 0%
1 star 0%

Filter reviews by


No reviews found
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.