Bitcoin: Transaction block chains

84문장 0% 일본어 번역 0명 참여 출처 : 칸아카데미
번역 0%

Bitcoin: Transaction block chains발음듣기

The last really essential or salient piece for understanding the mechanics of how bitcoins work is what we call the transaction block chain.발음듣기

If you recall, in the previous video we had an example of a user Alice, who wanted to, let's say, send some numer of bitcoins to another user Bob in the system.발음듣기

What Alice had to do to initiate that transaction was to construct a transaction record of sorts that contained information about the transaction and that was signed with Alice's signing key and that actually contained Alice's public verification key and Bob's public verification key as well.발음듣기

That transaction information was basically broadcast out to the entire Bitcoin ecosystem, to all the nodes on the bitcoin peer-to-peer network.발음듣기

The various nodes in the Bitcoin ecosystem are gonna receive information about this transaction.발음듣기

They are also gonna be getting information about a lot of other transactions that are taking place around the same time.발음듣기

What these nodes are gonna start doing is they are going to work on incorporating this transaction record into a ledger of all the transactions that have ever taken place in the Bitcoin system.발음듣기

What happens is that each node basically starts off by taking all of the previously unincorporated transactions that they've ever received.발음듣기

That will be all these transactions that have kind of happened within a given time window.발음듣기

So these are all these bitcoin transactions kind of floating around.발음듣기

And these nodes, these bitcoin miners as they are called, are gonna receive information about all these different transactions and they are gonna start working on incorporating those transactions.발음듣기

Their first goal is to collate these transactions into what's known as a transaction block.발음듣기

If you recall our ledger analogy, a single bitcoin transaction essentially corresponds to a proposed entry in a ledger.발음듣기

In that capacity, a transaction block will basically correspond to a page in a ledger where you have multiple transactions that are listed in that page of the ledger.발음듣기

The bitcoin miners' goal is to take that page and get it added to the global ledger book, the global comprehensive ledger book.발음듣기

They engage in this sort of work but it isn't all they basically do.발음듣기

First, take all the transactions that have been broadcast,발음듣기

let's say these four transactions have been broadcast out, and they are gonna basically hash these transactions in pairs in the tree-like structure.발음듣기

They'll take these two transactions and apply cryptographic hash function and they'll get a corresponding digest, they'll do the same to these two,발음듣기

and they'll take these two digests and hash them to get a single digest value.발음듣기

This digest effectively encodes all of the transactions that were previously unincorporated and were received by these individual nodes.발음듣기

This digest is going to be combined with the hash of the transaction block that was previously accepted by that network.발음듣기

You can imagine that the network will have a series of transaction blocks that were previously accepted.발음듣기

In fact, every transaction block incorporates the previous transaction block.발음듣기

So, this transaction block will incorporate the one that was used just before it.발음듣기

And this transaction block will incorporate the one that was used just forward.발음듣기

It's gonna go on literally to the beginning of bitcoin times.발음듣기

This is really the beginning of time for the Bitcoin system.발음듣기

This is the time equals zero for Bitcoin.발음듣기

They are gonna take this last block and combine it with this most recent block.발음듣기

If you imagine that you have now not just individual block, because each individual block incorporates the block before it, we are not dealing anymore with an isolated or distinct block of transactions, but rather with a chain of blocks that starts literally at the beginning of the entire Bitcoin system.발음듣기

When you do all this combination, at the end of the day, you are gonna do some cryptographic hashing, and you basically will end up with the sequence of numbers.발음듣기

This sequence of numbers will be derived by incorporating all these blocks together.발음듣기

You will get the sequence of numbers and what we're gonna do is take this sequence of numbers and convert that sequence of numbers into a challenge in a proof of work protocol.발음듣기

I did a suport video on proof of work protocols.발음듣기

I would encourage you to watch that if you want to get a better sense for how they work.발음듣기

But the short of it is that, what the bitcoin mining node has to do with this point is he'll take the challenge and will have to come up with a separate sequence of numbers, which we typically term the proof, for the proof of work.발음듣기

This proof of work has to have a very specific mathematical property.발음듣기

What that property entails is that if you take the challenge numbers and you take these proof numbers and you concatenate them together and you make them the input to a cryptographic hash function the resulting output has to have a large prefix of zeros.발음듣기

It doesn't have to be all zeros but a large portion of the beginning, the prefix has to be all zeros.발음듣기

If you think about it for a moment, giving the cryptographic hash functions, giving that their output tends to look thoroughly random, it is unlikely that in any given instance you are going to see a proof that provides you with a large string of zeros at the beginning.발음듣기

