以太坊:V神提出新型密钥分享方案,可用于脑钱包和社交恢复设计应用

注:原文作者是以太坊联合创始人VitalikButerin,在这篇文章中,他描述了一种新型的M-of-N密钥分享方案,并提出了脑钱包和社交恢复设计的两种应用案例。

假设你希望生成一个秘密s,而s可通过将N个密钥分享中的M个放在一起来恢复,其中所有N个密钥分享是预先知道的。那么这种方案有两个用例:

V神提议对以太坊未来的分片和历史访问进行预编译:Vitalik Buterin(V神)发文研究对未来的分片和历史访问进行预编译。V神在文章中表示,当前以太坊设计中的向后兼容性挑战之一是,历史访问需要在EVM中验证Merkle证明,该证明假设区块链将永远使用相同的格式和相同的密码。分片增加了这一点的重要性,因为用于rollups的欺诈证明和有效性证明需要指向分片数据的指针。V神提出了一种更加面向未来的方法:我们可以添加执行验证特定类型证明的抽象任务的预编译,而不是要求在EVM中验证历史和分片的证明。如果将来更改格式,预编译逻辑将自动更改。预编译甚至可以具有条件逻辑,用于验证转换前slots的一种证明和转换后slots的另一种证明。[2021/6/13 23:33:43]

一种脑钱包,其中N个密钥分享是N个安全问题的答案,并且你希望仅通过M个安全问题的答案就可以恢复资金;一种社交恢复设计,其中你希望使用阈值解密而不是智能合约钱包,因为你正在尝试恢复访问私人数据,而不是加密货币,并且你希望你的恢复合作伙伴能够使用他们已经拥有的密钥;普通的M-of-N密钥分享方案不适用于这些用例中的任何一个,因为它只允许预先选择M个密钥分享,剩余的个密钥分享必须使用一种确定性算法从原始的M个中产生,并且看起来像随机数据。

V神提出以太坊信标链第一个硬分叉提案“HF1”:以太坊创始人V神刚刚在推特上提出了以太坊信标链第一个硬分叉(暂定名为“HF1”)提案。V神称,HF1添加了轻客户端支持,简化了规范,提高了效率,并引入了惩罚性较小的不活动泄漏机制。[2021/2/16 19:51:07]

所以这就是我们要去改进的,我们制定了一个N-of-(2N-M)阈值方案,从原N个密钥分享生成个附加密钥分享。然后我们在区块链上发布所有N-M个附加密钥分享。如果需要,在社会恢复案例中,人们可以简单地给每个参与者一份所有附加密钥分享的副本。这会导致附加密钥分享变成有效的公共信息:它们丢失的风险可以忽略不计,但任何攻击者都会拥有它们。而结果是,在未发布的N个密钥分享中,只要有M个密钥分享与N-M个附加密钥分享结合并揭示数据,我们就有了一个M-of-N方案,这正是我们想要的。

V神提议支持以太坊网络支付功能:据ethereumworldnews消息,V神认为人们应该支持以太坊网络的支付功能,支持了ETH,也能为支持其他ERC20代币打开一扇大门,比如MKR、UNI、WBTC和稳定币。至于转账费用与速度,他表示已经在主网layer-2部署了一些扩展性解决方案。[2020/10/3]

2021年7月18日更新:社交恢复用例的替代机制

在社交恢复用例中,我们希望设置过程尽可能简单,因为用户是懒惰倾向的,如果设置困难,他们将不可避免地选择不安全的小型恢复伙伴集。这意味着以去中心化方式生成密钥分享所需的分布式密钥生成(DKG)可能是一个坏主意,因为它需要2轮通信。

V神提出了链交叉链接来实现他早前提出的最小分片规范:据trustnodes消息,V神提出了链交叉链接来实现他早前提出的最小分片规范。简单地说,这是在试图将主链与分片链连接起来。V神说他们的想法是,有两种类型的交叉连接,一种是从主链到分片,另一种是从分片到主链。一个从分片到主链的链接必须由一个委员会签署,而该委员会的责任是证明自上一次为该分片建立的交叉链接以来所有分片块的可用性。一旦建立了S2MC链接,主链的有效性就取决于该分片链的有效性,如果一个主链包含一个无效的分片链块的链接,那么整个主链就会被认为是无效的。它似乎表明简单的规格实际上可能有点整体性。[2018/4/30]

相反,我们可以利用账户持有人自己拥有他们的私钥这一事实。他们可以简单地向每个恢复伙伴询问他们的公钥,然后在链上发布一笔包含nonce的交易,并为每个i加密(share_i,pk_i)。

如果我们避免重复使用nonce随机数,从而不重用密钥,我们可以使用基础的Diffie-Hellman加密算法进行加密,这意味着仅具有32*(n+1)个字节calldata数据的单笔交易,就足以保存恢复信息。

对此方案,ethresear.ch论坛成员kelvin评论称:

“这很有趣!我猜在社交恢复设计中,N个参与者会给他们的私钥附加一些公共盐,然后将其哈希生成N个预先知道的密钥分享?否则他们将不愿意泄露自己的密钥分享,以让N?M个附加密钥分享被计算,并且他们还必须透露M个密钥才能恢复秘密。此外,你认为人们会用这种方式来分发哪些类型的私人数据呢?”而Vitalik则回复称:

“1、实际上,他们会使用hash(ecdsa_sign(key,salt))作为哈希函数来生成子密钥,因为ecdsa_sign方法在web3API中公开并且具有标准化的确定性输出。但这是一个实现细节,效果是一样的。2、我只是在考虑‘以太坊电子邮件’以及像Status这样的去中心化消息传递应用的加密密钥。另一个用例当然是其他区块链的私钥。”。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:0ms0-1:698ms