¿Qué es la blockchain?
La blockchain o en español, la cadena de bloques es un sistema de registro de datos, siendo estos de naturaleza transaccional. Estas son transacciones de información entre direcciones -que son claves públicas- y que se guardan en bloques. Los bloques se almacenan en cadenas de bloques, cuyos bloques almacenan el hash anterior. Una función criptográfica hash– usualmente conocida como hash– es un algoritmo matemático que transforma cualquier bloque arbitrario de datos en una nueva serie de caracteres con una longitud fija.
¿Cómo se configura una blockchain?
los blockchain están descentralizados y son append-only, por lo que los datos solo se pueden añadir. Requiere consenso: la colaboración de múltiples entidades para añadir información. Es inmutable, garantizando la integridad y autenticidad de la formación.
¿Cuál es la finalidad de la blockchain?
Como hemos dicho, el objetivo por el cual blockchain existe es el almacenamiento de datos, haciendo que este dependa de diferentes entidades para así garantizar su veracidad y su seguridad.
Características de la blockchain
es una especie de base de datos que esta compartida , replicada y sincronizada entre los miembros de una red distribuida.
- Una especie de base de datos: El estado del sistema; Almacena información desde datos (hashes de documentos) hasta recursos (monedas digitales) o programas ejecutables (Smart Contracts).
- Compartida: Todos los miembros de la red comparten la base de datos.
- Replicada: Todos los miembros de la red tienen la misma información en la base de datos.
- Sincronizada: Todo cambio en la base de datos se transmite a todos los miembros de la red.
- Miembros de la red distribuida: No existe una tercera parte confiable, todos los miembros colaboran para mantener la base de datos.
¿Por qué la Blockchain es (casi) infalible?
Porque debido a su configuración y a sus características es muy difícil que los usuarios puedan falsificar la información, ya que parte de la premisa de que:
- los usuarios involucrados desconfían unos de otros;
- los usuarios que añaden datos en bloques a la cadena han de ser supervisados por el resto de participantes;
- se castiga a quien hace trampas;
- se premia el esfuerzo de hacerlo correctamente;
- la información existente en la blockchain es inmutable y no puede eliminarse.
Elementos comunes de la blockchain
Podemos hablar de 3 elementos que toda blockchain tiene:
- Claves. Estas enlazan con los activos vinculados a ella (si tengo un activo he de tener una clave privada).
- Direcciones. Son identificadores únicos de las transacciones. Es una clave pública. Aunque pueden ser reutilizadas, lo ideal es crear una nueva dirección para cada nueva transsacción, dando lugar a una nueva clave pública. Para controlar el archivo público necesito una clave privada.
- Transacción. Representa la transferencia de un activo o valor de una dirección a otra, y es la unidad fundamental de la blockchain. El nuevo propietario del activo, así tendrá una nueva clave pública.
- Bloque/s. Se compone de múltiples transacciones.
- Cadena de bloques. Es una lista de bloques que guarda el hash del bloque anterior.
- Red P2P. Donde los nodos o mineros se comunican sin la necesidad de la intervención de un nodo central.
- Nodo. Entidad de un sistema blockchain que forma parte de la red y puede desempeñar varias funciones. Puede proponer transacciones y realizar minado para facilitar el consenso.
- Lenguaje de programación. Permite realizar algunas funcionalidades directamente sobre la información introducida en el blockchain.
- Consenso. Es el proceso por el cual un conjunto de actores, que posiblemente no confíen los unos en los otros, pueden llegar a un acuerdo acerca del estado de una determinada información.
¿Cómo se crea la cadena?
El proceso sería el siguiente:
- Un nodo genera una transacción y la firma con su clave privada, que suele ser una transacción de valor entre usuarios.
- La transacción se propaga a través de un algoritmo de flooding a todos los nodos posibles con el fin de validarse en base a unos criterios objetivos preestablecidos.
- Si se valida la transacción se incluirá en un bloque, que se subirá a la red P2P. Este bloque habrá de hacer referencia al bloque anterior a través del hash, en cuyo momento se considerará confirmada.
La agrupación de esas transacciones a los bloques se conoce como minado. El minado es un proceso colaborativo/competitivo por el cual los nodos o mineros agrupan transacciones en un bloque y los añaden a una cadena de bloques. Los procesos de minado más conocidos son el proof of work y proof of stake.
Proof of work
Se realiza un trabajo computacional intensivo para la creación de bloques resolviendo un puzzle. El nodo que lo resuelva, lo podrá unir a la cadena de bloques, para lo cual su trabajo ha de ser validado por el resto de nodos.
En cuanto a los inconvenientes, destacamos la necesidad de energía y la centralización de los mineros en países con bajo coste de la misma.
Proof of stake
En este caso los mineros ponen a disposición de la red un recurso monetario. Varios nodos al azar se encargan de validar la creación de un bloque. Si se detecta algún problema, el nodo creador del bloque perderá parte de esos recursos según la gravedad del problema.
En cuanto a las ventajas, caben destacar que el validador es compensado por su esfuerzo, el gasto eléctrico es mucho menor. Por su parte, las desventajas se centran mayormente en la complejidad sobre su creación y diseño para un funcionamiento limpio.
Tipos de blockchain
Tenemos principalmente dos tipos de blockchain:
- públicas. Como ejemplos, Bitcoin o Ethereum. Están abiertas al público, por lo que requiere el uso de un mecanismo de consenso descentralizado. No hay una entidad dueña del blockchain.
- privadas o permisionadas. En este caso los participantes han de identificarse de alguna forma y es de mayor interés en el ámbito empresarial. Como ejemplos tenemos: Ejemplos prominentes: Hyperledger Fabric, Quorum.
Ventajas y desventajas de la blockchain
Ventajas
- Descentralización.
- Transparencia.
- Inmutabilidad.
- Seguridad.
- Alta disponibilidad.
- Procesos de negocio.
- Reducción de intermediarios.
- Pago por uso.
Inconvenientes
- Escalabilidad.
- Diseño monolítico.
- Inmadurez.
- Heterogeneidad.
- Teorema CAP.
¿Cuándo hemos de usar una blockchain?
Para determinar la viabilidad de uso de una blockchain existen guías como la proporcionada por la NIST.
Breve acercamiento a las criptomonedas
Las criptomonedas son una representación digital de valor no emitida ni garantizada por una entidad pública, autoridad o banco central, que utiliza la criptografía como forma de seguridad.
Bitcoin
El Bitcoin fue la primera moneda digital que usó de forma exitosa la tecnología blockchain. Es una moneda digital transferible cuya cantidad circulante es de hasta 21 millones de bitcoins. Pueden subdividirse hasta pueden subdividirse hasta 0.00000001 BTC, cantidad que se denomina satoshi. Los BTC se crean durante un proceso de minado. El minero ganador crea una transacción a su nombre donde se asigna una cantidad de BTC.
La titularidad de los BTC sigue los protocolos que hemos explicado más arriba (claves y direcciones). Los BTC se mueven a través de transacciones. Se almacenan en bloques. Son implementados por los nodos Bitcoin, y la integridad de la cadena de bloques se asegura a través del consenso y creación de bloques. La articulación de las operaciones financieras vinculadas a las criptomonedas se realiza a través de un lenguaje script básico.
Al BTC se le ha considerado como oro digital por la similitud a este metal en ciertas características: por su suministro limitado, cobertura contra la inflación, intangibilidad (no ocupa espacio físico y es fácilmente transportable). También se ha negado esta consideración ya que: su uso es intrínseco, su volatilidad (algo cuestionable en relación al oro), intangibilidad (depende de una estructura digital).
Ethereum
El caso de Ethereum es el primer uso exitoso de una infraestructura de smart contracts. También tiene su propia moneda ETH, cuya cantidad no está limitada y puede dividirse en 16 veces. Ethereum es una máquina de estados movidos por transacciones soportadas por las criptomonedas ETH. La diferencia fundamental con BTC es que en ETH no hay UTXOs. Y mientras que para mover BTCs de una dirección a otra se hace a través de transacciones, para hacer lo propio con ETH igualmente o a través de gas.
Conclusiones estadísticas
Según el Estado del Arte de Blockchain en la empresa española (2021):
- 1 de cada 10 organizaciones: tiene un Proyecto en producción y tienen planes de hacer un proyecto piloto.
- Se espera un crecimiento anual del 40% en el uso de esta tecnología.
- Los sectores que más están siendo afines a su uso son, por este orden: financiero, distribución y servicios, industria, sector público e infraestructura.
- Los principales retos de la Blockchain son: el desconocimiento, la estandarización y la inmadurez.
- Los casos de usos futuros (2025) son: sector financiero, el cual tendrá un 20% de operaciones sobre la blockchain; y, logístico, con un 17% de las operaciones.