在比特币的闪电网络(Lightning Network)上显示用户钱包余额是一件容易的事吗?比特币研究人员展示了闪电通道余额可以很容易实现去匿名化。但这未必是件坏事。
图片来源:unsplash
闪电网络是建立在比特币之上的第二层技术堆栈,通常被称为是对比特币交易速度和隐私的升级。它可以实现快速结算而不是等待10到60分钟交易才确认。在隐私方面,支付是通过二级网络上的参与者进行点对点结算的。由于这些交易不会立即在比特币的主网络上结算,因此它们的存储状况并不是公开的。这让人们觉得,作为一个副作用,闪电网络实际上也能让比特币变得更加私密。
但是新的研究发现,闪电网络有一些很容易被利用的隐私缺陷。如果利用得当,这些缺陷实际上可以用来改进协议。
这项研究发表在由康奈尔大学(Cornell University)维护、由卢森堡大学(University of Luxembourg)的亚历克斯?比尤科夫(Alex Biryukov)教授和挪威科技大学(Norwegian University of science and Technology)的玛丽乌斯?诺沃斯托夫斯基(Mariusz Nowostawski)教授监管的计算机科学研究数字档案中。该研究的灵感来自卢森堡大学博士研究生谢尔盖?蒂霍米罗夫(Sergei Tikhomirov),他主要研究加密货币的隐私和安全问题。该团队的最后一名成员是挪威科技大学的博士研究生勒内?皮克哈特(Rene Pickhardt),他是比特币和闪电网络研究和开发社区的资深成员,在Github上有数百致力于闪电网络相关的项目。
Starkware联合创始人:昨日市场波动期间,dYdX每秒处理45笔交易:12月5日消息,Starkware联合创始人Eli Ben-Sasson发推称,“今天早些时候,在价格大变动期间,dYdX每秒处理45笔交易。如果在以太坊L1上处理这些交易需要规模大约1.5亿Gas的区块。STARK超级扩容方案让StarkWare能够用不到今天1%的Gas在L1上打包所有这些交易。”
据悉,以太坊主网目前的Gas上限为3000万。一笔简单的交易需要大约2.8万Gas,而合约交易需要大约10万Gas。dYdX上的ZK交易只需要486 Gas,这使得数据压缩了98%。
此前报道,StarkNet是一个无需许可的去中心化以太坊L2Rollup扩容方案。StarkNet基于安全和具可扩展性的加密证明系统STARK,它允许DApp在不影响可组合性和安全性的情况下实现计算规模。(Trustnodes)[2021/12/6 12:53:04]
在他们的研究结果中,四位研究人员通过“探测”通道余额(即闪电网络上的用户帐户)来发现个通道持有的比特币数量,从而在论文中论述了这一观点。
你可以通过以下两种方式之一在闪电网络上发送支付:直接支付(通过双向支付通道)或路由支付(必须有一个或多个中介的间接支付)。例如,如果Bob与Alice有一个开放的通道,他们可以很容易地互相发送付款。但是如果Bob想向Mallory发送一笔付款(而她没有与Mallory打开的通道,但Mallory有与Alice打开的通道),那么Bob可以通过Alice“路由”进行付款。Bob将向Alice发送一笔付款,然后Alice将其发送给Mallory,这就是所谓的“路由”。
为了揭示通道余额,研究团队通过向比特币测试网上的不同参与者发送不同规模的支付,对闪电网络的通道进行了“探测”。
作为在加密货币隐私和安全研究方面获得博士学位的研究人员之一,谢尔盖?蒂霍米罗夫解释道:
需要注意的是,闪电通道余额是共享的。例如,当Molly和Angela打开一个通道时,他们可能会各自存入一个BTC。如果Molly支付给Angela 0.5 BTC,那么通道余额的“状态”就会更新,但比特币本身会保持不变。Angela对这0.5 BTC有所有权,所以现在Angela的通道余额是1.5 BTC, Molly的余额是0.5 BTC。就像酒吧买单(bar tab)一样,闪电网络上的结算被推迟了,所以Angela会在通道关闭时收到她的1.5 BTC。
由于通道余额某种程度上是共享的,最后的结算时间会晚一些,这可能会导致路由问题。例如,在蒂霍米罗夫的例子中,当Mallory试图通过Alice向Bob发送比特币时,由于Alice的“支出”容量或她能够发送的比特币数量,她不能发送超过3个BTC。Alice和Bob的通道共有10个BTC,其中3个是Alice的,7个是Bob的;由于Alice在这个通道总共只有3个BTC,所以她发送的BTC不能超过3个。(请记住:支付渠道只有两种方式,因此路由支付需要足够多的中介为支付提供“路由”)。
当支付在搜索路由时,支出容量和“接收”容量(根据支付通道中对等方的容量,您可以接收多少BTC)都会构成重要的障碍。一些支持闪电网络的节点是私密的,因此它们不与其他节点共享信息或连接,而这些节点可能会打开路由,否则就会导致支付中断。
研究小组报告称,这是问题的症结所在。如何在不影响隐私的情况下改进路由,反之亦然?如果节点保持私密,它们就不能为路由提供流动性;但是它们变得越公开,就越容易揭示它们的余额。蒂霍米罗夫说道:
根据该团队的说法,他们有几个解决方案,但没有一个是没有折衷的。其中一个涉及到更改闪电网络的路由结构,以允许中间节点(而不是发送方的节点)确定支付的路由。不过,这将以牺牲隐私为代价提高路由效率。另一种解决方案是让节点发回修改后的数据来攻击者,但这将是非常繁重的计算,并会牺牲路由的效率。
另一名研究人员勒内?皮克哈特告诉Decrypt,他的Just In Time Routing提案(一种可以缓解路由问题的机制)也可以帮助解决这个问题,如果不是蒂霍米罗夫邀请他进行研究,他就不会发现这一点。这项提议实际上也有助于提高隐私,就像皮克哈特提到的那样,JIT路由可以“定义一个最佳位置”。
皮克哈特强调,这种攻击并不一定是负面的。如果一个实体使用这种技术来探测余额,它可以提供关于最佳路由路径的数据。这对于像钱包、节点托管提供商和支付门户等提供闪电网络服务的公司来说是一个好消息。
蒂霍米罗夫同意这一观点,他补充道,由于这个漏洞存在,用户应该知道它的存在是为了保护自己,并且在它提供好处的时候可以利用这个漏洞。他告诉Decrypt:
蒂霍米罗夫继续说道:
事实上,一些不知情的Bitcoiner可能期望闪电网络是私密的,但是这项研究表明,通道余额可能根本就不是隐私性的。虽然该报告没有涉及到IP地址的隐私,但是公共闪电节点和使用gossip协议进行路由也使得IP匿名成为一个有争议的问题。
2019年,闪电网络业务和基础设施稳步增长。皮克哈特说,他希望所有这些投资不会降低对协议本身的“基础研究”。毫无疑问,种子投资和一系列的投资都很好,但如果这些资金用于在一个使用起来令人沮丧的网络上构建产品,那么这些资金都无关紧要。
该研究团队对这一问题的改善持乐观态度。但要做到这一点,开发人员需要仔细斟酌,计算机科学家需要进行研究。也许到那时,我们就可以看到必要的改进,使我们能够在不做出妥协的情况下扩展路由和改进交易匿名性。
不过,在那之前,如果你想保持低调,你可能需要学习如何建立一个直接的闪电通道。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。