Se le describe como un libro mayor o base de datos distribuido porque es compartido por varios sistemas de cómputo, los cuales forman una red de nodos, y está abierto a todo el mundo. Este tipo de tecnología fue por primera vez mencionada en el año 1991 en un proyecto de investigación y continúo evolucionando hasta que, en el año 1998, Wei Dai describe una solución descentralizada para pagos electrónicos basada en criptografía de clave pública. Tras aquel evento, el proyecto siguió evolucionando hasta su primera implementación masiva en Bitcoin en el año 2009.
El blockchain está compuesto de diferentes bloques de información, como indica el nombre, donde cada bloque contiene información única y esta encadenada a otros bloques que lo preceden. Un bloque generalmente está compuesto de las siguientes partes:
La cabecera de bloque adicionalmente, puede ser sub-dividida en las siguientes seis partes:
¿Cómo se verifica un bloque e introduce al blockchain?
Existen personas que se dedican a la verificación de la información que contiene el bloque, así como posteriormente a confirmar el bloque e introducirlo al blockchain, a través de hardware especializado. A este proceso, se le llama proof of work. En el caso del Bitcoin, se les suele llamar a estas personas mineros de Bitcoin, y también a la actividad minería de Bitcoin.
Estas personas seleccionan un número de transacciones de un grupo de transacciones potenciales transmitidas a la red relacionada al blockchain y proceden a verificarlas. Una vez verificadas son introducidas al bloque. El bloque de por sí, al estar vacío ya cuenta con un hash generado, sin embargo, por cada bit de información insertada en el bloque el hash cambia. La función utilizada para generar el hash al ser determinístico, implica que el mismo hash se produzca cada vez que se use la misma información. Por ejemplo, si en un bloque introduzco la palabra “hola” como data y este me genera un hash determinado, siempre que introduzca como data “hola” se generará el mismo hash. Sin embargo, si introduzco como data “Buenas tardes”, se generará un hash distinto.
Una vez introducidas todas las transacciones seleccionadas, se generará un hash final del bloque. Sin embargo, el hash final debe ser menor al hash objetivo para que el bloque sea válido. Si este hash final resultó ser mayor que el hash objetivo, y por ende no válido, entonces el único dato que queda por modificar para generar un hash final válido es el nonce. A través del hardware los mineros buscan poder adivinar dicho nonce, mediante prueba y error, que hará que el bloque sea válido, lo cual requiere de una cantidad substancial de poder de cómputo.
Una vez que el nonce ideal es encontrado, se confirma el bloque y es anunciado y enviado a la red para que tanto el bloque como las transacciones contenidas sean verificadas por otros mineros o nodos. Si las verificaciones son conformes en consenso, los nodos agregan el nuevo bloque a su registro deblockchain personal y de esta manera se completa la introducción de un nuevo bloque al blockchain.
Ventajas de usar blockchain frente a un sistema tradicional:
Una de las ventajas o beneficios que ofrece el blockchain a los usuarios es que hay mayor precisión en la cadena de eventos ya que cada bloque de transacciones es verificado por cientos de computadoras alrededor del mundo lo cual reduce el error humano y, además, al ser una verificación descentralizada, si llegara a suceder la anomalía que un sistema se equivoque en la verificación, el bloque de transacciones aún será validado exitosamente por los demás sistemas.
Asimismo, el usar blockchain reduce los costos de transacciones al no tener que pagar comisiones a una entidad bancaria por administrarlas y validarlas.
Por otro lado, permite que se realicen transacciones de forma más eficiente al estar disponibles 24/7 a diferencia de los bancos que trabajan en jornada laboral tradicional. A pesar que las transacciones en el blockchain pueden demorar en ser validados alrededor de 10 minutos, en algunos casos los bancos pueden tardar más de un día u horas tratándose de transferencias internacionales o realizadas el fin de semana.
También, utilizar tecnología blockchain brinda más seguridad frente a los ciberdelincuentes ya que, al ser descentralizado, si un ciberdelincuente buscara cambiar la información o agregar una transacción falsa en uno o más bloques de uno de los nodos, los blockchains de los otros nodos detectarían la información manipulada, o tratándose de una transacción antigua, detectarían la diferencia de los blockchains legítimos frente al manipulado, anulando a este último. Es decir, un delincuente tendría que hackear más del 50% de los blockchains de los nodos alrededor del mundo para que sus transacciones manipuladas se verifiquen y se lleven a cabo.
Adicionalmente, los blockchains al ser de software de fuente abierta, significa que quien sea podría revisar su código. Esto refleja transparencia total en su estructura y al no ser regulado por nadie, deja la posibilidad abierta de ser actualizado si es que la comunidad mundial lo desease.
Por último, los blockchain ayudan a brindar mayor accesibilidad a las personas no bancarizadas a productos financieros o medios de pago sin importar su género, etnia o cultura.
Así vemos que la tecnología blockchain tiene varios argumentos a su favor para ser utilizado en toda rama de estudio que requiera el uso de base de datos. Gracias a su aplicación en Bitcoin y en las otras criptomonedas, se espera que continúe ganando popularidad y aumente su usó, empezando así una etapa de transición aun mejor sistema de registro y almacenamiento de información.