 The first question I'm going to answer is from Anibal. It's a question about MimbleWimble. Could you give us a basic explanation about MimbleWimble protocol and GRIM, which is the lightweight implementation of MimbleWimble? I really love this story. MimbleWimble is one of those crazy things that happen in crypto space that one day is going to be in a movie. It's definitely going to be part of some movie about Bitcoin. There's all of this mythology and stuff that happens with anonymous, mysterious actors like Satoshi Nakamoto, who we don't know who they are. Every now and then, you get these incredible explosions of innovation and new ideas that come out of nowhere and are so surprising. It's one of the things that I really enjoy about this space, because I can never take anything for granted. I think I know what's going to happen next, silly me. Out of the blue, something comes along and completely changes my perspective. The story about how MimbleWimble came along is actually really great. About a year and a half or two years ago, someone showed up on the IRC chatroom where developers hang out, which is the Bitcoin Dev IRC. With the username referring to Voldemort's name, I'm not sure. I don't remember all my Harry Potter trivia. This user appeared with Voldemort's secret name on this chat, posted one link to a secret Tor Onion site, which is a site that's accessible only over the Onion Routed Network, so you don't know where that site is hosted. On that site was a single PDF with a paper called MimbleWimble. MimbleWimble is actually the name of a spell in Harry Potter that causes people to be unable to see the truth, or something like that. There are all of these references to Harry Potter in here, but the brilliant thing about this is that this paper comes out of nowhere. The user posts that only one thing disappears. Everyone who started reading this paper realized that this was a very serious new way of doing blockchains. MimbleWimble uses some interesting tricks in cryptography to effectively create a blockchain where transactions are private. You can't actually see who's transacting with who, but also what amounts they're transacting. Furthermore, the blockchain itself can be compressed in a way where you can discard previous states once it's been spent, and only keep an aggregate. You can verify transactions without knowing who's participating and what they're spending, and then you can even verify the state of the system without storing all previous transactions, which would allow you to have a much smaller, much more private blockchain. The MimbleWimble protocol is a way of constructing a blockchain and some novel cryptography that can be used to construct a blockchain, and how you structure the transactions and what you store in transactions. This is not something that can be added to Bitcoin. This is a completely different implementation of how blockchain works. However, there are some relationships between MimbleWimble and the Bitcoin blockchain. Theoretically, you could use MimbleWimble as a sidechain to Bitcoin, so you could have MimbleWimble and Bitcoin as two chains. You could move through atomic swaps, funds from one to the other, and gain the privacy and compressibility of this protocol. It's very interesting. There's an initial implementation called GRIN, which is a lightweight implementation of the MimbleWimble protocol, mostly a proof-of-concept at the moment. A couple of very prominent Bitcoin developers have done some work. Probably the best thing to watch, if you want to watch something about MimbleWimble, is Andrew Poulstra's presentation on MimbleWimble. If you start reading the MimbleWimble paper, you will feel as if someone has cast a confundo spell on you, because you will not understand a bloody thing in that paper. I had to read it four times just to get a very basic grasp of what it was even trying to do. It's some complex cryptography. Fortunately, some of the best cryptographers in the world work on Bitcoin. Andrew Poulstra is one of them. He deciphered the MimbleWimble paper, and then explained it to other developers in a YouTube presentation at one of the developer conferences. That's a very good source for you to watch. He's written about it extensively and is involved in the implementation of GRIN. That's what MimbleWimble is. It's not Bitcoin. It's a completely different blockchain protocol. It could be used in conjunction with Bitcoin. It's called some very interesting privacy and scaling implications because of its innovative nature. Gali asks, what is a dandelion transaction relay, or BIP-156? It's expected to come within Bitcoin Core release 0.18. What will this be good for? I'm so glad you asked, Gali. This is slightly technical, but it's also fascinating, and it's a fantastic development. This is a technology proposal that was developed by a team. Unfortunately, I don't have it right in front of me right now to give them appropriate credit. But if you do a search for Bitcoin Improvement Proposal 156, or dandelion, you'll find the people who are responsible for this. It's a fascinating idea. Let's think about this for a second. When you make a transaction on the Bitcoin network, in theory, no one can really tell where that transaction came from. From the perspective of a single node, if one of your neighbors sends you a transaction, you have no idea if that transaction is coming from them, from the wallet on that node, or they're simply relaying it from one of their neighbors, and one of their neighbors, and one of their neighbors, and it's traveled halfway across the internet. All transactions get to every node eventually. Once the transaction is injected into the network, and it propagates everywhere across the network, you can't really tell where it came from. That's great. That's a fantastic element of privacy. Put your naughty hat on, or your surveillance state intelligence agency hat on, and think about what does it take to figure out where that transaction came from? What it takes is a form of network triangulation. Basically, you create all of these Bitcoin network nodes, and you strategically sprinkle them around the internet, so that they are at specific important junctions and points in the rioting architecture of the internet. You put some on big cloud service providers, you put them near major routing points, important mining nodes, etc. Near in terms of the IP routing network, not in terms of geography. Then you monitor and listen from all of them. When a transaction appears on the network, like, I heard it here, and a few seconds later I heard it there, and if I triangulate based on the route, it probably came from this node. If you have enough nodes sprinkled across the network, when that transaction appears, then you can, basically using timing and the source addresses, try to find a correlation and figure out where it came from. You can break some of the privacy characteristics of the network by having enough nodes interspersed among the Bitcoin nodes that are doing surveillance. This is very similar to how the government breaks anonymity on TOR. They use a very similar approach, which is inject lots of TOR nodes into the network, and use them to do surveillance in such a way that they can time specific packets going through and look for likely sources by understanding the latency and propagation characteristics of the network. Here is how Dandelion works. It delays the appearance of the transaction on the network by routing it quietly first before bursting it out. Essentially, it uses a routing network where the transaction first propagates a few hops within the network, without being flooded to everyone. Once it arrives at a specific distance, it bursts out like a Dandelion seed that floats through the air until it hits a certain point and then sprinkles out all of the seeds. The reason for that is because if you are trying to triangulate, you will see the point at which it burst, rather than the point at which it originated. If you have enough of the transactions being routed this way, by including it in Bitcoin Core and as part of the Core peer-to-peer network protocol, that will mean that we will see a lot of transactions being routed through Dandelion. The moment at which the network starts flooding that transaction is removed from the moment when that transaction is injected. By using encryption along the hops, it is much harder to do this surveillance, not impossible, but much harder, so the degree of privacy is increased. It is a brilliant idea. For the first time, I am a curmudgeon when it comes to names of projects, like I think Segwit is a terrible name, for example, because the name doesn't really evoke anything, and it is badly chosen, and it really reflects an engineering mentality. But Dandelion is a beautiful name. It immediately evokes the image of exactly how this technology is. You can explain it easily to people. The moment they hear Dandelion, they remember what it is that it does. It is so evocative. What a beautiful name for a project. Good job.