Page 37 - MSDN Magazine, July 2018
P. 37
Traditional System
Blockchain System
Distributed System with Distributed Ledger
project code-named “Bletchley” (bit.ly/2Iv9VZz), which has evolved into the Azure Blockchain Workbench product revealed at the Microsoft Build developer conference in May.
As described on the Web site, Bletchley is an architectural approach to building an enterprise consortium blockchain eco- system. To be clear, this is not a blockchain stack. It’s Microsoft’s approach to bringing distributed ledger (blockchain) platforms into the enterprise and building real solutions addressing real business problems, while keeping the platform open.
Azure Blockchain Workbench (aka.ms/abcworkbench) leverages differ- ent blockchain ledgers and existing cloud services to enable a robust blockchain ecosystem for the enterprise. It’s an easy-to-use tool with a simplified interface that enables users to create end-to-end block- chain applications that leverage the best of Azure services, including Azure Active Directory (Azure AD), Azure Key Vault, Azure SQL Database, Application Insights, Azure Functions and Service Bus. And it does so around popular blockchains and into a reference architecture that can be used to build blockchain-based applications.
Cryptlets are off-chain code modules that can execute within a secure, isolated, trusted container and can communicate over secure channels.
You can learn more about Azure Blockchain Workbench in the “Introducing Azure Blockchain Workbench” article I wrote for the June issue of MSDN Magazine (msdn.com/magazine/mt846726)
Getting back to cryptlets, these provide an approachable way for developers to use cross-cutting capabilities like integration into third-party systems and data access. But before I shift focus to development of decentralized applications on a blockchain, I need a platform for delivering a secure and integrated solution on public or private distributed ledgers. Microsoft Azure offers a world- wide footprint that allows building a hyper-scale, secure data and execution platform to deliver the next-generation applications on any blockchain platform.
Centralized System with Stored Ledger
Figure 1 A Decentralized Distributed Ledger
track of digital asset account balances. Ownership of bitcoins is verified by links to previous transactions, following the immutable history of blocks in the chain of recorded transactions. Also, Bitcoin doesn’t define any specific logic on how to handle a transaction and the conditions, for example, that the two involved parties must agree upon in a cryptocurrency exchange.
Blockchain technology evolved with the addition of smart contracts, which are small pieces of code that add logic to transactions. Think of smart contracts as a computer code representation of legal terms in a contract for goods or services. New blockchain ledgers emerged in the market, the most popular being Ethereum (ethereum.org) and Hyperledger Fabric (hyperledger.org), to add smart contract capability to the network. In these (let’s call them Blockchain 2.0) digital ledgers, smart contracts are now stored in a block and are distributed to all nodes along with related data.
Blockchain 3.0
Bitcoin’s blockchain is often referred to as Blockchain 1.0. It’s a sim- ple ledger that records transactions in sequence and represents the state of the network at any given moment. Think of it simply as a distributed database.
But just as databases have evolved over time by adding logic execution capability—in the form of stored procedures, for example— blockchain has introduced smart contracts to handle the logic tier. However, smart contracts can operate on data only contained in the block where they’re stored. They can’t access external data or systems, as calling a service outside of the blockchain breaks the “circle of trust” that blockchain provides for cryptographic secu- rity and immutability of transactions. CRM, ERP and payroll sys- tems all represent external entities that aren’t part of a blockchain, but may be involved in the exchange of data within a transaction. Blockchains need a way to securely receive external data, as well as access to secure execution of off-chain code.
To address this requirement, Microsoft introduced cryptlets as part of “Blockchain 3.0,” the blockchain of data, logic and cloud services. Figure 2 shows the progression of features.
Cryptlets are off-chain code modules written in any language that can execute within a secure, isolated, trusted container and can communicate over secure channels. Cryptlets extend smart con- tracts to the outside world by providing services like encryption, time and date events, external data access, and identity authenti- cation. Microsoft introduced cryptlets as part of its open source
Blockchain 1.0
Simple Ledgers that Record Transactions
Blockchain 2.0
+ Smart Contracts Logic Tier
msdnmagazine.com
July 2018 31
Figure 2 Evolution of Blockchain
Blockchain 3.0
+ Cloud Servicing Multilayer Middleware + Cryptlets