Digital signature solves part of problem (authenticity of transaction)
Needs to solve double spending problem
Solution
Time stamp server
generate proof for transaction sequence
proof of work - proof of control of CPU power collectively, on assumption the majority of CPU power is controlled in honest hands
works by
takes a hash of (a block of items (transactions) + previous hash) and publish the hash
proves the data exists after previous and before the next (chain)
Signature
data hash signed by private key solves authenticity problem
Proof of work
to implement time stamp on p2p basis
work by
solving a puzzle (find Nonce which (previous hash + data + Nonce -> hash = n-zero hash)
longest chain has greatest CPU effort spent in it
Network
1) New transactions are broadcast to all nodes.
2) Each node collects new transactions into a block.
3) Each node works on finding a difficult proof-of-work for its block.
4) When a node finds a proof-of-work, it broadcasts the block to all nodes.
5) Nodes accept the block only if all transactions in it are valid and not already spent.
6) Nodes express their acceptance of the block by working on creating the next block in the
chain, using the hash of the accepted block as the previous hash.
7) If two nodes broadcast different versions of the next block simultaneously, some nodes may receive one or the other first. In that case, they work on the first one they received, but save the other branch in case it becomes longer. The tie will be broken when the next proofof-work is found and one branch becomes longer; the nodes that were working on the other branch will then switch to the longer one.