Bitcoin Forum

Other => Beginners & Help => Topic started by: TTBit on February 01, 2012, 12:15:30 AM



Title: Before / After photos
Post by: TTBit on February 01, 2012, 12:15:30 AM
Could an expert let me know if I'm doing this in the best way possible...

I need to do a set of before & after photos. I want to prove that the 'before' photos came first. So I took an MD5 of a photo which as an example is: 00000000398b240be4ae3661ca630ec695d2a6a5. I put this into this page (#3): https://gobittest.appspot.com/Address, at #3, and came up with an address of: 11111oVqz8zbAY75wyvM3xKn4GxLA6ak, Which I sent 0.0001 coins to, and is in the block chain at '2012-01-31 23:48:38'. Looking at the Hash160 of this, it confirms 00000000398b240be4ae3661ca630ec695d2a6a5 (https://blockexplorer.com/a/1111LL3D)

Later on, I plan on taking a photo with today's newspaper of the same project to prove the work was done.

Would this prove the work is done for those who can not be with me to verify? Would you do it differently?




Title: Re: Before / After photos
Post by: lilfiend on February 01, 2012, 04:53:34 AM
if you are using a real camera (maybe be true with screenshots but i dont know) you might want to take a look at this (http://www.slate.com/articles/news_and_politics/explainer/2006/04/are_the_duke_lacrosse_photos_legit.html).

I would also provide the picture with some things in the background, like a clock, a window that you can see out of, a piece of paper with your handwriting on it, maybe take a video with something going on in the background thats not easily faked, like you interacting with smoke or a liquid.


Title: Re: Before / After photos
Post by: TTBit on February 01, 2012, 02:43:23 PM
Thanks.

My situation is a bit different. If you ever see before and after photos of a fat person who became thin using product X, how do you know that person wasn't thin and got paid to get fat? You will sometimes see a person holding up a newspaper, but the problem is you can always hold up news from a year ago.

So, my solution is to throw the photo's MD5 into the blockchain once taken. I don't want to post the picture first, or even announce the md5 publicly. If my project works out I want to prove before and after.

Looking at that story gave me an idea though: have the camera put the hash into the block chain when taken. You can the photo existed at least when it hit the chain, and not later.


Title: Re: Before / After photos
Post by: dree12 on February 01, 2012, 02:59:21 PM
Thanks.

My situation is a bit different. If you ever see before and after photos of a fat person who became thin using product X, how do you know that person wasn't thin and got paid to get fat? You will sometimes see a person holding up a newspaper, but the problem is you can always hold up news from a year ago.

So, my solution is to throw the photo's MD5 into the blockchain once taken. I don't want to post the picture first, or even announce the md5 publicly. If my project works out I want to prove before and after.

Looking at that story gave me an idea though: have the camera put the hash into the block chain when taken. You can the photo existed at least when it hit the chain, and not later.
There's one problem with that solution: one can take three photos:

1. AFTER
2. BEFORE
3. NEWSPAPER

After the BEFORE is taken, place the verification in the block chain. Then, after NEWSPAPER is take, release all three photos.


Title: Re: Before / After photos
Post by: TTBit on February 01, 2012, 03:18:31 PM
Thanks.

My situation is a bit different. If you ever see before and after photos of a fat person who became thin using product X, how do you know that person wasn't thin and got paid to get fat? You will sometimes see a person holding up a newspaper, but the problem is you can always hold up news from a year ago.

So, my solution is to throw the photo's MD5 into the blockchain once taken. I don't want to post the picture first, or even announce the md5 publicly. If my project works out I want to prove before and after.

Looking at that story gave me an idea though: have the camera put the hash into the block chain when taken. You can the photo existed at least when it hit the chain, and not later.
There's one problem with that solution: one can take three photos:

1. AFTER
2. BEFORE
3. NEWSPAPER

After the BEFORE is taken, place the verification in the block chain. Then, after NEWSPAPER is take, release all three photos.

But I would have the newspaper IN the 'after' photo. Wouldn't this satisfy doubters?

Day 0: 'Before picture', place MD5 in blockchain
Day 100: 'After picture' with today's Newspaper


Title: Re: Before / After photos
Post by: dree12 on February 01, 2012, 03:25:38 PM
Thanks.

My situation is a bit different. If you ever see before and after photos of a fat person who became thin using product X, how do you know that person wasn't thin and got paid to get fat? You will sometimes see a person holding up a newspaper, but the problem is you can always hold up news from a year ago.

So, my solution is to throw the photo's MD5 into the blockchain once taken. I don't want to post the picture first, or even announce the md5 publicly. If my project works out I want to prove before and after.

Looking at that story gave me an idea though: have the camera put the hash into the block chain when taken. You can the photo existed at least when it hit the chain, and not later.
There's one problem with that solution: one can take three photos:

1. AFTER
2. BEFORE
3. NEWSPAPER

After the BEFORE is taken, place the verification in the block chain. Then, after NEWSPAPER is take, release all three photos.

But I would have the newspaper IN the 'after' photo. Wouldn't this satisfy doubters?

Day 0: 'Before picture', place MD5 in blockchain
Day 100: 'After picture' with today's Newspaper
Yes, unless there is evidence of photoshopping the newspaper in.


Title: Re: Before / After photos
Post by: realnowhereman on February 01, 2012, 07:35:54 PM
Take the first photo.

Run md5sum on it.

Print out the hash.

Include the printout in the second photo.

Photochain.


Title: Re: Before / After photos
Post by: Blind on February 02, 2012, 11:44:28 PM
Take the first photo.

Run md5sum on it.

Print out the hash.

Include the printout in the second photo.

Photochain.

Nope, because you could still edit the photo and change printed hash before running md5 on that file. It all boils down to having a way to prove that photo has not been edited since taking a shot, but how to achieve that, I do not know. OP's original idea is not bad and definitely works, but is quite cumbersome.

By the way, how cool would be to have image showing md5 hash, exact hash of that given image file?


Title: Re: Before / After photos
Post by: dree12 on February 02, 2012, 11:56:19 PM
Take the first photo.

Run md5sum on it.

Print out the hash.

Include the printout in the second photo.

Photochain.

Nope, because you could still edit the photo and change printed hash before running md5 on that file. It all boils down to having a way to prove that photo has not been edited since taking a shot, but how to achieve that, I do not know. OP's original idea is not bad and definitely works, but is quite cumbersome.

By the way, how cool would be to have image showing md5 hash, exact hash of that given image file?
This is simply impossible unless a preimage attack against md5 is developed.


Title: Re: Before / After photos
Post by: Blind on February 03, 2012, 12:55:29 AM
By the way, how cool would be to have image showing md5 hash, exact hash of that given image file?
This is simply impossible unless a preimage attack against md5 is developed.

Theoretically you could pick up random hash, slap it onto image and then adjust various pixels, exiff data, compression, until you get matching hash. It takes immense computational power, so it's infeasible with today's technology, and frankly quite pointless. But to present such image, it would make few nerdgasms worldwide =)


Title: Re: Before / After photos
Post by: max in montreal on February 03, 2012, 01:04:51 AM
Quote
like you interacting with smoke or a liquid

silk road here i come...


Title: Re: Before / After photos
Post by: dree12 on February 03, 2012, 01:10:21 AM
By the way, how cool would be to have image showing md5 hash, exact hash of that given image file?
This is simply impossible unless a preimage attack against md5 is developed.

Theoretically you could pick up random hash, slap it onto image and then adjust various pixels, exiff data, compression, until you get matching hash. It takes immense computational power, so it's infeasible with today's technology, and frankly quite pointless. But to present such image, it would make few nerdgasms worldwide =)
That is a preimage attack.


