Now what happens in the network is
at each time step a new block is created
that validates all the transactions in that block.
At the point where this block is created,
this has to be the longest block chain.
That's the way that Bob can validate
that this was a valid spend.
Someone could try to create an alternate block chain.
So if Bob wants to spend the coin twice,
what Bob would need to do is create a chain
that's longer than the longest chain.
When a transaction's validated by the network,
all the signatures in the coin are checked.
This is using the transfer chain,
but to prevent double spending
there's also a check of this chain of blocks.
And the check is: the longest chain is the one that's viewed as correct.
So each peer in the network might see a different view of this chain of blocks.
If they see different views, the one that has the longest chain
is the one that will be viewed as the most correct view of all the transactions.
So every participant in the network
is effectively keeping track of all transactions.
And the version of all transactions that people trust the most
is the one with the longest chain,
and if an adversary wants to create a longer chain
with a different view of transactions--
so if Bob wants to double spend this coin and, say,
give the same coin to both Cathy and Doug,
what Bob would need to do is create a longer chain
that convinces Doug that this is the correct view of the network
and this view is incorrect.
So that requires finding these hash values.
If the power of the network exceeds the power of the adversary,
well then it's likely the network will have
a longer chain than the adversary can produce.
Keep in mind, the motivation for producing this attack
is just to be able to double spend one coin.
There's still the chain of public key signatures
that validates the transfers of each coin.
So the resources that you would need to spend to produce a longer chain
to convince someone that you didn't spend that coin
in the other chain, which is now the one that would've included the previous spend
is to find these hash values quicker than the network can.
Then centers are set up in such a way
to make it unlikely that someone will want to do that
since if you do find that next hash value in the chain,
you can create a new block, which is worth 50 bit coins
If you create a longer chain
trying to catch up to the chain that the network has,
that's going to require a lot more computing resources,
and would only allow you to respend
the bit coins that you already owned.
So this doesn't provide anonymity in the traditional sense.
It avoids the need for a central authority,
but each transaction is known to everyone in the network.
The way to provide some anonymity is,
instead of using your actual names in the transactions,
you can have different identities for each transaction.
So this is gonna be some new identity.
It will still need to have a certificate
that validates the public key for that,
but it doesn't need to be tied to Alice's identity
in any way that's visible to anyone else.
So that's the way to provide some anonymity,
even though all the transactions in the network are public
to everyone who participates.
So this actually works.
There's at least a reasonable number of people
that trust this currency
and are providing computation
to create these blocks,
which is incentivized by creating the value of new bit coins.
There's about 9 million bit coins currently available.
And the marketplace fluctuates, and it depends on cost of computation
as well as the trust in the bit coin network.
There have been some incidents where the price fluctuated wildly
because there was some concern about the security of the bit coin transaction site
but the current market is fairly stable around $5 for a bit coin.
