[CONSEJO] Cómo "Deshacer" una transacción de BTC o ETH errónea
10-ene-2018 15:08
#1
|
Dado que veo a unos cuántos usuarios que ya han tenido dicho problema y no han podido solucionarlo a tiempo, me he animado a crear un hilo dado que de este modo quizás pueda ayudar a los siguientes usuarios afectados. Es importante remarcar que este método solo sirve si ACTÚAS RÁPIDAMENTE. Cuándo enviéis por error pasta a una dirección equívoca, debéis de actuar rápido y realizar una transferencia desde la misma dirección a otra dirección en vuestro poder pero CON UNA COMISIÓN MUY ALTA, de este modo la segunda transacción se firmará mucho antes que la primera y será la que finalmente será válida. Con este método he salvado yo tanto BTCs como ETH que había enviado por error a otra dirección. Algunos exchanges como Coinbase en concreto no permite ajustar manualmente la cantidad de comisión para una transacción (uno de los motivos por los que es una mierda). Otros exchanges como blockchain.info sí que lo permiten, y yo en ocasiones lo he hecho desde la propia blockchain.info. En blockchain.info, lo podéis realizar creando una nueva cuenta y utilizando la opción "Importar clave privada". A continuación debéis de realizar una transacción con fees personalizados y mucho más altos a otra dirección en vuestro poder. El tiempo que tendréis de actuación dependerá de la comisión que hayáis dado y de la congestión de la red en cuestión: si os ha pasado con BTC probablemente tendréis varias horas de margen, sin embargo con ETH a lo mejor tenéis 30 o 40 minutos de margen, mientras que con LTC tendréis unos pocos minutos de margen (normalmente menos de 10). El objetivo final es que firmen antes el bloque de la segunda transacción, y que dicho bloque firmado se confirme en la red (normalmente 5 bloques adicionales colgando de este). Este es otro de los motivos por los que es tan importante tener las claves privadas en nuestro poder, ya que si tenemos las claves privada en nuestro poder siempre podremos actuar de este modo, mientras que si el envío se realiza desde la cuenta de un exchange dependerá de si el exchange nos ofrece dicha opción. Cito: Double-spend with a higher fee; this normally shouldn't even be possible unless the original transaction is marked with RBF, but it may be worth trying out anyway, perhaps you'll be lucky. You may need to use some other wallet or even specialized software to do a double spend. It may work, either because the original transaction has ended up in a "ghost-like" state where it's known by some nodes but not others - maybe some miners are unaware that you're doing a double-spend - or it may work because some miners deliberately accepts double-spent transactions as long as they can earn more fees on it.
https://bitcoin.stackexchange.com/qu...lockchain-info Un saludo |
Editado: 10-ene-2018 15:53 -
10-ene-2018 15:22
#3
|
Precisamente un error en una dirección me llevó a perder el equivalente a 1000$ en LTC. En ese caso no pude salvarlos porque la transacción apenas tardó 1 minuto en confirmarse. Al final BTC aunque sus transacciones sean lentas resulta que no va a ser tan malo en caso de que nos equivoquemos X) Las monedas tipo Ripple que incorporan un código de transacción también aportan un componente adicional de seguridad, dado que si nos equivocamos de dirección y el código de transacción no coincide, la transacción no se realizará de forma adecuada y podremos recuperar el dinero. |
10-ene-2018 15:28
#4
|
Buena sugerencia, habra que tenerlo en cuenta ,por si alguna vez ocurre eso de la direccion equivocada. |
10-ene-2018 15:33
#5
| lo había leído antes... pero, el que se confirme antes la 2ª transacción evita que entre la otra? por qué? |
10-ene-2018 15:34
#6
|
Una pregunta. ¿Cuando haces una transacción, en tu cuenta no desaparece al instante, aunque tarde en aparece en la cuenta transferida? Si es así, al hacer otra transferencia desde la misma dirección a otra cuenta tuya, en la que supuestamente se va a hacer más rápido, ¿No te diría la aplicación que no tienes fondos suficientes? |
10-ene-2018 15:40
#7
|
Una pregunta.
¿Cuando haces una transacción, en tu cuenta no desaparece al instante, aunque tarde en aparece en la cuenta transferida? Si es así, al hacer otra transferencia desde la misma dirección a otra cuenta tuya, en la que supuestamente se va a hacer más rápido, ¿No te diría la aplicación que no tienes fondos suficientes? Y otra forma es haciendo uso del propio bitcoin-core (o su equivalente segun la moneda) firmar y enviar tu mismo una transaccion personalizada (desde consola) a la red. |
10-ene-2018 15:51
#9
|
Otra opción es hacer uso de RBF (implementado en 2017), siempre que la aplicación lo soporte: Replace by Fee (RBF): By 2017 many miners will accept a double spend if and only if it's done through the RBF protocol. To use RBF, the original transaction should have been sent as a "replaceable" transaction - only a few wallets supports this, probably blockchain.info does not support this, so this probably doesn't apply to you. I'll still leave it here as it arguably is the best way to "unstick" transactions. RBF can also (theoretically - not supported by many wallets) be used to retract an existing zero-conf transaction. It may be a bad idea to set all outgoing transactions to be replaceable by default, if you buy coffee with an RBF-transaction you may end up not getting the coffee until it's cold.
|
10-ene-2018 15:54
#10
|
pero no entiendo... me quieres decir que no puedo hacer dos transacciones seguidas? Es decir, creo que me falta algún paso. 1 - hago tx errónea 2 - me doy cuenta y meto una más prioritaria (+fee) para que entre primero 3 - cancelo la 1 o algo, porque si no acabará ejecutándose no? |
10-ene-2018 16:10
#11
|
Piensa que cuando tú envías una transacción, esta se queda en un mempool, pero dicha transacción no existe en la blockchain hasta que ha sido incluido en algún bloque, y que este bloque haya sido firmado. Una vez dicho bloque haya sido firmado, la transacción se considera válida cuándo tiene 6 confirmaciones, que es lo mismo que decir que de dicho bloque cuelgan otros 5 bloques. Un saludo |
10-ene-2018 16:17
#12
| De todas formas, aunque la aplicación permita hacer eso, deberías transferir todos tus fondos disponibles. Me explico, tienes 2 bitcoins en tu cuenta, transfieres 0,5 a otra cuenta. Te das cuenta de que la cuenta destino es erronea, para no perder ese dinero, tienes que transferir tus dos bitcoins a otra cuenta tuya antes de que se complete la transferencia inicial de 0,5 btc, ya que cualquier saldo igual o inferior a 1,5 btc será cogido de tu saldo disponible. ¿No? |
10-ene-2018 16:22
#13
|
De todas formas, aunque la aplicación permita hacer eso, deberías transferir todos tus fondos disponibles. Me explico, tienes 2 bitcoins en tu cuenta, transfieres 0,5 a otra cuenta. Te das cuenta de que la cuenta destino es erronea, para no perder ese dinero, tienes que transferir tus dos bitcoins a otra cuenta tuya antes de que se complete la transferencia inicial de 0,5 btc, ya que cualquier saldo igual o inferior a 1,5 btc será cogido de tu saldo disponible. ¿No?
Sin embargo, esto ya dependerá de la moneda concreta y de las variaciones en el scripting de la transacción que hayan implementado con respecto a BTC (una transacción de BTC en verdad almacena un script que se ejecutará al completarse la transacción). Más info al respecto del lenguaje de script de BTC: https://en.bitcoin.it/wiki/Script |
10-ene-2018 16:22
#14
|
Dado que veo a unos cuántos usuarios que ya han tenido dicho problema y no han podido solucionarlo a tiempo, me he animado a crear un hilo dado que de este modo quizás pueda ayudar a los siguientes usuarios afectados.
Es importante remarcar que este método solo sirve si ACTÚAS RÁPIDAMENTE. Cuándo enviéis por error pasta a una dirección equívoca, debéis de actuar rápido y realizar una transferencia desde la misma dirección a otra dirección en vuestro poder pero CON UNA COMISIÓN MUY ALTA, de este modo la segunda transacción se firmará mucho antes que la primera y será la que finalmente será válida. Con este método he salvado yo tanto BTCs como ETH que había enviado por error a otra dirección. Algunos exchanges como Coinbase en concreto no permite ajustar manualmente la cantidad de comisión para una transacción (uno de los motivos por los que es una mierda). Otros exchanges como blockchain.info sí que lo permiten, y yo en ocasiones lo he hecho desde la propia blockchain.info. En blockchain.info, lo podéis realizar creando una nueva cuenta y utilizando la opción "Importar clave privada". A continuación debéis de realizar una transacción con fees personalizados y mucho más altos a otra dirección en vuestro poder. El tiempo que tendréis de actuación dependerá de la comisión que hayáis dado y de la congestión de la red en cuestión: si os ha pasado con BTC probablemente tendréis varias horas de margen, sin embargo con ETH a lo mejor tenéis 30 o 40 minutos de margen, mientras que con LTC tendréis unos pocos minutos de margen (normalmente menos de 10). El objetivo final es que firmen antes el bloque de la segunda transacción, y que dicho bloque firmado se confirme en la red (normalmente 5 bloques adicionales colgando de este). Este es otro de los motivos por los que es tan importante tener las claves privadas en nuestro poder, ya que si tenemos las claves privada en nuestro poder siempre podremos actuar de este modo, mientras que si el envío se realiza desde la cuenta de un exchange dependerá de si el exchange nos ofrece dicha opción. Cito: Fragmento extraido de: https://bitcoin.stackexchange.com/qu...lockchain-info Un saludo Buen metodo. Te recalco que cuando hablas de que lo mineros firman realmente no firman sino que lo meten en la cadena de bloques. Firmar una transaccion la realiza la persona que va a mandar BTC, que con la clave privada firma la transaccion, luego posteriormente el minero identifica que la firma es correcta gracias a la clave publica (o direccion BTC). Pero el minero no firma nada. |
10-ene-2018 16:35
#15
|
Buen metodo.
Te recalco que cuando hablas de que lo mineros firman realmente no firman sino que lo meten en la cadena de bloques. Firmar una transaccion la realiza la persona que va a mandar BTC, que con la clave privada firma la transaccion, luego posteriormente el minero identifica que la firma es correcta gracias a la clave publica (o direccion BTC). Pero el minero no firma nada. Y a continuación intentan calcular el valor inverso de la función hash SHA-256 de la cabecera del bloque. Como una función hash es irreversible, no les queda otra que realizar un proceso de fuerza bruta sobre el mismo (que es lo que conocemos como minado). Aunque en realidad realizan un cómputo parcial, ayudados por un número de ceros situados a la izquierda que facilitan dicha labor (dificultad de minado). El primer minero que lo averigua, es el que se lleva la recompensa de minado del bloque y el que propaga al resto de nodos dicho valor, los cuales lo verifican (realizar el SHA-256 de un valor es algo trivial). He utilizado la palabra "firmar", para describir el proceso de cálculo de minado del bloque, aunque quizás no sea lo más adecuado, ya que acostumbramos a utilizar el termino "sign" (en inglés firmar) para la criptografía asimétrica (con una clave pública y otra privada) que en el caso del Bitcoin se suele emplear cuándo nos referimos al algoritmo de FIRMADO de curva elíptica de las claves de las carteras (Secp256k1 para ser más exactos). Sorry por la imprecisión Pd: Aunque créeme que entiendo bien como funciona BTC jejeje
|
10-ene-2018 17:22
#16
|
De todas formas, aunque la aplicación permita hacer eso, deberías transferir todos tus fondos disponibles. Me explico, tienes 2 bitcoins en tu cuenta, transfieres 0,5 a otra cuenta. Te das cuenta de que la cuenta destino es erronea, para no perder ese dinero, tienes que transferir tus dos bitcoins a otra cuenta tuya antes de que se complete la transferencia inicial de 0,5 btc, ya que cualquier saldo igual o inferior a 1,5 btc será cogido de tu saldo disponible. ¿No?
|