Cryptocurriencies and related technologies

Table of Contents


double spend
attach where the given set of coins is spent in more than one transaction


Proof-of-work: solving double-spending

Adapted from

The mechanism behind proof of work was a breakthrough in the space because it simultaneously solved two problems:

  1. It provides a simple and moderately effective consensus algorithm, allowing nodes in the network to collectively agree on a set of canonical updates to the state of the Bitcoin ledger.
  2. It provides a mechanism for allowing free entry into the consensus process, solving the political problem of deciding who gets to influence the consensus, while simultaneously preventing sybil attacks.
    • Does this by substituting a formal barrier to participation, such as the requirement to be registered as a unique entity on a particular list, with an economic barrier - the weight of a single node in the consensus voting process is directly proportional to the computing power that the node brings.

An alternative approach is proof of stake, calculating the weight of a node as being proportional to its currency holdings and not computational resources; the discussion of the relative merits of the two approaches is beyond the scope of this paper but it should be noted that both approaches can be used to serve as the backbone of a cryptocurrency.

Solution to double-spending

  • P2P network
  • Network timestamps transactions by hashing them into an ongoing chain of hash-based proof-of-work
  • Forms a record that cannot be changed without redoing the proof-of-work
  • Proof of work:
    • Longest chain not only serves as proof of the sequence of events witnessed, but proof that i came from the largest pool of CPU power
    • Thus, as long as pool of majority of CPU power is controlled by nodes that are not cooperating to attack the network, they'll generate the longest chain and outpace attackers


  • Electronic coin defined as a chain of digital signatures
  • Each owner transfers the coin to the next by digitally signing a hash of the previous transaction and the public key of the next owner, adding those to the end of the coin