Bitcoin Forum

Local => Español (Spanish) => Topic started by: lukyforvar on May 08, 2014, 08:21:52 AM



Title: Hacer que expire una transacción
Post by: lukyforvar on May 08, 2014, 08:21:52 AM
Hola, estoy intentando enviar una transacción e intento conseguir que al final termine expirando, pq quiero probar un tema de seguridad.

Sabe alguien como conseguirlo o que me oriente, la prueba que mejor me ha ido es enviando 0.00001 sin comisión y lleva ya casi dos días sin confirmar, pero sigue viva

gracias


Title: Re: Hacer que expire una transacción
Post by: dserrano5 on May 08, 2014, 09:37:49 AM
Hola, estoy intentando enviar una transacción e intento conseguir que al final termine expirando, pq quiero probar un tema de seguridad.

Sabe alguien como conseguirlo o que me oriente, la prueba que mejor me ha ido es enviando 0.00001 sin comisión y lleva ya casi dos días sin confirmar, pero sigue viva

Si cierras tu cliente la transacción acaba olvidándose pero no sé cuánto tarda. Al volver a ejecutar tu cliente, se "desolvida" pues se vuelve a enviar a la red.


Title: Re: Hacer que expire una transacción
Post by: lukyforvar on May 08, 2014, 09:57:18 AM
Hola, estoy intentando enviar una transacción e intento conseguir que al final termine expirando, pq quiero probar un tema de seguridad.

Sabe alguien como conseguirlo o que me oriente, la prueba que mejor me ha ido es enviando 0.00001 sin comisión y lleva ya casi dos días sin confirmar, pero sigue viva

Si cierras tu cliente la transacción acaba olvidándose pero no sé cuánto tarda. Al volver a ejecutar tu cliente, se "desolvida" pues se vuelve a enviar a la red.

Bueno, creo que me habré explicado mal. Lo que quiero es enviar una transacción a la red y que esta no consiga producirse.
Por ejemplo he pensado

Envio a la dirección A 0.00001 sin comisión
Envio a la dirección A 0.00001 sin comisión
Envio a la dirección A 0.1 sin comisión

Luego la dirección A tiene 0.10002
Y ahora envío desde la A a la dirección B 0.10002 sin comisión.

Y lo que espero conseguir es que el último envío de A a B temine expirando, por qué las anteriores transacciones no se han confirmado.
Primero quiero conseguir eso, hacer que expire algo siempre, a través de muchos envios sin comisión. (Pero esto no me está funcionando)

Y luego posteriormente, probar formas de evitar eso. Como por ejemplo, continuando con el ejemplo anterior, enviar de B a C, pero añadiendo una comisión alta como 0.001 para incentivar a los mineros a confirmar las anteriores.



Title: Re: Hacer que expire una transacción
Post by: Shawshank on May 08, 2014, 11:33:21 AM
Hola, estoy intentando enviar una transacción e intento conseguir que al final termine expirando, pq quiero probar un tema de seguridad.

Sabe alguien como conseguirlo o que me oriente, la prueba que mejor me ha ido es enviando 0.00001 sin comisión y lleva ya casi dos días sin confirmar, pero sigue viva

Si cierras tu cliente la transacción acaba olvidándose pero no sé cuánto tarda. Al volver a ejecutar tu cliente, se "desolvida" pues se vuelve a enviar a la red.

Bueno, creo que me habré explicado mal. Lo que quiero es enviar una transacción a la red y que esta no consiga producirse.
Por ejemplo he pensado

Envio a la dirección A 0.00001 sin comisión
Envio a la dirección A 0.00001 sin comisión
Envio a la dirección A 0.1 sin comisión

Luego la dirección A tiene 0.10002
Y ahora envío desde la A a la dirección B 0.10002 sin comisión.

Y lo que espero conseguir es que el último envío de A a B temine expirando, por qué las anteriores transacciones no se han confirmado.
Primero quiero conseguir eso, hacer que expire algo siempre, a través de muchos envios sin comisión. (Pero esto no me está funcionando)

Y luego posteriormente, probar formas de evitar eso. Como por ejemplo, continuando con el ejemplo anterior, enviar de B a C, pero añadiendo una comisión alta como 0.001 para incentivar a los mineros a confirmar las anteriores.



