Translate

venerdì 1 aprile 2016

Uso della blockchain: Dimostrare l'esistenza di un idea/testo/foto/brano in un determinato periodo

Inizio:

1) Prendere un file / testo / musica / immagine / frase

2) Calcolare il suo sha256:
- http://hash.online-convert.com/sha256-generator
- http://www.slavasoft.com/hashcalc/
Ne trovate tanti altri su Google di software/servizi per calcolarlo.

3) Prendere l'hash in esadecimale e firmarlo con la propria chiave privata di indirizzo Bitcoin. (prendete solo la stringa esadecimale come risultato)
- Electrum
- Bitcoin Core
- https://brainwallet.github.io (sign/verify) - Sorgente: https://github.com/brainwallet/brainwallet.github.io

Al posto della chiave privata di indirizzo Bitcoin va bene anche da una coppia di chiavi ECDSA presa ad esempio da qua:
http://kjur.github.io/jsrsasign/sample-ecdsa.html - Sorgente: https://github.com/kjur/jsrsasign

4) Prendere poi "la firma" e calcolare il suo sha256:

In sostanza avrete fatto questo:
sha256(firma(sha256(file)))

5) Mettere quest'ultimo in un OP_RETURN.
E' possibile farlo da qui (Advanced Options):
https://coinb.in/#newTransaction - Sorgente: https://github.com/OutCast3k/coinbin/
Potete inviare anche zero bitcoin nella transazione con l'OP_RETURN e i bitcoin altrove, verso altri indirizzi.

Se qualcuno vuole la dimostrazione che possedevate quel file in un dato momento, dovrete mostrare:
- La transazione con l'OP_RETURN (il timestamp)
- L'indirizzo Bitcoin / Chiave pubblica
- La relativa firma (il cui hash è presente nell'OP_RETURN - Punto 4)
- L'hash del file


Se anche il file è stato dato a qualcuno, ma non è di pubblico dominio, chi eventualmente avrà quel file (anche trovato per caso) potrà comunque verificare la corrispondenza.

Con la chiave privata potrete quindi anche firmare eventuali aggiornamenti del file, magari se si tratta di un contratto o un passaggio di proprietà del file.


Se avete suggerimenti su come indicare meglio alcune cose in questa guida, o proprio a suggerimenti su altri usi, scrivete pure :D

https://bitcointalk.org/index.php?topic=985358.0;wap2