EB103 – Emin Gün Sirer & Ittay Eyal: Bitcoin-NG, Scientists Versus The Church

2 Nov 2015 · 1:09:30

Emin Gun Sirer and Ittay Eyal of Cornell University join Epicenter to present Bitcoin-NG, a next-generation blockchain design aimed at increasing Bitcoin's transaction throughput beyond its roughly five transactions per second. They cover metrics for measuring the security and fairness of Nakamoto consensus, a network emulation tool built to study Bitcoin's protocol behavior, and how Bitcoin-NG's design enables faster initial transaction confirmations. The conversation also addresses concerns raised about the proposal's impact on different network stakeholders.

Speakers

Topics

Transcript

this is epicenter Bitcoin episode 103 with guests imin gun and IAI Al [Music] this episode of epicenter Bitcoin is brought to you by Ledger makers of the unplugged NFC Hardware wallet half Peace

of Mind in knowing your private keys are protected by industry standard physical security go to Ledger wallet.com 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 first class VPN go to hide. me/ epicenter and sign up for a free account today hi welcome to epicenter Bitcoin the show it's talks about the Technologies projects and startups driving decentralization and the global cryptocurrency Revolution my name is sio and I'm M Roy today we are joined by goner and itai Al from Corell University they have come up with an very interesting proposal to scale Bitcoin

which is called Bitcoin NG NG for Next Generation it's one of the most interesting proposals because uh it can this has the potential to change the scalability game in Bitcoin gentlemen we are very pleased to have you on the show very nice to be here thank you so um we already had uh goon and itai on our show uh before but for our viewers that have not seen that show perhaps uh it would be best to have an introduction from both of you we can we start with you goon uh sure I'm an associate professor at Cornell University I have been a professor for about 14 years I've been generally looking at peer-to-peer systems and self-organizing distributed

systems for a long time now um I ended up building a peer-to-peer currency in 2002 2003 uh that came long before Bitcoin and had a distributed mint wasn't as successful um but uh so I've been very interested and it's been great to see Bitcoin success and we've been looking at some of Bitcoin issues that it has faced over the years we've identified some we've come up with some fixes and uh the latest in this line of work is uh Bitcoin NG I'm also the director one of the co-directors for ic3 a new NSF funded initiative looking at cryptocurrencies and smart contracts and eai can we have your

introduction I am uh post doctoral associate in Cornell for the last couple of years uh started working seriously on uh on bitcoin and Cornell uh we published the the selfish mining attack that revealed the some disconcerning facts about the security of Bitcoin and later on I had some better news uh with the miners dilemma uh it it turns out that there is a game played among open mining pools and uh that might reduce the insecurity due to centralization which is something I guess uh we all lose sleep for uh and yeah currently uh we're doing this NG project which we'll talk

about okay so to begin with can we just have your opinion on why it is important to scale Bitcoin and what are the fundamental limitations that prevent vanilla Bitcoin from scaling well so I think this is a very very simple it's a great question to start with um and and the motivation to scale up should be should be self-evident we want Bitcoin to be uh or blockchain Technologies to compete with existing fintech Technologies and at the moment um existing fintech systems like the Visa transaction processing Network can handle really large amounts of volume and uh blockchain technologies have not been able to do this because of the very

nature of the blockchain update protocol um essentially the entire protocol is self-tuning and it ends up issuing a block with the maximum size every so often so that every so often is called the block interval and for Bitcoin that's about 10 minutes uh the protocol is geared to make sure that blocks on average come every 10 minutes and there's a maximum block size so every 10 minutes you're going to get a block that's uh 1 Megabyte or less at the moment so what that ends up meaning is you end up getting a few transactions per second overall and uh that is the sort of the Crux of the the scalability issue because we would really like to be able to support more than a few

transactions per second if blockchain Technologies are going to support say nation states or Go Global or end up doing tiny microtransactions and enable a completely different kind of Commerce so we'd like to be able to push the envelope with blockchain Technologies and this uh block size combined with block interval ends up limiting us I me the scalability debate has been sort of divided against two opinions one is that Bitcoin should be able to handle you know probably like an infinite number of transactions and on the other side uh is that Bitcoin should only handle High Vol transactions and we should expect other systems to be built on top so you're of the opinion that Bitcoin should scale

and that we should be able to rely on bitcoin to on the protocol to to handle as many transactions protected and that you know having systems built on top of it is not necessarily desirable well okay so that's an interesting question I would say that we're agnostic on on that question um that is we would like to develop Technologies for handling large volumes of transactions um we're not necessarily pushing it onto the Bitcoin core um it would be nice in my opinion to see uh High scalability actually adopted into the protocol as long as that it doesn't come with a high cost that is it doesn't qualitatively change uh the Bitcoin sort

of landscape um on the other hand we're completely okay with scalability Technologies being implemented on side chains on or using some other mechanisms that are off the main Bitcoin blockchain as well we are really agnostic uh the people who've been pushing against U making Bitcoin scale are pushing against making Bitcoin scale because they perceive the changes that have been proposed so far to come with a cost they believe that if we were to adopt say larger block sizes that will cause more centralization more unfairness for miners you know and they are right in in having those concerns so that debate is a real genuine debate with reasonable opinions on both sides and um and uh you know we we don't really know so as long

as the the costs aren't there then I think everybody involved in that debate would jump on and say yeah we should adopt whatever technology comes uh brings us better better better uh throughputs and lower latencies so we we are not really pushing for either side of that debate we're bringing something entirely new to the table and uh we are happy to see it either in the core or on side chains or or on some other mechanism it what are your thoughts on this yeah I I I I agree with what go said I want to emphasize that the scale that we're talking about uh really means that we're going to need both things we want to have a highly scalable uh blockchain or blockchains if you use

