快速小猫: 比特币实用智能契约外文翻译资料

 2023-01-08 10:51:12

本科毕业设计(论文)

外文翻译

快速小猫:

比特币实用智能契约

Poulami Das Lisa Eckey Tommaso Frassetto David Gens

Kristina Hostaacute;kovaacute; Patrick Jauernig Sebastian Faust Ahmad-Reza Sadeghi

德国达姆施塔特技术大学

first.last@cs.tu-darmstadt.de

first.last@trust.tu-darmstadt.de

摘要

智能合约被设想为分散加密货币的杀手级应用之一。它们根据复杂的程序逻辑实现用户之间的自我执行支付。不幸的是,比特币是最大和最广使用的加密货币,不支持对于复杂的智能合约。此外,通常可以在比特币上执行简单的合约设计繁琐且执行成本高昂。在这项工作中,我们提出了FastKitten,这是一个实用的框架,用于以低成本执行任意复杂的智能合约而不是分散的加密货币,旨在仅支持简单的交易。为此,FastKitten利用可信计算环境(TEE)的强大功能,在这些环境中运行合同以低成本实现高效的合同执行。我们正式证明FastKitten满意除了一方以外的所有人都是恶意的,安全性很强。最后,我们报告原型通过脚本引擎支持任意合同的实现,并通过对可证明公平的在线扑克游戏进行基准测试来评估性能。我们的实施说明FastKitten适用于复杂的多轮应用,具有非常小的延迟。结合这些功能,FastKitten是复杂智能合约的第一个真正实用的框架比特币执行。

1 引言

从他们2008年的发明开始,分散的加密货币如比特币[54]目前受到学术界和工业界的广泛关注。自比特币兴起以来,无数新品加密货币已经推出,以解决中本聪原创的一些缺点提案。例子包括Zerocash [50],它改进了比特币有限的匿名性,以及以太坊[17]提供复杂的智能合约支持。尽管有这些发展,比特币目前仍然是目前市场上最受欢迎和最深入研究的加密货币资本总额为1090亿美元,占加密货币市场总量的50%以上大小[2]。

比特币的一个特别重要的缺点是它对所谓的智能合约的支持有限。智能合约是(部分)自我执行协议,允许基于发布交易复杂的程序逻辑。智能合约可以为金融行业或物联网提供无数新颖的应用,并且经常被引用作为我们未来的一瞥[9]。最多目前允许运行复杂智能合约的显着加密货币是以太坊[17],它旨在支持图灵完整的智能合约。虽然以太坊不断普及,但将合同直接整合到加密货币中有几个缺点正如比特币的拥护者经常提到的那样。首先,设计大规模安全分布式系统非常复杂,通过增加对复杂的支持,进一步提高了复杂性智能合约也增加了引入漏洞的可能性。其次,在以太坊中,智能合约直接集成到加密货币的共识机制中,这需要在特别是分散系统的所有节点都执行所有合同。这使得执行合同成本非常高,并限制了最终可能的应用程序的数量和复杂性跑过这样一个系统。最后,智能合约的许多应用需要保密性目前不支持以太坊。

在单独应对这些挑战方面,已经有了重要的研究成果。有些作品旨在通过展示如何使用比特币在比特币上建立合同来扩展比特币的功能多方计算(MPC)[40,41,43],其他人则专注于实现隐私保护合同(例如,Hawk [38],Ekiden [21])通过将现有的加密货币与可信执行环境(TEE)相结合。但是,正如我们在第2节中详细说明的那样,所有这些解决方案都来自各种解决方案缺点:它们无法集成到比特币等现有的加密货币中无效(例如,他们使用重密码技术,如非交互式零知识证明或一般MPC),不支持货币机制,或有重大的财务费用复杂的交易和高抵押品(基于MPC的解决方案中各方阻止的资金)。在这项工作中,我们提出了FastKitten,一种利用可信执行环境的新颖系统(TEE)利用成熟的加密货币(如比特币)来提供对任意的完全支持复杂的智能合约。我们强调FastKitten不仅解决了这些挑战如上所述,但也非常有效。它可以轻松集成到现有的加密货币中因此今天就可以使用了。 FastKitten通过使用TEE进行隔离来实现这些目标在飞地内执行合同,使其免受潜在恶意用户的攻击。主要的这个解决方案的挑战,例如如何加载和验证内部的区块链数据第3.1节讨论了飞地或如何防止拒绝服务攻击。移动合同执行到安全区域保证对智能合约的正确和私人评估即使它没有在区块链上运行并由分散网络验证。这种方法规避合同必须的以太坊等加密货币的效率缺点成千上万的用户并行执行。与我们的工作最相关的是最近推出的Ekiden系统[21],它使用TEE来支持多方计算的执行,但确实如此支持处理硬币的合同。虽然Ekiden对单轮合同很有效,但事实并非如此专为复杂的反应性多轮合同及其off-chain链执行而设计。后者是一个FastKitten的主要目标。

