Could the Bitcoin network be used as an ultrasecure notary service?
Manuel Araoz, a 23-year-old developer in Argentina, has an idea for Bitcoin that doesn't focus on money.
Araoz, who works in game development, launched a service this week called Proof of Existence. It's essentially a notary public service on the Internet, an inexpensive way of using Bitcoin's distributed computing power to allow people to verify that a document existed at a certain point in time.
Araoz envisions it as a way to fight efforts to distort or lie about data. "My idea was to give journalists or private statistical agencies the ability to certify data at a certain point in time. If someone denies the data, you have something that proves the data existed," he said.
The Bitcoin system uses a distributed computing network to transfer the virtual currency from computer to computer. Part of the system involves "miners," or computers that cryptographically verify those transactions, which are entered into a public ledger called the "blockchain."
The strength of the blockchain lies in the fact that no single entity controls it. Instead, computers around the world repeatedly verify its integrity, making it a trustworthy, multi-gigabyte ledger based on public key cryptography.
"I always liked the idea of proving a document's integrity by a cryptographic hash," Araoz said in a phone interview from Buenos Aires. The problem, Araoz said, is that you don't know when a document was created.
Algorithms can be used to create a digest, or a cryptographic string that is representative of a piece of data. The digest created by a hash function is based on the characteristics of a document. No two digests are the same, unless the data used to compute the digests is the same.
Hashing algorithms are an important component of computer security and are often used to verify that an application, for example, is what it purports to be. The service Araoz launched this week lets users embed the long string created by the hashing function into the Bitcoin blockchain, which can be viewed by anyone.
The service does this by leveraging how the Bitcoin system sends the currency when a transaction is made. Bitcoins are sent from one 32-character alphanumeric address to another. The addresses are usually generated by a Bitcoin wallet, which handles sending and receiving the currency.
Instead of using those generated addresses, Araoz substitutes half the digest created by the hashing algorithm into one Bitcoin address, and the other half into another address.
He uses SHA-256 hashing computation to create the digest for a piece of data that someone wants to certify. But since the output of that algorithm is in binary code, his service changes the binary code into the hexadecimal number system, which makes it more readable.
"It's using part of the bitcoin address for a use which hasn't been thought of," he said.
The substitution in the bitcoin address means that whatever fraction of bitcoin is sent will be lost forever. That's because substitution removes the hash of the private key, which is needed to unlock and access the bitcoin, he said.
The service costs .005 BTC, which was about US$0.62 at Friday's market price. Most of the cost is consumed in transmitting the bitcoin and paying a small fee to the Bitcoin miners who contribute computing power to create the blockchain. Araoz said he takes about .002 BTC to fund running his servers.
Gavin Andresen, the lead developer for the Bitcoin Project, questioned in January whether using the Bitcoin blockchain and paying a fee would be any better than using free timestamp services.
"Blockchain timestamping seems to me like one of those gee-whiz ideas that appeals to us techies but isn't 'enough better' than existing solutions to be interesting to non-techies," he wrote on the Bitcoin forum.
Araoz acknowledges his system isn't perfect. Bitcoin transactions can take from a few minutes up to an hour, which doesn't provide a precise time when the document was necessarily created, just when a transaction was executed. And it doesn't prove ownership, either.
Still, it's an innovative application of Bitcoin's blockchain, and one that prompted dozens of positive and critical comments on the Bitcoin subreddit.
"I know this app doesn't solve this [problem] entirely, but it is a small step," Araoz said.