Todo lo construido sobre Bitcoin que conoce hoy se debe a las primitivas que admite Bitcoin Script. ¿Qué quiero decir con primitivos? Los componentes básicos de un lenguaje de programación que puede utilizar para crear aplicaciones reales para hacer cosas. Nunca se diseñó ningún lenguaje de programación específicamente para una sola aplicación, es decir, para construir un programa. Están diseñados para admitir primitivas básicas, como operaciones matemáticas para manipular datos, o la creación de estructuras de datos básicas para almacenar datos de cierta manera, u operaciones para iterar a través de datos mientras los manipula.
Las primitivas básicas están diseñadas de tal manera que los desarrolladores puedan decidir cómo usarlas para crear una aplicación o programa real. El diseño central del lenguaje no se centra necesariamente en lo que la gente hará con él, solo que las primitivas del lenguaje no se pueden combinar de una manera que 1) no logre lo que el desarrollador está tratando de lograr sin que entiendan por qué, o 2) lograr lo que el desarrollador está tratando de hacer de una manera que sea perjudicial para el usuario final.
Nadie diseña un lenguaje de programación pensando desde el principio: “Oh, queremos permitir a los desarrolladores hacer A, B y C, pero impedirles por completo hacer X, Y y Z”. (Para los lectores más técnicos, me refiero al objetivo de lo que el desarrollador está construyendo, no a detalles técnicos de bajo nivel, como cómo se combinan las primitivas).
Bitcoin Script no es diferente de otros lenguajes de programación excepto en un aspecto: lo que significa que una determinada combinación de primitivas sea perjudicial para los usuarios finales. Bitcoin tiene dos propiedades que las aplicaciones informáticas generales no tienen: la cadena de bloques y lo que se ejecuta en ella debe ser completamente verificada por todos los usuarios que ejecutan un nodo completo, y toda la progresión del sistema está asegurada por incentivos financieros que deben permanecer en equilibrio. Aparte de estas consideraciones adicionales, Script es como cualquier otro lenguaje de programación: debe incluir primitivas que permitan a los desarrolladores crear cosas útiles para los usuarios que no se puedan combinar de manera perjudicial para los usuarios.
Todas las conversaciones sobre softforks para agregar convenios (nuevas primitivas) han degenerado, al menos en la esfera pública, en demandas ridículas sobre para qué se utilizarán. Esto no es algo posible de hacer y tampoco es algo importante en lo que debemos centrarnos. Lo que se construirá con Script es tangencial a los riesgos que deben analizarse; la forma en que las cosas construidas interactúan con la capa base es el mayor riesgo. ¿Qué costos impondrá y cómo se pueden limitar? (Esta es una gran parte de la propuesta Great Script Restoration de Rusty). ¿Cómo pueden esos costos en la capa base sesgar los incentivos? Esta es una gran parte del riesgo de MEV.
Estas cuestiones se pueden analizar sin centrarse obsesivamente en todo lo posible que se puede construir con una primitiva. Las primitivas pueden verse limitadas en la capa base en términos de costo y complejidad de verificación. Lo más importante es que, en términos de incentivos, lo que permiten las nuevas primitivas se puede comparar con cosas que ya son posibles de construir hoy. Si las nuevas primitivas simplemente mejoran el modelo de confianza para los usuarios finales de sistemas que ya pueden construirse y que tienen influencia en los incentivos del sistema, sin empeorar materialmente la influencia que tienen sobre esos incentivos, entonces no se introduce ningún riesgo nuevo real.
Estas conversaciones deben empezar a centrarse en lo que realmente importa: nuevas funciones versus daños al usuario final. Han descarrilado casi por completo, nuevamente en el ámbito público, no en círculos técnicos, en discusiones sobre si a los usuarios finales se les debe permitir hacer cosas o no. Esa no es la conversación que importa. Lo que importa es proporcionar una funcionalidad valiosa a los usuarios finales sin crear consecuencias perjudiciales.
La gente necesita concentrarse en los primitivos y no en los gansos salvajes que escuchan a lo lejos.
Este artículo es un Llevar. Las opiniones expresadas son enteramente del autor y no reflejan necesariamente las de BTC Inc o Bitcoin Magazine.