我们总结了下面的主要目标和贡献。

  • 比特币智能合约:我们支持执行任意多轮智能合约在任何数量众多的参与者中,我们的系统可以在任何加密货币的基础上运行,只有有限的脚本功能。我们强调比特币只有一个今天可以部署我们的系统的例子;甚至更简单的加密货币比特币可以用于FastKitten。
  • 有效的Off-Chain执行:我们的协议旨在保持绝大多数如果所有各方都遵循协议,则在标准情况下执行程序Off-Chain。既然我们的系统激励大多数实际用例的诚实行为,因此FastKitten可以运行实时,低成本。
  • 正式的安全性分析:我们正式分析了FastKitten的安全性对抗模型。我们证明合同正确执行,或所有诚实的政党收回他们最初投入合同的钱,而这是一个恶意的一方失去了硬币。此外,可以保证运行TEE的服务提供商如果他诚实地行事,不要赔钱。
  • 实施和基准测试:我们提供对FastKitten的深入分析性能和成本,并评估我们的框架实施与几个系统参数通过对实际用例进行基准测试。具体地说,我们表明了这一点在线扑克可以运行,总体匹配延迟为45毫秒,每位玩家的成本是有序的一美元的数量,证明了FastKitten的实用性。

我们强调FastKitten只需要一个TEE,它可以由其中一个拥有参与者或我们称之为运营商的外部服务提供商。另外,聪明在FastKitten执行框架中运行的合同支持私有状态和安全输入,因此,比以太坊更强大的合同。最后,我们强调FastKitten可以支持可能跨越每个参与者的多个不同加密货币的合同可以使用她最喜欢的货币来处理合同所处理的钱。

2相关著作

支持在分散的加密货币上执行任意复杂的智能合约首先由以太坊加密货币提出并实施。正如第1节所指出的,在分散的加密货币上运行智能合约会导致重大的管理费用复制的合同执行。虽然目前有大量针对的研究工作减少这些开销(例如,通过第二层解决方案,如状态通道[52,26],Arbitrum [36]或等离子[58],外包计算[61],或许可区块链[49]),这些解决方案仅适用于加密货币,支持复杂的智能合约,例如:过度复仇军。另一项工作,包括Hawk [39]和“巨吉斯之环”[35],正在解决以太坊智能合约无法保持私有状态的缺点。但是,也是这些解决方案基于复杂的智能合约,因此无法融入流行的传统加密货币,如比特币,这是FastKitten的主要目标。

在本节中,我们将重点关注相关工作,该工作考虑比特币的智能合约执行。我们分别使用TEE讨论基于多方计算的智能合约和解决方案。我们提供有关上述基于以太坊的解决方案如何比较的更详细讨论附录A中的FastKitten。另外,在第8节中,我们讨论了一些示例合同使用案例并将他们在FastKitten中的执行与以太坊的执行进行比较。

Approach

Minimal#TX

Collateral

Generic Contracts

privacy

Ethhereumcontracts

radic;

times;

MPC[42,43,41]

radic;

radic;

[21,12,37]

No support for money

radic;

FASTKTTEN

radic;

radic;

