CityChain17 - What is the difference between a Blockchain and a database by Gideon Greenspan

CityChain17 – What is the difference between a Blockchain and a database by Gideon Greenspan

okay hi everybody thank you for having me here so my talk is going to be a little bit more technical and for good and for bad so just I've got some idea about who's here how many people here work with databases of some kind of practical way in their work whether that's configuring or writing code or running the servers oh great okay I've got a technical audience excellent because we're going to be talking a lot about databases and about blockchains and about the differences between them because one of the key problems in the blockchain field is that it happens very often that people have an idea of something that they could do on a blockchain and their writer they could do it on a blockchain but they could equally well do it in a regular database and from my perspective those types of applications which could be done on a blockchain could be done on a regular database but doesn't make much difference which you probably want to do on a regular database because with all due respect to products like ours and like hyper ledger regular databases have decades of work behind them they're more stable and more mature products so we're going to be talking a little bit about the difference between these two types of databases and what criteria you can look at to decide whether or not a blockchain is suitable for a particular use case so what's the problem we're looking at and I know you've heard this before but I want to present it in my own way the problem is multiple organizations that need to coordinate with each other through data ok and this is like generation one of how that happened in reality each organization has its own internal database indicated here with a little database icon and then these organizations send information to each other right and there's many many different ways that they can do that one of the rules of thumb I like to say for looking for good blockchain use cases is find situation in your company where people are still a mailing excel files to each other that means possibility good opportunity for blockchain and there's many other ways so you know we've got some well structured ways like web services API and then we've got things going by fax and by phone is all sorts of different ways information is communicated between the companies who are working with each other or some kind of process of course if the companies are communicating information to each other they also care about ensuring that they agree with each other about what the final version of that information is and this is where the program can arise and this is where we talk about reconciliation and batch processes and dealing with breaks dealing with disagreements between multiple company system so generation 1 of how companies work with each other looks something like this this is generation 2 okay this is the traditional solution to the problem of companies coordinating each other some entity one of the companies or usually some external company is given the task of managing the central database which represents the truth okay so the database it's in this central entity and all of these other organizations instead of communicating directly with each other they communicate with that central entity so they send information to that central entity to be put into the database and then they send requests to ask it what is the state of this database and we see these kind of inter media's appearing all sorts of industries you've got for example EMA days in the travel industry you got Swift in the finance industry and custodial banks and genuine and Finance you've got health care data providers and this is the traditional way to solve the problem everyone sends information to this intermediary the intermediary has a single version of the truth and then there's no risk of disagreement between the different parties because the different parties don't maintain their own records and think that's the truth they ask with intermediary tell me what the truth is and it can work and blob chains if you like one way to look at block chains are a third approach to solving the data coordination problem so we've looked at peer-to-peer messaging which can be messy we've looked at a sensor intermediary and a block chain is a third way to solve that same problem in a block chain we are actually kind of going backwards because the companies are all connected to each other their systems are all connected to each other and they are all sending messages to each other but now we have a process in place that make sure that disagreements cannot occur how does it happen first of all we have transactions which are individual events which one or more companies sign using a private key using a digital signature generates by private key these transactions are sent not only from the sender to the receiver but they also propagate the entire network in a peer-to-peer way so if you think about how gossip spreads between people in a similar kind of way information spreads across a peer-to-peer network nodes are all telling each other everything they know and everything gets to everybody very quickly so we've got transactions which are individual pieces of information and then we've got blocks which are essentially groups of transactions that are being validated or confirmed together we need to have that secondary process because there's all sorts of reasons why just communicating individual transactions isn't enough to guarantee Consensus some notes might have gone down some links might have gone down some notes might be coming up after networks being running for a while we might have a situation where one of the nodes is misbehaving and sending conflicting information to two different places so for all these reasons apart from individual transactions we also need these blocks which generate the consensus and if you want to know what a blockchain is a blockchain is simply the way in which these blocks are connected to each other in order to make sure that there's a single version of the truth across the whole network and if you notice at the top I actually crossed out the word blockchain because I think in a few years time we won't be calling these things block chains anymore so those of you who are familiar with how relational databases work probably we can call them be trees right but there's a B tree is a very interesting piece of technology which makes relational databases tick when no one calls them B trees because that's a very technical term and it's not interesting in terms of the end user so I think we should probably be calling these things peer-to-peer databases or shared databases rather than calling them block chains because blockchain is just what happens on the inside it's just a technical process that makes it possible so let's talk about the differences between block chains and centralized databases but I want to start by talking about things that are the differences between central databases and block chains and you'll have heard many of these things being cited as unique properties of block chains and in my view none of them are so first of all smart contracts smart contracts there's a tenant which has many different meanings but the most popular meaning of a smart contract is a piece of code which executes on every single node in a blockchain to update the blockchain state it can be useful we have something called stored procedures which does exactly the same for centralized database the stored procedure is a piece of code that lives in a centralized database which is triggered and upstate updates the database estate so that's not unique people talk about block chains as creating append-only Ledger's of information and that's true block chains are built in that way to only allow information to be added apart and sometimes in certain circumstances but we can do the same with the regular database right we can just configure our database to only allow insert if those who speak SQL to only allow data to be added and we've suddenly turned on centralized database into an append-only reference so that's not unique to block chains people talk about block chains enabling safe exchanges of assets so we can have a single transaction in which I pay you dollars and you pay me pal and that can be atomic which means the whole thing happens in its entirety or it doesn't happen at all and it's true that block chains enable that but you can do the same thing on a centralized database we have something called transactions which allows to group database operations together and to ensure that either all of the operations succeed or all of them fail so that's not unique to blocked it people talk about block chains being robust and it's true they are incredibly robust as an architecture but we have other types of technologies today distributed databases multi master replication which lets us achieve the same level of robustness in a central database so that's not unique let's talk about some of the things that people say block chains are better at compared to centralized databases that actually works okay so kinds actually immediacy people talk about the fact that you can do a transaction immediately on our book tender that happens quickly through the block chains can can settle the transaction in let's say we're being generous one or two seconds that's true but a centralized database can settle transaction in a split second those of you who know what acid stands for we have this parameter this word acid which is a series of characteristics to expect my database of the day the d stands for durable and what it means is as soon as a transaction if finalized its committed to disk and it is effectively settled it is updated the state of the database in a final way and centralized databases can do that quicker than blockchain the reason is very natural block chains have this element of consensus block chains have this notion that when something happens more than one party have to agree that that thing has happened centralized databases don't have to worry about consensus so for those of your urges in politics dictatorships tend to be more efficient and democracies that they'd have to ask anybody before they're doing it and it's the same in a centralized database scalability people talk about block chains being uniquely scalable that they can be made very scalable but nonetheless they are less scalable and centralized databases the simple reason is that if block chain node if we're talking about one of these nodes and a block chain has to do everything that a centralized database has to do kalasa have to do a whole bunch more on top all right so it's not just that today's block chains are slow it's that as a technology block chains are inherently less scalable if we're worrying about how many transactions per second and centralized databases and lastly people like to think of block chains help with a problem of confidentiality we want to keep data secret and so instead of putting our data in a centralized database we put it in a block chaining that somehow that increases secrecy but again cracy is harder to achieve in a blockchain and the simple reason is that the information that goes into a blockchain is replicated in multiple locations probably in multiple organization so whatever we put in our centralized database before now we're putting it not only in that one location but also many other location so if block chains aren't different from centralized databases and all the ways I showed before and if there were some centralized databases in this way then you would legitimately put a question mark in this slide and say well why are we all here why are we talking about this technology but there is a reason why we're talking about this technology but it's important to understand when you're thinking about the possibility of using a blockchain soon as that possibility enters your mind you also consider the possibility of using a centralized database for the same purpose because in times of the types of data you can put in a blockchain you can do all of that in a centralized database in terms of the types of transactions you can run over a blockchain you can run all of those types of transactions on a centralized database and vice versa what we're looking at here is a technology choice okay you can build a system on a centralized database and you can build the same system on a blockchain and like most technology choices for those of you who have ever had to choose between technologies you'll be familiar with the fact that there are trade-offs right advantages to one decision advantage to another decision so what is the central trade-off here within this technology choice between using a blockchain and using a centralized database so in case it's not clear by now the key advantage of a blockchain is what's called disintermediation it's the ability to have multiple parties sharing a single database and achieving a single view of the truth without taking any individual party and putting that party in charge of the database that's what block chains give us they allow us to share database across trust boundaries across organizations and all of the things that database is doing tons of making sure that everything's consistent and everything happened and it's finalized that all works even though no individual organization is in charge of that database that is something genuinely new compared to how databases are built today on the other hand the key disadvantage of blockchain when I when we look at practical applications is the problem of confidentiality is the fact that information is spreading far far wider so to take the classic example of 10 organizations who have crowned a central intermediary to be in charge of their database when two of those organizations conducted transaction cruces the transaction the two organizations and the central and the other eight organizations have no idea even happened on a blockchain because everything is getting to everybody all of the other participants in the network see that event take place now we can use all sorts of weird and wonderful and extremely clever encryption techniques to hide all sorts of different aspects of those transactions and we can talk about ring signatures and we can talk about confidential assets and we can talk about zero knowledge proof there's a lot out there and it's a very deep subject and I'd recommend getting into it in depth if you're looking for opportune deployments but the bottom line is block chains are sharing more information between the peers than a centralized databases because even if all everyone sees is that something happened and that's all they see in it even though who did it and what happened that's still information that they wouldn't see when there's a central centralized database run by an intermediary and that information can often be mined and leveraged for commercial reasons so that's the key trade offs there's other lesser trade-offs one of the nice things about block chains they give us robustness across multiple organizations so if you're a participant in a block chain your organization can actually have its systems go down for a week systems come back on again and everything is automatically caught up and that's a very nice disaster recovery strategy and you don't have to rely on your own disaster recovery systems and the disadvantage we already talked about is performance but but when we look at actual you know the use case when the pebble hits the metal the trade-off that I see being absolutely crucial as the disintermediation versus confidentiality it's as simple as that how much do we care about one versus how much you care about the other let's look at some classic use cases and this is the absolute classic use case that people talked about I include this in terms of what we did in our product as well the reason this use cases the first use case is because it's rather like Bitcoin and of course Bitcoin and other cryptocurrencies are what started this whole conversation off so bitcoin is a cryptocurrency that moves across a user cross a blockchain and so people are thinking what what other ways can we use blockchain to transfer assets around so you can use a block came to create an instant payment network between multiple companies multiple financial institutions how does it work each participating institution runs a node on the blockchain they will connect to each other in a peer-to-peer way money in some form it could be asset it could be shares it could be bonds it could be could be IOUs it could be regular cash something is issued on to the blockchain as a totem so you can't actually put 5.5 pounds blockchain but you can put a token on the blockchain which represents ownership of that five-panel and then that token can move between the participants on the chain and when we talk about this there are a lot of people that believe that one day central bank's will issue their own currency onto block chains as well as the current ways in which they issue currency so they'll print money that issue to the banking system and they're also issuing some blog chains and that that may happen although probably not in the next few years once we have everyone clicks on a blockchain once we have assets represented by tokens on the blockchain then we can do instant transfers between the participants and a peer-to-peer way people can send money to each other using these tokens exactly in the same way that people send Bitcoin to each other over the Bitcoin network and we should do better than that we can attach any metadata we want to these transactions so our platform supports up to 64 megabyte of metadata for injections you can put scans of contracts geographical imagery anything you want standardized swift messages anything you want you can put in as metadata to those transactions and that also gets embedded in the chain as well settlement happens in a matter of seconds here because the only thing required to perform a settlement if assets are moving over a blockchain in this way is for the consensus to be reached across all the nodes on the network and in permission private enterprise block chains that's generally in a matter of seconds rather than certainly in the Bitcoin blockchain in a matter of minutes reconciliation as a requirement falls away here there is no reconciliation reconciliation happens in real time automatically as a natural byproduct of the transaction of that taking place so the blockchain is doing the reaching simulation and seconds no one has to check off which do you agree with me nor has to do batches you know once a day or once a once a week to check that everything matches up with each other the reconciliation is automatic and it's built in that's nice and regulators look on this kind of technology with a positive approach because what they can do with this is they can essentially run a node on the blockchain themselves this would be a read-only note they can't transact but they can nonetheless see everything that's going on and suddenly they have a real-time view of everything that's happening in this in this space we're having to ask anyone for any extra information instead of having to go to all of the individual participants and ask them for reports and then cross-correlate those reports to each other and work out what happens when the things don't quite correlate the regulator's can simply have a bird's-eye view of everything that's going on so technically speaking this sounds fantastic in terms of our product and other products you can do this today successful pilots have been run on our product to do exactly this so it's all done and dusted and it's all wonderful with one slight problem and that problem is confidentiality because when you look at these types of instant payment networks the problem is that every participant in the network can see whether my is going right so they don't just see their own transactions they see everyone else's transactions and often what's happening in this type of network is the participant network are competing with each other nets are competing with each other what they very much want to know is what each other are getting up to and so if they can watch each other getting up – obviously that makes it something they're going to resist joining and that's never going to happen so that's the key problem and again I should say that there are lots and lots of brilliant cryptographic techniques to partially or almost completely solve this problem but nonetheless this need for confidentiality in these types of networks makes them offer an impractical application of doctrines let's talk about another type of application again we have many companies here connected to a blockchain but they're not trying to move assets with each other instead they're trying to share data so they're using a blockchain to record data what does the blockchain give them in their recording data or first of all in order to put anything on a blockchain you need to digitally sign it so each piece of data that enters the blockchain is digitally signed that everyone knows where that piece of data can't came from second of all every piece of data on the blockchain is time-stamped and when we talk about time stamping on a blockchain it's not one person's opinion about what the timestamp is or one company's opinion about what the timestamp is the network as a whole comes to consensus about the time stamping of every event – the accuracy of a few seconds not dance the millisecond but the accuracy of a few seconds so we have the ability here not by using a blockchain to have time stamping performed as a matter of consensus and then there can be no dispute as to what time something happens and then third of all what it's immutability so immutability means inability to change is this notion of an append-only ledger so one of the information is on the blockchain it cannot be changed and it's important to clarify what we mean by a mutability because this isn't information that's being written into the mind of god right there's no like photonic realm in which all the information is sitting and never be touched what we have here is information which can only be corrupted or changed if a majority of the validating nodes decide to maliciously collude that's what we mean by immutability so it's immutability on a level of consensus between the participants on the network but that's pretty strong certainly stronger than saying well we're trusting one organization to keep a record and all it takes is for one misbehaving system administrator in that organization and they can change the data in the database now we have multiple participants or collectively ensuring that the data cannot change and the time stamps cannot change and this is something that's valuable as soon as we have transactions which are not representing the movement of assets but are rather just representing data we can use encryption quite freely right but we can simply encrypt the data with written on the blockchain we can ensure that only certain parties have a key to encrypt that piece of data and then we kind of get the best of both worlds right we have information on the blockchain its timestamps and it's immutable everyone comes to agreement about when it was placed there and it cannot be changed but nonetheless the actual content of that data is only visible to certain parties that can give us a good trade a good trade every one of course has a single view of the truth because that's all got change due and again we can have a situation where a regulator will be very happy to watch what's going on in this kind of network so if we're willing to use encryption to solve a problem of confidentiality and we can look at something like this at kind of a pure game the pure ability for multiple companies to share data with each other and create shared record of what happens and gain and do that without putting someone in charge without having a central party in charge of that database so to win in terms of disintermediation I want to talk about some of the other use cases and again just to clarify every single use case is about thinking does this make sense in terms of gaining disintermediation at the cost of losing confidentiality and we have lots and lots of projects being done on our platform and over the last couple of years we have a fairly good idea that where this trade-off leaves pod list it means positively in favor of blockchain and this is kind of a general categorization of where that happens first of all the process spans multiple companies multiple geographies and we want to make sure those companies will agree with each others sometimes there's a problem that they cannot agree where the database that would it would be the centralized database they cannot agree where it's going to sit right if there's a manufacturing China ship through Europe and it ends up in a retailer in u.s. well where's the database going to sit which keeps track of what's going with that item and it's not just about where that database physically sits it's also about which organization is responsible for running that database and under which legal and regulatory regime does that organization sit but sometimes it's not easy to find a good answer to that we don't want if none of these places want to put control somewhere else so a blockchain can be a good solution for these organizations to come together and create a peer-to-peer shared record of events without anyone being in charge of it and without them being subject to any individual legal regime that's one place where we see that there's a genuine value in that trader there's another type of application where it's just about aggregating data between participants and no one is even trying to hide anything from each other so thank for example about stocks that have trades on 20 different stock exchanges and their stock exchange want to aggregate together data of everything that happens so they have a single shared record of all the trades that took place how would they do it today either they're all selling copies of data to each other so you think that's 20 organizations who are each running replicas of 20 other organizations databases and if you move that from 20 to 100 or a thousand other use cases have come down weirdly or they take some central body and that central body is given the task of aggregating the data and then producing the kind of aggregate version of it and sending it back on to all the participants so this is a case where no one's trying to hide data from each other and in that if that's the case of course the confidentiality side of the trade off doesn't exist and we can only enjoy the fact that we're able to create a shared record here and not have to have some individual party in charge of it so that's a very strong use case you heard before from John about a lightweight financial systems so it's financial systems where the stakes are low often that also means that the amount of willing to invest in the system is relatively lower so blocked in it for these kind of cases is a quick and dirty financial system right you don't have to create an oil evaluation in charge of knowing who owns what you have to worry about signing contracts with our organizations you can just have a bunch of participants together come together and create this shared ledger to represent who owns work and they can do it a very cheap and peer-to-peer basis when can we users with music in cases where confidentiality isn't not is not such an issue where the treasury assets that are being transacted represent a relatively small part of this financial activity of those organizations they're willing to show each other what they're doing so loyalty points gift cards credits all of these kind of alternative kind of financial instruments and the last one we're seeing and this was a genuine surprised me is internal blockchains within a single organization right now you could you would naturally ask and I naturally ask why would we have a blockchain in a single organization as a single organization can just database and the headquarters and everyone uses that database why would we need a blockchain and the answer is that often single organizations aren't really single organizations often they're spread over many geographies they've got many subsidiaries they need to interaction transact with each other and you often have for example in the finance world you often have banks which move money between their subsidiaries through the traditional correspond banking system they're going through other third party bank so you think this could be a crazy thing to do but they do it because even though they might have the same name neva nari work together closely they are separate legal entities and they're subject to separate regulation and they each need to maintain control over their own assets and the fact that some database and head courts have said this asset belongs to me isn't enough of a regulator in the geography in which I operate so no sorts of situations and there's a few projects I'm aware of they're doing this you can build an internal clearing and settlement network for the groups within a subsidiary felicity stories for the subsidiaries in groups and again what we gain here is the discontinuation we can have direct peer-to-peer transacting and open confidentiality is not such an issue in this case because these separate entities are mainly collaborating with each other they're certainly not competing with each other for the same customers so they're more willing to share information with each other for the transaction flow to be transparent so that's kind of a general high-level categorization of the four categories where we see this being a good technology and where the trade of falling positively and favorite blockchains rather than central great things and as we know this is a field which it generated a huge amount of excitement and interest and a lot of a lot of hype and a lot of hot air and one of the ways in which is expressed itself are platforms which are according themselves blockchains and or or companies that are developing blockchain platforms but where the key advantages of the blockchain are being lost in what they're developing and what there's a few examples of this so it's a one example that we see is a blockchain platform which has a single validator in other words although everyone's viewing all the transactions and verifying all the transactions there's a single party which is responsible for validating every single transaction that takes place so there's one entity which is completely in control of the database even though everyone can see what's happening in that database now I'm not going to say that this doesn't provide any value whatsoever over a centralized database because the parties in this system do see everything going on and they can validate everything for themselves but they haven't really gained disintermediation it haven't really removed the power of a central party so if we're thinking about blockchains of the trade off that disintermediation has really dropped quite a lot because there is still some central party which is in charge of the database and can decide which transactions get validated and which transactions do so that's one example another one we see is what I call a shared state blockchain and this is where the nodes that are running the blockchain are actually this kind of a traditional database with some kind of blockchain liked features put on top and and there's a few examples of this in the market and the reason this is the problem is that if you take a traditional distributed database which has multiple nodes which communicate with each other and have to reach consensus that type of database is built around the assumption that every node can fully trust what every other node tells it but all of the nodes are running in a single organization the purpose of being a distributed database is to create robustness and scalability but there isn't this issue of trust there isn't this issue of cross crossing the boundaries between multiple organizations so if you just take a traditional dish to reach database and throw a few things on top that look a little bit like a blockchain you haven't gained that key ability for each node to really maintain control of its own State and you haven't gained that key ability for it to be resilient to misbehavior of the malfunctioning of other nodes which are running in other organizations and so that is also in my view Hart big drop chain the last type is what I call a centrally hosted blockchain so what's a centrally hosted blockchain essentially hosted blockchain is where a provider coming that comes along and says we are building a blockchain for you all of the participants who want to use that blockchain they all have to use our service right so you can have your own node but really we're running it for you and you see a few offerings in the market like this and the problem with this is again we're losing that dissin deviation we're going back to a model where everyone is dependent on a single provider or a single supplier now I'm not ruling out the idea of running some blockchain nodes in the cloud you may want to run some blocks has no nodes in the cloud but you should have a choice about where you run that now you should be able to move over time where you run that node it should be possible to connect a node running under AWS with a node running under xbase with a node running under Azure that should be possible right that makes sense but the idea of a blockchain platform only being accessible if you come to this centralized provider of data loses the whole benefit of this thing and what you end up with as a situation where you'd actually be better off having a centralized provider running a centralized database instead of running the blockchain it would be exactly the same thing but they'd be using technology which is more mature and performs better so lastly I will just talk briefly about multi-chain so mile chain is a popular open source block to a platform as I'm sure you know there are multiple octane platforms out there mods chain is rather popular it's been more than two years in development and it's just gone into beta for the first version the key real selling point of monks chain is it's actually incredibly easy to use and what we find happens in organizations is that our entrance point is simply some developers in that organization wanting to try do something on a block chain and they break their heads on many of the other platforms out there and then they try our product and very quickly they can get something up and running that's kind of our key selling point we make it easy to do the most common thing with people on block chains which are managing permissions moving assets around exchanging assets and so on and also data streams which are kind of what I talked about embedding gem the function and querying that data our model is not to work generally with the end customer the large corporation that you might be setting a quadrature we work with partner so there's many many companies that build solutions on our platform and you can use some of the partners listed here so that's been in my talk I'll be happy to take any questions thank you very much [Applause]


7 thoughts on “CityChain17 – What is the difference between a Blockchain and a database by Gideon Greenspan”

  • TechnoSaviour says:

    Wow what a video, I have been really trying to understand when n when not to use blockchain over traditional database. It's such a thin line. If you are a developer or you want to use blockchain then it's a must watch.

  • Tanweer Ahmed says:

    great presentation but when he talks about confidentiality I rather disagree with him , with blockchain you atleast have encryption to hide irrelevant data, we have privacy coins and on the other hand we have single intermediaries like google facebook amazon, banks etc as he mentioned who are constantly sharing our data with 3rd parties to make money and being breached every single day , I will rather rely on the power of encryption provided by blockchain to protect my data even its shared with thousands of people instead of trusting these single intermediaries

  • I agree from a technical point the thing is another … do you rely on Central Bank for your value of your work, or your data on Google, on your solutions…ups on their solutions (IBM, Oracle, SAP) to run your business or you can run your business directly in block chain, owning your data and using and using your own free software from git-hub to run you business for free without paying coding. IBM can now go and retire because we are rewriting the world. When IBM releases his software on git-hub for developers we can talk otherwise your time is well end it and now you can retire for good. Tks

Leave a Reply

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