En algunas ocasiones ocurre que una transacción puede depender de otra al estilo transacción padre y transacción hija. También pasa que en algunos casos una no puede concretarse e incluso ambas, dependiendo del caso en cuestión. Estas transacciones puede quedar esperando las confirmaciones de los mineros o incluso quedar en stand by sin pasar por los nodos de la red de Bitcoin. Esto ha generado varias propuesta para mejorar la red de Bitcoin.
Una de estas propuesta fue hecha por la desarrolladora de Bitcoin Gloria Zhao desarrolló una propuesta para solventar esta situación o por lo menos reducir la incidencia de la misma. El nombre de la propuesta es Package Relay y fue enviada a los desarrolladores a los correos de los desarrolladores de esta criptomoneda el 17 de mayo.
¿De qué trata la propuesta Package Relay?
La propuesta que trabajó Zhao tiene como base la transmisión por paquetes, en el caso de las transacciones. Esto implica que las transacciones que tienen alguna relación y dependencia serán enviadas juntas. Así podrán manejarlos y confirmarlos como un todo y evitar transacciones a la deriva.
Zhao declaró sobre la propuesta para mejorar la red de Bitcoin en una entrevista detallando “Se viene hablando del concepto de «Package Relay» al menos desde hace 7 o 9 años, y es el concepto de solicitar, anunciar y descargar grupos de transacciones juntas, transacciones relacionadas entre sí. Un «package» [paquete] es un término utilizado ampliamente para referirse a un grupo de transacciones que tienen una relación de dependencia, donde existe una conexión entre una transacción que está gastando el output de otra transacción, ya sea un hijo y un padre, un padre con muchos hijos, un abuelo, un padre y un hijo, etc.”
Para hacer esto se aplicaría lo que la desarrolladora denomina “Child Pays For Parents” o los hijos pagan por los padres. Esto implica que se usarán las monedas de la transacción 2 para pagar la primera, en el caso de que la transacción padre no tenga fondos para realizar la confirmación. En este caso la hija pagaría por ambas, pero con comisiones más altas, para incentivar a los mineros.
Razones para que una transacción de bitcoin no se confirme
Pueden existir muchas razones para que esto ocurra, primeramente una transacción padre puede producirse, pero no tiene suficientes fondos para la comisión. En este caso la transacción puede ser ignorada o rechazada por los nodos de la Mempool o por los mineros. Existe otra situación que complica más todo y es que puede llegar una transacción hija y no pasaría porque los nodos desconocen la transacción padre.
Zhao opinó al respecto de este hecho lo siguiente “Considerar el ingreso de las transacciones a la mempool de manera individual crea una limitación en la capacidad del nodo en determinar cuáles transacciones tienen las comisiones más altas, puesto que no están tomando en cuenta a los descendientes hasta que estas llegan a la mempool […] «.
Ella añadió «Cuando la transacción de un usuario no cumple la comisión mínima aceptada por la mempool y no pueden crear una transacción de reemplazo directamente, su transacción será rechazada por la mempool. Tampoco podrán añadir una transacción descendiente para pagar las comisiones de la transacción en conflicto. Esta limitación afecta la habilidad de los usuarios de subir las comisiones de sus transacciones”.
Bitcoin tiene algunos problemas en cuanto a las transacciones que quedan a la deriva. Estas suelen perderse en la red, causando que otras transacciones también se pierdan. La desarrolladora Zhao planteó una mejora que podría solventar o aliviar las fallas existentes a un número mucho mejor. Habrá que esperar si los desarrolladores de Bitcoin la aprueban para realizar esta modificación.