Browse By

Entendiendo el problema de Balance cero en la wallet IOTA

En primer lugar, no se asuste, sus IOTA probablemente estén seguros. Recuerde que la billetera es  un visualizador de su saldo que le permite operar (vendiendo o recibiendo) pero sus IOTAS no están almacenados allí sino en la Tangle. En la mayoría el balance 0 tiene que ver con problemas de comunicación entre su wallet y la Tangle.

Es muy importante enfatizar en que nunca debe darle su seed a nadie. Especialmente si dicen que son desarrolladores de IOTA y que lo ayudarán a recuperar su saldo. Estas personas son estafadores y robarán su IOTA. Quien tiene la seed de la cuenta tiene los fondos.

Le mostraré los pasos que puede seguir para recuperar su saldo. También intentaré explicarte por qué sucedió esto. Recomendamos que se tomen el tiempo para leer y comprender los cómo  y porques. Comprender en qué invirtió es lo mejor que puede hacer para mantener su inversión segura.

Pasos para recuperar su balance

  1. Primero, asegúrese de actualizar a la última versión de la billetera (versión 2.5.3 al momento de escribir esto). Puede saltear con seguridad versiones anteriores si no las instaló. Estas versiones anteriores ya no funcionarán. El proceso para la billetera Android debe ser similar. Solo asegúrate de actualizar a la última versión. Aquí puede encontrar la última versión de la billetera para Windows, Mac y Linux, según corresponda.
  2. Luego, determine si necesita reclamar sus fondos. No inicie la herramienta para reclamar fondos todavía. Si utilizó la billetera anterior (2.5.1) y tenía fondos visibles en esa billetera, no necesita reclamar fondos con la herramienta de reclamo. Simplemente continúe con el paso 3 primero para encontrar su saldo nuevamente. Si usó su billetera por última vez antes de la transición en agosto, o si ya sabe que la fundación IOTA tomó la custodia de algunos de sus fondos, entonces necesita tomar algunas medidas adicionales para reclamar sus fondos después de que restauró su saldo. Discutiré sobre eso más tarde. Si inició la herramienta de reclamar innecesariamente, no hay problema. Todavía puede usar su semilla anterior y usar los siguientes pasos para encontrar su saldo.
  3. Después de instalar la nueva billetera, debe configurar su billetera correctamente. Lo que debe hacer es ir a Herramientas-> Editar configuración de nodo.
  4. Asegúrese de que se haya seleccionado un nodo Host. Si ve “Seleccionar su host” en el campo Host, use el menú desplegable para seleccionar uno. Por lo general, cualquiera lo hará. Sin embargo, tenga en cuenta que un host puede estar temporalmente fuera de línea, por lo que si después de seleccionar uno el monedero indica sin conexión, es posible que deba probar otro nodo. Mi experiencia muestra que los nodos bitfinex e iotatoken.nl son bastante confiables y rápidos. Si necesita ingresar un nodo manualmente, recomendamos http://iota.bitfinex.com:80
  5. Asegúrese de que la Magnitud mínima del peso (Min Weight) esté configurada en 14. Los valores más altos no deberían ser un problema, pero solo causarán que el PoW tarde más innecesariamente.
  6. Finalmente, verá un campo que dice Implementación de Curl (Curl Implementation). El valor predeterminado es WebGL, que es una nueva configuración que le permite a la billetera usar su tarjeta gráfica para realizar la Prueba de trabajo, acelerando así el proceso. Sin embargo, algunas personas encontrarán que obtienen un error “Invalid Transaction Hash” al usar esta configuración. La solución para esto es seleccionar CCURL en su lugar.
  7. Tenga en cuenta que puede ser necesario cerrar y reiniciar la billetera después de cambiar cualquiera de esas configuraciones. Haga eso solo para asegurarme de que los cambios estén activos.
  8. Ahora puede usar su seed para iniciar sesión en la billetera, de modo de comenzar el proceso para recuperar su saldo. Asegúrese de que está utilizando la semilla correcta. Cualquier error tipográfico en la semilla dará como resultado una billetera diferente, y tratar de encontrar el balance no funcionará, obviamente. Hay un campo de suma de comprobación útil al lado del campo donde puede ingresar su semilla. La billetera le dirá si su semilla es demasiado corta o demasiado larga. Y si ha ingresado exactamente 81 caracteres, le mostrará un checksum de 3 caracteres que siempre debería ser la misma para cada versión de la billetera. Esto le permitirá ver rápidamente si cometió un error tipográfico, ya que dará como resultado un checksum diferente. Si no está seguro de haber usado la semilla correcta, hay instrucciones más abajo para ayudarlo a asegurarse.
  9. Después de iniciar sesión en la billetera, haga clic en la sección Recibir. Le mostrará una nueva dirección de recepción. Ahora haga clic en “Attach to Tangle”. El mensaje “Attaching to Tangle” se desplegará por un tiempo. Espera a que se complete. Si lleva demasiado tiempo, puede probar con un nodo diferente y más rápido, como se describe en el paso 4. Una vez que dice “Address attached”, es posible que vea actualizado su saldo total con el saldo de esa dirección. De lo contrario, haga clic en “Address attached”. Ahora dirá “Generate new address”. Haga clic de nuevo. Eso causará que se genere la siguiente dirección y mostrará “Attach to Tangle” nuevamente. Repita este procedimiento tantas veces como sea necesario para recuperar completamente su saldo. Puede hacer clic en la sección Historial para ver cuántas y qué direcciones ha generado hasta ahora. Las direcciones pueden estar en estado pendiente, pero eso no tiene importancia para encontrar su saldo. Deberá generar todas las direcciones que haya utilizado antes para que todo su saldo vuelva a aparecer. Entonces, si tiene una idea de cuántos utilizó antes, será útil. La mayoría de las personas debería poder encontrar parte o todo su saldo dentro de las primeras 20-30 direcciones. Pero sé de personas que necesitaron hacer más de 150 reattachments porque habían sido muy activos con su billetera. Si su saldo comenzó a aparecer pero nunca se muestra por completo, y no cambia más después de volver a colocar, no se moleste en continuar. Los fondos generalmente se agrupan al final de la lista de direcciones. Cualquier fondo que aún falta puede haber sido puesto bajo custodia. Vea a continuación para obtener detalles sobre cómo verificar eso.
  10. Si no logró encontrar su saldo siguiendo estos pasos, le sugiero que se tome el tiempo para leer las explicaciones a continuación. Debe ser capaz de entender por qué aún no se muestra y qué puede hacer al respecto. Aún si ya encontró su saldo, recomendamos la lectura de lo que sigue. Lo ayudará a comprender mejor cómo funciona IOTA y en qué está invirtiendo su dinero.

