强迫诚实行为


9

您如何强迫一方诚实(服从协议规则)?

我已经看到了一些机制,例如承诺,证明等,但是它们似乎并不能解决整个问题。在我看来,协议设计的结构和这种机制必须能够胜任。有没有人对此有很好的分类。
编辑
在设计安全协议时,如果您强迫一方诚实,尽管这种实施有其自己的收益,但设计会容易得多。我已经看到在设计安全协议时,设计人员会假设某些东西对我来说似乎并不现实,例如,假设所有各方在最坏的情况下都是诚实的,或者是假设维护用户数据的服务器是诚实的。但是,在更严格的模型中查看协议的设计时,您很少会看到这样的假设(至少我还没有看到它-我主要研究协议我认为Canetti的UC框架尚未完全形式化)。我想知道,您是否可以对强迫一方诚实的方式进行很好的分类,或者是否有任何编译器可以将输入协议转换为诚实方?
现在,我将解释为什么我认为这虽然看起来无关紧要,但仍无法完成任务。在受益于理想/实际范例的UC框架中设计协议时,理想模型中的每个通信链接都经过身份验证,在真实模型中并非如此。因此,协议设计者寻求通过PKI假设或CRS(通用参考字符串)来实现此通道的替代方法。但是,在设计身份验证协议时,假设经过身份验证的通道是错误的。假设我们正在UC框架中设计一个身份验证协议,则存在一种攻击,攻击者伪造了一方的身份,但由于在理想模型中假设使用了经过身份验证的链接,因此在此框架中未假定该攻击!您可以参考对组密钥交换协议的内部攻击建模。您可能会注意到,Canetti在他的开创性著作《密钥交换和安全通道的通用组合概念》中提到了以前的安全概念SK-Security,它足以确保身份验证协议的安全。他以某种方式承认(通过陈述,这是技术性问题),在这种情况下,UC定义过于严格,并提供了一个轻松的变体,称为非信息预言(这使我感到困惑,因为我在任何地方都没有看到这种安全模型) ,我无法将此安全模式与任何其他安全模式匹配,可能是我缺乏知识:D)。

[作为旁注,几乎可以将任何Sk-secure协议转换为UC安全协议,而与模拟器时间无关。例如,您可以删除消息的签名,然后让模拟器以虚拟方式模拟整个交互。有关证明,请参见通用组合贡献组密钥交换!现在假设这是一个多方参与的组密钥交换协议,模拟器的效率是多少?这是我在此论坛中提出的其他问题的起源。]

无论如何,由于在普通模型(基于UC)中缺乏承诺,我寻求其他方法通过绕过这种放松的需求来使协议安全。这个想法在我脑海中非常基础,通过研究普通模型中canetti的最新承诺方案而浮现在脑海:从标准假设中研究普通模型中的自适应硬度和可组合安全性
顺便说一句,我不寻求零知识证明,因为由于我不知道的原因,每当有人在并发协议(通过UC框架)中使用其中一个时,其他人就提到该协议效率低下(可能是由于模拟器倒带)。


2
您可以看看以下内容:witness.weizmann.ac.il/~oded/gmw2.html。在该文件中,不诚实的当事方被迫诚实地采取行动,证明(零知识)他们遵循了上一步中的协议。
MS Dousti

4
我认为,“强制诚实行为”是现代密码术的可能定义(不仅仅是隐藏信息)。在这种情况下,可以将加密的每个子区域视为解决该问题的一种方法。
Marc 2010年

我正要写和马克一样的东西。(顺便说一句,交互式证明,甚至NP的定义也可以被视为对证明者的“强迫诚实的行为”,尽管通常不将其视为加密协议。)这个问题确实很广泛,而且似乎存在在各种情况下,没有一种千篇一律的方法来执行诚实的行为。
伊藤刚(Tsuyoshi Ito)2010年

1
您的确切含义是“但它们似乎并不能解决整个问题?” 你可以再详细一点吗?
阿隆·罗森

@Sadeq:请看最后一段!@Marc&Tsuyoshi lto:请参阅“编辑”部分。它可能会有所帮助。
Yasser Sobhdel

Answers:


6

las,您不能强迫人们按照协议的规定去做。

甚至有意遵循该协议的好心人也会偶尔犯错误。