several of them and on top of them may have uh services that do uh transactions outside the chain uh but whenever you go outside the chain there are trade-offs security tradeoffs that are suitable in certain cases and not suitable in others and you need to go back ER you need to go back to the chain every so often so to to really have the system handle High a very high volume of of uh of transactions you need both of these you need very efficient uh blockchains and of chain mechanisms so then let's perhaps go right into Bitcoin and G can you give us an overview of what is bitcoin and G and how is it fundamentally different from

Bitcoin core yeah sure um uh Bitcoin and G uh allows us uh to remove uh the bandwidth and latency limitations that are caused due to the properties of the of the standard Bitcoin protocol uh we make a change that allows us to uh send transactions as fast as the network propagation time is this means that you can you need to wait for as long as according to the network size you don't need to wait 10 minutes if you think it takes 30 seconds to pass a message from one side of the network to the other this is what you need to wait uh roughly for your transaction to be placed on the on the

blockchain and as for bandwidth we can go as fast as the as the nodes that run Bitcoin can run H whereas with Bitcoin today you have limitations uh that come from the protocol if you try to increase uh the efficiency uh just by tuning the protocol you're going to uh hit a point where security uh starts to drop okay so if I could just rephrase that what what essentially is you remove the limitations of the protocol and you're now limited only by the capacity of the network and the capacity of Networks to to of nodes to process transactions so you know you could look at this and say it basically looks like uh HTTP for

example you know you're limited by the speed of the network and you're limited by the uh a server's ability to to push out information to a client um you know not in the same architecture but is this some sort of similar and than regular protocols over TCP iip that that's a great analogy I think it's very very similar think of it as I don't know if people remember the old days of uset when you used to download uh the news articles uh every so often you would connect to another uh uh uucp host and and fetch everything every so often and um I think that's akin to the the operation of the current blockchain

and um and the way we change it is entirely onto just as as you said it's much more similar to the web uh compared to uset so instead of uh of downloading in batches we are doing sort of a a vetting process online as fast as the notes can process the Ved transactions so just for just for uh clarification in in in this talk when you when you say bandwidth uh you don't really mean bandwidth for information traveling between two nodes you really mean bandwidth meaning how many MBs of data can the blockchain come to consensus at per unit of time right exactly okay and uh and you say that uh with

Bitcoin NG um when when a when a when a user does a transaction then the amount of time that the transaction needs to enter into a block is limited by only by the diameter of the network meaning if the network can uh broadcast this transaction to all the nodes create the block and broadcast the block to all the nodes and if that takes only 30 seconds then the user will have his transaction in a block Block in 30 seconds itself instead of 10 minutes so whatever is however fast the network can run at that is the speed at which the user will perceive the transaction to be included in a block is that right yes that's exactly right okay so uh so with with

these two clarifications perhaps uh perhaps we could go into the uh the most interesting thing in my opinion about uh about Bitcoin and G uh like Bitcoin and G unlike unlike some of the other scalability approaches actually defines a set of uh metrics to measure uh the health and the fairness of Bitcoin at different block sizes and uh and then the proposal improves on uh how how you can achieve scale without sacrificing any of these metrics so I I could you explain what some of these metrics for measuring the health of Bitcoin are and uh give us plain uh plain explanations of what they are trying to measure

uh so uh we we should start I guess with the fairness uh fairness metrics um uh sorry with the security metrics I'll start with fairness uh you we want the system to be fair so if you're uh mining in the system you should get a revenue that's proportional to the mining power that you own and the reason is that if fairness is broken then miners will tend to form big pools because big pools have an advantage uh an unfair advantage and if miners tend to form large pools this they might tend towards a majority and and break the the basic premise of of

the decentralization uh and so fairness is a big issue uh the second security metric we introduce is a mining power utilization which means how much of the mining power in the system is actually used to secure the system and specifically for Bitcoin this means uh the the amount the ratio of blocks that end up in the main chain if you create a block and it ends up outside the main chain in a pruned Branch then this block did not contribute to security and attacker uh needs less power in order to compete with a with the main Network and uh whatever changes we we are uh we want to make in Bitcoin we need to make sure

uh that these two these two metrics remain where they should be so we should have fairness and we should be utilizing as much mining power as we can so there are also some uh some uh performance measures at ti do you want to talk a little bit about the consensus uh consensus delay and some of the other performance metrics yeah so for performance I think uh there are a few of these I'll explain them uh very roughly um one is uh what we call consensus delay and this is someh a funny term for distributed systems people uh such as myself because uh consensus is something that's supposed

to be absolute in the the classic literature H and in Bitcoin it's not absolute it's always with high probability you try to reach a point where everybody agree on History uh but uh blockchains are probabilistic uh probabilistic protocols and so nodes may change their mind and so what we ask ourselves is how long back do we need to look in order to probably have everyone agree on history so if we look 10 minutes ago then 90% of the nodes agree on what happened before that and and so we want the consensus delay to be short we want uh to all agree on what happened one second ago

that may not be possible because it takes time to propagate information across the internet but let's all agree on what happened 20 seconds ago that's already already great in Bitcoin it's closer to 10 minutes because that's the interval between blocks um the second thing is a bit more practical I guess uh if you're if you're trying to deal with Bitcoin as as a user uh this is how long it will take you to realize that you're in a branch so say you're in a branch how long it would usually take you or with 90% probability Take You Until you realize that you were actually on a branch and you should switch to the main chain uh and uh again here we want

