Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: jl2012 on September 02, 2013, 02:35:00 AM



Title: Centralized timestamp service with bitcoin or other blockchain
Post by: jl2012 on September 02, 2013, 02:35:00 AM
If we could not stop people from abusing the blockchain as timestamp service, we could do it in a centralized way to minimize the harm.

Here I assume zero value OP_RETURN outputs are standard, and transaction replacement with higher fee is relayed

One can establish a timestamp service, which collect hashes from users, calculate the merkle root, and send it to bitcoin network as a zero value "<merkle root> OP_RETURN" output. The service will collect fee from users, which part of this will pay miner. If new hashes arrived before confirmation, the timestamp transaction is replaced by paying higher fee.

When the timestamp transaction is confirmed, the service will either publish the full list of hashes through his webpage, or allow user to inquire the path of his hash to the merkle root. The latter option provides better confidentiality but requires more resources.

My only concern is such service would not be profitable due to tragedy of the commons. If this model is successful, other people will provide the same service. Instead of sending the merkle root to the blockchain directly, they could exploit another operator by pretending a normal user and requesting him to timestamp the merkle root, with a very low cost. Everyone will fail eventually.



Title: Re: Centralized timestamp service with bitcoin or other blockchain
Post by: gmaxwell on September 02, 2013, 03:06:30 AM
It's much more efficient to use the merged mining root for this: see https://github.com/goblin/chronobit

Petertodd has his own protocol which is like you describe called opentimestamps, but — as you note— the non-uniqness of putting it in transactions has a flooding hazard where something which should be O(1) becomes O(N). :(