Using Bitcoin’s blockchain to timestamp data has evolved far past single-file uploads that have users pay a Bitcoin network fee. Full-featured APIs and platforms like Opentimestamps are free, open source protocols which allow a wide range of applications to be built on top of them.
Opentimestamps has been offering a robust, yet free protocol that allows anyone to build Blockchain timestamping into their service since 2012. At least four companies are currently using this protocol. Stampery, Block Notary, Eternity Wall, and Verisart all use it at the core of their businesses today. Bitcoin.com spoke with Opentimestamps creator Peter Todd about what’s new with this tool, how it works, and his future plans for it.
The Basics of Opentimestamps
Bitcoin.com (BC): Could you explain Opentimestamps’ purpose and ideal use case?
Peter Todd (PT): As the name suggests, it’s a truly open timestamping system. Essentially, a cryptographic timestamp simply proves that data existed at some point in time. That’s useful in a wide variety of situations ranging from preventing tampering of logs, validating digital signatures, authenticating art, etc.
The reason why timestamps are useful is because if you can prove that data was created in the past, often that lets you rule out a whole variety of attacks. It’s like carbon dating an artwork: if you can prove the artwork was created 300 years ago, while it may still be a forgery created 300 years ago, you can rule out it being a forgery created recently.
BC: What does Opentimestamps offer that other timestamping platforms don’t?
PT: Unlike previous timestamping solutions, Opentimestamps is open and efficient. What that means is an Opentimestamps proof is a sequence of math operations that prove a timestamp.
The Opentimestamps protocol doesn’t constrain what those math operations are, which allows Opentimestamps to integrate a wide variety of techniques; unlike other solutions, we’re not trying to lock you into a proprietary scheme.
On top of that proof scheme, we provide free and open source calendar servers to the public, as a non-profit public service. They do two things:
1. Aggregation: They make Merkle trees of timestamp requests and timestamp them in Bitcoin.
2. Calendars: They promise to keep those timestamps and make them available to the public.
So tl;dr: Opentimestamps lets you both create your timestamp for free, and unlike other Bitcoin-based solutions, you can create a timestamp almost instantly. This is really important for applications like signing emails and git commits where you don’t want to wait for a confirmation in the blockchain.
Using Bitcoin’s Blockchain
BC: Does it still only save to the Bitcoin blockchain, or can it now write to others? If so, which?
PT: Note that timestamps aren’t “saved” to the Bitcoin blockchain, they’re *committed* by the Bitcoin blockchain.
Currently, the default calendars are Bitcoin-only, but there is an Ethereum calendar as well that one of the Opentimestamps developers is working on, and the underlying protocol has Ethereum support as well.
However, Ethereum though isn’t very interesting: it’s the same basic trust model as Bitcoin, and the time resolution isn’t any better either. Fundamentally you can’t reliably get better than a few hours precision out of a decentralized timestamping scheme, because you can’t rely on miners getting their clocks right – systems like Ethereum that try to do that just make themselves vulnerable to consensus failures due to clock skew.
What I am excited about is combining trusted timestamping like Roughtime [Google’s secure synchronization protocol] with decentralized Bitcoin timestamping. That can get you precision to within a second or two, with the decentralized Bitcoin timestamping protecting against dishonesty and key compromise.
BC: Your website says Opentimestamps is in “alpha”, but four businesses are already using it. Is it ready for any business to use?
PT: From a cryptography and security point of view, we’re very confident that the Opentimestamps protocol is secure, and it has had a lot of peer review; from that point of view, it’s on the same level as Bitcoin itself in terms of being production ready.
Equally, if you’re a business with staff that understand how timestamping crypto works and can read the Opentimestamps source code, I think you should feel confident in using Opentimestamps in production: if something went wrong, you’ve got the skillset to fix it quickly and get your business up and running again.
Timestamping is *not* difficult crypto, so I think most “blockchain” companies will have that kind of talent on hand; I’ve put a lot of effort into making sure the Opentimestamps protocol is simple and easy to understand and implement, even if you’re not a crypto expert.
It’s listed as alpha software simply because if you *don’t* have that skillset, there’s still a lot of rough edges to Opentimestamps in things like documentation, API stability, etc. So if your business is depending on Opentimestamps, it might take longer to get a problem fixed than it should for you.
BC: How many people have been using the ‘Stamp’ and ‘Verify’ functions on your website?
PT: It’s difficult to know for sure, but I’d make a very rough guess at high hundreds to low thousands.
I think Opentimestamps will always be like PGP: a relatively small number of people use it, but for very important tasks.
BC: The website says that your API is free to use. Who is paying for all the server fees & bandwidth?
PT: We’re just paying for it out of pocket. Quite simply, the Opentimestamps protocol is extremely efficient, so the cost to run the servers is trivial. Equally, because Opentimestamps is a trustless protocol, if high load ever were a problem it’d be very easy to accept donations of server space from anyone who wanted to support the effort.
I just checked, and a single visit to the Opentimestamps.org website uses hundreds of times more bandwidth than it takes to create a timestamp; the actual bandwidth cost I’m paying for one of the servers per timestamp is literally a millionth of a penny.
Finally… remember that you don’t need us to use Opentimestamps! The public calendar servers are for efficiency and convenience; the code they run on is completely open source and I encourage any business using Opentimestamps for business critical use-cases to know how to run their own.
BC: Many feel the blockchain cannot support all these timestamp transactions because the blocks are full. How does Opentimestamps solve this problem?
PT: Quite simply, Opentimestamps fixed that problem because it scales: any number of timestamps can be created with a single transaction, and it has the infrastructure in place to do exactly that in production, for free.
BC: Do you have plans to create a company and/or monetize Opentimestamps in some other way in the future?
PT: Monetizing the creation of timestamps is just silly: Opentimestamps proves that timestamping protocols can be made to be so efficient as to have almost unmeasurably low costs per timestamp.
Opentimestamps is the standard free software/public infrastructure story: I’m getting paid to work on it because I have clients who need it to exist too. Similarly, there are a few developers from a few companies contributing to development, again because they need it to exist too. And none of us want to risk getting locked into the proprietary or pseudo-free solutions that have plagued timestamping.
BC: What are your future expansion plans for the platform?
PT: 1. Calendar mirroring and other infrastructure to ensure that they aren’t a single-point-of-failure and are resilient to attack (already partly implemented).
2. High-precision, (+-1 second) timestamps with the Roughtime protocol.
3. Better libraries with more languages (e.g. Andrew Poelstra’s new Rust library).
Would you use Opentimestamps? Let us know in the comments section below.
Images courtesy of Shutterstock, Opentimestamps, Ethereum, and Peter Todd