通过Shamir Secret Sharing分割助记词

一、Shamir Secret Sharing 核心原理

多项式插值

将助记词编码为秘密 

S

S,构造 

(

k

1

)

(k−1) 次多项式 

f

(

x

)

f(x),生成 

n

n 个点 

(

x

i

,

f

(

x

i

)

)

(x 

i


 ,f(x 

i


 )),需至少 

k

k 个点恢复 

S

S。

公式:

f

(

x

)

=

S

+

a

1

x

+

a

2

x

2

+

.

.

.

+

a

k

1

x

k

1

f(x)=S+a 

1


 x+a 

2


 x 

2

 +...+a 

k−1


 x 

k−1

 


参数选择


阈值 

k

k:恢复所需最小份额数(建议 

3

/

5

3/5 或 

4

/

7

4/7)


总份额 

n

n:生成的总份额数(通常 

n

=

2

k

1

n=2k−1)

image.png

二、操作步骤(以 3/5 方案为例)

1. 选择工具

工具 类型 安全性 适用场景

Trezor SSS 硬件钱包集成 高(离线生成) Trezor用户

ssss-cli 命令行工具 中(依赖本地环境) 技术用户

Splinter (BIP39) 开源GUI工具 高(支持BIP39) 普通用户

Ledger Recover 官方服务 中(需信任第三方) Ledger用户(需订阅)

2. 生成份额(以 ssss-cli 为例)

bash

复制

# 安装工具

sudo apt-get install ssss


# 生成5份,需3份恢复

echo "your_12_or_24_word_mnemonic" | ssss-split -t 3 -n 5 -Q

# 输出5行16进制字符串(即份额)

3. 编码份额为便携格式

BIP39词组映射:使用 SLIP39 标准将份额转为助记词


python

复制

# 示例:将份额转为24个单词

from slip39 import Share

share = Share.from_hex("1a2b...")  # 输入份额

print(share.mnemonic_words)        # 输出:["jolt", "lily", ..., "exit"]

物理备份:将份额蚀刻到钛板或加密QR码(推荐Cryptosteel Capsule)


三、安全存储策略

1. 地理分散存储

份额分配 存储位置 保护措施

份额1 家庭保险箱 防火防水容器 + 密码信封

份额2 银行保管箱 与法币遗嘱分开存放

份额3 可信律师/亲属 签署NDA + 分片加密

份额4 异地安全屋(非直系亲属) 地理分散 + 无网络访问

份额5 记忆备份(可选) 仅存储部分提示信息

2. 防单点故障设计

场景:若某地发生火灾/盗窃,至少 

k

k 份额在其他位置存活

数学验证:

P

(

存活

)

=

1

C

(

n

k

,

m

)

/

C

(

n

,

m

)

P(存活)=1−C(n−k,m)/C(n,m) (

m

m 为损毁点数)


四、恢复助记词流程

1. 收集至少 

k

k 个份额

bash

复制

# 使用ssss-cli恢复

ssss-combine -t 3 -Q

# 依次输入3个份额的16进制字符串

# 输出原始助记词

2. SLIP39恢复示例

python

复制

from slip39 import Share, combine_mnemonics

shares = [

  ["jolt", "lily", ..., "exit"],  # 份额1的助记词

  ["tuna", "fury", ..., "pool"],  # 份额2

  ["echo", "kite", ..., "zoo"]   # 份额3

]

master_secret = combine_mnemonics(shares)

print(master_secret.decode('utf-8'))  # 输出原始助记词

五、安全增强措施

1. 阈值动态调整

时间锁:设置份额生效时间(如份额1在2025年后失效,需更新)

智能合约实现:


solidity

复制

function recover(bytes32[] shares) external {

  require(block.timestamp >= 1735689600); // 2025-01-01

  _executeRecovery(shares);

}

2. 多重验证层

生物识别:恢复时需指纹/虹膜验证(如Ledger Recover)


多签要求:恢复地址需2/3监护人批准(结合Gnosis Safe)


六、风险与应对

风险 缓解方案

份额物理损坏 使用钛/不锈钢介质,多地冗余存储

社会工程攻击 监护人独立存储,无元数据关联(如匿名信封)

算法漏洞(如素数碰撞) 选择256位SLIP39参数,禁用低熵配置

七、替代方案对比

方法 优点 缺点

Shamir SSS 数学可证明安全,灵活阈值 依赖物理存储,恢复流程复杂

多重签名钱包 无需分割助记词 依赖链上合约,Gas成本高

脑钱包 无物理痕迹 易遗忘,抗暴力破解能力弱

总结:

通过Shamir Secret Sharing分割助记词,需严格遵循 “3-2-1”原则:


3份备份:至少3个独立存储位置


2种媒介:物理(金属板)+数字(加密SD卡)


1次验证:分割后立即测试恢复流程


推荐使用经过审计的开源工具(如SLIP39标准实现),避免自行开发算法。对于非技术用户,硬件钱包内置方案(如Trezor SSS)是更安全的选择。


TAG:助记词 如何分割助记词 trust钱包安全设置 trustwallet如何备份
我们使用 cookies 来提升您的体验。继续访问本网站即表示您同意我们的 cookie 使用。 我们使用 cookies 来提升您的体验。继续访问本网站即表示您同意我们的 cookie 使用。