handouts/ho07.tex
changeset 534 62985f147c85
parent 532 d03bfe3cc67b
parent 523 7a6e8f603e08
child 563 9b45079eacea
equal deleted inserted replaced
533:98ae49ffc262 534:62985f147c85
     1 \documentclass{article}
     1 \documentclass{article}
     2 \usepackage{../style}
     2 \usepackage{../style}
     3 \usepackage{../graphics}
     3 \usepackage{../graphics}
     4 
     4 \usepackage{../langs}
     5 \begin{document}
     5 \usepackage{../data}
     6 \fnote{\copyright{} Christian Urban, King's College London, 2014, 2015}
     6 
       
     7 %https://crypto.stanford.edu/cs251/
       
     8 %https://programmingblockchain.gitbooks.io/programmingblockchain/content/
     7 
     9 
     8 %% spying self defence
    10 %% spying self defence
     9 %%https://ssd.eff.org/en/module/communicating-others
    11 %%https://ssd.eff.org/en/module/communicating-others
    10 
    12 
    11 %https://www.theguardian.com/technology/2016/oct/04/yahoo-secret-email-program-nsa-fbi
    13 %https://www.theguardian.com/technology/2016/oct/04/yahoo-secret-email-program-nsa-fbi
    16 %http://www.cs.cmu.edu/~yuxiangw/docs/Differential%20Privacy.pdf
    18 %http://www.cs.cmu.edu/~yuxiangw/docs/Differential%20Privacy.pdf
    17 %https://www.youtube.com/watch?v=Gx13lgEudtU
    19 %https://www.youtube.com/watch?v=Gx13lgEudtU
    18 %https://fpf.org/wp-content/uploads/Differential-Privacy-as-a-Response-to-the-Reidentification-Threat-Klinefelter-and-Chin.pdf
    20 %https://fpf.org/wp-content/uploads/Differential-Privacy-as-a-Response-to-the-Reidentification-Threat-Klinefelter-and-Chin.pdf
    19 %http://research.neustar.biz/2014/09/08/differential-privacy-the-basics/
    21 %http://research.neustar.biz/2014/09/08/differential-privacy-the-basics/
    20 
    22 
    21 %=====
    23 % hard forks
    22 %Tim Greene, Network World, 17 Dec 2015   (via ACM TechNews, 18 Dec 2015)
    24 % https://github.com/bitcoin/bips/blob/master/bip-0050.mediawiki
       
    25 
       
    26 % only 25% needed to obtain larger shares of mining
       
    27 % http://www.cs.cornell.edu/~ie53/publications/btcProcFC.pdf
       
    28 
       
    29 % re-identification attacks
       
    30 % https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf
       
    31 
       
    32 % bit-coin papers
       
    33 % https://crypto.stanford.edu/cs251/syllabus.html
       
    34 
       
    35 % bit coin talk --- at 20:00 mins
       
    36 %https://www.usenix.org/conference/lisa16/conference-program/presentation/perlman
       
    37 
       
    38 % In fact, far from freeing people from the oppression of the state,
       
    39 % blockchains perversely promise the perfect tool for a fully
       
    40 % auditable, tax compliant, cashless society. Similarly, the belief it
       
    41 % is an anonymous digital cash has quickly vanished and we are now
       
    42 % seeing a large number of analytics companies, set-up specifically to
       
    43 % work with law enforcement agencies, to police this new parallel
       
    44 % financial system.
    23 %
    45 %
    24 %Massachusetts Institute of Technology (MIT) researchers' experimental
    46 % But today blockchain is riddled with
    25 %Vuvuzela messaging system offers more privacy than The Onion Router (Tor) by
    47 % contradictions and misunderstandings. Most of its problems are very
    26 %rendering text messages sent through it untraceable.  MIT Ph.D. student
    48 % fixable, if you want to fix them
    27 %David Lazar says Vuvuzela resists traffic analysis attacks, while Tor
    49 
    28 %cannot.  The researchers say the system functions no matter how many parties
    50 
    29 %are using it to communicate, and it employs encryption and a set of servers
    51 % history of bitcoins
    30 %to conceal whether or not parties are participating in text-based dialogues.
    52 % https://futurism.com/images/this-week-in-tech-jan-15-22-2016/
    31 %"Vuvuzela prevents an adversary from learning which pairs of users are
    53 
    32 %communicating, as long as just one out of [the] servers is not compromised,
    54 \begin{document}
    33 %even for users who continue to use Vuvuzela for years," they note.  Vuvuzela
    55 \fnote{\copyright{} Christian Urban, 2014, 2015}
    34 %can support millions of users hosted on commodity servers deployed by a
    56 
    35 %single group of users.  Instead of anonymizing users, Vuvuzela prevents
    57 \section*{Handout 7 (Bitcoins)}
    36 %outside observers from differentiating between people sending messages,
    58 
    37 %receiving messages, or neither, according to Lazar.  The system imposes
    59 In my opinion Bitcoins are an elaborate Ponzi
    38 %noise on the client-server traffic which cannot be distinguished from actual
    60 scheme\footnote{\url{http://en.wikipedia.org/wiki/Ponzi_scheme}}---still
    39 %messages, and all communications are triple-wrapped in encryption by three
    61 the ideas behind them are really beautiful and not too
    40 %servers.  "Vuvuzela guarantees privacy as long as one of the servers is
    62 difficult to understand. Since many colourful claims about
    41 %uncompromised, so using more servers increases security at the cost of
    63 Bitcoins float around in the mainstream and not-so-mainstream
    42 %increased message latency," Lazar notes.
    64 media, it will be instructive to re-examine such claims from a
    43 %http://orange.hosting.lsoft.com/trk/click?ref=znwrbbrs9_5-e70bx2d991x066779&
    65 more technically informed vantage point. For example, it is
    44 
    66 often claimed that Bitcoins are anonymous and free from any
    45 %%%%
    67 potential government meddling. It turns out that the first
    46 %% canvas tracking
    68 claim ignores a lot of research in de-anonymising social
    47 %%https://freedom-to-tinker.com/blog/englehardt/the-princeton-web-census-a-1-million-site-measurement-and-analysis-of-web-privacy/
    69 networks, and the second underestimates the persuasive means a
    48 
    70 government has at its disposal. 
    49 %%%
    71 
    50 %% cupit re-identification attack
    72 There are a lot of articles, blogposts, research papers
    51 %% https://nakedsecurity.sophos.com/2016/05/20/published-personal-data-on-70000-okcupid-users-taken-down-after-dmca-order/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+nakedsecurity+%28Naked+Security+-+Sophos%29
    73 etc.~available about Bitcoins. Below I will follow closely the
    52 
    74 very readable explanations from
    53 %Differential privacy
    75 
    54 %=====================
    76 \begin{center}
    55 %https://www.wired.com/2016/06/apples-differential-privacy-collecting-data/
    77 \url{http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/} \;\;and\smallskip\\
    56 
    78 \url{http://www.imponderablethings.com/2013/07/how-bitcoin-works-under-hood.html}
    57 %Differential privacy, translated from Apple-speak, is the
    79 \end{center}
    58 %statistical science of trying to learn as much as possible
    80 
    59 %about a group while learning as little as possible about any
    81 \noindent The latter also contains a link to a nice youtube
    60 %individual in it.
    82 video about the technical details behind Bitcoins. I will
    61 
    83 also use some of their pictures.
    62 %As Roth notes when he refers to a “mathematical proof,”
    84 
    63 %differential privacy doesn’t merely try to obfuscate or
    85 Let us start with the question who invented Bitcoins? You
    64 %“anonymize” users’ data. That anonymization approach, he
    86 could not make up the answer, but we actually do not know who
    65 %argues, tends to fail. In 2007, for instance, Netflix released
    87 the inventor is. All we know is that the first paper
    66 %a large collection of its viewers’ film ratings as part of a
    88 
    67 %competition to optimize its recommendations, removing people’s
    89 \begin{center}
    68 %names and other identifying details and publishing only their
    90 \url{https://bitcoin.org/bitcoin.pdf}
    69 %Netflix ratings. But researchers soon cross-referenced the
    91 \end{center}
    70 %Netflix data with public review data on IMDB to match up
    92 
    71 %similar patterns of recommendations between the sites and add
    93 \noindent is signed by Satoshi Nakamoto, which however is
    72 %names back into Netflix’s supposedly anonymous database.
    94 likely only a pen name. There is a lot of speculation who
    73 
    95 could be the inventor, or inventors, but we simply do not
    74 %As an example of that last method, Microsoft’s Dwork points to
    96 know. This part of Bitcoins is definitely anonymous so far.
    75 %the technique in which a survey asks if the respondent has
    97 The paper above is from the end of 2008; the first Bitcoin
    76 %ever, say, broken a law. But first, the survey asks them to
    98 transaction was made in January 2009. The rules in Bitcoin are
    77 %flip a coin. If the result is tails, they should answer
    99 set up so that there will only ever be 21 Million Bitcoins
    78 %honestly. If the result is heads, they’re instructed to flip
   100 with the maximum reached around the year 2140. Currently there
    79 %the coin again and then answer “yes” for heads or “no” for
   101 are already 11 Million Bitcoins in `existence'. Contrast this
    80 %tails. The resulting random noise can be subtracted from the
   102 with traditional fiat currencies where money can be printed
    81 %results with a bit of algebra, and every respondent is
   103 almost at will. The smallest unit of a Bitcoin is called a
    82 %protected from punishment if they admitted to lawbreaking.
   104 Satoshi, which is the $10^{-8}$th part of a Bitcoin. Remember
    83 
   105 a Penny is the $10^{-2}$th part of a Pound.
    84 %https://www.cis.upenn.edu/~aaroth/Papers/privacybook.pdf
   106 
    85 
   107 The two main cryptographic building blocks of Bitcoins are
    86 % Windows 10 data send back to Microsoft (Cortana)
   108 cryptographic hashing functions (SHA-256) and public-private
    87 %Here’s a non-exhaustive list of data sent back: location data, text
   109 keys using the elliptic-curve encryption scheme for digital
    88 %input, voice input, touch input, webpages you visit, and telemetry
   110 signatures. Hashes are used to generate `fingerprints' of data
    89 %data regarding your general usage of your computer, including which
   111 that ensure integrity (absence of tampering). Public-private
    90 %programs you run and for how long.
   112 keys are used for signatures. For example sending a message,
    91 
   113 say $msg$, together with the encrypted version
    92 % Businesses are already using customised pricing online based on
   114 
    93 % information they can glean about you. It is hard to know how
   115 \[
    94 % widespread the practice is; companies keep their pricing strategies
   116 msg, \{msg\}_{K^{priv}}
    95 % closely guarded and are wary of the bad PR price discrimination
   117 \]
    96 % could pose. However, it is clear that a number of large retailers
   118 
    97 % are experimenting with it. Staples, for example, has offered
   119 \noindent allows everybody with access to the corresponding
    98 % discounted prices based on whether rival stores are within 20 miles
   120 public key $K^{pub}$ to verify that the message came from the
    99 % of its customers’ location. Office Depot has admitted to using its
   121 person who knew the private key. Signatures are used in
   100 % customers’ browsing history and location to vary its range of offers
   122 Bitcoins for verifying the addresses where the Bitcoins are
   101 % and products. A 2014 study from Northeastern University found
   123 sent from. Addresses in Bitcoins are essentially the public
   102 % evidence of “steering” or differential pricing at four out of 10
   124 keys. There are $2^{160}$ possible addresses, which is such a
   103 % general merchandise websites and five out of five travel
   125 vast amount that there is not even a check for duplicates, or
   104 % websites. (Steering is when a company doesn’t give you a customised
   126 already used addresses. If you start with a random number to
   105 % price, but points you towards more expensive options if it thinks
   127 generate a public-private key pair it is very unlikely that
   106 % you will pay more.) The online travel company Orbitz raised
   128 you step on somebody else's shoes. Compare this with the
   107 % headlines in 2012 when it emerged that the firm was pointing Mac
   129 email-addresses you wanted to register with, say
   108 % users towards higher-priced hotel rooms than PC users.
   130 Gmail, but which are always already taken.
   109 
   131 
   110 
   132 One major difference between Bitcoins and traditional banking
   111 %%% government will overwrite your wishes if it is annoymous
   133 is that you do not have a place, or few places, that record the
   112 %% https://www.lightbluetouchpaper.org/2016/12/05/government-u-turn-on-health-privacy/
   134 balance on your account. Traditional banking involves a
   113 
   135 central ledger which specifies the current balance in each
   114 %% corporate surveilance / privacy - report and CC3C talk
   136 account, for example 
   115 %%      http://crackedlabs.org/en/networksofcontrol
   137 
   116 %%      https://media.ccc.de/v/33c3-8414-corporate_surveillance_digital_tracking_big_data_privacy#video&t=2933
   138 \begin{center}
   117 
   139 \begin{tabular}{l|r}
   118 \section*{Handout 6 (Privacy)}
   140 account owner & balance\\\hline
   119 
   141 Alice   & \pounds{10.01}\\
   120 The first motor car was invented around 1886. For ten years,
   142 Bob     & \pounds{4.99}\\
   121 until 1896, the law in the UK (and elsewhere) required a
   143 Charlie & -\pounds{1.23}\\
   122 person to walk in front of any moving car waving a red flag.
   144 Eve     & \pounds{0.00}
   123 Cars were such a novelty that most people did not know what to
   145 \end{tabular}
   124 make of them. The person with the red flag was intended to
   146 \end{center}
   125 warn the public, for example horse owners, about the impending
   147 
   126 novelty---a car. In my humble opinion, we are at the same
   148 \noindent Bitcoins work differently in that there is no such
   127 stage of development with privacy. Nobody really knows what it
   149 central ledger, but instead a public record of all
   128 is about or what it is good for. All seems very hazy. There
   150 transactions ever made. This means spending money corresponds
   129 are a few laws (e.g.~cookie law, right-to-be-forgotten law)
   151 to sending messages of the (oversimplified) form 
   130 which address problems with privacy, but even if they are well
   152 
   131 intentioned, they either back-fire or are already obsolete
   153 \begin{equation}
   132 because of newer technologies. The result is that the world of
   154 \{\text{I, Alice, am giving Bob one Bitcoin.}\}_{K^{priv}_{Alice}}
   133 ``privacy'' looks a little bit like the old Wild
   155 \end{equation}
   134 West---lawless and mythical.
   156 
   135 
   157 \noindent These messages, called transactions, are the only
   136 We would have hoped that after Snowden, Western governments
   158 data that is ever stored in the Bitcoin system (we will come
   137 would be a bit more sensitive and enlightned about the topic
   159 to the precise details later on). The transactions are
   138 of privacy, but this is far from the truth. Ross Anderson
   160 encrypted with Alice's private key so that everybody,
   139 wrote the following in his blog\footnote{\url{https://www.lightbluetouchpaper.org/2016/02/11/report-on-the-ip-bill/}} about the approach taken in
   161 including Bob, can use Alice's public key $K^{pub}_{Alice}$ to
   140 the US to lessons learned from the Snowden leaks and contrasts
   162 verify that this message came really from Alice, or more
   141 this with the new snooping bill that is considered in the UK
   163 precisely from the person who knows $K^{priv}_{Alice}$. 
   142 parliament: 
   164 
   143 
   165 The problem with such messages in a distributed system is that
   144 \begin{quote}\it 
   166 what happens if Bob receives 10, say, of these transactions?
   145 ``The comparison with the USA is stark. There, all three
   167 Did Alice intend to send him 10 Bitcoins, or did the message
   146 branches of government realised they'd gone too far after
   168 get duplicated by for example an attacker re-playing a sniffed
   147 Snowden. President Obama set up the NSA review group, and
   169 message? What is needed is a kind of serial number for such
   148 implemented most of its recommendations by executive order;
   170 transactions. This means transaction messages shoul look more like 
   149 the judiciary made changes to the procedures of the FISA
   171 
   150 Court; and Congress failed to renew the data retention
   172 \begin{center}
   151 provisions in the Patriot Act (aided by the judiciary). Yet
   173 $\{\text{I, Alice, am giving Bob Bitcoin \#1234567.}\}_{K^{priv}_{Alice}}$
   152 here in Britain the response is just to take Henry VIII powers
   174 \end{center}
   153 to legalise all the illegal things that GCHQ had been up to,
   175 
   154 and hope that the European courts won't strike the law down
   176 \noindent There are two difficulties, however, that need to be
   155 yet again.''
   177 solved with serial numbers. One is who is assigning serial
       
   178 numbers to Bitcoins and also how can Bob verify that Alice
       
   179 actually owns this Bitcoin to pay him? In a system with a bank
       
   180 as trusted third-party, Bob could do the following:
       
   181 
       
   182 \begin{itemize}
       
   183 \item Bob asks the bank whether the Bitcoin with that serial
       
   184       number belongs to Alice and Alice hasn't already spent
       
   185       this Bitcoin.
       
   186 \item If yes, then Bob tells the bank he accepts this Bitcoin.
       
   187       The bank updates the records to show that the Bitcoin
       
   188       with that serial number is now in Bob’s possession and
       
   189       no longer belongs to Alice. 
       
   190 \end{itemize}
       
   191 
       
   192 \noindent But for this banks would need to be trusted and
       
   193 would also be an easy target for any government interference,
       
   194 for example. Think of the early days of music sharing where
       
   195 the company Napster was the trusted third-party but also the single point of ``failure'' which
       
   196 was taken offline by law enforcement. Bitcoins is more like a
       
   197 system such as BitTorrent without a single central entity that
       
   198 can be taken offline.\footnote{There is some Bitcoin
       
   199 infrastructure that is not so immune from being taken offline:
       
   200 for example Bitcoin exchanges, HQs of Bitcoin mining pools,
       
   201 Bitcoin developers and so on.}
       
   202 
       
   203 Bitcoins solve the problem of not being able to rely on a bank
       
   204 by making everybody the ``bank''. Everybody who cares can have
       
   205 the entire transaction history starting with the first
       
   206 transaction made in January 2009. This history of transactions
       
   207 is called the \emph{blockchain}. Bob, for example, can use his
       
   208 copy of the blockchain for determining whether Alice owned the
       
   209 Bitcoin he received, and if she did, he transmits the message
       
   210 that he owns it now to every other participant on the Bitcoin
       
   211 network. An illustration of a three-block segment of the
       
   212 blockchain is (simplified) as follows
       
   213 
       
   214 \begin{equation}
       
   215 \includegraphics[scale=0.4]{../pics/bitcoinblockchain0.png}
       
   216 \label{segment}
       
   217 \end{equation}
       
   218 
       
   219 \noindent The chain grows with time. Each block contains a
       
   220 list of individual transactions, written txn in the picture
       
   221 above, and also a reference to the previous block, written
       
   222 prev. The data in a block (txn's and prev) is hashed so that
       
   223 the reference and transactions in them cannot be tampered
       
   224 with. This hash is also the unique serial number of each
       
   225 block. Since this previous-block-reference is also part of the
       
   226 hash, the whole chain is robust against tampering. I let you
       
   227 think why this is the case?\ldots{}But does it actually
       
   228 eliminate all possibilities of fraud?
       
   229 
       
   230 We can check the consistency of the blockchain by checking
       
   231 whether all the references and hashes are correctly recorded.
       
   232 I have not tried it myself, but it is said that with the
       
   233 current amount of data (appr.~12GB) it takes roughly a day to
       
   234 check the consistency of the blockchain on a normal computer.
       
   235 Fortunately this ``extended'' consistency check usually only
       
   236 needs to be done once. Afterwards the blockchain only needs to
       
   237 be updated consistently.
       
   238 
       
   239 Recall I wrote earlier that Bitcoins do not maintain a ledger,
       
   240 which lists all the current balances in each account. Instead
       
   241 only transactions are recorded. While a current balance of an
       
   242 account is not immediately available, it is possible to
       
   243 extract from the blockchain a transaction graph that looks
       
   244 like the picture shown in Figure~\ref{txngraph}. Each
       
   245 rectangle represents a single transaction. Take for example
       
   246 the rightmost lower transaction from Charles to Emily. This
       
   247 transaction has as receiver the address of Emily and as the
       
   248 sender the address of Charles. In this way no Bitcoins can
       
   249 appear out of thin air (we will discuss later how Bitcoins are
       
   250 actually generated). If Charles did not have a transaction of
       
   251 at least the amount he wants to give Emily to his name
       
   252 (i.e.~send to an address with his public-private key) then
       
   253 there is no way he can make a payment to Emily. Equally, if
       
   254 now Emily wants to pay for a coffee, say, with the Bitcoin she
       
   255 received from Charles she can essentially only forward the
       
   256 message she received. The only slight complication with this
       
   257 setup in Bitcoins is that ``incoming'' Bitcoins can be
       
   258 combined in a transaction and ``outgoing'' Bitcoins can be
       
   259 split. For example in the leftmost upper transactions in
       
   260 Figure~\ref{txngraph}, Fred makes a payment to Alice. But this
       
   261 payment (or transaction) combines the Bitcoins that were send
       
   262 by Jane to Fred and also by Juan to Fred. This allows you to
       
   263 ``consolidate'' your funds: if it were only possible to split
       
   264 transactions, then the amounts would get smaller and smaller. 
       
   265 
       
   266 In Bitcoins you have the ability to both combine incoming
       
   267 transactions, but also to split outgoing transactions to
       
   268 potentially more than one receiver. The latter is also needed.
       
   269 Consider again the rightmost transactions in
       
   270 Figure~\ref{txngraph} and suppose Alice is a coffeeshop owner
       
   271 selling coffees for 1 Bitcoin. Charles received a transaction
       
   272 from Zack over 5 Bitcoins, say. How does Charles pay for the
       
   273 coffee? There is no explicit notion of \emph{change} in the
       
   274 Bitcoin system. What Charles has to do instead is to make one
       
   275 single transaction with 1 Bitcoin to Alice and with 4 Bitcoins
       
   276 going back to himself, which then Charles can use to give to
       
   277 Emily, for example.
       
   278 
       
   279 \begin{figure}[t]
       
   280 \begin{center}
       
   281 \includegraphics[scale=0.4]{../pics/blockchain.png}
       
   282 \end{center}
       
   283 \caption{Transaction graph that is implicitly recorded in the
       
   284 public blockchain.\label{txngraph}}
       
   285 \end{figure}
       
   286 
       
   287 Let us consider another example. Suppose Emily received 4
       
   288 Bitcoins from Charles and independently received another
       
   289 transaction (not shown in the picture) that sends 6 Bitcoins
       
   290 to her. If she now wants to buy a coffee from Alice for 1
       
   291 Bitcoin, she has two possibilities: She could just forward the
       
   292 transaction from Charles over 4 Bitcoins to Alice split in
       
   293 such a way that Alice receives 1 Bitcoin and Emily sends the
       
   294 remaining 3 Bitcoins back to herself. In this case she would
       
   295 now be in the possession of two unspend Bitcoin transactions,
       
   296 one over 3 Bitcoins and the independent one over 6 Bitcoins.
       
   297 Or, Emily could combine both transactions (one over 4 Bitcoins
       
   298 from Charles and the independent one over 6 Bitcoins) and then
       
   299 split this amount with 1 Bitcoin going to Alice and 9 Bitcoins
       
   300 going back to herself. 
       
   301 
       
   302 I think this is a good time for you to pause to let this
       
   303 concept of transactions to really sink in\ldots{}You should
       
   304 come to the conclusion that there is really no need for a central ledger and no
       
   305 need for an account balance as familiar from traditional
       
   306 banking. The closest what Bitcoin has to offer for the notion
       
   307 of a balance in a bank account are the unspend transactions
       
   308 that a person (more precisely a public-private key address)
       
   309 received. That means transactions that can still be forwarded. 
       
   310 
       
   311 After the pause also consider the fact that whatever
       
   312 transaction is recorded in the blockchain will be in the
       
   313 ``historical record'' for the Bitcoin system. If a transaction
       
   314 says 1 Bitcoin goes from address $A$ to address $B$, then this
       
   315 is what will be---$B$ has then the possibility to spend the
       
   316 corresponding Bitcoins, whether the transaction was done
       
   317 fraudulently or not. There is no exception to this rule.
       
   318 Interestingly this is also how Bitcoins can get lost: One
       
   319 possibility is that you send Bitcoins to an address for which
       
   320 nobody has generated a private key, for example because of a
       
   321 typo in the address field---bad luck for fat
       
   322 fingers\footnote{\url{http://en.wikipedia.org/wiki/Typographical_error}}
       
   323 in the Bitcoin system. The reason is that nobody has a private
       
   324 key for this erroneous address and consequently cannot forward
       
   325 the transaction anymore. Another possibility is that you
       
   326 forget your private key and you had messages forwarded to the
       
   327 corresponding public key. Also in this case bad luck: you will
       
   328 never be able to forward this message again, because you will
       
   329 not be able to form a valid message that sends this to
       
   330 somebody else (we will see the details of this later). But
       
   331 this is also a way how you can get robbed of your Bitcoins. By
       
   332 old-fashioned hacking-into-a-computer crime, for example, an
       
   333 attacker might get hold of your private key and then quickly
       
   334 forwards the Bitcoins that are in your name to an address the
       
   335 attacker controls. You will never again have access to these
       
   336 Bitcoins, because for the Bitcoin system they are assumed to
       
   337 be spent. And remember with Bitcoins you cannot appeal to any
       
   338 higher authority. Once the Bitcoins are gone, they are gone.
       
   339 This is much different in traditional banking where at least
       
   340 you can try to harass the bank to roll back the transaction. 
       
   341 
       
   342 This brings us to back to problem of double spend. Suppose Bob
       
   343 is a merchant. How can he make sure that Alice does not cheat
       
   344 him? She could for example send a transaction to Bob. But also
       
   345 forward the ``same'' transaction to Charlie, or even herself.
       
   346 If Alice manages to get the second transaction into the
       
   347 blockchain, Bob will be cheated out of his money. The problem
       
   348 in such conflicting situations is how should the network
       
   349 update their blockchain? You might end up with a picture like
       
   350 this
       
   351 
       
   352 \begin{center}
       
   353 \includegraphics[scale=0.4]{../pics/bitcoindisagreement.png}
       
   354 \end{center}
       
   355 
       
   356 \noindent where Alice convinced some part of the ``world''
       
   357 that she is still the owner of the Bitcoin and some other part
       
   358 of the ``world'' thinks it's Bob's. How should such a
       
   359 disagreement be resolved? This is actually the main hurdle
       
   360 where Bitcoin really innovated. The answer is that Bob needs
       
   361 to convince ``enough'' people on the network that the
       
   362 transaction from Alice to him is legit. 
       
   363 
       
   364 What does, however, ``enough'' mean in a distributed system?
       
   365 If Alice sets up a network of a billion, say, puppy identities
       
   366 and whenever Bob tries to convince, or validate, that he is
       
   367 the rightful owner of the Bitcoin, then the puppy identities
       
   368 agree. Bob would then have no reason to not give Alice her
       
   369 coffee. But behind his back she has convinced everybody else
       
   370 on the network that she is still the rightful owner of the
       
   371 Bitcoin. After being outvoted, Bob would be a tad peeved. 
       
   372 
       
   373 The reflex reaction to such a situation would be to make the
       
   374 process of validating a transaction as cheap as possible. The
       
   375 intention is that Bob will easily get enough peers to agree with him
       
   376 that he is the rightful owner. But such a solution has always
       
   377 the limitation of Alice setting up an even bigger network of
       
   378 puppy identities. The really cool idea of Bitcoin is to go
       
   379 into the other direction of making the process of transaction
       
   380 validation (artificially) as expensive as possible, but reward
       
   381 people for helping with the validation. This is really a novel
       
   382 and counterintuitive idea that makes the whole system of
       
   383 Bitcoins work so beautifully.
       
   384 
       
   385 \subsubsection*{Proof-of-Work Puzzles}
       
   386 
       
   387 In order to make the process of transaction validation
       
   388 difficult, Bitcoin uses a kind of puzzle. Solving the puzzles
       
   389 is called \emph{Bitcoin mining}, where whoever solves a puzzle
       
   390 will be awarded some Bitcoins. At the beginning this was 50
       
   391 Bitcoins, but the rules of Bitcoin are set up such that this
       
   392 amount halves every 210,000 transactions or so. Currently you
       
   393 will be awarded 25 Bitcoins for solving a puzzle. Because the
       
   394 amount will halve again and then later again and again, around
       
   395 the year 2140 it will go below the level of 1 Satoshi. In that
       
   396 event no new Bitcoins will ever be created again and the
       
   397 amount of Bitcoins stays fixed. There will be still an
       
   398 incentive to help with validating transactions, because there
       
   399 is the possibility in Bitcoins to offer a transaction fee to
       
   400 whoever solves a puzzle. At the moment this fee is usually set
       
   401 to 0, since the incentive for miners is the 25 Bitcoins that
       
   402 are currently awarded for solving puzzles. 
       
   403  
       
   404 What do the puzzles that miners have to solve look like? The
       
   405 puzzles can be illustrated roughly as follows: Given a string,
       
   406 say \code{"Hello, world!"}, what is the salt so that the hash
       
   407 starts with a long run of zeros? Let us look at a concrete
       
   408 example. Recall that Bitcoins use the hash-function SHA-256.
       
   409 Suppose we call this hash function \code{h}, then we could try
       
   410 the salt \code{0} as follows:
       
   411 
       
   412 \begin{quote}
       
   413 \code{h("Hello, world!0") =}\\
       
   414 \mbox{}\quad\footnotesize\pcode{1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64}
   156 \end{quote}
   415 \end{quote}
   157 
   416 
   158 \noindent Unfortunately, also big organisations besides
   417 \noindent OK this does not have any zeros at all. We could 
   159 governments seem to take an unenlightened approach to privacy.
   418 next try the salt \code{1}: 
   160 For example, UCAS, a charity set up to help students with
   419 
   161 applying to universities in the UK, has a commercial unit that
   420 \begin{quote}
   162 happily sells your email addresses to anybody who forks out
   421 \code{h("Hello, world!1") =}\\
   163 enough money for bombarding you with spam. Yes, you can opt
   422 \mbox{}\quad\footnotesize\pcode{e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8}
   164 out very often from such ``schemes'', but in case of UCAS any
   423 \end{quote}
   165 opt-out will limit also legit emails you might actually be
   424 
   166 interested in.\footnote{The main objectionable point, in my
   425 \noindent Again this hash value does not contain any leading 
   167 opinion, is that the \emph{charity} everybody has to use for
   426 zeros. We could now try out every salt until we reach
   168 HE applications has actually very honourable goals
   427 
   169 (e.g.~assist applicants in gaining access to universities),
   428 \begin{quote}
   170 but the small print (or better the link ``About us'') reveals
   429 \code{h("Hello, world!4250") =}\\
   171 they set up their organisation so that they can also
   430 \mbox{}\quad\footnotesize\pcode{0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9}
   172 shamelessly sell the email addresses they ``harvest''.
   431 \end{quote}
   173 Everything is of course very legal\ldots{}ethical?\ldots{}well
   432 
   174 that is in the eye of the beholder. See:
   433 \noindent where we have four leading zeros. If four zeros are
   175 
   434 enough, then the puzzle would be solved with this salt. The
   176 \url{http://www.ucas.com/about-us/inside-ucas/advertising-opportunities} 
   435 point is that we can very quickly check whether a salt solves
   177 or
   436 a puzzle, but it is hard to find one. Latest research suggest
   178 \url{http://www.theguardian.com/uk-news/2014/mar/12/ucas-sells-marketing-access-student-data-advertisers}}
   437 it is an NP-problem. If we want the output hash value to begin
   179 
   438 with 10 zeroes, say, then we will, on average, need to try
   180 Another example: Verizon, an ISP who is supposed to provide
   439 $16^{10} \approx 10^{12}$ different salts before we find a
   181 you just with connectivity, has found a ``nice'' side-business
   440 suitable one. 
   182 too: When you have enabled all privacy guards in your browser
   441 
   183 (the few you have at your disposal), Verizon happily adds a
   442 In Bitcoins the puzzles are not solved according to how many
   184 kind of cookie to your
   443 leading zeros a hash-value has, but rather whether it is below
   185 HTTP-requests.\footnote{\url{http://webpolicy.org/2014/10/24/how-verizons-advertising-header-works/}}
   444 a \emph{target}. The hardness of the puzzle can actually be
   186 As shown in the picture below, this cookie will be sent to
   445 controlled by changing the target according to the available
   187 every web-site you visit. The web-sites then can forward the
   446 computational power available. I think the adjustment of the
   188 cookie to advertisers who in turn pay Verizon to tell them
   447 hardness of the problems is done every 2060 blocks
   189 everything they want to know about the person who just made
   448 (appr.~every two weeks). The aim of the adjustment is that on
   190 this request, that is you.
   449 average the Bitcoin network will most likely solve a puzzle
       
   450 within 10 Minutes. 
       
   451 
       
   452 \begin{center}
       
   453 \includegraphics[scale=0.37]{../pics/blockchainsolving.png}
       
   454 \end{center}
       
   455 
       
   456 \noindent It could be solved quicker, but equally it could 
       
   457 take longer, but on average after 10 Minutes somebody on the 
       
   458 network will have found a solution. 
       
   459 
       
   460 Remember that the puzzles are a kind of proof-of-work that
       
   461 make the validation of transactions artificially expensive.
       
   462 Consider the following picture with a blockchain and some
       
   463 unconfirmed transactions. 
       
   464 
       
   465 \begin{equation}
       
   466 \includegraphics[scale=0.38]{../pics/bitcoin_unconfirmed.png}
       
   467 \label{unconfirmed}
       
   468 \end{equation}
       
   469 
       
   470 \noindent The puzzle is stated as follows: There are some
       
   471 unconfirmed transactions. Choosing some of them, the miner
       
   472 (i.e.~the person/computer that tries to solve a puzzle) will
       
   473 form a putative block to be added to the blockchain. This
       
   474 putative block will contain the transactions and the reference
       
   475 to the previous block. The serial number of such a block is
       
   476 simply the hash of all the data. The puzzle can then be stated
       
   477 as the ``string'' corresponding to the block and which salt is
       
   478 needed in order to have the hashed value being below the
       
   479 target. Other miners will choose different transactions and
       
   480 therefore work on a slightly different putative block and
       
   481 puzzle.
       
   482 
       
   483 The intention of the proof-of-work puzzle is that the
       
   484 blockchain is at every given moment linearly ordered, see the
       
   485 picture shown in \eqref{unconfirmed}. If we don’t have such a
       
   486 linear ordering at any given moment then it may not be clear
       
   487 who owns which Bitcoins. Assume a miner David is lucky and
       
   488 finds a suitable salt to confirm some transactions. Should he
       
   489 celebrate? Not yet. Typically the blockchain will look as
       
   490 follows
       
   491 
       
   492 \begin{center}
       
   493 \includegraphics[scale=0.65]{../pics/block_chain1.png}
       
   494 \end{center}
       
   495 
       
   496 \noindent But every so often there will be a fork
       
   497 
       
   498 \begin{center}
       
   499 \includegraphics[scale=0.65]{../pics/block_chain_fork.png}
       
   500 \end{center}
       
   501 
       
   502 \noindent What should be done in this case? Well, the tie is
       
   503 broken if another block is solved, like so:
       
   504 
       
   505 \begin{center}
       
   506 \includegraphics[scale=0.4]{../pics/bitcoin_blockchain_branches.png}
       
   507 \end{center}
       
   508 
       
   509 \noindent The rule in Bitcoins is: If a fork occurs, people on
       
   510 the network keep track of all forks (they can see). But at any
       
   511 given time, miners only work to extend whichever fork is
       
   512 longest in their copy of the block chain. Why should miners
       
   513 work on the longest fork? Well their incentive is to mine
       
   514 Bitcoins. If somebody else already solved a puzzle, then it
       
   515 makes more sense to work on a new puzzle and obtain the
       
   516 Bitcoins for solving that puzzle, rather than waste efforts on
       
   517 a fork that is shorter and therefore less likely to be
       
   518 ``accepted''. Note that whoever solved a puzzle on the
       
   519 ``loosing'' fork will actually not get any Bitcoins as reward.
       
   520 Tough luck.
       
   521 
       
   522 
       
   523 \subsubsection*{Alice against the Rest of the World}
       
   524 
       
   525 Let us see how the blockchain and the proof-of-work puzzles
       
   526 avoid the problem of double spend. If Alice wants to cheat
       
   527 Bob, she would need to pull off the following ploy:
       
   528 
       
   529 \begin{center}
       
   530 \includegraphics[scale=0.4]{../pics/bitcoin_blockchain_double_spend.png}
       
   531 \end{center}
       
   532 
       
   533 \noindent Alice makes a transaction to Bob for paying, for
       
   534 example, for an online order. This transaction is confirmed,
       
   535 or validated, in block 2. Bob ships the goods around block 4.
       
   536 In this moment, Alice needs to get into action and try to
       
   537 validate the fraudulent transaction to herself instead. At
       
   538 this moment she is in a race against all the computing power
       
   539 of the ``rest of the world''. Because the incentive of the
       
   540 rest of the world is to work on the longest chain, that is the
       
   541 one with the transaction from Alice to Bob:
       
   542 
       
   543 \begin{center}
       
   544 \includegraphics[scale=0.4]{../pics/bitcoin_doublespend_blockchain_race.png}
       
   545 \end{center}
       
   546 
       
   547 \noindent As shown in the picture she has to solve the puzzles
       
   548 2a to 5a one after the other, because the hash of a block is
       
   549 determined via the reference by all the data in the previous
       
   550 block. She might be very lucky to solve one puzzle for a block
       
   551 before the rest of the world, but to be lucky many times is
       
   552 very unlikely. This principle of having to race against the
       
   553 rest of the world avoids the ploy of double spend.
       
   554 
       
   555 In order to raise the bar for Alice even further, merchants
       
   556 accepting Bitcoins use the following rule of thumb: A
       
   557 transaction is ``confirmed'' if 
       
   558 
       
   559 \begin{itemize}
       
   560 \item[(1)] it is part of a block in the longest fork, and 
       
   561 \item[(2)] at least 5 blocks follow it in the longest fork. In
       
   562            this case we say that the transaction has 6
       
   563            confirmations. 
       
   564 \end{itemize} 
       
   565 
       
   566 \noindent A simple calculation shows that this amount of
       
   567 confirmations can take up to 1 hour and more. While this seems
       
   568 excessively long, from the merchant's point of view it is not
       
   569 that long at all. For this recall that ordinary creditcards
       
   570 can have their transactions been rolled-back for 6 months or
       
   571 so. The point however is that the odds for Alice being able to
       
   572 cheat are very low, unless she can muster more than 50\% of
       
   573 the world Bitcoin mining capacity. In this case she could
       
   574 out-race the rest of the world. The point is however that
       
   575 amassing such an amount of computing power is practically
       
   576 impossible for a single person or even a moderately large 
       
   577 group.
       
   578 
       
   579 Connected with the 6-confirmation rule is an interesting
       
   580 phenomenon. On average, it would take several years for a
       
   581 typical computer to solve a proof-of-work puzzle, so an
       
   582 individual’s chance of ever solving one before the rest of the
       
   583 world, which typically takes only 10 minutes, is negligibly
       
   584 low. Therefore many people join groups called \emph{mining
       
   585 pools} that collectively work to solve blocks, and distribute
       
   586 rewards based on work contributed. These mining pools act
       
   587 somewhat like lottery pools among co-workers, except that some
       
   588 of these pools are quite large, and comprise more than 20\% of
       
   589 all the computers in the network. It is said that BTCC, a
       
   590 large mining pool, has limited its number of members in order
       
   591 to not solve more than 6 blocks in a row. Otherwise this would
       
   592 undermine the trust in Bitcoins, which is also not in the
       
   593 interest of BTCC, I guess. Some statistics on mining pools can
       
   594 be seen at
       
   595 
       
   596 \begin{center}
       
   597 \url{https://blockchain.info/pools}
       
   598 \end{center}
       
   599 
       
   600 \noindent Here is an interesting problem: You are part of a lottery
       
   601 pool, if you chip in some of the money to buy a lottery ticket. In
       
   602 this setting it is clear when you are in or outside of the pool. But
       
   603 how do you make sure people work hard in a mining pool in order to
       
   604 justify a fraction of any reward? If evil me had its way, I would just
       
   605 claim I do work and then sit back and relax. Or even if I do some work
       
   606 for a mining pool and I happen to find a correct salt, I would keep it
       
   607 secret and submit it to the bitcoin network on the ``side''. Actually,
       
   608 the idea of mining pools has opened up a full can of interesting
       
   609 problems.
       
   610 
       
   611 
       
   612 
       
   613 \subsubsection*{Bitcoins for Real}
       
   614 
       
   615 Let us now turn to the nitty gritty details. As a participant
       
   616 in the Bitcoin network you need to generate and store a
       
   617 public-private key pair. The public key you need to advertise
       
   618 in order to receive payments (transactions). The private key
       
   619 needs to be securely stored. For this there seem to be three
       
   620 possibilities
       
   621 
       
   622 \begin{itemize}
       
   623 \item an electronic wallet on your computer
       
   624 \item a cloud-based storage (offered by some Bitcoin services)
       
   625 \item paper-based
       
   626 \end{itemize}
       
   627 
       
   628 \noindent The first two options of course offer convenience
       
   629 for making and receiving transactions. But given the nature of
       
   630 the private keys and how much security relies on them (recall
       
   631 if somebody gets hold of it, your Bitcoins are quickly lost
       
   632 forever) I would opt for the third option for anything except
       
   633 for trivial amounts of Bitcoins. As we have seen earlier in
       
   634 the course, securing a computer system that it can withstand a
       
   635 targeted breakin is still very much an unsolved problem.
       
   636 
       
   637 An interesting fact with Bitcoin keys is that there is no
       
   638 check for duplicate addresses. This means when generating a
       
   639 public-private key, you should really start with a carefully
       
   640 chosen random number such that there is really no chance to
       
   641 step on somebody's feet in the $2^{160}$ space of
       
   642 possibilities. Again if you share an address with somebody
       
   643 else, he or she has access to all your unspend transactions.
       
   644 The absence of such a check is easily explained: How would one
       
   645 do this in a distributed system? The answer you can't. It is
       
   646 possible to do some sanity check of addresses that are already
       
   647 used in the blockchain, but this is not a fail-proof method.
       
   648 One really has to trust on the enormity of the $2^{160}$
       
   649 space for addresses.
       
   650 
       
   651 Let us now look at the concrete data that is stored in an transaction 
       
   652 message:
       
   653 
       
   654 \lstinputlisting[language=Scala]{../slides/msg}
       
   655 
       
   656 \noindent The hash in Line 1 is the hash of all the data that
       
   657 follows. It is a kind of serial number for the transaction.
       
   658 Line 2 contains a version number in case there are some
       
   659 incompatible changes to be made. Lines 3 and 4 specify how
       
   660 many incoming transactions are combined and how many outgoing
       
   661 transactions there are. In our example there are one for each.
       
   662 Line 5 specifies a lock time for when the transaction is
       
   663 supposed to become active---this is usually set to 0 to become
       
   664 active immediately. Line 6 specifies the size of the message;
       
   665 it has nothing to do with the Bitcoins that are transferred.
       
   666 Lines 7 to 11 specify where the Bitcoins in the transaction
       
   667 are coming from. The has in line 9 specifies the incoming
       
   668 transaction and the \pcode{n} in Line 10 specifies which
       
   669 output of the transaction is referred to. The signature in
       
   670 line 11 specifies the address (public key $K^{pub}$) from
       
   671 where the Bitcoins are taken and the digital signature of the
       
   672 address, that is $\{K^{pub}\}_{K^{priv}}$. Lines 12 to 15
       
   673 specify the value of the first outgoing transaction. In this
       
   674 case 0.319 Bitcoins. The hash in Line 14 specifies the address
       
   675 to where the Bitcoins are transferred.
   191  
   676  
   192 \begin{center}
   677 As can be seen there is no need to issue serial numbers for
   193 \includegraphics[scale=0.16]{../pics/verizon.png}
   678 transactions, the hash of the transaction data can do this
   194 \end{center}
   679 job. The hash will contain the sender addresses and
   195 
   680 hash-references to the incoming transactions, as well as the
   196 \noindent How disgusting! Even worse, Verizon is not known for
   681 public key of the incoming transaction. This uniquely
   197 being the cheapest ISP on the planet (completely the
   682 identifies a transaction and the hash is the unique
   198 contrary), and also not known for providing the fastest
   683 fingerprint of it. The in-field also contains the address to
   199 possible speeds, but rather for being among the few ISPs in
   684 which a earlier transaction is made. The digital signature
   200 the US with a quasi-monopolistic ``market distribution''.
   685 ensures everybody can check that the person who makes this
   201 
   686 transaction is in the possession of the private key. Otherwise
   202 
   687 the signature would not match up with the public-key address.
   203 Well, we could go on and on\ldots{}and that has not even
   688 
   204 started us yet with all the naughty things NSA \& Friends are
   689 When mining the blockchain it only needs to be ensured that
   205 up to. Why does privacy actually matter? Nobody, I think, has
   690 the transactions are consistent (all hashes and signatures
   206 a conclusive answer to this question yet. Maybe the following
   691 match up). Then we need to generate the correct previous-block
   207 four notions help with clarifying the overall picture
   692 link and solve the resulting puzzle. Once the block is
   208 somewhat: 
   693 accepted, everybody can check the integrity of the whole
       
   694 blockchain.
       
   695 
       
   696 A word of warning: The point of a lottery is that some people
       
   697 win. But equally, that most people lose. Mining Bitcoins has
       
   698 pretty much the same point. According to the article below, a
       
   699 very large machine (very, very large in terms of June 2014)
       
   700 could potentially mine \$40 worth of Bitcoins a day, but would
       
   701 require magnitudes more of electricity costs to do so. 
       
   702 
       
   703 \begin{center}
       
   704 \url{http://bitcoinmagazine.com/13774/government-bans-professor-mining-bitcoin-supercomputer/}
       
   705 \end{center}
       
   706 
       
   707 \noindent Bitcoin mining nowadays is only competitive, or
       
   708 profitable, if you get the energy for free, or use special
       
   709 purpose computing devices. 
       
   710 
       
   711 This about ``free'' energy can actually hurt you very badly in
       
   712 unexpected ways. You probably have heard about, or even used,
       
   713 Amazon's Elastic Compute Cloud (EC2). Essentially, Amazon is
       
   714 selling computing power that you can use to run your web site,
       
   715 for example. It is \emph{elastic} in the sense that if you
       
   716 have a lot of visitors, you pay a lot, if you have only a few,
       
   717 then it is cheap. In order to bill you, you need to set
       
   718 up an account with Amazon and receive some secret keys in
       
   719 order to authenticate you. The clever (but also dangerous) bit
       
   720 is that you upload the code of your web site to GitHub and
       
   721 Amazon will pull it from there. You can probably already guess
       
   722 where this is going: in order to learn about Amazon's API, it
       
   723 gives out some limited computing power for free. Somebody used
       
   724 this offer in order to teach himself Ruby on Rails with a
       
   725 mildly practical website. Unfortunately, he uploaded also his
       
   726 secret keys to GitHub (this is really an easy mistake). Now,
       
   727 nasty people crawl GitHub for the purpose of stealing such
       
   728 secret keys. What can they do with this? Well, they quickly
       
   729 max out the limit of computing power with Amazon and mine
       
   730 Bitcoins (under somebody else's account). Fortunately for this
       
   731 guy, Amazon was aware of this scam and in a goodwill gesture
       
   732 refunded him the money the nasty guys incurred over
       
   733 night with their Bitcoin mining. If you want to read the
       
   734 complete story, google for ``My \$2375 Amazon EC2 Mistake''.
       
   735 
       
   736 \subsubsection*{Multi-Signature Transactions}
       
   737 
       
   738 To be explained.
       
   739 
       
   740 \subsubsection*{Anonymity with Bitcoins}
       
   741 
       
   742 One question one often hears is how anonymous is it actually
       
   743 to pay with Bitcoins? Paying with paper money used to be a
       
   744 quite anonymous act (unlike paying with credit cards, for
       
   745 example). But this has changed nowadays: You cannot come to a
       
   746 bank anymore with a suitcase full of money and try to open a
       
   747 bank account. Strict money laundering and taxation laws mean
       
   748 that not even Swiss banks are prepared to take such money and
       
   749 open a bank account. That is why Bitcoins are touted as 
       
   750 filling this niche again of anonymous payments. 
       
   751 
       
   752 While Bitcoins are intended to be anonymous, the reality is
       
   753 slightly different. I fully agree with the statement by
       
   754 Nielsen from the blog article I referenced at the beginning:
       
   755 
       
   756 \begin{quote}\it{}``Many people claim that Bitcoin can be used
       
   757 anonymously. This claim has led to the formation of
       
   758 marketplaces such as Silk Road (and various successors), which
       
   759 specialize in illegal goods. However, the claim that Bitcoin
       
   760 is anonymous is a myth. The block chain is public, meaning
       
   761 that it’s possible for anyone to see every Bitcoin transaction
       
   762 ever. Although Bitcoin addresses aren't immediately associated
       
   763 to real-world identities, computer scientists have done a
       
   764 great deal of work figuring out how to de-anonymise
       
   765 `anonymous' social networks. The block chain is a marvellous
       
   766 target for these techniques. I will be extremely surprised if
       
   767 the great majority of Bitcoin users are not identified with
       
   768 relatively high confidence and ease in the near future.''
       
   769 \end{quote}
       
   770 
       
   771 \noindent The only thing I can add to this is that with the Bitcoin
       
   772 blockchain we will in the future have even more pleasure hearing
       
   773 confessions from reputable or not-so-reputable people, like the
       
   774 infamous ``I did not inhale'' from an US
       
   775 president.\footnote{\url{www.youtube.com/watch?v=Bktd_Pi4YJw}} The
       
   776 whole point of the blockchain is that it public and will always be.
       
   777 
       
   778 There are some precautions one can take for boosting anonymity, for
       
   779 example to use a new public-private key pair for every new
       
   780 transaction, and to access Bitcoin only through the Tor network. But
       
   781 the transactions in Bitcoins are designed such that they allow one to
       
   782 combine incoming transactions. In such cases we know they must have
       
   783 been made by the single person who knew the corresponding private
       
   784 keys. So using different public-private keys for each transaction
       
   785 might not actually make the de-anonymisation task much harder. And the
       
   786 point about de-ano\-nymising `anonymous' social networks is that the
       
   787 information is embedded into the structure of the transition
       
   788 graph. And this cannot be erased with Bitcoins.
       
   789 
       
   790 One paper that has fun with spotting transactions made to Silk Road (2.0)
       
   791 and also to Wikileaks is
       
   792 
       
   793 \begin{center}
       
   794 \url{http://people.csail.mit.edu/spillai/data/papers/bitcoin-transaction-graph-analysis.pdf}
       
   795 \end{center}
       
   796 
       
   797 \noindent
       
   798 A paper that gathers some statistical data about the blockchain is
       
   799 
       
   800 \begin{center}
       
   801 \url{https://eprint.iacr.org/2012/584.pdf}
       
   802 \end{center}
       
   803 
       
   804 \subsubsection*{Government Meddling}
       
   805 
       
   806 Finally, what are the options for a typical Western government to
       
   807 meddle with Bitcoins? This is of course one feature the proponents of
       
   808 Bitcoins also tout: namely that there aren't any options. In my
       
   809 opinion this is far too naive and far from the truth. Let us assume
       
   810 some law enforcement agencies would not have been able to uncover the
       
   811 baddies from Silk Road 1.0 and 2.0 (they have done so by uncovering
       
   812 the Tor network, which is an incredible feat on its own). Would the
       
   813 government in question have stopped? I do not think so. The next
       
   814 target would have been Bitcoin.  If I were the government, this is
       
   815 what I would consider:
   209 
   816 
   210 \begin{itemize}
   817 \begin{itemize}
   211 \item \textbf{Secrecy} is the mechanism used to limit the
   818 \item The government could compel ``mayor players'' to blacklist
   212       number of principals with access to information (e.g.,
   819   Bitcoins (for example at Bitcoin exchanges, which are usually
   213       cryptography or access controls). For example I better
   820   located somewhere in the vicinity of the government's reach).  This
   214       keep my password secret, otherwise people from the wrong
   821   would impinge on what is called \emph{fungibility} of Bitcoins and
   215       side of the law might impersonate me.
   822   make them much less attractive to baddies. Suddenly their
   216 
   823   ``hard-earned'' Bitcoin money cannot be spent anymore. The attraction
   217 \item \textbf{Confidentiality} is the obligation to protect
   824   of this option is that this blacklisting can be easily done
   218       the secrets of other people or organisations (secrecy
   825   ``whole-sale'' and therefore be really be an attractive target for
   219       for the benefit of an organisation). For example as a
   826   governments \& Co.
   220       staff member at King's I have access to data, even
   827 \item The government could attempt to coerce the developer
   221       private data, I am allowed to use in my work but not
   828       community of the Bitcoin tools. While this might be a
   222       allowed to disclose to anyone else.
   829       bit harder, we know certain governments are ready to
   223 
   830       take such actions (we have seen this with Lavabit, just
   224 \item \textbf{Anonymity} is the ability to leave no evidence of
   831       that the developers there refused to play ball and shut
   225       an activity (e.g., sharing a secret). This is not equal
   832       down their complete operation).
   226         with privacy---anonymity is required in many 
   833 \item The government could also put pressure on mining pools
   227         circumstances, for example for whistle-blowers, 
   834       in order to blacklist transactions from baddies. Or be a
   228         voting, exam marking and so on.
   835       big miner itself. Given the gigantic facilities that
   229 
   836       are built for institutions like the NSA (pictures from
   230 \item \textbf{Privacy} is the ability or right to protect your
   837       the Utah dessert)
   231       personal secrets (secrecy for the benefit of an
       
   232       individual). For example, in a job interview, I might
       
   233       not like to disclose that I am pregnant, if I were a
       
   234       woman, or that I am a father. Lest they might not hire
       
   235       me. Similarly, I might not like to disclose my location
       
   236       data, because thieves might break into my house if they
       
   237       know I am away at work. Privacy is essentially
       
   238       everything which ``shouldn't be anybody's business''.
       
   239 
       
   240 \end{itemize}
       
   241 
       
   242 \noindent While this might provide us with some rough
       
   243 definitions, the problem with privacy is that it is an
       
   244 extremely fine line what should stay private and what should
       
   245 not. For example, since I am working in academia, I am every
       
   246 so often very happy to be a digital exhibitionist: I am very
       
   247 happy to disclose all `trivia' related to my work on my
       
   248 personal web-page. This is a kind of bragging that is normal
       
   249 in academia (at least in the field of CS), even expected if
       
   250 you look for a job. I am even happy that Google maintains a
       
   251 profile about all my academic papers and their citations. 
       
   252 
       
   253 On the other hand I would be very irritated if anybody I do
       
   254 not know had a too close look on my private live---it
       
   255 shouldn't be anybody's business. The reason is that knowledge
       
   256 about my private life can often be used against me. As mentioned
       
   257 above, public location data might mean I get robbed. If
       
   258 supermarkets build a profile of my shopping habits, they will
       
   259 use it to \emph{their} advantage---surely not to \emph{my}
       
   260 advantage. Also whatever might be collected about my life will
       
   261 always be an incomplete, or even misleading, picture. For
       
   262 example I am pretty sure my creditworthiness score was
       
   263 temporarily(?) destroyed by not having a regular income in
       
   264 this country (before coming to King's I worked in Munich for
       
   265 five years). To correct such incomplete or flawed credit
       
   266 history data there is, since recently, a law that allows you
       
   267 to check what information is held about you for determining
       
   268 your creditworthiness. But this concerns only a very small
       
   269 part of the data that is held about me/you. Also
       
   270 what about cases where data is wrong or outdated (but do we
       
   271 need a right-to be forgotten).
       
   272 
       
   273 
       
   274 To see how private matter can lead really to the wrong
       
   275 conclusions, take the example of Stephen Hawking: When he was
       
   276 diagnosed with his disease, he was given a life expectancy of
       
   277 two years. If employers would know about such problems, would
       
   278 they have employed Hawking? Now, he is enjoying his 70+
       
   279 birthday. Clearly personal medical data needs to stay private.
       
   280 
       
   281 To cut a long story short, I let you ponder about the two
       
   282 statements which are often voiced in discussions about privacy:
       
   283 
       
   284 \begin{itemize}
       
   285 \item \textit{``You have zero privacy anyway. Get over 
       
   286 it.''}\\
       
   287 \mbox{}\hfill{}{\small{}(by Scott Mcnealy, former CEO of Sun)}
       
   288 
       
   289 \item \textit{``If you have nothing to hide, you have nothing 
       
   290 to fear.''}
       
   291 \end{itemize}
       
   292  
       
   293 \noindent If you like to watch a movie which has this topic as
       
   294 its main focus I recommend \emph{Gattaca} from
       
   295 1997.\footnote{\url{http://www.imdb.com/title/tt0119177/}} If
       
   296 you want to read up on this topic, I can recommend the
       
   297 following article that appeared in 2011 in the Chronicle of
       
   298 Higher Education:
       
   299 
       
   300 \begin{center} 
       
   301 \url{http://chronicle.com/article/Why-Privacy-Matters-Even-if/127461/} 
       
   302 \end{center} 
       
   303 
       
   304 \noindent Funnily, or maybe not so funnily, the author of this
       
   305 article carefully tries to construct an argument that does not
       
   306 only attack the nothing-to-hide statement in cases where
       
   307 governments \& co collect people's deepest secrets, or
       
   308 pictures of people's naked bodies, but an argument that
       
   309 applies also in cases where governments ``only'' collect data
       
   310 relevant to, say, preventing terrorism. The fun is of course
       
   311 that in 2011 we could just not imagine that respected
       
   312 governments would do such infantile things as intercepting
       
   313 people's nude photos. Well, since Snowden we know some people
       
   314 at the NSA did exactly that and then shared such photos among
       
   315 colleagues as ``fringe benefit''.  
       
   316 
       
   317 
       
   318 \subsubsection*{Re-Identification Attacks} 
       
   319 
       
   320 Apart from philosophical musings, there are fortunately also
       
   321 some real technical problems with privacy. The problem I want
       
   322 to focus on in this handout is how to safely disclose datasets
       
   323 containing potentially very private data, say health records.
       
   324 What can go wrong with such disclosures can be illustrated
       
   325 with four well-known examples:
       
   326 
       
   327 \begin{itemize}
       
   328 \item In 2006, a then young company called Netflix offered a 1
       
   329       Mio \$ prize to anybody who could improve their movie
       
   330       rating algorithm. For this they disclosed a dataset
       
   331       containing 10\% of all Netflix users at the time
       
   332       (appr.~500K). They removed names, but included numerical
       
   333       ratings of movies as well as times when ratings were
       
   334       uploaded. Though some information was perturbed (i.e.,
       
   335       slightly modified).
       
   336       
   838       
   337       Two researchers had a closer look at this anonymised
   839       \begin{center}
   338       data and compared it with public data available from the
   840       \includegraphics[scale=0.04]{../pics/nsautah1.jpg}
   339       International Movie Database (IMDb). They found that
   841       \hspace{3mm}
   340       98\% of the entries could be re-identified in the
   842       \includegraphics[scale=0.031]{../pics/nsautah2.jpg}
   341       Netflix dataset: either by their ratings or by the dates
   843       \end{center}
   342       the ratings were uploaded. The result was a class-action
       
   343       suit against Netflix, which was only recently resolved
       
   344       involving a lot of money.
       
   345 
       
   346 \item In the 1990ies, medical datasets were often made public
       
   347       for research purposes. This was done in anonymised form
       
   348       with names removed, but birth dates, gender and ZIP-code
       
   349       were retained. In one case where such data about
       
   350       hospital visits of state employees in Massachusetts was
       
   351       made public, the then governor assured the public that
       
   352       the released dataset protected patient privacy by
       
   353       deleting identifiers. 
       
   354       
   844       
   355       A graduate student could not resist cross-referencing
   845       this would not be such a high bar to jump over. Remember it
   356       public voter data with the released data that still
   846       ``only'' takes to be temporarily in control of 50\%-plus of the
   357       included birth dates, gender and ZIP-code. The result
   847       mining capacity in order to undermine the trust in the
   358       was that she could send the governor his own hospital
   848       system. Given sophisticated stories like Stuxnet (where we still
   359       record. It turns out that birth dates, gender and
   849       do not know the precise details) maybe even such large
   360       ZIP-code uniquely identify 87\% of people in the US.
   850       facilities are not really needed. What happens, for example, if
   361       This work resulted in a number of laws prescribing which
   851       a government starts DoS attacks on existing miners? They have
   362       private data cannot be released in such datasets.
   852       complete control (unfortunately) of all mayor connectivity
   363  
   853       providers, i.e.~ISPs.
   364 \item In 2006, AOL published 20 million Web search queries
       
   365       collected from 650,000 users (names had been deleted).
       
   366       This was again done for research purposes. However,
       
   367       within days an old lady, Thelma Arnold, from Lilburn,
       
   368       Georgia, (11,596 inhabitants) was identified as user
       
   369       No.~4417749 in this dataset. It turned out that search
       
   370       engine queries are deep windows into people's private
       
   371       lives. 
       
   372   
       
   373 \item Genome-Wide Association Studies (GWAS) was a public
       
   374       database of gene-frequency studies linked to diseases.
       
   375       It would essentially record that people who have a
       
   376       disease, say diabetes, have also certain genes. In order
       
   377       to maintain privacy, the dataset would only include
       
   378       aggregate information. In case of DNA data this
       
   379       aggregation was achieved by mixing the DNA of many
       
   380       individuals (having a disease) into a single solution.
       
   381       Then this mixture was sequenced and included in the
       
   382       dataset. The idea was that the aggregate information
       
   383       would still be helpful to researchers, but would protect
       
   384       the DNA data of individuals. 
       
   385        
       
   386       In 2007 a forensic computer scientist showed that
       
   387       individuals can still be identified. For this he used
       
   388       the DNA data from a comparison group (people from the
       
   389       general public) and ``subtracted'' this data from the
       
   390       published data. He was left with data that included all
       
   391       ``special'' DNA-markers of the individuals present in
       
   392       the original mixture. He essentially deleted the
       
   393       ``background noise'' in the published data. The problem
       
   394       with DNA data is that it is of such a high resolution
       
   395       that even if the mixture contained maybe 100
       
   396       individuals, you can with current technology detect
       
   397       whether an individual was included in the mixture or
       
   398       not.
       
   399       
   854       
   400       This result changed completely how DNA data is nowadays
   855       There are estimates that the Bitcoin mining capacity
   401       published for research purposes. After the success of 
   856       outperforms the top 500 supercomputers in the world,
   402       the human-genome project with a very open culture of
   857       combined(!):
   403       exchanging data, it became much more difficult to 
       
   404       anonymise data so that patient's privacy is preserved.
       
   405       The public GWAS database was taken offline in 2008.
       
   406       
   858       
   407 \end{itemize}
   859       \begin{center}\small
   408 
   860       \url{http://www.forbes.com/sites/reuvencohen/2013/11/28/global-bitcoin-computing-power-now-256-times-faster-than-top-500-supercomputers-combined/}
   409 \noindent There are many lessons that can be learned from
   861       \end{center}
   410 these examples. One is that when making datasets public in
   862       
   411 anonymised form, you want to achieve \emph{forward privacy}.
   863       But my gut feeling is that these are too simplistic
   412 This means, no matter what other data that is also available
   864       calculations. In security (and things like Bitcoins) the
   413 or will be released later, the data in the original dataset
   865       world is never just black and white. The point is once
   414 does not compromise an individual's privacy. This principle
   866       the trust is undermined, the Bitcoin system would need
   415 was violated by the availability of ``outside data'' in the
   867       to be evolved to Bitcoins 2.0. But who says that Bitcoin
   416 Netflix and governor of Massachusetts cases. The additional
   868       2.0 will honour the Bitcoins from Version 1.0?
   417 data permitted a re-identification of individuals in the
   869       \end{itemize} 
   418 dataset. In case of GWAS a new technique of re-identification
   870 
   419 compromised the privacy of people in the dataset. The case of
   871 \noindent A government would potentially not really
   420 the AOL dataset shows clearly how incomplete such data can be:
   872 need to follow up with such threads. Just the rumour that it
   421 Although the queries uniquely identified the older lady, she
   873 would, could be enough to get the Bitcoin-house-of-cards to
   422 also looked up diseases that her friends had, which had
   874 tumble. Some governments have already such an ``impressive''
   423 nothing to do with her. Any rational analysis of her query
   875 trackrecord in this area, such a thread would be entirely
   424 data must therefore have concluded, the lady is on her
   876 credible. Because of all this, I would not have too much hope
   425 death bed, while she was actually very much alive and kicking.
   877 that Bitcoins are free from interference by governments \& Co when
   426 
   878 it will stand in their way, despite what everybody else is
   427 In 2016, Yahoo released the so far largest machine learning
   879 saying. To sum up, the technical details behind Bitcoins are
   428 dataset to the research community. It includes approximately
   880 simply cool. But still the entire Bitcoin ecosystem is in my
   429 13.5 TByte of data representing around 100 Billion events from
   881 humble opinion rather fragile. 
   430 anonymized user-news items, collected by recording
   882 
   431 interactions of about 20M users from February 2015 to May
   883 
   432 2015. Yahoo's gracious goal is to promote independent research
   884 \subsubsection*{Isn't there anything good with Bitcoins?}
   433 in the fields of large-scale machine learning and recommender
   885 
   434 systems. It remains to be seen whether this data will really
   886 As you can see, so far my argument was that yes the Bitcoin system is
   435 only be used for that purpose.
   887 based on a lot of very cool technical ideas, but otherwise it is a big
   436 
   888 scam. You might wonder if there is not something good (in terms of
   437 \subsubsection*{Differential Privacy}
   889 valuable for civilisation) in the bitcoin system? I think there is
   438 
   890 actually: diamonds are quite valuable and because of this can be
   439 Differential privacy is one of the few methods that tries to
   891 used as a form of `money'---just remember the song with the line
   440 achieve forward privacy. The basic idea is to add appropriate
   892 `diamonds are forever'.
   441 noise, or errors, to any query of the dataset. The intention
   893 
   442 is to make the result of a query insensitive to individual
   894 The problem with diamonds is that in some places where they are found,
   443 entries in the database. That means the results are
   895 they also fund some stupid wars. You like to set up a usable system
   444 approximately the same no matter if a particular individual is
   896 whereby you can check whether a diamond comes from a reputable source
   445 in the dataset or not. The hope is that the added error does
   897 (not funding any wars) or from a dodgy source. For this you have to
   446 not eliminate the ``signal'' one is looking for in the
   898 know that `clearing houses' for diamonds can engrave with lasers
   447 dataset.
   899 unique numbers inside the diamonds.  These engravings are invisible to
   448 
   900 the naked eye and as far as I remember these numbers cannot be removed,
   449 %\begin{center}
   901 except by destroying the diamond. Even if it can be removes, diamonds
   450 %User\;\;\;\;    
   902 without the number cannot (hopefully) be sold.
   451 %\begin{tabular}{c}
   903 
   452 %tell me $f(x)$ $\Rightarrow$\\
   904 How do bitcoins come into the picture? The idea is called
   453 %$\Leftarrow$ $f(x) + \text{noise}$
   905 \emph{coloured coins}, where you attach some additional information to
   454 %\end{tabular}
   906 some `coins'. In the diamond example the bitcoin transactions are
   455 %\;\;\;\;\begin{tabular}{@{}c}
   907 supposed to act as a certificate where diamonds are from (reputable
   456 %Database\\
   908 sources or not). For this you have to know that you can attach a very
   457 %$x_1, \ldots, x_n$
   909 short custom-made message with each bitcoin transaction. So you would
   458 %\end{tabular}
   910 record the diamond number inside the message.
   459 %\end{center}
   911 
   460 %
   912 Now, you would set the system up so that a trusted entity (which
   461 %\begin{center}
   913 exists in the diamond world) buys with their public key bitcoins (or
   462 %\begin{tabular}{l|l}
   914 smaller amounts).  These trusted entities are essentially the places
   463 %Staff & Salary\\\hline
   915 that also cut the raw diamonds. The idea is whenever you buy a
   464 %$PM$ & \pounds{107}\\
   916 diamond, you like to have also the corresponding bitcoin
   465 %$PF$ & \pounds{102}\\
   917 transaction. If you want to sell the diamond, you make a transaction
   466 %$LM_1$ & \pounds{101}\\
   918 to the new owner. The new owner will ask for this message, because
   467 %$LF_2$ & \pounds{97}\\
   919 otherwise he/she cannot sell it later on.
   468 %$LM_3$ & \pounds{100}\\
   920 
   469 %$LM_4$ & \pounds{99}\\
   921 The advantage is that for each diamond you can trace back that the
   470 %$LF_5$ & \pounds{98}
   922 transaction must have originated from the trusted entity. If yes, your
   471 %\end{tabular}
   923 diamond will be sellable. If you do not have the message, the diamond
   472 %\end{center}
   924 comes from a dodgy source and will (hopefully) not be sellable later
   473 %
   925 on. In this way you skew the incentives such that only legitimate
   474 %
   926 diamond are of value. The bitcoin system just helps with being able to
   475 %\begin{center}
   927 check whether the message originates from the trusted entity or
   476 %\begin{tikzpicture} 
   928 not....you do not have to consult anybody else and pay money for this
   477 %\begin{axis}[symbolic y coords={salary},
   929 consultation. Or in any way reveal your identity by such a consultation
   478 %             ytick=data,
   930 (the police might just keep a particularly close an eye on who contacts
   479 %             height=3cm]
   931 such a clearing house).
   480 %\addplot+[jump mark mid] coordinates
   932 
   481 %{(0,salary)   (0.1,salary) 
   933 Since we hopefully all agree that funding stupid wars is bad, any
   482 % (0.4,salary) (0.5,salary)  
   934 system that can starve funds for such wars must be good. Piggy-bagging 
   483 % (0.8,salary) (0.9,salary)};
   935 on the trust established by the bitcoin system on the public block chain
   484 %\end{axis}
   936 makes such a system realisable. 
   485 %\end{tikzpicture}
       
   486 %\end{center}
       
   487 %
       
   488 %\begin{tikzpicture}[outline/.style={draw=#1,fill=#1!20}]
       
   489 %  \node [outline=red]            {red box};
       
   490 %  \node [outline=blue] at (0,-1) {blue box};
       
   491 %\end{tikzpicture}
       
   492 
       
   493 \ldots
       
   494 
       
   495 
   937 
   496 \subsubsection*{Further Reading}
   938 \subsubsection*{Further Reading}
   497 
   939 
   498 Two cool articles about how somebody obtained via the Freedom
   940 Finally, finally, the article
   499 of Information Law the taxicab dataset of New York and someone
       
   500 else showed how easy it is to mine for private information: 
       
   501 
   941 
   502 \begin{center}\small
   942 \begin{center}\small
   503 \begin{tabular}{p{0.78\textwidth}}
   943 \url{http://www.extremetech.com/extreme/155636-the-bitcoin-network-outperforms-the-top-500-supercomputers-combined}
   504 \url{http://chriswhong.com/open-data/foil_nyc_taxi/}\smallskip\\
   944 \end{center}
   505 \url{http://research.neustar.biz/2014/09/15/riding-with-the-stars-passenger-privacy-in-the-nyc-taxicab-dataset}
   945 
   506 \end{tabular}
   946 \noindent makes an interesting point: If people are willing to
   507 \end{center}
   947 solve meaningless puzzles for hard, cold cash and with this
   508 
   948 achieve rather impressive results, what could we achieve if
   509 \noindent 
   949 the UN, say, would find the money and incentivise people to,
   510 A readable article about how supermarkets mine your shopping
   950 for example, solve protein folding
   511 habits (especially how they prey on new exhausted parents
   951 puzzles?\footnote{\url{http://en.wikipedia.org/wiki/Protein_folding}}
   512 ;o) appeared in 2012 in the New York Times:
   952 For this there are projects like
   513 
   953 Folding@home.\footnote{\url{http://folding.stanford.edu}} 
   514 \begin{center}
   954 This might help with curing diseases such as Alzheimer or
   515 \url{http://www.nytimes.com/2012/02/19/magazine/shopping-habits.html}
   955 diabetes. The same point is made in the article
   516 \end{center}
   956 
   517 
   957 \begin{center}\small
   518 \noindent An article that analyses privacy and shopping habits 
   958 \url{http://gizmodo.com/the-worlds-most-powerful-computer-network-is-being-was-504503726}
   519 from a more economic point of view is available from:
   959 \end{center}
   520 
   960 
   521 \begin{center}
   961 A definitely interesting and worthy use of Bitcoins has been explored 
   522 \url{http://www.dtc.umn.edu/~odlyzko/doc/privacy.economics.pdf}
   962 in the thesis
   523 \end{center}
   963 
   524 
   964 \begin{center}
   525 \noindent An attempt to untangle the web of current technology
   965 \url{http://enetium.com/resources/Thesis.pdf}
   526 for spying on consumers is published in:
   966 \end{center}
   527 
   967 
   528 \begin{center}
   968 \noindent where the author proposes ways of publishing information
   529 \url{http://cyberlaw.stanford.edu/files/publication/files/trackingsurvey12.pdf}
   969 that is censor-resistant as part of the blockchain. The idea is that
   530 \end{center}
   970 if a government wants to use Bitcoins, it would also have to put up
   531 
   971 with plain-text data that can be included in a transaction.
   532 \noindent An article that sheds light on the paradox that
   972 
   533 people usually worry about privacy invasions of little
   973 Ken Shirrif in his blog at
   534 significance, and overlook the privacy invasion that might
   974 
   535 cause significant damage:
   975 \begin{center}\small
   536 
   976 \url{http://www.righto.com/2014/02/bitcoin-mining-hard-way-algorithms.html}
   537 \begin{center}
   977 \end{center}  
   538 \url{http://www.heinz.cmu.edu/~acquisti/papers/Acquisti-Grossklags-Chapter-Etrics.pdf}
   978 
   539 \end{center}
   979 \noindent writes that every day the electricity consumption of mining
       
   980 for bitcoins is roughly 15 Mega Watts---the energy consumption of a country
       
   981 like Cambodia. He writes:
       
   982 
       
   983 \begin{quote}
       
   984   \it{}``The difficulty of mining a block is astounding. At the
       
   985   current difficulty, the chance of a hash succeeding is a bit less
       
   986   than one in $10^{19}$. Finding a successful hash is harder than
       
   987   finding a particular grain of sand from all the grains of sand on
       
   988   Earth. To find a hash every ten minutes, the Bitcoin hash rate needs
       
   989   to be insanely large. Currently, the miners on the Bitcoin network
       
   990   are doing about 25 million gigahashes per second. That is, every
       
   991   second about 25,000,000,000,000,000 blocks gets hashed. I estimate
       
   992   (very roughly) that the total hardware used for Bitcoin mining cost
       
   993   tens of millions of dollars and uses as much power as the country of
       
   994   Cambodia.''
       
   995 \end{quote}  
   540 
   996 
   541 \end{document}
   997 \end{document}
   542 
   998 
   543 http://randomwalker.info/teaching/fall-2012-privacy-technologies/?
   999 bit coin
   544 http://chronicle.com/article/Why-Privacy-Matters-Even-if/127461/
  1000 
   545 http://repository.cmu.edu/cgi/viewcontent.cgi?article=1077&context=hcii
  1001 A fistful of bitcoins
   546 https://josephhall.org/papers/NYU-MCC-1303-S2012_privacy_syllabus.pdf
  1002 http://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf
   547 http://www.jetlaw.org/wp-content/uploads/2014/06/Bambauer_Final.pdf
  1003 http://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf
   548 http://www.cs.cmu.edu/~yuxiangw/docs/Differential%20Privacy.pdf
  1004 
   549 https://www.youtube.com/watch?v=Gx13lgEudtU
  1005 Ross Anderson & Co (no dispute resolution; co-ercion)
   550 https://www.cs.purdue.edu/homes/ctask/pdfs/CERIAS_Presentation.pdf
  1006 http://www.cl.cam.ac.uk/~sjm217/papers/fc14evidence.pdf
   551 http://www.futureofprivacy.org/wp-content/uploads/Differential-Privacy-as-a-Response-to-the-Reidentification-Threat-Klinefelter-and-Chin.pdf
  1007 
   552 http://www.cis.upenn.edu/~aaroth/courses/slides/Overview.pdf
  1008 http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/
   553 http://www.cl.cam.ac.uk/~sjm217/papers/tor14design.pdf
  1009 http://www.imponderablethings.com/2013/07/how-bitcoin-works-under-hood.html
   554 
  1010 
   555 %%% Local Variables: 
  1011 http://randomwalker.info/bitcoin/
   556 %%% mode: latex
  1012 
   557 %%% TeX-master: t
  1013 Jeffrey Robinson
   558 %%% End: 
  1014 Bitcon: The Naked Truth about Bitcoin
       
  1015 
       
  1016 The Bitcoin Backbone Protocol: Analysis and Applications
       
  1017 https://eprint.iacr.org/2014/765.pdf
       
  1018 
       
  1019 Bitcoin book
       
  1020 http://chimera.labs.oreilly.com/books/1234000001802/ch04.html#public_key_derivation