The blockchain is a breakthrough technology introduced with Bitcoin. What is blockchain technology then? You will find blockchain explained in the video above. This technology solves one of the biggest problems that takes place online: lack of trust.
With the introduction of this technology, all transactions that take place in the world can be verified.
Enjoy the video!
After bitcoin was invented, some people have tried to separate the idea of blockchain abstract it.
This is Dr. Jad Hamza, a postdoctoral researcher at the IC School at EPFL.
And in this video, we’ll discuss the blockchain.
The blockchain is the breakthrough technology behind bitcoin and what makes blockchain more specifically unique is an algorithm that will guarantee, that will solve a fundamental problem in distributed computing called the consensus problem and this was Professor Rachid Guerraoui he’s explaining why the blockchain is such an amazing breakthrough in computer science in particular it solves the consensus problem this is a fundamental problem in distributed computing which is as old as the field of distributed computing which is half a century old for a currency, the problem is to agree on who owns how many of this currency all blockchain nodes have to agree that this is the state of the system that you own one thousand dollars you don’t own more, you don’t own unless this is exactly what you own But getting everyone to agree without a central authority that everyone can rely on is as you can imagine, not an easy problem and not just in computer science in societies as well.
Before Bitcoin, there was no easy solution for this for a currency, you [had to] trust the central bank which will keep a record of who has what but even for a bank, managing all of the accounts of all of its customers is a difficult and changing problem as we discussed in a previous video with Christoph Koch.
Because banks cannot afford to lose any kind of information about the accounts, they still make different copies of the accounts, that they store in different data centers.
And thus, they still need to solve a consensus problem the originality of of the blockchain distributed protocol is actually to combine a set of ideas from crypto and distributed computing to guarantee this consensus and what was dramatic is that the blockchain manage to circumvent some impossibility theorems which were thought to be fundamental limits to distributed programming there are some results that say that the consensus problem cannot be solved whenever there are problems or some nodes may crash in particular, in 1985, Fischer, Lynsch and Paterson proved the now curved FLP impossibility proof which asserts that no consensus can be reached under certain conditions.
Their paper won the prestigious Dijkstra prize it underlies the difficulty of guaranteeing safe database management out of unreliable computers in unreliable networks.
And when billions or trillions of dollars are at stake as is the case for bank account, then safety is a huge, huge concern! Now, what’s remarkable is that this impossibility result does not apply to Bitcoin, because Bitcoin only solves this consensus with high probability it doesn’t solve the problem in a deterministic sense, it solves it in a probabilistic sense.
There is a probability a high probability that everybody will have the same state basically that there is always a small probability that people don’t really agree, and a fork happens in the blockchain, in fact, the probability of a fork that is, a disagreement between different computers about what the right state of the blockchain is well the probability of this is actually quite high! Sounds bad, huh? Fortunately, the probability that this disagreement persists is extremely low.
But to understand why we need to rewind and start from the basics what a blockchain is? The blockchain is a chain of blocks, where each block contains stuffs, like transactions well, the Bitcoin blockchain does contain Bitcoin transactions, but a blockchain could potentially contain anything you’d want to store in the cloud.
Now, interestingly, the blockchain is a very dynamic kind of database management system there is a new block which is appended to the blockchain, about every ten minutes or so by the people maintaining the network Say I wanted to add something to the blockchain what do I do? Assume you give me 500 bitcoins from the thousand that you own this means you issue a transaction saying you give me this money this transaction is propagated in the system which means that your machine sends it other machines and one of the machines or several of them will try to validate this information, to give it some stamping in other words, if I want to add something to the blockchain, say my latest transaction to Professor Rachid Guerraoui, then I need to ask computers in charge of the blockchain to add a block that contains the claim that I want to add these nodes will try to do that are called miners they have some legitimacy because they would solve a puzzle and this puzzle is typically a computationally challenging problem that they solve by, let’s say, burning energy they need to have some computational power, they need to do some work there are lots of fascinating details about why the miners do what they do and to which extent they can be trusted in doing so.
For today, we can just regard these miners as important notes on the internet who have the legitimacy and the authority to add blocks to the blockchain.
They check that you indeed have 1000 francs from which you give me 500 and they need to check that there is no contradictory information that you didn’t give all that money or you didn’t cheat or something like that, roughly speaking and once everything checks out, a miner will prepare blog and append it to the blockchain so we all know that some authority some node who has spent some energy on the problem, has stated that you are giving me 500 francs and from that point on all the other machines would say okay let’s update our ledger with this new transaction ok so that’s what happens when everything works out fine now the issue which might happen is that two people find at the same time, two different blocks and they try to append it to the blockchain concurrently this concurrency is one of the core difficulty of distributed programming and we discussed it with Christoph Koch in a previous episode the trouble is that each miner has its copy of the blockchain.
Now if two minors add concurrently their own blocks to their own blockchains, then we now have two different versions of the blockchain, and thus, we lose the consensus about what the right blockchain is.
This is called a fork in the blockchain.
We have two competing extensions of the blockchain when this happens, some people will think that this fork is the right one other people will think this block is the right one so there may be a fork in the chain but given that there are thousands of miners maybe even more the probability that there’s a fork at some point in the blockchain, is actually quite high forks will happen in the blockchain however as we claimed earlier such forks are unlikely to persist and the reason for this, is that miners are told to add books only to the longest blockchain now let’s imagine you have two chains which are exactly the same length so some people will mine on the first chain, some people will mine on the second chain.
But then it’s highly unlikely that these two groups of people are going to mine again at the same time what’s more likely is that at some point one blockchain will get slightly longer than the other one.
But as soon as it happens, most minors will want to append a block to the longer blockchain So the probability that the forks continues to happen decreases exponentially in the length of the fork so the more you go, the more likely it is that one chain wins and that people are going to drop the second chain one chain is going to become longer at some point.
And that’s why one blockchain will eventually be much longer than the other blockchain and the shorter blockchain will be forever forgotten by all the miners, hence retrieving a consensus and this is what makes the blockchain a reliable distributed data management system so after bitcoin was invented the idea of blockchain was abstracted away and try to be separate it from Bitcoin people have tried to use it for other applications, and these other applications of the blockchain is something I find very exciting for instance, etherium is another currency where the blockchain not only stores transactions between people but can also store arbitrary code arbitrary computation, and store it in a permanent manner in the blockchain so that you can run any kind of program on the blockchain ok but why would you write code in the blockchain? By using this idea you can store any kind of property on the blockchain, for instance, a key to a car a key to a house, a digital key these keys can be managed by autonomous contracts where, for instance, if someone pays some money to the contract they receive in exchange the ownership of some good.
Let’s imagine I want to buy a new car then the car company could add to the blockchain the claim “if Lê gives us 10 Bitcoin, then this particular car will be opened by Lê’s private key” so you would arrive with your smartphone for instance and then sign a transaction to prove that you are really in possession of this kind of this etherium account, and then the car will verify the accuracy of the signature and will open if it’s accurate and the reason why I can be so confident about giving the 10 Bitcoins to the car company is that I know exactly what the car company wrote in the blockchain but once this code has been appended to the blockchain, there is no way to take it back.
I know that I would get the car as soon as my Bitcoin transaction has been carried out the technology is very young, so I think we will see new use cases in the years to come bitcoin is a groundbreaking Internet technology for which money is really one of the possible applications yeah this is a good question why does a miner invest a lot of computation power and a lot of electricity and resources to compute the proofs of work?.