 Okay folks, it's 3.30 p.m. EST and we are about to start our next session so next up will be blockchains for business 101 with Gordon Huff and the session will run as a recorded session. I'll share it. You have a link in the chat window in case any technical difficulties watching it here and we'll have Gordon to answer the questions after the presentation in this channel. Let's let me try to share it. Hi I'm Gordon Huff, Technology Evangelist with Red Hat. In this presentation I'm going to take you through what enterprise blockchain is or distributed ledger technology if you prefer, some of the reasons that you might be interested in using it, some of the conditions that may mean it really is not the right technology for you, some of the areas in which blockchain is being used, and then finally what is Red Hat doing with blockchain? Thank you. Let's start by talking about what a blockchain is for our purposes here. We're not talking ICOs, we're not talking Bitcoin or other types of currencies, rather we're talking about enterprise blockchain and what that is is a shared permission distributed ledger technology visible to and the transactions validated by members of a business blockchain network using a consensus protocol. Now that was a whole lot of words there so let me break that down a little bit. First of all, the distributed ledger is shared by those members of the blockchain network. Those members are permissioned, this is not a public blockchain. You have business entities of some sort who have some sort of trust relationship, doesn't mean they trust each other 100%, but they have some sort of trust relationship and they are participating together using a consensus protocol and again what consensus protocol means you probably have heard a lot about that in the context of Bitcoin where something called proof of work is consensus protocol and it's very energy intensive because it involves essentially mine and doing cryptographic mining. In the case of permissioned blockchains, other types of consensus mechanisms that do require a certain degree of trust among the participants can be used instead and basically it doesn't need to be all the members of the network but you basically have voting nodes that decide whether a transaction is valid or not. There's no central repository, this is a distributed structure and there's usually no central authority although that is not an absolute requirement. You can have central authorities for example a company might use a blockchain in conjunction with its suppliers for example and in that case it still is a distributed ledger but you do essentially a one central authority who is deciding who can participate and deciding what the rules around that blockchain are. And then one additional element and you see this in the top layer of the diagram there is that you have these things called smart contracts that can be used to take actions based on predefined events. So for example if you if a transaction completes if you receive a shipped good if you send money to someone actions can be automatically taken in with respect to that transaction being completed so a good is delivered a payment is taken in response to that good being delivered. Just to very briefly go through what the architecture of a blockchain looks like I already mentioned the smart contract saying they're up on top but you have a series of blocks and that what all block is is a collection of transactions and you'll see some other features in those blocks you send code a merkle root all that means is you have a cryptographic hash of the transactions that went that are going into the block and then you have and then you have a hash of the previous block header and the reason that this is interesting is that's what forms your chain of blocks so if you go back in time and say alter the contents of one of those blocks then it's obvious because because those changes percolate down the chain and it's obvious that there has been some alteration has happened in those previous blocks and that has various types of implications which I'll get to and really the interesting part I think of the technology isn't necessarily so much the technology itself but rather the characteristics that the technology create with result with respect to how block chains can be used and essentially a blockchain lets you build a decentralized business network and actually many elements of that network are very familiar to things that we have today so you have a network of some sort connecting different businesses who are partnering in various respects for purchasing goods delivering goods paying for things and so forth all of those participants have an identity and in the case of business networks those are typically a known identity although they could be synonymous in various ways assets of various types flow over those business networks money being digital currency um fiat currency typically uh can be one of those uh one of those types of assets but also the digital representation of goods uh information about the network participants and so forth um transactions just as in today they describe some sort of asset exchange so um you know loans for cash uh cash for goods that kind of thing um you have some sort of legal frameworks underpinning those transactions so if I deliver this to you uh in such and such a schedule you're going to pay me this amount of money and then you have a ledger to log the transactions and that's the actual blockchain that we are talking about here um I'll give you one example to make this maybe a little more concrete and I'm using a hyper ledger as the example here um this is a foundation underneath the linux foundation which contains a number of important blockchain projects um you know the actually you have the actual distributed ledgers um hyper ledger fabric which I'll talk about a little more in a bit um is one of the more popular blockchain distributed ledgers for enterprise use out there uh and other project which I'll highlight up there is hyper ledger indy and that's primarily focused on uh distributed identities and there have been some very interesting projects that have been done with indy for example uh in brisk columbia in canada has set up essentially something they call org book and so essentially it's a it's a canonical source of information about companies um then one of the things that hyper ledger specifically has been doing around blockchains is to uh law focus on making things modular and reusable so for example hyper ledger ursa is a set of cryptographic libraries that can be used by different uh distributed ledgers and particularly in the crypto space one of the reasons that's nice is uh cryptography has a couple of important characteristics in the context of blockchain it's a it's very important and b is very important to get right so if you have a bunch of different cryptographic uh implementations out there there's a lot more opportunity for things to go wrong as opposed to having one shared library that can be used by a bunch of different projects and can be vetted by a bunch of different projects and you've got various other shared libraries there as well now this is what I think is going to be the actually the interesting part of this presentation I just sort of wanted to set things up for you a little bit but I think where it gets interesting is what can you use distributed ledgers for and conversely what might not want to use them for so I think the way to think about where you might want to use distributed ledgers is to think about some of the characteristics and one of those characteristics is distributed trust no single entity controls the storage and validation of transactions and if we kind of think about how business is often conducted today there's a lot of checks and balances that go into establishing different types of trust relationships between entities and why the interesting things that blockchain does is it's a way to essentially trust but verify in a way in a business blockchain network so the the sort of the cryptographic setup of the whole thing is one way to not absolutely guarantee that I I think there is a mistake that sometimes made in thinking about blockchain is that oh blockchain eliminates the need to have any sort of trust relationship blockchain does everything and even in a permission to blockchain like this I would argue that's not completely true there's still kind of the idea of you need the rule of law you need to enforce contracts at some level even if there's smart contracts you need a legal system in the event of disputes in the case of maybe bugs or mistakes but it certainly does provide a way for entities with at least some level of trust in each other to cooperate in a lower friction sort of way a second characteristic which is interesting and is also interesting because it's something of a double egg sword is the idea of immutability as I went through with the way that the blocks are chained together using cryptography you can't just yank out a previous block and if you change it in some way it's going to be obvious that has been changed that actually is implications though for how you use blockchain because uh that's different from a traditional database where a controlling entity can make changes to records and sometimes you want to make changes to records you want to say expunge transactions after a certain length of time uh say past retention legal retention requirements or whatnot and you you can't do that in blockchain and there's actually been some discussion that has gone on around things like GDPR and whether that's a problem for blockchain in some circumstances or not and what are the sort of architectural implications of this is you give this idea that there is some information that is on the chain and it connects to other information that is off chain and that information is off chain can be deleted and changed and so forth so the the sort of the thinking is that when you architect your application there may be some information you actually do keep on the blockchain and then other information that is essentially not immutable uh and is incorporated essentially by reference there I think this is maybe one of the big ones with blockchain and I'll kind of tell you why in a moment is that you have this idea a party is securely interacting and there's a single source of truth they can all agree to um and in our way to think about is there there was a common message bus for recorded actions that connects entities in a standardized way and one of the questions early on around blockchain particularly in an enterprise context was well if these parties kind of trust each other and maybe there's a governmental entity that sort of oversees this all anyway why can't you just use database you know have parties communicate like they do today and what turns out is that in real in real life uh everyone's law people are using different systems there's reconciliation needed uh and so forth so even if there are essentially trustworthy systems that exist today um it actually turns out to be a lot harder to reconcile everything than you might think it needed to be until you dive down into the details I mean the US we often don't get tax you know our tax records from our finance companies until maybe the end of February or something like that and one of the reasons for that is the need to reconcile a lot of um disparate systems that weren't originally designed to communicate with each other um but why not blockchain um you know I've told you all the reasons it's really kind of cool and wonderful and you should use it for everything but why why might you not and the answers sometimes conventional databases are are just fine um you have a single entity in control and uh all their you know all their suppliers have processes that they need to follow in order to interact with the mother ships uh database and records and that may be a perfectly good way of uh of doing things and I've just talked about immutability I mean there are some advantages to having a mutable database that you control and you don't need to worry about this immutability feature of blockchain um a company wants to have this really centralized control no I'll talk about this in a little more in a second and also uh performance definitely continues to be an issue with with blockchain it's something a lot of work's being done on but certainly if you have very high throughput high data type of transactions and maybe those other characteristics of blockchain or maybe nice to haves but they're not necessarily critical maybe a database is better for those types of high transaction uh applications um the participant entities are all part of the same trust domain uh you know I guess a good example of this might be within a particular company or within a very closely linked set of organizations in the public sector where pretty much there's a there's a sort of a common level of trust a common level of access so you don't really need this sort of distributed trust kind of relationships and uh because again the it's not an absolute rule but you can think about distributed trust in these business networks and there is some level of trust for them to have been let into the business network in the first place but they're in many cases competing entities so uh so they're definitely not in the same trust domain I mean they all have secrets and yeah we could probably argue that within a given company you have organizations have some secrets of their own but is is obviously a very qualitative difference from a bunch of external separately incorporated parties who are who are cooperating for business reasons uh assets that can't be reliably digitized um and this kind I think we can worry about this too much I mean for instance in the supply chain area which has been one of the early use cases where where blockchain had had some success um people people ask well what if um you have forged documents or you know what if the inspection the customs official said was done wasn't really done get slipped a bribe and and those are absolutely legitimate legitimate uh concerns to bring up however I think sometimes we can get into the the perfect being the enemy of the good in these kind of discussions and even if you kind of make it harder to forge uh you know forge shipments don't actually exist and that kind of thing if you making a you know even if you eliminate you know 75 percent of the fraudulent uh or unverified transactions that may still be a win even if you can't really get there uh you know 100 but this is certainly something to think of and uh and you know I think some of the proposed use cases for blockchain uh like some of the land title verification and so forth when the problem is is that you have very fragmentary records that are scattered all over the place in dusty county clerk offices and situations like that um yeah blockchain would be a good answer if you were maybe starting over from scratch but it can be very hard to uh deal with those legacy undigitized systems this has been a big problem early on I think some of the early supply chain work in particular struggled with this that uh that you have come you often have competitors who are participating in these business networks and they're often not used to this level of transparency and cooperation they're not willing to give up that control they're not willing to change their existing practices and fundamentally they just don't want to cooperate with each other at any level um and under those circumstances it can be very hard if you know if you if only half your suppliers will sign up for the blockchain it's a lot less useful than most of them do so so I think in the open source world where where I do a lot of my work we've we've kind of gotten used to working together in open source software and in this way where competitors are working together on an open source project however um I think it's still very hard for in many industries for organizations to think about things in that way and then finally then you know this um probably doesn't need much of an introduction or preamble uh but as with many other things if you're if you're using introducing blockchain to solve a problem that really isn't yeah it's kind of ugly in legacy and all that kind of stuff but end of the day we have a working system it's not a big deal you know maybe just leave it um these are some of the early use cases that we've seen in blockchain now if a few years ago you were some presentation in this general vein you'd probably see slides filled with hundreds of small print types of places where blockchain could have an impact and we certainly see pilot and even production projects in a pretty wide range of areas um but these are the ones that I would say we see most of the activity uh finance is a big one um they're already used to digitized electronic networks some of the biggest opportunities in in the near term that we've seen in finance are in various types of landing in international transactions in areas where existing middle men are missing or they're they're very expensive so for instance we've seen a fair bit around international transactions of various types in areas of asia where there have been fewer low cost and well established middle men of various sorts built up as they tend to have been in the u.s. and western europe um public sector um i mentioned the brisk columbia example of a business network uh and various types and this is closely related to that of identity of the brisk columbia example was actually using hyper ledger indy and so governments are kind of interested in that in terms of id cards business records that kind of thing supply chain and providence has been has been talked about a lot and is absolutely having some success such as food trust network for example there's a lot of concern about uh if there is an outbreak of um you know bad food of some sort the desire to really identify that very quickly and not having to be backtracking through records that may be incomplete and that might take you know months or more uh make a month or more to uh definitively spot the source of the outbreak by which time it may very well be too late to do much about it um healthcare records this is certainly a great hope particularly in places where electronic healthcare records have been have a been a bit of a mixed bag uh i think this also points out though to some of the challenges with with blockchain is to a degree that entities can degree in standards to a degree that entities don't want to participate in networks uh blockchain can't really solve that political aspect of things it can it can really help the technical aspects but if entities are not wanting to cooperate in that way and put their heads together and agree on standards and processes blockchain isn't going magically waltz in and solve that problem and i think other types of identity i mentioned kind of public sector in particular but there there is a lot of interest in this idea of people having self sovereign identities and having more control over their identity records than there's a real mechanism to today and then finally there is interest in the telco space in here you know again this this has to do with there's a lot of transactions among a lot of different entities and doing the billing and reconciliation for all that um close and start talking very briefly about what red hat is doing here um we're participating in select industry organizations and engaging with uh customers and partners one of my um colleagues uh mark Wagner is in both the governing board and the technical steering committee for hyperlegger specifically um we're enabling red hat products there were some security uh things related to how hyperlegger fabric specifically was using uh kubernetes open shift for example which mark and others uh have addressed uh so that you you can run in rail you can run on open shift and one of the and towards uh having hyperlegger fabric on open shift one of the projects that's that's going on is development of an operator for hyperlegger fabric for those of you not familiar with operators it's um some of the actually came out of core os originally which red hat acquired uh for kubernetes and for open for open shift and the idea is that with these increasingly complex products products uh you really want to codify some of the operational knowledge in order to make uh to make code to make code work and therefore and the idea with an operator is that we are you're essentially putting the operational knowledge in order to deploy and do the ongoing management of that of the software that the operator is for uh and have it in a um operator hub that you can download and then use finally before going to q and a i just like to clarify that one of the things that we're not doing is a red hat blockchain product so we're enabling red hat platforms to run blockchain products starting with hyperlegger fabric uh but we do have no plans to sell our own product we are we are really agnostic about technology uh in terms of which particular blockchain platforms uh we work with but we've today had the most customer interest around hyperlegger fabric so with that uh we have a little time for q and a and i am here if um uh just jumped out of the little box into the bigger box uh if anybody has any questions for me feel free to type them into the chat um going once going twice going three times well um thank you all for spending some time and the as you can see the video um the video is on youtube so uh you know feel free to share it with anybody who you think might be interested and the uh slide links are also going to be posted in the schedule and uh that these slides are up in slide share so thank you all for your time and I hope you're having a great dev com thank you Jordan thank you very very much it was a great presentation and uh I think everyone was impressed by the quality of it um and uh now let me check our schedule what's going on okay take care everyone and uh our next presentation is scheduled to start in 20 minutes for 20 eastern time and uh we will have a small break prior to that because uh I will log out and to log back in in in order to uh keep recording going I'll see you all in 20 minutes