Discover millions of ebooks, audiobooks, and so much more with a free trial

Only $11.99/month after trial. Cancel anytime.

Unlocking Blockchain on Azure: Design and Develop Decentralized Applications
Unlocking Blockchain on Azure: Design and Develop Decentralized Applications
Unlocking Blockchain on Azure: Design and Develop Decentralized Applications
Ebook409 pages2 hours

Unlocking Blockchain on Azure: Design and Develop Decentralized Applications

Rating: 0 out of 5 stars

()

Read preview

About this ebook

Design, architect, and build Blockchain applications with Azure in industrial scenarios to revolutionize conventional processes and data security. This book will empower you to build better decentralized applications that have stronger encryption, better architectures, and effective deployment structures over the cloud. 
You’ll start with an overview of Blockchain, distributed networks, Azure components in Blockchain, such as Azure Workbench, and independent Blockchain-as-a-service solutions. Next, you’ll move on to aspects of Blockchain transactions where the author discusses encryption and distribution along with practical examples. You’ll cover permissioned Blockchains and distributed ledgers with the help of use cases of financial institutions, followed by code and development aspects of smart contracts. Here, you will learn how to utilise the templates provided by Azure Resource Manager to quickly develop an Ethereum-based smart contract. 
Further, you will go through Blockchain points of integration, where the author demonstrates enterprise integration, automated processing of smart contracts, and lifecycle events. Finally, you will go through every deployment of HyperLedger, Ethereum, and other decentralized ledger examples over Azure, thus understanding the elements of creation, design, development, security, and deployment. 
After reading Unlocking Blockchain on Azure you will be able to design and develop Blockchain applications in Azure to decentralize social networks, financial organisations, and data. You’ll be able to implement encryption over a Blockchain and have full control over shared instances digitally. You will be able to program smart contracts to digitize rules and trigger timely transactions.
What You Will Learn
  • Build decentralized applications 
  • Program, design, and deploy dynamic smart contracts
  • Model Blockchains in the form of token economics, hybrid networks, and infrastructure
  • Develop end-to-end encryption and distributed systems
Who This Book Is For

Developers and solutions architects who want to develop Blockchain applications in Azure and decentralize applications in different scenarios.
LanguageEnglish
PublisherApress
Release dateMay 15, 2020
ISBN9781484250433
Unlocking Blockchain on Azure: Design and Develop Decentralized Applications

Related to Unlocking Blockchain on Azure

Related ebooks

Programming For You

View More

Related articles