表1:比特币合同执行的选定解决方案及其与以太坊的比较聪明的合同。 以上,n表示当事方的数量,m是被动执行的数量发。

智能合约的多方计算 实现比特币复杂契约的一个有趣方向是使用所谓的多方计算和惩罚[42,43,41]。类似对FastKitten这些工作允许安全的m-round合同执行,但它们依赖于索赔或退款功能[42]。这样的功能可以通过比特币实现,因此可以实现作品说明了比特币的通用合同的可行性。很遗憾,解决方案支持通用合约需要复杂(且昂贵)的比特币交易和高抵押品锁定由各方使其对大多数用例来说不切实际。具体地说,在所有通用的n方中我们知道的合同解决方案,每一方都需要锁定О(NM)硬币,这总体上导致了上)被锁定的抵押品。相反,FastKitten中的总抵押品是О(n),请参见专栏表1中的“Collateral”。

已经表明,对于特定的应用,具体地说,当使用基于MPC的解决方案时,多方彩票,可以在所需的抵押品中显着改进[51]。然而这以无效的设置阶段,O阶的通信复杂度О(),和О()执行阶段的链上事务。让我们强调[51]中使用的方法不能适用于通用合同。总的来说,虽然基于MPC的合同是进一步研究的有趣方向,但我们强调这些系统目前还远未提供真正实用的通用平台比特币的合约执行,这是FastKitten的主要目标。

区块链的TEE最近有很多关于使用TEE进行改进的工作区块链上的某些应[67,68,10,46,62].一个突出的例子是Teechain [46],其中通过比特币实现off-chain链支付渠道系统。但是,像大多数这些先前的作品一样,Teechain不使用TEE进行智能合约执行,其他一些作品,包括Hawk[39]和Gyges[35],提出隐私保护off-chain合同执行使用TEE,但不适用于比特币。有关详细信息,可能与我们的工作最相关的是[21,12,37],它们提出了使用TEE进行私有off链功能执行的区块链不可知系统。尽管这些作品具有概念上的相似FastKitten,目标是正交的。上述工作的目标是进行繁重的计算off-chain链条是为了降低执行复杂合同功能的成本。然而,它们的目的不是减少区块链上的通信负荷。实际上,沟通与天真的合同链条执行相比,复杂性通常会增加。相反,FastKitten旨在最大限度地减少链上通信(特别是对于多轮应用)因此可以看作是一个完整的区块链扩展解决方案。

作品[21,12,37]考虑客户(合约方)和具有类似的计算节点任务为FastKitten的TEE操作员,因为他们也在TEE内执行合同。与之相反FastKitten,他们将结果合同状态的加密发送到区块链之后功能调用。如果客户端请求另一个函数调用,则所选计算节点从该状态获取状态区块链,在其飞地内解密并执行合同执行。这意味着即使在所有参与方的标准情况下,反应性多轮合同也是非常昂贵的诚实(表1中的Minimal#TX栏)。所有的作品[21,12,37]都依赖于多个TEE只要至少一个TEE由诚实的计算节点控制,即可保证服务可用性。尽管FastKitten仅依赖于单个TEE运算符,但我们在9.2节中讨论了故障公差可以直接的方式集成到系统中。所有系统的共同目标是提供合同的国家隐私。

由于FastKitten的主要目标之一是提供多轮应用程序的可扩展性解决方案,因此它鼓励各方尽可能地最小化区块链交互。公平通过惩罚恶意方来保证硬币的分配。因为这不是重点[21,12,37]公平的硬币分配没有讨论。例如,Ekiden甚至没有模型或讨论硬币的处理。将此功能添加到他们的模型中并不简单合同状态是加密的,因此货币无法在链上自动解锁。

作品[21,12,37]是具有相似目标和方法的独立项目。主要的私有数据对象[12]与Ekiden [21]之间的差异是密钥的分配方式在TEE之间。在[12]中,合同的所有者可以自己决定哪些计算节点可以访问到合同状态解

剩余内容已隐藏,支付完成后下载完整资料


英语原文共 27 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[273103],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。