uh we want uh to have a short time so we want to realize very fast that we're on a branch and we are uh actually switching to the main chain let's take a short break so we can go to Paris I stopped into lame ojb coin situated in the heart of paris's startup scene and I met with Eric lar Ledger CEO to talk about The Ledger Nano The Ledger Nano is a Bitcoin Hardware wallet based on a secure element it is on a USB form factor that you plug directly inside your computer and it will manage all your private Keys the signature of transaction will be done inside the secure element just never revealing the private keys to the host computer it is

compatible with our own Ledger wallet Chrome app which you can also use for multi signature with cop or coin kite and a large range of third party application such as melium electrum green bits green address and so on the Nano also exists as a cool bracelet wearable so you can always wear proudly your Bitcoins on your wrist the lger Nano is an easy to ous Hardware storage option which doesn't compromise on security if you want to get a secure setup for storing your Bitcoins go to lger wallet.com and use the offer code epicenter to get 10% off your order we'd like to thank Ledger for their support of epicenter

Bitcoin so perhaps perhaps I can I can I can recollect all of these so you have uh you have proposed what are the security metrics which is which is fairness which means as a mining pool grows bigger and bigger in size it should not get more and more uh blocks disproportionate to what the mining power it has so if it has if it has 20% mining power it should only get 20% blocks it this the protocol should not be such that it ends up getting 25% of the blocks when it only has 20% of the power the uh the the other ones were uh utilization that mining power should not be wasted that most of the mining that is done should enter the main chain and

then you have uh the Practical U uh practical metrics like consensus delay which measures um uh uh like what what do all of the nodes agree on in in in history so if I run a node and if uh goon is running a node in Cornell and um if we agree that 10 minutes before this point or these certain set of transactions were in the blockchain and both of us agree on the same set of transactions and all of the nodes in the world agree on that same set of transactions then the consensus delay is like 10 minutes so 10 10 minutes before this point whatever happened in the network is agreed on by all of the nodes in the in the network

and then you had uh metrics which were um how much time does it take for me running a node to realize that I'm am on a branch not on the main chain of the node and the main chain has already diverged from me that that that's precisely right and so these are in addition to traditional distributed systems metrics like throughput and latency uh those are very well established everybody understands what throughput means that's the number of transactions you can clear per second everybody knows what latency means that's the time from submission of a transaction to the time at which you can consider it uh committed for some degree of assurance that you need um so I think I want to contextualize the work here a little bit um so we kind of delved into

the metrics very very quickly um but uh the debate about scalability and sort of changes to the Bitcoin protocol has been marked by sort of vague qualitative concerns and you know I have a lot of vague qualitative concerns about a lot of things in life right and I can get worried about them to no end um so what we tried to do here was actually attach some quantitative measurements to these vague qualitative concerns like people talk about centralization fears well what's the proper way to measure this and uh and I think what we came up with in this paper are concrete um sort of absolute and I think you universally agreed upon uh ways of actually quantifying a number that says well this

is the the level of concern we should have or this is the impact it's going to have on this concern so that I think alone uh when we started doing this work that was our first instinct was let's try to move this from sort of qualitative uh problems and sort of arm waving to a scientific basis and the way to do this is to start with an actual um an actual measurable set of uh of metrics that we could use to evaluate protocols so that's what you saw there um we skipped the the basic ones that everybody agrees on like through and latency we talked about the new ones that we introduced just so we can evaluate new proposals and you've built a

system with which you can actually emulate and measure these uh uh these factors can you talk about the experimentation platform that you've uh developed yeah so I'm really excited about this this is a work done by itai um another student ADM fa gjer my colleague Robert vanessi and myself and what we did was uh to build a platform uh for emulating large scale distributed systems in particular tailored towards emulating the Bitcoin Network so as you know the Bitcoin overlay Network consists of about 6,500 publicly reachable nodes and uh and people ask questions about this and people have a

lot of concerns about proposed changes to the protocol and um and we need to be able to I think evaluate them in some experimental setting and say look you know this new proposal will actually behave in this particular fashion in the wild so we built this this emulation framework to answer questions like this so how does this work in essence we have a large number of machines um at Cornell uh we have about uh in fact well so we have about 500 machines with eight cores each so that's 4,000 cores we we weren't able to use all of them uh until now we used about 1,000 cores uh to to run virtual machines corresponding to uh to uh the uh the actual full nodes at large

in the Bitcoin Network our vision is that we're going to to have a onetoone uh on toone emulation platform I don't know if you guys have seen these like miniature cities that people build you know the miniature Berlin miniature IST miniature London and so forth um so think of the emulation platform as something like a miniature city right so you have the actual Network at large uh on the internet uh what we've built in the lab is a copy of that internet um with latencies between the so for example there will be a node in Nova Scotia there will be a node at Cornell Etc um and we have in the lab emulated the delays and the bandwidth limitations between those nodes so what we can do is we can actually run everything inside

the the lab environment and send messages from one the virtual Nova Scotia node to the virtual Cornell node and have it take as much time as it would take in the real internet in the real world and therefore uh simulate therefore not emulate and see what the how the protocol would behave if we were to deploy it in the World At Large so we can answer questions without experimenting on on real money without experimenting on real things of value and without having to disrupt the world um but simply run closed wellc controlled experiments okay so the what's important here to to realize is that this is an emulation platform and not simulation so we talked about this before the show but and the important

distinction there is that with emulation you have actual uh you're you're not making assumptions about uh how the network will will react and only testing certain parts of um of the protocol but you're actually testing the entire protocol and and simply simulating the network propagation time is that right that that that's right so in a simulation environment what people typically do is they they take the protocol they write a simplified version of it within a s simulation framework um typically on a single machine running on one machine and they need to fit the the code and uh and so forth into into that

