Bitcoin: The security of transaction block chains발음듣기
Bitcoin: The security of transaction block chains
What I would like to do is describe an imaginary or fictitious bitcoin transaction and then talk about how somebody might try to game or defraud this system and why it's mathematically hard to do but why there is actually an economic incentive in the Bitcoin system for different people to behave honestly.발음듣기
Let's say that Pete's Pizza Shop accepts bitcoins as payment and that it costs 1 BTC for a pizza pie.발음듣기
So, Carol, laballed by "C", gave to Dan 5 BTC, which we can label as a "B" with a circle around it.발음듣기
What Dan's bitcoin client will do is it will create a transaction record that includes information about how Dan got these bitcoins.발음듣기
So, in this case it includes information about this transaction between Carol, who we've marked by "C" and Dan for 5 bitcoins.발음듣기
We will label Pere by "P"...and also that Dan is going to take the remaining 4 bitcoins and that will be basically change to himself.발음듣기
Whatever is remaining is either change or part of it can be used a a transaction fee and so on.발음듣기
For this example, to keep things simple, I'll assume that there is no transaction fee in place.발음듣기
We'll focus only on the situation in which everything is being accounted for in the transaction.발음듣기
If you recall, there are these special nodes, these special entities or people in Bitcoin that are known as bitcoin miners.발음듣기
These bitcoin miners are going to be responsible for making sure that everything checks out in the transaction from a global perspective.발음듣기
What they do is they look at the full record of transaction and this transaction record is public, it's known as the transaction block chain...발음듣기
I'll put the description of the transaction block chain right here....and this transaction block chain contains the history of every single transaction that ever occured within the Bitcoin system from the beginning of time, the time of the first block, which is known in Bitcoin as the genesis block.발음듣기
Everybody can verify the details of any transaction if they wanted because that information is public.발음듣기
In particular, what these bitcoin miners will look at is whether or not Dan previously received 5 bitcoins from anybody else,...발음듣기
In this particular case it was his cousin Carol...whether or not Dan has tried to spend those bitcoins previously, and so on and so forth.발음듣기
These bitcoin miners are all collectively trying to take all these recent transactions that haven't yet been recorded.발음듣기
That includes not only the transactions between Dan and Pete, but there may be other transactions floating out there that took place around the same time.발음듣기
The bitcoin miners will look at all these different transactions at once and they are going to try to figure out how to form a transaction block out of these transactions and they'll wanna add this transaction block to the end of the current transaction block chain.발음듣기
If you might recall from previous videos, that for a bitcoimn miner to add a transaction block to a transaction block chain they have to solve, what's known as the proof of work puzzle.발음듣기
The Bitcoin system is designed, or maybe calibrated is the better word, so that, on average, one miner will solve a puzzle in about ten minutes.발음듣기
It's worth stressing here that it could take a long time for any one individual miner to solve the puzzle...발음듣기
It could even take maybe a year or even two years...but because there are so many of these miners working at the same time, one of them is bound to get lucky and solve the puzzle quickly.발음듣기
Each of these proof of work puzzles that is associated with a transaction block happens to have a difficulty score associated with it.발음듣기
Imagine that there are some numbers and we will call these numbers for the most recent difficulty score.발음듣기
When you at overall chain, what the Bitcoin system is interested in, it is interested in how hard was it to construct that entire chain.발음듣기
The reason it's important for someone to understand how hard the entire chain was constructed is because this overall score for this chain, this difficulty score for the chain is what's used by Pete or by other people who are receiving bitcoins to figure out whether or not they trust the transaction.발음듣기
The more work that went into the overall chain, the more trust they will have in that transaction.발음듣기
The reason for that is that the way Bitcoin works is that if there was ever more than one transaction block chain out there...발음듣기
Let's say there was a bad user out there or maybe somebody didn't receive a particular message in time or whatever reason.발음듣기
If there is somehow more than one transaction block chain out there, according to the Bitcoin protocol, everyone is supposed to work off of the chain that had the most work put into it.발음듣기
So, we ignore chains that have a lot less work and only consider the chain that had the most work put into it.발음듣기
This is actually kind of a confusing piece of terminology because by longest chain we don't mean that this chain is long in any physical sense.발음듣기
The way that the work is defined is that you look at all these different difficulty scores, you add them up and that gives you a difficulty score for the entire chain.발음듣기
Now we are gonna be interested in the chain that had the most work put into it and we call that the longest chain.발음듣기
Let's say Pete is convinced, he gets this bitcoin from Dan, he waits a bit, he sees that there is a long chain out there that contains the transaction, he sends the pizza over to Dan, Dan eats the pizza and then decides that he doesn't want to behave honestly, he wants to somehow cheat Pete or he wants to defraud the system.발음듣기
The way that Dan is gonna try to defraud the system is by attempting to create another transaction, in which he assigns the 5 BTC he got from Carol to somebody else.발음듣기
It doesn't matter who Fred is because we know that Fred isn't the rightful owner of these bitcoins.발음듣기
What Dan is gonna try to do is he is gonna try to take those 5 bitcoins that he got from Carol and he is gonna now try to take these 5 bitcoins and assign them over to Fred.발음듣기
This is something that we don't want to allow because that would mean that somehow Dan was able to spend these 5 bitcoins twice over, he's effectively double spent those bitcoins.발음듣기
It's important to keep in mind that if Dan just tried to spend the same coins again without trying to cover his tracks or anything of that nature, everybody out there would know that Dan is up to no good because thay can see from the existing longest transaction block chain, namely this existing chain from the beginning, they can see that Dan already spent these coins before, he shouldn't be allowed to spend these coins again.발음듣기
What Dan has to do is he has to create a different transaction block chain that contains just the second bogus transaction in it, and this will be the transaction to Fred, and that would leave out the other transaction to Pete.발음듣기
Since everyone in Bitcoin ultimately goes with the transaction block chain that contains the most work, namely this longest chain that we talked about, Dan has a chance, he has a hope potentially of being able to pull off this type of a fraudulent scheme.발음듣기
For Dan to be able to pull this off, he has to start off with the transaction block chain that existed previously and he has to try to add to that transaction block chain a different transaction.발음듣기
So, rather than having this previous transaction where he gave money to Pete, he is gonna try to create a new transaction and add it to the transaction block chain that contains this other fraudulent transaction between Dan and his friend Fred.발음듣기
Somebody tried to rewrite their tracks or to cover their tracks and to revise history the way we know it.발음듣기
What that really means is that there is now somehow more than one version of what happened out there.발음듣기
The legitimate branch was the one where Dan paid his friend Pete for pizza and the bogus one is this follow on transaction where Dan attempted to pay his friend Fred with those same exact bitcoins.발음듣기
Remember that any transaction block that's added to this transaction block chain has to contain within it a proof of work puzzle, or solution rather to a proof of work puzzle.발음듣기
So, if Dan wants to cheat the system, he has to secretly solve a new proof of work puzzle himself.발음듣기
But the challenge for Dan is that he is starting off with a bit of a handicap, because there is already this longer chain out there that people have started accepting.발음듣기
Keep in mind that because this chain is out there, other nodes may have started to build on top of this chain.발음듣기
So, there is this longer transaction block chain out there and Dan wants to create his own fake chain.발음듣기
So, in order for that chain to be believable he has to now be the longest chain out there and he has to basically do all this proof of works to create the chain that is longer.발음듣기
To come up with this longer chain on his own, Dan has to outrun the existing proof of work chain.발음듣기
That means he has to solve not just typically one proof of work puzzle, but may need to solve several proof of work puzzles to create another chain that he hopes will be longer than the chain that's out there.발음듣기
If he can get the longest chain and he can get people to start using that chain instead,.. and that's the chain he might want people to use because it contains this fake transaction, but it removes the previous transaction where he gave money to Pete.발음듣기
To solve a proof of work Dan has to take whatever computing power he has access to and he has to start working on solving the proof of work puzzle.발음듣기
If you recall from any of the proof of work videos, to succeed in a proof of work is kind of like winning a lottery.발음듣기
If somebody has even one lottery ticket, they do have the chance to win the lottery, but they are far less likely to succeed compared to somebody ho has a lot of lottery tickets in hand.발음듣기
Even if you succeed once in winning the lottery with the small numer of tickets, the likelihood of repeating that feat over and over again, several times in a row becomes much smaller.발음듣기
The key thing you have to look for is how much computing power Dan has versus how much computing power all the honest nodes in the system have together.발음듣기
When I say "honest computing power" I mean the total computing power for all the bitcoin mining nodes who are honest in a network.발음듣기
If that total computing power that they have access to is greater than the power that Dan has access to, so Dan's computing power, the Bitcoin system will be safe because it will be hard for Dan to be able to create this fraudulent transaction chain, because he won't be able to outrun the honest people.발음듣기
The honest people win the lottery more frequently and will create the longer chain and Dan's attempt is gonna be very much an uphill battle.발음듣기
It is still possible that Dan could have access to a lot of computing power, maybe he is very wealthy or he has a lot of resources, but he'll really need a lot to be able to do that.발음듣기
That's one aspect of why the transaction block chain is secure, because it's unlikely for anyone individual to have access to just that much computing power.발음듣기
If Dan has access to that kind of computing power to solve these proof of work puzzles, rather than trying to fight this uphill battle of forking the transaction block chain and creating fake transaction and so on, Dan is probably much better off, just using that computing power he has for legitimate bitcoin mining himself.발음듣기
You might remember that bitcoin miners, who solve proof of work puzzles get both a reward...발음듣기
For succeeding they get some numer of bitcoins...and they also get a transaction fee for all the transactions in the block that they validated.발음듣기
Maybe I should just recap in closing the video that the security of bitcoin transactions comes from, first of all, this mathematical barrier that makes it hard for Dan to fork the transaction block chain in a dishonest way, as well as an economic incentive for Dan to just act honestly and mine bitcoins for himself.발음듣기
칸아카데미 더보기더 보기
-
40문장 0%번역 좋아요0
번역하기 -
Workshop of Campin, Annunciation Triptych (Me...
85문장 0%번역 좋아요1
번역하기 -
Screen with the Siege of Belgrade and Hunting...
72문장 0%번역 좋아요2
번역하기 -
A brief history of representing the body in W...
92문장 6%번역 좋아요5
번역하기