A medida que nos acercamos a la activación del soft fork de Taproot en el bloque 709 632 de Bitcoin, nos gustaría compartir más detalles sobre la compatibilidad con Taproot de las carteras "hot" y de custodia calificada de BitGo. Nos complace anunciar que BitGo contará con Compatibilidad total con la API tanto para enviar como para recibir en direcciones Taproot. Como suele ocurrir con las nuevas funciones de Bitcoin, la participación en Taproot es totalmente voluntaria. Habrá No habrá interrupciones en los servicios de Bitcoin, ni será necesario crear nuevas carteras, actualizar monedas antiguas ni cambiar a nuevas direcciones..
Una vez que habilitemos Taproot para las carteras de BitGo, será posible crear nuevas direcciones Taproot para recibir transacciones, y estas direcciones funcionarán a la perfección con las carteras existentes. Es importante tener en cuenta que el resto de software del ecosistema de Bitcoin puede tardar algún tiempo en actualizarse y, hasta entonces, es posible que no pueda validar ni enviar transacciones a direcciones Taproot.
Ten en cuenta que, por el momento, solo estamos lanzando la compatibilidad completa con Taproot para nuestra API. La compatibilidad de la interfaz de usuario para realizar envíos a direcciones Taproot estará disponible desde el lanzamiento, pero la creación de nuevas direcciones Taproot y el uso de entradas Taproot en las transacciones no estarán disponibles y se habilitarán en una fecha posterior.
Calendario de actualizaciones
Esto es lo que esperamos que suceda en los próximos días a medida que implementemos Taproot en todos nuestros servicios:
12 de noviembre, alrededor de las 15:00 (hora del Pacífico) - Se habilitará la compatibilidad con Taproot para los monederos de BitGo en la red de pruebas de Bitcoin.
14 de noviembre, ~00:00 (hora del Pacífico) - Se ha minado el bloque 709 632, lo que ha activado las nuevas reglas de consenso de Taproot.
14 de noviembre, ~17:00 (hora del Pacífico) - Tras supervisar la cadena para garantizar que las nuevas reglas de consenso se han activado correctamente y funcionan según lo previsto, se habilitará la compatibilidad con Taproot para las carteras activas de BitGo en la red principal de Bitcoin. Las carteras de custodia calificada de BitGo podrán crear nuevas direcciones Taproot y recibir fondos en dichas direcciones, pero no podremos gestionar retiradas desde direcciones Taproot hasta aproximadamente el miércoles 17 de noviembre.
17 de noviembre - Se han habilitado las retiradas de fondos de direcciones Taproot en carteras de custodia autorizadas.
Tenga en cuenta que estos horarios son aproximados y pueden cambiar sin previo aviso. Póngase en contacto con support@bitgo.com o suscríbete a status.bitgo.com para obtener la información más actualizada.
¿Qué es Taproot?
Hay muchos artículos estupendos explicando qué Raíz principal es y qué es significa para los usuarios de Bitcoin. En resumen, esta actualización ofrece una mayor flexibilidad en la forma en que Bitcoin codifica las condiciones de gasto, además de introducir la compatibilidad con las firmas Schnorr, un tipo de firma digital más sencilla y flexible. La actualización Taproot también incluye una nueva variante del tipo de dirección Bech32, denominada Bech32m.
Flexibilidad en las condiciones de gasto
Taproot cambia la forma en que se pueden expresar los scripts complejos que se utilizan para bloquear bitcoins. En lugar de crear un único script extenso con muchas condiciones de gasto inconexas, Taproot permite expresar cada una de esas condiciones de forma individual. Solo es necesario revelar a la red la condición de gasto que se utilice realmente, lo que aumenta la privacidad y puede reducir las comisiones.
Para que todo esto resulte un poco más claro, echemos un vistazo a una cartera típica de BitGo con firma múltiple. Tenemos tres claves que se utilizan con nuestras carteras: la clave de cliente, que está en poder de nuestro cliente; la clave de BitGo, que está en nuestro poder; y la clave de respaldo, que está en poder de un tercero. Cualquiera de estas tres claves de la cartera especificada puede utilizarse para autorizar una transacción de Bitcoin.
Hasta la llegada de Taproot, teníamos que expresar esta condición de gasto mediante OP_CHECKMULTISIG, lo que nos obligaba a revelar las tres claves públicas y las dos firmas. Nos vemos obligados a escribir una clave pública adicional en la cadena de bloques, aunque no haya ninguna firma para esa clave pública. ¿No sería estupendo si pudiéramos revelar solo las claves públicas que corresponden a las firmas realmente utilizadas para realizar el gasto?
Con Taproot, basta con que se cumpla una sola de estas tres condiciones de gasto independientes:
Firmas del cliente y claves de BitGo
Firmas del cliente y claves de respaldo
Firmas de las claves de Backup y BitGo
En lugar de revelar estas tres claves públicas y las firmas de dos de ellas, ahora es posible dividir estos casos en tres scripts multisig independientes de tipo "2 de 2" e incorporarlos a un árbol de Merkle. Este árbol de scripts se denomina TapTree y solo se necesita una pequeña cantidad de datos, conocida como prueba de inclusión, para demostrar que un script de gasto determinado está presente en él. Al gastar salidas de Taproot, basta con revelar el script que se va a utilizar, junto con la prueba de inclusión y las dos firmas necesarias para satisfacer ese script concreto, para autorizar el gasto.
Cuando se gasta una salida Taproot de 2 de 3 bloqueada en Bitcoin de este diseño, cuesta ligeramente más (107,5 vBytes frente a 104,5 vBytes) por entrada que gastar una entrada SegWit nativa utilizando OP_CHECKMULTISIG, debido a la necesidad de codificar la prueba de inclusión del script 2 de 2. Entonces, ¿por qué utilizaría alguien Taproot?
Mejoras en materia de privacidad
Al utilizar Taproot, quienes observan la cadena de bloques no pueden saber qué otras condiciones de gasto quedaron sin utilizar en el TapTree. Podría no haber habido ninguna otra condición, o bien cientos. Antes de Taproot, cada una de estas condiciones de gasto tenía que revelarse, lo que supone un desperdicio de espacio en la cadena de bloques y hace que las transacciones destaquen entre las demás. Al utilizar Taproot, se requiere menos información en la cadena de bloques pública y, por lo tanto, hay menos datos que puedan utilizarse para identificar las transacciones, todo ello sin dejar de ser 100 % responsables en cuanto a quién firmó la transacción.
Firmas de Schnorr
Por primera vez en la historia del Bitcoin, se está incorporando un nuevo algoritmo de firma digital junto con las firmas tradicionales del Algoritmo de Firma Digital de Curva Elíptica (ECDSA). Estas nuevas firmas se conocen como firmas Schnorr, tienen un tamaño fijo de 64 bytes y son más rápidas de calcular, ya que no requieren una compleja operación modular inversa.
Cabe destacar especialmente que las firmas Schnorr pueden agregarse mediante simples operaciones de suma. Esto facilita la expresión de algunas condiciones de gasto habituales en una sola clave, lo que requiere una única firma. La MuSig2 El esquema de multifirma permitirá a los participantes calcular de forma segura claves públicas y firmas agregadas con solo un pequeño aumento en la comunicación. Gastar una entrada bloqueada con dicha clave agregada supone un ahorro enorme 47 vBytes por entrada (57,5 vBytes frente a 104,5 vBytes) en comparación con la operación OP_CHECKMULTISIG nativa de SegWit.
En consonancia con la tradicional preferencia por el largo plazo de Bitcoin, las direcciones de BitGo Taproot creadas desde el principio contarán con una clave pública agregada MuSig2. La posibilidad de realizar transacciones utilizando esa clave pública agregada no estará disponible en el momento del lanzamiento, ya que los detalles seguían cambiando hasta julio de 2021, y el implementación de referencia Aún no está completo en el momento de redactar este artículo. Sin embargo, estamos muy ilusionados con el lanzamiento de la compatibilidad con MuSig2 en un futuro próximo, lo que supondrá una actualización automática y sin complicaciones para los monederos existentes con UTXO de Taproot. En esencia, acumular UTXO de Taproot desde el principio reducirá las comisiones futuras.
¿Cómo lo utilizo con mi monedero BitGo?
Una vez que se haya minado el bloque 709 632, las nuevas reglas de Taproot entrarán en vigor en la red principal de Bitcoin. Poco después, permitiremos a los usuarios de la API crear nuevas direcciones Taproot. Esto será posible proporcionando el cadena: 30 parámetro de la API de BitGo.
Ejemplo de la API de BitGo
Si utilizas el SDK de BitGoJS o BitGo Express, también tendrás que proporcionar el addressType: 'p2tr' parámetro, además del cadena: 30 parámetro de la función createAddress() en los objetos Wallet. Las versiones mínimas compatibles con Taproot son 13.1.0 para el SDK de BitGoJS y 9.10.1 para BitGo Express.
Ejemplo de BitGo Express
Ejemplo del SDK de BitGoJS
Repercusiones a largo plazo
Prevemos que la adopción de Taproot sea un proceso gradual, en el que las carteras irán incorporando compatibilidad con esta tecnología a lo largo del tiempo, de forma muy similar al patrón de adopción de SegWit. Al tratarse de un servicio de carteras exclusivamente multisig, las ventajas para las carteras de BitGo son más evidentes y esperamos observar un ahorro significativo en las comisiones a largo plazo con respecto a nuestra implementación multisig actual, a medida que más clientes pasen a utilizar Taproot y habilitemos la compatibilidad con MuSig2.
A corto plazo, es posible que algunas carteras no puedan realizar envíos a direcciones Taproot, y prevemos que el software de todo el ecosistema de Bitcoin tardará varios meses en actualizarse para admitir plenamente esta nueva función. Somos conscientes de la importancia de esta actualización para todos los usuarios de carteras de BitGo, y nos apasiona permitir que nuestros clientes utilicen las funciones más avanzadas que ofrece Bitcoin.
Si compartes nuestra visión de crear la plataforma de servicios de Bitcoin más escalable del mundo, Solicita aquí tu incorporación al equipo de Bitcoin de BitGo. Buscamos ingenieros con experiencia que sientan pasión por impulsar la adopción de Bitcoin y estén dispuestos a afrontar el reto que suponen los proyectos de gran complejidad técnica incluidos en nuestra hoja de ruta. Visualizamos un futuro en el que todo el mundo pueda utilizar Bitcoin de forma sencilla y segura.
Acerca de BitGo
BitGo es la empresa de infraestructura de activos digitales que ofrece servicios de custodia, wallets, staking, negociación, financiación y liquidación desde un almacenamiento en frío regulado. Desde nuestra fundación en 2013, nos hemos centrado en acelerar la transición del sistema financiero a una economía de activos digitales. Con una presencia global y múltiples entidades reguladas, BitGo presta servicio a miles de instituciones, incluidas muchas de las principales marcas, bolsas y plataformas del sector, y a millones de inversores minoristas de todo el mundo.
