Asch主密码解析



  • 很多人都是第一次接触数字资产,没有认真理解密钥(密码)的重要性,最终导致自己的财产遭受到严重损失。
    在比特币、以太坊的发展历程中,各种原因导致的丢币不计其数。本文对Asch主密码进行一个解读,旨在让用户了解到如何改进Asch钱包的安全性从而减少不必要的丢币事件。

    1. Asch主密码解读

    Asch主密码由字符串组成,其长度大于等于1,小于等于100,是访问自己Asch钱包的唯一钥匙。
    我们平时使用的主密码一般是web钱包注册时自动生成的,由12个英文单词和11个空格组成,符合BIP39规则,BIP39规则主密码举例“wasp decline earth multiply help motor once federal bag daughter slow degree”。
    与比特币、以太坊钱包不同,在Asch中用户不能直接通过私钥访问自己的账户地址(比特币的钱包备份文件wallet.data和以太坊的keystore都是私钥),而是必须用主密码。比特币钱包导出的备份恢复短语、以太坊钱包导出的助记词跟Asch主密码性质和安全性都一样,均是符合BIP39规则的12个单词。
    在Asch中,用户每次对自己的资产进行操作都需要输入主密码,比如XAS转账、UIA转账、设置二级密码、锁仓、注册UIA等写操作,而这些操作都称之为交易。代码会通过一系列加密算法通过对主密码计算,产生密钥对,包含私钥和公钥,其中的私钥就是用来对交易进行签名的。
    由此可见,Asch的主密码和BTC、ETH的私钥一样重要,如果主密码丢失,就意味着你的数字资产丢失。

    2. 可能存在的丢币情况

    2.1 伪丢币,百分百能找回

    下面几种特殊情况,可以找回自己的XAS。为了防止不丢币,用户应尽快把该地址的XAS转出到一个新地址中(新地址的主密码务必保存到电脑、U盘、手工写到纸上放入保险柜、或者实施了其他有效的密码保存手段),牢记:好记性不如烂笔头!

    浏览器有保存主密码
    注册后密码未保存,但在web钱包页面进行了登录并且浏览器选择的是“记住密码”。这样的话,每次浏览器都会自动填充保存的Asch主密码进行登录,登录后尽快把币转走。
    手机钱包能正常登录
    注册后密码未保存,在手机钱包进行了登录且未注销、未升级,能看到自己账户的XAS(此时切记不要进行“注销”、手机钱包升级,如果进行了这2个操作,则100%丢币且不可找回),进去后尽快把币转走。
    地址兼容性问题导致看不到币
    在Asch早期(区块高度小于1700000),web钱包生成的地址是纯数字格式的,比如14762548536863074684,而当区块高度大于等于1700000后,同一个密码生成的地址是base58格式(跟比特币地址一样),比如P81WSiTnc1KoGqRNQe3yWfuQoQn4i6Xxx。用户往上面2个地址都转入了XAS,那么只能看到AP81WSiTnc1KoGqRNQe3yWfuQoQn4i6Xxx地址的余额,另外一个是看不到的,但没有丢失。在将来的某个时间,会专门对此类账户做处理。
    早期版本的手机钱包注册的密码现在不能登录
    部分老用户用早期版本的手机钱包注册了密码(这里标记为A),但A不符合BIP39规则,而最新手机钱包加入了一个伪BIP39验证,所以这个密码现在在手机钱包和web钱包都不可以登录,此时并不是真正丢币,可以通过asch-cli命令行工具将该账户的XAS转到一个正常的BIP39格式密码账户下。具体做法如下:
    // 在linux服务器下执行

    npm install -g asch-cli
    // 利用命令行查看账户余额
    asch-cli openaccount "password1" // 这是一个非正常的主密码,不符合BIP39规则,但可以生成地址和查到余额
    // 返回结果如下
    {
    "address": "AP81WSiTnc1KoGqRNQe3yWfuQoQn4i6Xgd",
    "unconfirmedBalance": 200000000,
    "balance": 200000000, // 该余额=真实的XAS余额 × 100000000,这里真实xas余额是2.0 xas
    "unconfirmedSignature": false,
    "secondSignature": false,
    "secondPublicKey": "",
    "multisignatures": [],
    "u_multisignatures": [],
    "lockHeight": 0
    }

    // 将xas转到正常的BIP39格式密码账户下
    // 目的密码:shaft filter security truck final move season oppose giraffe loan hair judge
    // 目的地址:A2qTSyAzkU3yYDX4eGb3SVaB6XnYrR8QAj
    // 因为转账需要收取0.1 XAS,所以最多可以转1.9 XAS

    asch-cli sendmoney -e "password1" -a 190000000 -t "A2qTSyAzkU3yYDX4eGb3SVaB6XnYrR8QAj" -m "beizhu"
    // 返回结果为交易id
    65c100cb9a5637827cab7506ee6f710fea94a472e67b6730a7d9773893913f78

    // 此时再用命令行查看主密码为password1的账户余额为0
    // 此时用“shaft filter security truck final move season oppose giraffe loan hair judge”在mainnet.asch.io登录查看余额为1.9 XAS,
    至此完成了账户XAS资产的转移,UIA资产转移类似,具体命令请参考帮助文档:https://github.com/AschPlatform/asch-docs
    2.2 真丢币,部分情况有一定概率能找回

    下面几种情况是真丢币,大部分情况不可找回,只有小部分情况存在一定概率能找回。

    注册后密码未保存
    在web钱包页面(mainnet.asch.io之前是mainnet.asch.so)或者手机钱包(较老的版本,最新版本的手机钱包没有注册功能)注册了Asch账户,但密码未按照提示进行保存,并且自己也没背下来那12个单词,并且浏览器或者手机缓存都没有保存密码,并且之后往这个地址转入了XAS,这种情况100%会丢币。
    保存的密码不是真正的密码
    第一次注册后,按照提示对密码A进行了保存。但后面因为各种原因又注册了一次,但是本次没有保存密码B,只是随手粘贴密码B进行了登录,并生成了地址BB,之后往地址BB转入了XAS(比如从交易平台提币),那么这种情况下100%会丢币。
    手机钱包登录时手工输入了错误的密码
    注册钱包后,确实保存了真实的密码(对应的地址为A)。在手机钱包登录时选择了手工输入,但因为手抖,某一个或者多个字母输入错误,也进入了钱包并且生成了地址B。之后往地址B转入了XAS(比如从交易平台提币),并且web端或者手机钱包登录此时已经看不到XAS了,那么此时99%的概率会丢币。想找回自己的币可以在已有的真实密码基础上尝试暴力破解。这里能找回的概率跟输错的字母个数有关系,随着错误字母个数增加,暴力破解尝试次数是几何级增长,则相应的找回概率越来越低。
    手机钱包注销、升级导致丢币
    注册钱包后,直接登录的手机钱包但没有对主密码进行保存。然后在手机钱包中执行了注销或者升级操作,那么此时百分百丢币,不可找回。
    将币转入到一个黑洞地址
    转账时输入目的地址时,不小心输入了一个手机验证码,比如4573(诸如1/111/123/333这种都是黑洞地址)。这笔xas将永久消失,因为没有人拥有4573这个地址的主密码,也就不可能给你把币再转回来。所以转账时一定要再三确认目的地址的正确性。
    一种不可能发生的情况
    用户:“我下载了手机钱包,什么都没有操作,然后就进去看到一个地址,后来我往这个地址转入了XAS,现在手机钱包升级发现不能登录了,币丢失了”。
    开发者:“这是不可能存在的情况”,跟是否钱包bug没有关系。因为Asch地址是由公钥生成,而公钥是由Asch主密码生成的,他们是依赖关系,Asch主密码是作为加密算法的seed存在的。如果某一天真出现了这种情况,那么也会出现“锅里没有放大米,但最后煮出来了大米饭”。
    这种情况只能是“你的记忆欺骗了你”,真实情况是在第一次登录时从别的地方拷贝了密码、或者是随手输入了几个单词,但你却是“一点印象都没有了”。

    3. 我怎么做才能不丢币

    3.1 注册密码后应第一时间保存密码和地址

    新注册阿希币钱包账户的主密码和地址务必保存到电脑、U盘、手工写到纸上放入保险柜、或者实施了其他有效的密码保存手段,建议不要存放到云盘,保存地址是为了让其和主密码做到一一对应。

    3.2 注册二级密码后立即保存下来

    二级密码注册完成后,应该立即保存,防止丢失。

    3.3 验证密码有效性

    新老用户都应该验证自己保存的主密码是否是真的“主密码”。验证方法如下:
    用自己保存的主密码在web钱包(mainnet.asch.io)进行登录,查看生成的地址A和自己有XAS余额的地址B是否相同。

    如果相同
    说明你保存的密码没有问题,需要再去验证二级密码。需要再去验证一笔小的转账,比如转0.00000001 XAS给自己的另外一个用户或者黑洞地址1,输入二级密码,确认是否可以转账成功。只有转账成功才表示你的主密码和二级密码都保存正确且一一对应,如果转账失败,说明二级密码不正确。
    如果不同
    说明你的账户风险很高,随时可能丢币,因为此时真正的主密码已经丢失,所以请尽快把XAS转出到一个新地址中(新地址的主密码务必保存到电脑、U盘、手工写到纸上放入保险柜、或者实施了其他有效的密码保存手段)。
    3.4 手机钱包升级、注销前请再次验证主密码有效性

    首先我个人不再建议使用当前的手机钱包,因为有2个严重的问题未修改。

    密码校验规则不是严格的BIP39
    这种情况下,只要输入12个由空格隔开的“单词”(拼写错误的单词也不会报错)就能生成地址。很容易出现输入错误导致生成非预期的地址。
    钱包升级会清空本地缓存的主密码
    这种情况下,如果你没有保存主密码,那么最后一丝找回XAS的机会也将丢失。
    最后如果你一定要使用手机钱包,那么每次升级、注销前,请务必根据上一章节验证主密码和二级密码的有效性。



  • @niaomu 嗯,知道了.....



  • @唐政 阿希钱包的模式不需要保存和管理私钥,主密码就相当于私钥。



  • 非常专业啊,涨知识。



  • 都得仔细看看,很有用



  • @niaomu 说错了,电脑钱包上显示的是密钥



  • @niaomu 很奇怪的是我从来没见过阿希手机钱包的私钥,我一直以为主密码是私钥嘞!我手机钱包刚刚查了没有。电脑钱包倒是有私钥,不过没有主密码,那么主密码和私钥应该就是一种了,我试下网页钱包能不能用手机钱包主密码登入吧!



  • @唐政 ???不管你用任何方式备份钱包,达到 防盗,防丢,分散风险 的目的即可。

    阿希目前保存备份好主密码和二级密码即可。



  • @niaomu 难道你除了保存了主密码和二级密码还保存了别的吗?



  • @唐政 主密码和二级密码记住备份好就没问题。怕出问题,最好去电脑网页钱包登录主密码和使用二级密码小额转账测试下。如果发现密码忘了,进不去,赶紧把手机钱包里的币转移到一个新的备份好的钱包账号里。



  • @niaomu 阿希应该只有主密码,没有私钥吧,主密码就是私钥。
    我有次不小心手机钱包注销了,然后用主密码又登入进去了,那么我只要保护好主密码和二级密码就没问题了吧!


Log in to reply
 

Looks like your connection to Asch was lost, please wait while we try to reconnect.