Mimblewimble Andrew Poelstra 2016-10-06 摘要 2016年8月2日凌晨4:30左右,一名匿名人士使用Tom Elvis Jedusor的名字登录了比特币研究IRC频道,丢弃了一个托管在Tor隐藏服务[Jed16]上的文档,然后注销。这份名为Mimblewimble的文件描述了一个区块链,它采用了与比特币截然不同的交易构建方法,支持交易、机密交易的非交互合并和切入,以及对当前区块链状态的完全验证,而无需新用户验证任何代币的完整历史记录。 不幸的是,虽然这份文件的详细程度足以说明它的主要思想,但它没有包含任何关于安全的论点,甚至有一个错误的论点【1】。本文的目的是为了使原来的思想更加精确,并进一步增加作者开发的缩放改进。特别是,Mimblewimble缩小了事务历史,使得具有比特币历史的链需要15Gb的数据来记录每个事务(不包括UTXO集,其包括范围证明,将占用100Gb)。JeDuor留下了一个如何减少这一问题,我们解决了这个问题,并将它与现有压缩区块链的工作量证明的研究工作相结合,以减少15GB到小于1兆字节。 【1】https://www.reddit.com/r/Bitcoin/comments/4vub3y/mimblewimble_noninteractive_coinjoin_ and_better/d61n7yd 许可:这项工作已公开发表。 1.简介 2009年,Satoshi Nakamoto推出了比特币加密货币[Nak09],这是一个允许数字代币点对点传输的在线货币系统。这些代币的所有权通过使用公钥来确定,并且通过公共分类账(一个全局复制的事务列表)来完成传输,该列表销毁未使用的事务输出(UTXOs),并创建具有相同价值但不同密钥的新事务输出。 所有比特币都起源于coinbase交易,这种交易创造新的产出而不破坏任何旧的产出,并且其价值受到限制,以维持固定的通胀时间表。一旦创建,它们就通过普通交易进行交易。这意味着,新用户为了充分验证他们对系统的看法是不妥协的(没有盗窃或非法通货膨胀),必须下载并验证从2009年系统诞生到今天的整个历史。换言之,他们必须下载并“重播”所有曾经发生的交易。 如今,比特币区块链在作者磁盘上的容量只有100Gb。由于比特币使用了加密交易[Max 15](CT),总共发生了大约4亿3000万个交易,每一比消耗2.5kb,累计超过万亿字节的历史数据【2】。 本文描述了一个设计类似比特币的加密货币的研究项目,它比比特币具有更好的扩展性和隐私性。特别是,它允许删除大多数历史区块链数据,包括已用事务输出、范围验证和所有数据,同时仍然允许用户完全验证区块链。事实上,即使没有用户保留绝大多数历史区块链数据,系统也有可能正常运行。 【2】作者意识到未发表的研究将使这一数量减少约25%;总量仍然是令人生畏的。 此外,这种货币允许事务进行非交互组合(a la Coinjoin[Max13a])与切入[Max13b],从而消除了事务图的大部分拓扑结构。如果在不发布原始组件事务的情况下这样做,结果会对用户隐私带来巨大的好处,并被CT放大。 不幸的是,它以牺牲实用性为代价来实现这些目标。 1.1概述和目标 Mimblewimble是一种即使经过多年的区块链操作,它的历史也可以被压缩并用简单的计算硬件快速验证加密货币的设计。第二个目标,它应该通过机密事务和模糊的事务处理图来支持强大的用户隐私。然而,为了实现这些目标,Mimblewimble不能支持像比特币那样的通用脚本系统。这就排除了零知识有条件支付[Max16]、跨链原子交易[Nol13]和小额支付渠道[PD16]等功能。在Mimblewimble上仿真这些功能还需要进一步的研究,这将在第4节中进行讨论。 更准确地说, ?系统上应能进行一方与另一方之间直接转移价值。 ?所有交易都应使用保密交易来隐藏其输出金额。 ?交易应为非交互聚集的[Mou13],即支持CoinJoin[Max13a,Max13b]的非交互式变体,这样,与原始交易无关的各方就无法将其分离。这可以提高审查的阻力和隐私,虽然还不清楚如何设计一个能够利用这一能力的安全P2P网络。 ?对于一个新的参与者,赶上系统所需的带宽和处理能力应与系统的当前状态成正比,即UTXO集的大小加上范围证明,而不是所有历史事务的总大小。如下一节所述,更全面地说,在第3.3节中,Mimblewimble有一种方案,用于将区块链历史压缩为原始大小的多段日志,实际上,对于比特币规模的系统来说,应该允许在几秒钟内使用几兆字节的数据验证10年或更长的交易历史【3】。 【3】对本文所描述的压缩区块链的实验表明,500000块区块链的压缩链长度可能约为300个块(尽管在多个实验中具有高方差),每个块都包含平均10个96字节椭圆曲线点的下沉签名,merkle对前一个块的提交由40个40字节(区块哈希,难度)对和一些额外的块头数据组成,总共不到3Kb的数据。在300个区块中,总共是900Kb的压缩链数据。验证时间以配对计算为主,平均每个块有10个,即3000个。在作者使用Ben Lynn的libpbc库的笔记本电脑上,使用一个内核可以在20秒内完成这些操作。通过对椭圆曲线的更细致的选择,集中优化工作,这个数据一定可以提高。 另一方面,由于Mimblewimble使用了机密转换,比特币目前4000万未使用输出的状态将增长到100Gb,并在现代CPU上进行几天的验证。如何改进这一点是一个悬而未决的问题。我们观察到,即使没有加密改进,简单地将UTXO集大小限制为区块高度的函数并让交易费用市场来处理它也会有很大的帮助。 1.2信任模型 与比特币一样,Mimblewimble是一种基于区块链的加密货币,旨在以去中心化的方式实例化,用户可以随时加入或离开系统。此外,在(重新)加入网络时,用户应能够确定网络状态,至少在最近的某个时间内,并验证该状态是通过一系列有效的状态转换获得的,而不信任任何第三方的诚实性。 不过,与比特币的信任模式有两点不同: 1.与比特币不同的是,比特币的区块链完整地描述了每一笔交易,因此允许所有用户同意并验证导致当前链状态的精确一系列交易,Mimblewimble只允许用户验证基本功能: ?一个事务一旦提交给区块,就不能在不重写块(或由其输出的所有者明确撤消)的情况下被撤销。 ?所有代币的当前状态是通过零网络盗窃或通货膨胀获得的:流通中的代币与应有的一样多,而在每一个未使用的输出中,都有一条通向它的交易路径,所有这些都是在区块链中被提交和授权的。 请注意,在区块链中可能还有其他路径,其中一些事务可能已失效或未经授权或通货膨胀,但由于存在合法路径,所有这些东西必须已净值为零。 2.与比特币一样,验证者可能会看到多个不同的区块链,并选择有效的区块链作为总工作量最大的区块链。详见第3.3.2节。 然而,在比特币中,总的工作既代表了产生这样一个区块链的预期工作,也代表了该链已被证明的工作,因为任何一方如果花费的工作远远少于这个数量,将无法产生这样一个链,除非在极其低的概率下。 另一方面,Mimblewimble把这些分开。总的工作仍然代表了产生区块链的预期工作,因此激励理性参与者对大部分工作链做出贡献,而不是重写它。另一方面,已被证实的工作被限制在与链长无关的某个固定值上,这使得非理性幸运者的伪造成本高得令人望而却步。 —- 编译者/作者:灰狼 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
【译文】MimbleWimble协议(一)
2020-01-08 灰狼 来源:区块链网络
LOADING...
相关阅读:
- 加密分析师:五个低价项目将在下一次比特币牛市中飙升2020-10-29
- 法国兴业银行选择ConsenSys进行CBDC开发2020-10-29
- 柬埔寨中央银行启动Bakong区块链支付系统2020-10-29
- 币安记录令牌燃烧导致强劲的看涨趋势形成2020-10-29
- 摩根大通自己的代币JPM Coin将于本周首次亮相2020-10-29