¿Cómo funciona una Wallet IOTA?

Contrariamentre a lo que la mayoría de la gente cree, su billetera IOTA no contiene sus IOTA. En cambio, sus IOTA se almacenan de manera segura en una o más direcciones de la Tangle. Puede ver su billetera como un navegador que sabe cómo recuperar el saldo de una dirección. Para hacer esto, se pone en contacto con un nodo, y le pide que encuentre el saldo de esa dirección en la base de datos del libro mayor distribuido (distributed ledger database). Este libro mayor es la Tangle. Para poder recuperar todo su saldo, la billetera generalmente tendrá que recuperar los saldos de varias direcciones que pertenecen a su billetera y agregarlas todas. El resultado final se muestra como su saldo actual y es esta la razón por la que tenemos que pasar por el tedioso proceso de generar addresses y attachearlas varias veces.

Veamos un detalle importante: su billetera -al principio- no sabe cuántas y qué direcciones debe examinar para recuperar su saldo. Parte de la semilla de 81 caracteres que proporcionó cuando inició sesión en la billetera, que es la clave que permite que la billetera genere siempre las direcciones utilizadas por su billetera de manera determinista. Determinístamente significa que, dada la misma semilla, siempre será capaz de generar la misma secuencia de direcciones, una por una. Para determinar su saldo total acumulado, la billetera le pedirá al nodo que mantenga el saldo de cada dirección en sucesión hasta que el nodo indique que no se puede encontrar una dirección porque no está presente en la Tangle. Esto le indica al monedero que no ha generado/usado esa dirección anteriormente, por lo que puede dejar de acumular saldos de direcciones. Es importante recordar este hecho, porque en breve explicará por qué su saldo actualmente es cero.

