What Is Blockchain Shared Ledger Technology Accounting System Review
If you’re reading this, then you’ve likely heard of the blockchain, or, at the very least, cryptocurrency. Bitcoin is currently experiencing an all-time high, which has catapulted cryptocurrency and blockchain technology to the forefront of the finance and tech news cycle.
Terms such as “blockchain”, “mining”, and “consensus” are rapidly making their way out of the closed circle conversations of cryptocurrency pioneers and are entering into the everyday discussions of individuals around the world, regardless of their technical background or involvement in the blockchain ecosystem.
The internet is currently abuzz with thousands of different individuals clamoring for a simple, easy to understand explanation of what the blockchain is, how it works, and how it’s related to cryptocurrency. If you’re interested in investing in Bitcoin or another cryptocurrency, it’s essential to develop an understanding of the behind-the-scenes workings of these innovative and disruptive digital currencies to ensure you know what you’re getting into.
Even if you’re not planning on investing in cryptocurrency, developing a well rounded understanding of how the blockchain works can help you gain a greater insight into the constant stream of news regarding crypto and the actions being taken to regulate them by governments around the world.
There are many different guides available online that attempt to delineate and demystify the inner workings of the blockchain. Many of these presume a certain basic amount of technical knowledge from readers, assuming that terms such as “encryption”, “hashing”, and “consensus” mean. If this is you, then you may benefit from reading one of our more in depth guides, but if you’re feeling lost already, then read on— this guide is for you.
In this article, we’ll attempt to explain the workings and function of the blockchain and how it related to cryptocurrency in the simplest terms possible. No jargon, no needless complication, and no confusion. In this guide, you’ll find the simplest and easiest to understand breakdown of blockchain technology online.
What Issue Does The Blockchain Solve?
Many of the blockchain explanation guides online today jump directly into an explanation of the finer technical aspects of a distributed ledger system without first explaining what is arguably the most important element: what do issues are blockchain systems intended to provide a solution to?
In order to answer this question, we’ll present a simplified example. Our example will be set in in the prehistoric, long-gone days of pen-and-paper banking for the sake of simplicity.
Imagine you have a friend, John. John is currently travelling overseas, and as John is not fiscally responsible he calls you on the fourth day of his holiday and asks you to send him some money, as he’s run out.
Because you’re a good friend, you decide to help John out, and decide to send him some money. You then make a quick call to your account manager at your bank or financial institution. “My friend is in trouble”, you tell him. “Please transfer $1,000 from my account to his”.
Your account manager replies with a snappy “yes sir!” and then opens up the bank register to determine whether you possess the funds for the transaction. As a fiscally responsible individual, you do indeed have more than enough to fund the transfer.
Your account manager then makes a note of the transfer in the bank register and notifies you that the transaction will be processed. You then call your irresponsible friend John and inform him that the next time he goes to the bank he’ll be able to withdraw the $1,000 that you have sent him.
In the above scenario, both you and John trusted the bank to manage the transfer. You didn’t move any physical money from yourself to Joe, nor did Joe physically receive any money when his account was credited. Both parties trusted the bank to make a change in the register that would effect the transfer of funds between them.
In this case, neither you or John control the register that the bank updates in order to facilitate transfers which is the primary failing of the current financial system.
In order to establish trust between each other we rely on centralized third parties.
For almost all of recorded financial history, we’ve relied on these third parties to trust each other in financial agreements, business partnerships, and more.
Why is trusting these third parties in order to trust each other an issue?
The primary issue presented in trusting a third party to facilitate financial transfers and agreements is that they are, by their nature, centralized. All it would require for one of these organizations to become corrupt, or, in some cases, one individual in one of these third party organizations, in order to cause widespread chaos either intentionally or unintentionally.
What if the storage medium on which these organizations collect financial data was destroyed? What if user error committed by your bank manager caused a transfer of 10,000 instead of 1,000? What if the manager made this error on purpose?
For many years, we’ve been relying heavily on the actions of singular groups of individuals that hold an incredible amount of power over our finances. Is it possible to create a system that facilitates the transfer of value without the need for a centralized bank?
In order to answer this question, we’ll need to take a closer look at the meaning of this question. What does transferring money really mean? After all, the transfer of digital value essentially only involves altering entries in a register. A better question to ask would be:
Is there a way to maintain the register on a peer-to-peer basis instead of relying on centralized third parties to do it for us?
That question is the reason cryptocurrencies and the blockchain were developed in the first place, and is a question that is definitely worth exploring. The blockchain is a method of maintaining the register without the need for a centralized financial institution.
How does this method work, though? To find out, we’ll break down the function of the blockchain step by step.
How Does The Blockchain Work?
The primary requirement needed for the blockchain to work is that enough people get involved. Without a sufficient amount of participants, no blockchain network can function. When this group of people is large enough, it’s possible for them to maintain a register without a third party.
“It might make sense just to get some Bitcoin in case it catches on. If enough people think the same way, that becomes a self-fulfilling prophecy.” — Satoshi Nakamoto in 2009
How many people are enough to maintain a blockchain, however? At least three. In the following example, we’ll assume that ten different people want to give up on third party register maintenance and create their own blockchain. Through mutual agreement, these individuals have provided each other with all of their specific account details at all time, without knowing each other’s identities.
1. A Blank Slate
To begin with, each of the members of our hypothetical blockchain begin with an empty folder. As our example progresses, each network participant will keep adding pages to their folder. This collection of “pages” forms the register that keeps track of transactions on the network.
2. Transactions Occur
Once each network participant is ready to begin recording transaction data, transactions can begin.
Let’s imagine that participant #2 wants to send $10 to participant #9. To facilitate this transaction, participant #2 will inform all ten network participants that they want to transfer $10 to #9. All network participants will note this on a page.
All network participants will then check to make sure #2 has enough funds to transfer $10 to #9. If the numbers add up, everybody will make a note of the transaction on their respective blank pages. The transaction is then complete.
3. Transactions Continue
As time proceeds, transactions occur at a higher frequency. When transfers are announced, transfer information is logged by every network participant. This process continues until all network participants run out of space to record transactions on the page they are using.
If we assume that each page has enough room to log 10 different transactions, everybody will run out of room after ten transactions occur. At this point, it’s time to store the page and get started on the next one.
4. Securing The Data
Before we store the page that holds transaction data, it’s necessary to seal the page with a unique key that every network participant has agreed on. By sealing the page in this manner, we ensure that nobody can make changes to the page once each network participant has stored the page in their folder. This method of sealing makes it so changes can’t ever be made to the stored page.
Importantly, if everybody trusts the method used to seal away the page, everybody then trusts the contents of the page itself. This sealing method is the foundation of the entire blockchain.
In the crypto world, this process is called “mining”, but to simplify the process for this explanation, we’ll call it “sealing”.
In traditional systems, third party financial institutions provided network participants with the trust that everything logged in the register is immutable and cannot be altered. In the blockchain system, the sealing method replaces the third party as a guarantee of integrity and trust.
How Is Data Secured?
Before we can understand how to seal the page, we’ll need to first understand how the sealing process works. In order to understand how this process functions, we need to understand how something called “hash function” works. In an attempt to limit the technical complexity of this guide, we’ll refer to “hash function” as the “magic machine”.
Hash Function, Or Magic Machines
Imagine a machine stored in a completely secure location. When this machine is provided with a box containing something, it will take the contents and transform them into something else. Let’s imagine we feed a piece of paper with the number 4 written on it to the magic machine. The machine will then alter this page and provide us with a page that says “DCBEA”.
This process, called encryption, is completely opaque, and is so complex that it’s not possible to decode it without the machine. Given the data the machine provides by itself it’s impossible to reverse the “DCBEA” output back into the number 4. When you provide the machine with the number 4, however, it will always spit out “DCBEA”.
If we provide the machine with the number 26, for example, we’ll get a different result. The data the machine provides will come out as “94C8E”. The data the machine provides can come as a mix of both letters and numbers.
This process becomes important when we try to get the machine to provide us with data that starts with three zeroes, such as 000ab or 00098 or 000fa. We don’t know how the machine does what it does, so there’s only one way to try to get it to provide us with a specific response:
Trying every single number in the universe, an infinite number of iterations, until we finally get a response that begins with three zeroes. After thousands, hundreds of thousands, or even millions of attempts, we’ll finally get a result that begins with three zeroes.
With this process, it’s extremely difficult to calculate the input given the output. Inversely, however, it’s extremely easy to verify whether the predicted input provides the desired output. Keep in mind that the magic machine provides the same answer every time for submitted data.
It’s not difficult to determine the answer to the question “What response does the machine give to the number 72533”? All you need to do to answer this question is simply feed it into the machine. The important factor to remember when considering the hash function, or the magic machine, is that:
“Given an output, it is extremely difficult to calculate the input, but given the input and the output, it is pretty easy to verify if the input leads to the output.”
How Hash Function Is Used To Secure Data
The network participants in our example use the hash function, or magic machine, to generate a seal for their pages. Let’s use another example to illustrate how this works:
Let’s imagine that we have two boxes. The first box contains the number 20893. We’ll then use this box to answer the question “Can you determine which number, when fed to the magic machine, gives an answer that starts with three zeroes?”
The only way to answer this question, as illustrated earlier in this guide, is to try every number combination possible until the desired answer is achieved. After thousands, or hundreds of thousands of attempts, we’ll discover that a number, say 21191, when fed to the machine, will give us the answer we want when added to the original input of 20893.
Adding these two numbers, 20893 and 21191 together, creates another number, 42084. When fed to the machine, this number gives us a solution that begins with three zeros. In this case, the number 21191 becomes the “seal” for the input of 20893.
To seal a box- or page- with the designation of 20893, we label it with the “badge” of 21191. As soon as this box is labeled with this number, it is considered “sealed”. In the world of cryptocurrency, this sealing number is referred to as “Proof of Work”, meaning that this number represents the amount of effort that has been expended to determine it.
If a network participant would want to determine whether a page has been altered, all he would need to do is add the contents of the page together with the sealing number and feed it to the magic machine. If the machine gives an answer that begins with three zeroes, the contents can be considered untouched. If the answer is different, the page can be discarded, and it’s contents considered incorrect and irrelevant.
In our example of a small scale blockchain, we’ll use a similar sealing mechanism to protect the pages from alteration and arrange them correctly.
Preventing Data Manipulation
In order to seal away the pages that contain all of the transactions in a blockchain network, we need to determine the number that, when added to the appended list of transactions and fed to the magic machine, will yield a word that begins with three leading zeroes.
Note that in our example, we use the requirement of three leading zeroes for illustrative purposes only. The real requirements of hashing functions are far more stringent and complex in reality.
Once that number is calculated by spending a significant amount of time, energy, processing power, and electricity, the page is sealed away with it. If anybody at any point attempts to alter the contents of the page, the sealing number can be used to verify the integrity of its contents.
Now that we understand how the hashing function, or magic machine, works, we’ll return to the point in our example at which all ten network participants have run out of room on the page they use to record transactions.
As soon as all network participants run out of room to record more transactions, they all calculate the sealing number so that it can be safely stored in the folder. Everybody in the network tries to figure out the correct number at the same time, but only one participant will get it right first. That participant then announces that number to the rest of the participants.
After being notified of the correct sealing number, all network participants with verify that the number is correct. If it is, all participants will label their page with this number and put it away.
What if, hypothetically, a network participant can’t make the announced number yield the desired solution. This isn’t unusual in the blockchain ecosystem. There are a number of reasons this can happen:
- The participant may have misheard the number of transactions that were announced
- The participant may have logged transactions incorrectly
- The participant may have attempted to log transactions in a dishonest or fraudulent manner to either favor himself or somebody else in the network
In this case, the participant has only one option. He’ll need to discard his page and copy a correct page from somebody else. If he doesn’t update his page, he’ll be forbidden from participating in the network until he does.
Why would all participants want to attempt to calculate the sealing number when other people in the network will simply announce it to them? Why not just sit and wait for the announcement?
This is where incentives come into play. Everybody who participates in the blockchain network is eligible for rewards. The first network participant to calculate the sealing number is provided with a reward for the effort he has expended in CPU power and electricity.
Using our example network, imagine participant #5 calculates the sealing number of a page and is then rewarded with an amount of free money- say $1. This money is created out of thin air- which is to say that participant #5’s balance increases by $1 without affecting the balances of other network participants.
This process is how Bitcoin began. It was the very first cryptocurrency to be transacted using the blockchain, and was the first cryptocurrency to offer participants rewards for network maintenance. When demand for Bitcoin increases, the value of Bitcoin also increases. This makes the value of Bitcoin grow even further, as more people will want to own them due to their high value nature. Rewards keep everybody working in the network.
Once everybody seals away a page with the sealing number, they store the page in their folder, and start a new page, starting the process again. Think of a single page as a block of transactions on the network, and the folder they are stored in as a chain of pages, and you’ve got a working understanding of how the blockchain operates.
There is, however, another important point that should be considered.
Imagine there are now five pages in the folder that are all sealed with different sealing numbers. What if a user goes back to the second page and alters it to favor themselves? The sealing number should hypothetically prevent this from occurring and prevent inconsistencies from happening.
What if, however, the participant makes the effort to calculate a new sealing number that takes the fraudulent modifications into account and labels the page with that instead?
To prevent this from occurring, the sealing number generation process has a little twist that we haven’t mentioned yet.
Preventing Modifications To The Sealing Numbers
You’ll recall that previously in this guide we presented you with the concept of two boxes- one containing the number 20893, and an empty one that needs to be calculated. In reality, in order to calculate the sealing number in a blockchain scenario, there are three boxes- two pre-filled, and one that needs to be calculated.
When the contents of all three of these boxes are given to the magic machine, or hash function, the answer that it provides must satisfy a number of requirements. One box contains the list of transactions, and another contains the sealing number. The third box, however, contains the output of the magic machine that was determined for the previous page in the folder.
With this trick, the blockchain makes sure that each previous page is verified during the verification process of the new page that is being sealed. Therefore, in order to modify a previous page, a malicious or fraudulent network participant would need to change the contents and sealing number of all iterations between the historical page that he wants to alter and the present page in order to keep the change consistent.
If any of the network participants in our original example attempted to cheat the system, they would need to adjust a massive number of pages and calculate the new sealing number for each of these individual pages. It’s obvious that sealing just one page is difficult, so this task would be almost impossible. One dishonest network participant can’t beat nine honest participants.
If a dishonest network participant were to attempt to defraud the network, he’d essentially be creating a new chain in the network. This new chain, however, could never keep up with the honest chain, because the individual efforts of one individual cannot outweigh the cumulative efforts of other participants.
The longest chain is the most honest chain.
What Would It Take For The Blockchain To Fail?
The only way for a blockchain network to fail would be a situation in which more than half of the network participants attempt to defraud the system at the same time. This is known as the “51% rule”. This is the only reason why a blockchain network may fail, and is an extremely unlikely outcome.
The blockchain is built on the precept that the majority of a crowd is always honest.
This concludes our basic guide on how the blockchain works. If you ever find yourself in need of a simple explanation of how the blockchain functions, feel free to reference this page or share it with friends in need of clarification.