Reviews for Unlocking Blockchain on Azure

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Unlocking Blockchain on Azure - Shilpa Karkeraa

    © Shilpa Karkeraa 2020

    S. KarkeraaUnlocking Blockchain on Azurehttps://doi.org/10.1007/978-1-4842-5043-3_1

    1. Blockchains: The Complete Picture

    Shilpa Karkeraa¹ 

    (1)

    Mumbai, India

    This chapter breaks down every aspect of blockchains in a simplistic way, unlocking the barriers of technical know-how and opening up avenues for other domain experiences to blend with the infrastructure provided by blockchains. Thereby enabling users both with and without the infrastructure to use Microsoft Azure with Blockchains to make a decentralized lifestyle truly happen in all walks of life!

    So, whether you are an academician, CIO, people operation strategist, mechanical engineer, architect, or even a ten-year-old, or if you feel like one, I envision that you can build your understanding block by block in this chapter. Further, from this chapter, we move toward real-life blockchain deployments and how we can develop them to fit every individual aspect of the blockchain and its variants available.

    We shall see how blockchains are changing the ways in which we deal with money and the economics around it. Once the foundation of blockchains is set, we will learn about smart contracts, which enable users to experience digital contracts that trigger actions programmatically and enforce pre-agreed-upon clauses. From there, we will discover the integration of the external world of existing software with blockchains in the Enterprise, which requires large-scale movements. Toward Chapter 7, we will open up the array of tools that are available to form blockchain policies, business design, architecture, and development tools. Knowing that this book will be read by people from diverse backgrounds, we will elaborate different cases of technical architectures used to build blockchain platforms and DApps (decentralized applications) . We will broaden our understanding with use cases from all over the world in diverse fields and explore inter-disciplinary integrations of blockchains.

    Now that we have previewed the ocean of things that are going to be coming in the next couple of chapters, let’s focus on why we might use blockchains. What makes them so popular, and why do they promise to change the ways of money, business, and the world? Why are more than 50 percent of the world’s largest digital companies invested in this technology? This is what many individuals, companies, and ecosystems wish to understand. However, on a day-to-day basis, how do blockchains affect you? In what way do your surroundings change with this technology? How would you interact with blockchains?

    All these answers will unfold in this chapter and in the course of this book.

    Like the 6 Sigma transition, across the five stages of define, measure, analyze, improve, and control over any challenge that improves yield stage by stage, this chapter brings the following six transitions:

    Introduction – Defining blockchains

    Benchmarking – Historical events of evolution to modern-day blockchains

    Measuring the change from distributed computing to distributed ledgers

    Analyzing the impact and improvement with blockchains in action

    Control decentralization with consensus

    Implement with Azure and scale across

    Defining Blockchains

    Humans best understand the world through exploration and discovery. Humans group together into an ecosystem to get life moving. Businesses form communities, supply chains, and economies within countries and across borders. The true nature of connecting, interacting, and evolving is at the core of everything in existence.

    Blockchains bring this very form of interaction, connectivity, and evolution to a software platform. They digitize not just data, but also the processes and the state of the processes in a digital ledger. Blockchains are a form of distributed digital ledger that doesn’t just hold data but also interacts with the daily operations of life.

    Blockchains represent a chain of blocks. This chain is a connected network of people interacting with one another in the form of blocks of data. That sounds like an existing social network, like Facebook, Instagram, Twitter, or others that we all know of. So, how is a blockchain different? In any existing social media platform or service, the user data is stored, transferred, and managed by a centralized server hosted and governed by the social media platform itself. If the platform were to be on a blockchain, that same user data would be stored, transacted, and governed in the form of blocks of data hosted and distributed by the end users themselves and not a single company. This is how blockchains enable end users to have better control of their data and its privacy, and to have awareness of how their data is stored, maintained, and distributed.

    A blockchain enables a group of users to come to an agreement on any action, transaction, or decision based on a pre-defined set of rules. It allows everyone into the decision-making process. Further, it empowers the chain’s complete right to privacy with its encryption of the data blocks and transactions.

    So far, we have understood blockchains to be a chain of blocks connected between peer-to-peer networks. Those blocks are hosted by peers themselves and are connected by the principle of consensus agreements over encrypted data and direct transactions. From there, a blockchain provides an avenue to digitize the efforts, value, and representation of money on that chain as it forms the single source of trusted truth.

    Further on, we will see the definition of a blockchain from a beginner’s perspective, and then an expert’s understanding, noting the varied levels of complexity and technicality.

    Defining for a New User

    If you are someone entirely new to the concept of blockchains or have just begun your journey in understanding and building blockchains, the following example might help you visualize an actual trade performed via blockchain. Before blockchains, the process went as shown in Figure 1-1.

    ../images/474923_1_En_1_Chapter/474923_1_En_1_Fig1_HTML.png

    Figure 1-1

    Centralized system where trade happens only through the shop

    As seen in Figure 1-1, Alice, Ryan, Kiara, and Joe all transact over the e-commerce platform to either purchase or sell goods. This e-commerce platform may charge them a commission every time they transact and may regulate the prices as per its own policies.

    However, all of them trust the platform brand to transact and execute deals with unknown users globally. Thus, they are relying on a centralized, single source of trust.

    When Alice, Ryan, Kiara, and Joe are on a blockchain, however, it goes as shown in Figure 1-2.

    ../images/474923_1_En_1_Chapter/474923_1_En_1_Fig2_HTML.png

    Figure 1-2

    Trade peer-to-peer on a chain with the agreed-upon value, with not one single intermediary but rather a chain of people to validate the transaction

    They all can barter or trade or exchange items directly and have no loss of value or trust issues. The trust is maintained, witnessed by others who validate the trade. As we see in Figure 1-2, when Alice purchases from Ryan, the network of Kiara and Joe becomes a witness of the trade; likewise while others trade. This chain could have infinite people, and a voting majority can allow the transaction on a chain.

    Defining for a Beginner

    Now that you understand the basic premise of blockchains, we will explore a case with a higher amount of complexity in the transaction. Before blockchains, data stored by the intermediary may or may not be tampered with or credible (Figure 1-3).

    ../images/474923_1_En_1_Chapter/474923_1_En_1_Fig3_HTML.png

    Figure 1-3

    Use case where multiple parties are involved via a contract, and the credibility may be questionable due to the intermediary involved

    As we see in Figure 1-3, Jenna creates a property will and entrusts it to her lawyer to rightfully execute after her death. However, the will may be vulnerable to changes resulting from any tampering or manhandling done by someone with malicious or biased intent. This can result in an unfair transaction, which may not always be traceable and can impact someone like John in a negative manner, as we can see in the transaction in Figure 1-4.

    ../images/474923_1_En_1_Chapter/474923_1_En_1_Fig4_HTML.png

    Figure 1-4

    Tamper-proof transaction on a blockchains

    After using a blockchain, you get a transaction like that in Figure 1-4. The encrypted copy of the will is available to everyone involved in the transaction. However, modifying the document would require consensus from everyone on the blockchain, thus preventing any changes to the will without everyone approving it.

    The lawyer or other peer cannot modify the document without an update being sent alerting all parties involved in the consensus. John thus receives a tamper-proof document. Any hacker on the chain cannot mess with the data on the chain in a single instance of hacking. He’d have to have voting rights across the chain to change the document across all copies on the chain, making it difficult to attack the document. This makes the data on a blockchain immutable.

    Defining for an Expert

    Figure 1-5 depicts network software that forms consensus over an end-to-end encrypted chain of blocks that links peers that are distributed across the globe, facilitating direct trade and transactions with a centralized intermediary, but a decentralized witness system. The ownership of control is not with any single user. The validation control is also randomized based on the chosen consensus protocol.

    ../images/474923_1_En_1_Chapter/474923_1_En_1_Fig5_HTML.jpg

    Figure 1-5

    Users, devices, data, and transactions connected in a network forming a blockchain

    To understand the concepts that are basic to building any blockchain application/service, let us review the key elements of transparency, encryption, immutability, decentralization, and privacy with the exercise below.

    Exercise: Think and Sketch Chain View of Blockchain in Different Environments

    1.

    Food we eat

    2.

    Money we trade

    3.

    Documents we share

    4.

    Purchases we make

    5.

    People we trust and engage in relations

    6.

    Companies we deal with

    Historical Chain of Events: Distributed Computing

    In the olden days of bartering in trade, people used to exchange goods and services based on their own understanding of the value behind a particular barter. This value was situational and was not entirely standardized. People were free to equate a bar of gold with 100 kgs of rice or five acres of land based on their own understanding of the demand and supply. From there, the concept of value started becoming centralized when those in power standardized the value of goods against the currency issued. From that currency, nations evolved to have their own currencies. The relative value of one currency to another depended on the world’s trade and countries’ dependency on one another. So any currency is simply a form of value trusted by all based on the declaration of a centralized authority. Now that we are digitizing currency, effort, and value, one may vary the value of currency to the digital quantification. Therefore, money is simply a form of data trusted and accepted by consensus; the value cannot be changed by anybody but the centralized authority. On the other hand, having data on blockchains provides a decentralized acceptance of a value locked on the chain that is immutable and unchangeable on the shared ledger. This brings a promise of performing value-based trades directly across groups of people in different sectors, countries, and experiences on a connected network without any centralized authority; there is simply a group of decentralized people across the chain adding validation.

    Now that we understand the evolution of trust-based value , let us see how we grew technologically across networks. In the dot-com boom, several centralized platforms emerged as aggregators over the internet. These aggregators opened up the world to trade through themselves. For example, eBay, Amazon, and Alibaba all enable people to purchase items through their platforms that are not locally sold or available. The policies on these platforms are governed by the platform holders themselves. The subscribers to such platforms simply rely on the trust and brand value they hold. So, every time you put your credit card details onto such a portal, you are trusting that centralized entity to facilitate trade. On the technology side of it, the credit card details are encrypted by the centralized platform via mechanisms chosen by that centralized platform. This is not transparent to the user, and it will never be known if it is fully secure or not.

    On other hand, various blockchain platforms open up what their source code does and showcase the root of trust to be the dynamic end-to-end encryptions that are under the full control of the end user. So, unlike trusting the centralized platform, you trust the network, which does not represent one single company.

    With the advancements in computing devices over the past decades (as seen in Figure 1-6), their scalability, adaptability, and affordability suited large-scale consumers across the world—so much so that 5.13 billion people (about 66 percent of the world’s population) have computing devices in the form of mobile phones, computers, and Internet of Things (IoT) devices, as per Global System for Mobile Communications (GSMA) real-time intelligence data. We are now more connected than ever before, via high-speed compact devices that we carry with us. Our digital traces are already everywhere. However, with this growing rate of digital use, we leave traces of ourselves leaking all over the internet, vulnerable to attacks and security breaches and exhibiting a pitiful state of trust in brands that showcase value but do not entirely take responsibility for our data.

    ../images/474923_1_En_1_Chapter/474923_1_En_1_Fig6_HTML.jpg

    Figure 1-6

    Evolution of computing devices

    The applications we use currently online on a day to day basis, provide us only with the front end or the outer facade to use the application, and we have very little to no control over the centralized platforms used by these applications in the backend that define and govern the usage of the platform and the data we generate on it. The previous era found us highly engaged in social networks, trade networks, e-commerce networks, and so on. We all have been subscribers or clients of several centrally hosted digital services. All of these were secured with a simple password that stopped the neighbor from logging in.

    With digitization, the pattern of interaction between a consumer and a company is more online, creating a need for different business models and also leading to business online. Similarly, hackers have gotten more sophisticated, with improved computing devices to guess your passwords, hack systems, extract data, and manipulate transactions every day. Over 40,000 websites get hacked daily.

    Our current form of digital network surely needs to evolve. Thereby blockchains.

    Let’s examine what this change of network styles looks like for every type of consumer.

    Stage 1: Client-Server

    Subscribers use a hosted server service for its facilities (see Figure 1-7). A lot of our search engines, e-commerce platforms, and websites started with this.

    ../images/474923_1_En_1_Chapter/474923_1_En_1_Fig7_HTML.jpg

    Figure 1-7

    The client-server model

    Most of the logic, data, and user interface pages are hosted on a single server.

    As computing devices evolved and the user base grew, businesses started multi-tiering their network architecture. For example, if 10,000 users/clients wished to access the same server at the same time in the traditional client-server network architecture, the loading time of a website could be really long. Thereby, Stage 2 evolved.

    Stage 2: Multi-tier Network Architecture

    Here, the client-side logic was separate, the intermediate layers of memory computation and calculations were separate, and the database had data logging and data storage facilities maintained separately (as shown in Figure 1-8). For example, trading engines, banking applications, email services, and so forth are multi-tiered.

    ../images/474923_1_En_1_Chapter/474923_1_En_1_Fig8_HTML.jpg

    Figure 1-8

    Multi-tier network architecture

    We now understand the limitations of a centrally hosted set of servers that result from its issues with data privacy, storage, and network structure. The third stage brings us a fully connected mesh of servers that work peer-to-peer. A server is nothing but a machine that hosts services on its own for others to access based on desired permissions set by the machine itself. Your very own mobile phone or tablet can be a server. Thereby, the evolution of Stage 3.

    Stage 3: Peer-to-peer Networks

    Every day, more and more people wish to engage in online transactions, be it buying groceries or establishing video calls. These needs are still served by the multi-tiered networks. However, it would be ideal to empower every consumer to establish his own network connection. And yes, that’s possible with the digital footprint of the computing-device owners we have worldwide.

    Note that not every peer-to-peer (P2P) network is a blockchain, as it’s the confluence of decentralization, consensus protocols,

    Enjoying the preview?
    Page 1 of 1