Sim environment uh in an emulation world like ours we are not doing that we're running the actual code we run Bitcoin core or we can run Bitcoin XT or we can run Bitcoin NG or any other protocol that people might come up with and uh we simply let it run at its natural speed um we can skip some of the bits like we can skip mining we don't have to actually spend the Cycles to mine we can uh we can sort of uh create the events where the nodes find uh the blocks as we as we control them from a centralized controller um and uh we can then perform repeatable measurements across the network uh using the actual code as it would run and because we're running the actual code with warts and all if there

is a bug in an in a in a in an implementation uh an emulation platform will exercise that bug it will look at emergent behaviors in the actual code it will not just test your understanding of it it will not just test a simplified paired down version of it in a simulated environment but it will actually run the entire code itself now this is really interesting because it it actually brings real scientific qu quantitative data to uh Bitcoin which as you mentioned is missing now because a lot of the debate is arm waving um like some some qualitative some quantitative information but that perhaps isn't uh necessarily of of of good good quality and a lot of ideological and you know

just subjectivism that um that frankly doesn't doesn't really serve the cause uh so let's get into the technical details of NG because there's there's a lot to talk about here can you explain what are the fundamental differences between Bitcoin core and Bitcoin NG so I can give you the the high level View and uh and maybe itai can go into more detail um the the biggest change the big difference and in sort of the 10 seconds takeaway from the N versus core uh is simply that in core what you have is a set of miners who are codifying what happened in the preceding 10 minutes or so they issue a block and that block

records what happened in the past so it's a retrospective protocol and uh and so that leaves you in a bit of a Lurch because um what suppose a block was issued then we're in some kind of a strange state where we don't know what happened we're all sort of every all of the minors are going at it trying to come up with the next block um but but nothing is really set we're not really making progress until the next block is issued and as soon as it's issued we're back in that funny state again where there are a bunch of transactions in the M Pool but we don't know which ones are going to make it into the next block so um so that's why Bitcoin core is retrospective and it's sort of fundamental to every retrospective

protocol uh Bitcoin NG is forward-looking so the simplest difference is every 10 minutes there is still mining going on there is still blocks being issued but every 10 10 minutes what the block that's being issued is doing is it's electing think of it as a soft leader election it's not it's not absolute in some sense it's it's easy to usor leadership from someone else uh by finding another block uh but every 10 minutes we designate a leader who from that point on vets the transactions coming in very very quickly signs them and says hey guys I want this uh this uh new incoming transaction to be part of the the new blockchain so

that takes away that delay between the submission of a transaction until the point you can uh uh you can consider it done and that also changes the throughput with which transactions can be vetted so that's sort of the high level intuition um if people take nothing away from this uh this episode I hope they will take away uh the sort of the central operation and uh and the big difference which is retrospective versus forward looking um but it's IDE you want to describe the the sort of the operation of the protocol at a finer detail between key blocks and micro blocks and so forth yeah I I do want to say something more about the general overview the basic Insight is that uh Bitcoin today does exactly the same

thing only in the wrong order so still every 10 minutes you have a leader election and this chosen leader gets the right to serialize to order all transactions up to that point uh so leader election already occurs and once we realized that we were able to separate the leader election from the serialization and so we put the leader election in the beginning uh of the EPO and for the next 10 minutes this leader creates serializes the transactions and he can do this fast because there is no other leader until the next one is chosen there is no competition here like you had if you created if if you tuned

the standard Bitcoin to create vers frequent blocks so only the leader can can uh order the transactions and he can do so fast with no contention or confusion about what the order is uh technically this is done by introducing uh two uh types of uh blocks instead of uh instead of one we have key blocks as in key frames uh for leader election and uh micro blocks uh that contain the actual transactional data uh they're all put in the same chain so same blockchain structure as in bitcoin's blockchain uh the key blocks are generated with proof of work every 10 minutes or so so really think Bitcoin

uh the same Bitcoin mechanism so if you don't have an issue with the with the security uh properties today so suffer from too many Forks then with 10 minute key blocks you're still fine and uh between these key blocks the minor gets to create these micro blocks uh very frequently think 10 seconds uh it can be smaller than the time it takes for messages to propagate through the network uh it's a really tunable uh tunable parameter and the micro blocks can be whatever size you want according to how much uh processing you think the individual node can the individual nodes can do and you tune

these parameters and you make them you set them in the protocol and you let it go and so roughly every 10 minutes a new leader is chosen and that leader serializes transactions frequently uh to to create The Ledger and so as a user you don't need to wait for 10 minutes until your transaction is get gets its first confirmation you only need to wait for for your transaction to be placed in the micro block say 10 seconds plus the propagation time in the network just to make sure there is no key block you haven't heard of so so that's that's certainly a very interesting idea so that fundamentally means that suppose I I am a minor um in Switzerland which I never would be but

suppose I'm a minor in Switzerland and I managed to find the next uh next uh suppose I managed to find the proof of work puzzle so 10 minutes ago somebody else had solved the proof of work puzzle and from his puzzle I kept on finding the kept on plugging random numbers and I found the solution then uh what what will happen to me is for the next 10 minutes I will get the power to listen to transactions happening the network and generate as many micro blocks as I want to and put these transactions in those micro blocks for the next 10 minutes right absolutely I think it Tai's explanation is was exactly right on in in Bitcoin um the

core regular core uh what you were doing was you were getting elected as a leader and at that time you were committing to the shape of the block for the last 10 minutes and now when you do the proof of work puzzle that gives you the right so it gives you a deferred ability to uh construct the block as you go along so once you find the proof of work you are then able to craft the exact um the exact set of transactions that you want today's magic word is scaling s c a l i n g head over to let's talk bitcoin.com to sign in enter the magic word and claim your part of the listener [Music]

