Bitcoin está cerca de reducir las comisiones con una mejor selección de monedas
Años de trabajo han culminado con una actualización de "selección de monedas" del software Bitcoin CORE que reducirá las tarifas de transacción y escalará la cadena de bloques.
ONE de los mecanismos técnicos que ha ayudado a que Bitcoin se compare con el efectivo está a Verge de sufrir una importante actualización.
El término "selección de monedas" se refiere al algoritmo que actualmente decide qué datos se combinan para crear la transacción de un usuario. En esencia, el código de selección de monedas replica el proceso de, por ejemplo, entregar un billete de $10 a un cajero por un artículo de $7 y que el cliente reciba $3 de cambio.
Pero si esto no suena particularmente complejo, recuerde que Bitcoin es un software experimental, y esta función, aunque funciona, no está del todo optimizada. Para colmo, la parte que quizás necesite ajustes tiene un impacto directo en los costos para el usuario.
"El algoritmo original de selección de monedas de Bitcoin Core necesita mucha revisión, especialmente en lo que respecta a las tarifas de transacción. Es ineficiente y termina creando un bucle extraño para intentar calcular el monto de las tarifas de transacción necesarias", dijo Andrew Chow, colaborador de Bitcoin CORE, a CoinDesk.
Mark Erhardt, ingeniero del proveedor de billeteras BitGo, está de acuerdo, llegando incluso a calificar el algoritmo de "complicado" durante una entrevista reciente.en el podcast Noded.
Como tal, los desarrolladores han estado trabajando en un nuevo algoritmo, denominado "branch and bound" o "BNB", que combina datos de una manera más eficiente, lo que resulta en un pequeño aumento de escala y tarifas de transacción más bajas.
Erhardtprimera propuestaalgunas optimizaciones hace casi dos años, mientras que Chow fue el primer desarrollador en codificar los cambios.
Recientemente, se consideró que el cambio estaba listo para incorporarse a la implementación de software más popular de Bitcoin, Bitcoin CORE, por lo que se integró en el código base. Mejor aún para los usuarios, la función debería estar disponible para un uso generalizado con el lanzamiento de... 17.ª versióndel software en el próximo año más o menos.
Hablando de los beneficios de los cambios, Chow dijo:
Esto nos permitirá optimizar considerablemente el código de selección de monedas y permitirá que una ONE persona comprenda exactamente qué hace el algoritmo de selección de monedas.
No es necesario ningún cambio
Retrocediendo, como se mencionó, cada transacción de Bitcoin que envía un usuario se compone de diferentes cantidades más pequeñas de Bitcoin.
Esto se debe a que, por ejemplo, tienes un Bitcoin en tu billetera. Este Bitcoin no suele ser un solo dato. Más bien, suele estar compuesto por varios fragmentos de datos unidos. Podrías tener ONE, dos o docenas de pequeños fragmentos de transacción, cada uno llamado "salidas de transacción no gastadas" (UTXO).
Por ejemplo, atado a la dirección de su billetera Bitcoin podría haber un dato que valga 0,1 BTC, otro que valga 0,3 BTC, otro que valga 0,1 BTC y un ONE que valga 0,5 BTC, para formar un Bitcoin completo.
Estas piezas se basan en las transacciones que se produjeron antes de ellas y cómo se dividieron inicialmente para enviarlas a su billetera.
Por lo tanto, si necesita enviar 0,2 BTC, el algoritmo de selección de monedas de Bitcoin CORE podría decidir colocar el dato de 0,3 BTC en la llamada "entrada", creando así la transacción. Habrá entonces dos salidas: 0,2 BTC, que se enviarán al destinatario, y 0,1 BTC, que se devolverán a su billetera como "salida de cambio".
Sin embargo, según los desarrolladores, el algoritmo no es tan bueno a la hora de decidir cómo seleccionar monedas para las transacciones.
El algoritmo casi siempre genera automáticamente "salidas de cambio", que a menudo son T y desperdician espacio en la blockchain, explicó Erhardt. En el ejemplo anterior, el algoritmo podría evitar esto seleccionando los dos datos con un valor de 0,1 BTC y sin tener que devolver el "cambio" al remitente.
Continuó hablando de otro desafortunado efecto secundario:
"No quieres que las transacciones queden reducidas a polvo".
El "polvo" son fragmentos de Bitcoin tan pequeños que casi no vale la pena gastarlos, ya que las comisiones podrían ser mayores que la transacción en sí. Quizás sean similares a los centavos, ya que un centavo cuesta más fabricarlo que su valor real al comprar bienes.
¿Cómo elegir?
El nuevo algoritmo, BNB, evita a estos emisores al intentar eliminar el mayor número posible de escenarios de cambio de salida. En resumen, LOOKS todas las entradas para determinar si hay una manera de alcanzar exactamente la cantidad de bitcoins que un usuario desea enviar en una transacción.
"Esto ayuda a reducir un poco más el conjunto de UTXO", dijo Chow. "Además, las transacciones con una coincidencia exacta suelen ser más pequeñas que aquellas con cambio, lo que también ahorra comisiones al usuario y libera algunos bytes adicionales de espacio en bloque para otras transacciones".
Y hay evidencia de que esto funciona. En una simulación, Erhardt descubrió que, en aproximadamente el 40 % de las transacciones que normalmente tendrían salidas de cambio, el nuevo algoritmo logró eliminar los datos innecesarios.
Además de estos beneficios para el usuario, el cambio de código también ayuda a los desarrolladores, ya que el nuevo algoritmo es mucho más fácil de entender desde un punto de vista técnico.
Aun así, los desarrolladores no han terminado de ajustar el proceso de selección de monedas. Chow y otros planean llevar el algoritmo más allá, añadiendo el llamado "sorteo aleatorio simple".
Cuando el algoritmo de BNB analiza todas las UTXO de un usuario de Bitcoin y no puede evitar generar un cambio, recurre al proceso original de selección de monedas. Sin embargo, con una simple selección aleatoria, el algoritmo elegirá UTXO aleatorias hasta alcanzar la cantidad de dinero requerida.
Curiosamente, los desarrolladores consideran que elegir monedas al azar es un método mejor que el algoritmo más deliberado que utiliza Bitcoin CORE actualmente.
Es la culminación de años de trabajo, pero según Erhardt, el proceso no podría haber sido más rápido. La selección de monedas es una "parte sensible" del código y modificarla tiene "consecuencias globales", afirmó.
Por ello, " ONE quiso manipularlo durante demasiado tiempo", explicó Erhardt, y añadió:
"Ya hemos realizado muchos trabajos de plomería para realizar más cambios".
Código binarioimagen 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.
