 Is there a way we can get the number of Bitcoin nodes or downloads worldwide or per country? What is the difference between reachable and non-reachable nodes? Yes, there is a way you can get the number of Bitcoin nodes. Again, one of the places to go and look at that is a website called BitNodes. It shows you an interactive map that you can zoom in, and it has little blue dots for where there are Bitcoin nodes running. As far as downloads worldwide, I believe that GitHub has certain statistics, but there are so many different ways you can download Bitcoin from so many different sources, that it is probably difficult to get an accurate number for downloads per country. What is the difference between reachable and non-reachable nodes? Really, the difference is that some nodes have opened the Bitcoin port. They basically advertise access to the specific TCP port for Bitcoin. That means that other computers can connect to them on the public internet. Their Bitcoin port is accessible on the public internet. In order to do that, you need either a computer that is not behind a network address translation system, which is usually like a home wireless router or a home firewall. Those usually have network address translation, or a network address translation router, that has a universal plug-and-play or UPnP so that it can open and forward ports inside. You have to do a bit more setup to make your Bitcoin nodes accessible from the public internet. A lot of people don't do that. They don't do that for various concerns, including that they are advertising that they are running a Bitcoin node, so people can find that and correlate it with their IP address, which is not necessarily a big risk, but it does appear to be a concern. Or because it is technically more difficult so they don't figure out how to do it. Of course, there are nodes that are deliberately hidden, and those are the ones running on top of Tor, the onion-routed network. Tor-running Bitcoin nodes, which are called on onion sites, are accessible over the Tor network, but nobody knows exactly where they are, so they go for another level of hiding. Nobody really knows how many reachable versus non-reachable nodes there are. In order to find a non-reachable node, it has to reach out and connect to you or a node that is keeping track of IP addresses. There are some software projects that are attempting to count these by counting IP addresses that are found online. The bottom line is we estimate that there are approximately more than ten times the number of non-reachable nodes than reachable nodes. Let me just correct the terminology. The correct terminology is listening nodes versus non-listening nodes. Listening nodes are the ones that are reachable on the public internet. Non-listening nodes can make connections out, they are reachable in that direction, but they are not listening for connections coming in, or they are not available on the public internet in that way. We estimate that for the 10,000 approximately listening nodes that exist today, there are more than 100,000 non-listening nodes, but it is very difficult to get an accurate number. Why did the number of Bitcoin nodes drop after March 2018? I don't know which chart you are looking at, but I don't really see much of a drop. Probably the best site for looking at Bitcoin nodes that I know of is called BitNodes. What I am looking at here is a peak of about 10,000 in March, and today's number is at 8,207. It is gradually declined, but not really by that much. My guess is that part of the reason the number of nodes goes up and drops is really reflective of the interest in cryptocurrencies. The interest in cryptocurrencies is 100% correlated to the exchange rate of Bitcoin. Price goes up, and everything goes up. Excitement, attendance of meetings, website hits, views of my YouTube shows, sign-ups for the MOOC, and a number of nodes that people try to start nodes to learn more about Bitcoin and want to participate. Then the price drops, people lose interest, and the number of nodes goes down. Really not that big a deal. It has been around 8,000 to 10,000 for several years, and it doesn't vary that much. There seems to be a core of dedicated users who are fairly persistent at running nodes. Most likely, these nodes are related to professional uses and professional purposes. I think that is why we saw a slight drop after March. There comes a point when the price goes down, when the people who were holding on for a couple of months, hoping for a rebound, finally give up, and that's what happened in March. Since the Bitcoin network highly depends on fully validating nodes, was there, or will there ever be an option that will implement incentives for people that run full nodes for Bitcoin or any other altcoin? Many other altchains do in fact have incentive schemes for running nodes in various forms. Most of them through a process called proof of stake, but Bitcoin does not. There are two reasons why you would run a full node, a fully validating node, not necessarily a full archive or blockchain node. The two reasons are, one, because you want to contribute to the health of the network, and you want to be able to validate transactions authoritatively yourself, because you don't want to trust the third party. If I want to know if one of my invoices that I made recently has been paid by one of my clients, I'm not going to trust the third party. I'm going to ask my own node if that transaction has been confirmed on the blockchain, and that payment has been made. My node, I know how it's configured, I know what consensus rules it's running, and therefore I trust that validation on my node. The other reason people would run full nodes is because they're running a business. If you're doing e-commerce and you want to receive payments, you can't trust third parties, but then you're not really participating in Bitcoin. You might as well be doing PayPal. By running a full node, when you're running an e-commerce store, when you're accepting large payments from clients, or any other kind of business that depends on having an authoritative validating system, you are sure that a third party can't cheat you by presenting false information. Because you don't trust anyone, you validate your own blockchain with the software you choose to run, according to consensus rules that you choose. Are nodes backwards compatible? If I have Bitcoin Core 014 and the latest version is 0.17, can I still function or am I forced to upgrade? Bottom line is, for the most part, yes, nodes are very backwards compatible. In fact, that's one of the elements of conservative software development that allows you to validate and remain in sync with a network, even with a very old node. Part of the reason for that is the choice to do soft forks instead of hard forks, in many cases, which allow old nodes to continue to operate on the network, without making them incompatible with syncing the blockchain. The trade-off, however, is that older versions of Bitcoin Core, unless you upgrade them, may suffer from security vulnerabilities. So you say, if I have Bitcoin 014, well, if you have 014.0, which was released back then, you might have a problem. But Bitcoin is maintained for a couple of releases, so recently, for example, I believe 0.14.3 was released, which fixed the vulnerability was just discovered. That's something you would want to upgrade, at least to that incremental release, to fix the vulnerability. Your 014 node will continue to sync the blockchain, it's compatible, and will remain in sync. The other trade-off is that older nodes validate less, meaning that because of soft fork changes that have occurred, older nodes will see certain types of transactions and not fully validate the details behind them. In the case of, for example, segregated witness transactions, a node 0.14 will see every segregated witness transaction as one that could be spent by anyone. It will misunderstand the script and think that anyone can spend it, which in fact isn't the case, because the validation rules of SegWit prohibit that. But it looks like a transaction that has much more loose rules to an old node, and that allows a node from 014 to validate a SegWit transaction without validating the signature, and continue to operate and sync on the network, and that way it doesn't become incompatible with the blockchain. That's a deliberate choice to do that as a soft fork, which we'll talk about in a second. Guy asked, what are the important differences to know about using a lightning wallet compared to a regular Bitcoin wallet? Are there differences? And what is the difference between a lightning node and a lightning wallet? That's a great question, Guy. Theoretically speaking, or if we have an ideal design, there is probably very little difference between the user experience of using a lightning wallet and the user experience of using a Bitcoin wallet. In both cases, the fundamental function of the wallet, which is showing you that you have a balance, expressing that balance in different units, may be different cryptocurrency units. You have so many Satoshi, so many bilibits, so many micro-bits, versus expressing it in a fiat currency. Your equivalent balance in US dollars is X. That's a function of a wallet, and it would be the same in a lightning wallet or a Bitcoin wallet. Whether you want to send or receive, in terms of receiving, a wallet will present a QR code that you can give to someone else, or an address that you can give to someone else. When you want to send, it can scan a QR code, or you can maybe paste an address that you've received through some other channel, and send to that address. When you decide how much you want to send and what fee you want to pay, in those cases, a lightning wallet looks very similar. If you want to receive money with a lightning wallet, you have to say how much you want to receive, and then it will generate a QR code or a long address, which is actually called a lightning invoice. But it looks just like a long Bitcoin address. It's slightly longer than a traditional Bitcoin address. It's about two and a half times longer. If you give that to someone else, they can make a payment to you. In that way, it's not different than, here's my Bitcoin address, pay me. Here's my lightning invoice, pay me. One of the big differences, however, at least in the current stage of lightning, is that people can only pay you if you generate an invoice, and you have to generate an invoice for a specific amount, which means you have to have an interactive step there. You can't simply give them a lightning address and say, pay me whatever you want, whenever you want, and just keep giving that address to different people. You have to generate a specific invoice for a specific amount. There are some proposed changes to get around that, but for now that's one difference in the experience that you will find different. For example, if I wanted people to give me donations, gifts on lightning, the same way that people can give me gifts on Bitcoin. With Bitcoin, I have an address out there. It's published on my website. Everybody knows what it is. If somebody wanted to give me a gift, they could just take that address, send whatever amount they want, and that's a gift. If I wanted to do that with lightning, if I wanted people to be able to send me lightning gifts, I would actually have to do a couple more complicated steps, at least in the current state of the technology, whereby I have a form on my website, they type in the amount they want to do, they press submit, I have my lightning wallet, generate an invoice, and give them that invoice on the screen, and then they can send the lightning payment to it for that amount, so it's a bit more complicated from that perspective. In terms of sending, it's almost identical to a Bitcoin wallet. You scan the QR code, you hit send, that's it. Or you scan the QR code, or you paste the address, which in this case would be a lightning invoice. Very, very similar, you wouldn't be able to see a difference. Ideally, I'd like to see a user experience for wallets that combines both Bitcoin and Lightning wallets into one. There's no reason why you should have two different wallets. You should be able to have one wallet that can either make payments on-chain with Bitcoin, or make payments off-chain with the Lightning network. If you scan a Lightning invoice, it does a Lightning payment. If you scan a Bitcoin address, it does a Bitcoin payment. There are even some proposals to include both, so you scan a Lightning invoice, and if that isn't working for you for whatever reason, you can have a full-back Bitcoin address to do an on-chain payment. It looks really identical to any other methods that might be used, so you could have one interface to do both. I think that would be ideal. There are some minor details that you want to carefully abstract in the user design. The second part of this question is, what is the difference between a Lightning node and a Lightning wallet? At the moment, there isn't much difference, because most Lightning wallets are actually full-Lightning nodes. Just like in the early days of Bitcoin, and then in the early days of Ethereum as well, if you wanted to have a wallet, you downloaded a full-node implementation, and you had to sync a full-node in order to have a wallet. We didn't have lightweight wallets that use a node that somewhere else didn't exist in the early days of Bitcoin. Now, we're in the early days of Lightning. Most Lightning wallets are closely coupled and attached to a Lightning node. Theoretically, you could separate the key management capability of a wallet from the network management and protocol of a node. You could have your wallet talk to a node to get information about the network, but sign transactions on the wallet only. You can eventually separate these two elements of the architecture. For the time being, almost all of them are one thing. Every wallet is a node today. We'll see how that changes in the future. There are a few web-based wallets, but again, those are hosted wallets, in which case you're not running a wallet or a node. That's somewhere on the website, and somebody else has the keys. Guess what? In Lightning, just as much as in Bitcoin, your key is your coins, not your keys, not your coins.