Precio de Bitcoin Precio de Bitcoin
Ctrl+D Precio de Bitcoin
ads
Casa > NEAR > Info

Michael Ford, desarrollador de Bitcoin Core: Las últimas mejoras en el sistema de compilación de BTC Core.

Author:

Time:

Resumen: Esta publicación fue escrita por Michael Ford, colaborador de Bitcoin Core y escritor invitado de BitMEX Research. Michael es beneficiario del Fondo de Desarrollo de Bitcoin de HDR Global Trading Limited, que le proporciona $60,000 por año. En este informe, Michael explica las mejoras recientes al sistema de compilación Bitcoin Core y cómo se ha involucrado en la eliminación de las dependencias de software de terceros, como OpenSSL. Según las pruebas de Michael, la cantidad de paquetes integrados en Bitcoin Core 0.19.99 ha disminuido un 44 % en comparación con Bitcoin Core 0.13.2, y el tiempo de creación ha disminuido un 42 % desde su punto máximo, hasta los 135 segundos. Esto mejora la seguridad del software al reducir la superficie de ataque y mejorar el rendimiento del software.

(Fuente: Análisis de Michael Ford)

(Nota: solo se requiere el paquete, la descarga no está incluida. -C depende de -j8 NO_QT=1 NO_UPNP=1 etc., en Mac OS)

El sistema de compilación es una parte menos glamorosa pero importante del código base de Bitcoin Core. Controla cómo se configura y compila el código, y cómo interactúa con las dependencias, que es lo que nos ayuda a crear binarios totalmente reproducibles que ejecutan muchos usuarios de bitcoin.

En esta publicación, analizaré rápidamente algunos de los cambios en el sistema de compilación en los que he estado involucrado recientemente, la mayoría de los cuales formaron parte del lanzamiento 0.20.0 de la billetera Bitcoin Core.

RSS3 completó una nueva ronda de financiación CoinShares Ventures lidera la inversión: el 22 de diciembre, el protocolo social y de contenido descentralizado RSS3 anunció la finalización de una nueva ronda de financiación, liderada por CoinShares Ventures, CoinbaseVentures, DragonflyCapital, MaskNetwork, FabricVentures, HashKeyGroup, Arweave, DapperLabs, AvalancheAsiaStarFund y otros participaron en la inversión. RSS3 es una nueva generación de protocolo social y de contenido descentralizado. A través de mecanismos integrados de negocio, recomendación y almacenamiento, los datos, incluidas las relaciones, el contenido y los retratos, se devuelven a los usuarios. Previamente, la ronda 12 del airdrop patrocinador de RSS3 Gitcoin se abrió para la aplicación. [2021/12/22 7:55:11]

Ha pasado mucho tiempo desde que se eliminó el soporte de  BIP70  de la billetera Bitcoin Core. Hay muchos artículos que resumen sus problemas, por lo que no entraré en detalles aquí, aparte de incluir agujeros de seguridad, problemas de privacidad e incompatibilidades entre implementaciones. BIP70 es también la última parte del código base que requiere OpenSSL, lo que impide su eliminación. Puede encontrar un buen resumen de lo anterior en los comentarios de GitHub.

La eliminación de la funcionalidad externa de cualquier proyecto generalmente requiere varias etapas, y la eliminación de la funcionalidad de Bitcoin Core no es diferente. En octubre de 2018, una solicitud de extracción   #14451   se basa en el código   #11622   propuesto el año anterior para permitir que BIP70 se deshabilite al crear una billetera Bitcoin Core. Sin embargo, permanece en la versión binaria como parte de 0.18.0.

Poco después, en  #15584 , la compatibilidad con BIP70 se deshabilitó de forma predeterminada, lo que significa que cualquiera que construyera una billetera Bitcoin Core tenía que compilar con `-enable-bip70`. Deshabilitar BIP70 de forma predeterminada es parte de la versión reciente 0.19.0, junto con advertencias de GUI y sugerencias para cambiar a  BIP21 URL cuando sea posible.

Se hizo una propuesta para eliminar BIP70 de la billetera Bitcoin Core en  #17165  El PR eliminó las dependencias de nuestra función, el uso de OpenSSL relacionado con X509, la necesidad de vincular OpenSSL a la GUI, unas 2000 líneas de código en total. En una solicitud de seguimiento  #17730 , también fue posible eliminar casi todas las funciones de red internas de Qt de la billetera Bitcoin Core; sin embargo, los problemas con la versión de Windows impidieron que se eliminaran por completo. Eliminar BIP70 es uno de los últimos pasos antes de eliminar OpenSSL.

Random.cpp mantiene un RNG interno (generador de números aleatorios) que obtiene entropía de muchas fuentes diferentes, incluido el hardware, el sistema operativo e históricamente OpenSSLs RNG. Antes de eliminar OpenSSL, se decidió aumentar el generador de números aleatorios de la billetera Bitcoin Core, para asegurarse de que extraería entropía adicional del entorno (tiempo, datos de rendimiento, configuración del sistema, etc.), que también incluía algunas fuentes utilizadas anteriormente. por OpenSSL. Esto se hizo en  #17270 . Otras dos solicitudes de extracción eliminaron algunas de las semillas del generador de números aleatorios de OpenSSL al eliminar las llamadas a RAND_screen()   #17191   y RAND_event() #17151  

