[137187] in cryptography@c2.net mail archive
Re: Bitcoin P2P e-cash paper
daemon@ATHENA.MIT.EDU (Satoshi Nakamoto)
Sun Nov 9 14:14:03 2008
Date: Sun, 09 Nov 2008 11:09:49 +0800
From: "Satoshi Nakamoto" <satoshi@vistomail.com>
Reply-To: satoshi@vistomail.com
To: jamesd@echeque.com
Cc: cryptography@metzdowd.com
James A. Donald wrote:
> The core concept is that lots of entities keep complete and consistent
> information as to who owns which bitcoins.
>
> But maintaining consistency is tricky. It is not clear to me what
> happens when someone reports one transaction to one maintainer, and
> someone else transports another transaction to another maintainer. The
> transaction cannot be known to be valid until it has been incorporated
> into a globally shared view of all past transactions, and no one can
> know that a globally shared view of all past transactions is globally
> shared until after some time has passed, and after many new
> transactions have arrived.
>
> Did you explain how to do this, and it just passed over my head, or
> were you confident it could be done, and a bit vague as to the details=
?
The proof-of-work chain is the solution to the synchronisation problem, =
and to knowing what the globally shared view is without having to trust =
anyone.
A transaction will quickly propagate throughout the network, so if two v=
ersions of the same transaction were reported at close to the same time,=
the one with the head start would have a big advantage in reaching many=
more nodes first. Nodes will only accept the first one they see, refus=
ing the second one to arrive, so the earlier transaction would have many=
more nodes working on incorporating it into the next proof-of-work. In=
effect, each node votes for its viewpoint of which transaction it saw f=
irst by including it in its proof-of-work effort.
If the transactions did come at exactly the same time and there was an e=
ven split, it's a toss up based on which gets into a proof-of-work first=
, and that decides which is valid.
When a node finds a proof-of-work, the new block is propagated throughou=
t the network and everyone adds it to the chain and starts working on th=
e next block after it. Any nodes that had the other transaction will st=
op trying to include it in a block, since it's now invalid according to =
the accepted chain.
The proof-of-work chain is itself self-evident proof that it came from t=
he globally shared view. Only the majority of the network together has =
enough CPU power to generate such a difficult chain of proof-of-work. A=
ny user, upon receiving the proof-of-work chain, can see what the majori=
ty of the network has approved. Once a transaction is hashed into a lin=
k that's a few links back in the chain, it is firmly etched into the glo=
bal history.
Satoshi Nakamoto
---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo@metzdowd.com