织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

随机数「k」和「R」值(3)

时间:2021-08-23 13:48来源:未知 作者:admin 点击:
第一步:各 Storeman 节点在本地通过真随机数发生器产生一个随机数; 第二步:各 Storeman 节点将进行 Shamir 秘密分享,并将秘密碎片通过安全信道传输给其

  • 第一步:各 Storeman 节点在本地通过真随机数发生器产生一个随机数;
  • 第二步:各 Storeman 节点将进行 Shamir 秘密分享,并将秘密碎片通过安全信道传输给其他节点;
  • 第三步:收到其他节点传输的秘密碎片后,各 Storeman 节点在本地进行累加,得到一个组秘密碎片,然后将该组秘密碎片与椭圆曲线基点相乘,并将结果广播;
  • 第四步:各 Storeman 节点对广播的数据进行拉格朗日插值计算,得到一个椭圆曲线点,其横坐标即为 R 值。

虽然以上过程稍显复杂,但是核心思想很简单,那就是 R 值是由 25 个 Storeman 节点共同确定的,每个 Storeman 节点贡献一部分加密的碎片,最终通过密码运算合成了 R 值。也就是实现了上面那句话描述的状态:既要你们协作一起干活,但是你们都不知道你们在干什么,其他人是谁。

可验证秘密分享可以确保:

任何两笔交易具有同样的 R 值是不可能发生的

首先,R 值是有 25 个 Storeman 节点共同确定的,而不是由单一节点确定,理论上只要 25 个 Storeman 节点中存在 1 个诚实节点,那么 R 值就是随机的;其次,各节点对 R 值贡献的部分是通过真随机数发生器产生的,分布足够均匀。综合两点,两笔交易具有同样 R 值的情况只有在 25 个 Storeman 节点在两次签名中选择的随机数加和相等的时候才会发生,这一概率是 2-256,形象地说,比走在路上被陨石砸到脑袋的概率都小。

一文说透跨链桥技术中的核心:随机数「k」和「R」值

R 值对应的 k 是完全保密的

在前文我们说过,k 一旦泄露,私钥就可以计算得到。在 Wanchain 锁定账户签名过程中,k 是由 25 个 Storeman 节点共同决定,但是由于秘密碎片是通过安全信道传输给各节点,因此没有任何一个节点能够恢复出完整的 k 值。也就是说,k 值是仅仅是一种理论中的存在,能够正常完成 MPC 签名过程,但是确实任何人都不可见的。

通过 1 和 2 两点的分析,得出 Wanchain 跨链桥的实例中锁定账户安全性是极高的,不会出现私钥泄露的情况。

一文说透跨链桥技术中的核心:随机数「k」和「R」值

那什么样的情况会导致出现 Anyswap 的两笔交易出现相同的 R 值?

我们没有全部读完 Anyswap 项目的 MPC 这部分代码,只能通过上述的 MPC 的理论和实现机制推导这样的结论:1)要不是没有采用真正 MPC 的实现过程而只是挂了一个 MPC 的名义,还是由单一个体产生随机数 k,从而造成 k 重复出现的情况;或 2)代码在实现上出现了重大的代码问题,而这种重大技术失误在严谨的开发团队看来是完全不应该出现的。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容