注:原文作者是以太坊联合创始人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个中产生,并且看起来像随机数据。
ETH 2.0开发人员:Altair升级规格将于5月21日左右冻结,V神提案允许将质押委托为矿池:ETH 2.0开发人员Ben Edgington更新Eth2双周进展表示,Altair是计划在年中进行的相对较小的信标链更新。根据开发人员最近的电话,客户端团队在实施Altair规格方面进展相当顺利。目前暂定时间规划(未承诺):Altair规格冻结在5月21日左右;6月初短期上线测试网(仅是Altair规格,不是分叉转换);尝试在6月底之前将当前的测试网分叉;七月底八月初部署到信标链。此外,Altair升级会导致不能支付验证节点一个epoch的奖励,除非采取一次性修复。该修复增加了实现和测试的复杂性,但回报相对较少。
另外,V神Vitalik提案允许验证节点更改其签名密钥:提供了一种将质押委托给矿池的方法,同时保留一定程度的控制权,并对slashable行为负责。[2021/5/9 21:41:22]
所以这就是我们要去改进的,我们制定了一个N-of-(2N-M)阈值方案,从原N个密钥分享生成个附加密钥分享。然后我们在区块链上发布所有N-M个附加密钥分享。如果需要,在社会恢复案例中,人们可以简单地给每个参与者一份所有附加密钥分享的副本。这会导致附加密钥分享变成有效的公共信息:它们丢失的风险可以忽略不计,但任何攻击者都会拥有它们。而结果是,在未发布的N个密钥分享中,只要有M个密钥分享与N-M个附加密钥分享结合并揭示数据,我们就有了一个M-of-N方案,这正是我们想要的。
V神提出跨Rollup扩展方案以实现L2项目相互通信:3月3日消息,近日V神于社区论坛提出了一种针对特定类型的跨Rollup扩展的解决方案,以连接第二层扩展项目。根据该方案,虽然目前有许多项目已经部署了第二层Rollup方案,但问题在于各种二层项目不能直接在L2上实现相互通信。V神提议使用Rollup在两个支持智能合约的协议之间进行传输。假设一个rollup可以处理简单的事务,而另一个则具有完全的智能合约支持特性。为确保未来交易的安全,智能合约将被编程为接受“备忘录”,其中包括任何人向它发送的额外数据。事务将创建一个连接层,在所有这些隔离的合约中保存存款,允许rollup A通过该层发送到rollup B。针对该方案,Alon Muroch表示该方案就像银行之间的交易清算一样。将资产批量分配到单独的“账户”中可能会有限制,但两端都设置一个大池,并按比例分摊费用可以是一种解决方案。(Cointelegraph)[2021/3/3 18:10:05]
2021年7月18日更新:社交恢复用例的替代机制
动态 | V神提出可通过及时探测器解决51%攻击问题:以太坊创始人V神(Vitalik Buterin)认为51%攻击问题可以通过及时探测器(timeliness detectors)来解决。V神提出的新概念解决了三个挑战,因为它允许活跃的区块链用户就三个至关重要的问题达成一致:
1. 是否已经发生了“足够严重的”51%攻击;
2. 要聚合的“正确”链是什么;
3. 哪些验证器应该为攻击负责。
这个分析将通过随机挑选的验证者进行。相关人员会检查每个区块的时间戳,看看它是否“准时”出块。因此,只有那些“准时”出块的区块才会通过验证者的签名重新广播到主网上。(U.Today)[2020/2/14]
在社交恢复用例中,我们希望设置过程尽可能简单,因为用户是懒惰倾向的,如果设置困难,他们将不可避免地选择不安全的小型恢复伙伴集。这意味着以去中心化方式生成密钥分享所需的分布式密钥生成(DKG)可能是一个坏主意,因为它需要2轮通信。
相反,我们可以利用账户持有人自己拥有他们的私钥这一事实。他们可以简单地向每个恢复伙伴询问他们的公钥,然后在链上发布一笔包含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这样的去中心化消息传递应用的加密密钥。另一个用例当然是其他区块链的私钥。”。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。