EB65 – Adam Back & Greg Maxwell: Sidechains Unchained
3 Feb 2015 · 1:41:11
Blockstream co-founders Adam Back and Greg Maxwell join Epicenter to explain sidechains, a proposal that lets new blockchains borrow Bitcoin's security and monetary base rather than launching an independent token. They cover the motivation behind the design, concerns about sidechain security, and the different technical stages of implementation from federated pegs to merged mining and block extension.
Speakers
Topics
Transcript
hello welcome to epicenter Bitcoin the show which talks about the Technologies projects and startups driving decentralization and the global cryptocurrency Revolution my name is Sebastian cuccio and my name is crane we're here today with Adam back and Greg Maxwell uh to anyone who's sort of following Bitcoin and bitcoin's development uh they will probably have heard of of these two uh gentlemen I I was fortunate enough that the first time I went to a Bitcoin conference sort of at the beginning of my involvement in this space it was in Amsterdam in 2013 and somehow randomly I ended up having dinner twice with Alan which was really uh super fascinating talking from about Bitcoin and so we're really excited to
have them on today uh especially because we're going to have a chance to talk about a project that we've actually talked about many times on the show before with different people which is side chains because side chains I think everyone is agree in equipment on that is definitely one of the most interesting and important projects in the space and also very controversial and a lot of people have many questions about it so today we'll we'll get to ask all of those so uh thanks so much for joining us today admin Greg bye bye and just I just like to say that uh it's been so long since we've done sort of a Bitcoin episode we've been talking so much lately about all kinds of other
things like you know Bitcoin 2.0 stuff and decentralized apps and all this other you know interesting thing interesting things but uh it's nice to just kind of come back to the roots right to the good old good old Bitcoin maybe uh Bitcoin 1.1 yeah yeah let's talk about Bitcoin 1.1 um so well let's get started right off okay can you guys um for those who haven't heard about it or for those who have but want to have sort of re remember what sachines are about what is the main thing that side chains is trying to accomplish
yeah so what side chains are trying to do is address a sort of fundamental limitation we run run into in the Bitcoin space so the whole Bitcoin Network and Bitcoin system works based on consensus it's this big distributed cryptographic infrastructure that produces a currency as a side effect of all of the computers coming together to agree all on exactly the same thing and this is quite complicated to get right but most importantly it means that we all have to be doing the same thing and having to do the same thing is really bad for Innovation because it basically ends up being that you've got this enormous difficult to change distributed system that has to decide on the
behavior for everything that's going on in the system and so if you want to make an enhancement or add a feature or do something you know interesting with your Bitcoin that the system doesn't support uh you're kind of stuck you have to convince the rest of the network to add functionality and that's a difficult way to develop soft software and it's politically limiting right users shouldn't have to ask the network for permission even if it's a decentralized network for uh different ways of using the Bitcoin so the obvious alternative uh to side chains is to well let's just start a new cryptocurrency for every kind of application every new feature set every new functionality maybe per every user and uh that works from a technical sense
but it doesn't it doesn't necessarily make a lot of sense from an economic perspective right because money has a sort of value in its scarcity and starting up a new currency for every new feature set you want to deploy uh that doesn't make a lot of sense and there's also no natural stopping point right if someone Forks Bitcoin to create food coin well why won't someone create Fork food coin to create barcoin and uh at the end of the day a bystander looking cryptocurrency on the sidelines may say well I'm not going to get involved in this because it's just constantly getting replaced so the whole idea with side chains is we came up uh now a couple years ago with a very general cryptographic protocol that says you can build an ALT chain like a
separate cryptocurrency system and transfer the Bitcoin values that you already have to and from that system so you can move your Bitcoin into another chain transact in it and gain feature set and capabilities and move coins back if you want to transact with someone who isn't using that chain and so this would hopefully unlock Innovation and allow more technology to deploy be deployed in a rapid Manner and not have the network acting as a gatekeeper now this like you mentioned it is a very dividing issue in the community you know some people are for it uh others have come up being sort of against it and you know there are different arguments on each side why do you think that is why do you think it's such it's such a
dividing issue within among the communities well so maybe I live in a bubble but I've seen some sort of vocal negative voices um some of which are concerned based on uh things like uh you know any any change is a potential risk which is a concern I share and it's actually one of the motivations for a side chains so I want to stop having any changes happen to bitcoin so that's a one vector of concern there are other people who are quite transparently and you know uh open about the fact that they're concerned because uh they have investments in competing systems and that side chains may make Bitcoin more competitive with them
but really maybe I live in a bubble but I haven't seen actually a lot of genuine controversy in the technical circles about this I think the the view of most of the technical people the really hardcore technical people in involved in contributing to the Bitcoin software and really active in the Bitcoin space as opposed to various all coin systems has been yeah this sounds really interesting if it works great and uh let's see how that works out so I would say that that's you know cautiously positive rather than controversy um and from that camp at least yeah I think a lot of the concerns that people have are also around the security and we will dive into that in depth today one thing that I find uh really sort of
astonishing about the side chain side here is that you know we talk of Bitcoin as a Bitcoin with the Big B like the the network and the technology and the little B the the value and then you know you can say all those two are kind of independent right we have people who develop on top of the network but we don't use that thing I think is separated to other way right to say oh we keep using the Bitcoin the monetary value but we separate that from the network and I've or at least you know to some extent and I think that's a
really um a really amazing way to to look at this well I I would even say that it's interesting to say for for mono for the purpose of a money you actually money wants to have a monopoly you know there money works better when it's it sort of grows with a very strong Network effect and money wants to have you know few monies and we get better interop if there's fewer monies but in terms of methods of transmitting money we actually want the greatest diversity of that possible I mean the way I transmit money to you should be between me and you and no one else should have a say in that yeah absolutely I mean I've heard people say something recently it's been confessional to say that
they like the blockchain but they don't like Bitcoin or something like that but it's not actually a technologically grounded statement because Bitcoin is the sort of tokenized representation of security in the blockchain and if you remove I mean and a blockchain is um uh distributed data structure that provides security and so if you if you take the currency out of it you you collapse the incentive structure of it and you have nothing left basically so I don't think that particular site comment uh I've seen it in the media a few times and maybe some some people have commented on that
but I don't think that's actually correct anyway that was a kind of side Trek and I'm not directly related to what you said yeah absolutely um yeah so hey go back to what Greg said about uh being able to extend Bitcoin so when I first started getting interested in Bitcoin and uh technical places I came up with some potential ideas and there are a lot of ideas floating around in terms of things people would like to do with Bitcoin and some of them are quite direct simple and elegant useful things to do to bitcoin and to you know
fix limitations or improve certain aspects of it which if if we had known at the beginning would have been implemented in a slightly different way you know so one example is for the value of a transaction to be part of the same data so because that's absolute for the kind of offline Bitcoin wallets they need to drag some transaction history to tell how much money they have because they're not connected to the network so they can't see the transaction value and if you have the value in the transaction it solves the problem because I mean what happens to them if they don't do this extra work is they end up being tripped into spending all of their money to a massive fee transaction or something like that because they don't actually
know how much money they have whereas if the value being spent is in the signature you know that has to be accurate and the blockchain software will force us at least and so there's a there's a simple fix if we could do a hard Fork it would be easy to do that but hard faults are difficult in a consensus Network and it's it's a live system so you can't just you know there's no there's no kind of data protocol so I have some other ideas to go with those like um being able to encrypt the values so you can get uh you can still have blockchain validation but without leaking commercial confidentiality which is something I think businesses would want to have in order to do you know actual share
trading or company transactions on them at scale and so I got excited about you know could could you get this could we explore adding this to bitcoin and I came to realize that that's actually quite demanding and challenging to do that and so then I came interested well you know probably so I started focusing instead on how could we have a general expansion mechanism for Bitcoin uh that's when I started talking some time ago now about the one-way Peg and correctly uh articulate this two-way pack mechanism which needs um a soft walk to bitcoin to enable is so that you can have
a blockchain without affecting this kind of uh you know software risk factor so I mean if you look at sort of Internet history I mean when um worldwide web first started and you had HTTP 1.0 you know there was lots of very rapid Innovation on the protocol and given you know some people draw analogies between Bitcoin and the web and the internet and so on and if you look at um Bitcoin versus web technology at what people are assuming is a similar early phase of adoption that was way faster rapid experimental development going on and so the Bitcoin call can't really directly accommodate
that kind of rate of change even though the demand is forward there to see some of it so this is not to say that the Bitcoin core is not changing and if you go look at the GitHub a number of things are changing but they're changing in a kind of focused you know consensus preserving sort of critical bug fixing Priority First and less on the wide-ranging must must have sort of Next Generation ideas because you have to you know to to Control software rescue tend to have to proceed in small carefully validated steps or something like that so I I would suggest sort of as the to that we Dive Right In before before we go into
some of the maybe some of the bigger picture issues we diverted into one of the the main criticisms that has been made of side chains and you guys explained to us before a little bit uh and approach that which really sort of turned upside down the idea ahead of side change so I think this is going to be uh interesting from that perspective so one of the main criticism has been that if you know if you have if you have a thousand different side chains and a lot of them only have a very small amount of hashing power mining that chain it would be very easy and basically free because it's merge
mind for any mining pool to attack any smaller side chain and so it's not really clear how the security of the side Chains would work so essentially I guess that the risk scenario would be right that somebody holds coins on the side chain they use those coins uh to get back the coins that have been suspended to move money in the side chain and then they would go back and do essentially 51 attack and sort of uh essentially would be able to steal the money from other people in the side chain right yeah I mean so uh sidechain so there are sort of I guess to say two
phases of a side chain so the first place is maybe a Loosely coupled phase and in that model the Bitcoin network is an SPV client of the sidechain and so if you look at the existing security limitations of being an SPV wallet in the Bitcoin Network the majority of the hash rate of miners could convince you that you've received money that you haven't really yeah so so some context um side chains provide a somewhat different security model than Bitcoin by itself but the differences are kind of subtle because in the long term um Bitcoin miners could also attack the Bitcoin system and they they lose out the transaction fees they would get otherwise and that's that's also true in
side chains the difference is sort of the magnitude of what can happen when you attack so in in uh Bitcoin and in miners Who attack the network will lose out on the on the transaction fees but all they can do is double spend unless they do a really long attack that rewrites a large chunk of the chain in which case they can steal all the coins as well um so there's some subtle differences there in the case where uh a side chain is side chain is an SBE wallet like a Android wallet or multi-bit or many of the common or electrum the common wallets that people use today and so what what side chains do is they they trust the miners mining on the side chain implicitly like an SPD wallet
trusts the miners of Bitcoin implicitly and that means that a large hatch Power Attack that reorganizes a side chain could potentially steal coins that are stored on the side chain it's not just double spend them so I mean it this relates to so your your some of your readers would be familiar with um soft Forks right so there's a wave that has been that has evolved since Bitcoin started to introduce a software change in Bitcoin that is backwards compatible and so I'll just outline that briefly because it relates to this discussion so the idea is that if you look at the network has multiple versions of
software on it right so let's say the current version of software um there's a an operation code called opt true and if if there are uh Bitcoins with an optra script attached to them and it basically means that anybody can take the points whoever can get to the miner first to get the transaction uh verified and validated by The Miner or receive the coins so in practice that typically would mean that the miners would take the point now you can do those today but people tend not to do them because your discount will lose the coins but the fact that the opt-in transaction exists and it can have parameters after it that will be ignored uh is the kind of seed of an upper
backwards compatible upgrade mechanism that can be pushed out into the network and so how that would work is say that we want to introduce a new type of transaction with a particular feature so we will um pull up true in some parameters that describe this transaction you know who the current owner is or so we want to introduce a new signature algorithm like a snore signature or something so it's a kind of crude example so some very technical people might be cringing but I just want to illustrate the point so this signature is in the extension field and the miners that have become interested to support this new feature look at the extended information and
they have a narrower interpretation of what optry means it doesn't mean anybody can take it means to them anybody can take if they have this snow signature with the public key that's listed in the extended op code right and so basically once the mining of this the number of miners who understand this extended interpretation has reached a decent number let's say 90 then the feature can be turned on and the miners would rejects attempts to take that coin by somebody who doesn't understand these extra rules so if I as a naive user go and say oh there's a Bitcoin anybody can take it let me take it the miners would censor that transaction because I don't I've ignored these extended meanings after it so this
software mechanism has been used um several times it was used by bip 16 bit 34 and we've used it we've dipped 30. we've used it to um fix bugs and upgrade the Bitcoin system in the past so it's nothing new and it's just a mechanism that allows us to extend the system in a way that's backwards compatible right and so what why I was bringing it up is if you look at so I mean the idea of slight change is to allow Innovation and upgrade and so on so if you look at the way that Bitcoin currently upgrades itself it's using this kind of soft Fork mechanism and if you look at what's going on the network when a softball is in effect there are maybe two or three kinds of users right there's the miners who have upgraded
to a version of the protocol that understands these extended meetings there's a small number of miners who haven't get upgraded yet and if they see anything contradictory with these rules they're trying their their blocks would be rejected by the hash rate majority and then you've got users who you know some users have upgraded and some users haven't who are just clients right and so as a user with a client who hasn't upgraded you can receive an opt-2 a transaction that was formally controlled by what looks to you like an optra address so you think well that's lucky somebody decided to grab that transaction that anybody could spend and spend it to me but what's really going on is that some extended feature allowed that right and so if you look at it from the point of view
of the number of users who are still on the old version of the protocol they are susceptible to a 51 attack you know 51 of the network could just grab an opt true transaction or all of them and pay it to itself right and the people who don't understand the protocol upgrades would suffer that security downgrade so you can look at a sidechain as uh basically the same thing it's it's more modular so it's on a separate chain but for people who don't understand the sidechain when they receive payments from it it just looks as if you know somebody grabs something uh that they understand in a simplified way and they're the lucky beneficiaries of time right so I think there's you know this is It's just to
say that this is actually much more similar to the way Bitcoin works and people are imagining when they say that site chains are less secure than Bitcoin because actually when there's a protocol upgrade using a softball game Bitcoin the security properties are essentially the same as owning a protocol upgrade in sidechain which is if you're not with the program if you're not validating these things you can be fooled by the hash rate majority and so at any given time in a period after a softball can quickly and they're presumably still lots of clients you know running on the Bitcoin Network who haven't upgraded from previous supports it could right now be fooled by a hash rate majority on
bitcoin so it's not it's not changing as much as people imagine it's changing so um let me uh let me try to rephrase that because I'm I'm trying to understand it and uh now I have so right now I had a way of putting this and now I forgot it so you could go up to the uptrue basically it looks to someone who hasn't upgraded it looks like this is coins I can just take right and and then it's the idea that but if the majority
uh of the miners are aware of side chains are aware of this upgrade then they will know that if somebody takes that coin that appears to just lie there to be spendable and tries to spend it they know that's invalid and they will reject it so as long as more than half are using the new software um you know those rules uh of of the upgrade will be respected and people were in the old they will be confused and and maybe try to take the money but it won't work is is that sort of the way it works that's that's how softwares work and it really has to be more than just a strict majority or there's Network instability potentially as a
result but but that's the that's the idea initially I mean there are kind of soft flight days where I could explain it maybe a more detail but when the version you know this uh feature is implemented it's part of the code that introduces the feature uh there's like a block number version increase and so all four nodes can look at this block version and that from it they can estimate the proportion of miners that are with the program that understand the new feature because you know 90 of the blocks that seem to be being mined in this time interval are on this new version that tells them that it's now relatively safe to use the feature so it tends to get deployed and kind of two-stage thing where it's in
the network but nobody would create one of those blocks until the hash rate reaches its what what has been deemed and acceptable uh mining ratio minor understanding ratio and then those transactions are safe to use I mean if you use them before there's a possibility that somebody could just say oh well I'll take that coin it looks like anybody can take it right so yeah it's not safe to use it until this software understood proportion of miners understands it so so this this uh sort of explains how it deals with the thing that right because when you move a Bitcoin to a side chain you're sort of like suspending it and it's lying there and and you know this deals with that thing but
um can we come back to the question of the merged mining or yeah so so let's we shouldn't correct all right and comes up in side chains discussion is that there's this assumption that side chains have to be merged mind and that really isn't true I mean the side chains white paper is also quite explicit about this that merge mining is an option for side chains but it's a it's a design option in each side chain could choose to use or not use um I think it's almost always a prudent option so we talk about that a lot um but it's not it's not fundamentally necessary the issue that comes up with
merge mining that often gets cited is that um in the case of merge mining you don't have kind of a hardware Capital cost because you're already you have that Hardware to mind Bitcoin and so the the incentive versus attacking is basically do make more money attacking versus mining honestly um and you don't have to worry about you know this upfront cost of the hardware I think normally when we analyze Bitcoin security we kind of ignore The Upfront cost of the hardware just due to latent hash power and uh you know things like purchase Cloud mining that you can buy mining on demand so I just wanted to mention that merge mining isn't isn't really essential to
the side chains proposal um because it does often come up so so then going back to comparing like software upgrades in the in the Bitcoin blockchain and a side chain which is another kind of protocol upgrade right now you could um like re-articulate the situation of a soft Fork upgrade to say that the people who have upgraded and so the subset of the Bitcoin network is upgraded you could view that as an in-chain sidechain right there's a subset of people who understand an extended feature that's exactly what side chains do and the people who have not upgraded are not aware of those rules are susceptible to losing their
coins to a dishonest harsh majority that does understand those features and so basically the sidechain is a sort of if you want to express it that way a generalization and modularization of existing behave like upgrade Behavior so so um one of the advantages of side chains is that by making the Bitcoin Network effectively an SPV client of the sidechain network we get very loose coupling so that the problems on the sidechain network don't leak into the Bitcoin network but we get that at a cost of a different security model that hash rate on the sidechain network can steal all these coins when normally the
hash rate you'd have to compete with is the hash rate on the Bitcoin Network now if there's merge Mining and there are transaction fees hopefully these these hash rates are relatively equal but maybe they're not um and there's some different models that you can think about how Bitcoin should be secure like should Bitcoin be secure as Satoshi said uh if you know 51 of them the hash rate is on us or should we require something stronger like um evidence that the economic incentives are such that 51 of the hash rate will be honest uh you know not an assumption taking that assumption away and using the economics and so there's a risk that you could potentially mine Bitcoin
honestly and attack the side chain uh that it might be in your economic interest to do so and so that's a that's a byproduct of this loose coupling but one of the things pointed out in the side chain white paper is that this loose coupling isn't inherent you can sort of pick your degree of looseness so one possible um outcome for side chains and there are several different ways the sidechain security can be boosted with complex cryptography that we can talk about for hours but one of the pathways is to say well the Bitcoin Network could like a regular soft working rule enforce the validity of sidechain blocks so the Bitcoin Network the Bitcoin hash rate the Bitcoin miners won't allow you to make a slide chain recovery transaction
unless the side chain says you can do this now there's a downside it's listed as a risk in the side chains white paper that now this introduces sort of the complexity of the side chain into the consensus model of the Bitcoin Network Port so it tightens up that coupling something all right on the flip side it makes the security uh story basically the same as the Bitcoin security story where if the miners are of Bitcoin are not totally blowing up the system that coins can't be stolen but I mean yeah concretely that would mean that you know you go through a Loosely coupled phase where you know let's say 85 of the miners are merge Mining and so those miners have both the Bitcoin d and a cyclone d
but there are separate consensus Rules running in there all right and when you if but they actually have the information right so if an attack was going on where somebody was collecting Bitcoin reward for attacking the sidechain The Miner actually has the information there right he's already running the demon and the say team demon is saying wait wait that's that's an incorrect block you know somebody's taking something that they don't know in the way and so you can at some point do a soft fork and what software looks like is just to tie the consensus together so that the Bitcoin D says okay this is a valid Bitcoin block but it also wants a response from the sidechain demon that the associated merge Mind Block on the
sidechain is also valid according to the sidechain and if it requires both of those to be valid then it's a equivalent to a soft Fork I mean you would get the same outcome if the sidechain logic were copied into the Bitcoin code base it's just in a separate game but doesn't this get rid of one of the main arguments for side chains which is that you can have all this experimentation without introducing risk to bitcoin I mean this seems to introduce a lot of risks right so that that's where so so I mean if there are two kinds of risks so what one kind of risk is a consensus risk but the code in the slide chain is more complicated than it's well there's three
I mean there's also just a sheer complexity risk right but if that's packaged up in a Daemon with process separation uh kind of complexity and security risk can be managed the other the other kind of risk is a consensus risk so I think as long as the search engine was deterministic maybe you don't care so much but because it's a generic binary it's hard to be sure of uh determinism you know maybe it has some random factor or random bug that on you know uh some operating systems it says one thing and another operating system it says the conflicting theme and if Bitcoin is relying on that it could Fork the network so that becomes
dangerous and so what you really need is to impose determinism on the you know the experimental or extended so you need a robust way to enforce determinism and that's where abstract virtual machines that are security focused like Moxie and Moxie box going to the picture so what that what that is is the notion that you can have the code that runs for the side chain run in a very simple CPU simulator or simple virtual machine kind of like the Bitcoin script system that um is exactly the same on all of the Bitcoin hosts and that allows you to be very sure that the side chain validating code runs identically on all of the
systems and um so this allows you to get around this risk to consensus from non-determinism um there's another Point here which is that yes tightening the coupling does weaken the argument for side chains somewhat but what's nice is that you have this sort of on-ramp where you can develop a new side chain um the security story is weaker than Bitcoin security story but you don't have to you don't have to cooperate with anyone you don't have to get anyone else to run it you just go and then if that becomes widely used and the security is becomes important and everyone is using and depending on it then it would be reasonable to say okay well this system is reasonable everyone is using it anyways now we'll just regard it as an upgrade to bitcoin and then we can use
tools like deterministic virtual machines to make it a safe upgrade to bitcoin even safer than the changes we've been making in the past um well we've got more lots more to talk about uh I'd like to come back to use cases and uh talk about economics also Bitcoin core development and also talk about you know your company block stream uh that's working on all this but first let's talk about shapeshift our sponsor for today's show uh shapeshift is the fast and easy way to buy and sell altcoins they support I think over about 15 altcoins now and uh you can get started by with shape shift by oh that's
the wrong you can get started with shapeship by going to shapeshift.io and using their currency conversion tool to convert all the alcohols all the altcoins of support uh into any other altcoin your choice so for today's demo uh well we're going to show you the uh ship shift lens um Google Chrome uh extension and I wanted to tip actually I thought this would be fitting for today's show I want to tip Nikola for writing for his excellent articles saving Bitcoin from destruction right here so I I suggest everybody read this article it's on the better
blog.bettercrypto.com of course is a well-known cryptographer and and a supporter of uh of the side chains uh proposal and I'm gonna tip him for his article so if you go to the bottom of his website he's got a donate button right here and I'm going to use uh Dogecoin to tip him on his Bitcoin address so I've clicked on the Donate button I've got the little fox icon right here I can click it oh and um the demo gods are not are not with us today okay I can just take the address go to shapeshift
and I'm going to say I want to send Dogecoin to bitcoin I'm going to paste the address here hit start and then scan the address and there we go I'll send them a dollar now it's just a way to awaiting the exchange in just a few seconds that uh there you go so it's a waiting to change now so as I said the support a bunch of different altcoins they're adding all
coins every week again I really recommend this article have you guys read it no I haven't but uh it seems to be worth at least one dollar in Dogecoin and so we're just waiting exchange now and it should be completed in just a few seconds yeah so the nice thing is you can sort of be your own payment processor like you reverse payment processor like you know big pay goes from crypto Bitcoin to Fiat you can be like do it on your end to go from whatever to whatever other cryptocurrency they support
it's taking a little bit longer for today I don't know why must be running a little slow well it's going to be there yeah but anyway um so uh yeah so shape shift yeah it's a fast and easy way to convert your uh Bitcoin to any all coins or vice versa and you don't even need to create accounts the great thing about it is that your privacy is protected and they only take a small fee for uh the services and that's integrated in the amount uh that you uh that you transfer up front so uh head over to shipshift.io give it a try tell us what you think and we'd like to thank them for the support of that Center Bitcoin so I'd like to come back to uh the use cases for side chains because you know
we also often talk about it uh if I may if I may jump in I I feel like uh we we talked a little bit before um and yeah we will have to come back to use cases but I feel like this is a sort of a key issue and I feel like we haven't sort of cried wrapped our head around this now before uh when we just briefly discussed before the show uh you mentioned the increase in Block size right so that's the way I guess this merch mining uh would be accomplishing can you explain how that will work and sorry
uh yeah you cut out briefly um so another way to look at the side chain is this overflow experiment which is could you increase the block size without doing a hard Fork I could use soft fork in a block size increase and perhaps surprisingly to some people actually you could and the way that would work is that you'd have the Bitcoin block which is say one megabyte and you introduce an extension block which is 10 megabytes or if you want to take it to the extreme like a gigabyte or something huge so that you can think about the centralization side effects of actually practically doing that so you know the Bitcoin blockchain the one megabyte block has a local tree some kind of data structure representing all
the transactions in it and there there are ways to sort of add the links into that which are ignored by people who don't understand the links so you can sort of add a hook in at the bottom of the one megabyte block tree to a whole other tree so let's say a tree for a 10 megabyte or even a gigabyte block could be hooked in there and then you could consider adding a new transaction version and people who look at and understand the transactions in this extension block and then um you know so if the majority of miners are receiving these transactions or
under and understanding them they can facilitate people who wanted to you know do transactions that wouldn't fit in one megabyte because they're very low value transactions or the transactions that are currently happening off the blockchain for example and exchanges and so on um that then they could have a hope of fitting into this larger extension block with some other trade-offs and um so it's easy for an existing Bitcoin user to pay to an extension block address because it would just look like a p2sh address or something they don't really need to understand too much about the criteria of the recipient because how the recipient spends their money using some extended rules and parameters is their problem the sender can send money
you know to other people the harder part is to think about uh how somebody in the extension block could send a Bitcoin to somebody and how that works goes back to what we were saying about how soft Forks work which is that you have uh transactions and coins resting on what looks like an OP true address right so from the one megabyte blocks point of view if people don't understand the extension there might be one suspiciously large opt true address that holds you know all of the claims in the extension block which could be a lot of coins and so if player to receive a payment it would just look like somebody decided to
send you know a fraction of a Bitcoin from this huge Bitcoin address that anybody could take that for some reason the system decided to assign to them and they might have a go at checking those coins but of course the miners understanding the the full details of the extension block would block any such attempt so using those two components you can see that you could soft fork in a larger block and there's something analogous with that between that setup guys
uh hello I think we lost them um foreign so you were explaining how this is
analogous to um so this extension block is sort of analogous to the side chains idea right or operator bye yeah can you guys hear us yeah okay uh Hangouts died right after so we're back yeah so we were explaining the uh how you could consider an extension block analogous to a sidechain so
we described this situation where you could soft focus side chain where the Bitcoin demon wouldn't accept blocks that were uh associated with the merge my block that didn't pass the side chain demons opinions about waterfallon sidechain transaction set looks like and so you have a similar kind of thing but in chain Now with an extension block um and so in addition to allowing you know different block frequency and different block sizes the more interesting thing perhaps is that you could um put additional features in an extension block so it could be extended to do some of the same kinds of things that people
are interested in sidechains to do such as you know support additional types of assets representing shares or other other things that people are interested in if you know smart property and so forth and it could support you know extended smart contracts or zero cash or whatever else people are interested to experiment with um and again for software risk and determinism so you'll notice there's a difference there when we said really to to get the best assurance on a soft Forks sidechain you would want to put the section code in a Moxie box
like environment you notice that that hasn't so far been described for the extension block so the code that is validating the extension block is in the same you know code area and has access to Shared memory or something as the Bitcoin D and so that introduces an element of software complexity risk so you can observe that you could run the validation rules for the extension block could also run in a Moxie box container and I think you would have similar reasons for arguing that that should be done to Control software risk the point here is that when you can think of this sort of extension block line of thinking and realize that in the extreme end case where the rules have been soft forked in
in a side chain the extension block and the side chain are effectively the same thing right so it's sort of another line of thinking to get to the same kind of potential approach to handling these things yeah um so if I may jump in here so you were talking of a Bitcoin client like Bitcoin D and then there would be the side chain D doesn't that mean there has to be an agreement of like the side chain D like what that client does so does that mean there's one side chain client that may have let's say zero cash and and micropayments and different block sizes Etc but there has to be an agreement on what's in there or like how would someone go about creating a new
sidechain and putting it in there um now the behavior of it would be defined by the sidechain game in itself and in the case where Bitcoin is actually enforcing the side chains rules for transactions there'd just be a simple RPC between the two daemons where sidechain D says Yep this this this sidechain block is valid so if it tells you to spend coins you can spend coins and that that's what the side so the the software would still be separate in the case of a side chain even if it were soft forked into the system right so the observation is you can be soft forked I mean the soft Fork just means that a block has to be valid for both versions or both points of view
to be accepted because that means if somebody tries to you know put an invalid sidechain block or take some coins that the sidechain rules don't allow them to take they wouldn't be able to pass that second test and if Bitcoin D is soft warped with the sidechain D it won't allow that because the site gnd says no that's an invalid block right so that would punish people they would lose their Bitcoin reward if they try to achieve that um but as I was saying before right that the whole point of the side chain system is to have loose coupling and this this compromises the loose coupling somewhat so um this is just an extra sort of tool in the toolbox of about 20 different tools that can be used to narrow the gap
between uh foreign guys right there thank you
so what are we doing with that video no we have a video but you uh I I think you're back yeah so actually the overlay seems to disappear do you see the overlay or is it going every time no that's that's not a problem it's okay okay yeah so um where do we get to we seem to be disconnecting we've got to clip here that's okay we'll cut it later okay um yes I I was on a track of seeing that the if you consider the extension block case um and you could have multiple extension
blocks and the um each extension block could would be implemented in Moxie box scripts so the definition of an extension block is basically you know among the uh shot 256 hash of the bytecode that represents you know the compiled version of its validation then you can have quite good Assurance in a side chain-like way because the other aspect of a sidechain is it provides a security firewall so that you know the only people who with coins at risk of the validation rules being in some way limited or defective is people who put coins onto it so you have that kind of assurance between extension blocks and you could you could argue that this may provide a path forward for
Bitcoin to improve its security so earlier we talked about the fact that whenever Bitcoin goes to a softball because some feature has been edited and as Rick mentioned this has happened a few times in Bitcoin there's a transition period where you know some subset of users have not yet upgraded and you know some of them never upgrade and those people are at some degraded security level such that um the ability to do a soft walk admits change to the network and if you have a Moxie box like container and you can put the validation code in and perhaps you can put the main blockchains validation code into a Moxie box container and then
basically what's left is much simpler it's a multi-pox interpreter and some basic thing about you know choosing the longest block all right and so if if we can do that and we have much simpler core code we can reach our higher level of software assurance and disallow further soft Forks which is actually um you know it's a security enhancement for the blockchain because if as a user who is not you know keeping up to date and understanding these new extensions or you know it's basically you could view softworks as allowing miners to giving them additional power to uh proposed rules I mean it's not a black and white thing but it does slightly
Elevate the ability of miners to bring soft forking rules into the network so it would be possible technically to block further soft forks and if you have uh you know Moxie box extension blocks which can be added into the network that that becomes an upgrade mechanism that doesn't need soft work risk because it's still within Network right it's it doesn't require a core change you can introduce a new extension block and all you need is The Interpreter of the Moxie Box by string and the longest chain rules and then you can move coins between them via the core or directly so these are
these are just general ideas that they're not concrete yet and they're not in the immediate future but it's been um some of this thinking has been circulating for a while so from the Bitcoin core perspective we've been working on reorganizing the code base so that it's better it's easier to isolate the code so that that easier to isolate the code that implements the consensus algorithm one of the reasons that we're doing this is because it makes it possible to try out things like moving the whole of the consensus algorithm into a bicoded virtual machine to get better assurances about the consistency of the consensus in the network uh so you can take that idea and extend it more broadly and make it so that you can
extend the network also through adding more code that runs in this very rigid virtual machine and uh and uh you know not have such you know ad hoc process for extending the system um so we want to talk a little bit more about this sort of economics and and big picture questions of that but perhaps to bring this down to a level that is a bit more like graspable for people in concrete and can we get into some of that like for example how would a side chain then be created in in this kind of
scenario where they'd be run as as these extension blocks so I mean somebody would write some codes carefully validate it maybe get other people to audit it and sign you know make a digital signature like you have in in existing systems um and then they would start to transfer you know publish that in the blockchain and start to transfer coins in it and other people who were interested in the features of that Gene would do likewise and benefit from those features but it's kind of opt-in and you know people with coins in the main blockchain or other extension blocks are
not affected by some kind of you know subtle bargain the uh validation of a brand new extension block or something like that so the the point that Adam was making is that they would actually in this sort of Grand extreme version of this idea you would actually have the capability to publish your new crypto system rules as a special kind of transaction and says okay I'm defining I'm creating a new extension block and here's its rules and you would just advertise this into the network and it would get mined into the network like any other transaction and then people could continue to send funds and interact with these new rules that
have been introduced that run in this sandbox in the network but but does that mean the rules will have to fit into a transaction they'd have to fit into a specially formed transaction for it which is why it's very important that the the byte code for this be be succinct um so you'd have to implement the rules in the context of it but a transaction you know can can technically be a megabyte in the in the Bitcoin system today so that's that's actually quite a bit of code and it's more code to go than is in the current bitcoin consensus code right now okay um and yeah I was going to say something else
which is that you know in an Ideal World Bitcoin would have been bug free perfect complete extensible and the core could have been frozen and soft Forks disallowed by some technical mechanism so this this is basically a sort of long-term track to arrive at that position right or to get closer to that position because you know Bitcoin has a set of features and rules which are fundamental to its meaning and nobody wants those to change obviously right I mean the key Point here is that if Bitcoin we have
this sort of twin pooling right where in One Direction if Bitcoin can change it means it can change out from other people and potentially compromise the promises it made to them about the their autonomy and control of their money but if Bitcoin can't change then it's more to bound and can't adapt to people's new needs for their money and so what Adam's trying to talk about here is how do you push the system into a case where there's a a rigid core part which we can use everything [Music] oh and so everyone can depend on that but still have enough extensibility so that when people need to do functionality it's not it's not precluded right so I would like to talk about an idea
that seems to me at least listening and and talking to you as well Adam and hearing you speak about this in in other context that seems to be very Central um to what you guys are doing at block stream and what side change is about which is that this idea of digital scarcity why is that important so I think much earlier Greg had mentioned actually I'm not sure if that was in the prequel or not but the idea of that you know money is a kind of social network so it benefits from Network effects and you know at the extreme if if everybody has their own money supply
it scissors to make have meaning because that's basically an IOU and you know there's no limit right I can print an IOU up to the limit of what people are willing to trust me with and so that's no longer scarce at all and in between we have maybe a situation where so I think I think it's useful for that to be digital scarcity in this sense I think you mean in because you know if we have too many Forks so you start with Bitcoin there were some early altcoins let's say and they grew a bit and then somebody fought them and if if that were to you know if Bitcoin were to disappear and all we were to left with is a constantly sort
of growing to a certain viable size and then flopping because of competition it would be an unattractive proposition Bitcoin would lose you know the properties of money a bad unit of account medium of exchange the store of value Bitcoin or the cryptocurrency that's left would lose its store of value because you know the bubbles pop every three months or something and that that would be you know that would be bad it would lose some of its security because it's not a long-term stable thing it would lose its store a value property and it may fail to reach unit of account property which needs you know uh wider use and sort of uh less volatility which would come with uh you
know more unified use there's another point to this where there certainly are applications for cryptocurrency technology that don't don't involve any scarcity scarcity at all but the networks themselves involve some scarcity right a network particularly a global broadcast network like a blockchain has a limited capacity computers can only handle so much and if you make it too big the centralization goes away so um one of the things you can do with a scarce asset you can't do with a non-scarious asset is you can align the incentives you can say okay well to use my resources you have to pay me uh you have to pay me some some money of some kind because money is scarce I know you can't uh you can't unfairly exhaust all
of my resources because you're just printing an infinite supply of money actually yeah that's interesting so um the other thing that people sometimes wonder about is could you you know start a a new cryptocurrency you'll add support for other types of assets into a cryptocurrency and then use those other assets that are issued by people or businesses or have you as things and I think there's a fundamental limitation which is a blockchain can't validate the scarcity of something that's issued by humans right so you know if if I issued a coin in my garage or something um and I used it as fees I could completely flood the network because you
know tomorrow I could just like to print but so let me ask you to conduct transactions and the problem is the network has no way to know whether I am somebody just playing around or trying to create Mischief or reputable business or bank that has you know some client funds or gold on deposit or something it's not something that can validate so for fees are basically to make the network work smoothly and to preventative service and to sort of allocate resources in the network and for that to be the case they need to be something directly machine readable and understandable like the fact that its case has to be validatable right so if we if we have like lots of people
creating things just definitionally that won't be the case and it also I guess won't tend to be the case in New independent networks that spring up because you know they tend to come with larger and larger numbers of points like a trillion coins or more or what have you right so scarcity sort of definitionally at some point so so scarcity also in that way is is uh kind of element so absolutely necessary for for True decentralization no because if you uh if you don't have that then in a sense you depend on an issue or something I mean I I gave a story good
observation yeah right so I mean if yeah carry on Express the problem I'm sorry so I I gave uh I got to go about side chains so I was like think about it and and one of the things and I don't know if you guys share that um share that view but one of the things I find kind of interesting so like let's say Bitcoin has achieved a certain success today as a store value and and the question is like how far can that go right like will we ever for example be able to say like I I keep my savings in Bitcoin as sort of a prudent person not someone who is like a crazy risk taking uh and it seems to me that
maybe Bitcoin is the only chance right because let's say Bitcoin doesn't work out or let's say we we sort of Hope Bitcoin is going to be it uh but then somehow Bitcoin fails there's the next thing and and then that's it uh but the thing is if Bitcoin isn't it so if it wasn't like the first one and now this is the one that's gonna sort of represent a digitally scarce unit of value then wouldn't there always be the fear or the possibility that there's going to be something else later that's maybe better right so I I think maybe also from that perspective the idea of having a purely digital uh uh sort of
sort of tied to bitcoin did you see that the same way yeah I think that I so from the very first beginning that I got involved with Bitcoin I somewhat felt that this was sort of as a Cypher Punk this was kind of our one chance to get a worldwide used by practice because if it fails uh if it fails people won't sign up for the successor right because they won't sign up because they won't trust it they won't sign up because you know yes sir all right the point you were making and uh but at the same time Bitcoin uh you know as released in the very first version couldn't be something
that replaced all of our Fiat money in the you know Bitcoins is just another digital kind it's more fair Fiat money it could replace the other Fiat monies out there because it didn't have the right properties it had a lot of the properties but it didn't have the scale and the flexibility that you can get with uh you know insecure issued kind of Fiat monies that exist in the world today so that is a lot about what side chains is about is about how do we preserve Bitcoin is the the first one the thing that has the the Irreplaceable unique starting position as being this you know surprise technological Marvel and uh but but expanded out so that it can cover uh the whole world and be used in many more
applications right I mean I don't see you know as as we can see already the viability of side chains and extension blocks and other potential extension mechanisms any reason to suppose if somebody finds um useful extensions and useful scaling improvements or additional features you know the ability to support other asset types why there's no fundamental reason that can't be added to bitcoin you know if it's useful it should be added right I mean yeah I mean so when we talk about like Network effects and internet and so on that that arose because everybody built around an interoperable neutral standard and I think Bitcoin is also has the property of being neutral
there's no proprietary ownership or control or sort of vested interest that's centralized associated with it so one thing we've been talking about uh quite a few times in recent episodes so uh I don't know if you guys are aware of Robert Sam's and his paper on senior age shares and we talked about this about with vitalik of ethereum as well it's the idea of a stable cryptocurrency so um you know there's the question of to what extent is volatility a problem and to what extent is volatility going to go down as Bitcoins more adopted personally I think volatility will remain high for a long time even if Bitcoin gets very widely adopted so the kind of idea of
maybe Bitcoin is going to be relatively fine as the store of value but if you talk of a unit of account um I have some doubts that this will ever be stable enough so what do you guys think of that and what do you think of the idea of um stable cryptocurrencies well and I don't know so much about the um sort of you know funky things where there's some sort of algorithm and Reserve pull that implements a conventional currency stop by buying because um you know talk to some people with an economics background about that and they
were saying that if you look at the existing Financial system typically when those things arise they're unstable and collapse you know they're often constructed as uh synthetic assets built from derivatives in the underlying asset and you have a problem that the the market for the synthetic is different as a smaller market and there's an element of belief and Trust so somebody can bet against it and you saw this where George thoros but against the British pound and and you saw it more recently with the Swiss franc rate there was some loss of um you know confidence or they felt that they had gone as far as they wanted to
go or whatever reasons they abandoned the peg the sort of conventional currency Peg and so even automated systems will tend to have that problem but somebody could decide to bet against it and you know the the algorithm is fully laid out so you decide to do that so many of the specific I haven't I may not have seen the specific proposal you're referring to the ones I've seen in the past often had problems where the the algorithmic behavior could be rigged by a minor censorship of data in the blockchain so there were some really interesting ways to game it um but but you know if people want to experiment with technology like that then more power to them right maybe it's possible maybe it's not but if it's
valuable People to People they should be able to create it um I think that one of the neat things you can get with Bitcoin is you regardless of how you know that stabilized daily currency works the unit of account currency works and regardless of whatever security properties are it could be backed with um very strong Bitcoin behind it um and then maybe you're willing to take some you know trade-off where where you lose some security over how that that system works that that you know maybe to get around problems like minor censorship you build the stabilized currency that has off on the tag rate uh and you know that would be attractive to some people and I may think those people are foolish but
they should have the ability to try out that idea yeah I mean so we we don't know where Bitcoin is going in terms of its kind of wider use you know for the use of it to grow for international settlement or actually to reach unit of accounts theaters um so that's that's quite hazy and speculative I mean we can see it grew very fast over the last few years so you know within a few more years some surprising things might come to pass and there can be some political interest to see a genuinely neutral currency exist but isn't within the kind of remit of a given country or group of countries uh to you know do quantitative easing or have political influence over it so they
could be interest in that and I suppose you could draw some loose analogy to a gold standard which survived you know for I don't know 6 000 years or something plus or minus depending on how you look at it and whilst actually used internationally you know I mean currencies like coins issued by reputable central banks gold physical gold coins were accepted internationally for a long period of time so I don't know if that necessarily Works in in this day and age but maybe um yeah and also you can look at gold and see that even gold is relatively volatile at this point in time so it is yeah
and I mean the other thing is that you could look at a blockchain I mean a blockchain is a good sort of uh Financial networking technology for storing all kinds of things be they shares issued by companies that have some intrinsic right to ownership of a company to you know allocate new share issues and sell those units or what have you but also Fiat currencies could be issued into a blockchain format and there's something interesting about the ability to do that so you know a central bank could make some assertions about their intent so monetary policy committees have usually some remits and
self-imposed or political constraints so you know objectives around the inflation rate or state assurances about the level of quantitative easing they would engage in different um market conditions and some of those things could be expressed as a smart monetary policy statement and enforced by a blockchain so if you took a weak currency and I guess there are a few hundred currencies in the world and we're maybe more used to dealing with the top 50 to 25 of them but some of the lower ones are quite volatile and have uh currency exchange controls and hyperinflation and volatility but if one of those weaker currencies were to issue it's uh currency onto a blockchain
and together with a an insurance that more than two percent quantitative easing and the blockchain can enforce that that could add to their attractiveness of their currency because they would basically be voluntarily um seating some political control to to the sort of to provide a stronger currency assurance um so can we talk a little bit about the issue of mining centralization right so because I I in maybe there's been a few sort of main criticisms of Bitcoin right and I I totally agree with you that the idea of disabled cryptocurrencies well it's very very attractive but so far
there are no implementations although some people told me this new bits thing but I haven't looked into it uh so so there's supposedly that nothing but at least Robert Sam's paper it's not implemented and it's more complex so they definitely will be additional risks so maybe it doesn't work but the other thing is the whole question of the security of Mining and whether Bitcoin mining really is fit uh it will be fit to back the security of a network potentially worth uh you know hundreds of billions or trillions of dollars uh what are your views on that well so I mean the Bitcoin network has
gone through different phases of relative centralization and some of the centralization we see is artificial in a sense that it could be removed with simple protocol changes so for example when you use a pool often people are seeding their votes of which transaction set is valid to the pool even though they have their own hash rate and that's not technically necessary I mean you could run your own full node to decide on which transactions you think should go to the next block and then separately use the pool to reduce variance in mining those those things don't have to be tied together so if we could see those separated um the mining centralization would look
a lot better than it does right now but there is obviously some centralization of writing arising from people who um actually own their own Asics and there's a kind of reversal to actually maybe correct you want to talk about the smart property right so um there's another angle on this where mining centralization occurs because people will they often co-locate their mining Hardware in places where energy is inexpensive uh where it can be held in one spot and there are some dis-economies of scale that show up when you put a lot of mining in one place it's expensive to cool it's expensive to get the power to the location um but but there are still plenty of reasons to to have large mining
facilities and so these mining facilities become they become risk points for the network there are places where someone could seize control the facility and have a bunch of hash power which they could use to attack the network so one of the ideas that I've been working on with the number of other people is building uh sort of Next Generation mining Asics that have intelligence in them so that they have an idea who their who their actual owner is and when that owner is different than the person who sort of has you know physical proximity to it so the idea is there's some keys that are known inside the mining chip and then the work you tell the when you compute your consensus vote you tell your mining chip what to
mine has to be signed or authenticated with those keys uh so that the mining Hardware only only follows its actual owner and the actual owner could be far separated right like you know the mining Hardware is in a data center in Iceland but the owner is you know in Idaho and what that means is that then this physical facility is less of a point of centralization risk because somebody who gets physical control and facility all they can do is you know turn it off or they can begin a very expensive process of trying to Decap each of the mining Asics and trying to extract the private Keys which which isn't practical so I mean you can think of that as a kind of uh
small lease you know so if you buy a mining contract or you buy the Asic but it's housed by somebody else you can opt to use this new feature of the Asic to program it to say well I just bought a 12 month mining contract and so this chip will itself defend against anybody requesting it to mine anything but I haven't signed for that period of time after which it might change its control or it might you know remain in my control and I take physical delivery of it so it gives you the flexibility to further separate ownership from the physical location of the trip yeah there's there's a there's a number of technical measures like these that can be used to improve the centralization of Mining and this has
been real important to us because obviously keeping mining very decentralized is essential to the security of Bitcoin and anything that depends on it right it's essential to the Bitcoin network and to the Bitcoin currency and any side chains um so there are a bunch of tools we can use to improve it um and we're not sure what level of impact those tools will have yet right and I mean you could say also I mean I think you maybe were asking a higher level question like that longer term other you know theories of matter incentive to see decentralization because if if uh cryptocurrency as embodied by Bitcoin is going to have wider use and more value is going to depend on its Integrity now central banks and countries uh all these
kinds of people and large Bitcoin ecosystem players and payment processes and exchanges all have a strong interest for there to be decentralization and so there's an easy way to achieve that which is they just buy and maintain a small percentage of the hash rate each so you know if you imagine in a far future where some segment of uh you know large companies on stock exchanges are involved in finance which is using blockchain technology and then let's say you know a thousand of them worldwide maybe between them they own like 50 of the hash rate independently and like the public at large and other interested people own some then there is decentralization and it's very difficult
for somebody to take that away from them right it becomes a kind of uh balance of power kind of structure I mean right now so some companies some sort of people doing it as a profit making Enterprise but if you're in this position you wouldn't even need to make a profit you could just aim to make not too large of a loss to retain the decentralization and if you're taking a small loss because you depend on the decentralization of the network it's very hard to compete against these loss and you you could make a bigger loss but then that's that's not attractive to do we've seen some weird effects go ahead well I mean one problem that I see with this is this is sort of a public good
scenario you know you and um I don't know if I would buy this that this would actually work but my maybe bigger question uh relates to proof of stake wouldn't isn't that just in in case uh it you know one gets some sort of good working solution uh Superior because you know it essentially the security is the value of the whole network not just the subset which is the value of an actual Hardware you you have a key a key Point here is that if someone gets a good solution and it seems so you know time travel is also fantastic if someone gets a good
solution uh perpetual motion is also a good thing if someone could say you don't believe it's possible so I was very excited when the first proposals around proof of stake um came out in 2011 and thought like okay this is going to radically change our risk factors in the future but um on deeper analysis we ran into some some really fundamental problems that I that basically you could only work around by making a very different security trade-off where you abandon civil resistance or you rely on centralized signers and we've seen this in systems that have been deployed out in the wild where they've deployed proof of stake systems which were attacked and
then they resolved them by applying things like a developer signing signing blocks to prevent reorganizations so if it were it would be very interesting but it seems that it's probably not without some different security model different security models can be okay um but they're harder to analyze and it's not it's not clear that you it's clear that you don't get the same thing you get from Bitcoin it's not clear if the thing you get is is actually useful yes a couple of things at maybe so one is there's a sort of economic principle to mining so there's a kind of mining commodity price that the market finds where miners will be willing to expend up to the current
market price of the commodity to my net and so if you radically change the cost of getting coins you know presuming there is still mine mining going on there's a potential for that economic self-interest to flow somewhere else right to result in buying political favors or influencing this committee or if we're asking the committee that's handing out coins or with that that built up economic demand has to go somewhere so it's maybe not necessarily a bad thing that a commodity costs has a production cost right um
to add a little more color on the the proof of stake uh system right there's it basically a general a generalized counter argument that that you can basically take any proof of stake system and say well okay what happens if you just uh you own some coins say you owned all the coins at the beginning of the network um the network goes on you sell your coins you exit the network but then later you show back up with your original coins and create a simulated Network a second Fork of it and you show it to someone who's new to the system and they can't distinguish between the honest Network and the dishonest Network so that's that's a very fundamental difference and so what you basically end up having to do to fix that is to say
okay well we're not actually going to use proof of stake as our consensus mechanism we're going to use like ask a friend as a consensus mechanism and you can do that but it has a very different security model it's what Bitcoin explicitly doesn't do because ask a friend is incredibly difficult to automate in a secure way because of civil attacks you know people who pretend to be many entities in order to rig the state of the system um so it's a process that gives you a very I think the proof of stake of it is really a distraction right the security of that system reduces to whatever you do to to repair the nothing at stake attack and sometimes those trade-offs are good in some environments and maybe they're not good in others yeah often it seems to degrade into a different proof of work which is to grind alternate
transaction histories to find one which results in you receiving the coins so you know if that if that's how it degrades you're better off to stick to a proof of work because you can build A6 for it which avoid I mean so if you if you were to find a proof of work that can't be optimized by Asics which which seems generally impossible but hypothetically then um it's vulnerable to you know renting equipment on a temporary basis so going and renting a large proportion of Amazon's Computing infrastructure so you really don't want short-term renting of mining equipment and if money equipment is generic as would be the case for you know grinding alternate transaction histories for proof of State then you
have a problem there so I mean if if somebody finds a solution I mean as Greg said he was interested in it in two external limitations and if somebody does find some magic that solves it great you know Bitcoin would be very happy to see that happen and would adopt it so so if this is interesting to you you should look um so Andrew Andrew Polster wrote a little white paper that sort of summarizes this the common deep technical understands yeah so it's it's got some good information although what it doesn't try to do is do a point by Point rebuttal of the infinite series of sort of ad hoc patches that people have tried to do to get around the fundamental issues um but that's pretty interesting um and I and I recommend people
familiarize themselves with that so I have some good food for thought um but yeah if it's made to work in a model that gives good security it would be it would be useful to use just uh I haven't seen it yet and a lot of the things we've seen proposed recently for proof of stake are actually older ideas that had shown up on bitcoin talk and in Bitcoin Wizards a couple of years ago and had sort of been discarded because they the goal really there was people were trying to get proof of stake to offer a decentralization and security like Bitcoins and you know couldn't couldn't use some of these ideas to achieve it but maybe they're they're still useful if you're willing to make some different trade-offs in the security model well maybe at some point we will have to to come back to this topic because it's
it's one that's also been coming up uh and we I it'd be really interesting I think to to spend some time uh really digging into that because um but yeah [Music] um so what is the the timeline for uh for side chains when by what time date you think you're gonna this is gonna be implemented or what parts of it they're gonna be implemented or what what time sure so what we've been trying is we've published the the initial white paper and gotten um sort of a very widespread response to that and I
I consider it a big success not just not really because of the excitement it's created though there's certainly been a bunch of that but because um lots of people have reviewed it and commented on it and haven't um haven't surprised us with any sort of deep fundamental flaws that you know weren't brought up in the paper and that there were unknowns that's sort of a big point of success what we've been trying to do with the work that we're doing on side chains is to avoid exhausting review capacity so there's this problem in the cryptocurrency ecosystem in general where someone will propose some system and you know I walk up and go you know nope insecure I break it this way it's toast and then they'll go okay okay I'll fix
that and they apply some band-aid and then I'll walk up and then it takes me you know 10 minutes to break it and then they apply some band-aid and it takes me an hour to break it and then they apply some more Band-Aids and some other people come and they break it after weeks of work and at the end you get this sort of patched up system which is maybe secure because no one knows how to break it right now or maybe it's insecure because everyone got exhausted in reviewing it and so what we've been trying to do with the side chains work is is there's this trade-off where we want to have a very interactive development process for this infrastructure but at the same time we don't want to exhaust review capacity by you know putting stuff out that people
will analyze and then it has you know it has easy shortcomings and then it is sort of exhausting that review capacity um but one of the things we came up with in the development of side chains is a way to do this sort of soft launch of it where um you can use all the sidechain technology but with uh with a weaker security model called the Federated Peg so the idea is that that instead of soft forking the changes into Bitcoin for a side chain you create a side chain like normal and then there's some Federation of functionaries these are parties that hold private keys and they'll sign transactions if would have permitted the transaction to occur so they're sort of standing in as
a protocol Gateway adapter now the trade-off is that if they wanted to they could just steal the coins um so there's some protection against that in that there would be a threshold of them so this is laid out in one of the appendixes of the side chains white paper and What it lets us do is release sidechain software people can start using it they could use it with real Bitcoin real value just reduce security because of the risk of the Federation steals the coins um and then we can gain experience with the technology and show that it's useful to people and that has value and that you know that it's realistic and that the software and so we're and it doesn't do anyone any good to
release something that's trivially insecure and so it's sort of done when it's done um and then beyond that we have to see where it goes from there it'll take some time for the initial system to mature and for people to gain confidence enough to start saying okay well where can we start introducing the soft forking additional script op codes to to make it so you can do it without the functionaries without the the Federation so by what time do you think uh we will have uh some of these side chains running I mean that there may be the lower security ones with the Federated packs yeah just a couple months two months one month two months oh yeah yeah we have them sort of like the
people working on it have privately versions of it that run today and we have for we have for some time now it's just that it's all immature and buggy and uh you know not really ready not really ready to burn people's review Cycles on it and I don't want to publish it and then have people go yeah this I can crash it like this I'm like okay yeah we know that it's a demo it's got of Integrity before it before it is really worth people's time to review but the actual technology is very easy to develop in the context of just the Federated pack so um and
well I don't know if you want to maybe very very briefly what's the idea so with block stream you guys raced uh quite a lot of funding what is the business model behind this or are the investors who put in money do they think of this more as a sort of a public good that and and maybe there are also Bitcoin holders and they think this makes sense because it increases sort of indirectly maybe the value of their their Bitcoins yeah okay so there's there's definitely an element of um public good here and in particular a special form of public good
right which is you know building infrastructure that Bitcoin needs going forward um but there's there's also other business angles on this because um there's a line of thinking um that I agree with which it says sort of the the best kind of Charity is self-supporting right that you can build a business and the business will receive money because it's doing things people want and then you can use that to do more good build more infrastructure and that's a more sustainable model than just uh you know putting money down a hole and hoping some good comes out at the other end so it turns out that once you have you know the sort of future for Bitcoin is infinitely flexible because you're not stuck in one network there are many businesses that you can
create out of that but you have to get to that first so one of the reasons that we raised a fairly large amount of money was to be able to have the runway to go and give a decent shot at building this complex secure cryptographic infrastructure required to make the other folds of the business possible and so to give you a taste of some of the other things that we're doing I mean what we're doing is far beyond side chains is taking some of the cryptographic concepts of Bitcoin on these decentralized provable secure systems and extending them out into the greater business world so allowing institutions to make proofs about their books and their finances and tying that back in
um to the to the Bitcoin blockchain so being able to make you know smart contracts which are dependent on those but to actually make that real and make it worthwhile Bitcoin itself has to be more flexible another end goal on this is that we we have a way to build um bank-like Services private servers that can achieve really high transaction volumes um we're talking about you know tens of thousands of transactions per second like the kind of thing you'd need to run in exchange in a cryptographically approvable way but also can't seize people's funds so that they're they're have better security properties than the existing systems but in order to make that kind of system possible again you need a kind of Bitcoin ecosystem which is more
flexible and can speak to um more powerful external systems so I mean I think um Bitcoin has a lot of I think the smart property and smart Contracting features of Bitcoin have a lot of potential Beyond Bitcoin as a currency which is to say that you know your Bitcoin is also providing a kind of real-time audit capability which is lacking in a financial system when when something goes wrong in the financial system you don't tend to find out until a year or two later after an audit you kind of uh call them like post-mortem audits or something right you you discover the problem and it's too late and you've got some you kind of collapse and um so with the blockchain like mechanism
and a real-time audit it basically means that each unit of value that you receive comes with a compact proof of you know full Balance Books and audit of the entity that it comes from so if you build out into the further future where let's say a company and you know all the internet work companies eventually have their income and expenditure and dividends and shares all tracked on a blockchain you can avoid some systemic risk kind of effects right where you don't really know like the credit
rating of a company or you know the credit rating is misleading or that it it turns out it has some large undisclosed debts or you know has a an insurance policy against some liabilities but the insurance company is overextended so all those kinds of things can if they're all represented you know all those liabilities and assets and money flows are Representatives in a blockchain format with a real-time audit you can potentially squeeze out a lot of systemic risk from the system and one of the interesting things is because of some of the cryptographic features you can build you can provide for companies with commercial confidentiality about you
know who they have contracts with what their profit margin on those contracts are how large the values of you know the recurring payments for a monthly service contracts all of those kind of things can be hidden from public View while simultaneously validated so you can make the books add up without disclosing the values due to some kind of encrypted value stuff that can be made to work um so I think that's a very interesting high value thing for Humanity to get that kind of assurance and I think ultimately you know regulators and policy makers and Central bankers and businesses the society at large will
value suit that and see it as a way forward but they're going to need help to migrate into in order to make it really valuable for them it's going to need to tie into systems like Bitcoin and uh there's just a lot of cryptographic development we have to do to span from what the world is today right and you see also some limitations in the Bitcoin ecosystem where people are over time improving the security mechanisms right so you know most of the Bitcoin ecosystem isn't directly using smart contract assurances initially you know so where you have like a failed exchange like Mount gold people are
pretty much Crossing that in a conventional uh credit where the nurse prudently operate business sense and then we're migrating you know people are talking and starting to deploy multi signatures and ultimately actually the business logic can potentially be implemented in and enforced by the blockchain so to give an example you know let's say if you and you might get compromised and there's a central server somewhere that
makes a second signature and it won't sign if you go over the transaction volume for the day so the problem is that's you know that's a step forward Improvement but if something compromises a central server those limitations no longer apply so with a bit of work in extending the smart Contracting ability you can have the blockchain enforce that business logic and that that extends and scales ultimately to you know you you want to be programming to get the most Assurance by having the blockchain as a kind of narrow AI that's perfectly honest important as rules so yeah that's where the future lies in the longer term yeah no I mean absolutely I think there's
going to be a lot of a need for for this kind of thing and uh the capabilities to actually Implement those is going to be you know they're going to be extremely rare so I'm sure you guys will be in a great in a great place to uh to help making a lot of these things come true now um we're kind of at the end of our show we went very long I think this may have been our longest episode ever or like maybe second longest or something um so thanks so much for joining us today uh I must say it was it's such a complex project and and my understanding of it has been a little bit turned upside down so I'm still trying to wrap my head around some of uh the aspects
and I think I don't know if you feel the same way um but uh yeah so uh thanks so much for joining us today guys thank you it was fun thanks um so if people want to learn more uh I think the best way is probably uh your website blockstream.com is there some some other place you want to appoint people to yeah side chains white paper is a good place people haven't read it yet uh and then I encourage people to go and read what's being written about out in the wider Community right ultimately if this stuff's going to be adopted and used in the Bitcoin space it's more than about what we're saying about it absolutely
and we definitely look forward to to some of those first side chains coming out and and being able to try them out and and see how it works yeah um yeah so thanks so much for joining us and uh thanks so much for you know all our listeners uh to listening uh to this episode uh we will be back uh next week and if you want to you know you want a support show you can follow us on Twitter at epicenter BTC you can also leave us a review on iTunes or sign up for a newsletter which goes out well once a month now although we will also be sending out the episodes on there and you can do that at Epson and big on.com newsletter so thanks so much and we look
forward to being back soon thanks