-
La BIP-119 introduce nuevas funcionalidades para facilitar el envรญo de transacciones en lote.
-
Jeremy Rubin, desarrollador de BIP-119, detallรณ la propuesta y sus alcances con CriptoNoticias.
Es sabido que la adopciรณn de Bitcoin va en crecimiento. Pero este protocolo aรบn no tiene la capacidad de procesamiento aspirada para una adopciรณn masiva de usuarios, debido a la ocasional congestiรณn de la red que retrasa la confirmaciรณn de transacciones y propicia el aumento de las comisiones.
La propuesta de escalabilidad BIP-119, que aborda este problema, viene recaudando apoyo de miembros de la comunidad Bitcoin desde que fue publicada el aรฑo pasado por Jeremy Rubin, programador informรกtico egresado del MIT y cofundador de iniciativas de esa universidad por Bitcoin y las criptomonedas.
Rubin propone aumentar la capacidad interna de Bitcoin, permitiendo que un nรบmero mayor de transacciones pueda realizarse con menor esfuerzo y costo en su emisiรณn, mediante la implementaciรณn del comando OP_CHECKTEMPLATEVERIFY (OP_CTV). Esta soluciรณn, observa Rubin, no deberรญa realizarse de forma contenciosa, sino mediante una bifurcaciรณn suave.
Aunque las transacciones en lote (batching) son una soluciรณn vรกlida, a consideraciรณn de Rubin, estas son pesadas en datos y en algรบn momento pueden llegar a congestionar la red. OP_CTV podrรญa en primera instancia separar las transacciones en lote en dos partes: una transacciรณn emisora y otra transacciรณn receptora. De este modo, se evitarรญa realizar una transacciรณn en lote con mรบltiples salidas; ya que se procesarรญa a travรฉs de un enlace entre ambas transacciones, donde la transacciรณn receptora tenga un menor costo y pueda igualmente distribuir los fondos eficientemente con las mรบltiples salidas que posea.
El comando (OP_CTV), implementado por esta soluciรณn de escalabilidad, realiza esta operaciรณn de envรญo masivo de fondos a diversas direcciones con la introducciรณn de los covenants โo transacciones acordadasโ mencionados en la justificaciรณn de la propuesta disponible en GitHub. Esta caracterรญstica fue criticada notablemente en el foroย BitcoinTalk por Gregory Maxwell en 2014, quien en principio propuso implementar pruebas de conocimiento cero (SNARK). Pero, debido a la ausencia de un lenguaje de contratos inteligentes mรกs eficiente para lidiar con este procedimiento en Bitcoin, el mismo autor descartรณ su implementaciรณn.
Bรกsicamente, losย covenantsย son โacuerdosโ en cรณmo se gasta unย bitcoinย sucesivamente a travรฉs de una serie de transacciones, mรกs allรก de la autoridad que tenga una llave privada sobre las monedas en cuestiรณn.
Los covenants son restricciones sobre cรณmo una moneda puede gastarse mรกs allรก de quien sea el propietario. Los covenants pueden ser รบtiles en la construcciรณn de contratos inteligentes. Al ser difรญciles de implementar y al existir el riesgo de introducir elementos que reduzcan la fungibilidad, estos no han sido considerados seriamente para incluirse en Bitcoin.
Esta BIP introduce un covenant simple llamado โTemplateโ que nos abre las puertas a una cantidad importante de usos sin riesgo significativo.
Jeremy Rubin, autor BIP-119.
En la conferencia Scaling Bitcoin, donde Rubin expuso su idea bajo el nombre OP_SECURETHEBAG, el autor dio un ejemplo sobre cรณmo funciona el comando; seรฑalando que se debe crear un lote (batch) de transacciones, para luego crear una transacciรณn comprometida hacia una segunda fase de batching y entrega final de los BTC (cierre de la salida) a los receptores.
En teorรญa, la transacciรณn final ejecutada en la segunda fase (receptora) tiene un costo muy bajo en comisiones de red. No obstante, la primera transacciรณn del ciclo (emisora) pagarรญa comisiones promedio segรบn su peso en memoria, el cual serรญa considerablemente menor al que requiere enviar todas las transacciones por separado, previniendo la congestiรณn del mempool de Bitcoin.
Son varios los ejemplos que a simple vista se advierten sobre implementar OP_CTV. Entre los principales beneficiados de esta nueva propuesta estarรญan las casas de cambio. Como custodios de los fondos de sus clientes, siempre hay solicitudes de retiro que atender. En momentos de alta demanda, pueden emitir una transacciรณn OP_CTV para agilizar dicho proceso, ahorrando en comisiones y gastos operativos, evitando saturar la red Bitcoin.
Igualmente, una vez comience a masificarse la adopciรณn de Bitcoin, aquellos comerciantes que deseen realizar pagos o transacciones con sus mรบltiples proveedores, clientes y empleados de forma simultรกnea, pueden beneficiarse de OP_CTV. Esto aplica tambiรฉn para las industrias en torno a Bitcoin, donde por ejemplo, los pools de minerรญa podrรญan distribuir rรกpidamente y a bajo costo entre sus participantes las recompensas recabadas por los mineros.
Podrรญamos encontrar otro ejemplo en un sistema de pago de servicios bรกsicosย oย suscripciones, queย suelen facturar una vez al mes. Asรญ una persona podrรญa pagar el servicio elรฉctrico y de agua, su servicio deย streamingย favorito y el saldo de su telรฉfono celular al mismo tiempo con una sola transacciรณn de bitcoins.
En este sentido, durante la anterior Bitcoin Expo del MITย realizada el mes de abril pasado, Rubin demostrรณ otros casos de uso, como la creaciรณn deย vaults (bรณvedas) automatizadas, las cuales pueden configurarse con OP_CTV para realizar transacciones periรณdicas entre carteras frรญas y calientes, introduciendo diferentes variables en este flujo de transacciones segรบn convengan los participantes.
CoinJoin, minerรญa yย Lightning Network con OP_CTV
Enย exclusivaย paraย CriptoNoticias,ย Rubinย explicรณ que algunos de los beneficios de utilizar OP_CTV es que este tipo de transacciones pueden enlazarse conย Lightningย Network tambiรฉn, expandiendo las posibilidades de esta implementaciรณn y poniรฉndola a la altura de las necesidades y capacidad de la redย Bitcoin.
En este modelo, los mineros serรญan uno de los grupos que mรกs utilizarรญanย Lightningย Network y ejecutarรญan la apertura y cierre de los canales de esta red.
Segรบn argumenta Rubin en la pรกgina web Utxos.org, los mineros pueden partir de los datos de un bloque minado anteriormente para minar nuevos bloques a partir de allรญ. Este bloque, que llamaremos calificado,ย serรญa un bloque determinado en base a ciertos parรกmetros;ย comoย por ejemplo, un bloque con una antigรผedad no mayor a un tiempo T, los bloques entre los tiempos T1 y T2, o el รบltimo bloque antes de una cantidad N de bloques pasados.
Elegir un bloque calificado para minar a partir de esa altura permitirรญa revertir el hecho de que actualmente los mineros de Bitcoin comparten la recompensa obtenida por sus actividades con el pool o grupo de minerรญa; luego desde aquรญ, estas son repartidas entre todos los participantes, segรบn su aporte a la red.
En contraparte, los mineros podrรญan reunir la totalidad de las recompensas y compartirlas con los mineros calificados en ese momento. OP_CTV permite crear una sola transacciรณn con varios inputs y varios outputs, segรบn sea el caso, evitando crear 1 transacciรณn por cada pago que deba realizarse.
Tambiรฉn, al abrir un canal entre participantes, se puede firmar la apertura o cierre de inputs y outputs, permitiendo asignar ยซmanualmenteยป los montos correspondientes a cada entrada y salida siempre que exista consenso entre las partes. Haciendo efectivo un pago o transmisiรณn de fondos y evitando asรญ el aumento del volumen de transacciones on-chain para estos fines; dejando un รกrbol de canales abiertos entre las partes, donde solo serรญa necesario actualizar los saldos de la entrada y la salida para simplificar la transferencia de valor.
Puedes pensar en esos canales de Lightning Network como un circuito retroalimentado. Concretamente, si tengo un canal A y un canal B abiertos entre dos participantes, donde A tiene 100 satoshis, de los cuales 25 le pertenecen, y B tiene 660 satoshis, de los cuales 60 pertenecen a A, podrรญamos cerrar el canal definitivamente, o actualizarlos para que A tenga 85 satoshis y B tenga 600 satoshis y luego cerrar A. Si aplicamos esta idea a transacciones de OP_CTV, el minero podrรญa minar durante un largo tiempo hasta tener, digamos, 1 BTC, y retirarlos definitivamente a travรฉs de una sola salida (UTXO).
Jeremy Rubin, desarrollador BIP 119.
Tras hacerle la observaciรณn de que esto requerirรญa una gran cantidad de nodos habilitados para Lightning Network, Rubin comenta que no habrรก problema en que los mineros realicen esta actividad, pues asรญ serรญan tambiรฉn responsables de incrementar la liquidez de Lightning Network.
Rubin explica tambiรฉn, en la mencionada pรกgina web, que un minero debe poder minar por sรญ mismo al menos 1 BTC para poder entrar a estos grupos de minerรญa sin confianza (no requieren coordinaciรณn o de partes confiables). Este logro se obtendrรญa a travรฉs de grupos de minerรญa basados en la confianza (pools convencionales), donde primeramente se conduzca al minero a trabajar hasta alcanzar los niveles apropiados de hash rate. Sin embargo, estos grupos serรญan de tamaรฑo reducido para evitar riesgos. Estos planteamientos contribuyen sin duda a la descentralizaciรณn de la minerรญa de Bitcoin, segรบn Rubin.
Rubin ejecutรณ un escenario de simulaciรณn acerca del impacto que tendrรญa en la mempool de Bitcoin ejecutar OP_CTV, donde se muestra que los picos de congestiรณn de la red podrรญan pasar rรกpidamente cuando se ejecuten transacciones de este tipo en periodos de alta demanda y trรกfico.
Con respecto a los efectos que tiene OP_CTV en la privacidad de la red, al preguntรกrsele especรญficamente por mรฉtodos comoย CoinJoin,ย Rubin no mostrรณ preocupaciรณn, dando sus razones para confiar en que serรญa positivo combinarlos.
OP_CTV hace mucho mรกs fรกcil realizar CoinJoin de gran alcance, porque reduce drรกsticamente las comisiones. Tambiรฉn hace mรกs fรกcil utilizar un canal de Lightning Network como salida (output) de un CoinJoin. Igualmente ayuda a ocultar estos datos, ya que los outputs de la transacciรณn no se conocen inmediatamente esta se realiza. Tambiรฉn se pueden utilizar firmas post hoc para cambiar los outputs que se estรฉn creando (algo menos complejo de realizar que en LN).
Jeremy Rubin, desarrollador BIP 119.
Rubinย aรฑade que desde OP_CTV se pueden realizarย CoinJoin de forma mรกs equilibrada, ya que se pueden crear varios inputs en una misma transacciรณn, permitiendo mezclar las monedas de varios usuarios en un solo ciclo de CoinJoin, haciendo incluso mรกs costeables las comisiones, ya que este lote de transacciones serรญa mรกs ligero que lo que serรญan todas las transacciones realizadas por separado.
ยฟQuรฉ opinaย Reddit?
Siendo Reddit uno de los sitios de foros lรญderes en su tipo, muy utilizado por las comunidades de Bitcoin y criptomonedas, Rubin organizรณ un AMA โAsk Meย Anything, conocido en espaรฑol como Pregรบntame lo que seaโ, donde recibiรณ los comentarios de la comunidad el pasado juevesย 7 de junio.
En el evento virtual discute las dudas y observaciones de algunos usuarios con respecto a la posibilidad de cambiar los inputs de la transacciรณn y hacerlas maleables en determinado periodo de tiempo, a lo que Rubinย respondiรณ argumentando que una vez la transacciรณn seย compromete no hay manera de cambiar los inputs, ya que el punto de OP_CTV es que las salidas finales tengan la certeza de que el ciclo se cumplirรก con el aval de la firma de todas las entradas firmantes.
Entre las tareas a las que se estรก avocando en este momento para hacer viable la BIP-119,ย Rubinย enumera la reestructuraciรณn delย mempoolย deย Bitcoin, crear un lenguaje deย contratosย inteligentes deย Bitcoin, desarrollar software abierto en ese lenguaje para mejorar las interfaces y custodia de fondos con CTV.
El desarrollador explica ademรกsย queย entre las observacionesย recibidas por otros colegas, se encuentraย la que seรฑala queย laย abundancia de transacciones en lote puedenย llegar aย ocuparย mucho espacio en la red; un momento en el futuro donde nuevamente las comisiones se hagan competitivas y la red vuelva a ralentizarse.ย Rubinย ejecutรณ simulaciones con diversos escenarios y condiciones, hallando que OP_CTV ayuda a reducir las comisiones y la congestiรณn delย mempool.
En general la percepciรณn en torno a la propuesta ha sido positiva, ya queย Rubinย se haย avocadoย a complementar la propuesta con muchรญsimo material de estudio y discusiรณn, que principalmente estรก reunido en su pรกgina web. Aunque esto sea asรญ, aรบn falta mucho camino para que esta propuesta sea implementada, aunque paraย Rubin, mรกs vale comenzar a discutirla ahora, que deber evaluarla en un escenario de urgencia como el que contextualizรณ el debate por la implementaciรณn deย SegWitย en 2017.