区块链重要基础知识8-2——解决私钥保存一毁俱毁的问题:秘钥分存

1. 为什么要进行秘钥分存

像前面的纸钱包以及防损硬件都有一个致命的缺点,就是一旦损坏就是一毁俱毁,所以我们可以将秘钥存储的方式改为秘钥分寸,其中密钥分存并不是简单地切分密钥,而是将密钥转换成若干“子密钥”

2. 秘钥分存方法主要分类

方法如下:密钥被分成N个片段,只要我们获得其中的K个片段,就可以把原密钥重新还原。但如果获得的片段数量少于K,就无法知道关于密钥的任何信息。

2.1 大致分为两大类

分为两种情况:1、N=kN=k;2、N>kN>k

  1. N=kN=k

    1. 原秘钥(128位) \oplus 随机数RR\to(SR)(S \oplus R)
    2. 这里秘钥就被分为了(SR)(S \oplus R)和随机数RR
    3. 但是这样的在N>kN>k的情况下就做不成,因为N个片段就进行N-1次异或\oplus
  2. N>kN>k

    1. 使用直线或者n次拉格朗日插值,n次拉格朗日可查看链接,这里主要说一下直线进行秘钥分存

    2. 直线进行秘钥分存:

      1. 由于两点确定一条直线,那么只需要将秘钥分存在直线的两个点上,那么任意两点求出这条直线之后就能够得出在yy轴上的两点也就是原秘钥RR

      秘钥分存的几何示例

2.2 N>kN>k的时候——门限签名

门限签名:

  • 实现方案:一般通过拉格朗日插值进行实现,门限为几就是几门限的门限签名;
  • 原理:详细见链接

3. 不从分存的角度,从签名的次数来看

多重签名:

把一个比特币账户的控制权交给多个密钥,而不是将密钥分存。

  • 通过比特币脚本,可以直接把一个比特币账户的控制权交给多个密钥,而不是将密钥分存。
  • 密钥保存在不同的地点,并分别生成签名;
  • 最终完成的交易的信息保存在某台设备上(只有这里黑客可以乘机而入);
  • 最糟糕的情况:但即使黑客控制了这台设备,他所能做的也只不过阻止这个交易被广播到整个网络上去。没有其他设备参与,他无法生成出一个正当有效的多重签名。

参考文章

  1. 拉格朗日插值原理以及实现
  2. 解读区块链全套六册.第三册.第四章.第三节
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章