Nunca puedes garantizar con total certeza que una transacción se olvide completamente en la red una vez que ha sido publicada. En ese caso, se podría confirmar en cualquier momento. Puede que incluso, al cabo de varios años.

Como dice dserrano5, hay soluciones que pueden mitigar el problema.


Title: Re: Hacer que expire una transacción
Post by: lukyforvar on May 08, 2014, 12:07:46 PM
Pero en blockchain cuando intentas enviar una transacción sin comisión, a veces te muestra esto

Quote
Esta es una transacción de baja prioridad. Se recomienda incluir al menos una comisión de 0,0005 BTC con el fin de asegurar que la transacción sea procesada por los mineros.

Puede ser que la transacción tarde un tiempo prolongado en confirmarse si no añades una comisión.Todos los fondos te serán devueltos en un plazo aproximado aproximadamente 24 horas.

Y no se si estoy equivocado, pero creo que se añadio un tiempo de expiración a las transacciones o estaba pendiente de que se introdujera


Title: Re: Hacer que expire una transacción
Post by: dserrano5 on May 08, 2014, 01:54:56 PM
Pues sería interesante ver lo que pasa si yo, minero, recibo tu transacción, espero un par de días, blockchain te devuelve los fondos y luego yo incluyo la tx en mi siguiente bloque :).


Title: Re: Hacer que expire una transacción
Post by: Shawshank on May 08, 2014, 02:16:44 PM
Pero en blockchain cuando intentas enviar una transacción sin comisión, a veces te muestra esto

Quote
Esta es una transacción de baja prioridad. Se recomienda incluir al menos una comisión de 0,0005 BTC con el fin de asegurar que la transacción sea procesada por los mineros.

Puede ser que la transacción tarde un tiempo prolongado en confirmarse si no añades una comisión.Todos los fondos te serán devueltos en un plazo aproximado aproximadamente 24 horas.


Cuando quiero hacer una transacción de unos bitcoins que he recibido recientemente, espero 12 horas o un día y el aviso desaparece, y puedo hacer el envío sin comisión. De todas formas, a precios actuales, 0.0005 BTC son unos 15 céntimos de euro. Te puedes plantear si pierdes más en preocupaciones, revisar, consultas, etc. que en enviar la comisión directamente.


Y no se si estoy equivocado, pero creo que se añadio un tiempo de expiración a las transacciones o estaba pendiente de que se introdujera

Creo que te refieres a nLockTime. http://bitcoin.stackexchange.com/questions/5783/transactions-with-a-wait-time-using-nlocktime (http://bitcoin.stackexchange.com/questions/5783/transactions-with-a-wait-time-using-nlocktime)
nLockTime no se refiere a cancelar transacciones ya enviadas, sino a programar para que una transacción entre en la cadena de bloques a partir de una determinada fecha. Puede ser útil para cumpleaños, o pagos fijos semanales o mensuales, por ejemplo.


Title: Re: Hacer que expire una transacción
Post by: elbill on May 08, 2014, 02:27:33 PM
Pues sería interesante ver lo que pasa si yo, minero, recibo tu transacción, espero un par de días, blockchain te devuelve los fondos y luego yo incluyo la tx en mi siguiente bloque :).

La wallet de blockchain solo refleja lo que hay en la cadena de bloques respecto a tu dirección, igual que los clientes escritorio. Así que si se incluye en un bloque acabaría desapareciendo del saldo ó siendo un doublespend si has conseguido gastarlo.


Title: Re: Hacer que expire una transacción
Post by: lukyforvar on May 08, 2014, 02:55:26 PM
Bueno acaba de expirar la transacción que comenté antes, he recibido este mail de blockchain

Quote
Una transacción realizada a través de Blockchain.info ha sido eliminado de nuestra base de datos, ya que estaba tomando mucho tiempo para ser incluido en un bloque.

Los fondos han sido devueltos a su cartera y ahora puede pasar las monedas de nuevo. Por favor considerar la inclusión de una cuota mayor en futuras transacciones.

https://blockchain.info/tx/ced62d05d6aa13539c437da7df2284441fdbec85302a9da31c962db9a0db8499 (https://blockchain.info/tx/ced62d05d6aa13539c437da7df2284441fdbec85302a9da31c962db9a0db8499)


Es que esto me paso una vez cuando estaba empezando en el mundo bitcoin, y envié sin comisión una transacción. Ahora se me ocurrio el caso ese que puse más arriba y quería probar que pasaba.


