Blockchain para registro de evidencias digitales
Crear cuenta

# Blockchain para pruebas de integridad

Publicado el 4 de octubre de 2018
La verdad matemática que genera confianza entre los pares involucrados.

Demostrar que el contenido de un documento o secuencia de datos no han sido adulterados es crucial tanto para las personas como para las empresas.

Utilizando huellas criptográficas que representan de manera irrefutable sus datos, y siendo almacenados simultáneamente en miles de base de datos (la cadena de bloques de Bitcoin, Ethereum y Stamping.io) nadie, ni siquiera nosotros, podrá eliminar o cambiar.

## PASOS PARA DEMOSTRAR LA INTEGRIDAD DE UN DOCUMENTO O SECUENCIA DE DATOS

1. Se busca el identificador(trxtid) que el API retorno cuando se estampó el documento o secuencia de datos en la cadena de bloque.

2. Se busca en la Blockchain los datos estampados que estan asociados a ese identificador, se compara que el valor del hash (SHA256) coincida con la del documento o secuencia de datos que se esta validando, si no coincide el documento ha sido adulterado.

## RESUMEN

El presente artículo explica matemáticamente como demostrar que un documento y/o secuencia de datos no ha sido adulterado desde que se estampó en la Blockchain.

## APIS

API | Descripción | TIPO
--- | --- | ---
https://api.stamping.io/stamp | Permite estampar un documento o secuencia de datos en la Blockchain de Stamping.io | POST
https://api.stamping.io/getstamp | Permite recuperar un documento o secuencia de datos que ha sido estampado en la Blockchain de Stamping.io | GET

Otra forma de ver el estado del proceso de estampado de un documento o secuencia de datos en stamping.io es ingresando a esta URL: http://www.stamping.io/q/?{code SHA1(Hash)}, donde debe calacular el hash de tipo SHA1 de hash (SHA256) de la evidencia digital.

## REGISTRO (ESTAMPADO)

Contiene los datos que son posteados en la api http://api.stamping.io/stamp

### DOCUMENTO DIGITAL

Cuando se genera un documento, se calcula el código hash (SHA256) del documento codificado en base64.

El código hash y algunos datos referenciales del documento son enviados a stamping.io para que sea endosados a la Blockchain de Ethereum, Bitcoin y los nodos privados Hyperledger Fabric que se ecnuetran asociados a stamping.io

Los datos que se pueden envíar la API RESTful de stamping.io son:

Elemento | Descripción | Ejemplo
--- | --- | ---
evidence | Hash de tipo SHA256 que representa el documento que se desea estampar en la Blockchain de Stamping.io | 5fef2ab39c2ed60ca5e5dc2b867786...
from | UserId del usuario que emite el documento, esta asociado al token de acceso del usuario que estampó el documemto en la Blockchain | AlzaH5fef2ab39c2ed60ca5e5dc2b86
to | UserId del usuario que tiene la propiedad del documento | AlzaH5fef2ab39c2ed60ca5e5dc2b86
subject | Descripción del registro | Resolución Nr 8383-LIM/2018
transactionType | Namespace que representa al proceso que genera el documento en los sistemas de la empresa. | module.miapp.com
data | Contenido asociado a la evidencia a estampar puede ser en formato JSON, XML o TXT | {url: http://bit.com/YJDMLj, name: Joshe....}
reference | Código de referencia del sistema del emisor | C8383

### SECUENCIA DE DATOS

Se calcula el código hash (SHA256) de los datos que se desea estampar.

El código hash y algunos datos referenciales del documento son enviados a stamping.io para que sea endosados a la Blockchain de Ethereum, Bitcoin y los nodos privados Hyperledger Fabric que se ecnuetran asociados a stamping.io

Los datos que se pueden envíar la API RESTful de stamping.io son:

Elemento | Descripción | Ejemplo
--- | --- | ---
evidence | Hash de tipo SHA256 que representa secuencia de datos que se desea estampar en la Blockchain de Stamping.io | 5fef2ab39c2ed60ca5e5dc2b867786...
from | UserId del usuario que genera la secuencia de datos, esta asociado al token de acceso del usuario que estampó la secuencia de datos en la Blockchain | AlzaH5fef2ab39c2ed60ca5e5dc2b86
to | UserId del usuario que recibe o tiene la propiedad de la secuencia de datos, en caso de ser una transacción sería el usuario o cliente | AlzaH5fef2ab39c2ed60ca5e5dc2b86
subject | Descripción del registro | Orden de Compra Nr 8383-LIM/2018
transactionType | Namespace que identifica al proceso que genera la secuencia de datos en la empresa que estampa la secuencia de datos en la Blockchain | module.miapp.com
data | Contenido asociado a la evidencia a estampar puede ser en formato JSON, XML o TXT | {url: http://bit.com/YJDMLj, name: Joshe....}
reference | Código de referencia del sistema del emisor | C8383

Powered by stamping.io

Todos los derechos reservados.