Seguridad y privacidad en criptomonedas ¿Qué tan seguros estamos?

Seguramente sabrás que la blockchain es una tecnología que ofrece un alto nivel de seguridad. De hecho, la seguridad en blockchain es tal, que prácticamente ninguno de los grandes proyectos ha visto comprometida la misma de forma directa. Y se destaca de forma directa, porque hackear servicios secundarios, no es lo mismo que hackear la base de esos servicios.

Para ponerlo en un contexto más simple, imagina que tienes un computador con un sistema operativo y varias aplicaciones. Si un ciberdelincuente hackea una de esas aplicaciones, pero no afecta en nada el funcionamiento del sistema operativo, entonces podemos decir, que el sistema operativo es seguro y solo la aplicación es la que tiene la vulnerabilidad.

Pues bien, esto es precisamente lo que ha pasado en la tecnología blockchain. Han hackeado exchanges, monederos web, aplicaciones descentralizadas, servicios DeFi y más. Acciones que ciertamente han significado pérdidas millonarias. Pero la base tecnológica de esos servicios, la blockchain como tal, sigue funcionando tal cuual fue programada. Si trasladamos esto a un funcionamiento continuo e ininterrumpido de 11 años, como en el caso de Bitcoin, y que en todo ese tiempo su blockchain no haya violentada de alguna forma, podemos decir que la seguridad de su solución es muy buena. Lo mismo es aplicable a otros grandes proyectos como Ethereum, EOS, DASH, Bitcoin Cash y demás.

Si eres nuevo en el mundo blockchain seguramente notarás que este panorama es muy distinto al que muestran muchos medios de comunicación en el mundo. La mayoría de ellos prefieren un título sensacionalista y un texto que muestra el desconocimiento de la tecnología como tal. Entonces queda preguntarnos ¿Qué hace que la tecnología blockchain sea tan segura? Pues bien veamos los elementos que hacen posible todo esto.

Descentralización

El principal elemento que agrega seguridad a la tecnología blockchain es la descentralización. Que la red esté formada por miles de nodos ubicados en distintas partes del mundo, y que la funcionalidad del sistema dependa de estos nodos, agrega un nivel de seguridad, resistencia a fallos y resistencia a la censura que otras opciones no son capaces de proveer.

Para darte un ejemplo claro de la importancia de la descentralización, examinemos un curioso evento. En 2016, la empresa PayPal un conocido servicio de pago en línea dejó de funcionar para buena parte del mundo. El hecho sucedió debido a un ataque orquestado por un ciberdelincuente que usó una red de bots para atacar al proveedor de servicios de PayPal, y como resultado toda la red de servicios de la empresa cayó por cerca de 2 horas. PayPal no pudo recuperar su funcionamiento normal hasta que el ataque no se detuvo, y todo ello a causa de su enorme centralización y dependencia de su proveedor de servicios. Como resultado millones de dólares en pérdidas y millones de usuarios que no pudieron usar el servicio.

En contraste este tipo de ataques en redes como Bitcoin o Ethereum no tendría ningún efecto. Si delincuentes hicieran un DDoS a estas redes el ataque no solo sería infructuoso, sino también costoso. Quizás lleguen a sacar de servicio a varios nodos de la red, pero mientras el resto siga funcionando, la red seguirá trabajando como si nada. Lo que permite que sigamos usando la red sin mayores problemas. Allí la enorme diferencia entre redes descentralizadas y centralizadas, y eso es solo un pequeño ejemplo.

Relacionado: Blockchain original y Bitcoin: diferentes caminos hacia la descentralización

Transparencia y trazabilidad

Otro punto importante de la seguridad en blockchain es la transparencia. Cuando hablamos de transparencia no solo hablamos del hecho de que podamos ver todo el historial de la blockchain de forma libre. Sino que toda la data de la red, de su funcionamiento, de su software y su desarrollo está disponible públicamente.

En contraste otras plataformas de pago son privativas en todo sentido, no podemos saber cómo funciona “la caja negra mágica” que hace posible estos servicios.

¿Qué nos permite esto? Pues en primer lugar conocer a fondo cómo funciona el sistema, conocer sus fortalezas, detectar su puntos débiles, y lo más importante mejorar el sistema, como parte de una evolución continuada del mismo. Al mismo tiempo, nos permite verificar de forma personal que el funcionamiento de la red sea el esperado, y también permite auditar el sistema de principio a fin. Todo esto suma en cuanto al nivel de seguridad que la tecnología blockchain puede ofrecer a sus usuarios.

