• BSV 上高效的多方公平交易


    我们为多方安全计算(MPC)引入了一种高效的协议,以公平地交换他们的秘密输入。确切地说,我们指的是以下两个保证:

    1. 忠实遵守协议/合同的诚实方永远不会损失押金(如果有的话)。
    2. 如果背离协议的恶意方获得了所有秘密并因此可以计算输出,则他应补偿所有诚实方。

    允许安全且经济地收集所有输入,这为各种 MPC 在 BSV 上进行打开了大门,而无需依赖各方的合作。

    多方安全计算(MPC)

    之前,我们以去中心化抽奖为例介绍了如何对 BSV 进行 MPC。有一个严格的限制,因为它假设所有各方都是诚实的并且将提供他们的秘密输入。这种假设在实践中不太可能成立,特别是当各方发现他们会因此泄露秘密。

    两方公平交易

    一种迫使每一方透露其秘密的方法是使用如下所示的定时承诺方案 (TCS)。P2 必须在时间 τ 之前透露他的秘密 T,否则 P1 可以拿走他的存款 q

    在这里插入图片描述

    TSC

    不成熟的方法

    在这里插入图片描述

    不成熟的双方交易

    人们可能会想在 P1P2 之间使用两个 TCS 来交换秘密。但是,P2 可以通过步骤 1 获取 P1q 个硬币,拒绝在步骤 2 中存款来攻击协议。从本质上讲,即使 P1 行为诚实,他也会失去他的押金,根据我们的标准 1,这种方法是不公平的。

    公平的方法

    在这里插入图片描述

    公平的双方交易

    在我们的新方案中,要让 P2 给予 P1 押金,除了他自己的 W2 之外,他还必须知道 P1 的秘密 W1。如果 P2 在第 2 步中止,他就不能再取回它。因此,它可以防止上述攻击。

    多方公平交流

    我们将把交换协议推广到 n 方,其中 n > 2。一种直接的方法是在每对之间简单地运行两方公平的协议。运行每一对需要 2 个交易。因此,它总共需要 O(n²) 次交易。

    我们展示了一个更高效的协议,它只需要 O(n) 个交易。

    不成熟的方法

    在这里插入图片描述

    不成熟的多方交易

    使用上述方法扩展两方公平交易看起来很好。但是,如果 P1P2 勾结,它很容易受到攻击。要了解原因,只需将 P2P1 视为同一方即可。首先,P1 在步骤 3 中揭示 w1。作为诚实的一方,P3 在步骤 2 中揭示 w3。P2(本质上是 P1)在第 1 步中止,并在时间 τ3 后取回他的押金。现在 P1 拥有所有秘密,但 P3 不知道 w2。根据我们的标准 2,这是不公平的。

    公平的方法

    在这里插入图片描述

    为了公平交易,它分两个阶段进行:

    1. 第一阶段:各方存款到 Pn。这可以同时在一轮中发生。
    2. 第二阶段:Pi 交替地给予 P(i-1) 押金,从 n 到 2。这种情况一个接一个地发生。

    要了解为什么会这样,很明显,在第二阶段结束时,除 Pn 之外的所有各方都已公平。如果 Pn 没有提供第一阶段的押金,那么诚实的一方会通过第一阶段退款获得 q 个硬币。否则 Pn 也公平参与。如需严格证明,请参阅论文¹。


    [1] 如何使用比特币设计公平协议。伊多·本托夫;兰吉特·库马雷桑。计算机科学讲义| 2014 年 8 月。

  • 相关阅读:
    6、mysql高级语句
    元宇宙工程系,来了一位“吃螃蟹”者
    Jenkins 配置 WebHooks
    微信文件如何直接打印及打印功能在哪里设置?
    国际站、速卖通、Lazada店铺运营技巧?如何提升销量?
    操作系统体系结构和OS
    第三章-存储系统
    07 内核开发-避免命名冲突经验技巧分享
    Opencv之Mat常用类成员(一篇就够了)
    [机缘参悟-92]:《本质思考》- 本质思考的9种训练方法
  • 原文地址:https://blog.csdn.net/freedomhero/article/details/126222516