reward so so for example let's let's consider the scenario where um where 10 minutes ago somebody some minor in shinjang Province had won a block and he was creating these small tin micro blocks and putting the transactions in those blocks and now right at this moment I end up winning the winning the next block so I I became leader so why should and so why so why should I include the other guys blocks the Chinese miners blocks in the blockchain that I will build on why wouldn't I be incentivized to just skip his blocks that are putting the transactions in and and uh not put his blocks in because I

can earn transaction fees from those transactions which the Chinese M Miner was trying to earn fees for example let's say let's say there was a let's say the Chinese guy won the block 10 minutes ago and there was Sebastian transferring some Bitcoins to Brian 5 minutes ago and he paid a transaction fee of one Bitcoin now uh ideally like the Chinese guy would would win that one Bitcoin because he put the transaction in his micro block but then when I am the minor am I not incentivized to ex try to put Sebastian's transaction in my own micro block so that I earn the transaction fees in instead of the Chinese guy that's a very good question uh that that was the the main challenge

in devising this so uh what you're basically saying is is the incentive incentive compatibility the the incentives uh for playing uh the way we want the participants to play have to be aligned and the way we do this is that we split the transaction fees in a somewhat non-intuitive way so when you place a transaction in a micro block if you are a leader you only get 40% of the revenue and the subsequent leader gets 60% and the reason is that now the subsequent leader is better off following your transaction getting the 60% uh fee than putting it in his own Epoch and getting only

40% so the the current leader gets 40% of the fee the transaction fee and the subsequent minor will get 60% of the transaction fees that were paid on on that transaction yeah okay so I had a question regarding confirmations uh does this mean then since we have these very short blocks these very short blocked uh confirmation intervals that a transaction can get to six confirmations within for instance 60 seconds is that about right I wouldn't match the micro block uh confirmations to bitcoin

confirmations uh because you don't they don't require proof of work so be being placed in a micro block absolutely okay can you explain the distinction there so can what what would be a good measure by which we could say okay this confirmation is this transaction is valid and we can assume that it's not a doable spend or something like that so to get uh to get six um group of work confirmations like in Bitcoin you will need to wait for six key blocks just as in Bitcoin but your first confirmation is going to come very quickly uh just as we said before so being placed in a micro block means uh is is your first confirmation the subsequent uh micro

blocks are not significant they don't add to your security if you want to have uh more proof of work securing your um securing your transaction then you need to wait for more proof of work to come into the network in the form of key blocks I think the the way to look at this is at the moment uh if so there is this whole example about buying coffee with Bitcoin and uh so the elephant in the room is it doesn't really work unless the merchant is willing to take a huge risk right I go up to to buy something I issue my transaction it's in the M Pool nobody knows what's going to happen to it uh it's just sitting there I could easily issue a double spend there is now double spend as a service so it's become a lot easier to even do

this and uh and what you what you really want to do is is you know so I mean the M the the merchant can always take a zero uh confirmation transaction but he's taking a risk so with NG uh I will issue my transaction the moment that transaction is signed by the current leader uh it's as if it's it's equivalent to having been mined in a single block block so whereas there was the retrospective blocks in the past before now we have the minor saying hey I am the minor who was authorized to to issue uh uh and vet transactions I'm vetting this new transaction to be in the next block so so think of those as one confirmation

transactions and they carry approximately the same weight as a Bitcoin single confirmation and suddenly you can do in a few seconds um what you couldn't do uh before in Bitcoin until 10 minutes had passed away so uh that's that's a very interesting idea that I uh I I do a transaction and I actually get the confirmation maybe in 5 or 10 seconds as long as it takes my message to propagate and the minor to sign and for his block to propagate in the network but uh the question then becomes what what holds back the minor from creating two blocks at the same height and

putting conflicting transactions in those two blocks so for example let's say I want to double spend and I am in a coffee shop wanting to double spend and I create two transactions one to the coffee shop one back to me propagate both both of those in the network and let's say it's a minor in Taiwan that won the block what prevents the minor in Taiwan from creating two different blocks at the same height in block number one he puts my transaction going to the coffee person coffee seller and in the block number two at the same height he puts the transaction going back to me so these two transactions are in Conflict but they are in the blockchain at the same height so the the

one confirmation the immediate confirmation I get from that minor is of is is of less value for the person who's selling the coffee right so you are putting your finger that's a great question you're putting your finger on the second biggest chall when designing the NG protocol and we do not want miners doing this miners who essentially assist in other people's double spends should be uh should not be incentivized by the protocol in fact they should be punished and in this case we have a notion of a poison transaction and uh any any minor caught doing uh a double spend like this will end up forfeiting their block

reward plus all of the transaction fees that they uh that they vetted so there's a a very easy way for other people to recognize and say hey I caught this minor doing something really odd and provide proof of it and you will notice that for for you to actually for not you but in the example you gave for the minor to to assist with that double spin he has to leave behind incontrovertible proof of his Malin so somebody else can say can come by and say look I caught this minor issuing these two kinds of blocks at the micro blocks at the same height and uh uh and that is not that is not good and therefore you should take away the uh the block reward from him so it this is similar to what uh

ethereum has proposed which is the slasher algorithm the slasher is a proof of stake algorithm the relation I know is the proof of fraud uh they also use proof of fraud uh like uh um like other examples and it's it's it's a good technique to avoid to prevent an attack or by retrospectively uh preventing the revenue uh in NG what we achieve with this is that really the um a malicious Miner that Forks the the micro blockchains he's he's in charge of he gets punished just the same way that the