Criptografía

La base de la tecnología blockchain es la criptografía y esta la que permite asegurar que todo lo que suceda en la blockchain pueda ser verificado. Todos los procesos de funcionamiento de una blockchain esconden el uso de criptografía desde su más bajo nivel.

Por ejemplo, cuando se realiza una transacción se usa criptografía para desarrollar un script de pago que luego es firmado criptográficamente. Esto garantiza que solo una persona pueda generar un pago usando monedas que están en su poder. Lo mismo ocurre cuando se mina o genera un bloque, o cuando realizamos alguna operación de interacción con aplicaciones descentralizadas (DApps). En definitiva, todo en blockchain esconde entre sus orígenes el uso de criptografía en algún nivel, un hecho que nos permite garantizar la seguridad de dichas operaciones.

Para ser más claros, las funciones criptográficas que usa blockchain han sido ampliamente probadas por muchos años demostrando su enorme potencial para proteger la información que manejan. De hecho, romper estos algoritmos resultaría en la práctica imposible con la tecnología actual.

Inmutabilidad y Consenso

Otro aspecto importante en la construcción de la seguridad en la tecnología blockchain viene de la mano del consenso y la inmutabilidad de nuestras acciones. En primer lugar, el consenso nos garantiza que la red ha tomado una operación y en su conjunto han acordada validar o no la misma. En segundo lugar, la inmutabilidad nos garantiza que una vez la red ha llevado a la blockchain una información, esta no puede ser alterada de ninguna manera.

La combinación de estos conceptos permite crear una base sólida para la seguridad. Por un lado, si la red alcanza un consenso de aceptar una transacción y está luego es almacenada en la red, podemos estar seguros que no podrá ser modificada o alterada. Y aunque hay vectores para atacar esta funcionalidad (como el ataque de 51%) llevar a cabo los mismos es tan complejo y costoso que simplemente no vale la pena sopesar esa opción.

Gobernanza

La gobernanza o reglas de participación en el desarrollo de la tecnología blockchain también juega un papel importante en la seguridad. Recordemos que la mayoría de los proyectos blockchain actuales son proyectos de software libre, lo que significa que cualquier persona en el mundo puede contribuir en el desarrollo de los mismos. Sin embargo, sin el control necesario esto podría resultar contraproducente para el proyecto. Resulta irónico, que la blockchain aplauda la descentralización de la red, pero el desarrollo de la misma tenga distintos grados de centralización, que muchas veces se ve reducido a pequeños y cerrados grupos de desarrollo.

Sin embargo, cada plataforma establece sus reglas de participación, operación y gobernanza. Por ejemplo, pueden existir plataformas públicas que son accesibles sin restricciones, como por ejemplo Bitcoin o Ethereum. O pueden existir plataformas privadas o autorizadas que condicionan la participación dentro de la misma. En cualquiera de los casos, el esquema de participación y gobernanza elegido dictamina la forma en cómo se desarrolla el proyecto y quien puede contribuir a dicho desarrollo. Así, por ejemplo, proyectos como Bitcoin o Ethereum someten a decisión de la comunidad muchas decisiones de desarrollo, a la vez, que un pequeño equipo de desarrollo tiene la capacidad de desarrollar e implementar ideas de forma directa sobre todo en temas de seguridad.

Protección contra ataques

Otro punto a favor de la seguridad en blockchain es el desarrollo activo de protecciones contra distintos vectores de ataques a la tecnología. Como sabemos la seguridad en el mundo digital nunca es 100% garantizado. Los programas pueden tener errores, los lenguajes de programación pueden llevar a fallos también, los sistemas criptográficos y los otros tantos elementos que intervienen en la tecnología pueden dejar puerta abierta para los ataques.

Esta es una situación que conocen muy bien los desarrolladores de blockchain y criptomonedas, y de hecho, son transparentes con las mismas. Muchos proyectos dejan en claro posibles esquemas de ataque y vulnerabilidades, pero al mismo tiempo, indican formas de evitarlos y protegerse. Esto incluye ataques de tecnología futuras que aún están en desarrollo, como la computación cuántica. Así en este constante flujo de estudio de vulnerabilidades y desarrollo de soluciones, podemos ver una mejora enormemente en la seguridad global de los proyectos blockchain.

Relacionado: Promover un ataque de 51% en Bitcoin es costoso