如何找回IOTA余额

首先,不要担心,你的IOTA非常安全。

其次,无论在什么时候,无论你面对的是谁,千万不要把种子(seed)告诉任何人。就算有人声称是IOTA开发者能够帮你恢复余额也不能交出种子。这些人很可能是骗子,他们会盗走你的IOTA。

我将会告诉你们取回余额的步骤。我还会说明这种情况发生的原因。我建议大家花时间读一下这篇文章,并且要了解事情发生的原因和过程。了解你投资的产品是保证投资安全的最佳方式。

找回余额的步骤

首先要确认你更新到了最新的桌面钱包2.5.4,如果之前没有安装可以直接跳过旧版本。这些旧版本将不再运作。安卓钱包的安装过程也类似。只要确保更新到最新版本就可以了。你可以在这里(https://github.com/iotaledger/wallet/releases)找到2.5.4版本的Windows、Mac和Linux桌面钱包。

接着,你要决定是否取回资金。不要一开始就用取回工具(reclaim tool)。如果你之前用过旧版的钱包(2.5.1以上的版本),而且你的资金在旧版钱包里是可见的,那么你就不需要用取回工具拿回这笔资金。直接进行第三步找回余额。如果你在8月份切换版本之后就没有用过钱包,或者如果你已经知道IOTA基金会托管了你的部分资金,那么在恢复余额之前你就需要采取一些额外的步骤取回资金。我会在之后提到这类情况。如果你在不必要的情况下启动了取回工具,也没什么大问题。你的旧种子仍然可以继续使用,并且采取接下来的步骤恢复余额。

安装了新钱包之后,你需要正确设置钱包。选择工具(Tools)——编辑节点配置(Edit Node Configuration)。

一定要选择主节点(Host node)。如果你在主机区(Host field)看到了“选择你的主机”(Select Your Host),然后就滑动鼠标选择其中一个。通常所有的主机都是可以用的。不过,主机有时候可能会暂时下线,因此如果你做出选择之后显示的是无法连接(No Connection),那么你可以去选择另一个主机。我的操作经验告诉我,iotatoken.nl这个主机是最可靠,速度也是最快的。

将最小重量值(Min Weight Magnitude)设置在14。数值再设高一点也没有问题,但只会让工作证明的过程出现不必要的延时。

最后就是Curl部署(Curl Implementation)。默认的是WebGL,这个全新的设定能够让钱包用你的显卡来进行工作证明,从而加速这一流程。然而,有些人在使用这一设定的时候会收到“无效交易哈希”(Invalid Transaction Hash)的提醒。解决这个问题的方法就是要么选择CCURL,要么参照这个链接(https://steemit.com/iota/@tector/iota-light-wallet-2-5-1-dealing-with-invalid-transaction-hash

)里的指示,确保你的钱包使用了正确的显卡。

要注意,更改这些设置之后,可能需要你关闭钱包并进行重启。这样是为了确保更改后的设置已经生效。

现在你可以用你的种子登录钱包了,这样才能开始找回余额。绝对要保证你使用了正确的种子。种子输入有误会导致你被切换到不同的钱包,很显然,这样你就没办法找回余额了。在输入种子的输入框旁边有一个校验的区域能够帮助你检验种子是否无误。如果种子太短或者太长,钱包都会提醒你。如果你准确输入了81个字符,那么就会有一个3位数校验码出现,而且这个校验码在每个版本的钱包里的都是一模一样的。它能帮助你快速查验种子是否有误,因为任何错误都会导致不同的校验码出现。如果你不确定自己用的种子是否正确,下文将会对你有所帮助。

登录钱包之后,点击接收(Receive),然后就会出现一个新的接收地址。点击加入Tangle(Attach To Tangle),接着就会显示“加入中”(Attaching to Tangle)。然后等待这个过程完成。如果等待时间较长,那么你就可以参照上文步骤重新选择一个更快的节点。只要出现“地址加入成功”(Address Attached)的提醒,你就可以看到你的余额开始在那个地址余额里面进行更新。如果没有的话,就点击“地址加入成功”(Address Attached),然后就会出现“生成新地址”(Generate New Address),再次点击生成新地址。这样就会生成另一个地址,然后就重新进行加入Tangle(Attaching To Tangle)。如果还是不行就继续重复这个步骤,直到余额成功恢复为止。你可以点击历史(History)查看自己已经生成的地址。地址可以是挂起状态(pending),但这不影响你找回余额。你需要生成之前用过的所有地址,这样才能完整显示余额。因此,如果你记得之前用过多少地址绝对非常有帮助。大多数人都能在生成20到30个地址之后找到部分或全部余额。不过我也知道有人需要反复进行150多次的添加过程,因为他们的钱包实在太活跃了。如果你的钱包余额开始出现,但并未全部显示出来,而且在反复添加之后都余额都没发生改变,那么就继续重复这个过程。通常资金可能聚集在最后生成的地址中。如果仍然有部分资金没有找回,那么这些资金很可能在托管状态。继续阅读下文检验你的资金是否被托管。

如果通过上述步骤都没有找回余额,我建议你花时间看看下文的解释。你需要了解余额为什么还是无法显示以及你可以做什么。如果你已经找到余额?那就恭喜你了!但我仍建议你阅读下文了解更多有关你投资的IOTA的知识。我知道花时间看这么长的文章很痛苦,但毕竟这个钱包软件和IOTA都还在测试阶段,了解的多一些才能防止造成资金损失。

IOTA钱包的运作模式?

和大多数人想的不一样的是,IOTA钱包并不持有你的IOTA币。反之,你的IOTA被安全地存在Tangle网络中一个或多个地址里。你可以将你的钱包视作浏览器,它知道如何取回某地址中的余额。要完成这个目标,钱包要和节点建立联系,让节点在Tangle这个分布式账本数据库中寻找地址中的余额。要取回所有余额,钱包通常要从多个连接着钱包的地址中收回余额,然后把所有资金加在一起。最终的结果才会显示在你现在的余额里。

有一件很重要的事:钱包一开始并不知道有多少地址以及哪些地址能够取回你的余额。唯一的线索就是你在登录钱包的时候提供的81位种子。这个种子就是密钥,能够让钱包重新生成地址。同一串种子生成的是同一序列的地址。要确定你的余额,钱包会询问节点每个地址的余额,直到节点提示因为某地址不存在于Tangle的交易中,无法找到这一地址为止。这就代表这个钱包之前没有生成过或者使用过这个地址,因此就可以安全地停止收集地址余额。记住这一点是很有必要的,因为这样就能轻松解释目前你的余额为什么会是零。

钱包将按照需求通过两种重要的方式生成新地址。首先,最常见的一种方法就是,当你想要在钱包中接受IOTA,你就需要生成新的接收地址,然后加入到Tangle中。地址不能被重复使用,因为签名的过程是用于花费地址中的资金的,这个过程采用的是一次性的签名。由于签名过程单次有效,地址进行花费时使用的私钥有部分将会被曝光,很可能引发暴力破解。但鉴于任何持有某地址私钥的人都能花费这个地址中的资金,让自己面对这类攻击是不明智的。因此,钱包通常都会在进行花费之后自动转移剩余资金到一个新的地址,从而达到防止攻击的目的。如果某个地址已经有花费记录,而你又尝试通过这个地址花费资金,那么钱包就会显示“私钥已被重复使用”(private key reuse)的提醒。

钱包生成新地址的第二种方式就是将已花费的地址中的余额转移到新的地址中。当你把特定数量的IOTA发送到其他地址的时候,钱包就会一个接一个地检查已知的地址,从第一个开始,依次通过种子生成地址。钱包会收集所有地址的IOTA余额,直到它集齐了足够的IOTA来发送资金。钱包收集的资金将会通过单笔交易转移的形式发到接收地址,如果有多余的资金,这笔资金就会被通过第二次转账的方式转移到钱包生成的新地址中。这个新地址会被添加到Tangle并且开始活跃,钱包也会在查看余额的时候将这个地址的状态视为使用中。所有作为交易输入的地址最终余额都会为零,因此它们不会被重复使用,除非你犯了错误,没有创建一个新的接收地址,反而用了以前用过的地址。

对于资金恢复过程来说十分重要的是,你应该记得在“丢失”余额(快照发生之前)之前用过多少地址。对大多数人来说,用过的地址大概都在10到20个左右。但有些用户在快照之前曾频繁使用自己的钱包,那么他们用过的地址很可能是数百个。我曾经帮助一个人找回余额,他的钱包就有150多个地址。

我的余额为什么为零?

要了解之前发生了什么,你应该清楚IOTA基金会生成新的IOTA账本数据库快照的时候发生了什么。为了对系统进行维护,IOTA基金会经常会这样做。上次快照在2017年10月24日。进行快照的其中一个原因是Tangle在不断扩张,因此占了越来越多的内存。为了帮助节点留出他们所需的内存用于存储数据库,Tangle会移除交易历史。每笔交易结束之后就会产生一个余额为零的废弃地址,这样就会占据空间,也会影响节点的正常运作。造成零余额交易的方式还有很多,比如说当钱包生成并在Tangle添加新地址的过程。还有一些地址会用作系统间的信息传输,但不包含任何余额。

因此,快照完成之后,最终的结果就是所有包含零余额的地址以及他们对应的余额都会被消除,这些余额生成历史也不会在常规节点中继续保留。另外,这一历史也不会在ioatsear.ch 等perma节点中保留,这类节点用于追踪从第一笔交易开始的所有交易历史。但在大多数情况下,这类历史是不必要存在的。只有包含余额的地址才是重要的,因为这些地址可以用于花费。

要注意的是,在快照进行的过程中,所有没被确认的交易都会被取消,相应的资金不会离开发送者的钱包。这也就意味着一旦钱包余额恢复之后,某些交易必须要重新发送。比如说,假设你把币从钱包转到Bitfinex,在中间发生了快照,那么这笔钱还是在你钱包里;反之亦然,如果你在Bitfinex提现IOTA期间发生了快照,这笔资金还会继续留在Bitfinex账户中。只需要重新发送这些交易即可,不会有什么问题。

好了,还记得钱包是怎么计算余额的吗?它会通过节点取回种子按序生成的每个地址中的余额,从第一个用于交易的地址开始,直到找到废弃的地址为止——这暗示着钱包在此之前没有生成这个地址。然而,由于快照移除了所有的交易历史,钱包检查的第一笔交易就不会显示曾经被用在Tangle的交易中,因此钱包就会立刻停止检查余额,因为它认为自己目前还没有生成地址,这样最终就会导致收集的余额是零。

这就是你的钱包余额为零的原因。钱包过早地停止检索包含余额的地址,因为它不知道快照过程移除了所有交易历史。这也就意味着找回余额的方法非常简单。只要按序开始重新生成并且添加之前用过的接收地址就可以了。这样就会造成使用那些地址的零余额交易被连接到Tangle。也就是说,现在钱包已经能看到正在Tangle中使用的地址,并且通过节点收集相应的余额。值得注意的是,你需要多次进行重复操作,因为过去你曾使用过多个地址,这样你才能重新在Tangle中找到这些地址。要知道,这一过程耗时会很长,要是钱包设计者添加了命令行,直接告诉你到第几个地址会找到余额就太好了。但目前还没有实现这个功能,因此,现在抱怨这个也没有用。我很肯定,未来钱包的新版本会包含这项功能。

钱包为什么还是不能找回我的余额?

9月22日和10月24日的两次快照分别是为了两个额外的维护任务进行的,这可能会导致你无法成功取回余额。首先,由于工作证明功能的部署已经在8月份从Kerl切换到了curl,那就需要切换余额到新的curl部署中。很多人在升级到2.4.0版本的时候就完成了这个切换。然而,有些人丢失了种子,也有很多人尚未完成切换,因此IOTA基金会预先采取了措施移除了Tangle中这些旧的kerl地址,并且负责这部分资金的托管。因此,如果你之前的钱包是2.4.0版本以前的,那么你的资金有可能就在基金会的托管中。你需要使用上文提到的取回工具(reclaim tool)来拿回这些资金。

其次,很多人用同一个地址进行了多次花费,从而增加了资金被盗的风险,因此IOTA基金会决定针对这些地址同样采取托管措施防止资金丢失。这就意味着,如果你曾经多次通过同一个地址进行花费,而且这个地址仍然包含余额,那么你也需要用取回工具来拿回资金。

在上述两种情况中,即使钱包重新生成了Tangle中丢失的地址,你的一个或多个地址中的余额仍然可能是“丢失”状态。这就证明这类地址的余额已经被转移到了IOTA基金会托管地址。如果你认为你的资金正处于这一状态那么可以点击这个链接(https://gist.githubusercontent.com/cyclux/2bb05d873c4ec6115cad1d100263d489/raw/612a49e46091586957448f6606ea981ab18022e7/snapshot_validation_20171023.txt

)检查你的地址是否也在里面。

被托管的资金地址有很多,请耐心等待页面加载完毕。

你只要复制你想要检查的地址到剪贴板,然后按ctrl+F粘贴到这个网页里进行搜索。你只能用一个地址的前81个字符,因为后9为校验码没有在页面中显示出来。我操作的时候先复制了整个地址,然后删除了最后的9个字符。

如果你的地址在“KEY_REUSE”或者“KEY_REUSE_OCT”分类中,那么就证明你曾经多次使用同一个地址进行花费,目前你的余额在IOTA基金会的托管中,需要你自行取回。

如果你的地址在“CURL_UNUSED”的分类中,那么就证明你的地址没有切换到新的curl部署中,目前余额在IOTA基金会的托管中,需要你自行取回。

可以点击这个链接(https://forum.iota.org/t/snapshot-public-validation-22-09-2017/4256

)在基金会的声明中寻找更多信息。

如何确保我使用了正确的种子?

如果你不记得三位数的校验码或者不确定自己输入的种子是否正确,可以参考以下做法:

如果你大概清楚自己的钱包用过多少地址,那么你只需要重新生成至少同等数量的新的接收地址即可(下文会详细说明步骤)。通常在这一过程中你会看到钱包余额在慢慢增加。如果你的余额从无到有,这就证明这绝对是你的钱包,种子也是正确的。如果你仍然无法获取完整余额,那你要么就继续生成更多地址,要么就说明你的部分资金由于上述原因已经被基金会托管。这种情况下,你需要在上述快照列表中检查那些包含余额的地址,然后通过取回工具(reclaim tool)拿回这笔资金。

为了保险起见,你可以在iotasear.ch Tangle浏览器中检查某地址的历史来确定自己是否使用了正确的钱包。这就意味着你可以复制第一个地址,然后查看之前资金是否存在这里。假设这第一个地址就是第一个接收资金的地址,如果它的确包含资金,那就是说这就是你的首次IOTA提现。总之,如果你的资金存在在iotasear.ch历史中,你就能确保你以前用过这个种子。

最后,

取回工具(reclaim tool)怎么用?

如果经过上述步骤之后,你已经完全确定IOTA基金会托管了你的资金,那么你就需要用取回工具取回资金。注意,这个取回过程目前分为两步。

注意:为了确保用这个工具输入新旧种子的时候不会出错,我强烈建议你事先经过检查然后直接复制粘贴。如果你最终用错误的种子来取回资金导致整个过程的失败,那就太蠢了。

更新:取回工具(reclaim tool)在第二阶段的时候会再次要求你输入新种子,因此,除非你再次犯了同样的错误,不然这不会是个大问题。

一旦多次提交了取回申请,只有确认最少的会被受理。

取回工具的使用细节可以参考以下链接:

阶段1:https://blog.iota.org/gui-v2-5-2-latest-release-with-iota-reclaim-tool-32d364d6241a

阶段2:https://blog.iota.org/gui-wallet-phase-two-of-the-reclaim-process-f5913109cf46

希望这篇文章能帮到大家。

让我们一起打造成功的IOTA!

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

译者:Erica

专栏作者:Erica

个人简介:我共发表了 29 篇文章,总计被阅读了175,841 次,共获得了 198 个赞。

作者邮箱 作者主页 Ta的文章

2 条评论 “如何找回IOTA余额”

发表评论

邮箱地址不会被公开。 必填项已用*标注