ON BRICK|比特币和加密货币的研究前景和挑战(三)

<接(二)>

第七节
匿名与隐私
比特币提供了有限形式的不可链接性:用户可以随时随意创建新的假名(地址)。原始规范中认为这可以提供强大的隐私[90],但是很快就清楚了,由于区块链的公共性质,有时可以追踪假名之间的资金流,并得出结论,假名可能是由假名控制的。同一个人。[56]在本节中,我们讨论了比特币用户的隐私威胁和提议的增强隐私的设计。
A.去匿名
不可链接的实际水平在很大程度上取决于实现细节,我们将其称为使用习惯用法,紧随[80]之后。例如,为每次销售生成新付款地址的商户确保收到的付款不能自动链接到区块链上。相比之下,客户可能需要从她拥有的多个地址汇总付款金额。18考虑到不同的用户很少为单个联合交易贡献输入,因此将这些地址(及其伴随的交易历史)链接到区块链上。19其他习语,例如“每个不变的输出都由一个实体控制” [4]和“一个地址最多只能将一个地址用作变化” [80] 攻击者还可以利用“链接”将由同一实体控制的不同地址链接在一起。
链接可以暂时应用以产生地址簇;这是事务图分析的一个实例。攻击者面临的主要挑战是这些惯用语很脆弱:随着实现的发展,它们可能会产生误报并随着时间的流逝而失去准确性。新的链接技术也可能出现。例如,多重签名地址会对隐私产生意外的负面影响,因为即使所涉及的密钥发生了变化,更改地址中的多重签名结构也可以与发送地址进行匹配[50]。
要取消匿名,对手必须采取进一步的步骤,将地址集群链接到真实世界的身份。Meiklejohn等。[80]成功地识别了属于在线钱包,商人和其他服务提供商的集群,因为通过与它们的交互很容易学习至少一个与这些实体相关联的地址。至于确定普通用户,作者建议,具有传票权的当局可能会很容易,因为大多数流量都通过这些集中服务提供商(通常需要客户身份并保留记录)。但是,如果没有这种访问权限,则由于在线钱包的中心地位而使对手受到严格限制,而其他此类服务会将用户的硬币混合在一起。
网络去匿名化。去匿名化工作的另一个主要目标是对等网络。广播交易时,节点会泄漏其IP地址。因此,使用匿名网络对于隐私至关重要。但是,Biryukov等。[21]指出了DoS攻击,使Tor出口节点与比特币网络断开连接。比特币的P2P层是否会发展以更好地利用Tor还是有待开发专用的匿名网络还有待观察。最后,由于难以私下获取客户感兴趣的交易清单,目前的SPV实现几乎没有匿名性[49]。
B.改善匿名性的提案
匿名提议主要分为三类。表VII-A提供了关于五个安全性和部署属性(带有∙ 表示方案具有属性,而◐则表示其部分具有)。
点对点。在P2P混合协议中,一组比特币持有人共同创建了一系列交易(私下)置换了其硬币的所有权,从而使每个参与者在该组中都是匿名的。可以在不同用户之间重复此过程以扩展匿名集。
表一匿名技术的比较评估