En este punto, todo el uso restante de OpenSSL se puede eliminar del proyecto, lo que se hizo en  #17265  y  #17515 ; estos cambios serán parte de la versión 0.20.0 de la billetera Bitcoin Core. OpenSSL ha sido durante mucho tiempo una fuente de errores, lanzamientos de emergencia y problemas de rendimiento. Su uso crítico de consenso (verificación de firma) hace tiempo que fue reemplazado por la biblioteca  secp256k1 , desarrollada por los desarrolladores de la billetera Bitcoin Core para abordar las deficiencias de OpenSSL como parte de la versión 0.12.0 de la billetera Bitcoin Core.

Otro trabajo relacionado con el sistema de compilación en el que he estado involucrado es más específico de macOS, incluida la reducción de la cantidad de bibliotecas dinámicas con las que se vinculan nuestros binarios de macOS. Los archivos binarios de Apple OS se vinculan con seis bibliotecas dinámicas menos utilizando el código base más reciente (que se creará en la próxima versión 0.20.0) en comparación con 0.19.0. Las bibliotecas con las que ya no vinculamos incluyen DiskArbitration, Security, SystemConfiguration, OpenGL, AGL y CFNetwork.

Algunas de estas bibliotecas aún no se usan, pero aún están vinculadas durante la compilación. Se eliminaron cuando se introdujo la marca del enlazador -dead_strip_dylibs en  #17663 . Qt ha introducido otros, como OpenGL o D-Bus, etc., pero finalmente no se utilizan y se pueden eliminar cambiando nuestra configuración de compilación de Qt (consulte  #17521  y  #17676  para ver estos cambios).

Después de trabajar arduamente para reducir la cantidad de dependencias del sistema operativo Apple, parece necesario asegurarse de no volver a introducir estas dependencias innecesariamente. #17863  se ha abierto para agregar comprobaciones de biblioteca dinámicas de Apple OS (ya realizadas en Linux) como parte del proceso de compilación. #17787 Se agregó PIE (ejecutable independiente de la posición) y NOUNDEFS (sin referencias indefinidas) a nuestro script security-check.py.

Aquí hay una breve descripción general de alto nivel de algunos trabajos del sistema de compilación en los que he estado involucrado recientemente. El resultado es menos código (que no sea bitcoin) en el repositorio de la billetera principal de bitcoin, dependencias de compilación más débiles para bitcoin y bitcoin-qt, tamaño ejecutable más pequeño y más seguridad, aunque solo sea mediante la reducción de la superficie de ataque.

Gran parte del trabajo aquí es el resultado de innumerables horas de trabajo previo y la revisión de muchos otros colaboradores de Bitcoin Core. Me gustaría agradecer especialmente a Cory Fields por su ayuda y orientación en muchos de mis esfuerzos de creación de sistemas.

Michael Ford, desarrollador principal de Bitcoin

Tags:

NEAR
El juego de carreras de blockchain ForceForFast está a punto de aterrizar en la tercera fase de MXC Matcha SpaceM para abrir la pista de activos NFT

Recientemente, ForceForFast (FFF), un token digital de juego de carreras de cadena de bloques incubado y emitido por MixMarvel, aterrizará en la tercera fase de MXC Matcha SpaceM.

Golden Sentinel 丨 "Padre de la ley de empleos": Estados Unidos debería iniciar un dólar digital lo antes posible

Golden Finance Blockchain News, 13 de junio  El exvicepresidente de Nasdaq y conocido como el "padre de la Ley de Empleos" David Weild (David Weild IV) recientemente hizo una declaración asombrosa. Él cree que lo.

Observación dorada 丨 ¿Qué significa que el número de direcciones de Ethereum supera los 100 millones?

Jinse Finance Blockchain News, 11 de junio   El avance de la marca de 100 millones de direcciones Ethereum es muy notable, porque este hito significa que la industria DeFi está creciendo rápidamente.

Michael Ford, desarrollador de Bitcoin Core: Las últimas mejoras en el sistema de compilación de BTC Core.

Resumen: Esta publicación fue escrita por Michael Ford, colaborador de Bitcoin Core y escritor invitado de BitMEX Research. Michael es beneficiario del Fondo de Desarrollo de Bitcoin de HDR Global Trading Limited.

Golden Relativity | Chen Zhiyuan, fundador de Micro Technology: La cadena de bloques industrial es una tendencia inevitable en la construcción de una Internet confiable

Durante las dos sesiones, muchos representantes presentaron propuestas relacionadas con blockchain, que involucran múltiples niveles, como la tecnología, la industria y la supervisión de políticas. En este sentido.

8:00 p.m.丨 Las acciones de EE.UU.hacen que BTC vuelva a $ 9,000, ¿todavía puedes subir al autobús?

La primera columna de retransmisiones en directo del mercado 20:00 Kim 2020. 6.9 8:00 Gran lanzamiento Todas las noches a las 8, 5 celebridades Últimas noticias, contratos puntuales.

Golden Outpost | Putin insta a los legisladores a acelerar la implementación de un marco de pruebas regulatorio que involucre blockchain y criptomonedas

El presidente ruso, Vladimir Putin, quiere que su gabinete acelere el lanzamiento de un sandbox regulatorio de criptomonedas y blockchain para evitar una recesión.La prohibición de criptomonedas planificada por Rusia.

ads