Chainpoint - Innovations in Blockchain Timestamp Proofs
May 22, 2017
Last month we shared a public preview of the Chainpoint 3.0 proof format. Chainpoint lets you create timestamp proofs by anchoring a hash of your data to a public blockchain. Anyone with a Chainpoint proof can prove that data existed in a certain state at a certain time. Verifying a proof does not rely on a trusted third party. Since launching in 2015, Chainpoint has been used by thousands of organizations. We’ve been listening to your feedback on how you want to use Chainpoint at scale. Today we’re giving a preview of what’s coming next, the Chainpoint Network.
Chainpoint Network Preview
The Chainpoint Network is a highly scalable, distributed network for anchoring data. The full stack of Chainpoint software is being prepared for release under an open source license. We look forward to your feedback, pull requests, and help in advancing the Chainpoint standard through the Chainpoint W3C community. Tierion has partnered with Microsoft and other leading organizations to launch the Chainpoint Network. We’ll have more to announce in the coming weeks, but today let’s talk about time.
Timestamp Innovations in Chainpoint 3.0 Proofs
Chainpoint proofs provide timestamps that are both accurate and trustless. Trusted timestamps require you to trust the time provided by a third party. Anchoring data to a public blockchain gives you a trustless timestamp at the expense of accuracy. In the case of Bitcoin, block time accuracy is measured in hours. Traditional timestamps prove that data existed prior to a point in time. Our team at Tierion collaborated with the National Institute of Standards and Technology (NIST) to develop a technique to prove a timestamp was created between two points in time.
Embedded NTP Timestamp
Chainpoint uses Network Time Protocol (NTP) to keep time synchronized with a worldwide network of atomic clocks. Chainpoint generates a unique identifier for each hash it receives. This hashid is an RFC 4122 Version 1 UUID which contains a high precision timestamp that reflects the NTP time. A hashid is included in the cryptographic operations in your proof, thus the exact time Chainpoint received the hash is embedded in each proof.
NIST Randomness Beacon
In the movies you may have seen kidnappers providing “proof of life” by taking a photo of the victim holding a current newspaper. This proves that the photo was taken after the newspaper was printed. Our team collaborated with NIST to create an analogous technique to prove a Chainpoint proof was created after the hash_id is generated.
The NIST Randomness Beacon project, led by Dr. Rene Peralta, continues work started by Haber and Stornetta at AT&T Bell Labs in the 1990’s. Each minute, the Randomness Beacon publishes a value created by state of the art random number generators. NIST Beacon data is included in every Chainpoint 3.0 proof. Since the random values are unknowable before they are public, we can assert that each Chainpoint proof:
- Should have a NIST timestamp earlier or equal when a hash was received
- The NIST time should be within one minute of when a hash was received
This is the first time publicly verifiable data is being used to improve the accuracy of a blockchain timestamp proof.
Conclusion
These innovations introduced in Chainpoint 3.0 are another step in building a global proof engine. For the first time, Chainpoint provides precision timestamps for high volume data anchoring, where the root of trust resides in a public blockchain. Chainpoint proofs can be verified even if our systems become unavailable. Not that we’re going anywhere. Glenn Rempe VP Engineering