standard Bitcoin miner is punished if ER if it tries to Fork the network I mean you're spending resources and you might lose them uh in NG it's even worse you're definitely going to lose them because you will be proved as a fraud St let's take a short break and talk about hide. me you know setting up a VPN on multiple devices can be complicated it say you want to do like three devices and you have 10 different exit nodes that you want to configure well that's 30 different configurations that you have to do manually in each of those devices OS and that can take a long time high. me makes this super easy with their apps so they have apps for Windows Mac OS Android iOS and Windows phone so

you just install the App log in and boom you're ready to use VPN with hide.me so this is perfect if you're traveling you just install the app on your devices and say you're using public Wi-Fi you turn on the app you connect and you're completely protected against hacking man- in the- Middle attacks or any type of malicious activity and of course the apps work with their free plan to try out their free plan head to hi. me/ epicenter it includes 2 GB of data which is more than enough to keep you protected when you go traveling it also includes three exit noes in Singapore Amsterdam and Montreal and if you use R URL so highp me/ epicenter it's going to give you 35%

off if you ever decide to sign up for a premium account and the premium account includes on limited data it includes up to five devices connected simultaneously so you can put your grandmother using a VPN even your dog tablet you can put on a bpn uh and you can use any of their exit noes and they've got 30 exit noes all over the world and of course you can pay with Bitcoin so give it a try and we would like to thank hop me for their support of EP Center Bitcoin so the other question then is um you uh your your research group spent a lot lot of effort to uh outline selfish mining as a strategy where uh a miner can mine uh a block and keep it secret

and try to mine on that block uh for some time and when he gets two blocks in a row then publish both of those blocks at the same time and this has the advantage that once a miner keeps a block he created secret he gets he he knows what block to build on but the other guys don't so uh how does Bitcoin Ng linked to selfish mining does it does it improve on uh improve on vanilla Bitcoin in its resistance to selfish mining or is it or does it make a difference at all Bitcoin NG shares much of the same trust assumptions as Bitcoin core um in fact in many ways it's this is one of

the big selling points of Bitcoin NG is you don't we're not coming up with any changes to the core uh trustworthiness of the protocol so uh so in this regard our exposure to selfish mining is no worse than uh than Bitcoin core we do not improve on it either the selfish mining work uh provided a patch for uh selfish miners we we had a fix where we ruled out um the possibility of selfish mining by miners who own less than 25% of the hashing power so uh that was the selfish mining work Bitcoin NG has no bearing on on selfish mining at all I I if I can just interject here it it is not trivial

that it doesn't have any bearing or initial design uh made it very vulnerable so it's it's by by uh careful crafting that that it is not more vulnerable to to selfish mining the incentives have to be had to be carefully tuned thanks sa let's not overlook your hard work so like one of the concerns that comes to me is if I a minor Bitcoin NG um suddenly I I need to take care of uh of my private uh of um I need to sign micro blocks for 10 minutes and I need to handle my private key for those 10 minutes have have it in my hot wallet or so and keep on signing these micro

blocks and uh this this kind of uh creates new kinds of things that I need to do and doesn't it also create the risk that um in those 10 minutes somebody's going to uh partition me off the network or create a denial of service attack against me and prevent me for from he can't prevent me from signing the blocks but at least publishing the blocks and propagating to the network correctly so you're right that there is a there is a tiny bit of a concern there but let's let's be careful about one critical fact we are not electing an IP address as the leader what's happening with key blocks is we're picking a key

uh that's going to serve as the next leader so um so it's there are gazillion techniques for how to get that key out to remote locations multiple different locations and uh there are lots and lots of well understood techniques for protecting um websites and other services from denial of service attacks um it's not just uh you mayare who needs to to to be protected it's you just have to get your the ility to sign to a bunch of clones of yours and any one of them can can serve this function and so what prevents is there any way to prevent this or is this just a concern that we're ready to live with um I think it's just a essentially the

way I think of this is if you were to to layer Bitcoin NG on top of the Bitcoin Network you have all of the same features of Bitcoin so you could in the if you wanted to you could make the key blocks big and uh therefore uh end up having every 10 minutes a big block just like you do in Bitcoin but Plus have the ability to fill that time between the blocks with micro blocks being issued and on occasion let's say there is a uh there are miners that get dosed well then they do and we're no worse off than we've been in the past um and that is the worst worst case scenario so I don't really this is not something that I lose sleep over it's uh it seems to me like

uh like we're strictly giving you an ability that you did not have before so uh in terms of the metrics that we introduced before what does uh Bitcoin NG improve on over over XT as we as we try to put more and more transactions into the blockchain per minute or per 10 minutes um er NG xt's blockchain ER is similar to bitcoin's blockchain and so uh it would reach the same uh scalability limits that that it does uh for short term I think that there can be improvement improvement done on the

Bitcoin blockchain by by parameter tuneup there's no reason to think that the 1 Megabyte limit that we have now is the limit that after which everything suddenly breaks um the eventually if the system uh grows uh grows enough then we will hit these limits and uh before we re reach this point the uh scalability uh the scalability limits have to be removed this is what uh the Bitcoin NG protocol is aimed to do so if you look at our emulations on the experimental platform um and what you can see is uh there are a bunch of things that people

can do to a standard blockchain protocol let say take core and make the kinds of changes that XT is proposing which is make the blocks bigger or you could make the block intervals smaller the two are essentially isomorphic in some sense um and we looked at doing both of these things and when you do that as you get the blocks bigger and bigger or as you get the block intervals smaller and smaller at some point the network breaks down and uh and that's that breakdown occurs because the the information isn't propagating fast enough lots of forks are being produced and in terms of the metrics we mentioned before uh when Forks are are going when the fork rate is going up then blocks are being wasted