一种简单的实现此目的的机制是CoinJoin [79],其中一组用户形成一个标准的比特币交易,每个用户输入一个输入,每个用户控制一个新的输出地址,这样,检查交易的外部方就不会知道哪个输入对应到哪个输出(提供外部不可链接性)。如果不包括所需的输出地址,则任何用户都可以拒绝签署交易,以防止盗窃,但任何人都容易受到DoS的攻击。在普通CoinJoin中,用户向其他用户声明其输出地址(不提供内部不可链接性)。这可以通过切换新的Tor电路或其他特殊方法来解决。要实现强大的内部不可链接性,请使用CoinShuffle [104]是用于通过密码混合协议形成CoinJoin交易的覆盖协议。它还通过识别哪些参与方中止来部分(◐)防止DoS。
两项较早的提议提供了与CoinJoin类似的属性,一项基于改组网络[35],另一项基于公平交易[13]。但是,两者都限于两方混合,因此无法实现内部不可链接性。为了解决为两方混合协议找到合作伙伴的困难,Xim [22]是一种分散式协议,用于使用向矿工支付的三个阶段的费用来寻找混合合作伙伴,以阻止拒绝服务攻击。
分布式混合网络。在Mixcoin [26]中,用户将标准大小的交易发送给第三方组合,并从相同组合的其他用户提交的硬币中收取相同的金额。这提供了对外部实体的匿名性和部分内部匿名性(◐),因为混合将知道用户和输出之间的链接,而其他用户则不知道。其他用户也不能破坏协议。尽管混合可能随时会窃取比特币,但是​​可以使用签名的手令(提供部分防盗能力)来识别欺诈混合。虽然尚未使用Mixcoin的担保和其他功能,但这是最接近实践中最常用的第三方混合的建议[88]。
Blindcoin [118]使用类似于Chaum最初的电子现金提议[28]的盲令牌扩展了Mixcoin 。这样可以防止诚实而又好奇的混合学习输入和输出之间的映射并升级到完全内部不可链接性,而这需要花费额外的两个事务来发布和赎回盲目令牌。
具有集成不可链接性的Altcoins。Zerocoin [81]是一种拟议的具有集成不可链接性的山寨币,它使用类似于比特币的基础货币和一种称为零币的匿名影子货币。用户仅以基本货币进行交易,但可以相对于所有零币的集合(比上面的其他技术大得多的匿名集)以匿名方式使基本货币循环进出零币。这提供了强大的不可链接性,无需担心盗窃或DoS,也无需依赖矿工以外的任何实体。但是,它与比特币不兼容,必须实现为山寨币(或硬分叉)。PinnochioCoin [37]是使用不同密码结构的类似建议。
Zerocash [16]是一个匿名山寨币的更强提议。零现金交易是一种特殊的零知识证明,称为SNARKs [17],它根本不透露有关金额或收款人的任何信息(可能的公共交易费用除外),从而实现了一个完全不可追踪的分类账,其中没有公开披露任何信息。SNARK是一种新的密码原语,迄今为止尚未进行任何实际部署,并且需要受信任方初始生成秘密参数。然而,最近的工作表明,这种初始设置可以分布在一组互不信任的各方之间[18]。
CryptoNote [119]是一种使用环签名的加密混合协议,已被用作几种注重隐私的山寨币的基础。用户可以通过在一组硬币上提供一次性戒指签名来发送一个硬币至(可能未花费)他们选择的硬币,这些硬币用作匿名集。一次性属性可确保两次尝试都可以相互链接,从而导致无效交易。交易金额是线性的至,即单个交易的匿名集的大小。与Zerocoin或Zerocash相比,该方案具有更好的性能,但匿名性较弱。

第八节
扩展比特币的功能
虽然比特币可以简单地描述为一种数字货币,但是脚本语言的强大功能以及矿工的强制执行,使得两个或多个相互不信任的各方之间可能需要进行许多其他类型的交互,否则它们将需要可信的中介。我们使用术语“ 非中介”来指代设计交易的一般过程,从而消除了对可信中介的需求。
A.今天与比特币的去中介
比特币作为可扩展平台的程度通常被夸大了。脚本语言仍然受到严格限制。但是,已经设计了许多用于去中介的协议,可以使用比特币当前的交易语义来实现。我们确定了三种通用的去中介策略:
原子性。在许多情况下,可以使用区块链提供的功能直接执行所需的安全属性,并且交易可以是原子的,直到多方签名才有效。CoinJoin [79]是一个简单的示例,在所有各方签字之前,不交换参与者的硬币。另一个例子是Hearn的“串行小额付款”协议[55],它可以有效利用带外通道,以允许一方授权近乎连续的缓慢释放资金(例如,每秒几分钱),以换取某些计量服务,例如Internet访问。付款人可以通过不再签署任何交易来随时终止协议,此时只有一项交易需要发布到区块链上。另一个聪明的协议是Nolan的原子跨链交换协议,该协议允许用户通过两个链接的交易和原子安全性在两个山寨币之间交换货币[91]。
抵押品。在其他情况下,当不能直接强制执行所需的安全性时,比特币可以通过发布保证金或保证金来提供可接受的补救措施,只有在行为正确的情况下才可以退还该保证金。这种方法以Andrychowicz等人的多人彩票协议为例。[5]。每个ñ各方进行BK投注,然后一个方(随机选择)与BKN离开。为了确保作弊玩家不会通过先学习结果并有选择地中止协议而破坏游戏,每个玩家都必须存款BKN 2。如果任何参与者中止协议,他们将没收其押金,这笔款项将用于补偿其他参与者所能赢取的最大金额。这种方法不仅限于彩票,但实际上可以为任意多方计算提供公平的概念[19]。
可审核性。即使不使用比特币对不诚实的一方立即采取补救措施,比特币在提供证明不诚实方的证据方面仍然可以发挥关键作用。一个示例是绿色地址[58],其中具有众所周知的公钥的付款处理者承诺永远不要签署无效或冲突的交易。从绿色地址接收交易的用户可以在等待将其包含在块中之前接受它(即做出不可撤消的决定)。如果在某个时候该交易被在区块链中发布的有冲突的交易抢占,则用户会获得易于检查的证据证明服务器作弊。Mixcoin [26]中使用了类似的技术,其中半受信方提供签名与区块链一起的保证将提供无可辩驳的不当行为证据。
B.比特币作为数据存储
扩展比特币的另一种方法是仅将其用作任何人都可以写入的全局仅追加日志。
确保时间戳记。因为区块链是(模叉)仅追加,它可以立即用作安全时间戳服务[31],这在各种安全协议中很有用。可以通过多种机制将任意数据写入到区块链中-社区更喜欢使用可证明是不可花费的小脚本,其中包括未使用变量中的数据。20多种服务从用户那里收集数据,并将Merkle根发布到区块链,从而允许任何人为任意数据添加时间戳。
数字令牌:彩色硬币。由于可以将数据写入单个交易中,因此可以用“颜色”标记某些交易。这启用了称为有色硬币的协议[103]它定义了一组规则(不是由矿工强制执行的),用于将颜色从输入交易转移到输出交易。硬币最初可以通过包含来自任何受信任的机构来为某些应用程序发行颜色的特殊签名来进行着色。这允许创建可以彼此交换或与普通无色比特币进行交易的任意令牌。彩色硬币已经被提出用于许多应用中,例如交易股票或产权。由于比特币矿工不执行有色硬币协议的规则,因此验证交易的颜色需要扫描区块链以查找所有祖先交易(不包括SPV证明)。
彩色硬币使用区块链的历史跟踪功能作为功能。总的来说,已经观察到每个交易输出都具有独特的祖先历史,这对于不同的用户可能是有意义的,这意味着从长远来看,不能保证比特币是可替代的[89]。
叠加协议:Mastercoin。一种更灵活的方法是使用比特币的共识机制,但定义完全不同的交易语法(具有任意有效性规则),以作为任意数据写入区块链。请注意,这种设计会删除比特币共识机制通常提供的正确性属性,因为比特币矿工不会知道新的交易类型。因此,无效的覆盖交易可以被发布并且需要被覆盖系统中的参与者忽略。由于用户必须验证整个叠加交易记录,因此SPV证明也是不可能的。两个著名的此类系统是Counterparty [39]和Mastercoin [123],它们定义了用于交易数字资产和合约的大量其他交易类型。
C.扩展比特币的交易语义
比特币脚本语言是故意限制的。实际上,原始资源包含了一种更加通用的语言,但是大多数操作码都被标记为不可用。在全文[25]的在线版本中,我们解释和评估了各种建议,例如名称硬币[76]或以太坊[125],以扩展比特币的功能,从而提供一种更通用的去中介平台。

