Las blockchains están protegidas por una variedad de mecanismos, entre los que se incluyen técnicas avanzadas de criptografía y
modelos de comportamiento y toma de decisiones matemáticos. La tecnología blockchain es la estructura subyacente de la mayoría de sistemas de criptomonedas, y es la encargada de prevenir la duplicación o destrucción de esta forma de dinero digital.
El uso de la tecnología blockchain está también siendo explorado en otros contextos, en los que la inmutabilidad y seguridad de los datos resulta muy valiosa. Algunos ejemplos incluyen el registro y trazabilidad de las
donaciones caritativas, bases de datos médicos y gestión de
cadenas de suministro.
Sin embargo, la seguridad del blockchain dista mucho de ser un asunto simple. Y por ese motivo, resulta importante comprender los conceptos y mecanismos básicos que garantizan a estos sistemas innovadores una protección robusta.
Los conceptos de inmutabilidad y consenso
A pesar de que en la seguridad asociada al blockchain intervienen muchos atributos, dos de los más importantes son los conceptos de “consenso” e “inmutabilidad”. Por “consenso” entendemos la habilidad de los nodos que conforman una red blockchain distribuida, para ponerse de acuerdo respecto al verdadero estado de la red y la validez de las transacciones. Por regla general, el proceso de consecución de consenso depende de los así llamados
algoritmos de consenso.
La inmutabilidad, por otro lado, se refiere a la capacidad de las blockchains para prevenir la alteración de transacciones que hayan sido ya confirmadas. A pesar de que estas transacciones remiten a menudo a la transferencia de criptomonedas, pueden referirse también al registro de otros tipos de datos digitales no monetarios.
El consenso y la inmutabilidad, combinados, proporcionan la base para la seguridad de los datos en las redes blockchain. Mientras los algoritmos de consenso se encargan de asegurar que las reglas del sistema están siendo respetadas, y que todas las partes involucradas están de acuerdo respecto al estado actual de la red; la inmutabilidad garantiza la integridad de los registros de datos y transacciones, después de que cada nuevo bloque sea confirmado como válido.
El papel de la criptografía en la seguridad del blockchain
Las blockchains dependen en alto grado de la
criptografía para garantizar la seguridad de sus datos. Una función criptográfica extremadamente importante en este contexto es el “hashing”. El “hashing” es un proceso, conforme al cual, un algoritmo denominado “función hash” recibe unos datos de entrada de cualquier tamaño (input data), y devuelve un resultado específico (output) que contiene un valor de longitud prefijada.
Independientemente del tamaño del “input”, el “output” siempre presentará la misma longitud. Si el “input” cambia, el “output” resultante será completamente diferente. Sin embargo, si el “input” no cambia, el hash resultante será siempre el mismo -sin importar cuántas veces ejecutes la función hash.
En las blockchains, estos valores “output”, conocido como “hashes”, son utilizados como identificadores únicos para los bloques de datos. El hash de cada bloque (block hash) se genera partiendo del hash del bloque anterior, y se encarga de enlazar los bloques entre sí, generando una cadena. Además, el “block hash” es dependiente de los datos contenidos en el bloque en cuestión, lo que significa que cualquier cambio aplicado a estos requeriría la modificación del primero.
Es decir, que el hash de cada bloque se genera partiendo tanto de los datos contenidos en éste, como del hash del bloque previo. Estos identificadores hash juegan un papel fundamental, al garantizar la
seguridad e inmutabilidad del blockchain.
El hashing también se aprovecha en los algoritmos de consenso utilizados para validar las transacciones. En la blockchain de Bitcoin, por ejemplo, el algoritmo Proof of Work (PoW) empleado para alcanzar consenso y minar nuevas monedas usa una función hash denominada SHA-256. Como el nombre indica, el SHA-256 toma los datos de entrada (input) y devuelve un hash de 256 bits -o 64 caracteres de largo.
Además de proporcionar protección para los registros de transacciones en los libros contables (ledgers), la criptografía también se encarga de garantizar la seguridad de los monederos utilizados para almacenar las unidades de criptomonedas. Las claves públicas y privadas emparejadas que, respectivamente, permiten a los usuarios recibir y enviar pagos, son creadas mediante el uso de
criptografía asimétrica o de clave pública. Las claves privadas se usan para generar firmas digitales para las transacciones, haciendo que sea posible autenticar la posesión de las monedas que se están enviando.
A pesar de que las especificidades quedan fuera del alcance de este artículo, la naturaleza de la criptografía asimétrica impide que cualquiera que no sea el dueño de la clave privada pueda acceder a los fondos almacenados en un monedero de criptomonedas, manteniendo de esta forma dichos fondos a salvo, hasta que el propietario decide gastarlos (siempre y cuando la clave privada no sea compartida o haya sido comprometida).
Criptoeconomía
Además de la criptografía, un concepto relativamente nuevo, conocido como criptoeconomía, juega también un papel importante en el mantenimiento de la seguridad de las redes blockchain. Está relacionado con un campo de estudio denominado teoría de juegos, que modela de forma matemática la toma de decisiones por parte de actores racionales, en situaciones con reglas y recompensas predefinidas. Mientras la
teoría de juegos tradicional puede ser aplicada a un amplio rango de casos, la criptoeconomía modela y describe de forma específica el comportamiento de los nodos en sistemas blockchain distribuidos.
En pocas palabras, la criptoeconomía es el estudio de los aspectos económicos dentro de los protocolos blockchain, así como de los posibles resultados que su diseño puede generar en base al comportamiento de los participantes. La seguridad a través de la criptoeconomía se basa en la noción que los sistemas blockchain proporcionan un mayor incentivo para que los nodos actúen de forma honesta, en lugar de adoptar comportamientos incorrectos o maliciosos. Una vez más, el algoritmo de consenso Proof of Work utilizado en el
minado de Bitcoin ofrece un buen ejemplo de esta estructura de incentivos.
Cuando
Satoshi Nakamoto creó el marco de minado de Bitcoin, lo diseñó de forma premeditada como un proceso costoso que exigiera recursos intensivos. Debido a su complejidad y requerimientos computacionales, el minado PoW conlleva una considerable inversión de dinero y tiempo -independientemente de quién sea el nodo y dónde se encuentre. Por consiguiente, dicha estructura proporciona un fuerte “desincentivo” para las actividades maliciosas, y significativos incentivos para las actividades de minado honesto. Los nodos deshonestos o ineficientes serán rápidamente expulsados de la red blockchain, mientras que los mineros honestos y eficientes tendrán la posibilidad de obtener sustanciales recompensas de bloques.
De forma similar, este equilibrio de riesgos y recompensas garantiza también la protección frente a potenciales ataques, que pudieran socavar el consenso poniendo la mayoría de la tasa hash de una red blockchain en manos de un único grupo o entidad. Dichos ataques, conocidos como
ataques del 51 por ciento, pueden ser extremadamente dañinos si se ejecutan con éxito. Debido a la competitividad del minado Proof of Work y la magnitud de la red Bitcoin, la probabilidad de que un actor malicioso se haga con el control de la mayoría de nodos es extremadamente baja.
Además, el coste de la potencia computacional requerida para lograr el control del 51 por ciento de una red blockchain de gran tamaño sería astronómico -por lo que el hecho de demandar grandes inversiones para una recompensa potencial relativamente pequeña actúa como “desincentivo” directo. Este hecho contribuye a una característica de las blockchains conocida como Tolerancia a Faltas Bizantinas (BFT), que esencialmente es la habilidad de un sistema distribuido para continuar funcionando con normalidad, incluso en el caso de que algunos nodos hayan sido comprometidos o actúen de forma maliciosa.
Siempre que el coste de establecer una mayoría de nodos maliciosos resulte prohibitivo y existan mejores incentivos para actuar de forma honesta, el sistema será capaz de prosperar sin perturbaciones significativas. Vale la pena señalar, sin embargo, que las redes blockchain de menor tamaño son ciertamente susceptibles a “majority attacks”, debido a que la tasa hash consignada a las mismas es considerablemente más baja que la de Bitcoin.
Reflexiones finales
A través del uso combinado de teoría de juegos y criptografía, las blockchains son capaces de alcanzar elevados niveles de seguridad como sistemas distribuidos. Sin embargo, como ocurre con casi todos los sistemas, resulta crítico aplicar de forma adecuada ambos campos. Un equilibrio minucioso entre descentralización y seguridad es vital para construir una red fiable y efectiva de una criptomoneda.
A medida que los usos del blockchain continúen evolucionando, sus sistemas de seguridad también cambiarán, para así satisfacer las necesidades de distintas aplicaciones. Las blockchains privadas que actualmente se encuentran en desarrollo para iniciativas empresariales, por ejemplo, basan más su seguridad en el control de acceso que en los mecanismos de teoría de juegos o criptoeconómicos -que sin embargo, sí resultan indispensables para la mayoría de blockchains públicas.