Title: Re: Before / After photos
Post by: Blind on February 03, 2012, 01:30:23 AM
That is a preimage attack.

Oh, didn't know that, thought "preimage attack against md5" had something to do with searching for weaknesses in md5 algo for this particular case, I'm only little =)


Title: Re: Before / After photos
Post by: realnowhereman on February 03, 2012, 02:27:27 AM
Take the first photo.

Run md5sum on it.

Print out the hash.

Include the printout in the second photo.

Photochain.

Nope, because you could still edit the photo and change printed hash before running md5 on that file. It all boils down to having a way to prove that photo has not been edited since taking a shot, but how to achieve that, I do not know. OP's original idea is not bad and definitely works, but is quite cumbersome.

By the way, how cool would be to have image showing md5 hash, exact hash of that given image file?

You can edit the first file all you want but the only way to get that hash into the second photo is if those edits are done first. That was the given criteria.

You could also publish the hash so that you have the first photo locked in without having to reveal the photo.


Title: Re: Before / After photos
Post by: dree12 on February 03, 2012, 02:31:58 AM
Take the first photo.

Run md5sum on it.

Print out the hash.

Include the printout in the second photo.

Photochain.

Nope, because you could still edit the photo and change printed hash before running md5 on that file. It all boils down to having a way to prove that photo has not been edited since taking a shot, but how to achieve that, I do not know. OP's original idea is not bad and definitely works, but is quite cumbersome.