第九节。
结束语
我们基于学术和(零星的,零碎的)在线文献对比特币进行的广泛分析显示,在设计实用的加密货币方面,新思想的复兴是计算机安全社区长期面临的挑战。创新不仅限于新的加密货币协议设计,还涉及计算机安全,分布式系统,硬件设计和经济学的许多领域。这是一个丰富而深厚的空间,不应仅仅因为许多想法并非来自传统的计算机科学研究所而被忽略。
然而,尽管我们的知识已大大增加,但我们仍然常常缺乏理解。一个简单的事实说明了这一点:如果有机会从头开始设计一种货币系统,目前尚不清楚与比特币有何重大差异是可取的,或者它们在实践中会产生什么影响。这并不是说比特币是完美无缺的,正如它的许多设计怪癖所示。还有一些领域,例如匿名性,其中明显提出了更好的设计。然而,对于基本的稳定性和效率,尚不清楚是否有可能设计出可以在比特币上改善的替代分散式共识系统。文献甚至没有提供足够的工具来评估比特币本身将保持稳定的经济和社会假设。同样,为了设计具有新功能的非中介协议,
总体而言,我们只是没有一个具有足够预测能力的科学模型来回答有关比特币或相关系统在不同参数或不同环境下的运行情况的问题。尽管偶尔有人对比特币社区中的学术计算机科学研究感到担忧,但是我们还是主张研究的重要作用,而不是简单地“由市场决定”。今天,很难评估比特币相对于山寨币的成功程度是由于其特定的设计选择,而不是其先发优势。
比特币是一种罕见的情况,实践似乎超出了理论。我们认为这对于研究界来说是一个巨大的机会,可以解决我们提出的有关比特币的许多公开问题。

致谢

作者要感谢以下同事对本文草案的反馈意见:Sergio Demian Lerner,Luke Valenta,Albert Szmigielski,Gus Gutoski,Ben Laurie,Ittay Eyal以及IEEE Security&Privacy的匿名审阅者以及他们的成员比特币社区。Joseph Bonneau得到了安全可用性研究员的支持。杰里米·克拉克(Jeremy Clark)得到了NSERC发现资助的支持。Joshua A. Kroll获得了NSF研究生研究奖学金的资助,批准号为DGE-1148900。NSF Grant CNS-1421689支持Arvind Narayanan。

文献引用

详见https://ieeexplore.ieee.org/document/7163021

相关文章:

发表评论

您的电子邮箱地址不会被公开。