What the bitcoin miner will have to do is on average he'll have to try many possible choices for these proof numbers until he finally gets lucky and he stumbles upon what has this off-beat or strange statistical property.발음듣기

The actual difficulty of finding these proof numbers is dependent on exactly how many leading zeros are required.발음듣기

The more leading zeros you require in this proof, the longer it takes to actually solve the problem.발음듣기

The longer it takes to actually come up with the proof that works with respect to a given challenge.발음듣기

The fewer zeros you require, the less time it will take.발음듣기

The exact numer of zero bits required in the bitcoin protocol actually does change over time.발음듣기

It gets The average time taken across the whole system should be about ten minutes.발음듣기

So you wanna take about ten minutes for at least one node to come up with a valid proof.발음듣기

But keep in mind that a lot of nodes are working on this proof concurrently.발음듣기

Once this proof of work is found...발음듣기

Let's say that proof of work is eventually found...the bitcoin miner will announce the result to the overall peer-to-peer network.발음듣기

It's gonna take this proof and all the challenge and so on and it's gonna announce it to all the other nodes.발음듣기

They are not gonna say that: "Hey, there is this proof out there, somebody found it! Let's drop the other stuff we were doing and we are gonna now start to work and build on top of this new proof."발음듣기

Remember, this new proof and this new challenge incorporate all the previous transaction blocks.발음듣기

What they are starting to do is they are starting to work out a new, updated transaction block chain.발음듣기

They are gonna incorporate any new unincorporated transactions into that new transaction block chain.발음듣기

There are a couple of points I wanna make.발음듣기

First of all, as part of constructing these transaction block chains, really as part of incorporating them into a transaction block chain, bitcoin miners are atually allowed one little special treat.발음듣기

They are allowed to include in that transaction block a special node for themselves.발음듣기

This node will basically be a little reward that they can get...발음듣기

Let me use the grittish colour for that reward...they can take the first block, the first transaction record, and they can put in that transaction record, they can assign the reward to themselves.발음듣기

The amount of that reward will change over time.발음듣기

I do wanna point out that what this transaction is typically called this is called the coinbase transaction or a generation transaction.발음듣기

This is how new coins get included in the Bitcoin system.발음듣기

Whenever a miner succeeds in coming up with a proof, as part of that he will have been allowed to come up with his own transaction to reward himself a special reward for expanding the effort necessary to come up with this proof and for doing all this work associated with adding a new transaction block to the existing transaction block chain for Bitcoin.발음듣기

I think, that is reasonable after all these nodes are using a lot of computational power to come up with these proofs.발음듣기

It's using computational power that must mean that somewhere along the line somebody is spending money on electricity and so on.발음듣기

I also wanna point out to an addition to this coin base of a word.발음듣기

The nodes who are doing the bitcoin mining, the ones who succeed also get to collect the transaction fees that were specified in the transaction record.발음듣기

So if you recall, a person issuing a transaction with Bitcoin can allocate or set aside a certain amount of money, maybe it could be a bitcoin or a fraction of a bitcoin, for the node who succeeds in coming up with the actual proof of work and succeds in being able to add that transaction to the overall bitcoin transaction block chain.발음듣기

So, that node that does the work and succeeds gets a reward of the transaction fee.발음듣기

This could actually become quite a large, because the node that will normally get the transaction fee for one transaction will get the transaction fee for all the transactions that appeared in the current block.발음듣기

It's gonna get the aggregate over all these different transactions.발음듣기

The second point I wanna make is that it might be possible for two nodes to solve the proof of work independently of each other.발음듣기

Somehow they may both end up trying to add to that existing chain in some way, so you may get some weird chain forking happening.발음듣기

If that happens, the peers in the Bitcoin network will basically break a tie by sticking with the longest chain.발음듣기

By longest I don't mean the one that has to mean the most transactions in it.발음듣기

I really mean the one that has the highest aggregate difficulty associated with thet underlying proof of work protocol in each of the transaction blocks.발음듣기

I'll basically look at the total amount of effort that was required to generate that chain, but regarded that proof of work, and whichever chain has the most work associated with it is the chain that everybody will accept.발음듣기

You may get some more discrepancies because of network and so on, but the idea is that after a couple of rounds when there are ties, they'll quickly resolve themselves as long as most of the nodes are behaving honestly and stick to their implementation of the protocol.발음듣기

Since bitcoin miners are generating bitcoins I think there is an interesting question that comes up here, which is how is the Bitcoin money supply controlled and how is it managed.발음듣기

I am gonna talk about that concept in a subsequent video.발음듣기

Top