 So six months ago Roger very mentioned there was this conference in Hong Kong About Bitcoin cash, so it was probably one of the first very big very large conference about Bitcoin cash and The whole project was not that old it was only like two three months old or something It was already showing sign of going big very fast and I made a talk at this conference About what I would like to see happen in the next few months for you know for the whole project right what kind of new stuff we needed to develop to make that work and today I'm gonna Do more or less the same thing except I had to change almost the whole content Because most of the point I mentioned six months ago are actually done so six months ago I mentioned that We needed a new way to adjust difficulty because the way we had was not stable This has happened in November We needed a new address format because people were confused because between Bitcoin core and Bitcoin cash addresses This has happened as well and I mentioned a few other stuff some of them have made good progress as well, so but before going into that I would like to Okay, there is two microphone now. I would like to outline a bit why Why Bitcoin cash what led me to write Bitcoin ABC? Which was the first implementation of Bitcoin cash and that eventually led to the fork and then we were joined by also implementation So why do that and and the reason is money and Money is this incredible stuff that people use every single day and nobody's has any freaking idea what it is and It's it's quite incredible because even if you go to a bank or some trading company or whatever like people that Actually, not only use money every day, but it's supposed to be their job to handle money Most of them actually don't know what it is. So Money is something that has three characteristics and and and three I'd say it's three use cases and values characteristics that make it good or bad for those use cases And those use cases are more or less inseparable Because if you are missing one of the three or if you do poorly on one of the three then you have a poor form of money and Some bad stuff happen and we're gonna dig into that a bit with What happened to existing form of money? So those three use cases are gonna be medium of exchange Meaning I can exchange some money for good and services with also people. This is a way to transmit value that is convenient preferably a Unit of account so a unit of account means that I can use this money as a unit to measure Value so for instance how much how much I saved right? I I worked and I had the salary and the safe some money. Well, you know, how much value do I have? Created for myself Is there and I can reuse it later, right? So this is a way to measure or or you know, what this is the price of our your stuff, right? So it's a measure of all valuable those stuff are so it's a way to measure value and it's a store value preferably meaning That the value that is represented by that money is gonna hold over time I can trust that if I put some money on the side I can keep it there for for maybe 10 years or even more and I I need to be able to trust that in that time when the time come because I need to buy something big Maybe I want to buy a house or maybe I want to start a company or do something that Require more money than usual. I need to trust that I'm gonna be able to use that money to do that And those three characteristics are what makes money and So Yeah, to achieve that it needs to be easy to transfer money from one people to another Money needs to be fungible meaning that one unit of money is the same as one other unit of money Say, you know, there is something that is scarce durable and transferable that would be precious gems like diamonds, you know rubies whatever Those are not fungible each one of them is unique and if you put one in two and You're reassembled it it's gonna be much less valuable than what it was to begin with So it makes a poor form of money and effectively nobody used diamonds as a form of money, even though they have all the other characteristics there But things like precious metal gold or silver for instance, I can Split a piece of silver in two and then I can melt it and You know melt it back to a larger piece of silver and there is no difference between one piece of silver or another It has always exactly the same characteristics So so it is fungible and divisible that way and To remain valuable over time it needs to be durable Kind of obviously Anything that is perishable is not gonna make a very good form of money This is probably one of the main reason Why gold has been so much used as a money because for the longest time in humanity Gold was a metal. It's so it has the other characteristic and it doesn't oxidize right when Iron for instance is gonna rust at some point. So it's not durable No, we know to make you know special kind of iron, but we you know We are in the modern world. We have a lot of technology But for most of human history gold was kind of the only metal that that you know was durable that way I need to be scarce So you cannot produce new unit of money all the time as much as you want All right, so let's go into the two main font of money that have been used by human for most of history and those are gonna be Gold and fiat money So gold has very good, you know, it's it's very scarce very durable very fungible It's a bit less convenient to divide right like if I want to split the gold coin in half It's not very convenient or to reassemble but it's doable and it's Not super convenient to use as a transfer of value medium of exchange I need to actually transport gold. I need to secure my gold. I cannot do that over a large distance very quickly But this is not the most convenient and this is not very easy to check You know, opiates if I receive in gold. So this is not the most convenient. This is okay humanity use that a lot, but This is not the best and so what happened is that people use gold for a while in some societies and the society grow commerce increase and Those stuff that it doesn't do very well it becomes more and more of a burden So at some point people turn to some authority and the authority is gonna say, okay, I'm gonna emit this fiat money Which is like coins and bills and stuff like that credit cards, you know What you probably use all the time every day and And this authority is gonna say well, you know, those stuff are very transferable divisible and fungible and They're not scarce or anything. So that authority is gonna say essentially you're gonna have to trust me You're gonna have to trust me. I'm not gonna emit a bazillion of those stuff. It's gonna remain valuable What about in practice is that they are trusty trust worthy for like, you know a decade or two and Then they start the printing press And so yeah, on average fiat money is last for 27 years in the world and even the fiat money that have significantly Who'd lasted their life expectancy such as the dollar? Well, the dollars lost 98% of its value since it's been created. So it's Alive by some value of a life, but it's certainly not fresh and young anymore. And so We have this cycle in human history, right where a civilization grow use precious metal and It's not convenient. They use fiat the authority that emits fiat become untrustworthy and the whole civilization collapse into imperiflation and If you walk if you you know are interested in history Every single detail change, but this story is the one of every single great empire being like the Roman Empire or the Ottoman Empire on all of them They went through the same cycle like every single one if you know the history of money, you know like the human history essentially the civilization history and Almost almost 10 years ago in 2009 Someone decided to break that cycle or maybe not just decided but found a way to do it That person we don't know that is called himself Satoshi Nakamoto and Found a technology that was actually doing great on all of those points right and this is This is very very very hard to Overstate or radically important that is That is like literally civilization altering so that is the kind of infusion you need to put side-by-side with you know The printing press or like even the invention of writing or whatever, right? This is something That you know we may use every day right now and be excited about it But this is something that's gonna change human history and and the story of civilization Way after we are dead, but you know you're not gonna see it, but you can Feel good because you're making it happen All right So now we've established why we want to do that and and so That leads us to Bitcoin cash right some people in the Bitcoin community decided that actually This civilization changing stuff at scale of lame We don't like it What we want is like digital gold Because we already have gold, but this one is less convenient because we need to keep computer running all the time too So That's great, and so we had to do something about it And this is what happened last year In August where Bitcoin split in two and essentially know we have two bit greater actually much more Bitcoin No, but we have two main branch of Bitcoin that are gonna be like Bitcoin BTC of Bitcoin car Whatever you want to call it and Bitcoin cash And as far as I'm interested in this is the interesting one, right? This is the one that that is a currency That is actually, you know, we're we're changing so What did we change? We increased the block size to 8 megabyte in May. It's gonna go to 32 That means that we That way we restored the good characteristic as a medium of exchange of Bitcoin That were you know more or less lost when blocks became full We fixed quadratic caching which was some technical bug That makes some certain type of transaction very expensive to validate and we remove a technology that was introduced in Bitcoin core that is called replaced by fee or RBF that is Instead of right now on Bitcoin cash when you make a transaction You can trust even before it is actually mine in the block that it's very likely that you know It's gonna be mine shortly Right, and it's not gonna be double spent or anything because the node on the network decide to mine by default The first transaction that they see and most of them they're gonna see the same one We have I'm not gonna delve into that too much because Tom already did that yesterday, but Essentially Bitcoin core at some point decided to change that and they went they developed this feature called replaced by fee where Transaction are not the first one that the network sees that are gonna be mine, but the one that pays the highest fee and This is obviously completely destroying the usage as a medium of exchange right because That means that as long as someone is not in as long as some transaction is not included in the block then It's worth nothing essentially it can change under your feet at any time All right, so with that we went back to the you know the Bitcoin that we all loved in the early day Yeah That being said, you know, it's It's not magic like we need to continue if we want to grow that stuff to something that is worst-scale We need to do more right that is enough for the scale. We are operating at right now, but we need to do more So what do we want to do? We want to do UTXO commitment and I'm glad to say that there is Thomas that is in the room here that started working on that So what are UTXO commitment? Well right now in Bitcoin people make transaction and those transaction are included into blocks and You play the old story of all the block and you can figure out who owns what money? Well, who what address owns what money? And this is a very long process because you need to replay essentially the whole history of the whole system You need to replay all the transaction that have ever been made one day on Bitcoin to know who owns what money and As Bitcoin gets older and as the people the number of people using it grow larger This becomes a more and more and more expensive process So this technology called UTXO commitment is a way to put in every block Not only the transaction that I've just been mine in that block But a commitment of the whole state of the system who owned what money? Right and as a result of that You'll be able to start a new node get the state of the system from someone that was monitoring it verify that it actually matches What the miner are doing and Start validating from there So instead of having several hours of processing before your software can do anything on the Bitcoin blockchain You'll be able to start it and in a few minutes Get where we need to be So that's a very important feature if we want Bitcoin to grow old without problem And if we want Bitcoin to grow big without problem all right the second stuff I Think we need to focus sense is this concept of pre-consensus and Some people talked about that a bit Peter for instance the weak block is like a form of pre-consensus and to understand why we want to do that you need to Understand what the problem is that we are trying to solve And actually there are two problems Even three problems, but they boiled on to the same technical issue and those three problems are gonna be first the Utilization of resources of the machine that Makes the network work is extremely inefficient. So it goes a bit as follow for the most part a node that is connected to the network does nothing or It does a few stuff, but it does mostly nothing and then some miner find a block and And Frenetically the node start to you know work as like a madman as hard as possible to validate this block as fast as possible and that goes back to doing mostly nothing and There is a very important characteristics of the system that We want the red area where the node Work frenetically to be small Compared to the green area always If that is not the case then all kind of perverse incentives start to creep in and Right now this is actually the biggest problem to increase the block size, right? This is like this Red area so if you take computer that you have right now you you know go to buy a high even a high-end laptop You have enough computing power in there to process gigabyte sized block no problem, right? We have incredibly Powerful computer for very cheap right now and to give you an idea gigabyte sized block is Visa scale essentially so you can process on Bitcoin right now with You know high-end computer. There is not even that expensive as many transactions as visa however We can't quite do it that way Because we would make this red area much larger than it is right now and we would create a ton of perverse incentive in the system and So that's a problem because we want to do that or at least I do and I think many people in that month Do I see Peter? That is saying yes here And and I know like Bitcoin and limited have been working on the giga block test net for instance to See what actually are the limitation there? So it's possible to do it right now, but we are not quite in a state where you want to deploy that because it's gonna have You know we had side effects The two problem the two other problem are zero confirmation right now If we got to compare to credit card credit card settle in two to three months typically Whereas we are able to settle a transaction like you know in minutes on average 10 minutes So on that front we do much much much much much better We don't need a third party to do that. So it's it's all great But there is one thing that we don't do as well as credit card And I think it's quite critical that we get right is that the credit card is able to tell you within a few seconds Yes and no for this transaction with a very high degree of certainty this degree is like not 100% You're gonna get to 100% in two to three months But it's 99% within second. It's that you this is good or this is not good with very high degree of certainty and Right now we are doing very poorly compared to those kind of system And if we want to be used as cash, we need to improve that and there is the flip side of that is that The the positive side is is double spend right you want to say yes This is the transaction that is valid. It's not gonna be double spent But also you want to be able within a few second as well to say no this transaction Like it's non-standard or doesn't pay enough fee or whatever You don't want it to like be a zombie around in the men pool for two days people wondering what is going on Like you cannot stay today in a shop, you know like waiting for the stuff to expire to make a new one so We need also within a few seconds to say okay, this doesn't fit the policy that the manner are using right now on the network you need to You know you need to make another transaction I know that's very important use case right like we want zero conflict on scaling so This is what we want And it's not that easy to get it actually so right now the conversions mechanism that we have if proof of work However, if so if we increase the block size we increase the red zone and we create perverse incentive But if we make blocks come faster we not increase the size of the red zone, but we make more red zone in there and We end up with the same problem right the red zone become non negligible compared to the green zone So what we want to do is that we want to remove work from the red dawn and move it away to the green area So there is as little work as possible in the red zone So essentially you want notes to be talking to each other during the ten minutes and prepare everything that needs to be prepared and when a blog is fun is like Okay, well, I expected that I removed like this transaction and this one at these two ones done, you know So that way the red zone is very small even if the whole system process a ton of transaction And so they are values. Well, yeah, okay This is a journey where you explain We want to converge Yeah, we want to converge You know quite quickly before a block is found and ideally we want to do that So, you know, it tells bigger blocks it helps all kind of stuff But the important stuff is that we want to do it Ideally it's less than three seconds and if it's more than five seconds. It's actually not gonna quite work And and we got to be realistic here. This is the constraint. We are facing if we want if we want to Take market where credit card are used for instance like this is the number we need to be looking at and Putting stuff down to like, you know, 20 or 30 seconds It's better than what we have right now. And if we know to do that, why not? But we need to understand that it's an optimization stuff. If we can get it to this kind of number This is not an optimization anymore. This is enabling new use cases Right, this is opening new markets for us So If we aim for that, what what can we conclude? Well, there is essentially three methods to converge but there is one that I think don't quite work to get those number and I'm sorry Peter, but It's gonna be proof of work like proof of work And we saw the number in your presentation get to 20 30 seconds, which is much better than what we have right now But I think it's not quite enough To get to those three to five seconds because you need to propagate the block and you need to verify them And it's just take too long You also don't find them that often or You find the bazillion of them, but then you know, you spend all your time sending them around so it doesn't quite work So there are two other options That are used within the space or two categories of solution. I would say because those are not Actual solution. There are many variation of those ID, but the first one is gonna be you elect a leader and When there is some confusion in the system the leader is gonna say this or that and And this is what I mean presented yesterday if I'm not mistaken with Bitcoin ng. So Bitcoin ng use the Mining process not only to confirm transaction, but also to elect a leader that's gonna be able to Decide what's going on for you know until the next leader is elected So this is one way to do it The drawbacks is that if the leader Is malicious or if the leader is attacked or whatever then you know like until the next leader is found We are Maybe not insecure, but you know We don't have like all the goodies that we would like to have but otherwise this is something that that works great And the other categories of solution it's gonna be you select a quorum of other actor in the space And you look at what did you yes? okay, and you look at what they do and they're gonna do runs of voting and Via this run of voting and some algorithm they're gonna agree on you know a set of events That they're great on happened And so those two system electing a leader and listening to a quorum come with a different set of trade-offs But are able to converge within the kind of Time frame we are looking at so I would like to Explore what we can do in that area So the goal we must fix to ourselves is like 99% confidence within three seconds. I think this is What we should be aiming for and that puts us you know Further that that that make us better than credit cards essentially, which is what we want Right, you don't want to be just as good you want to be better because people there is a cost associated to switching So if you're as good then People have no incentive to switch So that way we are cheaper that credit card. We settle as fast with high degree of certainty We settle much faster with a 100 percent certainty. So if we can make that happen, we are better than credit card And and the last of and I'm gonna I think it's the last of open to question It's transaction ordering. I'm gonna go quickly on that one because It's been presented as well yesterday, but If we decide instead of ordering transaction the way we are doing right now to choose a canonical ordering Then we have all kind of goodies that follow of that. It's not that big of a change So what we can do with that is like values kind of Proof that something fishy is going on on the network because you can prove that something is not on the block anymore You can really block around much faster because you don't need to specify in what order the transaction are in Anybody on the network can just you know get the set of transaction and reconstruct the block the same way you would have built it That opens ash, you know very large a Very large amount of techniques called set reconciliation. This is like the family of techniques There is a set reconciliation where you have two sets of elements and and you use those techniques to make sure they are the same Those can be very efficient, but work with set not with all their stuff right so I need to allow full parallel Validation which is a problem right now because if you have one step that is serial in your process There is really nothing you can do to make it faster and that's that's a huge issue There is like you cannot throw more hardware at it to make it faster You cannot do anything because you're gonna do the operation one after another and so even though it doesn't reduce the number of Operation you need to do because everything can be done in parallel if there is too much of it You can throw more out there at it, which is you know great All right Yeah, we're gonna renewable a few upcos a lot of people have talked about that so I'm gonna go quickly in May We have you know very basic operation that come in November at least that I see very fine Maybe some other stuff So that's gonna increase the the smart contract capability. All right, so I'm memory Sashay I'm little nicks like that online everywhere. I'm the lead there for Bitcoin ABC and if people have some question this is Right now I had heard that a lot of people don't know what ABC actually stands for in Bitcoin ABC or In the wallet and I just hoping you would tell everyone what that stands for Okay, so originally it was adjustable block size cap Because it was a client on which you can select. What is the block size cap? It was never intended actually it was never intended to be like the lead implementation of some fork of Bitcoin This is more or less what happened but At the beginning was a project of mine to do experimentation and to do research and when this whole Forks started to profile itself I was a bit worried that it would not happen because the process was going quite slowly and So I was worried that they wouldn't be cut ready to run the forks soon enough So I took Bitcoin ABC on which I was doing my experimentation as scrapped all the experimentation on it And I implemented what is known at this con cash now instead of the instead of the various experiment I had in there and then yeah, this is This is what it become So is it true that you actually made the possible that the Bitcoin Fork Bitcoin cash fork existed because of your code and Other miners followed the code and created the hard fork that became Bitcoin cash What is not just me right like there is Various people I'd say So as far as the not software become this was the first one We was ready and because we had some cut ready. It was easier to sell it But there are also people I think John Alfeuble Created the first SPV wallet. So to make sure we had an SPV wallet working at launch Hi, Poyang created a future market for it and started mining it very early on there is just like a ton of a Ton of different people that make that happen. It's not just a one-mind job. Did you all together? know each other and like talk and Like do it together. Yeah, so there was there was a lot of coding involved but there was a lot of talking involved as well trying to go to everybody we could get in touch with and You know convince them that this is gonna work having the code and having a future market were probably the two main stuff that You know help the most in those kind of negotiation because now you have a working software and you have You have a price on the coin so you see that you have demand for it Did you know that the main would? Support the chain that you created Well, they made an announcement So what happened is that a lot of people were still betting on Segwit 2x at the time But I was highly suspicious that it would not It would not work the way people are intended but people like so Bitcoin.com and You know bit main and all those company most of them They were mostly betting on Segwit 2x and they were seeing that as a you know backup plan But if essentially the backup plan they called the main plane. So, you know like Roche verge and who with bit main and Bitcoin.com and various other company When Segwit 2x did not work they just like you know switch focus be pay also switch focus at this time like a lot of company But like, you know what? This Bitcoin core stuff is it's not why we get into the space to begin with so We're gonna support that I want to ask you what the RBF I'm sure there was a reason that the core people Implemented it. Yes, and I don't know actually why they did it It seemed from this point of view. It looks like it was a really stupid idea But I'm sure they had a reason I wonder what those reasons are and how Bitcoin cash is kind of dealing with okay, so The reason is because block were full essentially they implemented that so what happened when block are full is That people start would be in each other more and more by paying higher and higher fee to get into the block right and so What happened then is that it becomes in the interest of the miner to pick the transaction that have the highest fee and not the first one they saw and So that would create a situation where Miner would you know start to create block that are not quite the way other people in the network expect them to be so all Kind of fast relay protocol would not work as well You also find people that have their transaction stuck for several days waiting to expire before they can send a new one You know so when blocks are full and you don't have technology like RBF You have all kind of problem and the way they choose to work around those problem are by is by creating RBF But RBF is I think a bad solution because it destroys your confirmation So the way we're dealing with that is just by having bigger blocks And so we don't have the problem that RBF is solving to begin with I'm a quick one. I'm sorry. We have some extra time. Do you feel okay to walk through those last few slides? We may have skipped I Know that I think there were two slides Yeah, well, I went quickly through them, but Yeah, so transaction already I don't know like this one I Won't spend too much time on it like Anthony did the full talk about that. So But maybe talk about the op-codes a bit more so In the early days of Bitcoin, it's kind of funny because it's not even described in the white paper But the first version of Bitcoin ship with a script language to make smart contracts But it turns out that in the initial version They were some bugs in the way it was implemented Some of them led to security flows and as a result It was decided very early on by the developer to disable the bunch of those op-codes to make sure the system is secure And then later on because there was this idea that we can never do an art fork Then it's not possible to add them back Because we don't have this contraint for Bitcoin cash to actually embrace hot fork once in a while, maybe not every day, but Once in a while, it's good to have them then that allowed us to work on re-inhibiting those all op-codes that were disabled and so You know, like if if some of you are familiar with programming language You're gonna notice that those operation are actually Very basic operation that you would expect from pretty much any script language Right and so are it like being able to do division. I mean like those kind of stuff is not This is not incredible this is like what you'd expect of a well-formed scripting language So this one this set of operation is gonna go Gonna go live in May In November, we don't have like a definite spec of what's going on in November But I think at least one of the element that everybody wants to see in is up that I seek verify Andrew talked about it, but I'm gonna like sum up quickly This is this is a way to verify a signature on arbitrary data within the script language And that means that any authority can publish some data and sign them Maybe, you know, like stock stock price or you know news Who is elected? Whatever, you know, like whatever information from the real world some You know, if I want to make a contract with someone we choose some authority Then we both trust that is gonna decide and sign and then we can make a sign Smart contract based on what? What there is so say we want to bet on who is gonna be president Of the US after Donald Trump, right? We're gonna have two candidates We can contract with, you know, some news organization or whoever I guess it's not gonna be very difficult to find someone that knows the president is and that person at the end of the election process is Gonna sign a message saying, okay This is candidate one or candidate two that is elected sign the process and then we can make a smart contract ahead of time Well, if it's gonna get one, I get the money if it's gonna get two and you get the money Oh, it's a bit of a toy example, but he can do very interesting stuff with that so So yeah, that's certainly going in and certainly more Certainly more is gonna go in but you know, it's not quite it's not quite like everything is not quite nailed down. It's like, you know It's nine months is forever in the cryptocurrency space So a lot a lot can happen in nine months like nine months ago. There was no Bitcoin cash that gives you an idea of how far away this is Okay. Yeah, that's yeah, that's Thank you Yeah, hi, I was wondering if you could comment on the technical debt in the node And do you feel that it's slowing down some of the new initiatives? And if so What kind of plans you have to address the some of the debt in the client? Yeah Yeah, so the cut style the cut style of the client is Not quite up to par with modern standards in terms of coding I'd say You know all the teams working on that and that's true of course as well But we're doing it as well We're just like refactoring various pieces of it to make them better But it's gonna it's gonna take some time and it certainly is slow it on Some of the stuff we do like it makes it's makes doing stuff More complicated also you get to realize that this is a kind of software a Lot of part in that software we cannot patch right, so if you You know if you build an app for the phone and there is a bug in it Then you push the next version and it's all good if you push an opcode and there is a bug in it They're gonna be smart contract on chain that you can never touch Cryptographically secure, you know, this is what the blockchain is for And so you can never fix the opcode without destroying people money Which they are never gonna accept so you can never do it, right? That means that First we're working with scrappy code and we have this contra and that means that everything that is up Related actually move much slower than what you would expect say if you were programming You know some script executor for something else, right like the bars needs to be significantly higher on that one Thank you, Aubrey court developer Bitcoin ABC. Thank you