EB107 – Gideon Greenspan: The Blockchain Is A New Database Paradigm
30 Nov 2015 · 1:03:03
Gideon Greenspan explains MultiChain, a permissioned blockchain platform designed as a configurable database for organizations sharing records without a central gatekeeper. He describes native support for many assets, atomic swaps and a configurable mining-diversity model that balances validator rotation against keeping the chain running if some validators drop offline. The conversation explores privacy versus transparency, distinct roles for public and private blockchains, and his concern that general-purpose smart contracts trade transaction throughput and concurrency for flexibility.
Speakers
Topics
Transcript
[Music] this episode of epicenter Bitcoin is brought to you by volturo the gold to Bitcoin exchange trade gold to bitcoin instantly and securely starting at just 1 milligram go to volt.com to deposit some Bitcoin and start trading today and by Ledger makers of The Ledger unplugged NFC Hardware wallet have peace of mind in knowing your private keys are protected by industry standard physical security go to leer wallet.com to learn more and use the offer code epicenter to get 10% off your first order and by high. me protect yourself
against hackers and Safeguard your identity online with a first class VPN go to hide. me/ epicenter and sign up for a free account [Music] today hi welcome to epicenter Bitcoin the show which talks about the Technologies projects and startups driving decentralization and the global cryptocurrency Revolution my name is Sebastiano and my name is Brian faan crane we're here today with Gideon Greenspan I had recently had the pleasure of actually meeting Gideon in person when we were sort of of Aris in Israel for a few weeks and we organized dinner and and Gideon was one of the people I wanted to meet he's the the CEO and founder of coin sciences and they are behind a project called multi-chain which is sort of permissioned blockchain
parad design he's also a computer scientist uh so yeah Gan thanks so much for joining us thank you very much for having me so get started like how did you get involved in this whole wonderful industry so there's a couple of things first of all I think like many Geeks or technologists Bitcoin is just very fascinating technologically and so I've been following it for quite a few years um and then I've got a couple of um online businesses that I've run um from previous projects I've done and was attracted to the idea of taking money over the internet without using an intermediary in other words without being dependent on PayPal or on credit cards and Bitcoin is obviously a technology that enables that so that's kind of what got me started um trying to build some kind of a business or technology around it myself and so how
how did that evolve over time so you you're were interested in Bitcoin to accept payment did you actually start doing that you actually implemented it in in your businesses or well no I was waiting and waiting for uh the first customer to email us to ask to pay Bitcoin and it didn't happen um so we didn't do that but um the the problem from my perspective as a business owner was that uh Bitcoin is a very difficult currency to deal with in a conventional business it's difficult to report in terms of tax difficult to account for uh there's some legal uncertainty regarding it so what I was interested in in developing and what got me started is a way to use Bitcoin the protocol um to move other types of assets around um and so the first thing we did as a company was develop a protocol um called
coinspark which is a color coins protocol um several other protocols have been developed in parallel and since and there's now actually six protocols that enable Bitcoin transactions to move other assets around but we designed one at the time because there wasn't much out there we designed one that we thought should work kind of in the right way for the consumer and and why did you think that this was particularly interesting U as opposed to just sending money around so um the idea we had was that um if you could get some reputable institution to issue uh dollar based tokens for example and have them transacted over the Bitcoin blockchain then you could have effectively move dollars or Euros or Pounds over the internet without an intermediary so you'd have a digital equivalent to
physical cash um and that to us as somebody who sells online is very attractive for exactly the same reason that people that run traditional stores like to accept payments in cash rather than through credit card okay and so then you started u multispark and that was was that after open assets for example so so coin spark was actually was developed kind of a similar kind of time to open assets so funnily enough um the white paper I wrote online about how it should work flavian actually made some comments on it um but he was already developing something himself in parallel um so it's it's of all the protocols that are out there it's most similar to open assets um in terms of kind of the tech technicalities of how it works but it is a different protocol um and uh kind of part of the thinking
of the whole process was that at the time we started the company uh something came out in Bitcoin 0.9 called op return which was kind of an official mechanism for adding extra information to bitcoin transactions and to my mind apart from the idea of moving other assets around that was like well look Bitcoin is now kind of officially a platform when which other applications could be built um and so coin spark was designed not just to move other assets around but kind of to be a general purpose protocol for using oper returns to enhance Bitcoin transactions in various ways and we developed another feature as well after the color coins one which was a kind of messaging protocol on top of Bitcoin so what happened with multispark was there attaction with people building things on top of it did you want to build a business around multispark sorry
I just coinspark not multispark coin spark coin spark multi um so so we released the product and and I think we did a fairly good job of it and we built a whole bunch of libraries and and tool sets around it um and then we started talking to people that we thought would be interested in this kind of tool um we tried to focus more on kind of more serious companies rather than kind of crypto projects and that kind of thing um and we kind of quickly learned that from their perspective uh this wasn't of interest to them and the reason it wasn't of interest to them is that Bitcoin was too new and too raw and too much like the world West for them to be willing to put any kind of serious business process on top of this blockchain which they don't really
understand and they don't really control and they don't really have anyone they can point the finger to if something goes wrong so that's kind of what led us in a different direction because we saw that um coins spark was simply at this stage not of interest to the kind of people that we wanted to interest so the the problem there was I mean you say so was it it the association with Bitcoin was one problem or was it also that you sort of don't have very much control right because the miners and and just sort of set it into Network and then hopefully it will get processed there's a whole list of you know if you look at like a serious company um that's listed on a stock exchange and they're looking at the technology there's a whole bunch of problems with it so one is the
association with Bitcoin but that's cosmetic you know that could change over time but there are things like um the transaction capacity right that's you know still after all the arguments over blockz we're still stuck at a few hundred thousand transactions a day and there's the problem with the minors which is that the people are validating the transactions are often in jurisdictions which you know Western companies aren't so comfortable with and they don't really know who they are um there's the fact that an asset which is issued over the Bitcoin network is a bearer asset in finance terms a bearer asset means whoever's holding it has it um and there's no like a registry of who should hold it um and there's no way to kind of prevent it falling into the wrong hands now that of course is something that's attractive to a lot of
the people that are drawn to bitcoin and Bitcoin itself is like the ultimate Bearer asset because no one can stop you having it and you can simply send it across the world in seconds but Bearer assets have been more or less outlawed you know if you look at like in in the US because the problem with a bearer asset is it's essentially something which is very small physically but which can represent a huge amount of value and that kind of thing is very attractive to the types of people that uh governments uh don't like very much you know we can say terrorists or we can just say people that are evading tax taxes or money laundering these kind of things so be Assets in general are not very popular these days and any asset that's issued over the Bitcoin blockchain is that exactly that type of asset right right
and then you was that sort of you saw these problems and you said okay we have to do something that people actually want and then you started multichain so we started talking to people and and specifically we started talking to a lot of financial institutions because you know the most attractive issuer of uh a dollar denominated token would be a government right but that's never going to happen in the next decade so we thought the next levels you go to like large Banks and so we started talking to large Banks about this time of technology and we realized that they were very interested in the technology um but not uh in the kind of uh aspect of it which relates to public blockchains into anonymous Mining and that kind of thing and the other interesting that was happening is that quite a few Banks were actually
tinkering with this stuff and what they were doing in practice was they were taking some really good developers pointing them at Bitcoin and saying kind of download this code and you know start tinkering with it to make it suitable for the kind of thing we'd want to do and that process was happening in quite a lot of banks simultaneously and it wasn't very easy because they had to learn everything from scratch and it's not particularly easy code base to work with so having seen that happening in various places I just kind of concluded that probably there was room in the market for an off the shelf platform which contains the features that they're wanting to add but doesn't require them to actually spend a year coding it up themselves that was multi chain basically yeah so so basically then what you built but right was it was a
platform that if somebody wants to so basically do sort of a a fork of Bitcoin to run in a private environment with maybe some more features or changes that you know instead of sort of doing it from scratch they can just take multi-chain and you know configure that for the specific use case exactly yeah so the the product we try to model it after from a philosophical perspective is something like MySQL which is just a blackbox which provides a functionality provides it's configurable and you set up your database and you grant your permissions and you issue your transactions so we tried to obviously a different model than a back than a blockchain but we try to reproduce the experience as much as possible to be something like myql it's time for a word from our sponsors volt.com the goal to Bitcoin
exchange you know when you start a new company things can start off kind of slow now volor has really been taking off lately uh they found it in 2015 in February and in only 7 months they managed to reach $1 million of trades on their gold to Bitcoin exchange platform and then just two months after that in November mber of 2015 they had already reached $2 million in trades so voltor is really becoming a place where Traders frequently go to trade gold for Bitcoin on top of that there's a software called the cryptocurrency automatic Trader that has this has added support for volor now what does that mean it's a little robot that can do the trading on Volo for you so if you like to sit on the sofa and
have your gold being traded for you on wo life that's possible now out and you can learn more about that on the volor blog and we certainly know that we have some of these ethereum autonomous organizations or other strange drones that want to make money listening to this and and they are very interested so that's a great service and and we're very proud of the work that they're doing at volor now if you want to start trading old you can do so today head over to volt.com you can trade as little is 1 mgram you don't need to give them take kyc information they are that good and we would like to thank walor for their support of EP Center Bitcoin okay so let's uh then I guess move into multichain could you
explain in detail what multichain does and what problem is trying to solve yeah sure so I guess one easy way to describe it would may maybe to say how it differs from Bitcoin um the the software bit how it diff from Bitcoin core um so there's three key ways in which it differs number one everything is configurable so every parameter of a blockchain is something that you can decide per blockchain and you can have multiple blockchains running with different with different parameters so a parameter could be something as simple as the maximum block size you know how many transactions it can perform per day it can be more complicated things like what's the permissions model what type of transactions are allowed what's the maximum amount of metadata all all these things are parameterized that's the first thing the second thing is it's
permissioned so there's a layer of permissions on top of the blockchain um which control who can do what and the the what can be connecting to the the chain sending and receiving transactions being an administrator um issuing uh assets and and Mining or mining is perhaps a problematic term creating blocks or validating transactions and the third thing is that we brought support for assets down to the native level of the blockchain so if you look at all six of the protocols which allow Bitcoin to be used to move other assets around they all suffer from a certain technical difficulty because the block the Bitcoin Network itself is blind to the information that they express and that expresses itself in various ways in terms of if you look at counterparty and and um and the Omni protocol there's a delay there in terms of you have to
really wait for something to be confirmed in a block to know what happened if you look at the color coins protocols it's a bit better because they superimpose over Bitcoins model but they still suffer from the problem that you can put fake metadata in a transaction to say that there's some color coins there but there aren't really some color coins there so you always have to track assets all the way back to the Genesis to know what's going on um whereas if you bring support for assets as a native feature of the blockchain so that every blockchain node is tracking and verifying the movement of every asset and you get all the qualities you have of Bitcoin in the Bitcoin blockchain but you have it for every other asset as well and that's kind of quite an important feature technically speaking so so if we talk because because with
Bitcoin right there's there's one native asset with ethereum there's one native asset so with chains like that or you know then you can add assets in terms for example with smart contract chains through contracts for example but then here you have multiple native assets potentially is that correct well it depends how you define native asset so um if you define native asset to be something which every no in the blockchain monitors and and tracks then anything issued over ethereum is also a native asset if you define native asset to be something which is intrinsic to the blockchain and is some kind of token which the miners earn and which transaction senders have to use then by default multichain has no native asset at all you can have one if you want but by default there's no
native asset everything's just zero in terms of the Native asset and the entire purpose of the blockchain is moving issued assets around from one person to another so if you compare that with ethereum then the sort of you could almost say that when you when you talk about multichain having native assets that you have some this like asset Factory where you can say like okay create these assets and then you know like they're created and they function in a similar way to like let's say contract on ethereum or like Bitcoin on the Bitcoin Network except for the mining and transaction fees yeah exactly so so technically ethereum is very very different but maybe it's easier to compare it to to how it works in Bitcoin so Bitcoin assets sit inside transaction outputs right sorry I should say Bitcoin
the currency sits inside a transaction output and every transaction spends some previous outputs and then sends them to some new outputs so that model whereby Bitcoin flows across a transaction from input to Output it's exactly what we do with assets issued over multichain so any multi-chain asset sits inside a transaction output of a transaction and is actually encoded there inside the transaction output itself alongside the native currency which is generally zero and then it can be spent by other transactions which move it around elsewhere could you then have multiple so you could have multiple assets within one multi-chain uh instance so if you're an organization or several organizations working together and you want to create
several different assets perhaps one representing US Dollars Euros Yen what have you one single uh guess block private blockchain running over multichain could have all those assets um embedded within it absolutely and that's that's kind of the point yeah I mean you can have essentially unlimited number of assets running on a single multichain blockchain and then we also did something which is a little bit unusual which is we enable a single transaction output to contain multiple assets together um and that's different from quite a few of the color coins models out there which always separate them across different outputs and that that gives us certain things that we can do as a result so if you have uh if you have multiple asset multiple outputs in this same from different assents the same transaction it means basically you
can do a sort of it's basically like an atomic swap right but with within a single transaction yeah you can do an atomic swap between um two people with two assets you can have two people with 20 assets and you can have 20 people with 100 assets like you can build any kind of atomic swap you want with the model that we developed so can we talk about the consensus mechanism in multichain yeah sure so um start with Bitcoin you know Bitcoin has this notion of proof of work why does it have proof of work it has proof of work because in a in an anonymous public blockchain it's possible for one entity to mine under many different identities even though they're just a single entity it's the
it's the problem of um impersonation or the Cil attack right it's exactly the same problem you have with online surveys that one person can fill out 10,000 surveys so Bitcoin needs a way to prevent a small group of entities from taking control of the Chain by pretending to be a large group of entities and so proof of work is a way to do that because they basically say to a small group of entities if you want to pretend to be a large group of entities you can try but you have to work extremely hard to do that and it's going to cost you a lot of exy and a lot of money so once you have a a private blockchain or specifically once you have a blockchain where mining of blocks is permissioned when not everybody can mine a block then that whole problem kind of
Falls away because everyone who creates a block has to digitally sign that block to prove who they are and then there's no impersonation problem because I could sign a block with the identity that the chain has allowed me to to use to mine a block excuse me if I sign a block with another identity no one's going to accept it because it's just not on the white list so as a result the mean you the means you have of preventing minority control of the chain are much much simpler and so multichain uses something which could call mining diversity the basic idea of it is and this is configurable as one of the parameters of a chain is you can Define the level of strictness of a kind of round robin mining scheme so if you can imagine there are 10 miners who have permission to mine at the current stage
of the blockchain so a very strict scheme would say that every every single one of those 10 miners has to mine in rotation and each one has to wait its turn after it's mine for all the others to mine until it can mine the next block and that way you prevent anybody from having control of the chain unless they've got the agreement of everybody else so that's if you're very very strict but multi chain lets you make that a little bit more lenient because the problem with been completely strict is that um if a few of the miners just dropped off the chain or you know their server went down you don't want everything to freeze up so you've basically got a parameter in multi chain which defines how strictly the round robin mining scheme is is enforced Okay so if we had four miners
for instance on on multichain and if you had set that parameter to say one then uh there it would be one each block would be mined by one minor but in the case where you set that parameter a little bit lower and you're a little bit more lenient about it uh if one of those miners drops off the network then it can pick up later on when he comes back on could you explain how that works yeah so let's say so let's say let's take the example of four so let's say you set the mining diversity to 0.75 that means that three of the miners are sufficient to m a chain so if one drops off the other we can keep mining the chain indefinitely and and everything keeps working if you set it to zero then there's no constraint at all and any Miner can mine any block
whenever they want so it's about balancing the risk of um technical malfunction of some of the miners that they can't uh proceed on the other hand you need to balance the risk of well if you set that diversity too low then it is suddenly possible for a small group of those miners to get together and to take control of the chain or to mine a fork in secret and then transmit it later on so you need to balance those two risks okay so if you had so in this example if you had set to 0.75 and two of those monitors were to drop off then then what happens that seems like security vulnerability right where an attacker who gains access to the network could knock those two off with the DS attack something like that yeah so if you if you had it set to say 0.5 and
sorry .75 and and two of the minor dropped off then what would happen is that the chain would freeze up so transactions would continue to be transmitted over the over the network but the mining would no longer be able to proceed essentially so there would be no more until one of the uh people that dropped off rejoined the chain so do you still have um you know hashes and the difficulty uh like in Bitcoin yeah so we have first of we have block hashes because that's just the way to identify block no but I mean I mean that like minors are hashing to try to get like you know certain number of leading zeros and like so nominally we do because um we've basically because the ability to have mining being open or
closed is parameter of a chain so you can have a public blockchain running off multi chain if you want so we haven't removed all the code for proof of work but if you're using private mining based on a on a wh list then essentially the difficulty is set extremely low so it takes like a you know fraction of a second on a regular CPU to mine a block so it's there nominally but it doesn't really serve any purpose and it's certainly not the basis of security in a permission blockchain and so what if I now started mining lots of blocks even though I I don't have to write then what happens the rest of the network will just not accept them or they they if you m a block then they accept your first block then you mine the next one they'd say no that's not acceptable to us
because you have to wait your turn because the mining diversity basically sets a minimum spacing between two blocks mined by the same minor so it just the network wouldn't accept your next block do you also have things that like let's say I'm going to go back one block and start mining from there or like attacks what does the security model here look like yeah so that you can have a fork in multichain like you can have a fork in Bitcoin it's a possibility um as in Bitcoin it resolves itself by basically the the longer chain um being the one that's considered authoritative by the nodes so it works in a very similar way the all the nodes in the network are aware of the fork they've got their current version that they believe is the is the one that they're currently working on but they're aware
of the fork as well and then if the fork kind of gets longer than the current version then they switch to the fork so it's a very very similar to bitcoin similar model to bitcoin the way to look at it is really that the security model is actually exactly the same as Bitcoin um you just have a different mechanism of preventing minority control um which you can only do because you have identified permission minor so I'm curious it to me it seems like okay this maybe it works right but it's sort of like it all it's feels like a hack right so have you also looked at like proof of stac systm like tend minut because it seems to me like let's let's say if you have these four entities say you want to control the chain well why don't you just have all of them vote on every
chain three say yes the block is approved right like yeah so there few things I could say about that first pro proof of stake um the problem in a in a blockchain with no native uh currency is stake in what right if there's no native token of that chain then who's got a stake in what like it doesn't particularly make sense it would be a possibility for a future version where you just create a token whose only purpose would be to give people a stake in that token for mining um you got to look at block a little bit if I may jump in here so I mean you say proof of stake and what and that's correct right like okay you could I mean of course there security deposits but yeah you're right if if there's no native token then that can be a challenge but also cuz with
proof of work you say you don't have this the stake in something hence we make it expensive but here it's not expensive right so like yeah it's expens the thing you give up when you mind a block is the ability to mine another block soon that's that's essentially what you give up when you m blocks that's a kind of expense it's obviously not a financial expense um but I wanted to say that you you should look at the you know if you look at the Bitcoin blockchain there there's two things that happen across the across the network transactions get transmitted and propagate within a few seconds and then blocks get transmitted and propagate you know uh also within a few seconds but they take they only happen once every 10 minutes so in Bitcoin confirmations in a block are extremely important when you look at a private blockchain the block
confirmations are kind of less crucial you need them you need them for housekeeping you need them to make sure that every transaction was seen by every NE you need them to make sure that there's no conflicting transactions but actually because you know who your participants are an unconfirmed transaction it's it's really quite believable and the role of mining is kind of much less than it is or the role of generating blocks is much less than it is in a public chain you kind of need it there to make sure that things don't go wrong but for all intents and purposes you can trust unconfirmed transactions in a private blockchain because if someone's double spending then you're going to know exactly who they are and you can essentially take them to court because you know who they are and you've got some kind of contract with
them let's take a quick break so I can take you to Paris I stopped Into The Ledger offices and met with Eric L Ledger CEO and he filled me in on the upcoming Ledger blue in early 2016 we are going to release the Ledger blue this is a personal privacy device which runs on a secure element has a touchcreen NFC Bluetooth and USB connectivity and it will be a full-fledged Hardware wallet with a second Factor validation of the transaction directly on the screen it will be fully open source you will be able to add your own apps and it will also be compatible with fedo second
Factor authentication password as going are going to disappear and it will be replaced by this kind of cryptographically secure authentification The Ledger blue will be certified by Pho and will give you the possibility to log in on any website very easily just by signing a cryptographically secure challenge Ledger is making Hardware wallets easy and convenient without compromising on security if you want to get a secure setup for storing your Bitcoins go to Ledger wallet.com and use the code epicenter to get 10% off your order we'd like to thank Ledger for their support of epicenter Bitcoin so is there uh possibility where a private blockchain could be used by
actors that don't necessarily know their true identity or pseudonymous can can you imagine use cases for that or scenarios where that would be possible so certainly you could use a private blockchain um in a situation where the miners are known but the end users are not known for example you can configure multichain to allow anybody to connect to the network and anyone to send and receive transactions but for it still to be permissioned in terms of mining in terms of administration and issuing assets so that could be a model whereby you have like a group of banks who are collectively managing this this kind of distributed Ledger but they're allowing anybody to connect to that ledger from a mobile device and the mobile devices are just generating their own keys and don't need to be permissioned so that is certainly a possible use case for a
private blockchain or a semi-private blockchain I don't see a use case whereby you have this kind of private blockchain or permissioned Ledger where you allow anybody to do the mining just there seems to be no interest in that because the whole reason to go to a private blockchain is that you kind of know who's validating your transactions and so that you can trust them I mean the only way this could work is if you had some system to say to switch out the people who are allowed to do the mining right so so you have that in multichain nowan you have the the the administrator or Collective the administrators can add minors and can remove minors it's not hard-coded when the chain starts it's a permission that can change over time yeah I've wanted to ask about that so so there is an administrator in multichain
and that administrator um chooses who is allowed to mine uh does does that administrator like retain special privileges over the the whole time of the chain or is it just a sort of a a setup procedure and then so you've got yeah so they've got a couple of choices so first of all um being an administrator is itself a permissioned role in multichain and once you have multiple administrators certain types of changes that are high risk like allowing people to do mining are subject to consensus between those administrators so that's another parameter of the chain you can set you can say we only allow a new Miner to be added if 90% of the administrators all agree on that mining being added so Administration is not necessarily centralized it can be distributed
between a number of entities so there is also a notion of a setup phase in a multichain blockchain so uh one of the parameters of a chain is you say how many blocks um constitute the initial setup phase of the chain and during that setup phase a lot of the things that are usually strict are kind of uh not applied strictly so for example in the setup phase there's no issue of mining diversity and in the setup phase administrators can do things on their own that they can't usually do once the chain is running so you do have a notion of a setup phase which is kind of baked into the parameters that start a block a blockchain off and then after that point things kind of run uh for the long term so could you explain sort of what types of permissions an administrator
can give uh for so for example we were talking early about uh auditor nodes like could you have um nodes that are able to to uh make transactions so for example like you had um multiple partners or Banks or something like that working uh together on the same blockchain and then you may want to have external Auditors come in and have readon access yeah so you've got that so you basically got six type of actions which are permissioned um connecting to a chain sending transactions which basically means signing inputs uh receiving uh which means be appearing in outputs issuing assets Mining and being an administrator so there's six type of things that are permissioned so if you want to have a readon access you essentially give connect permission to a particular
address uh but no other permissions to that address and then it can see everything that's going on and it can kind of download transactions and download blocks from the chain but doesn't isn't able to generate transactions and aside from the scenario that I just described of external Auditors can you think of other use cases where that would be valuable that's the one I keep hearing about or Auditors or you know the people use the word Regulators as well so you know governments could basically have a realtime view of what was going on in this particular trading environment um as opposed to the situation today where in many cases they have to kind of request reports from each of the individual actors and then wait for the report to come back and then kind of compare and contrust and reconcile all that separate information and would there be any way
for so I'm thinking here if if these know Regulators would like more trans transparency and you know um this is what blockchains enable but is there would be be a way for sort of the the core of the multichain so like the miners or the the the the people allowed to make transactions to um to spoof or to falsify the information that makes it out to the uh to the readon nodes is that possible or if the read only node was only connected to you know one other node in the chain then obviously that node can give it any kind of nonsense it wants but assuming the readon node is connected to many many points in the chain then again it's like it's kind of
a very similar question to the one you would ask about Bitcoin is it is it possible for um a wallet to be given a false view of what's going on in the Bitcoin blockchain and the answer is yes but only if it's connected to um points which are you know collude maliciously colluding together to give it that false impression so one of one of the challenges here too I mean so privacy of course is is sort of an advantage in some ways right because you can say okay just like these five entities administer the chain together because we don't want others to see like what's happening on this chain but at the same time when you start talking about like you know you mentioned R can put many assets on that let's say you have a 100 different assets lots of entities involved like you may still like right now
transactions between different entities may be happening in private here like everything is visible like how do you think about privacy in in this context yeah so absolutely I think think you know and there's a lot of people are sticking their head in the sand or ignoring this question when you're talking about applying blockchains in the finance sector I think it's absolutely the key question and it's the elephant in the room which is that if you look at um the role of central entities in in the finance world yeah it's true that one of their roles is to manage um this authoritative synchronized database of transactions and that job that they perform can be replaced by a blockchain but another one of their roles is to act as a Chinese wall between the participants in a Marketplace so that
bilateral transactions that take place between two entities aren't visible to any of the other entities who are who are kind of connected to that same network and blockchains by default at least completely smash that model apart right they make everything visible to everybody not necessarily all the offers going around but certainly all of the actual settlement transactions which move assets around are visible to everybody now there's a whole bunch of uh possible approaches um strategies for dealing with that some of them have already been implemented like the confidential transactions uh work by blockstream which is very interesting which hides quantity but doesn't hide addresses there's kind of a long-term research project actually going on here um with a group based in Israel um on um zero knowledge proofs which is can we actually take the entire process of verifying a transaction and
put that under the umbrella of a zero knowledge system which essentially means that somebody can prove that they verified a transaction without revealing anything about the content of that transaction and that Pro can be examined by other people without knowing the actual content of that transaction so that's kind of an ongoing research project and then you've got possibilities of like certain people seeing everything and then other people seeing only some things or maybe the miners see everything and then they only reveal certain things to other people but they still they use a kind of hash to prove that's the same so so a question on that so let's say you do achieve um s the situation that you know you can verify that things have been done properly but you can't actually know anything about the content of what's going on I mean doesn't I I can
see that being useful in some cases right like let's say if you want to do uh actually if you want to do something like Bitcoin this is perhaps not a bad idea right because you want to have anonymity actually uh for like electronic cash but um I think it isn't one problem here too that you actually sort of destroy one of the big benefits of blockchain which is you know a theability and the ability for people to write applications on top of it do analytics like all kinds of things that you know all of a sudden fall away it's a complete tradeoff right um I like to compare it to the uncertainty PR
principle in quantum mechanics that like you can know the position of something or you can know the the the the speed of it but you can't know it at the same time and it's kind of the same you can either have a transparent blockchain or you can have loads of things hidden you're not going to get the benefits of one and the benefits of the other at the same time so I guess a lot of what the industry is trying to figure out right now is where is the right balance between these two things and that very much depends on the use case like there are some use cas cases like trade Finance where probably there's not that much need to keep things confidential because it's not like a very competitive environment between parties then you've got other things like um you know high frequency trading of currencies where
basically the banks are all trying to one up each other and make profits off each other and in those cases obviously they're going to want to hide as much as possible from each other so it it depends on the use case and I think I think absolutely you're right that this is something that needs to be resolved and it's something that not enough people are kind of talking about right now let's take a short break and talk about hi. me high. me is a VPN provider and if you don't know yet why you should need a VPN provider let us help you I'm sure you like me and when all the crazy Revelations came out during the Snowden time uh of all the the spying that is being done by the NSA and other government agencies you were shocked and you said not with me not with my own
rights now the way government agencies can spy on you there's many of them but the most easiest way is by simply going to your ISP and getting all your traffic capturing all your traffic and the VPN can protect you from that it can give you a secure tunnel from your computer to any of the exit nodes all over the world so that all the traffic goes to the secure pipe that's encrypted and cannot be intruded on and with high. me you can choose any of their their 30 exit noes all over the world so you can enter the internet in a secure location the best thing about high. me is that they have a free plan plan which includes 2 GB of unthrottled bandwidth
per month so you can go to hide. me/ epicenter to create your free account and when you use that URL you'll automatically get 35% off if ever you decide to go premium Now the premium plans are really great they include unlimited bandwidth access to all of the 30 exit nodes that high. me provides and you can install it on up to five devices at a time so you can have this running on your phone your tablet your computer at work your personal computer and just be completely protected all the time and of course high. me accepts Bitcoin so we'd like to thank high. me for their support of epicenter Bitcoin so another question that often comes up and that gets a lot of people very heated at least in in certain communities is is the sort of question
of is this actually something new like you know when when you start removing proof of work when you start removing actually the ability for sort of anybody to participate in this process you know people often talk about censorship resistance things like that and now all of a sudden you have a known group that diminishes a network and you know often said like isn't this just a private database like what's the novelty here how how do you think about this issue yeah so I've thought about this issue a lot because I'm you know I have to figure out if we're wasting our time or not um and it's certainly less new than than a public blockchain like Bitcoin but I believe it is still new um and if you look at the transaction model of a
blockchain the key thing which it enables which is not enabled by today's database platforms is the ability to have a database which is shared by multiple entities who don't trust each other um but who all write to that database without requiring a central party to manage that database that's the key thing which it enables um and that's new that's something that if you look at today's database platforms they simply do not they do not allow that maybe they will in future it wouldn't surprise me at all if one of the things that happens as a result of um blockchains is that you know the version of Oracle that comes out in 3 or 4 years time has this functionality built in but right now they don't provide that ability to have a shared database between people who don't trust each other without requiring a central gatekeeper to authorize and to
kind of check transactions so adding this into existing databases how would that work is that simply uh a matter of them turning on some features or is it more a matter of them actually taking um technology that's being developed in the blockchain space now and sort of building a new database Paradigm based on that yes so that's an open question whether it you know would just be a matter of you could just do it as a few bolt-on features um in today's existing databases or you might want to actually redesign what this database should look like as a result of this new functionality um it could go either way I honestly don't know um the answer to that question yet because so much of it depends on uh where the key use cases are of this technology and so touching
on those use cases then what uh what what would then be the use cases for private blockchains and versus public blockchains would there continue to be a use for for public blockchains such as Bitcoin yeah I think actually that um this is something which maybe is becoming clear over time is that although there is some technological relationship between public blockchains and private blockchains they're actually for completely different purposes um I think public blockchains certainly have a use apart from Bitcoin itself I think the the ability to embed metadata in public blockchains has a huge number of applications and the use of this uh oper turn uh feature is growing extremely fast if you actually look at the
statistics on bitcoin which we do look at um and then private blockchains are essentially a database technology they're a database technology which enable a bunch of known entities to create a database uh which works in a different way to to how databases work today and and that class of database will solve a set of problems um which cannot be solved today well I think that one one really valuable use case for for Bitcoin as a as a a public blockchain is simply the that it's there and it's accessible to everyone and that everybody can use it regardless of whether they're uh just an individual or an Enterprise um trying to develop some sort of a digital asset system uh I I think that that is the primary value of Bitcoin that you know public uh private
uh blockchains don't offer since you have to implement all this all this infrastructure in order to get things running yeah I mean I'd agree with that I mean if if you think about what Bitcoin is putting aside the currency itself Bitcoin coin is a global decentralized database in which anyone can put anything they want um without being necessarily traceable so long as they're willing to pay the cost right and the cost is essentially um from the perspective of the end user will be you know how many cents per kilobyte it costs to put information in This Global repository and I absolutely agree with you the fact that that censorship free is hugely important it's also going to make it probably much cheaper than it would be if it was centralized because no one can really skim a tax off the top of that and without being in competition
with every other minor in the world um and yeah I think that's hugely valuable I mean I'm personally interested in in in the use case of the Bitcoin blockchain for family Treads the idea that you know you could stick your family tree in the Bitcoin blockchain and then a couple hundred years time your great great great grandchildren could pull it out um to me that's kind of an interesting use case and it's just the kind of thing that was never possible before we didn't have this decentralized Global database that was accessible to everybody so absolutely I think that's what that's what I believe the Bitcoin blockchain will end up being I think Bitcoin will end up being the currency that fuels This Global repository rather than being its main app and this main application will be simply a permanent timestamp file system for anything that anybody wants to store
and make globally available and globally replicated okay that's interesting but so you phrased it before that you know Bitcoin is just all new thing and then if you talk about private blockchain it's just a new database but then do you think of this as something is it an incremental improvement over what we have now or is this something like radically novel that is like you know is it going to cause a little change or is it going to change everything well someone uh wise fact several wise people have told me recently that if you look at these type of Technologies um they're almost always overestimated in terms of impact in the short term and under
underestimated in terms of impact in the long term and I think maybe that applies here you know it's going to take a long time for for blockchain or the shared databased technology to to make a significant difference to the way in which things structured in the economy but if you look at the economy and how it's structured and how things work in many many Industries there are of there are many many entities whose primary role is to maintain an authoritative record of something you know the finance industry the supply chain industry the insurance legal etc etc and if that can be replaced by a different technology then I think it's likely to make a large difference over time I don't think it's going to transform the world but I think you might end up seeing similarly than you have some of the other technologies that come out maybe 5 or 10% of uh the
current Workforce ultimately being displaced by this technology and that's you know quite a big thing right I mean personally I think it it I totally agree it's going to take a long time right it's going to take a really long time for a lot of these Technologies both on the sort of public blockchain side and other blockchain side to get somewhere and I also think you know maybe right now it's sort of like divided into these two camps at least that's the way the narrative is sort of told I don't think that's going to be like that I don't think it's going to remain like that I think there's going to be all kinds of different hybrids and like weird interactions interoperability between them and and I think when we talk about the change I
mean it's also it also starts interesting when you think about sort of the nature of a company know because if you because one of the advantages if you do a company right then sort of you can have control about all these things inside and and maybe you wouldn't want to trust someone else to do this essential part of your business because well you can't verify it but all of a sudden if you can put that business Logic on a blockchain well maybe you don't need that company or maybe you start having a complete just sort of segmentation which we have already had in in many areas to some extent but that could just go to completely different level so I think it's I see so many but it's going to take a long time that's
that's definitely true and probably in the short medium term the effect is not going to be that big I think we'll be we will be here in 20 years till trying to figure out the implications of blockchains yes okay so so let's uh let's say let's let's just so we we got to put that in our calendar that in 2035 we're going to have get you on back on again if I'm if I'm still around pleasure yeah um cool so so what are what are the best use cases for so public blockchains you mentioned there like data repository like censorship resistance a repository which obviously is interesting if you want to sort of yeah proof of existence is the best example right like you prove
this thing has existed at time x you can put that in the Bitcoin blockchain and sort of anybody knows and of course actually I think probably still the best example for Bitcoin or public blockchain is well uh sort of decentralized currency is it's great example even though it has its problems but but what about private blockchains what do you think is the best use case in in maybe in the near term and in the medium term and longer term yeah so if I completely knew the answer to that question I'd be happy and we're still trying to figure it out um but I I mean again because I think it's a shared database technology you have to look in in the in the economy for places where you have multiple entities who need to
maintain a shared record between them and right now they need to go through some kind of central entity so the finance sector is a really really obvious one and they've also paid a lot of attention to this because um Bitcoin kind of came into radar a few years before and so they're kind of keeping track with other interpretations of that technology um I think the legal profession there's many cases where where what lawyers actually do um is just record and timestamp something um and that can be done uh on a shared database in a way that would maybe reduce what lawyers do to more like actually using um their ability to formulate you know words and terminology and contractual terms rather than providing this kind of function for the economy of being a trusted kind of source of things I think accountants as well might be different because um as
you mentioned there's the ability to have an auditor role who can can see what's going on in this kind of shared database or blockchain and then a lot of what accountants do could be replaced by software so many different possibilities um but I think you know people are still figuring it out as well um the other thing that comes up a lot is Supply chains you look at how Supply chains work right now there's some really really Antiquated processes that take place um you know supply chain sounds like a niche Until you realize actually almost everything that we consume and create is actually moving across the world one way or another across some supply chain you know there things like bills of lading and letters of credit and these these physical documents have to make their way around the world um and that could quite easily be replaced
by some kind of shared database between all the participants in a particular process so they can move assets around over a shared database or a blockchain so many many possibilities but I think we're still figuring it out and I think um it'll take years to to be to get clarity on it personally today's magic word is database da a t a b a s e head over to let's talk bitcoin.com to sign in enter the magic word and claim you're part of the listener [Music] award so you mentioned like the the example of um trade international trade and things like that do you see this as being uh you know one big public
database would be created you know maybe using or or or maybe a bunch of big databases for different applications we created or do you think it will be uh thousands of databases where it's like I think it'll be Millions I think I I think that I how many databases are there in the world today right I don't know how many billions of databases around the world today each database represents a particular problem space a particular set of information that's that a group of people are interested in and I think it'll be exactly the same for for blockchains I think right so so you'll have like like actually the parties interested in in in that transaction you know set up a database or or set up a blockchain and that's I mean that's how we design M chain to be you know it takes a few seconds to set
up a blockchain and a couple more seconds to connect to it from elsewhere so the idea is that you could just kind of throw away right you make one you use it for whatever purpose you want and then you can make another one and you can run Lots at the same time okay cool so you've also written an interesting blog post about smart contracts and blockchain and and I thought it was it's very long but it was very interesting um can you talk a little bit about your thoughts regard St in running computation on blockchains as we of course know from uh the lots of smart contract blockchains that are now well I guess mainly ethereum and and uh in in the private blockchain space sort of or erors in the permission block space but building on the same smart contract
capability what is your opinion of that yeah so if you look at the the model of what a blockchain transaction looks like you've got a Continuum essentially on one extreme you've got a Bitcoin transaction action which is extremely limited extremely simple um but has some very very nice properties in terms of the ability to run many of them at the same time in parallel if they're not to interfere with each other not to depend on each other um and that's one end of the of the kind of the uh Spectrum the other end of the spectrum you've got an ethereum transaction is essentially a message that can trigger a general purpose piece of code that can do anything right so it can take a long time to process it can end up sending messages to other pieces of code it can end up having to um modify its database
and through the messages it sends modify lots of other databases as well and that's extremely powerful obviously because as soon as you're cheering complete it means you can actually do anything which a computer can do but the problem with that type of um transaction is that it doesn't have good performance properties and especially doesn't have good concurrency properties so you can't run two ethereum transactions in parallel um and say well you know we don't really mind what order we process these in because they don't really affect each other because you can never know that about an ethereum transaction because every ethereum transaction can in principle do anything thing now there's ways I mean there strategies for dealing with this but the basic thinking behind my piece was that um by doing general purpose computation on a blockchain and requiring every single node to perform that computation for
every single message the the small problem you have is that the computation can end up taking a long time that's a small problem but can be solved through gas in a public blockchain and some kind of time limit in a private blockchain but the big problem you have is your model of transactions is not conducive to high throughput and to having concurrent transactions running at the same time and one of the ways in that in ways in which that expresses itself is that in in an ethereum style transaction until the transaction is confirmed on the blockchain you have a lot less confidence about what the outcome of that transaction is compared to a Bitcoin style transaction or a multi chain transaction where you can be pretty confident that unless someone is deliberately attacking the network you know what the outcome of that transaction is going to be so there's
essentially a trade-off there um and my view of that tradeoff is obviously it's going to depend on the use case of where we should fall in that Spectrum but that may be the right way to uh Sol that tradeoff is to have two layers so you'd have like a low a lowlevel transaction model where basically you'd have Bitcoin or multichain style transactions which uh are quite simple and quite restricted in what they can do but you can still embed inside those transactions information representing General computations whether it's the contracts that define those computations or the messages that trigger those computations and therefore those nodes who want to process those computations can do so but it's not something that holds up the transactions that take place on the blockchain which are much more simple in terms of what they achieve um but you know as I mentioned in the post it's
something that I'm still trying to figure out for myself um what the right model is in terms of you know this trade-off between flexibility and performance so in this example I I think we have to maybe unpack this a little bit because I I'm afraid this might be confusing to people right because first of all let's talk about concurrency how exactly is that different so with or or can you explain how is it possible with something like Bitcoin to half concurrency yeah so the idea of concurrency I mean concurrency literally speaking means you can process two transactions simultaneously but because we're talking about a decentralized network where messages are moving across and there are time delays involved you can also talk about the fact that if if one node sees one
transaction and then it sees a second transaction and then a different node sees the same two transactions in a different order how confident are you that those two nodes are going to have the same interpretation of those transactions so in ethereum you don't have as much confidence as you have in Bitcoin because every transaction can potentially affect every other transaction in other words one transaction might make a modification to some information somewhere in the blockchain database that leads the second transaction to do something different than it would otherwise whereas in Bitcoin because the transactions explicitly label which other transactions they're dependent on and which other transactions they can affect you're able to in most cases process two transactions in a different order than in different nodes and yet still know that you're confident those
two nodes are going to reach the same outcome so this would be relevant if you're talking about uh transactions being in different blocks right or even within the same block I mean it's also relevant if you're talking about two transactions which are seen before they're in a block as well right but so if if it's in the same block I mean with ethereum so let's say uh you're sending two transactions that modify the same uh State uh and then one if minor gets a first and then B the other one B first and a are are you saying that like this would actually cause different results yeah AB could no question oh this is
interesting the transactions have to be processed in the order that they appear in a block if you look at the ethereum white paper it talks about ethereum being a global State machine right so the idea is a global state of the ethereum network and each transaction is a transition to a new state a new Global state so yeah the order of two transactions even within the same block can can yeah so I guess the remedy around this is um yeah so I guess that means you have to deal with it sort of on an application Level of often or yeah you could deal with it on an application Level you could say that we're willing to wait for a block to come in to process a transaction you know to to be confident about the outcome of that transaction then you can be more confident although there's still a
chance that you're on the wrong Fork so you might have to wait for a few locks to be really confident about the outcome of a transaction or yeah you could solve it on the application Level but the the point is that the blockchain itself the blockchain engine itself can't excuse me can't look at two transactions and say these are independent whereas Bitcoin star blockchain it can look at them and say these are independent right and so then you say like well let's let's take that logic let's put it in sort of like an OP return know like let let's hang it into the transaction and then well if you are interested in in it then you execute it if you're not then well let's just like data ignore it exactly um but then how does that work I mean who's going to verify uh how those entities that are
interested in that particular code verify that I mean they presumably they could come to different agreements about what that means no no they couldn't I mean if that's that's a that's they could lie about it oh of course they could lie about it of course but the point is that the the the the data inside the blockchain which is you know some nodes care about and some those don't care about but the data representing those computations is fixed in the blockchain right no one's going to disagree about what's written into the blockchain that's how blockchains work so and the rules of how to interpret that data are also properties of the blockchain which everyone has agreed upon the evm the ethereum virtual machine so there's no way that two honest nodes can get to a different answer um when evaluating or executing the code in a blockchain if there that
is that is true but the big Advantage is that it's sort of explicitly in the consensus thing that like oh the chain it says like what result it came on here here I mean you maybe I could prove that hey I did it the right way you didn't but then I mean who is going to like if we don't agree on that like What entity or who's the judge so yeah you're talking about a field in the ethereum block header called a state route which is essentially the field which represents the entire state of the chain as of the end of that block and that includes the outcome of all the computations that are performed so in a sense what I'm proposing is get rid of the state route right so so what you lose is this constant affirmation to all
the participants in the chain that um they've actually got the same outcome from their computation and then they can all trust each other but I think it's a non problem I'll tell you why I think it's a non problem because if I make a contract in a PDF file right and I and I send that to you by email I don't then phone you up and make sure that your PDF reader is is giving you the same information on your screen as it's running on my screen like we we know that we're running the same client and it's running the same thing and if someone has a weird PDF reader on their computer which changes the number the amounts of money in a contract which they View well well they can do that but it's very very easy for any court that ends up being called upon to prove that
that's the malicious one because they just download it from you know from the internet and they run that the one they get from the internet so you're right in theory that um there could be a conflict between different nodes because you haven't got this Con constant affirmation but they could just conflict anyway I mean one of them could just change the code of the ethereum thing to to to pretend that they agree with the state route in the blockchain but actually give you a different outcome when you query that node so nodes can do anything when they're running on someone's computer but I don't think it's I don't think it makes the chain any less secure not having but but if I did something funny so my note does something funny well that doesn't is not going to change the sort of global state of the chain right like I'm like for me
to actually do some fake data in there or some wrong outcome or something like that well I have to somehow you know take over that that process of updating it versus if I just locally run it I can do whatever I want and nobody can really tell me okay this was wrong I mean you you may be right that you could do the same against the chain you could you could modify the code of your node so that it pretends to agree to the state rout of the chain but it's running a parallel process which is writing something different into a separate copy of the database right I mean really what what you s of talking about then is is it's like proof of existence right the state rout is not I mean the state route is is not proof of existence no but what
you're talking about so that the chain would act to be a proof of existence of the content of the chain the of the content of computations yeah right exactly right yeah no I can I can see I can see that being I guess in some instances that could be useful right if if if the computational complexity and cost is high right so that people can't actually execute it and if people know each other so that they have the recourse to go to a regular court and like with that evidence and say Hey you know here's how it happened you know H so if if basically you want to cut the cost of the com that's all you have now right I mean if all you have now is you still have to go to court if you want to if you want to sue somebody based on
what happened in ethereum blockchain you still have to go to court so you know all you've got is you can wave the state route at the judge instead of waving the content of the blockchain at the judge and telling the judge to go run it for himself but in terms of the actual risk and security it's exactly the same so before we wrap up here let's talk about this company that you founded coin Sciences um so among other things it's it is developing multichain can you talk about some some of the applications that you guys are building uh with multichain yes so we're not actually focused on building applications um and our main thing we're we're helping certain people who are building stuff on top of multichain to do that we're doing a little bit of Consulting work to help them do that but we're very much focused
on the tool itself so the the approach we take is that just like a you know you take like a regular database the people that develop a regular database don't develop applications generally speaking for that database they develop an engine which anyone can use to build their application on top and that's kind of the atude that we're taking with multichain so we're building the engine um we're some stuff like right now we're building a an Explorer so that people can have an easy graphical user interface that gives them a view into what's happening on a chain but generally speaking our focus is on the core technology which will enable other people to build applications are there are there any other those applications that you can talk about yeah I can talk about a few of them in a very general sense so um tracking the movement of physical uh
objects across the world within a large organization um shared uh a shared scheme between multiple companies who want to share and track the between each other I kind of kind of got to remain a bit vague because I've signed a whole bunch of ndas with the people that we're working with um but you're talking about either within a large organization or or between organizations having um a ledger which represents the movement of of physical objects or of assets which are Financial in nature and so what is the what what is the future here for multichain like you mentioned earlier that uh this was sort of initial version and that in the future something a bit more robust would be developed uh tell us about that yeah so there there's two options and I to be honest I haven't yet decided which one
makes sense one is to focus on multichain um for a very long time and create like a premium you know have an open source version and then have a premium version which has a whole bunch of high-end features relating to security and to you know logging and that kind of thing which uh aren't of interest to the hobbyist but are of interest to large companies the other option is to write something from scratch based on what we've learned from how people using multichain which is kind of a highend blockchain engine which isn't dependent at all on the Bitcoin code um and and works much better in terms of Enterprise requirements and and to be honest those are two possibilities um we're learning all the time and and we're trying to you know discern which one of those makes more sense and as things currently stand
um the future is open okay well thanks so much Gideon for coming on my pleasure thank you very much for having you okay so yeah thanks also for listening we we put out new episodes of eps and Bitcoin every Monday you can get those uh on any podcast player you can find on uh apple and of course Android as well and you can also get the video versions on YouTube and that's on youtube.com/ PTC and uh we are still running this thing which is this t-shirt competition so basically you have to leave a real let us know and we'll send you t-shirt a little tiny bit of heads up is that uh we're out of t-shirt so it's going to take a little bit longer but you will get it uh so thanks so much and we look forward to being back next
week [Music] n [Music]