so minor utilization uh or mining total utilized mining power is dropping because some poor Miner is coming up with blocks that are in forks and are not really making their way into the main blockchain um fairness often goes down because big miners are at an advantage and the small miners who are coming up with with with blocks are typically at these regimes the typical traditional protocols they are the ones at risk they're the ones losing blocks to due to forks and if if in contrast you look at what's happening with Bitcoin and G the response is is typically flat uh where you see regular Bitcoin core or XD type approaches s of doing this nonlinear phase transition

from operating more or less okay to just breaking down and uh and that's because Bitcoin NG can can sort of very smoothly handle uh the these high rates due to its different slightly different protocol so let's talk about what would be required of the sort of changes required to stakeholders uh in in Bitcoin in order for NG to be implemented um presumably since the headers are different this would affect wallets uh it would affect also miners because they would need to change their software can you talk about sort of the the changes needed in order for this to

take place and do you think it's likely that U that they that they would happen so let me start with the most important stakeholder and I'll hand off to itai for the rest the most important stakeholder are the clients right so the your wallets um and uh SPV clients would not have to know anything at all right so they have to be changed none at all and that is a huge win for this uh this the realiz of this protocol um the uh your your regular old client software that is SPV connected your nelums and so forth they can just continue to operate they issue transactions oblivious of what's Happening behind the scenes uh

they they do queries to full nodes uh not having to know anything about this protocol change so I see that as a huge win that that is a pretty pretty impressive win I guess um if most wallets don't have to make any changes um that's that's a huge Advantage yeah no significant changes at least I mean you need to uh acknowledge the different structure of the of the key blocks and the and the micro blocks because micro blocks don't carry proof of work so their validation is is a little different uh but but these are really technical changes there is no fundamental difference um as for for the miners there is really no difference at all uh because the they're mining on a on a

on a block on a block header so if the block is structured correctly and this can be done in a Backward Compatible way then the mining Hardware can can continue to work without change so I think the changes really are uh I guess to two uh two on on on two fronts um right I so one is on the merchant side uh Merchant seeking confirmation um depending on the level of confirmation they need uh they will want to understand the the form the structure of a micro block and wait for a single confirmation um and uh and full nodes of course have to be have to

change to to deal with the new uh new structure um but miners themselves don't have to regular old miners don't have to change mining pool operators uh they are the ones affected the most they need to understand that uh they now are are tasked with a slightly different way of of codifying a block instead of making it all at once they make they essentially buy the right to make a block and then peace meal create the block on the fly so uh so that's I think the biggest changes to the mining pool operators so then wallet wallet SPV wallets don't have to change anything individual miners mining for mining pools don't have to change so what are

we left with we're left with uh payment providers people running full node clients and Mining pools having to change the way that they operate I think broadly this is correct okay and it are we talking about a so we're talking about a hard Fork then for those stakeholders um yes probably um there there is a well a hard fork for the for the Network itself so if you wanted to make this change to the Bitcoin then you're changing the consensus protocol and so you're looking at a hard

Fork uh yeah probably a hard Fork I don't I'm not sure this can be done in any way with a soft Fork but this is this is a challenge let's say yeah so this sort of brings us to the question of this whole skillability debate and the question of governments which we've talked about on the show before um what what what is your what are your general thoughts on on this on this whole debate and and how it's played out and what what types of governments do you think that we would need uh in order for for Bitcoin to you know go forth and and be able to implement changes like

this which are I think we can all agree important for the health of the of the network so um I I think that the community is really maturing due to this uh uh scalability debate uh which which was uh kind of rough at times uh but but it's good it should be rough it's uh these uh the scalability question and the hard for questions are B Both Deserve uh a rough discussion ER and the tones got kind of high uh the the the the big uh task I think is to be

able to to make decisions uh even if there is no uh unan unanimity and to be able to move the protocol forward uh I think that I mean Bitcoin already has some uh some competitors and there will be more uh and I think that if Bitcoin wants to to keep keep its lead uh then it needs to have uh some level of uh safe and confer and conservative agility and and uh Power to to change due to need so I agree I think uh the discussion so far has been um I would say actually it's been far far

harsher than it needed to be and far less scientific than it needed to be I would have liked to see a discussion uh with a bit more hard numbers and less sort of vague concerns and more actual demonstrated issues um so I think we're slowly making our way towards that um but uh but I think it's still an open question I mean it might really be that the the entire network is paralyzed that we are unable to make any changes at all to the core protocol and if that's the case it's really a Pity uh because that would have marked if that were true and I would like to believe it's not true if if it were true it would it would Mark The End Of Evolution end of Lifetime for

Bitcoin um if if we really cannot make any changes whatsoever then then the our only option is to to make the technology better is to move on to a new coin to a new blockchain and uh um and that might well you know that might well be what's in our future and I hope not um I would really like us to see a coherent cohesive single Community I would like us to be able to to roll out new changes I would like us to be able to discuss them in a civilized fashion without censorship without uh without uh you know uh feathers getting ruffled as as uh and people going out there to ruffle other people's feathers and so forth so

I would like to see that discussion happen scientifically and in an orderly fashion um so so yeah um so I'm not sure that we are there really I'm I'm not as optimistic as it seems to be um I have faith in the people I guess but uh but I haven't really seen that Faith demonstrated and and sort of take actual shape in in at least the discussions I've seen so far I I completely agree I think as you pointed out one of the reasons why this debate got sort of I don't want to use word out of hand but people did sort of go uh outside of well it's a lack of scientific of

