MinbleWimble技术,到底是什么?
MimbleWimble是专注于可互换性、隐私性以及可扩展性的区块链协议。它于2016年7月由一位匿名名字为Tom Elvis Jedusor的人在IRC频道#bitcoin-wizards上发布。它提出了结合交易的新方法,用于改善公链的隐私功能。
Jedusor的论文建立于另外一篇同样是匿名的论文基础上,该论文于2013年提出单向聚合签名(OWAS),它要求新的加密原语、配对加密,在学术界这并不受信任。它还从“保密交易”和“CoinJoin”两个提案中获取灵感,这两个隐私提案是由Bitcoin Core 开发者Gregory Maxwell提出来的。
最初的MimbleWimble论文使用了跟比特币相同的椭圆曲线加密技术,这吸引了不少比特币研究者的注意,这其中包括Andrew Poelstra,他是Blockstream的数学家和应用密码学家,他在MimbleWimble白皮书上进行了优化,于2016年10月发布了“精确”版本。Poelstra的工作长期以来一直专注于隐私方面,曾参与过比特币的“保密交易”、“无脚本脚本”这两方面工作。
最初,有设想把MimbleWimble集成进入比特币的升级版本或作为侧链存在,但Blockstream的联合创始人及Bitcoin Core开发者Pieter Wuille澄清了一些问题,他认为在比特币中集成会存在向后兼容的挑战。
MimbleWimble做出的平衡排除了富有表现力的脚本语言,脚本语言可以支持一些创新,比如支付通道(闪电网络等)和跨链原子交换,这两者都是于2017年比特币推出的。从那时起,两个独立实施的MimbleWimble协议项目开始出现,两者在社区、气质、资金和技术细节上都有不同的考虑。
第一个实施的项目是Grin,已经成为MimbleWimble的代名词,在Poelsta的基调文件发布几天后推出。创建者采用了匿名名字Ignotus Peverell(Harry隐形斗篷的最初拥有者),他创造了Github项目ignopeverell/grin,其中他提供了用Rust编写的协议的部分实现,此外,他还发布了对项目精神的看法。
2017年3月,Peverell发布了对Grin和MimbleWimble的技术介绍,现在MimbleWimble一词已经风格化了,它是如今协议规范的主要参考。到目前为止,项目由一群以匿名为主的开发者维护,其中一些开发人员根据项目的最初精神采用了“哈利波特”小说里面的名字。如Luna Vovegood、Seamus Finnigan以及Percy Weasley。第一个Grin测试网络于2017年11月启动,该项目目前为止在testnet 4上,据说这是项目主网发布前的最后一个测试网络。
第二个实施的项目是BEAM,它于2018年3月启动,并于Mimblewimble原始论文发布一周之际正式对外宣布。BEAM有单独的白皮书,也伴随着一个功能齐全的挖矿节点以及钱包客户端,它采用了类似于Zcash的更正式的结构,这与Grin的自由主义、开源气质形成鲜明对比。BEAM团队由以色列企业家Alexander Zaidelson领导。
通过明确的管理和工程团队、预售、正式的基金会以及创始人的税收,BEAM采用了一种与Grin完成不同的道路,它在市场上展示了竞争性的替代品。除了围绕项目创造正式的结构之外,BEAM团队采用了与Grin不同的技术路线选择,包括在货币政策和哈希算法等方面的不同决策。
BEAM计划于2019年1月发布,在哈希率方面有关键主导。
理解比特币的UTXO模型和加密原语
注意:这绝不是比特币或密码学的全面介绍,但提供一定的背景,让读者尽可能了解。
从一开始,隐私和可互换性一直都是比特币用户的重点关心问题。通过复杂的网络分析和区块链分析,比特币做了很多尝试进行交易的匿名化。有些加密货币把隐私当作最高优先级(如门罗和Zcash)。比特币已经在协议层和交易层都可以看到隐私和可互换性方面的显著改进。
Grin和BEAM都采用UTXO(未花费交易输出)模型,这与比特币相同,跟以太坊之类的基于账户的模型不同。
当通过新交易TX1和TX2发送9万聪时,产生了2个输出(分别是4万聪和5万聪),两个输出发送到由发送人确定的一定量的地址。
通过使用加密哈希,Grin和BEAM都实现了这一点。在非常高的级别,哈希功能允许你接受输入,应用加密哈希函数或CHF(这是标准转换),并得到固定大小的输出(称为摘要)。说明如下:
最重要的是:CHF的魔力代表了攻击者和防御者之间的不对称。这是什么意思?对输入进行哈希处理很容易,但,实际上很难对摘要进行逆向工作以获得原始信息。这是一件好事:世界上绝大多数的互联网安全假设,从密码到公/私钥都是进行过哈希处理的,除非有一天我们有强大的量子计算机,否则这个假设一直存在。
在比特币的UTXO模型中,很明显,有三种信息是公开可见且可验证的:输入信息、输出信息、交易金额。所有这些信息都不会被隐藏,并且可以轻松验证系统中有多少钱(因为所有的UTXO都会增加系统中预期的比特币供应量)。
然而,这些特性伴随着权衡:比特币交易不是非常私密,因为所有这些信息对外部世界并没有加密,它们只是经过哈希处理。虽然社区已经采用了更好的实践,例如不鼓励地址重复使用,鼓励使用“混合”(比特币随着“新鲜”的UTXO返回给你),CoinJoin和保密交易等隐私相关的工作已经发展到为用户提供更强的隐私功能。