BigMouth知识百科

什么是钱包?

        钱包是密钥的管理工具, 他只包含密钥而不是确切的某一个代币。钱包中包含成对的私钥和公钥。用

户用私钥来签名交易, 从而证明该用户拥有交易的输出权。而输出的交易信息则存储在区块链中。

        用户在使用BigMouth时, 你的Keystore,助记词, 明文私钥, 都是钱包, Keystore是你加了"锁"的钱包, 而

助记词和明文私钥是完全暴露在外的钱包, 没有任何安全性可言, 所以在使用助记词和明文私钥时, 一定要

注意保密。

什么是Keystore?

        Keystore 文件是以太坊钱包存储私钥的一种文件格式 (JSON)。它使用用户自定义密码加密,以起到

一定程度上的保护作用, 而保护的程度取决于用户加密该钱包的密码强度, 如果类似于123456这样的密码,

是极为不安全的。

        在使用Keystore时有两点需要注意:

        1. 使用不常用, 并且尽可能复杂的密码加密Keystore文件;

        2. 一定要记住加密 Keystore的密码, 一旦忘记密码, 那么你就失去了 Keystore的使用权, 并且大嘴钱

包无法帮你找回密码, 所以一定要妥善保管好 Keystore 以及密码。下面是keystore的样式:

        {"version":3,"id":"b7467fcb-3c8b-41be-bccf-73d43a08c1b7",
        "address":"540f18196da5a533fa36577a81de55f0a2f4e751",
        "Crypto":{"ciphertext":"78ed11b8b6bf29b00f52b42b8542df0e4a6ac078e626af7edcf885c3b68154a4",
        "cipherparams":{"iv":"4516579601d96695fe30ace985a9066f"},
        "cipher":"aes-128-ctr","kdf":"scrypt","kdfparams":
        {"dklen":32,"salt":"6276cfda7d40872352c801db5871e5a3368a8d0994cea39ed936760db78d1cdc","n":1024,"r":8,"p":1},
        "mac":"d889a5dc609c3f312a41394cc47640676d2612501a6f8c837ed55598158336db"}}

PS: Keystore 的密码是唯一、不可更改的, 如果想更改钱包密码需要使用助记词或明文私钥重新导入钱包,

并使用新密码加密, 生成新的 Keystore。

什么是助记词?

        助记词是明文私钥的另一种表现形式, 最早是由BIP39提案提出, 其目的是为了帮助用户记忆复杂的私

钥(64位的哈希值)。助记词一般由12、15、18、2个单词构成, 这些单词都取自一个固定词库, 其生成顺序

也是按照一定算法而来, 所以用户没必要担心随便输入12个单词就会生成一个地址。

        虽然助记词和 Keystore 都可以作为私钥的另一种表现形式, 但与Keystore不同的是, 助记词是未经加

密的私钥, 没有任何安全性可言, 任何人得到了你的助记词, 可以不费吹灰之力的夺走你的资产。

        所以在用户在备份助记词之后, 一定要注意三点:

        1. 尽可能采用物理介质备份, 例如用笔抄在纸上等, 尽可能不要采用截屏或者拍照之后放在联网的设

备里, 以防被黑客窃取;

        2. 多次验证备份的助记词是否正确, 一旦抄错一两个单词, 那么将对后续找回正确的助记词带来巨大

的困难;

        3. 将备份后的助记词妥善保管, 做好防盗防丢措施。

        PS: 用户可以使用备份的助记词, 重新导入 BigMouth , 用新的密码生成一个新的 Keystore, 用这种方

法来修改钱包密码。

明文私钥是什么?

        我们常说, 你对钱包中资金的控制取决于相应私钥的所有权和控制权。在区块链交易中, 私钥用于生成

支付货币所必须的签名, 以证明资金的所有权。

        私钥必须始终保持机密, 因为一旦泄露给第三方, 相当于该私钥保护下的资产也拱手相让了。它不同于

Keystore, Keystore 是加密过后的私钥文件, 只要密码强度足够强, 即使黑客得到 Keystore, 破解难度也足

够大。

        私钥实际上并不是存储在网络中, 而是由用户生成并存储在一个文件或者简单的数据库中, 称为钱包。

存储在用户钱包中的私钥完全独立, 可由用户的钱包软件生成并管理, 无需区块链或者网络连接。

        用户的钱包地址就是由私钥通过椭圆曲线加密生成公钥, 进而生成以0x开头的42位地址。 私钥的样式