似乎至少有3种方法:

  • 密码学理论:假设“好的”代理始终遵循协议,而“恶意的”代理则试图颠覆协议。设计加密协议,以便好的代理获得所需的东西,而恶意的代理则一无所获。
  • 博弈论:假设每个行为人只为自己的个人利益而关注。使用机制设计可以最大程度地为每个人带来最大利益。
  • 分布式容错网络:假设每个代理偶尔会犯一个错误,并且一些“机器人”代理会散发出许多恶意制作的消息。检测并隔离“机器人”节点,直到它们被修复为止;使用错误检测和纠正(EDAC)修复偶发错误;使用收敛协议,无论路由表中存储了什么初始错误信息,这些协议最终都会变成有用的状态。

机制设计 在博弈论中,设计一种情况(例如,设置拍卖规则)以使那些只为自己的个人利益而自私的人最终完成设计者希望他们做的事情称为“机制设计”。。特别是,使用实施理论,可以设计情况,使最终结果最大程度地为每个人带来最大收益,避免设计不当的情况,例如“公地悲剧”或“囚徒困境”,这种情况发生在任何人都没有的情况下长期利益。

一些最强大的此类过程旨在与激励兼容

博弈论通常简单地假设所有相关主体都是“理性的”。在博弈论中,“理性”是指代理人倾向于某些结果胜于其他结果,愿意并且能够以他期望的方式(根据给定的可用信息)改变其行为,从而会导致更优选的结果(他自己的)狭self的个人利益),他足够聪明,意识到其他理性行为者会采取类似的行动,以试图从行动选择可能产生的所有可能结果中获得最可取的结果。

设计者可以暂时做出简化的假设,即所有人仅根据自己狭narrow的自身利益行事。该假设使使用实现理论设计情况变得更加容易。然而,设计完成后,它不会不管其他人根据自己的狭隘的自我利益(“行为经济人 ”),或者他们是否是利他的,并希望最大化总净效益给大家-在经过适当设计的情况下,两种人都做出完全相同的选择,最终结果使每个人的总利益最大化。

收敛协议

在设计路由协议时,网络中的每个节点都会向其邻居发送消息,并传递有关从该节点可以到达其他节点的信息。

las,有时这些消息有错误。更糟糕的是,有时节点配置错误,并散发出许多误导甚至是恶意制作的消息。

即使我们人类知道消息可能是不正确的,我们也通常会设计协议,以便运行正常的节点信任每条消息并将信息存储在其路由表中,并做出决定,就好像它认为该信息是完全真实的一样。

一旦有人关闭了坏节点(或将其与网络断开连接),我们通常将协议设计为快速传递良好信息以清除损坏的信息,从而迅速收敛到有用状态。

组合方法

算法机制设计 似乎试图将容错网络方法和博弈论机制方法相结合。

@Yoichi Hirai和Aaron,感谢您指出了将博弈论与密码学相结合的一些有趣尝试。


4

乔·哈珀恩(Joe Halpern)就该主题做了一张幻灯片。 http://games2009.dimi.uniud.it/Halpern.pdf

这是关于激励各方,使其遵循协议。这些机制要求当事方的合理性,论点是基于博弈论的。


1
这是与幻灯片一起发布的相关文章:theory.stanford.edu/~vteague/STOC04.pdf-这种方法不会“强迫”人们遵循协议,而是试图设计协议以激励想要的人这样做。当然,要做到这一点,您必须对遵循该协议的人们究竟想做什么做一些假设……
Aaron Roth 2010年

如果可能的话,您能否解释一下在这种情况下“理性”是什么意思?例如,这是否意味着遵守基本的全球公理集?还是意味着参与的各方共享相同的基础公理集?在任何现实情况下,前一种解释都使我感到荒谬,因为个人的动机往往千差万别,因此人们可能会以不同的方式对待“激励”。
s8soj3o289 2010年

@blackkettle:一个理性的参与者最大化(期望)效用函数。出于您指出的原因,总是想出公用事业需要满足的正确公理。但我们总是尝试使用最小的公理集。任何好的微观经济学书籍都将详细介绍这个问题
Sasho Nikolov

@blackkettle:关于Halpern论文:他假设(秘密共享)协议中的各方宁愿知道秘密而不是不知道秘密,并且宁愿少知道而不是更多其他方知道秘密。同样,他使用的均衡概念是非控制策略上的纳什均衡(即,如果一个玩家总是至少和另一个玩家一样好,那么该玩家就不会玩策略;此外,只要其他玩家不改变自己的策略,而她当前的策略不是最糟糕的是,她也不会更改它)。
Sasho Nikolov
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.