Decentralized Trusted Timestamping using the Crypto Currency Bitcoin

Trusted timestamping is a process for proving that certain information existed at a given point in time. This paper presents a trusted timestamping concept and its implementation in form of a web-based service that uses the decentralized Bitcoin block chain to store anonymous, tamper-proof timestamps for digital content. The service allows users to hash files, such as text, photos or videos, and store the created hashes in the Bitcoin block chain. Users can then retrieve and verify the timestamps that have been committed to the block chain. The non-commercial service enables anyone, e.g., researchers, authors, journalists, students, or artists, to prove that they were in possession of certain information at a given point in time. Common use cases include proving that a contract has been signed, a photo taken, a video recorded, or a task completed prior to a certain date. All procedures maintain complete privacy of the user’s data. Keywords: Trusted Timestamping, Crypto Currencies, Bitcoin, Block chain, Cryptography, Web Applications Citation: Gipp, B., Meuschke, N., Gernandt, A. (2015). Trusted Timestamping using the Crypto Currency Bitcoin. In iConference 2015 Proceedings. Copyright: Copyright is held by the authors. Acknowledgements: Contact: Bela@Gipp.com, N@Meuschke.org, Gernandt@Kontrollfeld.de 1 Introduction Proving the date of content creation is important in many situations and crucial for data used as evidence. For example, inventors must routinely prove when exactly they put forward a patentable invention to obtain or defend a patent. The idea of timestamping information to verifiably establish a time at which it existed is not new. Even before the digital age, information could be encoded, e.g. as an anagram, and the code could be published using a reliably dateable medium, e.g. a newspaper. For digital data, trusted timestamping protocols, which rely on asymmetric cryptography, are used to prove that data has existed and has remained unaltered since a certain point in time (Haber and Stornetta, 1991, Schneier, 1996). This paper describes a decentralized trusted timestamping concept and its implementation in a web service using crypto currencies to authenticate data integrity. The concept offers the following benefits over established timestamping protocols: • decentralized, cryptographic integrity validation of the timestamping process; • high incentives for computing nodes to contribute to the decentralized process; • minimal effort for users: no need to setup specialized hardware or software; • low cost of operation, which allows us to provide the service free of charge. To illustrate the concept, we use a bank transfer as an analogy. Imagine putting a hash value of data, as the reference text of a bank transfer. The time at which the bank performs the transfer and the hash are recorded in the bank’s ledger and can serve as a verifiable timestamp as long as the ledger exists. The timestamping concept presented in this paper employs transactions in a crypto currency instead of bank transfers. The transactions are recorded in the block chain of the crypto currency, i.e. the cryptographically validated record of all transactions. In contrast to a bank’s ledger, the block chain is not bound to a single entity, but redundantly maintained by all computing nodes participating in the crypto currency network and publically accessible to anyone. The described timestamping concept is applicable to any crypto currency. With OriginStamp (www.originstamp.org) we provide a non-commercial service that implements the presented concept using the Bitcoin currency. We chose Bitcoin (Nakamoto, 2009), because it has achieved the largest market capitalization and has attracted the highest number of participating computing nodes. We consider market capitalization as an important indicator for the security of a crypto currency. As long as a crypto currency has a value significantly larger than zero, we assume that no possibility to manipulate transactions in the block chain and thereby timestamps exists. The number of participating nodes is an 1 Before registering originstamp.org, the service was available at http://gipp.com/originstamp Konstanzer Online-Publikations-System (KOPS) URL: http://nbn-resolving.de/urn:nbn:de:bsz:352-2-7v0m0e1rtrqy3 Erschienen in: iConference 2015 Proceedings. iSchools, 2015 http://hdl.handle.net/2142/73770 iConference 2015 Gipp and Gernandt 2 important security characteristic, because the block chain can be manipulated if x>50% of nodes cooperate in acting maliciously (Nakamoto, 2009). 2 Trusted Timestamping Trusted timestamping processes are specified in RFC 361 (Adams et al., 2001) and the ANSI ASC X9.95 standard (American National Standards Institute (ANSI), 2005), which augmented RFC 361 with data-level security requirements. Both specifications describe processes that require a central time stamping authority (TSA) to issue timestamps and ensure their validity. Figure 1 illustrates the process. Figure 1: Concept of issuing a trusted timestamp Initially, the original data is hashed. Hashing authenticates the exact data content, because the hash function ensures that changing a single bit in the data would generate a different hash value. The hash is then transmitted to a TSA, which joins the hash with a plain text timestamp. The resulting string, i.e. the hash combined with the timestamp, is hashed once more and digitally signed using the TSA’s private key. The resulting ciphertext represents the trusted timestamp, which, together with the plain text timestamp, is returned to the requester. The validity of the trusted timestamp can be verified by decoding the ciphertext using the public key of the TSA. To verify that some data is identical to the data authenticated by the TSA, the process of creating the trusted timestamp has to be replicated and the results have to be compared to the decoded trusted timestamp. The need for a central TSA is a weakness of established timestamping approaches, since the integrity of the timestamping process is inevitably bound to the integrity of the TSA (Adams et al., 2001). If the TSA is compromised, all issued timestamps can become invalid given the TSA employs public key encryption using a single private key. Linked encryption or transient key encryption schemes mitigate this weakness (American National Standards Institute (ANSI), 2005, Une, 2001), yet they are technically more demanding and hence involve higher costs of operation. Protocols for decentralized trusted timestamping, in which multiple parties validate timestamps, significantly increase security (Haber and Stornetta, 1991). However, decentralized approaches are technically demanding and require independent parties to cooperate without offering direct incentives to the involved parties for performing their services. Decentralized timestamping approaches have not achieved widespread adoption in practice. 3 Decentralized Trusted Timestamping using Crypto Currencies Crypto currencies can serve as decentralized trusted timestamping services if hash values of digital data are embedded into the transactions recorded in the block chain of the crypto currency. We do not know whether we were the first who had this idea. Shortly after we initially discussed the approach, discussions in bulletin boards started and another year later a paper was published (Clark and Essex, 2012). 2 https://bitcointalk.org/index.php?topic=2137.0 (date: 2010-12-07) 3 https://bitcointalk.org/index.php?topic=52715.0 (date: 2011-11-23) timestamp (plain	  text) private	  key of	  the	  TSA generate	  hash generate	  hash c9b4bfdcf6 c9b4bfdcf6