保密交易简介
首页
文章
保密交易简介

保密交易简介

高阶
发布时间 Feb 10, 2020更新时间 Dec 28, 2022
6m

导语

系统透明是区块链正常运行的关键。所谓的透明度是指网络中的每个节点均可存储副本并有权验证有无违规。在许多分布式账本中,任何人均可装载区块浏览器,浏览网络中的区块、交易与地址。

从隐私角度出发,这种方式并不理想。在比特币等系统中,每笔交易均可与之前的交易相关联。代币在技术层面不可互换,即每枚代币均与特定交易挂钩。没有人可以阻止您发送比特币,但如果这些代币曾经过黑名单地址,则对方有权拒接这笔交易。

在最糟糕的情况下,同质化欠缺可能对系统的基础造成深远影响。干净的代币获得溢价,而早期代币则因历史问题而贬值。

比特币的隐私性往往被夸大。实际上系统中代币与用户均有迹可循。人们习惯匿名操作(显示公共地址,而非姓名),但这种方式存在一定弊端。随着精度不断提升,尖端分析技术将网络中的实体聚集起来,以便实施去匿名化。

保密交易正是推动交易真正私密化的升级手段。


什么是保密交易?

保密交易(CT)的概念问世于2013年,由Blockstream的首席执行官Adam Back首次提出,随后被比特币开发人员Gregory Maxwell拓展延伸。Maxwell在第一部分概述了提到的“同质化”与“弱匿名性”等问题,提出了相应的解决方案。他指出,交易金额可在更广泛的网络中隐藏,只有交易参与方才能知晓具体数值。


常规交易与保密交易对比


在正常情况下(交易可以公开查看),节点可以轻松验证接收的代币是否超出发送的金额。例如,Alice希望向Bob发送0.3 BTC,她使用未消费的输出(我们称为“1 BTC”)并将其分为两部分:0.3 BTC发送给Bob,0.69 BTC发送回个人钱包(剩余资金作为挖矿费用上缴)。

对于其他节点来说,这就是简单的代数问题:1 > 0.3+0.69,签名全部正确无误,而Alice的输入并未在其他地方消费,因此这笔交易必定有效。数额隐藏后,事情却变得复杂起来。我们如何确定一个未知金额是否大于等于另外两个未知金额的总和?


涉及的密码学原理概述

为了隐藏数据,必须应用一些加密技术。然而,传统方式与将文件存入保险柜类似:入柜上锁后,在解锁前都无法取出。“保密交易”的运行方式则与数字保险柜类似,其中的内容隐藏起来,可由外人验证资产的所有权。

答案就在于“同态加密”,这是一种名为佩德森承诺的机制。这种加密方式允许外部人员基于各种目的对加密数据执行操作,但无法查看具体内容。

常规哈希可用于提交您希望显示的数据。假设您希望在社交媒体宣布一项竞赛,内容为猜出您最喜欢的交易所,可赢得0.01 BTC的奖励。参与者可能会对竞赛心存疑虑,因为您完全可以在比赛结束后查看他们的答案,然后挑一家谁都没提到过的交易所。

为此,您可以为粉丝提供一个哈希值:一串看似随机的数字与字符组合(对应特定输入),通过特定函数传递答案(即指定交易所),最终得到输出。我们以SHA256算法为例:


f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191


根据以上哈希值,您不知道具体的输入,也不能通过函数逆推得到之前的输入。但如果您知道输入是“币安”,则可轻松判定其哈希值与上面列出的是一致的。这样一来,粉丝就会比较放心,知道您不会在比赛结束时更改答案,因为这样就会产生一个完全不同的输出。

其实,此种方式也并非绝对安全。虽然粉丝不能对这个算法开展逆向工程,但他们可以创建交易所列表,逐一与上述哈希值相匹配,直至得到正确答案。为了避免此类操作,我们可以向需要哈希运算的数据中添加随机数据,称为“遮蔽因子”。

如果我们输入“币安是我最喜欢的交易所,胜过其他任何交易所 2#43Wr”,竞争者便很难猜出结果(毕竟他们不可能为了区区0.01 BTC而进行无数次尝试)。

借助佩德森承诺,我们可以在承诺的后面添加输入。Maxwell对此解释为:


confidential transaction equation


C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)

其中BF指代遮蔽因子,而D指代数据


后续几步涉及椭圆曲线密码学与范围证明,但基本思想还是对地址进行佩德森承诺处理。发送资金时,系统会额外生成两项“承诺”(分别用于返还资金的找零地址与目标地址)。

没人知晓发送金额,但可以检查找零和目标承诺(Maxwell方程的左侧)与原始地址(方程的右边)是否相等。如果计算正确无误,则足以证明输入与输出相等,表明用户的交易有效。


保密交易可以实现的目标

如果在比特币中应用保密交易,则可以打造隐私性更强的系统。系统中的输入和输出均会掩藏,账本中的实体也将被模糊处理,但节点仍可验证其真实性。随着隐私性显著提升,链分析无法揭示给定单位的历史,因此比特币可以有效互换。

至于“保密交易”是否能够被整合到协议中,从目前来看似乎可能性不大。新增这项功能之后,交易的规模比常规交易更大,鉴于区块空间有限,这自然会催生更多的市场需求。此外,网络中的多数参与者必须同意更改代码,这在过去也是一大难题。


总结

部分加密货币与比特币侧链中的保密交易进行了一定程度的迭代。例如,门罗币将保密交易与“环签名”结构完美融合,实现匿名性与同质化。Liquid侧链和MimbleWimble的隐私性也都得到显著提升。

保密交易的确具备诸多优势,但同样面临处理量增大的问题。加密货币在基础层的可扩展性与吞吐量方面长期面临挑战,大体量交易也会让许多人望而却步。尽管如此,隐私性倡导者认为有必要隐藏交易金额与参与者,推动加密货币成为名副其实的同质化货币。