Blockchain es la tecnología principal de Digital CryptoCurrency BitCoin. En su definición más básica, blockchain registra cómo se ha acumulado un activo digital de forma distribuida y descentralizada. Están diseñados para evitar la modificación de datos, lo que los convierte en un disruptor ideal para industrias que incluyen pagos, ciberseguridad, agricultura y atención médica. Los bloques son registros unidos por criptografía en una string de bloques. Además de un hash criptográfico del bloque anterior y la marca de tiempo, cada bloque contiene datos de transacciones.
Esta string de bloques es lo que se conoce como un libro mayor verdaderamente distribuido, ya que está formado por los bloques creados por varios mineros. Hay algunas terminologías básicas en blockchain como:
- Bloque: en una string de bloques, un bloque representa el «presente» y contiene información sobre el pasado y el futuro de la red.
- Hash: las funciones hash se utilizan en Blockchains para asegurar las demandas cifradas que se requieren para que funcione una string de bloques.
Enstringmiento de bloques
Los registros que se almacenan dentro de los bloques son inmutables y verificables. Ahora, echemos un vistazo a algunos registros que se almacenan en una string de bloques. Se puede observar en el diagrama que los registros se han dividido en varios bloques diferentes:
Para asegurar una secuenciación de los bloques, estos están de hecho enstringdos, y es un mecanismo de este enstringmiento el que asegura no sólo una ordenación de los bloques sino también la inmutabilidad y verificabilidad de los registros dentro de ellos.
Características de los bloques de enstringmiento:
- Existe un vínculo criptográfico entre strings adyacentes.
- Cada bloque en una string de bloques incluye un hash de criptografía del bloque anterior.
- También incluye la marca de tiempo del bloque (cuando se agregó el bloque a Blockchain). Y en el caso de Ethereum, incluye todos los datos de la Transacción.
- Si se ha modificado alguna Transacción individual que conforma un bloque, el hash de ese bloque será muy diferente de lo que era anteriormente. De esta forma, se romperá el enlace criptográfico entre bloques adyacentes.
- Debido al enlace criptográfico, cualquier dato de transacción que se haya escrito en la string de bloques no se puede modificar después del hecho.
- Cualquier Node puede intentar verificar toda la string de bloques produciendo un hash del primer bloque y luego asegurándose de que esos contenidos de hash estén presentes en el segundo bloque y todo el proceso se repite hasta que se hayan verificado todos los bloques.
¿Qué sucede cuando cambia el contenido de la transacción?
Si es necesario cambiar el contenido de una transacción, en uno de los bloques anteriores en la string de bloques, simplemente vuelva a calcular el hash para ese bloque y luego incluya ese hash de bloque modificado en el siguiente bloque también. Para el siguiente bloque, si el hash del bloque anterior ha cambiado, su propio bloque hash será diferente, por lo que también será necesario volver a calcular el hash para ese bloque. De hecho, si existe un requisito para cambiar cualquiera de las transacciones anteriores escritas en la string de bloques, entonces se requiere volver a calcular el hash para cada bloque. y esto es algo que no es baladí porque tendrás que llegar a un consenso entre todos los Nodes que participan en la red Blockchain. Todas y cada una de las transacciones en Blockchain son tanto verificables como inmutables o permanentes.
Cada bloque en la string de bloques contiene múltiples transacciones y el hash del bloque anterior se agrega al bloque actual al hacer una string de bloques.