Des enveloppes Soleau avec la blockchain

Un des premiers services disponibles basés sur la blockchain est le site proofofexistence.com. Les utilisateurs peuvent horodater à jamais un document électronique et constituer ainsi une enveloppe Soleau qui certifie l'existence de données numériques. L'intégrité est garantie par la cryptographie, le horodatage est assuré par le mécanisme de timestamping de la blockchain. 

proofofexistence.com garde trace à l'infini de l'âge d'un document électronique sans en révéler le contenu.

Cette simple fonctionnalité s'applique à une vaste gamme d'applications légales et civiques: avocats, notaires, administrateurs publics, inventeurs, artistes, musiciens, investigateurs privés ... peuvent inscrire dans le registre public blockchain l'existence de  testaments, actes officiels, oeuvres d'art, partitions, preuves d'un délit... tout en gardant privé le contenu du document. 


Le site marche de cette façon : 

1) d'abord, il faut importer le document dans la page web. Il suffit de cliquer et aller chercher le fichier ou alors le glisser-déposer dans le cadran en haut.

 proofofexistence
Notez qu'il n'y pas d'upload sur le serveur centrale: tout se passe coté client, ce qui rend possible l'horodatage de données sensibles.

2) Toujours coté client, un algorithme condense le contenu du fichier en HASH cryptographique. Deux HASH ne peuvent pas être identiques sauf si les documents qui les ont générés sont eux mêmes identiques (à un bit près). Ainsi un HASH résume strictement le contenu exact du document présenté. 

3) ce HASH cryptographique est inséré dans une transaction blockchain. Quand les mineurs valident la transaction et l'associent à un bloc, le timestamp du bloc devient l'horodatage du document.

4) Depuis cet instant on peut à tout moment, dans 2 jours ou dans 2 siècles, retrouver le HASH de ce document dans le registre. Pour cela on recalcule son HASH et on cherche le bloc l'appartenance. Si on le trouve le document est le même ce qui prouve sont existence à l'heure de l'insertion dans le bloc. Si toutefois le document a changé même d'un seul bit, le HASH non seulement il ne correspondra pas au marqueur précédent mais il sera même complètement différent.

Si on crypte la string "blogchaincafe.com" en md5 on obtient  dfc7cb73643853a25fb38eeffb63e745

Si on change un seul caractère "blogchaincafe!com" cela donne
06d17ded2eb1ce70cd6d16e2839ed622

Comme vous pouvez le voir, changer un seul caractère donne un hash complètement différent, mais de la même taille. 

Maintenant si le document devait faire un giga, son hash md5 serait toujours de la même taille et ce qu'on enregistre dans la blockchain est le HASH qui est toujours une courte chaîne de de caractères, indépendamment de la taille du fichier en entrée. 

Si à partir d'un document numérique on peut obtenir son hash, le contraire n'est pas vrai. Il est impossible de remonter du hash au document original. Cette propriété permet de diffuser publiquement les hash.


J'ai du mal à y croire: vraiment l'information sera encore disponible dans deux siècles ?  En effet cela dépend de deux facteurs: le premier, que je possède toujours ma clé privé qui a servi à la transaction, le deuxième que la blockchain existe encore. Si j'ai utilisé la blockchain d'une monnaie qui entre temps a disparu les données ne seront évidemment plus dispo.

Et combien ça me coûte tout ça? Le site demande de payer 5 milli bitcoin, à ce jour 40 centimes d'euros. 

proofofexistence_pay
Si on est programmeur on peut faire la même chose en créant soi même la transaction avec zéro commission.  Seulement le retard sera plus important puisque les mineurs préfèrent les transactions avec des fees (commissions) élevés.


Encore deux petites choses: vous avez du remarquer qu'il n'est pas strictement nécessaire d'avoir une blockchain pour proposer ce type de service: on peut le faire même avec un serveur central classique.

Le temps d'horodatage n'est pas le moment ou je clique OK sur ma page web de  proofofexistence.com  mais celui de l'acceptation de la transaction dans le prochain bloc.  En moyenne la BC bitcoin demande environ 10 minutes qui en cas d'attaque dust pourraient être multiplié par 3 ou 4. La blockchain n'est donc pas adaptée à certains cas spécifiques où le temps d'horodatage doit être précis à la seconde.

Laisser un commentaire