La billetera generará nuevas direcciones según sea necesario de dos modos. En primer lugar, y el más común, cuando desee recibir IOTA deberá generar una nueva dirección de recepción y attachearla a la Tangle. No se recomienda reutilizar direcciones porque el proceso de firma usado para gastar fondos desde una dirección emplea firmas únicas. Debido a la naturaleza única del proceso de firma, la clave privada para esa dirección queda parcialmente expuesta por cada gasto de la misma dirección, debilitándola a ataques de fuerza bruta. Y dado que cualquiera que tenga la clave privada de una dirección puede gastar los fondos en esa dirección, no es muy inteligente exponerse a tal ataque. Por esto, la billetera intenta defenderse de tales ataques moviendo automáticamente los fondos restantes después de gastar a una nueva dirección en la billetera.

Esa es la segunda forma en que la billetera generará nuevas direcciones. Cuando le indica que envíe una cierta cantidad de IOTA a otra dirección, lo que hará es ir a través de las direcciones conocidas en su billetera una por una, empezando por la primera, generando las direcciones en secuencia desde su seed. La billetera acumula la cantidad de IOTA que encuentra en el camino en direcciones con un saldo distinto de cero, hasta que haya acumulado suficientes IOTA para cubrir la cantidad que desea enviar. El contenido de las direcciones distintas de cero que ha acumulado de esta manera se enviará como una única transferencia a la dirección de recepción y, si hay un resto, el resto se enviará como una segunda transferencia a una dirección recién generada en su billetera. Esto causará que la última dirección se adjunte a la Tangle, por lo que vive allí ahora, y la billetera podrá verlo como en uso cada vez que busque su saldo como se describe anteriormente. Todas las direcciones utilizadas como entrada para la transacción terminarán teniendo un saldo cero, por lo que es probable que no se vuelvan a utilizar, a menos que cometa el error de no crear una nueva dirección de recepción, sino que vuelva a utilizar una anterior.

Es importante para el proceso de recuperación que tenga una idea de cuántas direcciones estaban en uso antes de “perder” su saldo (antes de que ocurriera el snapshot, que explicaremos a continuación). La mayoría de las personas, tendrá una o dos docenas de direcciones. Pero quienes usaron la billetera regularmente antes de que ocurriera el snapshot, pueden facilmente tener un número mayor de direcciones. Personalmente, he ayudado a alguien a recuperar su saldo que tenía más de 150 direcciones en uso en su billetera.

¿Por qué mi balance es cero?

Para comprender qué sucedió, es preciso entender qué sucede cuando la fundación IOTA genera un snapshot de la base de datos del ledger de IOTA. Esto se hace de vez en cuando por razones de mantenimiento. El último snapshot se creó el 24 de octubre de 2017. Una razón para tomar snapshots es que la Tangle se expande constantemente y, por lo tanto, ocupa más y más espacio. Para ayudar a los nodos a mantener la cantidad de memoria que necesitan para almacenar la base de datos limitada, se elimina el historial de transacciones de la Tangle. Tengas en cuenta que luego de cada transacción se generan direcciones con saldo 0 que ya no son de utilidad. Las transacciones que causaron esto ya no son necesarias para el correcto funcionamiento de los nodos pero ocupan espacio. Hay incluso más formas en que pueden ocurrir transacciones de saldo cero, como cuando una billetera genera y agrega una nueva dirección a la Tangle. También hay transacciones que se utilizan como mensajes entre sistemas y no contienen ningún saldo.

Por lo tanto, luego del Snapshot, el resultado final es una lista de todas las direcciones que contienen un saldo distinto de cero y sus respectivos saldos, y no se conserva ningún historial de cómo ocurrieron esos saldos en los nodos regulares. Por cierto, esta historia se conserva en los llamados nodos permanentes (permanodes), que harán un seguimiento de todo el historial hasta la primera transacción. Pero para la mayoría de los casos de uso, este historial no es necesario. Son solo los saldos finales distintos de cero los que importan, ya que son los únicos que pueden gastarse.

Tenga en cuenta que las transacciones que no se encuentran confirmadas durante el proceso de la toma de snapshot se cancelarán y será como si los fondos nunca hubieran salido de la billetera del remitente. Esto supone que algunas transacciones deben realizarse nuevamente una vez que haya restaurado su billetera. Una transacción de su billetera a Bitfinex que se canceló nunca habrá salido de su billetera. Una transacción de Bitfinex a su billetera que se canceló nunca habrá salido de la billetera de Bitfinex. Simplemente envíe esas transacciones nuevamente cuando eso ocurra. No deberían representar ningún problema.

