Aunque en ocasiones se utilizan los términos blockchain y DLT (Distributed Ledger Technology) como sinónimos, no representan exactamente lo mismo. DLT es un concepto mucho más amplio y representan un conjunto de tecnologías en los que hay una base de datos o registro compartido de transacciones, con múltiples copias repartidas entre los participantes de la red. Una cadena de bloques o blockchain cumple las características anteriormente citadas pero la información se almacena con una estructura de datos especifica en forma de bloques de transacciones enlazadas conocida como cadena de bloques o blockchain. En la actualidad están emergiendo otras tecnologías DLT que usan estructuras de datos diferentes como es el caso de Hyperledger, IOTA o HashGraph.
Desde el punto de vista de la ciberseguridad, la tecnología blockchain/DLT presenta ciertas características que representan una ventaja frente a otras tecnologías:
Arquitectura distribuida y descentralizada
Los participantes de la red, también conocidos como nodos, mantienen una copia del registro que se mantiene sincronizado con las copias del resto de participantes. Esta duplicidad del registro permite que un incidente de ciberseguridad en uno o varios de los nodos no afecte a la red por completo. De hecho, la red podría seguir funcionando si al menos un nodo sigue activo.
Esta característica también hace posible que un nodo pueda sincronizar su copia del registro rápidamente a través del resto de nodos tras estar desconectado un cierto tiempo.
En general, este tipo de arquitectura serán menos atractivas para actores malintencionados que bases de datos centralizados que se convierten en nichos de información muy vulnerables.
Criptografía y encriptación
La tecnología blockchain y DLT usa la criptografía para asegurar la red a varios niveles:
- Los participantes acceden a la red a partir de un par de claves publica/privada que aseguran que solo el poseedor de una clave privada pueda acceder a la cuenta asociada a dicha clave. La clave pública puede ser compartida con el mundo y la clave privada debe mantenerse secreta.
- Las transacciones son firmadas digitalmente con la clave privada de forma que podemos asegurar que el emisor de una transacción conoce la clave privada y que funciona como identidad dentro de la red.
- En blockchain, los bloques de la cadena están enlazados mediante hashes de forma que el hash del bloque hijo depende del hash del bloque padre. De esta forma, un cambio en un bloque, cambiaría su hash y haría necesario reconstruir la cadena desde ese momento al actual. Esto requiere gran capacidad computacional que lo hace inviable después de un pequeño número de bloques y que le da su característica de inmutabilidad.
- En la actualidad se está investigando en mecanismos de encriptación del contenido de las transacciones de forma que solo los involucrados en la transacción puedan conocer los detalles de ésta. La red mostraría que ha habido una transacción entre estos participantes pero los detalles de la transacción solo sería accesible para los involucrados en la transacción. Ésto ya es actualmente posible en redes permisionadas en las que se pueden enviar transacciones privadas.
Mecanismos de consenso y reglas de validación
Las DLTs incluyen lo que se conoce como mecanismos de consenso y que permiten decidir el “verdadero” estado del registro compartido de forma que todos los participantes mantenga una copia exacta de este registro. Estos mecanismos de consenso contiene una serie de reglas que han de cumplir las transacciones para ser consideradas validas así como una forma de decidir el orden de llegada de las transacciones. Los mecanismos de consenso ayudar a asegurar que las nuevas transacciones añadidas al registro son validadas y aceptadas por los participantes y no introducidas de forma fraudulenta.
En general, un participante de la red propondrá un bloque, y el resto de nodos comprobará que se ajusta a las reglas de la red. El algoritmo de consenso determina si el bloque propuesto ha alcanzado “consenso” entre los nodos de la red y en ese caso el nuevo bloque es añadido al registro compartido.
Se pueden citar como algoritmos de consenso más comunes: Prueba de trabajo (PoW), Prueba de participación (PoS) o Prueba de autoridad (utilizado comúnmente en redes permisionadas).
Restricciones de acceso e identidad conocida
Si bien en una red pública cualquiera puede participar en la red y proponer nuevos bloques, en una red permisionada se puede establecer quien puede proponer bloques, establecer diferentes niveles de permisos de escritura y lectura o incluso de reglas permanencia en la red.
Las redes permisionadas requieren de cierto nivel de confianza entre los participantes pero a cambio permiten usar mecanismos de consenso con mayor rendimiento y hacer más difícil ataques a la red en cuestión de ciberseguridad ya que normalmente los participantes tendrán una identidad conocida por el resto de participantes.
En resumen, la tecnología blockchain y DLT ayuda a mitigar algunos de los riesgos naturales de otras formas de almacenamiento y transmisión de valor como se ha expuesto. Debemos seguir investigando y desarrollando estándares que aplican a esta tecnología para asegurar la armonización.