注:原文作者是以太坊联合创始人VitalikButerin,在这篇文章中,他描述了一种新型的M-of-N密钥分享方案,并提出了脑钱包和社交恢复设计的两种应用案例。
假设你希望生成一个秘密s,而s可通过将N个密钥分享中的M个放在一起来恢复,其中所有N个密钥分享是预先知道的。那么这种方案有两个用例:
ENS核心开发者:ENS定价现阶段很难改变,V神提议未考虑可访问性:9 月 11 日,本周以太坊联合创始人 Vitalik Buterin 在其个人网站发表文章讨论 ENS 域名是否应该引入基于需求的经常性费用。他认为目前 ENS 域名十分廉价,由此引发了产权强度和公平性之间的权衡问题,而且 ENS 二级市场的高度投机性也无法确保市场的有效性。
对此,ENS 核心开发者 Jeff Lau 在社交媒体上进行了回应。他指出由于想不出有什么办法,可以在不干预的情况下让定价系统自我延续,以及创造一个无法作弊的定价系统,因而 ENS 最终决定保持价格的可接受性,但对较短的域名仍收取更多费用。允许动态定价/续期可能会有帮助,但现在为时已晚。当前的 ENS 系统运行良好,定价也足够合理,能够看到一些域名到期的情况。V 神的论文更多关于域名空间的拥塞问题(可以通过子域名解决),以及更多资金给到 ENS DAO 以资助公共产品,但可访问性没有得到足够的重视。虽然 ENS 的定价被设计成可以改变,但现阶段很难改变。[2022/9/11 13:22:40]
一种脑钱包,其中N个密钥分享是N个安全问题的答案,并且你希望仅通过M个安全问题的答案就可以恢复资金;
V神提出两种可能的解决方案来处理以太坊的历史数据:11月24日消息,V神Vitalik Buterin在Reddit的AMA中提出了两种可能的解决方案来处理以太坊的历史数据。其中包括将在合并后发生的一次性历史到期,以及具有移动截止日期的定期历史到期,正式名称为EIP-4444。这两种解决方案都可以实施。据了解,以太坊历史数据已经超过400GB,处理以太坊客户端的历史数据,历史到期将使运行节点变得更便宜,或者可以用来证明适度增加gas限制是合理的,这将降低交易费用。
一位用户询问了区块提议者/区块创建者分离 (PBS)。Buterin最近发布了关于这种方法的帖子,该方法旨在阻止区块提议者(或矿工)以有利于他们的方式向区块添加交易。PBS尚未完全开发和测试。(AMBCrypto)[2021/11/24 7:08:00]
一种社交恢复设计,其中你希望使用阈值解密而不是智能合约钱包,因为你正在尝试恢复访问私人数据,而不是加密货币,并且你希望你的恢复合作伙伴能够使用他们已经拥有的密钥;
动态 | V神提出数据迁移新方法 或使以太坊1.0更快过渡到2.0:在12月23日的Ethresear.ch提案中,以太坊联合创始人Vitalik Buterin提出了一种将数据迁移到以太坊 2.0的更快方法,这意味着期待已久的升级可能比预期的要快。Buterin描述了一种消除Ethereum 1.0当前工作证明区块链的方法,这将允许项目“加速进度”与Ethereum 2.0的信标链合并。据悉,以太坊2.0是一个多年的项目,它经常面临延迟。目前还不清楚这一过渡将在何时实施。(CryptoBriefing)[2019/12/24]
普通的M-of-N密钥分享方案不适用于这些用例中的任何一个,因为它只允许预先选择M个密钥分享,剩余的个密钥分享必须使用一种确定性算法从原始的M个中产生,并且看起来像随机数据。
动态 | V神提议转PoS后使用更高的Staking奖励,目前得到了社区正面的回应:据Unitimes报道,Vitalik Buterin提议以太坊在部署PoS后使用更高的Staking奖励指标,V神的提议列出了基于Staking的ETH 数量的不同,预计相应的回报率 (收益率) 的最大值也不同。该提案发布后Github和Reddit上收到的回应大多是正面的。此前,以太坊社区成员考虑到通过BlockFi等平台放贷款的机会成本(目前ETH存款年利率为6.2%),以及维护验证者节点所需的硬件成本,曾对以太坊最初的PoS奖励结构的吸引力表示担忧。[2019/4/25]
所以这就是我们要去改进的,我们制定了一个N-of-(2N-M)阈值方案,从原N个密钥分享生成个附加密钥分享。然后我们在区块链上发布所有N-M个附加密钥分享。如果需要,在社会恢复案例中,人们可以简单地给每个参与者一份所有附加密钥分享的副本。这会导致附加密钥分享变成有效的公共信息:它们丢失的风险可以忽略不计,但任何攻击者都会拥有它们。而结果是,在未发布的N个密钥分享中,只要有M个密钥分享与N-M个附加密钥分享结合并揭示数据,我们就有了一个M-of-N方案,这正是我们想要的。
2021年7月18日更新:社交恢复用例的替代机制
在社交恢复用例中,我们希望设置过程尽可能简单,因为用户是懒惰倾向的,如果设置困难,他们将不可避免地选择不安全的小型恢复伙伴集。这意味着以去中心化方式生成密钥分享所需的分布式密钥生成(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这样的去中心化消息传递应用的加密密钥。另一个用例当然是其他区块链的私钥。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。