Criptografia y la Integridad de una Transaccion Bitcoin
Tecnología blockchain
¿Qué es blockchain?
Es un libro de contabilidad de transacciones realizadas entre dos o más personas, cada página del libro representa un bloque de la cadena, que contiene la siguiente información:
Numero de página o bloque.
Resultado del bloque anterior.
Fecha de ejecución del bloque.
Un número representa a cada transacción entre las personas.
Suma o resumen de las transacciones.
El libro blockchain tiene replicas en miles de nodos o computadores, al 29 marzo 2021, habían más de 260.000 nodos completos y más de 70.000 nodos podados, pueden localizarse geográficamente alrededor del mundo.
Bloques de la cadena Bitcoin
¿Qué es Bitcoin?
(BTC) es la primera moneda digital, usada y distribuida de forma electrónica.
Es una red descentralizada peer-to-peer (de igual-a-igual). Ninguna institución o persona controla su emisión, gasto o reserva.
Cada Bitcoin de formato digital tiene una política de emisión controlada en la que sólo habrá un total de 21 millones de unidades.
Análisis de un bloque
Para fines educativos tomare un bloque de la cadena Bitcoin y veamos qué información contiene:
Paso 1: Entramos a un navegador de la cadena Bitcoin (una especie de Google), llamado Blockchair y cuyo enlace es: Blockchair
Paso 2: Seleccionamos un bloque, tomare el bloque 120,000:
Paso 3: observar que:
El bloque 120,000 contiene el hash del bloque 119,999 y el 120,001 contiene el hash del 120,000. De tal forma que alterar cualquiera de los bloques implica alterar a toda la cadena.
El hash 256 protege la integridad de la información que contiene el bloque: 0000000000000e07595fca57b37fea8522e95e0f6891779cfd34d7e537524471
En el articulo 2, explicamos que todo archivo de datos, al tener un hash256, nos permite detectar la mínima alteración.
Paso 4: El bloque 120,000 presenta una serie de metadatos como que:
Bloque procesado el 24 de abril del 2011 a las 11.20 pm.
Contiene 56 transacciones.
Paso 5: A continuación, presentamos las primeras 5 transacciones, observe que cada transacción tiene un hash256 y seleccionamos la cuarta para analizarla.
Paso 6: La transacción número cuatro tiene un numero hash256 que identifica la transacción:
a7ee0da5061982cb9c2bb95da715a90c3f8a717fa6d2f74a9934825017acaea6
Este hash permite identificar si un atacante altera los datos de esta transacción.
Una cuenta envía fondos (senders):
1HCfKLEKipVE9tzuPoYPftQgqXE7acDwKL envía 27.32 BTC.
Dos cuentas reciben los fondos (Recipients):
1Yapu4N4f64xkrJVQsLLuWwezL4mXZdGp recibe 25.33 BTC
1LFSZag1HnRKJngVqUJpY2jZjtyMze7GRN recibe 1.99 BTC.
Paso 7: Los datos correspondientes a esta transacción están disponibles a través de una aplicación del explorador Blockchair.com, están disponibles en el formato JSON (Java Script Object Notation), puede leer que:
El JSON recibe el nombre “data”
La transacción es: a7ee0da5061982cb9c2bb95da715a90c3f8a717fa6d2f74a9934825017acaea6
El bloque: 120,000
Observe que la cantidad de datos y metadatos es grande.
Conclusión:
La criptografía a través de las funciones Hash256, permite garantizar la integridad de las transacciones bitcoin a través del hash A:
a7ee0da5061982cb9c2bb95da715a90c3f8a717fa6d2f74a9934825017acaea6
Cada vez que un usuario interactúe con esta transacción, si ocasiona una alteración el protocolo Bitcoin, calcula de nuevo el hash B y si son diferentes rechazara el archivo alterado. Esta transacción una vez procesada es imposible de modificar y decimos que es inmutable.
De igual manera el hash256 del bloque 120,000 garantiza que el bloque, no hay forma de modificar.