By the way, how cool would be to have image showing md5 hash, exact hash of that given image file?

You can edit the first file all you want but the only way to get that hash into the second photo is if those edits are done first. That was the given criteria.

You could also publish the hash so that you have the first photo locked in without having to reveal the photo.
Publishing the hash first is exactly what the OP proposed.

No system like this is completely malice-proof, as one could use superior photoshopping skills to "glue" the photo of a newspaper/md5 hash with the after photo, even if the after photo was taken before. Error-level analysis effectly debunks this for JPEG files, however PNG files can be faked this way.


Title: Re: Before / After photos
Post by: realnowhereman on February 03, 2012, 02:37:04 AM
It's not the hash publishing that's key. It's that the published hash subsequently appears in the after photo. It removed the need for all this messing around with newspapers. The before photo must really have come before the after photo.

I've ignored Photoshop trickery as there is no method of defending against that if you can't detect an altered image already.


Title: Re: Before / After photos
Post by: casascius on February 03, 2012, 02:42:18 AM
How about take a video of reading the paper aloud.  That would be harder to fake


Title: Re: Before / After photos
Post by: Shawshank on February 03, 2012, 06:04:51 PM
This is a solution for your request which undeniably proves that one picture was taken after the other. It cannot be faked with Photoshop or any other tool.

1) Take the first picture. Hash it and send it to the blockchain.
2) Wait for your transaction to appear in a block in the blockchain until it gets confirmed 6 times.
3) Hash the blockchain block where your transaction is in.
4) Take the second picture that shows the hash in step 3. Alternatively, you can add the hash of the block to the metadata of the second photo.
5) Send the hash of the second picture to the blockchain and wait for another 6 confirmations.

I would very much prefer to keep using Bitcoin for economic purposes, though. I strongly believe that a notary solution can be achieved without throwing away 0.01 BTC, and giving it to a charity address in the end. It could be achieved by generating several temporary Bitcoin addresses in the same way as VanityGen does. In the end, the 0.01 BTC would be credited to a charity address. However, I don't know of any software that currently does this.


Title: Re: Before / After photos
Post by: casascius on February 03, 2012, 06:09:47 PM
This is a solution for your request which undeniably proves that one picture was taken after the other. It cannot be faked with Photoshop or any other tool.

1) Take the first picture. Hash it and send it to the blockchain.
2) Wait for your transaction to appear in a block in the blockchain until it gets confirmed 6 times.
3) Hash the blockchain block where your transaction is in.
4) Take the second picture that shows the hash in step 3. Alternatively, you can add the hash of the block to the metadata of the second photo.
5) Send the hash of the second picture to the blockchain and wait for another 6 confirmations.

This doesn't work, it does not prove that the photo taken in step 4 wasn't taken before step 1. Adding metadata to an old photo is easy, and adding a hash into an old photo is possible with photoshop.


Title: Re: Before / After photos
Post by: Shawshank on February 03, 2012, 06:19:46 PM
This is a solution for your request which undeniably proves that one picture was taken after the other. It cannot be faked with Photoshop or any other tool.

1) Take the first picture. Hash it and send it to the blockchain.
2) Wait for your transaction to appear in a block in the blockchain until it gets confirmed 6 times.
3) Hash the blockchain block where your transaction is in.
4) Take the second picture that shows the hash in step 3. Alternatively, you can add the hash of the block to the metadata of the second photo.
5) Send the hash of the second picture to the blockchain and wait for another 6 confirmations.

This doesn't work, it does not prove that the photo taken in step 4 wasn't taken before step 1. Adding metadata to an old photo is easy, and adding a hash into an old photo is possible with photoshop.

You are right. It only proves that photo in step 4 was taken or "modified" after photo in step 1, [edit] AND after the first block entered the blockchain.