scientific data like you said you know a lot of the uh uh arguments are either based on on some qualitative data or or or simply just pure subjectivity and uh the lack of scientific data and the lack of of qual of quantitative data uh I think uh played a lot in how this debate sort of got out of hand and the fact that now you you know that you've developed this emulation system uh which with which you can actually test and and and see how um these protocols proposals would actually play out in sort of a real world scenario is is great for for Bitcoin as a whole yeah we think so um

you know indeed so there are anytime you propose a change somebody will come up with you know different concerns there are so many things I am concerned about in real life right um and if I wanted to be really deathly scared of something I really could make myself deathly scared of vague handwavy concerns of all kinds um at the end of the day uh we deal with a lot of risks and and and and sort of disruption due to change and so forth and uh and when you what the way we deal with it is we just look at the numbers and say you know yeah I could be worried about an asteroid hitting me I could be worried about some change I make having all sorts of cascade effects down the line all having all sorts of tertiary uh you know sort of

uh trickle down effects um but but really to A first order of approximation a lot of these concerns are overblown um also I think a lot of the debate has been turned into ideological or political uh discussions even though at its core it's a technical discussion so I would very much like to see us discuss it as if it's a scientific issue with numbers uh with proper measurements and not not just just uh uh convert everything to an ideological discussion that is not to say that there aren't political ramifications they will always be some when you talk about something like a monetary system um but we can compartmentalize those and discuss them

separately I I'm afraid that a lot of the technical discussion has derailed itself and uh and there may or may not be a way to actually roll out new changes I I I worry that if Bitcoin might have gotten too stale and I hope it hasn't I hope that we can enact meaningful change in order to push like Bitcoin NG forward um do you have some kind of uh some kind of ballpark uh numbers on how how better uh how more scalable Bitcoin NG could be over plain Vana Bitcoin like two orders of magnitude or do you have like rough figures on what what is possible today with a proposal like Bitcoin NG and what may be possible in the future while

adopting some other sharding mechan isms that that you or other people are working on so so yeah so I think at the high level there are multiple different approaches to achieving scalability so we I think uh put our stake down and and sort of um paved the way to one particular approach um which is this uh forward-looking protocols that vet after the fact um there are other techniques like you mentioned like sharding which is something we also are looking into um and there are also other techniques like the light Network and side chains and so forth that each bring something new um we see all of these techniques as being complementary um so uh I think I'm a little little wary of doing a

comparison uh you know essentially it's it's it's it's sort of um I don't want to get into a you know a 2.5 versus 2.7 kind of an argument here uh qualitatively speaking we go from having a single confirmation in every 10 minutes to having a confirmation on a transaction in a matter of seconds where that seconds is proportional to the diameter of the network uh in and in in Bitcoin and and the current Network diameter seems to be on the order of maybe 10 to 20 uh seconds or so so to reach you know I I have to qu quantify and qualify a lot of these statements to be really precise um but uh because

we're not talking about reaching every single host we're talking about reaching a fairly large number and so for but uh but uh but I think that alone is is a few orders of magnitude improvement over over Bitcoin okay so that certainly is a is a very important improvement over Bitcoin and would be very practical uh because um it is better than a zero confirmation transaction for for a merchant for example so what are the kind of next steps that you are thinking about regarding the regarding two things regarding your proposal and be your emulation Network because that is uh very interesting in itself so what what are the things that that your group is looking to tackle in the next year or so

so for the emulation network uh we're looking at um learning more about the properties of uh of blockchain and alternative uh chain behaviors um we want to have larger and realistic measurements uh for NG uh we just published the idea and we're uh curious to see uh who who will uh who will pick it up and what will be done with it our contribution here is the is the protocol we're we're not working on on um commercializing it at this point yeah this is a pure research

contribution we're happy to see it rolled into AC coin we're happy to see it rolled into core we're happy to see it used in side chains uh essentially it's just a new idea out there to improve the state-of-the-art in blockchain Technologies and as itai said we do not have a commercial conflict of interest on this front it's just pure regular old scientific research well it's uh definitely interesting proposal and um I mean I I think that that it it does address a lot of these skillability issues in a way that hasn't obviously hasn't been uh proposed before and hopefully you know this will sort of get picked up and and and brought into the

debate uh you know and confronted with some of these other proposals like XT and the bip 100s and so forth and uh hopefully we can come to some sort of consensus around these skillability issues and and take Bitcoin forward and and moveing into the new you know the move it into the uh the new Financial Revolution so that so it can replace all of these things that we would like it to replace so thank thanks very much guys for joining us today uh it was a little short notice and it's a little early there so um thank you for for joining us so so early in the in the morning thanks Sebastian thanks M yeah thanks guys our pleasure to be here so to our listeners thanks so much for joining us we're

enter Bitcoin is part of the LTB Network you can find all of uh the LTB network shows as let's talk bitcoin.com uh we release new episodes of EP Center Bitcoin every Monday you can watch the video version of the show on youtube.com/ epicenter Bitcoin and you can also listen to the audio version on iTunes SoundCloud uh or wherever you get your podcast could be a podcast app on Android or Windows Phone we're available pretty much anywhere as well as Stitcher uh if you'd like to follow us on Twitter we're at EP Center sorry twitter.com BTC and uh you can always leave us a tip and we'll The Tipping address will be in the show description by the way if you're interested in getting an epicenter Bitcoin t-shirt you can do that by just going to iTunes and leaving us a review

or it could be any other platform like if you listen to us on Stitcher or or anywhere else and you can leave us in review there just uh leave a review and then send us an email at show epicenter bitcoin.com to let us know that you've done so and we'll send you one of these cool epicenter Bitcoin t-shirts so thanks again for listening and we'll be back next week [Music] [Music]