Ahora, ¿recuerda cómo la billetera encontrará su saldo? Le pide a un nodo que recupere los saldos de cada dirección que genera en sucesión a partir de  su seed, comenzando por la primera, que ha sido utilizada en una transacción, hasta que encuentre una dirección no utilizada, lo que indica que la billetera no lo hizo generar esa dirección antes. Sin embargo, dado que el Snapshot ha eliminado todas las transacciones históricas, la primera dirección que intentará chequear ya no existe, por lo que se deja de buscar saldos de inmediato dado que se interpreta que aún no se ha generado esa dirección. Esto es lo que, finalmente, resulta en un saldo acumulado de cero.

Esa es la razón por la que ve un saldo cero. La billetera simplemente dejó de buscar direcciones con saldos demasiado pronto, porque no sabe que el proceso de snapshot ha eliminado el historial de transacciones. Esto significa que el remedio para encontrar su saldo es simple. Comience a generar de nuevo y attacheé sus direcciones de recepción usadas una por una. Esto provocará que las transacciones con saldo cero que utilicen esa dirección se conecten a la Tangle. Lo que significa que la billetera ahora puede ver que la dirección está en uso y le pide al nodo el saldo correspondiente. En particular, debe hacer esto tantas veces como haya usado direcciones en el pasado, para que todas puedan encontrarse nuevamente en la Tangle. Sin duda, este es un proceso tedioso y hubiera sido bueno que los diseñadores de la GUI Wallet incluyeran un comando que le indique que genere las siguientes X direcciones hasta que encuentre una con un saldo. Pero ese no es el caso en este momento, por lo que no tiene sentido quejarse. Estoy seguro de que esta característica aparecerá en las próximas versiones de la billetera.

¿Por qué aún habiendo seguido todos los pasos no recupero mi balance?

Los Snapshots del 22 de septiembre y el 24 de octubre han realizado dos tareas de mantenimiento adicionales que pueden llevar a que aún no logre recuperar su saldo correcto. En primer lugar, dado que la implementación de la función PoW (curl) ha cambiado en agosto, hubo una necesidad de transición de saldos al uso de la nueva implementación curl. Mucha gente ya realizó esta transición como parte de la actualización de su billetera de una versión anterior a la versión 2.4.0. Debido a que hay personas perdieron sus seeds y muchas que aún no hicieron la transición, la fundación IOTA ha tomado la precaución de eliminar esas direcciones antiguas de la Tangle para securizarlas bajo su custodia. Entonces, si su billetera era anterior a la versión 2.4.0, puede caer en esa categoría. Deberá utilizar la herramienta de reclamo (Reclaim Tool) para recuperar esos fondos.

En segundo lugar, debido a que se descubrió que un gran número de personas habían reutilizado muchas veces su address para realizar envíos, lo que expone sus fondos al robo, la fundación IOTA decidió tomar la custodia similar de esas direcciones para que ya no sean vulnerables. Eso significa que si accidentalmente realizó envíos desde la misma dirección más de una vez en el pasado, y esta dirección todavía tenía un saldo, tendrá que usar la herramienta de reclamo como se explica más abajo para reclamar esos fondos.

En ambos casos, uno o más de los saldos de su dirección aún pueden no aparecer en la billetera, aún después de que se generar la dirección que falta en la Tangle. El saldo de dichas direcciones se trasladó a la dirección de custodia de la fundación IOTA. Puede verificar esas direcciones si cree que puede ser lo que les ha sucedido aquí:

https://gist.githubusercontent.com/cyclux/2bb05d873c4ec6115cad1d100263d489/raw/612a49e46091586957448f6606ea981ab18022e7/snapshot_validation_20171023.txt

Simplemente copie una dirección de la que desea obtener información búsquela en esa página. Asegúrese de usar solo los primeros 81 caracteres de la dirección, ya que la suma de comprobación de 9 caracteres no está presente en esta lista. Solo pego la dirección y eliminó los últimos 9 caracteres.

Si su dirección muestra una categoría de KEY_REUSE en esta lista, entonces ha ejecutado más de un gasto desde esa dirección y el saldo está ahora bajo la custodia de la fundación IOTA hasta que lo reclame.

Si su dirección muestra una categoría de CURL_UNUSED, su dirección no pasó a la nueva implementación de curl todavía y el saldo también está bajo custodia de la fundación IOTA hasta que la reclame.

