Blockchain

Quasi-anonymity and user profiling.

Silvia Puglisi / @nopressure

What is the blockchain

To answer this we must talk about bitcoin and cryptography in general.

A few words on asymmetric cryptography

Public key, or asymmetric, cryptography is a cryptographic system that uses two different keys to encrypt and decrypt messages.

Public key cryptography is based on the mathematical notion of a one-way function. A one-way function is a function that is easy to compute on every input, but hard to invert given the image of a random input.

The existence of one-way function is linked to the P vs NP problem.

The P vs NP problem asks whether every problem whose solution can be quickly verified by a computer can also be quickly solved by a computer.

Typical examples of P vs NP are Public key encryption and digiltal signatures.

Public key encryption

A message is encrypted with a recipient's public key. The message cannot be decrypted by anyone who does not possess the matching private key, who is thus presumed to be the owner of that key and the person associated with the public key.

Digiltal signatures

A message is signed with the sender's private key and can be verified by anyone who has access to the sender's public key. This verification proves that the sender had access to the private key, and therefore is likely to be the person associated with the public key. This also ensures that the message has not been tampered with, as any manipulation of the message will result in changes to the encoded message digest, which otherwise remains unchanged between the sender and receiver.

What is bitcoin

Bitcoin is a collection of concepts and technologies creating a digital money ecosystem.


  • A decentralized peer-to-peer network (the bitcoin protocol)
  • A public transaction ledger (the blockchain)
  • A decentralized mathematical and deterministic currency issuance (distributed mining)
  • A decentralized transaction verification system (transaction script)

Bitcoin was invented in 2008 and introduced with the paper: "Bitcoin: A Peer-to-Peer Electronic Cash System" written under the alias of Satoshi Nakamoto.

Within bitcoin several prior inventions are combined (b-money and HashCash).

Bitcoin is completely decentralized and does not rely on a central authority for currency issuance or settlement and validation of transactions.

The bitcoin system overview

* From: Mastering Bitcoin - O'Reilly

In bitcoin users have wallets with public/private keys.

Users make transactions that are propagated across the network.

Miners produce (through competitive computation) the consensus blockchain, the authoritative ledger of all transactions.

How does this work in practice?

Alice wants to buy a cup of coffee at Bob's cafe.

To be able to make a first transactions Alice must have exchanged cash (or real-world currency) for Bitcoins.

Bitcoin transactions work in a chain.

Each transaction contains:

  • One or more inputs: debits against a bitcoin account.
  • One or more outputs:credits added to a bitcoin account.
  • The inputs and outputs (debits and credits) do not necessarily add up to the same amount.
  • The difference represents an implied “transaction fee,” which is a small payment collected by the miner who includes the transaction in the ledger.

The bitcoin network is p2p. I.e.: Alice doesn't have to send the transaction to Bob directly.

The transaction propagates across the network, reaching a large percentage of the nodes.

If Bob’s bitcoin wallet application is directly connected to Alice’s wallet application, Bob might be the first node to receive the transaction.

The blockchain is the bitcoin ledger

In the blockchain each transaction ever sent or received in the bitcoin network is stored.

A transaction is verified when it is trusted and inserted into a block.

Miners have to produce a hash using the hash of the block before and some other data.

Miners compete with each others to solve computationally difficult problems used to produce the hash. The first one to solve the problems can clame the transaction fee.

Pseudo-anonymity

Bitcoin wasn't designed for being anonymous. Although anonymous bitcoin protocols and wallet apps have been developed.

Addresses in bitcoin transactions are public. Although the idea is that addresses should be used max twice.

The blockchain can be analysed to link transactions to real people: i.e. identities.

System for anonymous payments on bitcoin have been developen but aren't always accepted.

Transactions contain information that can be used to profile or trace real life identities.

A bitcoin address per se doesn't say anything about you, but your transaction history does.

What's in a transaction

Transactions can have different structures

Transactions can be tagged

Thanks.

“One must acknowledge with cryptography no amount of violence will ever solve a math problem.”
- Jacob Appelbaum,
Cypherpunks: Freedom and the Future of the Internet