Title: Re: Hacer que expire una transacción
Post by: Shawshank on May 08, 2014, 04:49:07 PM
Bueno acaba de expirar la transacción que comenté antes, he recibido este mail de blockchain

Quote
Una transacción realizada a través de Blockchain.info ha sido eliminado de nuestra base de datos, ya que estaba tomando mucho tiempo para ser incluido en un bloque.

Los fondos han sido devueltos a su cartera y ahora puede pasar las monedas de nuevo. Por favor considerar la inclusión de una cuota mayor en futuras transacciones.

https://blockchain.info/tx/ced62d05d6aa13539c437da7df2284441fdbec85302a9da31c962db9a0db8499 (https://blockchain.info/tx/ced62d05d6aa13539c437da7df2284441fdbec85302a9da31c962db9a0db8499)


Es que esto me paso una vez cuando estaba empezando en el mundo bitcoin, y envié sin comisión una transacción. Ahora se me ocurrio el caso ese que puse más arriba y quería probar que pasaba.

Vale, pero eso no evita que existe la posiblidad de que la transacción termine confirmándose con el tiempo. Creo que normalmente las transacciones no confirmadas se quedan en el mempool (memoria RAM de los mineros) durante 24 horas. Después de ese plazo, la transacción candidata desaparece de ahí, pero no es algo que se tenga que cumplir siempre.

Tengo entendido que los procesadores de pago como Bitpay, reenvían automáticamente las transacciones candidatas que no acaban de registrarse en la cadena de bloques, para que no desaparezcan de los mempools y terminen confirmándose.


Title: Re: Hacer que expire una transacción
Post by: lukyforvar on May 08, 2014, 10:02:29 PM
Bueno acaba de expirar la transacción que comenté antes, he recibido este mail de blockchain

Quote
Una transacción realizada a través de Blockchain.info ha sido eliminado de nuestra base de datos, ya que estaba tomando mucho tiempo para ser incluido en un bloque.

Los fondos han sido devueltos a su cartera y ahora puede pasar las monedas de nuevo. Por favor considerar la inclusión de una cuota mayor en futuras transacciones.

https://blockchain.info/tx/ced62d05d6aa13539c437da7df2284441fdbec85302a9da31c962db9a0db8499 (https://blockchain.info/tx/ced62d05d6aa13539c437da7df2284441fdbec85302a9da31c962db9a0db8499)


Es que esto me paso una vez cuando estaba empezando en el mundo bitcoin, y envié sin comisión una transacción. Ahora se me ocurrio el caso ese que puse más arriba y quería probar que pasaba.

Vale, pero eso no evita que existe la posiblidad de que la transacción termine confirmándose con el tiempo. Creo que normalmente las transacciones no confirmadas se quedan en el mempool (memoria RAM de los mineros) durante 24 horas. Después de ese plazo, la transacción candidata desaparece de ahí, pero no es algo que se tenga que cumplir siempre.

Tengo entendido que los procesadores de pago como Bitpay, reenvían automáticamente las transacciones candidatas que no acaban de registrarse en la cadena de bloques, para que no desaparezcan de los mempools y terminen confirmándose.

Ya, pero si gastas el saldo en otra transacción. Sería la maleabilidad a camara lenta xD


Title: Re: Hacer que expire una transacción
Post by: Shawshank on May 09, 2014, 04:53:36 PM
Ya, pero si gastas el saldo en otra transacción. Sería la maleabilidad a camara lenta xD

Claro, si gastas el saldo en otra transacción, la primera deja de tener sentido. Los nodos validadores y los mineros, la rechazarían.


Title: Re: Hacer que expire una transacción
Post by: AbraxasCcs on May 09, 2014, 05:39:28 PM
Es por eso que a pesar de todo el poder de calculo que tiene ahora la red bitcoin los exchanges siguen exigiendo un número de confirmaciones. Pues el problema de un doble gasto no está en que una transacción se cuele a través una cadena "forkeada" (cosa imposible sin un ataque del 51%), sino que el problema radica en que se pueda dar un doble gasto en transacciones de bloques simultáneos que no han sido del todo distribuidos por la red de nodos. Luego cuando se distribuyen bien, los nodos dejaran huérfano al bloque más "joven" y el más "viejo" es el aceptado.