 David asks for a comment on the recent vulnerability CVE 2018-17-144. David says, it is hard to believe that such a critical bug could happen. What is the post-mortem in learning we are getting from this incident? I haven't studied this in great detail at the moment, so I can only give you a brief overview. The bottom line is that a bug was discovered in Bitcoin Core. In fact, this bug has been copied in other Bitcoin forks, because a lot of the other forks use the same code base, and even other coins. What this bug is, is a transaction validation bug that affects the consensus rules. It allows miners, specifically the ones who can exploit this bug, to create a transaction that isn't properly validated, and effectively has an extra input, if I'm not mistaken. The worst-case scenario is that you could create an amount of Bitcoin from nothing if this was exploited. It hasn't been exploited, the bug was fixed before it was exploited, and it could also be used to create a denial-of-service attack against Bitcoin, and cause nodes to crash, so attacking the Bitcoin network. David says, it is hard to believe that such a critical bug could happen. On the one hand, yes, critical bugs like that, it is hard to believe it could happen, because of all of the review that happens on the code, and so many people running it, etc. Not only that it happened, but it went unnoticed for almost two years, and affected a broad range of versions of Bitcoin Core and other cryptocurrencies, from I believe 014 to 016. Fortunately, it was discovered, and was discovered, and responsibly disclosed, which means that it was disclosed to the developers in an encrypted message, so that it could not be exploited until it was fixed, and for that reason, you need to upgrade. If you're running a Bitcoin node, you need to upgrade to 0.16.3, which is the version that contains that fix. I upgraded my node the day the notification came out, that there was a critical vulnerability that needed an upgrade. Many of the nodes have upgraded, some have not yet, and those are still vulnerable to being remotely shut down, essentially caused to crash through a Misforum transaction. Fortunately, none of the worst problems of this vulnerability have been exploited. The bottom line is that the software that runs cryptocurrencies in general is enormously complex, and consensus-level code, where everyone has to run by the same rules across a distributed system, is the hardest form of software development that exists today. It's probably close to... or one of the hardest, it's probably close to aerospace engineering, and in terms of every tiny change to the code could have a far-reaching effect. In this particular case, it was an optimization in order to improve the processing time for blocks, and this optimization had an unfortunate side-effect, and there was an error in the implementation, as far as I understand, that caused this bug to happen. We will continue to see bugs, software has bugs, there's no such thing as bug-free software. The important thing is to look at how serious the bugs are, and this was a very serious bug, how quickly they're fixed, and whether they're exploited before they're fixed. If they are exploited, what are the long-term consequences of these bugs, and whether they have a lasting impact? Arguably, once again, we see that the network is very resilient, blockchains are much more resilient than we thought. Because of the dynamic nature of the system, because there are lots of independent operators running nodes, because there are lots of developers operating independently and reviewing code, bugs are found, bugs are fixed, and systems are operated when things go wrong, and the system continues to run. It didn't kill Bitcoin, it made it stronger. That's one of the aspects of Bitcoin that continues to surprise me, is how resilient it is.