¿Cómo me aseguro de estar usando la seed correcta?

Si no recuerda el checksum de 3 caracteres o no sabe con certeza si está utilizando la seed correcta, estas son algunas formas de averiguarlo:

Si sabe aproximadamente cuántas direcciones solía tener en su billetera, simplemente continúe y vuelva a generar al menos esa cantidad de nuevas direcciones de recepción (pasos detallados a continuación). En el camino, por lo general hacia el final, debería ver que su saldo aumenta. Si su saldo no es cero, es una pista de que definitivamente está en su propia billetera con la semilla correcta. Si parece que no puede obtener el saldo completo, puede necesitar generar aún más direcciones, o algunos de sus fondos fueron detenidos por la Fundación IOTA por los motivos descritos anteriormente. En ese caso, deberá verificar las direcciones que cree que deberían contener un saldo distinto de cero en la lista de snapshots. Y si los encuentra allí, tendrá que reclamarlos utilizando la herramienta de recuperación.

Asegurándose de que está utilizando la billetera correcta, puede hacerlo fácilmente utilizando el historial de retiro de Bitfinex o el de cualquier otra central que utilice. Explicaré los pasos para Bitfinex pero otros Exchanges deberían ser análogos. Probablemente su primera y/o última transacción fue una withdrawal de Bitfinex, a menos que alguien más le haya enviado algo de IOTA. Pero si alguna vez usó Bitfinex aquí, es un consejo para verificar que está en la billetera correcta:

Inicie sesión en Bitfinex y vaya a la página de withdrawals. Encuentre cualquier retiro (preferiblemente el “más antiguo”) que realizó hacia una dirección en la billetera “actual”. Ignore los retiros a otras carteras. Haga clic en el retiro seleccionado y Bitfinex le mostrará la dirección de la billetera a la que se retiró. Ahora, cuando empiece a generar nuevamente direcciones, vea si esta dirección es una de las que se está generando. Si es así, puede estar absolutamente seguro de que está en la billetera correcta y solo es cuestión de regenerar más direcciones para restablecer el equilibrio. El único inconveniente en este caso podría ser que la fundación IOTA tenga en su poder uno o más saldos por las razones antes descritas.

La otra función útil del historial de retiro de Bitfinex es que la transferencia más reciente a una dirección en su billetera probablemente todavía debería estar allí. A menos que haya gastado esos fondos después. Esto significa que puede verificar la dirección del retiro más reciente contra la lista de snapshots como se describe arriba y ver si todavía contiene un saldo. Si lo hace, ese saldo de dirección debe estar disponible en su billetera. Solo siga generando direcciones hasta llegar a esa dirección.

¿Cómo utilizo la herramienta de reclamo?

Si está absolutamente seguro de que la fundación IOTA asumió la custodia de algunos de sus fondos después de verificar lo anterior, deberá usar la herramienta de reclamo (Reclaim Tool) para reclamar sus fondos. Tenga en cuenta que el proceso de reclamo es un proceso de dos pasos actualmente, y el segundo paso solo se puede completar una vez que salga la próxima versión del monedero. Se supone que esto ocurrirá dentro de una semana, pero dado el historial de IOTA según los plazos, podría ser considerablemente más largo. No se preocupe Tomará el tiempo que sea necesario para asegurarse por completo de que la herramienta es segura de usar. Más vale prevenir que curar.

NOTA: para asegurarse de que no comete ningún error tipográfico al ingresar sus semillas viejas y nuevas con esta herramienta, le sugiero que las copie/pegue desde una copia de trabajo comprobada. Sería tonto finalmente reclamar sus fondos a una semilla que contiene un error tipográfico y, por lo tanto, los fondos recuperados se volverían irrecuperables.

ACTUALIZACIÓN: La herramienta de reclamo en la fase 2 volverá a solicitar la nueva semilla, por lo que a menos que realice el mismo error dos veces, esto no parece ser realmente un problema. En caso de que se incluyan reclamos múltiples, el que se confirme en el hito más bajo será el procesado.

Pueden encontrarse más detalles acerca de la Reclaim Tool en el post GUI v2.5.2: Latest Release with IOTA Reclaim Tool, de Dominik Schiener.

Fuente: https://forum.helloiota.com/588/Help-My-IOTA-balance-is-zero-steps-to-help-you-find-your-balance-v252

 

 

Comentarios

comentarios