译者|Odaily星球日报秦晓峰编辑|卢晓明
今年1月,两个致力于隐私保护的加密货币面世:BEAM主网在1月3日上线,Grin将在1月15日主网上线。这两个币都是基于一种新型的隐私保护协议,名为MimbleWimble协议。那么,这个协议是什么样的,又是如何运转的呢?MimbleWimble协议是什么?
MimbleWimble是一个专注于可替代性、可扩展性和隐私性的区块链协议。2016年7月,TomElvisJedusor在IRC频道#bitcoin-wizard上发布的白皮书中首次提出该协议,并提出了一种可以提高公共区块链隐私的新的交易方式。MimbleWimble白皮书的诞生基于2013年发表的另一篇匿名论文。这篇论文中使用了单向聚合签名(one-wayaggregatesignatures),并搭配一种新的密码原语——配对加密,尽管这种密码原语在学术界不太受信任。此外,MimbleWimble白皮书还参考了比特币核心开发者GregoryMaxwell提出的两项隐私建议——机密交易和CoinJoin。所谓的CoinJoin,即当你想要转账时,可以找到另外一些也想转账的人,你们分别签名自己的输入,共同创建一笔交易。CoinJoin的核心思想是利用比特币的一笔交易中可以有多个输入以及多个输出这一点,将多笔交易合并,让人难以分辨哪笔输入对应哪笔输出,进而达到难以追踪某个地址的资金的来源或去向的目的。最初的MimbleWimble白皮书使用了与比特币相同的椭圆曲线加密技术,引起了诸多比特币研究者的关注。Blockstream的数学家、应用密码学家AndrewPoelstra就是其中一员,他对MimbleWimble白皮书进行了改进,于2016年10月发布了“precise”版本。长久以来,AndrewPoelstra的工作重点一直是保护隐私,致力于比特币的机密交易和“无脚本脚本”。最初大家的设想是,MimbleWimble可以作为比特币的升级版进行集成,或者作为一条侧链存在。但Blockstream联合创始人、比特币核心开发者PieterWuille在2016年表示,将其集成为向后兼容面临一些挑战:将MimbleWimble以向后兼容的方式引入比特币将是一项艰难的尝试。这不是不可能的,但会非常困难。如果非要进行实验,我希望它是一个实验性的分离链或侧链;在侧链中,我们不会引入新的加密货币,它也将是一个单独的链。MimbleWimble有一些缺点,比如,它没有脚本语言……尽管脚本语言在隐私方面有缺点,但它真的非常好用。Mimblewimble将人们带向另一个极端,在那里你有更好的隐私,但确是以牺牲其他功能为代价。MimbleWimble确实取消了脚本语言,这种语言允许支付渠道(如闪电网络)和跨链原子交换等创新,这两种创新在2017年比特币创新中得以实现。从那时起,出现了两个独立实施的MimbleWimble协议,它们对社区、精神、资金和技术细节都有着不同的考虑。MimbleWimble协议第一个实现的项目是Grin。在AndrewPoelstra的“precise”版本发布几天后,IgnotusPeverell在Github上创建了名为ignopeverell/grin的项目。在该项目中,他证明了用Rust编写的协议可以达到部分实现,并展示了自己对该项目的愿景。2017年3月,Peverell发布了Grin和MimbleWimble的技术介绍,现已成为当今协议规范的主要参考。到目前为止,这个项目仍然主要由一群匿名的开发人员负责维护,其中一些开发者使用的假名来自《哈利·波特》(比如LunaLovegood、SeamusFinnigan以及PercyWeasleyPercy),他们认为这些人名与Grin项目原始精神相一致。Grin的第一个测试网于2017年11月上线,目前该项目正在进行第四次测试,这也被认为是该项目的主网上线前的最后一个测试网。MimbleWimble协议的第二个项目是BEAM,该项目始于2018年3月,在最初的Mimblewimble白皮书发布一周年之际正式宣布启动。BEAM在另一份单独的白皮书中提出,其采用了类似于Zcash的结构,这与Grin的无政府主义、开源的理念形成了鲜明对比。此外,BEAM团队还与Grin做出了不同的选择,包括技术选择与货币政策。BEAM已于2019年1月初推出,其CEO是以色列企业家AlexanderZaidelson。MimbleWimble如何提高隐私?
MimbleWimble对比特币的UTXO模型做了一些修改,使基于机密交易和CoinJoin的私人交易成为可能。其白皮书中表述如下:没有地址;没有数量;两个交易可以合并成一个块,只形成一个,删除所有的中间信息。前两个部分可以通过使用机密交易来实现,这是Blockstream前CTO的提议。他提议使用一种名为Pederson承诺方案的密码原语,来改进比特币的UTXO模型。对于机密交易而言,只有交易中的参与者才能看到交易金额。从理论上来讲这是可行的,但有一个关键问题:必须让系统中的非参与者能够识别交易是否是伪造的,从而防止虚假交易。换言之,如果用户支出大于其账户余额,该笔交易能够被识别出来并终止。在比特币中,使用简单的加密哈希函数进行交易承诺时,输入、输出和交易金额都是必不可少的。Pedersen承诺允许发送方通过在区块链上将其作为哈希进行传播,来承诺交易量且不用向一般公众泄露;然后,用户可以通过再现存储在区块链上的哈希作为证明,来向接收者或可能需要了解该信息的任何其他人揭示金额。Pederson承诺也是可转让的,使得接收它的人可以在其他地方再次消费,且不会暴露金额。这是因为选择的哈希是同态的,意味着你可以对它们做简单的算术函数运算,如减法和加法,而不需要解密数据。但是,如何防止某人接受两个输入(例如-100BTC,+100BTC)呢?即在机密交易中使用“+100BTC”作为输入,而忽略“-100BTC”呢?机密交易的解决方案是使用另一种称为“范围证明”的密码原语。这一证明通过保证系统中的输入在一定范围内(例如“+100BTC”),来确保货币总供应量不变。MimbleWimble协议就是使用机密交易来确保系统中没有可见的地址或数量。上面提到的第三个目标“删除所有的中间信息”,是通过使用CoinJoin实现的,它可以与网络中交易事务联系在一起。虽然比特币的交易事务也是使用机密交易完成的,具有匿名性,但这些事务的历史记录中仍然包含大量的隐藏信息,这使得具有足够计算资源的人能够轻松地推断网络中不同事务之间的关系,并将其可视化。如下图所示:
数据可视化并非没有先例——像Elliptic和Chainalysis这样的初创公司经常使用这种形式进行链上取证,来检测欺诈和“非法交易”(如、黑市活动)。一些交易所和政府组织为了调查,也会给这些公司提供资金进行追踪。对于一些私人交易而言,比特币仍然是一个糟糕的选择,因为比特币网络图易于追踪。在CoinJoin中,来自多个用户的输入以所谓的匿名集的形式组合在一起,从而确保事务图更难跟踪。如下图所示,Alice的10个BTC和Bob的20个BTC输入组合在一个CoinJoin事务中。
像WasabiWallet这样的比特币钱包已经实现了CoinJoin,为比特币提供交易层隐私。然而,结果并不令人满意。这些产品的匿名集往往非常小,每笔交易只有少数参与者,往往需要花费大量时间才能获得匹配的资金。研究人员甚至能够对小型匿名集中的大多数交易进行去匿名化。MimbleWimble通过将CoinJoin作为协议的核心部分,而不是由第三方钱包进行事务层的隐私改进,从而解决了这个问题。在MimbleWimble中,每个块中的所有事务都被自动压缩成一个事务,并且大多数中间事务信息都是隐藏的。现在你可能在想:我的输入、输出和交易额都被隐藏了,交易图也变得非常模糊……那些别有用心的人,是否还有其他方法来确定我在做什么?答案是:有,潜在的可能是单个节点可以利用原始IP地址对交易进行去匿名化。当一个比特币交易来自钱包时,它会被广播到一组节点上,然后快速广播到比特币网络中的对等节点上。在将这些交易合并到一个块之前,由于单个交易是分散传播的,那些别有用心的人可以记录交易和其来源的IP地址,并通过这些信息来获取关于某人活动的信息。MimbleWimble的解决方法是,采取另外一个方案Dandelion。该方案由伊利诺伊大学厄巴纳—香槟分校的一个研究小组提出,并作为比特币的改进方案一直备受讨论与关注。“蒲公英”方案的目标是混淆比特币交易的IP地址。该方案中,比特币交易在网络上的传播被分为两个阶段:“茎”阶段(混淆)和“绒毛”阶段(模糊)。“茎”阶段节点通过隐私图将数据传递给随机节点,而不是使交易信息公开给所有节点,从而使交易信息与其他公共节点分开。随着交易信息继续在链上发送,除了对于直接接收它的节点之外,它仍然保持匿名性。最后它达到一个节点,该节点通过广播向网络的其余部分宣布。“绒毛”阶段扩散过程是绒毛阶段的开始,此阶段表示区块链网络中交易信息的分发。虽然交易信息当前处于公共领域,但是很难找到进入该传播阶段的路径。将它映射回原始节点变得非常困难,因为初始阶段与其他随机节点的数据发送互相混淆了。正常的交易传输途径是从单一点公开向其他连接点分散;而使用蒲公英协议后,交易信息在随机节点之间采取一种安静路径,再最终通过多个节点扩散到整个网络。整个过程如下图所示:
机密交易、CoinJoin和“蒲公英”等方案的组合,使得MimbleWimble达到“消除地址”的目的;生成交易的人所做的承诺服务于比特币中用于进行交易的公钥、私钥,使得MimbleWimble能够成为一种私有的加密货币,比比特币提供更加实质性的隐私保护。BEAM和Grin之间的区别
虽然Grin和BEAM都是MimbleWimble协议的实践者,但两者还是有着一些区别:Grin是用Rust编写的,而BEAM是用c++编写的。虽然这两个团队都“抗ASIC”,但他们在选择哈希算法和初始方法时采用了不同的方法。Grin团队选择坚持开源治理,其中一个考量就是资金问题,它靠的是捐款;BEAM团队除了与Zcash一样将20%的代币留给创始团队外,还进行了一轮私募。在Grin的货币政策中,“每秒钟都会产生一个新的Grin”,使通胀永远保持不变(尽管逐渐接近0%)。这与比特币等其他加密货币不同,比特币具有很强的通缩性。总而言之,Grin团队目的是劝阻囤积Grin。相比之下,BEAM的供应量固定,约2.63亿枚硬币,133年后总量挖完,是限量供应的通货紧缩型代币。如果出现错误,Grin提供了一种部分同步模式解决问题,即允许节点可以用一个完整的节点同步所需数据的一小部分同步到网络;BEAM则需要全部数据才能同步。Beam提供传统的机密交易(使用Bulletproofs签名)。此外,BEAM还提出了一种可审核钱包的设计方案。选择加入审核功能,将为企业或其他用户生成唯一的“公钥—私钥对”,该密钥对允许外部第三方审查资金或查看存储在交易中的任何元数据(例如文档或其他数字资产)。Grin团队明确表示,在核心功能之外不会扩展额外的功能。挖矿Grin和BEAM的挖矿前景仍不明朗,因为这两个网络都是新生的。BEAM团队选择了改进的EquihashPoW,除了计划6个月的硬分支之外,这还将阻止ASIC访问网络。Equihash是一种需要高内存的工作量证明,这意味你能挖到多少币主要取决于你的设备内存的大小。在短期内要创建一个低成本的挖矿定制硬件几乎不可能,所以Equihash被认为可以构造更去中心化的一种POW算法。Grin使用了新的CuckooCycle,这是JohnTromp在2015年开发的替代POW的证明。尽管该算法的设计初衷是抵抗ASIC,但该团队长期以来一直认为ASIC是不可避免的。2018年9月出现了两种解决方案:一种优化为ASIC友好型(Cuckatoo31+);另一种优化为允许GPU竞争(Cuckaroo29),POW每24小时平衡两种算法之间的挖掘奖励。Grin和Beam早期矿工选择的GPU是NvidiaGTX1080TI,这是一种通用硬件,也用于其他区块链挖矿。早期BEAM发布统计数据表明,两大矿池占据主导地位:sparkpool.com(多币种矿池,哈希率占比69%)和beepool.org(哈希率占比30%)。Grin挖矿市场更加制度化,十多家私营挖矿公司提供资金、场地和HNW,单个矿工在挖矿时可以选择加入矿池。grinmint矿池和MWGrinPool.com是社区最早提供的两种选择。Grin和BEAM早期的挖矿中也存在诸多困难:其他GPU(如AMD芯片组)的矿工难以挖矿;矿池软件不够稳定可靠;多重签名钱包的基础设施缺少。由于上述问题存在,早期那些凭借先进性技术的矿工由此获得较多的利益,造成分化。结论
在一个社会信用系统和人工智能技术越来越成熟的世界中,你在交易什么,与谁交易,甚至未来会发生什么都一清二楚。因此,在设计未来的货币系统时,隐私是很重要的。虽然使用隐私方法(例如比特币混合器),在执法部门看来可能“玷污”用户,但私人货币对隐私的保护还是有必要的,尽管可能没什么好隐瞒的。但“有隐私币”和“没有隐私币”是两个概念,有了之后,用与不用的决定权在于我们自己。Grin和BEAM其实是两种不同的保护隐私的方法。尽管表面上相似,但除了基于MimbleWimble协议之外,其他各个方面都不同。虽然目前还不清楚哪个币会“胜出”,但这两款货币的推出,将有可能产生一些连锁反应:比如,同样主打隐私保护的加密货币(包括Zcash、Monero)能否迎来新一轮发展?参考资料:MimbleWimble:History,Technology,andtheMiningIndustry比特币隐私加固---CoinJoin技术简析全面解析多种区块链隐私保护解决方案什么是蒲公英隐私协议?
Beosin:Jumpnfinance项目发生Rugpull,涉及金额约115万美元:金色财经报道,据Beosin EagleEye平台监测显示,Jumpnfinance项目Rugpull。攻击交易为0x48333962e6e946748a26d6222db95ce97e76c9ed3917123a7c9f2731f896b72c。Beosin安全团队分析发现攻击者首先调用0xe156合约的0x6b1d9018()函数,提取了该合约中的用户资产,存放在攻击者地址上(0xd3de02b1af100217a4bc9b45d70ff2a5c1816982)。目前被盗资金中2100 BNB ($581,700)已转入Tornado.Cash,剩余部分2,058 BNB($571,128)还存放在攻击者地址,Beosin安全团队将持续跟踪。Beosin Trace将对被盗资金进行持续追踪。[2022/10/10 12:51:13]
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。