 This session we're talking about the Byzantine General's problem and the consensus layer of the Bitcoin blockchain and other similar blockchains. Our first question comes from Pungpat. Just wondering if the Byzantine General problem really existed in history, or is it just an example used to describe the technical computer science problem for a better understanding? Pungpat, in fact, a Byzantine General problem, as far as I know, is simply a thought experiment, as it's known, meaning that it has no historical precedent. I don't think there were ever, you know, four Byzantine generals trying to attack a city and having coordination problems. So, not real history, simply a mechanism to demonstrate the type of problem. That you would have. The next question comes from Ryan. Is the Byzantine General problem unsolvable without a middleman? Is it fair to say that the Byzantine General problem could ultimately not be solved without the middleman, in this case the middleman, being the Bitcoin network? The Bitcoin network isn't a middleman primarily because the Bitcoin network isn't acting as a trusted party. In this particular case, what's happening is the consensus rules are enforced by all of the participants in the network. So, each participant of the network independently forms an opinion as to what the truth is by arriving at the point of consensus and by verifying the rules themselves. They don't trust the Bitcoin network. In fact, quite the opposite. Every Bitcoin node distrusts every other Bitcoin node and validates everything, only from its own perspective. So, the Bitcoin network doesn't act as a middleman because it's not making any decisions. It's simply a communications network, a transport communications network. And in fact, as a communications network, it is not trusted. The whole point of the Byzantine General problem, or the underlying problem, is that the communication between the generals cannot be trusted. So, they have to have a set of rules that they use in order to validate truth. So, no, the Bitcoin network is not a middleman. And the problem is solvable without the middleman because it has effectively been solved to a certain optimization by the Bitcoin consensus algorithm. Julio asks, it seems that the mining process sounds like a brute force attack. If this is the case, what will happen if an intruder detecting system would be applied to the Bitcoin blockchain? For example, the same node can't make more than a certain number of attempts every ten minutes. Should we expect a more equally distributed block generation or reduction of the power consumption? Not really, because Julio, you have to realize that the attempts that are being made by the miners are not transmitted to anyone. Only the winning block is transmitted. A miner will make several quadrillion attempts with their range of hardware every second, and none of that will be seen by anyone. We can estimate the amount of hashing power that goes into mining overall worldwide based on the results, based on the proof of work, that proves how many hashes on average, statistically, were needed in order to find that proof of work result. But we don't see any of the individual hashes, so miners don't make more than certain attempts every ten minutes. In fact, every miner is making quadrillions of attempts, but the network as a whole only sees one attempt by one miner, the winning one. The miners do not propagate any of these attempts until they find a winning one, and the reason they don't propagate them is because, in order to propagate a winning block, it has to verify as a winning block, which means they found the proof of work solution. Any other block that has an incomplete proof of work solution won't be propagated by anyone because it's not a valid block. So you can't actually constrain miners by limiting the network connectivity in that way, and in fact, if you tried to do something like that, miners would simply use various stealthy ways like VPNs or the Tor network to anonymize their location and hide their activity, and until they produce a winning block, you can't really do anything about it. There are some denial-of-service attacks that could be done on the networks that miners are operating on, but quite honestly, if that was the case, miners would switch to satellites, and they would use satellite communications networks to do that. They could use shortwave radio, they could use FM radio, they could use microwave towers, they could use laser beams to transmit successful blocks. Point-to-point to any node that's outside of the area that's being attacked to inject it into the Bitcoin network. So if you think about it carefully, this is the essence of the Byzantine fault-tolerance system. In a Byzantine fault-tolerance system, you have to assume that the communication network that is used between the miners is unreliable and can be attacked, and in fact is being surveilled. And yet the system is fault-tolerant to those types of faults. You can assume that miners will lie, just like the Byzantine generals can lie. And for a system to be tolerant to these faults, that's what that means. It means that you can operate on an unreliable network where nodes can come and go as they please, connect and disconnect, and still acquire the truth, where nodes can lie to each other, where miners can lie to nodes and each other, and the system is still tolerant to those types of attacks. If only it was that easy, it wouldn't work for very long.