Por qué menos puede ser más al construir Web3

Para construir sistemas Web3 seguros y resistentes, la transparencia por sí sola no es suficiente. Al poner mayor énfasis en la simplicidad, podemos hacer que la revisión por pares del código sea más efectiva y minimizar las brechas de seguridad en el espacio Web3.

El auge y la caída de la seguridad a través de la oscuridad

Estamos acostumbrados a la idea intuitiva de que la seguridad está de alguna manera entrelazada con el secreto. Mantenemos nuestras contraseñas en secreto y nuestros objetos de valor ocultos. Durante décadas, los ingenieros de software siguieron un enfoque similar a la ciberseguridad. El código fuente del software de computadora se mantuvo privado. En caso de una vulnerabilidad, se lanzaría un parche de seguridad. Esta fue y sigue siendo una visión de la seguridad: "seguridad a través de la oscuridad" y tenemos que confiar en que los parches que se envían, sin nuestro conocimiento o consentimiento, a nuestras computadoras y teléfonos harán lo que se supone que deben hacer.

Los defensores del software de código abierto adoptaron un punto de vista radicalmente diferente. Argumentaron que hacer que el código sea transparente y esté disponible públicamente significaría que los desarrolladores podrían revisar y mejorar el código y tendrían los incentivos para hacerlo. Bajo esas condiciones, los problemas de seguridad podrían identificarse, corregirse y revisarse por pares.

El asombroso crecimiento de los sistemas de datos de código abierto

Desde entonces, el software de código abierto ha ganado una amplia penetración en el mercado. Aunque solo un pequeño porcentaje de usuarios ejecuta distribuciones de Linux en sus PC o portátiles, en segundo plano, está alimentando silenciosamente gran parte de Internet. Un estimado El 96% del millón de servidores web más grandes del mundo se ejecutan en Linux, que también poderes 90% de toda la infraestructura de computación en la nube. Cuando traes Android a la imagen: la bifurcación de Linux correr en más del 70% de los teléfonos inteligentes, tabletas y otros dispositivos móviles en todo el mundo: está claro que la Internet moderna, tal como la conocemos, está enormemente influenciada por los sistemas de código abierto.

Por supuesto, la presencia omnipresente del código fuente abierto también se extiende a Web3. Las redes públicas de blockchain, incluidas Bitcoin y Ethereum, a menudo citan sus raíces de código abierto.

Para la seguridad de Web3, la transparencia por sí sola no es suficiente

El problema es que una mayor transparencia no garantiza necesariamente una mayor seguridad. Claro, la popularidad de Linux ha hecho maravillas con el código fuente abierto y ciertamente ha mejorado su seguridad. Pero, ¿realmente hay muchos ojos en el código de la cadena de bloques?

En muchos aspectos, el escrutinio del código fuente abierto es similar a un bien público en economía. Como cualquier recurso de acceso público como el aire limpio o la infraestructura pública, todos se benefician. Sin embargo, los usuarios individuales pueden verse tentados a usar el recurso sin contribuir a sus costos de mantenimiento. En esta analogía, "viajar gratis" significa usar un código base existente mientras se asume que alguien más invertirá el esfuerzo y el tiempo para verificar si hay vulnerabilidades.

El año pasado se conoció como el año de los hackeos de puentes de cadena cruzada. Esos ataques fueron claras señales de advertencia de que el desarrollo extenso y vagamente coordinado de un Web3 supuestamente transparente aún está en el filo de la navaja.

La ventaja de la comunidad de desarrollo de Web3 es su entusiasmo por compartir, adoptar y construir. La desventaja es el potencial de un enorme daño por el problema del free rider. Al suponer que se puede confiar en las soluciones de otros para mezclar y combinar, las superficies de ataque y las dependencias de contratos inteligentes se vuelven demasiado difíciles de rastrear. Un escéptico razonable o un adoptador tardío podría concluir que este movimiento de código abierto no es como el anterior: hay muy pocos dedicados a hacer contribuciones rigurosas y diligentes, mientras que las recompensas son para aquellos que hacen las afirmaciones más audaces e impresionantes, ya sea que el trabajo pueda resistir el escrutinio. O no.