为 64 位16进制的哈希值字符串, 例如:

        56f759ece75f0ab1b783893cbe390288978d4d4ff24dd233245b4285fcc31cf6

        PS: 用户可以使用明文私钥导入BigMouth,用新的密码生成一个新的 Keystore

注意: (记得要将旧的Keystore 删除), 用这种方法来修改钱包密码。

钱包里所说的地址是什么?

        地址由公钥(公钥是私钥通过非对称加密算法生成)生成, 以0x开头的42位16进制哈希值字符串。

        例如: 0xc2d5ef1b5e6234c6bcbce87bb05d579c8e9d5720

        如果将钱包比作银行卡, 那么钱包地址就是银行卡号。

什么是去中心化

        在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形

成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能, 没有单一方

控制数据或信息。

        节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现

象或结构,我们称之为去中心化。区块链上的每一方都可以访问整个数据库及其完整的历史记录。直接验

证其交易合作伙伴的记录,而无需中间人。

        例如用户在使用BigMouth进行P2P交易时,BigMouth并不会充当第三方担保的角色, 一切行为都是用

户自主发起, 就像私钥、助记词和 Keystore 这些钱包信息, 都是本地保存在用户的手机里, 并没有保存在大

嘴钱包的数据库中,所以用户要做好安全措施,一旦丢失,BigMouth无法帮你找回资产。

不可逆性

        区块链采取单向哈希算法,同时每个新产生的区块严格按照时间线形顺序推进,时间的不可逆性导致

任何试图入侵篡改区块链内数据 信息的行为都很容易被追溯,导致被其他节点的排斥,从而可以限制相关

不法行为。

        举个例子, 当你使用BigMouth 发起一笔交易转账, 如果你一不小心将地址填写错误, 那么这笔交易是

无法回滚的, 除非交易双方链下协商, 否则 BigMouth 无法改变这次交易。

Txld是什么?

        TxId其实就是交易编号, 例如我们从A地址转10个ETH到B地址 , 我们会使用A地址进行私钥签名, 得到

一个签名的 SIGN, 然后这个签名和交易合并, 最后进行哈希值运算, 就得到了TXID, 然后向网络广播, 如果

交易成功, 你就可以在区块链网络上查询到该交易编号, 也就是TxId。

数字资产防盗策略

        防盗的实质是防止我们的私钥泄露, 或被黑客盗取。

        在防盗策略上, Keystore 和助记词(或者是明文私钥)的侧重点有所不同, 由于 Keystore 是被加密过后

的私钥, 并且其内容都是加密过后的信息, 采取抄写这种备份策略不是很科学, 所以可以存储在自己的 U 盘

里, 尽量不要存储在线上或者云端, 存储 Keystore 时要和密码分开存储, 这样即使被黑客盗取 Keystore,

也很难破解。

        在存储助记词时, 就需要更加谨慎一些, 因为助记词毫无安全性可言, 一旦被第三方窃取, 那么你的资

产将面临巨大的威胁, 所以建议采用物理介质备份, 抄写在一张纸上, 并且妥善保管, 抄写时要注意准确性,

也要注意长久保存, 不要出现字迹看不清楚等问题。

数字资产防丢策略

        丢失钱包基本有三种情况:

        1. 用户在删除钱包时, 没有备份钱包。我们建议用户在创建完钱包之后, 立即备份钱包, 采用双重备份

和多次备份两种策略。双重备份是指 Keystore 备份和助记词备份, 多次备份是指在备份完 Keystore 和助

记词之后, 要验证备份是否正确, 反复验证, 确认无误即可。

        2. 用户忘记了 Keystore 密码。我们建议用户使用强度较高的密码加密 Keystore, 这个密码最好是用

户随机生成, 不常用的密码。这样提高了 Keystore 的安全性, 但是也对用户保管密码带来了巨大的挑战, 我

们建议用户使用 1password 或者 lastpass 等密码管理工具, 妥善保管好自己的密码, 以防遗忘。

        3. 遗失了私钥。这里的私钥包括助记词、Keystore和明文私钥, 有些用户在备份助记词时, 抄写过后

并没有做验证, 或者自己过于潦草, 导致后期很难辨识, 这些都会导致无法再找到自己的钱包。所以我们在

备份钱包时要仔细认真, 在后期保管钱包时, 要善于使用一些安全的管理工具, 确保自己可以随时找到私

钥。