PhD ThesisWe have witnessed the rise of cryptocurrencies in the past eight years. Bitcoin and Ethereum
are the world’s most successful cryptocurrencies with market capitalisations of 37bnand21bn respectively in June 2017. The innovation behind these cryptocurrencies is the
blockchain which is an immutable and censorship resistant public ledger. Bitcoin introduced
the blockchain to trade a single asset (i.e. bitcoins), whereas Ethereum adopted the
blockchain to store and execute expressive smart contracts. In this thesis, we consider cryptographic
protocols that bootstrap trust from the blockchain. This includes secure end-to-end
communication between two pseudonymous users, payment protocols, payment networks
and decentralised internet voting. The first three applications rely on Bitcoin, whereas the
final e-voting application is realised using Ethereum.
First, it is important to highlight that Bitcoin was designed to protect the anonymity (or
pseudonymity) for financial transactions. Nakamoto proposed that financial privacy is achievable
by storing each party’s pseudonym (and not their real-world identity) in a transaction.
We highlight that this approach for privacy has led to real-world authentication issues as
merchants are failing to re-authenticate customers in post-transaction correspondence. To
alleviate these issues, we propose an end-to-end secure communication protocol for Bitcoin
users that does not require any trusted third party or public-key infrastructure. Instead, our
protocol leverages the Blockchain as an additional layer of authentication. Furthermore,
this insight led to the discovery of two attacks in BIP70: Payment Protocol which is a
community-accepted standard used by more than 100,000 merchants. Our attacks were
acknowledged by the leading payment processors including Coinbase, BitPay and Bitt. As
well, we have proposed a revised Payment Protocol that prevents both attacks.
Second, Bitcoin as deployed today does not scale. Scalability research has focused on two
directions: 1) redesigning the Blockchain protocol, and 2) facilitating ‘off-chain transactions’
and only consulting the Blockchain if an adjudicator is required. We focus on the latter
and provide an overview of Bitcoin payment networks. These consist of two components:
payment channels to facilitate off-chain transactions between two parties, and the capability
to fairly exchange bitcoins across multiple channels. We compare Duplex Micropayment
Channels and Lightning Channels, before discussing Hashed Time Locked Contracts which
viii
enable Bitcoin-based payment networks. Furthermore, we highlight challenges in routing
and path-finding that need to be overcome before payment networks are practically feasible.
Finally, we study the feasibility of executing cryptographic protocols on Ethereum. We
provide the first implementation of a decentralised and self-tallying internet voting protocol
with maximum voter privacy as a smart contract. The Open Vote Network is suitable for
boardroom elections and is written as a smart contract for Ethereum. Unlike previously
proposed Blockchain e-voting protocols, this is the first implementation that does not rely on
any trusted authority to compute the tally or to protect the voter’s privacy. Instead, the Open
Vote Network is a self-tallying protocol, and each voter is in control of the privacy of their
own vote such that it can only be breached by a full collusion involving all other voters. The
execution of the protocol is enforced using the consensus mechanism that also secures the
Ethereum blockchain. We tested the implementation on Ethereum’s official test network to
demonstrate its feasibility. Also, we provide a financial and computational breakdown of its
execution cost