Author

Topic: Datecoin - a method to prove ownership of prior art via block chains (Read 1648 times)

hero member
Activity: 672
Merit: 500
BitLotto - best odds + best payouts + cheat-proof
grondilu a while back made something like this. What is does is hash a file into a unique Bitcoin address. If you send a very tiny amount to that address it will become part of the blockchain but the money can't ever be spent again. This can be used to prove a file has existed at least since then because a file having the same hash is VERY VERY unlikely...


Code:
#!/bin/bash
#
# Timestamping program
# Returns a valid bitcoin address made from stdin
# To timestamp, just send tiny BTC to this address
#
# Requires bc, openssl, xxd
#

base58=({1..9} {A..H} {J..N} {P..Z} {a..k} {m..z})

EncodeBase58() {
    # 58 =0x3A
    bc <<<"ibase=16; n=${1^^}; while(n>0) { n%3A ; n/=3A }" |
    tac |
    while read n
    do echo -n ${base58[n]}
    done
}

checksum() {
    xxd -p -r <<<"$1" |
    openssl dgst -sha256 -binary |
    openssl dgst -sha256 -hex |
    cut -d\  -f2 |
    sed -r "s/^((..){4}).*/\1/"
}

Hash160() {
    openssl dgst -sha256 -binary |
    openssl dgst -rmd160 -hex |
    cut -d\  -f2
}

Hash160ToAddress() {
    printf %34s "$(EncodeBase58 "00$1$(checksum "00$1")")" |
    sed "s/ /1/g"
}

Hash160ToAddress $(Hash160)
donator
Activity: 826
Merit: 1060
Technically it's doable, but the need just isn't there.

There are already notary services to record prior art. But for most purposes (including trademark and patent disputes) the Wayback Machine works just fine.
legendary
Activity: 1204
Merit: 1015
You might find this thread interesting, if you haven't read it already:
http://forum.bitcoin.org/index.php?topic=7219.0
newbie
Activity: 23
Merit: 0
Let's say I've written a blog post, and I've dated my hypothetical blog post to August 21, 2008. How can anyone be certain that I actually wrote it at that date and time?

If I store the raw message and the raw date in a plain old text file, no one may know for sure.

If I sign the message and the date with my private key, it's not any more certain, since I could have signed an identical counterfeit message just yesterday.

Now, if we had a block chain, which is essentially a peer to peer synchronized clock, I could prove that I supplied the signature of a given piece of text (signed with my private key) to the network at a given date and time (plus or minus ten minutes). The signature of the text would reside in the chain and the proof of work would ensure it happened at one (or more) points in the chain. The earliest point for a given text would be the date of origin.

Why would such a system be valuable? I think it's obvious, but just to spell it out:

Patents are a burden on the development of software (in my opinion) and patents are usually invalidated by showing prior art. However, prior art may also be useful in enforcing patents if you own both the patent and the prior art. (IANAL)

Another use might be in preventing fraud or enforcing contracts.

Essentially, this would be a distributed notary bearing witness to the date of digital document creation.

One downside of the genesis of such a block chain might be everyone scrambling (or patiently waiting) to submit any pre-existing idea as their own. I've not thought of a way to prevent this attack and it may make such a system infeasible due to false ownership of old documents popping up at any time. However, you may be able to tweak the incentives, similar to what Namecoin has done for early adopters.

Also, such a system may incentivize the physical (or digital) pillaging of private keys. I think this may be unlikely given only the signatures of texts would be stored in the block chain rather than the texts themselves, but you never know.

Also, what would stop people (or bots) from generating random texts and signing them in the chain as a sort of denial of service attack to strain the system?

What do you think?
Jump to: