https://biquanlibai.notion.site/3f9c19c11fa14992b3c9731e015aef73 https://arshbot.medium.com/hd-wallets-explained-from-high-level-to-nuts-and-bolts-9a41545f5b0

私钥→公钥

  1. 椭圆曲线
    1. 满足椭圆曲线公式的,二维平面的点的集合
      1. 按 x 轴上下对称

impermanent_loss

加法操作

impermanent_loss

  1. R = P + Q
    1. 作P和Q两点的连线,与椭圆曲线的第三个交点为-R,再按x轴取对称点,即为R
    2. 当P和Q为同一个点的时候,则作该点与椭圆曲线的切线,与椭圆曲线的第二个交点为-R,再按x轴取对称点,即为R
    3. 椭圆曲线是有限域(Field):相加后的点仍在集合中,即交点-R一定存在

生成点$G$,乘法操作:$K = k * G$

impermanent_loss

  1. 通过提前算好$2^nG$来加速计算过程
  2. 已知$K$和$G$的情况下,无法算出$k$

$k$是私钥,$K$是公钥。正着好算,反着几乎算不出来

impermanent_loss

公钥→地址

Hash 并截短一下公钥:节省存储空间且减少地址碰撞

impermanent_loss

签名

impermanent_loss

  1. 目的
    1. 证明拥有地址的私钥且不暴露私钥
    2. 证明私钥持有者同意了交易内容
  2. 签名的Message:唯一的交易
  3. 签名算法
    1. ECDSA:最基础,不支持签名聚合,多签的时候必须依次验证
    2. Schnorr(Bitcoin Taproot):支持聚合签名,但有一些不足,主要是signer要进行交互
    3. BLS(Filecoin、ETH2):支持聚合签名,解决signer交互问题

助记词

  1. BIP-39

    1. 如何用助记词生成 seed

      Untitled

  2. BIP-32

    1. HD Wallet(Hierarchical Deterministic Wallet,分层确定性钱包)
      1. 如何从一个seed,生成多层的私钥
      2. 没有seed的情况下,私钥之间互相不能推导

    Untitled

  3. BIP-44

    1. 约定path的使用规范,即HD Wallet中私钥的选取规范

      Untitled

      Untitled

    2. SLIP-0044:不同链的path约定,新链需要注册

  4. 小结

    1. 助记词是随机生成的,根据助记词可以获得大量的私钥,然后按照约定的规则选取其中的部分私钥使用,在保证安全性的前提下简化了整个多链多地址钱包的保管和恢复
    2. 对于符合以上标准的钱包,助记词是互通的,即可以通过助记词恢复出所有钱包内的地址和对应的私钥

保管

  1. 个人建议
    1. iPhone、iPad、iPad mini
      1. 美区账号
      2. 安装多链钱包App:imTokenFox Wallet
      3. 安装应用:交易所等
    2. Mac Book
      1. Chrom或Firefox
      2. MetaMask插件
      3. 浏览器访问应用:交易所、DeFi等
    3. 助记词备份在纸上
      1. 一支靠谱的笔:不会褪色
      2. 一张不会给人展现也不会丢弃的纸:过期的证书
      3. 纸妥善保管起来