- Volver al menú
- Volver al menúPrecios
- Volver al menúInvestigación
- Volver al menúConsenso
- Volver al menú
- Volver al menú
- Volver al menú
- Volver al menúWebinars y Eventos
Desenredando Bitcoin: Por qué Russell Yanofsky está desmantelando el código más antiguo de las criptomonedas
Un desarrollador está trabajando silenciosamente en dividir la base de código de Bitcoin, un esfuerzo que apunta a dar a los usuarios más flexibilidad y a los desarrolladores más claridad.
Los desarrolladores a menudo usan palabras como "monolítico", "blob" y "enredado" para describir el código que sustenta a Bitcoin.
Estas palabras reflejan lo difícil que puede ser comprender el código y, por lo tanto, trabajar con él, y no es precisamente una idea reconfortante para una red que gestiona 61 000 millones de dólares de inversores. Esto no significa que Bitcoin no funcione —sí funciona—, pero el estado del código base deja mucho que desear, tanto para los usuarios que podrían desear mayor flexibilidad como para los desarrolladores que desean mejorarlo.
Entonces, aunque cambios como la optimización del código Segregated Witness (SegWit) y la filosofía de las llamadas actualizaciones de "bifurcación dura" han atraído la mayor atención últimamente, varios desarrolladores de Bitcoin están trabajando bajo el radar. desenredarLa arquitectura desordenada de Bitcoin.
Russell Yanofsky de Chaincode, por su ONE, está intentando abordar una parte del problema con algo llamado "separación de procesos" en el código de Bitcoin CORE , la opción de software más utilizada.
Yanofsky le dijo a CoinDesk:
Bitcoin tiene un código fuente antiguo. Ha cambiado mucho con el tiempo. Hay muchas partes en las que, si lo escribiéramos todo desde cero, probablemente haríamos las cosas de forma diferente. Pero como tenemos este legado de código, tenemos que encontrar maneras de mantenerlo.
Deshazte del monolito
Para comenzar a comprender la técnica de separación de procesos de Yanofsky, primero debes entender que el software de Bitcoin CORE está compuesto de muchas piezas diferentes y dos llamados "procesos" que se agrupan de manera, según algunos, aleatoria.
El primer proceso se llama "bitcoind" y, según Yanofsky, está compuesto de varias cosas: el código peer-to-peer, que conecta los nodos de la red; el código de validación, que comprueba si las transacciones y los bloques que recibe un nodo son válidos; y el código de la billetera, que almacena las claves privadas de un usuario.
El segundo proceso, "bitcoin-qt", ejecuta todas esas cosas con la adición de una interfaz de usuario para que los usuarios con poca experiencia técnica puedan ejecutar un nodo completo sin usar la línea de comando.
Yanofsky cree que sería mejor separar algunos de estos aspectos del código. Para ello, está creando un nuevo proceso, "bitcoin-walletd", que separa el código de la billetera de bitcoind. Además, está eliminando todo el código de bitcon-qt, excepto la interfaz de usuario.
Las diapositivas de una presentación de BitDevs en la ciudad de Nueva York esta semana muestran la diferencia en la estructura:


A grandes rasgos, podría parecer que los distintos procesos de Bitcoin ya están completamente separados, pero en términos de codificación no lo están. Por lo tanto, Yanofsky está construyendo barreras entre los diferentes componentes.
De esta manera, una vez terminado el código, la parte de la billetera no podrá tocar otras partes del código.
Mezclar y combinar
¿Qué significaría esto para los usuarios? Mayor flexibilidad, principalmente.
Los usuarios pueden mover elementos como un rompecabezas, combinando las piezas que Yanofsky va separando. Por ejemplo, si la billetera no está vinculada al nodo, los usuarios podrían usarla con cualquier nodo de Bitcoin .
"Tal vez si estás usando una billetera antigua que no admite nuevas funciones y no quieres deshacerte de ella, o no quieres transferir tu dinero", la opción de llevar la billetera a un nodo diferente podría ser útil, dijo.
De la misma manera, es posible que los usuarios quieran utilizar la interfaz de usuario de bitcoin-qt con diferentes nodos bitcoind.
"Básicamente, podrías tener un nodo de Bitcoin ejecutándose en un servidor en algún lugar. Quizás solo quieras ejecutar la interfaz gráfica para verificar su uso de ancho de banda o sus conexiones peer-to-peer", dijo Yanofsky.
Creando más opciones para los usuarios, algo que los entusiastas de Bitcoin están particularmente atentos a, es por eso que Yanofsky está trabajando en el proyecto.
Si bien admite que sus cambios podrían ralentizar un poco las cosas o hacer que la depuración del código sea más difícil para los desarrolladores, el proyecto ha recibido la bendición de GitHub de varios Colaboradores de Bitcoin CORE , incluido el mantenedor principal Wladimir J. van der Laan y el colaborador Daniel Cousen.
Y eso se debe en parte a que las ventajas no son sólo para el usuario, dijo Yanofsky, y agregó:
"Tiene características visibles para el usuario, pero también implica un importante componente de limpieza arquitectónica y de código".
Cuello de botella de la revisión
Si bien Yanofsky dijo que casi ha terminado de escribir el código para la actualización principal, todavía hay una serie de cosas que deben suceder antes de que pueda agregarse oficialmente a Bitcoin CORE.
"El mayor problema con las reseñas es captar la atención de la gente", dijo.
Dado que varios desarrolladores de Bitcoin de código abierto tienen que revisar cada cambio de código antes de poder agregarlo, y hay un número limitado de desarrolladores con la experiencia para revisar los cambios de código, el proceso podría ser ONE.
Yanofsky también espera que algunos otros cambios, como las incorporaciones de código peer to peer de Cory Fields y los cambios de código de billetera de su colega de Chaincode, Matt Corallo, también tengan prioridad sobre su cambio de separación de procesos.
"Ahora mismo, el enfoque no está en esta área", dijo Yanofsky. "Nuestra mayor prioridad es mejorar la compatibilidad con SegWit. Esta función tendrá que esperar".
Pero aunque todavía no está en la lista de prioridades, el trabajo aún promete ser un cambio importante, como lo destaca el comentario del director de tecnología de Blockstream, Greg Maxwell, sobre elGithub de Yanofsky:
"Creo que deberíamos haber hecho algo así hace mucho tiempo".
Aviso legal:CoinDesk es una subsidiaria de Digital Currency Group, que tiene participación accionaria en Blockstream.
Legoimagen vía Shutterstock
Alyssa Hertig
Alyssa Hertig, periodista y periodista especializada en Bitcoin y la red Lightning, colabora en CoinDesk . Su trabajo también ha aparecido en VICE, Mic y Reason. Actualmente escribe un libro que explora los entresijos de la gobernanza de Bitcoin . Alyssa posee algunos BTC.
