Zero to Blockchain Chapter 01: What is Blockchain? Concept and architecture overview



hi my name is Bob dill I am here to talk with you today about what is blockchain this is the first chapter in a tutorial that is intended to take you from I don't know anything really about blockchain and I've never programmed for it in the clouds to being able to build applications and creating blockchain that works in in the cloud so let's talk about what we're going to do here this is a twelve part tutorial the chapters here are listed here we'll start by going over what the architecture is this should be about a 15 or 18 minute discussion and then in chapter 2 we'll talk about the story that we're going to implement in this tutorial the chapter 2.1 is going to be presented by my partner David Smits from Brussels and he will talk about the specific architecture for this story that we're going to implement and then in the following chapters starting in chapter 3 we'll set up a new development environment and then in chapter 4 and the subsequent chapters will actually begin to build code that uses the blockchain environment and creates a business Network and a whole series of user interfaces for the business network some of you may be familiar with my previous work in called zero to cognitive and this is not intended to be an extension to that however I will not go over some of the basics that I went over in the zero to cognitive series if you have never programmed in bluemix if you are in the cloud if you have never programmed with JavaScript then I would recommend that you go through the first three chapters of the zero to cognitive series before you start this series it will give you a good grounding in the basics of programming for those environments it will ensure that you've got the basic development environment set up on your workstation this tutorial will build a blockchain solution using the IBM cloud that's bluelux and we will be using hyper ledger composer something above version 0.10 and hyper ledger fabric version 1.0 or higher there are a number of technologies that are used in building block chain applications and they are listed below all the code for this is in github so now let's talk about what is blockchain what is it well and why do we care about it blockchain is a technology that's designed to focus on streamlining the appropriate flow of information in business networks and to ensure that we can share information that should be shared very easily and very rapidly in a in a manner that minimizes the the amount of time that people have to spend finding and correlating information across business networks so what our business networks they are linkages between organisations where I move assets or services in government a business network might be the relationship between the government and participating government and non-government organisations and their links to private enterprises in the private enterprise the business network is the linkage between any organization and its and its customers and its suppliers and its partners wealth is generated in a business network by the delivery of goods and services across that network and the concept of a market is a central idea in the creation of a business Network a market is where you go to find things to acquire a service or technology it's where you go to deliver a service or technology this may be from a single company to a single company or it more often is an environment where I go to a market and I have a number of different suppliers for particular technology or service and I and I want to be able to negotiate with them and then acquire their products and services when I am in this kind of business network I I'm either transferring assets or I'm leveraging services and assets tend to fall into two fundamental types I have tangible assets things that I can touch and I have intangible assets things that have real value but I cannot touch and so if I take the idea of a house a house is a tangible asset in that it's something that you can physically see and touch a mortgage on a house the loan that I have with a bank to allow me to buy a house and live in it and pay the bank off for the whatever it is they have loaned me that mortgage is an intangible asset I can't touch the mortgage it exists as a legal contract between me and the bank and I have to pay it I can touch the coupons that I use perhaps when I'm paying my mortgage but I can't touch the mortgage itself there's no physical entity that represents a mortgage so that's an intangible asset intangible assets have several types you see them listed in the middle column you got financial assets like a mortgage that I just talked about the intellectual assets things that are for example patented patents that I hold inside my company or in my organization that represents some that have some intrinsic value and then I've got digital assets and we're all familiar with the use of the internet forget for example to provide and market music music on the Internet is a digital asset and then cash cash is a really interesting asset it is it's tangible I can touch it it may be intangible in how is represented within banks but cash itself the physical currency is as an asset cash is unique because it has the unusual property of anonymity what does that mean it means that when I use cash I use dollars or yen's or Euros or whatever and I think for something there's no awareness of who had that the physical bill before me who had it who is going to have it after me cash is completely anonymous and so this is something that becomes important when I look at implementations of a hyper ledger for example for something like Bitcoin and we'll talk about that in a few minutes a ledger is one of the key resources in managing this market managing the the flow and the understanding of where an asset or service exists and what its state is across the business network it is the system of record for business every business has a ledger in fact every business tends to have multiple Ledger's I will have Ledger's for the things that we pay that we have ledges for the things that we all will have ledges for the things that we consume and depending on how we acquired them they all may be in a single ledger or more likely they're in in separate Ledger's a transaction on the ledger is the representation of a transfer of an asset from one part of my organization to another or into or out of my organization and a contract defines the conditions under which that transaction can occur a transaction can occur in the example shown below a simple binary transaction John gives aunts and the money and and then gets the car in a more complex transaction I may have one or more third parties involved and so the car is acquired and it doesn't start so now we have a have a car taken to a third party a mechanic for example or a lawyer we but we have it taken to the third party who determines if the car can be made to start or if it is not able to start and the car won't start then the transaction is voided and the money doesn't flow this is an example very simple example of a three party contract the problem the challenge in this in the current world is that every business has their own set of sets of Ledger's will have multiple Ledger's within a business and so correlating understanding the flow of an asset across organizations and its state becomes a labor-intensive process I have to in fact within a business often correlate the information from multiple Ledger's and then in a business network I have to correlate information for multiple Ledger's across multiple businesses this is very time-consuming and it's very expensive and it doesn't have to be that way so the kind of the idea behind blockchain is to create a destroyed ledger that is trusted it has the same information wherever it's distributed and the business processes that are associated with the transactions that have to occur are an integral part of this shared ledger environment now there are certain things that my ledger has to be able to do to to make this useful and reasonable it has to be permissions that means that you have to be able to ensure that you can see the information that you need to see and no one else can and that I have consensus that which is to say that the people who are involved in the transaction need to be able to approve it it has to have provenance that says I know the history of an asset I know where it came from and where it went to the immutability means that once a transaction is recorded it cannot be changed since I need a way to ensure that in finality once transactions have been completed and recorded and the world has moved on I need to be able to get to go back and ensure that that transaction did occur and that it has not been changed since the it originally occurred blockchain underpins didn't Bitcoin it is a foundation for how Bitcoin operates but what is Bitcoin bitcoin is a shadow currency and it's unregulated there's no organizing body officially recognized organizing body that determines anything about Bitcoin it simply exists it is a shadow currency in that it mimics existing currencies there are ways to translate between existing currencies and Bitcoin but it's not a currency that is created managed adopted or implemented by any organization any government in the world it is resource intensive and it's resource intensive because of one of the really fundamental differences between Bitcoin and IBM envisions blockchain for business blocking for business focuses on identity we want to know who our customers and consumers and partners are over anonymity in the blockchain environment because this is a currency though I'm talking about cash and I have this unique characteristics characteristic of anonymity with cash that has been preserved for Bitcoin and as a consequence the way that you validate transactions in a Bitcoin environment is through something called proof of work proof of work is very very resource-intensive because in a business network we know who our partners are we do not have anonymity we have identity we can use something called selective endorsements which is a very lightweight implementation of endorsement rather than proof of work and in blockchain for businesses business is acid based asset focused rather than cryptocurrency focused so I've alluded to each of these four things but there are four fundamentals in a blockchain environment I need a shared ledger and the shared ledger has to be append-only it has to be distributed across the business network I need smart contracts which is to say that the way transactions are executed encode business rules and those business rules are part of the of the blockchains environment so the business terms that are associated with executing at any any transaction are embedded in the blockchain itself privacy you can see what you're supposed to see and if you're not supposed to see something the the privacy rules that are associated with your network prevent you from seeing that and then trust this is gets back to endorsement transactions are endorsed by the relevant participants details on these this shared ledger is where all the transactions are recorded it's shared between all the participants in the network that each participant has their own copy through replication its permission so that you can only see the appropriate transactions in that shared ledger environment and it is the singular system of record which is through its replication mechanism a shared system of record across all participants the smart contract embodies the business rules for a transaction the contract itself is verifiable and it's signed it's verifiable when you introduce a contract into the into hyper ledger fabric into a business network you have to sign where it came from and then it is then further signed by the by the participants who will use that smart contract to approve a transaction it's encoded in a programming language in hyper logic fabric of that programming language is the language called go and knee down the bottom of page you see an example privacy although the ledger is shared each participant requires privacy which means then the rules that allow you to see content within the shared ledger are distinct from your ability to replicate a copy of the shared ledger so you can replicate a copy of the ledger in fact all participants do have their own copy of the ledger but you are only allowed to see those things for which the network says that you're allowed to view so you can see information that's relevant to you will have an order in the network I place the order I should be able to see information about the order in its status if my supplier is negotiating with someone else to deliver that order to me I may not be able to see information about that negotiation between the seller and the supplier from whom they are going to acquire this product or service on my behalf trust because participants endorse transactions and those transactions are endorsed through smart contracts which are verified and signed there's a great deal of trust that it can be offered in this business network the assets themselves have a an easily verifiable audit trail it's in the blockchain and that means that I can inspect blockchain and I can look at an asset and over time I can see when it was created where where it was delivered how it was maintained perhaps if that's part of the blockchain environment I can see the history of that asset and any associated provenance and I achieved this through consensus recording Providence the idea that I can then that once transactions are recorded they are immutable and final let's look at why blockchain is relevant to our business it saves time if I can pull information together from a single shared ledger looking at the provenance of a specific asset over time I can make that query in seconds or minutes where if I had to go to a half a dozen different companies and request that all of their records on the same thing that would take days – sometimes months to gather and correlate and understand that same piece of information so it saves an enormous amount of time because I'm not asking people to you know the companies to gather information for me send it back and then correlate all that information I'm removing cost I'm removing the cost of recording and I am removing the cost of of uncovering and correlating later on it reduces risk the characteristics of the blockchain environment that ensure it's immutability means that tampering becomes extraordinarily difficult which gives me the ability to vastly reduce and the opportunity for fraud and cybercrime within that network and then trust I increase trust because I have shared the processes by which transactions are recorded only people who are involved in the transaction have the ability to approve that transaction they also have the ability to understand what that transaction is before it's put into the network this is the verification and signing of a contract of a of a transaction and then the consensus involved in ensuring that yes I agree that this is the order that I placed to me I did to you or from you that gives me a great deal of confidence on the kind of information that is stored in the blockchain environment so some examples this first one is a really interesting one it's a consortium of banks each each Bank is responsible for maintaining its own routing information what is its routing code or sets of routing codes for the for its bank or banks and one of the routing codes for all the different accounts within that Bank each Bank owns its own reference information every Bank and the consortium has the ability to access everybody every other banks information but only the bank that owns a particular account can publish or change information about the routing information required to move in from a it moved money into or out of that account supply chain this gives the example is based around the building of an airplane and airframe has millions of parts in it and over time many of those parts are maintained and what this allows you to do allows the both the airframe owner as well as the a the airframe manufacturer to do is to first record what went into the plane and then over time as that plane is maintained to record all of the changes that went on to that plane and the order the history of when those changes were applied that makes it very easy to understand whether or not their outstanding FAA requirements to be applied to a plane more importantly it simply helps you understand given the changes that have been made to a plane and all the millions of parts the different combinations of parts that may be required based on how it was maintained to understand exactly how to keep the plane in proper maintenance today audit and compliance my needs for audit are different from my needs for executing transactions but the auditor needs to be able to see certain information and putting a blockchain into financial environment allows me to bring together the ledges that are associated with different parts of an organism so I now have a single shared ledger for all parts of an organization and want to have to do an audit auditing becomes vastly simplified and automated because all the information is now in a single place correlated and ready for immediate access letters of credit again going back to the finance industry finance industry plays heavily in the blockchain environment the letter of credit is issued to a start-up rather than having that rather than requiring that letter credit be physically produced every time the startup wants to negotiate with another supplier or partner that the information is now in the blockchain and when a supplier wants to understand the characteristics of that letter of credit it simply joins the network contacts the the bank blockchain electronically looks at the status of the letter of credit between the bank and the startup and now that it that the the process to understand that is managed in minutes rather than in days or weeks we have examples across all industries and this page simply gives you a list of a few examples from a half a dozen different industries so what's next in our next tutorial in our next chapter we will look at the story that we're going to build and then in Chapter three we'll will start in by actually creating a development environment for Hyper ledger thanks I look forward to talking to you soon bye

Leave a Reply

Your email address will not be published. Required fields are marked *