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 月。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sCrypt Web3应用开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值