1. 爲什麼要進行祕鑰分存
像前面的紙錢包以及防損硬件都有一個致命的缺點,就是一旦損壞就是一毀俱毀,所以我們可以將祕鑰存儲的方式改爲祕鑰分寸,其中密鑰分存並不是簡單地切分密鑰,而是將密鑰轉換成若干“子密鑰”
2. 祕鑰分存方法主要分類
方法如下:密鑰被分成N個片段,只要我們獲得其中的K個片段,就可以把原密鑰重新還原。但如果獲得的片段數量少於K,就無法知道關於密鑰的任何信息。
2.1 大致分爲兩大類
分爲兩種情況:1、;2、
-
:
- 原祕鑰(128位) 隨機數
- 這裏祕鑰就被分爲了和隨機數
- 但是這樣的在的情況下就做不成,因爲N個片段就進行N-1次異或,
-
:
-
使用直線或者n次拉格朗日插值,n次拉格朗日可查看鏈接,這裏主要說一下直線進行祕鑰分存
-
直線進行祕鑰分存:
- 由於兩點確定一條直線,那麼只需要將祕鑰分存在直線的兩個點上,那麼任意兩點求出這條直線之後就能夠得出在軸上的兩點也就是原祕鑰。
-
2.2 的時候——門限簽名
門限簽名:
- 實現方案:一般通過拉格朗日插值進行實現,門限爲幾就是幾門限的門限簽名;
- 原理:詳細見鏈接
3. 不從分存的角度,從簽名的次數來看
多重簽名:
把一個比特幣賬戶的控制權交給多個密鑰,而不是將密鑰分存。
- 通過比特幣腳本,可以直接把一個比特幣賬戶的控制權交給多個密鑰,而不是將密鑰分存。
- 密鑰保存在不同的地點,並分別生成簽名;
- 最終完成的交易的信息保存在某臺設備上(只有這裏黑客可以乘機而入);
- 最糟糕的情況:但即使黑客控制了這臺設備,他所能做的也只不過阻止這個交易被廣播到整個網絡上去。沒有其他設備參與,他無法生成出一個正當有效的多重簽名。
參考文章
- 拉格朗日插值原理以及實現
- 解讀區塊鏈全套六冊.第三冊.第四章.第三節