2.7 The Four Components of Bitcoin - Video Tutorials & Practice Problems
Video duration:
5m
Play a video:
Video transcript
In this lesson I wanna talk to you about what I like to perceive as the four components of Bitcoin. This'll give you a simpler view of everything that's going on. Because there's a lot of elements that move together in Bitcoin, I wanna identify specifically four of them so that you can really get it altogether. And I'ma build the work flow so you see exactly what's going on. To do that, I wanna start with the first component and that is software. You see, Bitcoin runs on software. It's the software that's running on your mobile device, it's a software that's running on the Bitcoin mining computers all around the world, it's the Bitcoin software that's running on what's known as a full node. For instance, I have a computer in my house that's a full node, it has a full copy of the Bitcoin blockchain. I'm not a miner, but my computer at home also helps in the process of validating transactions. So as transactions make their way through the Bitcoin network, they are passed peer to peer across multiple nodes. Among the paths there's my node as well, which also validates, if it's a valid transaction it passes it on to other nodes, if it wasn't it will be rejected. See the entire network runs together as software. That software is the first component in Bitcoin. Now, the software is an open source software which you can actually look at that software will have all the instructions of what a Bitcoin is. In fact, the Bitcoin protocol there's multiple implementations of it. There's the Satoshi client which is the primary one that's used by many of the miners, but then there's other ones that have come along since then. You see, the Bitcoin protocol is open source and is open source everybody can look at the software. So this specific software is designed to issue every 10 minutes, approximately, which is the average time it takes between blocks in new cryptography challenge. Now this cryptography challenge consists of guessing a specific code that will yield a cryptographic hash that will be what will give a valid block to add to the blockchain. As we go through this course I will give you an exact example of how that works, and we will look at these cryptographic hashes. Now this is a challenge. This is a challenge that goes out to the entire entire network of miners all around the world which have the opportunity to create the next block of transactions. While this is going on, the global Bitcoin mining community starts running into a race. The races, each one of the miners around the world is taking all of these transactions that are going unconfirmed into the Bitcoin network gathering them together to try to assemble a block. And when they assemble and create a new block they need to add it to the Bitcoin blockchain, but guess what? There's thousands of these minors all around the world, and you can only put one specific block to the Bitcoin blockchain every approximately 10 minutes. Well, how do you solve that? You solve that by answering that cryptographic challenge we talked about. Basically, all the miners are competing, racing against the other ones to try to find the specific hash that will be a valid hash. Now I'll tell you exactly how this whole process works but it's a very difficult thing to achieve. And only one of the miners will be able to create that to create the next block to add to the Bitcoin blockchain. It's a very difficult process. So as these miners are actually racing against each other to actually create the next block to add to the Bitcoin blockchain, one of these miners will be able to solve it faster than the rest. When that happens, the race would technically end. Now mind you I wanna specify specifically when I say one miner. If you're just one miner you have very, very limited computing power. So what's being done is what are known as mining pools. These are groups of multiple miners that get together, they pool computing power, and then they compete together. And if that group together, which is a mining pool, wins, they split the reward among all the miners that were in that pool. So when one of these miners or mining pool wins that specific race the rest of the network then turns around and starts verifying that specific block to make sure that it's a valid block. They look to make sure that every single transaction is valid. They make sure that the block is crafted correctly. They make sure that that block is actually within the block size limit. You see, 'cause you can't just build a massive block. The block has to be within a certain amount of transactions which constitute a certain block size. So the answer is you can't have a block that's too big. So when all these miners get together they do this to try to make sure that the block that was created by that minor that won is a valid block. So when those miners get together if that block is not valid, they reject it and the race goes on because you still haven't gotten the next block. But if in fact that block is valid and all the transactions are valid, that new block of transactions is added to the Bitcoin blockchain. Notice, we now have all four elements. We have the software element that we set with the software. We talk about the cryptography element because as we said, we have public key cryptography. We've talking about the hardware because the hardware involves not just these mining computers all around the world, it involves my full node in my house. It involves the software device that may be running on your mobile device, that's hardware too. There's a lot of hardware involved in the Bitcoin network. And there's a gaming theory component because as I mentioned, it's a race and only one miner can actually win and add that block to the Bitcoin blockchain. So once that block is finally added to the Bitcoin blockchain the winning miner actually receives a reward. As of the moment of this lesson, that reward is 12.5 new Bitcoins. And in addition that miner also receives all of the transaction fees for every single transaction that's included in this block. And I'll be explaining all of this in a subsequent lesson.