Stuart Scott: Hello and welcome to this introductory course on blockchain. It has been designed to explain what the technology is and how it works at a high level along with the different components of blockchain. Before we start, I would like to introduce myself. My name is Stuart Scott. I’m one of the trainers here at Cloud Academy specializing in AWS, Amazon Web Services. Feel free to connect with me with any questions using the details shown on the screen. Alternatively, you can always get in touch with us here at Cloud Academy by sending an email to email@example.com where one of our cloud experts will reply to your question.
This course has been designed for those who have had no prior experience with blockchain technology. I will explain all concepts and methods from the ground up, allowing you to understand what it is and what it’s used for. The lectures within this course consist of why was blockchain created, how does blockchain work and blockchain miners and what they do.
The objectives of this course are as follows. To understand what blockchain is and why it is used, to be able to explain the different components involved with blockchain, understand when and why you may want to use blockchain within your environment and to understand at a high level what cryptocurrency is. As this is an introductory level course to blockchain, no prior experience is required. It assumes that you have never used the technology before and this is your first experience with blockchain.
Feedback on our courses here at Cloud Academy are valuable to both us as trainers and any students looking to take the same course in the future. If you have any feedback, positive or negative, it will be greatly appreciated if you could contact firstname.lastname@example.org.
You have probably heard in the media and across the industry the term blockchain. There is a lot of hype around this technology, but few seem to understand it at great detail and how it can affect their business and organization. You should ascertain if this is a technology that can be harnessed internally to help your organization’s productivity. Or on the other hand, explore if this technology could be a potential threat to your primary business function.
Now, I’ve already mentioned that blockchain is a technology, and so that’s the first key point to make here. It’s not a piece of software. It’s not a single device. It’s a technology concept. By the end of this course, you’ll be able to explain to others exactly what blockchain is and join in on those conversations that you may be hearing across the industry or within your own organization.
Before we get into this concept any further, let’s first go back a bit to understand how blockchain came about. To do that, I want to talk to you about the basic principle of financial transactions between two or more parties. We are all aware that if you want to send money from one party to another, for example, from one organization, A, to another, B, the transition will have to go through a central trusted point to manage that transition. In this instance, it would normally be a central bank, which would govern, assess and control the flow of money.
The bank would ensure that organization A had enough funds within their selected account before transferring the money to organization B. And the transaction may include the need for a change of currency depending on the location of organization B. This type of transaction would likely include a small charge, which the bank would deduct from you, as the sender, for providing the service. In addition to this, it could also take a number of days to complete the transaction.
Blockchain was created to manage and secure the same transfer of funds using a distributed ledger, but a lot quicker and without that centralized hub that deducted money for performing a service of secure transfer, which was performed by the bank in the previous example. However, blockchain primarily handles the transactions between parties using cryptocurrencies. Although the blockchain technology and the use of distributed ledgers could be used for other means. For this course, however, I shall focus on how blockchain is used to control the flow of cryptocurrency transactions.
Often when the topic of blockchain is being discussed, you will hear or see the terms cryptocurrency or Bitcoin. At it’s most basic definition, Bitcoin is a form of cryptocurrency, and cryptocurrency is effectively a digital currency, which can be sent and received across a shared network of peered hosts. For this course, understanding Bitcoin itself isn’t essential as Bitcoin is totally different to what a blockchain is. Often these two terms are mistaken for each other, but to clarify, blockchain is not Bitcoin.
Now we know that blockchain is used to control the flow of digital money between parties, so how does it do this and why is it called blockchain? Let’s look at an example to help answer these questions. Let’s say we have Alice, Bob, and Charlie, which are all connected across a peer-to-peer network, and in this instance that is via the internet. Alice has $100 of digital money. The actual currency, whether it is Bitcoin or another cryptocurrency, is not important here to explain the process. Bob has $50, and Charlie has $25. Alice wants to send $20 to Bob. When this transaction request is issued, it is recorded on an open ledger, and this ledger is the key component of the blockchain as we will soon see.
This ledger records all transactions between the peered host on the network. As a result, the transaction that Alice is sending Bob, $20, is tracked and recorded. It’s important to understand that this ledger is not controlled and managed by a central trusted party like a bank. In fact, everyone on the peer-to-peer network, in this case, Alice, Bob, and Charlie, can hold a copy of this ledger themselves. This ledger is, therefore, a distributed open ledger and everyone can see all transactions that have occurred on it.
So Bob now has $70, and Alice has $80. Now, Bob wants to send $50 to Charlie, but this time around I want to talk about what is actually happening to the ledger each time a transaction is broadcast. When the request is broadcast, a cryptographic hash function is sent with that transaction request. Before I continue, let me quickly explain what a cryptographic hash function is. A hash function takes input of any size and length, and produces an output of a fixed string of alphanumeric characters, which acts a digital fingerprint of an encrypted message and is often used as an integrity check.
As a quick example, let’s say you create a new password when registering for a website. A hash function is then carried out on that password, and the result or output is stored in the database. This is not the same as the actual password you entered. Your new password could be mysecurepassword! made up of various upper case, lower case, numbers, and characters. When a hash function is performed on this input, the hash output could be something like the following.
When you come back to the website to log into it again, you will enter your password as mysecurepassword! made up of the various different characters. The same hashing algorithm will be run against your input, and if the output of the hash function matches the one stored on the database, then it is accepted and validated, and access is allowed. This way, if the password database was compromised, the malicious user would not have immediate access to customer passwords as only the hashing output would be available and not the actual passwords used by customers.
It’s important to understand that if the password that was entered missed out a single character or mistyped a character, the complete output of the hash function would be totally different. It’s very easy to create the output using hash function of an input, but it’s incredibly hard to reverse the process. In a blockchain, the hash function has been designed to be hard to reverse, but not totally impossible. It can be done if you use and have enough computational power to find a matching result to the hash function.
So, getting back to the process. When a new transaction is broadcast across a network, particular hosts on the peer-to-peer network, called miners, are continually waiting for such requests of these new transactions. When a request is received, these miners will then compete to find the mathematical solution to these computational hash functions. So why do miners compete to find these mathematical hash problems on the network? It’s a simple process of implementing a level of consensus of the open ledger, which ensures that only one host makes the update to remove the possibility of having multiple different versions of the ledger within the network. You need to bear in mind at this stage the transaction request is still an unverified transaction and has not been added to the open ledger.
During this process, the first action that the miner performs is a simple validation task to ensure that the sender has sufficient funds to send to the receiver. As the ledger is open and contains all previous financial transactions, along with the starting balance of each participant on the network, it is easy for the miner to calculate this. Secondly, the miner then invests a huge amount of computational power to try and be the first to find the mathematical answer to the hash function that was submitted with the request. Remember, the hash is based on some input. In a blockchain, this input contains a transaction, and in this example, the transfer from Bob to Charlie, plus all other transactions that may have happened since the last update to the ledger took place. Plus timestamp information and a reference to the last block in the chain is also included into the input.
Once a miner resolves the mathematical problem associated to the hash function assigned to this request, the following actions are then carried out. Firstly, the miner is allowed to update the open ledger with the transaction that took place and all transactions up to the point of the last update. Secondly, the miner receives a financial reward, such as new Bitcoin or other cryptocurrency, for their working in resolving the mathematical problem which results in the verification of the transaction. This new Bitcoin earned is not deducted from the transaction itself between the two parties, in this case from Bob. Instead, it is newly created currency as a result of the request. This is where the term Bitcoin mining is derived from. Miners are actively trying to resolve these mathematical hash problems in the hope of being the first to do so and getting the financial Bitcoin reward.
So going back to the first point I just mentioned was that the miner gets to update the open ledger with the new transaction. This transaction gets added as a new transaction in a block underneath all existing transactions that have taken place within the network in a chain-like fashion, hence the name blockchain. Each transaction is a new block within the chain of previous transactions. Once you begin to understand the concept of blockchain, it’s very easy to understand the name and the term of how it came about. Simple, right?
The miner who successfully resolved the mathematical problem then broadcasts back to the hosts on the network to notify them that the hash has been resolved, and the transaction is now verified and added to the blockchain. Each host can then use his newly found answer to the problem to update their own copies of the ledger ensuring that everyone on the network has the same copy of verified transactions.
At this point, transactions will continue between the different parties, for example, between Alice, Bob, and Charlie. However, what would happen if Alice then tried to pay Charlie $90? Looking at the ledger, we can see the following transactions have already occurred and Alice now only has $80. As a part of the miner’s verification during the competing process explained earlier, the miner will check the ledger to ensure that the sender of the funders has enough money to do so, which happens while the transaction is in a status of unverified. In this case, all miners will see that Alice does not have sufficient funds, and the transaction will not be carried out, and, therefore, it will not be added to the blockchain.
That has brought me to the end of this introduction to blockchain. But before I finish, I want to quickly summarize the key points that have been made. Blockchain is a technology concept. It’s not a piece of software or a single device. Blockchain can be used to manage and secure the transfer of funds using a distributed ledger quickly and in a decentralized environment. Bitcoin is a form of cryptocurrency, and cryptocurrency is essentially a digital currency.
All blockchain transactions are recorded on an open ledger, and this ledger records all transactions between peered hosts on the same network. All peers on that network can hold a copy of that ledger themselves. Each transaction request includes a cryptographic hash function based on different inputs related to that same transaction. In a blockchain, the hash function has been designed to be hard to reverse, but not totally impossible if you have enough computational power.
Miners on the peered network compete to resolve the mathematical hash function for a financial reward of Bitcoin, for example. Miners ensure there is a consensus on the open ledger. The first to resolve the hash function can update the ledger with the new transaction, and miners also validate the sender has enough funds to perform the transfer. Every transaction recorded on the ledger is listed after the previous transaction in a separate block in a chain-like fashion, hence the name blockchain.
If you have any feedback on this course or if you have any questions, please do send an email to email@example.com, and we’ll be happy to answer your questions. Thank you very much for your time in taking this course, and good luck with your continued learning of cloud computing. Thank you.