- 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
Cómo la capa P2P de Bitcoin obtuvo un aumento de velocidad en la última versión CORE
El desarrollador financiado por el MIT, Cory Fields, analiza su trabajo revisando el código para la capa peer to peer de Bitcoin Core, una tarea que no fue nada fácil.

“Satoshi nos dejó una base de código monolítica.”
Esa fue la forma en que el desarrollador de Bitcoin , Cory Fields, dijo que, a pesar de la innovación que a menudo se le atribuye, el código de Bitcoin Core es una especie de desastre detrás de escena.
Es un problema con el que Fields y otros han estado lidiando desde al menos 2015, cuando...presentó sus planes para moverse alrededor de una parte del código: la capa peer-to-peer.
El problema que suelen encontrar los desarrolladores es que los componentes no están perfectamente separados. Por lo tanto, si los desarrolladores modifican algo que solo debería afectar una parte de Bitcoin y su funcionamiento, explicó Fields, podría afectar involuntariamente a otra, por ejemplo, la validación, el mempool, la billetera o el P2P. Por un ONE , esto dificulta que los nuevos Colaboradores de Bitcoin Aprende los fundamentos.
Así, en proyectos como el de Fields yconsenso de la libertad (un proyecto en curso para permitir que las implementaciones alternativas permanezcan en consenso con la red Bitcoin ), el objetivo es separar el código en fragmentos más distintos en un intento de hacer que sea más fácil y menos necesario para los desarrolladores comprender cómo encajan las piezas.
Fields, cuyo trabajo está financiado por la Iniciativa de Moneda Digital del MIT, ha estado trabajando en particular en la ruptura del código base peer to peer.
Gran parte de su trabajo aparecerá por primera vez en Bitcoin Core. última versión de software.
Fields le dijo a CoinDesk:
"Hasta donde sé, esta es la primera revisión a gran escala del código peer-to-peer".
Mencionó, sin embargo, que con el tiempo muchos desarrolladores, como Jonas Schnelli y Matt Corallo, han contribuido a la capa y, lo que es más importante, muchos más han participado en la revisión y prueba de los cambios.
La capa peer to peer se ocupa de las conexiones entre los miles de nodos de Bitcoin en la red (quizás más de 50.000, aunque es difícil obtener recuentos exactos), que están constantemente "hablando" entre sí, pasando información a medida que los usuarios envían bitcoins o los mineros crean nuevos bloques.
Explora de errores
Una parte complicada es que la red Bitcoin está valuada en aproximadamente 19 mil millones de dólares, lo que significa que los cambios en el código subyacente deben realizarse con sumo cuidado.
Por esa y otras razones, la refactorización no ha sido un proceso fácil. Ni siquiera para Fields, quien es ONE de los más activo Colaboradores de Bitcoin CORE. ("Paso casi todas mis horas de vigilia en Bitcoin", dijo).
Primero, intentó crear una capa independiente desde cero. Ese intento fracasó estrepitosamente.
Sin embargo, se podría decir que su enfoque posterior de trabajar para mejorar la base de código existente funcionó mejor de lo esperado, lo que condujo a un Explora de error de la “era Satoshi”.
"Cuando comencé a dividir las cosas, noté algo extraño en el uso del ancho de banda de Core durante la descarga inicial del bloque", dijo Fields.
El problema era que, cuando un nodo descargaba bloques de otro nodo, la velocidad a la que se transmitían los bloques a veces era rápida, otras veces lenta y a niveles inesperados.
Investigando más a fondo, él y otros desarrolladores determinaron que los nodos se negarían obstinadamente a enviar y procesar datos simultáneamente (aunque esto es una simplificación excesiva). El nodo solo realizaría un proceso a la vez.
Corrección de velocidad
La solución a la que finalmente llegó el equipo se vio debutada en el reciente lanzamiento del código de Bitcoin CORE , cambiando la velocidad con la que los nodos pueden pasarse información entre sí.
“En particular, la capa p2p obtiene una enorme aceleración”, dijo Fields.
Realizó algunas pruebas para comparar la última versión de Bitcoin (0.13.2) con la nueva versión con las mejoras (0.14.0), observando nodos que se implementaron en la nube en instancias de Amazon EC2 con dos CPU y 4 GB de RAM.
Las pruebas mostraron una duplicación de la velocidad, al menos al comparar el rendimiento del envío de datos entre dos nodos v0.13.2, versus entre dos nodos v0.14.0.

El problema aquí es que, según Fields, esto podría resultar en una mejora del rendimiento de BIT menos del doble en la red real.
Beneficios duraderos
En la actualidad, la capa peer-to-peer está prácticamente separada del resto.
Vale la pena repetir que, dejando de lado las mejoras de rendimiento mencionadas anteriormente, la mayoría de los cambios no son los que los usuarios notarán, sino que son más bien una ventaja para los desarrolladores.
Dicho esto, la esperanza es que puedan tener un impacto a más largo plazo.
"Espero que esto nos permita mejorar el P2P a un ritmo más rápido ahora", dijo Fields.
Por ejemplo, habría sido más difícil realizar los cambios incluidos en la última versión de CORE si Fields no hubiera trabajado ya para aislar el código.
Él dijo:
“Hubo un cambio relativamente simple que se pudo realizar a tiempo para la versión 0.14 y que antes habría sido mucho más complicado”.
Marcación rápida Imagen vía Shutterstock. Imagen de Cory Fields vía CoinDesk.
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.
