Seguridad en Blockchain: Mitos y verdades
La seguridad ha sido siempre una de las principales premisas en pro de la tecnología blockchain. De hecho, en cierta forma, la seguridad se ha convertido en el primer bastión de defensa de esta tecnología que ahora conquista cada vez más espacios.
Y no es para menos, la seguridad en blockchain es excelente, pero alcanzarla conlleva un arduo trabajo. Además, no es una solución mágica, porque como en todo sistema informático siempre reina la premisa de la ciberseguridad:
No existe ningún sistema informático 100% seguro.
Esa es la dura realidad del mundo informático, y blockchain, siendo una tecnología informática, no está exenta a esta regla.
Entonces ¿Por qué nuestra confianza en su seguridad? ¿Por qué se han creado tantos mitos alrededor de esta tecnología? ¿Cuál es la verdad? En este artículo, intentaremos mostrarte varios de los mitos que se han creado alrededor de la tecnología blockchain.
Los mitos de la seguridad en blockchain
Mito #01: Blockchain es inhackeable
Uno de los primeros mitos que solemos ver en el mundo blockchain es sobre la inhackeabilidad de la tecnología blockchain. La verdad es que esto no es 100% cierto. Ciertamente la tecnología blockchain presenta un alto nivel de seguridad, y más si la comparamos con cualquier tipo de sector que se basa en tecnologías centralizadas, pero catalogarla de “inhackeable” sería faltar a la verdad.
Bitcoin, la primera criptomoneda del mundo nos ha demostrado varias veces que tiene errores que pueden ser peligrosos para todos. Por ejemplo, varios de sus OP_CODES se desactivaron por tener graves problemas de seguridad, que si bien no fueron explotados, abrían las puertas a hackear dicho sistema y hacer mucho daño en el mismo.
Por ejemplo, el ataque Netsplit en Bitcoin permitía generar a conciencia doble gastos incluso en transacciones con 1 confirmación. Este error fue conocido como un Bitcoin-killer, debido al enorme problema de seguridad de fondos que acarreaba. Sin embargo, fue reparado rápidamente por la comunidad. Como este caso hay muchos, un total de 46 errores graves reportados, y eso solo en Bitcoin. Existen muchos proyectos blockchain que pueden tener más o menos errores, y todo ellos son una ventana para hackear los mismos.
Entonces ¿Qué nos protege de la catástrofe en blockchain? Sencillo, la seguridad de que la comunidad detectará esos errores y los corregirá, como siempre ha hecho. Y en el peor de los casos, en caso de que ocurra un error que no haya sido detectado antes de tiempo, siempre puede consensuar la red volver a un bloque donde eso no haya ocurrido.
Eso además del trabajo continuo por desarrollar medidas de seguridad que eviten graves problemas, y la siempre confiable descentralización, que nos permitirá reconstruir todo en caso de que lo peor llegue a suceder.
Pero además podemos estar seguros de algo, que un proyecto como Bitcoin haya acumulado 46 errores graves, es un logro increíble, porque en contraste Windows 10 (desarrollado por una de las corporaciones que dominan el mundo) en solo un periodo de 4 años acumula más de 8100 errores.
Mito #02: Blockchain es absolutamente inmutable
Otro mito común en el mundo blockchain es la “absoluta inmutabilidad” de la blockchain. Algo que no es cierto.
La verdad es que la blockchain se puede rectificar o modificar bajo condiciones muy específicas y eso lo sabemos quienes hayamos leído sobre el Ataque del 51%. Este ataque tiene la capacidad de modificar la blockchain de forma significativa a pesar de los intentos que hagamos para evitarlo, y todo ello, dentro de los parámetros permitidos por el protocolo, porque después de todo, la mayoría de los nodos (el 51%) ha decidido que así sea.
El ataque ya lo hemos visto en acción, Ethereum Classic (ETC) hace poco sufrió otro ataque de este tipo. Bitcoin Gold fue otra víctima reciente de este tipo de ataques, y otras criptomonedas constantemente lo sufren en la actualidad.
Pero ¿No se supone que Blockchain es inmutable? La respuesta a esto es: Lo es bajo ciertas circunstancias. Si una red blockchain tiene su poder distribuido entre sus nodos de forma que ninguno de ellos tenga la mayoría de la potencia en sus manos, entonces esa red será segura. En caso contrario, es una receta para el desastre.
De aquí la gran importancia de que existan muchos nodos, y distribuidos por el planeta. Si deseas ayudar a la seguridad de Bitcoin, te enseñamos a instalar tu nodo aquí.
Sin embargo, esta regla no tiene porque ser cierta todo el tiempo, existen blockchains que pueden reescribirse si se llega a un consenso a dicha necesidad, incluso si ese consenso es alcanzado bajo circunstancias poco claras. El ejemplo lo vemos en Ethereum, que tras el robo de The DAO reescribió parte de su blockchain para volver atrás el robo y rescatar los fondos.
Un ejemplo de que la inmutabilidad blockchain ciertamente es una propiedad del sistema, pero que sus integrantes pueden apagar si así lo desean.
Mito #03: Toda blockchain es altamente descentralizada
Este es quizás el peor mito de todos, y se debe a que es mal entendida (o mal usada) la descentralización en los proyectos blockchain. Y muchos proyectos, y empresas, usan la palabra “Blockchain” para confundir, intentando transmitir que son una red descentralizada cuando no lo son.
Por ejemplo, Bitcoin es una red bastante descentralizada, aunque desarrolladores como Luke Dashjr creen que todavía falta mucho camino por recorrer para alcanzar la “zona segura de descentralización”, esa zona donde los usuarios de Bitcoin recurren a sus propios nodos en lugar de terceros para realizar sus operaciones. Eso último puede sonar utópico, pero sería el ejemplo perfecto de descentralización absoluta. Aun así Bitcoin es un buen ejemplo de descentralización.
Sin embargo, si elegimos otros proyectos como Ripple, Stellar, Tether, Bitcoin SV, Tron, UNUS, IOTA, Compound, BAT, Theta,… esa descentralización se pierde. Sí, estos proyectos son blockchain, algunos con gran renombre y gran nivel económico, pero todos y cada uno de ellos tienen de descentralizado lo que de descentralizado tiene un Banco.
En pocas palabras, son proyectos que usan las palabras “blockchain” y “descentralización”, para disfrazar una centralización casi absoluta existente sobre sus sistemas. Y no hablamos de centralización a nivel de desarrollo, sino también a nivel de nodos, mineros y demás estructura que hace posible su funcionamiento.
Por supuesto, las implicaciones en seguridad en este punto son inmensas. Por poner un ejemplo, son muchos los que justifican que la decisión de Craig Wright de aumentar el tamaño de los bloques de BSV hasta los 2 GB, tarde o temprano, tendrá un profundo impacto en la seguridad y distribución de los nodos de esta criptomoneda, cayendo en una constante y más férrea centralización, echando por tierra toda la seguridad del modelo blockchain.
En tal sentido, este mito cae por la clara evidencia de que un “proyecto blockchain” no es automáticamente descentralizado por ser blockchain.
Mito #04: La criptografía hace que blockchain sea segura
Este mito es quizás uno de los más complejos de todos de entender. La razón de esto es porque se trata de una verdad a medias. La criptografía ciertamente es la base de la seguridad blockchain, pero la criptografía se rompe constantemente.
Un ejemplo que tumba este mito lo podemos ver en IOTA. Esta criptomoneda, está basada en la tecnología DAG (Grafos Acíclicos Dirigidos) y usa una función criptográfica que se consideraba segura. Sin embargo, un hacker logró romper dicho algoritmo y como consecuencia miles de usuarios se vieron afectados, con robo de fondos y acceso a las semillas de sus monederos. Un grave problema donde la criptografía no fue suficiente para mantener la seguridad. Como resultado negativo, la red IOTA estuvo fuera de servicio por 14 días hasta que se soluciono el problema.
En Bitcoin, algo parecido sucedió. Gregory Maxwell desconfiando de OpenSSL decidió abandonar el uso de este proyecto para construir su propia librería de criptografía, y todo porque OpenSSL era un proyecto con muchos problemas de seguridad largamente conocidos que habían afectado a miles de servicios en Internet, con problemas como Heartbleed, Logjam y FREAK.
No obstante, el modelo de funcionamiento de Bitcoin, la gestión de su desarrollo y su activa comunidad es una fórmula de éxito para combatir los problemas que pudieran venir por esta línea.
Mito #05: Los smart contracts son la herramienta de programación definitiva
Los smart contracts son vistos muchas veces como el mayor avance alcanzado gracias a la blockchain, y es correcta esa visión. Sin embargo, los smart contracts no son inherentemente seguros por el hecho de ejecutarse en una blockchain, como muchos hacen ver, por el contrario, un smart contract público está sujeto a un escrutinio público, y si entre ese público hay actores maliciosos que logran ver una vulnerabilidad, la explotaran para obtener un rédito.
Esa es la realidad del sector DeFi en la actualidad y una realidad que ha causado mucho revuelo debido a los robos multimillonarios que han podido realizarse por medio de estas plataformas. Lo peor, es que una vez que subes un smart contract a una plataforma, borrarlo es imposible (si cumplen aquello de la inmutabilidad blockchain), así que el proceso de corregir el error es mucho más complicado de realizar. Mientras tanto, la puerta está abierta para el hacker y eso es un fallo de seguridad imperdonable.
Sí, los smart contracts son muy potentes, pero su seguridad está muy lejos de ser perfecta, de hecho, podríamos decir que aún es un trabajo en progreso, como podemos ver a plataformas como Ethereum, donde buscan mejorar constantemente su lenguaje para habilitar el desarrollo más seguro de este tipo de herramientas.