数字货币钱包关键技术

Cryptocurrency Wallet Technology

Posted by hello2mao on November 12, 2019

1. 钱包类型

分类一:

  • 热钱包
    • 网页钱包
    • 桌面钱包
    • 手机钱包
    • 交易平台
  • 冷钱包
    • 纸钱包
    • 硬件钱包

分类二:

  • 非确定性钱包:,它的每一个密钥都是通过一个随机数独立生成的。密钥之间相互没有关联。
  • 确定性钱包:它所有的密钥都来源于一个单独的叫做种子的主密钥。在这个钱包中所有的密钥都相互关联,并且任何拥有原始种子的人都可以将这些密钥再生成一遍。

分层确定性钱包是通过一个种子来初始化的。而为了便于使用,种子会被编码成英语单词(或者其他语言的单词),这些单词被称为助记词。

2. 双重验证

双重认证(英语:Two-factor authentication,缩写为2FA),又译为双重验证、双因素认证、二元认证,又称两步骤验证(2-Step Verification,又译两步验证)。 是一种认证方法,使用两种不同的元素,合并在一起,来确认使用者的身份,是多因素验证中的一个特例。 双重认证的例子,包括使用银行卡时,需要另外输入PIN码,确认之后才能使用其转账功能。

身份验证分3种类型:

  • 知识因素(Knowledge factors):用户知道的东西,例如密码,PIN码等。
  • 占有因素(Possession factors):用户拥有的东西,例如身份证,手机,U盾等。
  • 固有因素(Inherence factors):用户的生物特征,例如指纹,虹膜,脸部识别,声音识别等。

使用同一类型的2个因素不构成双重验证。比如:

  • 密码+PIN码:黑掉你的电脑或者手机,可以同时获得
  • 身份证+手机:包包丢了,身份证和手机就能同时获得。(但如果你的手机加了指纹识别就形成了双重验证)
  • 指纹+虹膜:被人绑架就可以同时获得你的指纹和虹膜了。

典型的双重验证案例:

  • 知识因素+占有因素:登录交易所时需要登录密码+Google身份验证(或短信验证)
  • 知识因素+固有因素:转账确认时使用密码+

U2F 通用双重(U2F)是一种专用的加密USB驱动器,可作为双重身份验证的方法插入计算机。如YubiKey。

3. 多重签名

多重签名是一种特定类型的数字签名,允许两个以上用户作为一组来签署文档。

多重签名地址可设定其所需的密钥组合:最常见的就是三分之二(2/3),此类地址表示只需提供2个起签名就可以访问3签名地址中的资金。

4. 确定性钱包(种子)钱包

推荐使用的是拥有助记词种子备份功能的基于行业标准的HD 钱包。

确定性钱包最高级的实现就是由比特币的 BIP-32 标准定义的 HD 钱包。

5. 种子和助记词 (BIP-39)

HD 钱包对于管理多个密钥和地址来说是一个很强力的机制。如果再结合一个从一系列英语单词(或者其他语言的单词)中创建种子的标准化方法的话,那么通过钱包进行抄写、导出和导入都变得更加简单易用。这就是大家所熟知的由标准 BIP-39 定义的助记词。

6. Ref

数字货币钱包详解