Únete a la comunidad donde puedes transformar el futuro. Cointelegraph Innovation Circle reúne a los líderes de la tecnología blockchain para conectarse, colaborar y publicar. Aplica hoy

La trampa de la complejidad

El sesgo de complejidad es un término usado para describir una falacia lógica por la cual las personas sobrevaloran la utilidad de conceptos o soluciones complejos sobre alternativas más simples. A veces, es fácil quedar tan deslumbrado por la aparente sofisticación técnica de una solución que no nos detenemos a preguntarnos si podría haber una manera más fácil.

Debido a que blockchain es difícil de entender, es fácil entusiasmarse con alguna idea, como un puente de cadena cruzada, y llevar su dificultad a otro nivel, llamémoslo "complicado". 

Sin embargo, la mayoría de los proyectos de blockchain no son complicados, son complejos.

Según Harvard Business Review, los sistemas complicados tienen “muchas partes móviles, pero funcionan de manera pautada”. Cuando piensas en la red eléctrica de una región, por ejemplo, es claramente muy complicado y abarca muchas partes constituyentes. Sin embargo, las partes del sistema tienden a actuar de manera predecible: cuando enciende el interruptor de la luz en su sala de estar, puede esperar que entre luz la gran mayoría del tiempo. Si se les da el mantenimiento apropiado, los sistemas complicados pueden ser altamente confiables.

Por el contrario, los sistemas complejos se caracterizan por características que "pueden operar de manera pautada pero cuyas interacciones cambian continuamente". Esta interactividad hace que los sistemas complejos sean más impredecibles. El grado de complejidad de un sistema está determinado por tres características clave: la multiplicidad o número de elementos que interactúan, cuán interdependientes son los elementos y el grado de diversidad o heterogeneidad entre ellos.

En caso de que sea necesario decirlo, casi todos los puentes y soluciones de cadenas cruzadas son ejemplos de sistemas altamente complejos. Las derrotas en el 2022 Wormhole y BSC los hacks de puentes, $325 millones y $568 millones respectivamente, ilustran las recompensas relativas de aprovechar un exploit en lugar de arreglarlo de forma preventiva.

Sencillez

Se siente como si Web3 debería ser complejo. Es imposible estimar la verdadera escala y el alcance de la nueva actividad económica por venir. Los valores Web3 de individualismo e inclusión económica sugieren permutaciones y combinaciones que crecerán a medida que nazca cada persona. ¿Quién sabe lo que está por delante? ¿No deberíamos abrazar la complejidad?

Bueno, sí y no.

La infraestructura de Web3 no tiene por qué ser impredecible. De hecho, al igual que la red eléctrica, sería mejor que no lo fuera.

Para que la arquitectura blockchain se vuelva más segura y genuinamente transparente, debemos superar algunos de los sesgos que nos han hecho creer. Antes de seguir la nueva tendencia, quizás deberíamos examinar la deuda técnica existente y apostar por la sencillez o, como mucho, la complicación. Se necesita disciplina para construir para las edades, en este caso, para Web3 y más allá.

Stephanie So es CEO y cofundadora de Adicto, una plataforma de Capa 0 sin contratos inteligentes, multicadena. Es microeconomista y analista de políticas.

Este artículo fue publicado a través de Cointelegraph Innovation Circle, una organización examinada de altos ejecutivos y expertos en la industria de la tecnología blockchain que están construyendo el futuro a través del poder de las conexiones, la colaboración y el liderazgo intelectual. Las opiniones expresadas no reflejan necesariamente las de Cointelegraph.

Obtenga más información sobre Cointelegraph Innovation Circle y vea si califica para unirse

Fuente: https://cointelegraph.com/innovation-circle/why-less-may-be-more-when-building-web3