LIC:比特币网络拥塞怎么办?割以治之——Secure the Bag 安全袋技术

比特币的网络拥塞情况千差万别。在交易高峰期时,成千上万的交易在等待被打包入块,从而导致手续费飙升,许多用户仍不得不等待。与此同时,在交易较少的时候,甚至没有足够的交易来填满整个区块,最小的手续费就足以快速确认。

当然,对于需要快速完成大量交易的服务来说,高峰时段的网络拥塞是一个大问题。例如,交易所、矿池或工资单服务有时会同时向数百名用户付款,而这些用户可能会迫不及待地想拿到钱,这是人之常情。因此,这些服务需要支付高昂的费用,才能将这些交易优先得到确认。

现在,比特币核心开发者JeremyRubin认为,他已经找到了如何可靠地缓解网络拥塞的方法,可以提高高峰时段比特币的吞吐量。

他的解决方案被称为?OP_SECURETHEBAG。

安全袋技术

要了解OP_SECURETHEBAG,让我们以一个实际的示例为例,从基础入手。在此示例中,有12个客户都要求交易所在手续费较高的时候发出提现请求。

即使没有安全袋,交易所也不会那么傻的创建12笔单独的交易来分别向每个客户转账。相反,为了节省费用,它会创建了一笔“分批”交易。交易可能会包含3个输入和12个输出。在此示例中,假设输出金额加上手续费刚好等于输入,因此没有找零地址。

北美矿企Marathon第三季度挖出1252.4枚比特币,环比增长91%:10月4日消息,北美加密货币矿企Marathon Digital Holdings, Inc.发布未经审计的9月比特币挖矿和矿机安装更新报告,并宣布与Silvergate Bank最新的1亿美元循环信贷额度(RLOC)。截至2021年10月1日,Marathon在2021年共挖出大约2098枚比特币;第三季度共挖出1252.4枚比特币,环比增长91%;9月共挖出340.6枚比特币,使比特币持有总量增加到约7035枚,公允市价约为3.363亿美元。手头现金约为3290万美元,总流动性(定义为现金和比特币持有量)约为3.691亿美元。迄今为止,从比特大陆接收大约26960台顶级ASIC矿机,目前还有8459台ASIC矿机在运输途中。(Globe Newswire)[2021/10/4 17:23:41]

在下面的图像中,左边为单独交易,右边为分批交易。

声音 | 交易员:比特币长期趋势仍未改变 2020年将达到2万至2.5万美元:据Bitcoinist消息,Amsterdam Stock Exchange的全职交易员Crypto Michael表示,比特币的长期趋势仍未改变,到2020年比特币价格将达到2万至2.5万美元。[2019/11/25]

图片取自JeremyRubin在ScalingBitcoin2019大会上关于OP_SECURETHEBAG演示

由于分批交易包含许多个输出,因此在数据方面非常大。一笔交易如果体积越大,将其打包入块的成本就越高。在高峰时段,交易所要迅速让交易确认的成本会非常高。

交易所也有可能会用较低的手续费来节省成本,在这种情况下,需要一段时间来确认交易。但是在交易确认之前,客户不确定他们是否真的会收到这笔钱,需要一直等待:这笔钱可能会被双花,直到交易被写入区块。这会让客户很不高兴,交易所也不想这样。

安全袋的作用就体现在这里。

安全袋是一个提议中的“操作码”——比特币编程语言的一个附加功能。该操作码实质上是让交易所将分批交易“拆分”为两笔交易:“付款”交易和“收款”交易。

动态 | 供应链攻击再起 黑客入侵JavaScript库窃取钱包比特币:供应链攻击是一种高级且非常隐蔽的攻击模式,通常通过在软件的依赖库中嵌入恶意代码实现,近日降维安全实验室(johnwick.io)观察到有黑客获取了热门JavaScript库Event-Stream的控制权,并注入了恶意代码来窃取Copay钱包内的比特币等数字货币。该恶意代码默认休眠状态,当BitPay的Copay钱包启动后,就会自动激活。它将会窃取用户钱包内的私钥并发送至copayapi.host:8080。该恶意代码9月至11月期间感染了所有版本的Copay钱包。降维安全建议使用Copay钱包的用户升级到最新版Copay v5.2.2, 使用Event-Stream库的开发者请更新到v4.0.1。[2018/11/27]

其中“付款”交易包含了三个原始输入,对应的是交易所的地址。但它只包含一个特殊输出。这个输出称为“已提交输出”,其中包含一个密码哈希值:一个看似随机但相对较短的数字字符串。

这个哈希值实质上是一个唯一的序列号,其链接到两笔交易中的另一个:“收款”交易。安全袋的关键在于,“已提交输出”只能通过这个特定的“付款”交易来使用,并通过哈希值将两者相连。

声音 | Newton Advisor创始人:比特币不会立即回到高位:据CNBC报道,Newton Advisor创始人兼分析师Mark Newton表示,鉴于自5月以来比特币大幅下滑,人们不应该太贪心。看看近期的周期,并不意味着比特币会立即回到高位。Newto表示仍然会“等待和观察”比特币是否可以因过去一个月的表现而恢复。比特币在上周一直难以突破7000美元,并在7月份的大部分时间里以6000美元左右的价格交易。根据CoinDesk的数据,比特币今年已下跌大约有50%,比去年12月的两万美元的高点下降了60%。Newton预计在比特币价格大幅上涨前,会经历5%至10%的下跌。[2018/7/25]

可以将“收款”交易视为原始交易的后半部分。它只包含一个输入以及所有12个输出。因此,包含所有输出的“收款”交易要比“付款”交易大得多。

在下面的图片中,你可以看到左边是正常的分批交易,而右边是两个独立的交易。

BCH钱包’Handcash’支持比特币现金NFC交易:据Bitcoin news报道,当地时间2月10日星期六,一个被称为Handcash的新比特币现金(BCH)钱包出现,该钱包可以进行近场通信交易(NFC)。开发者说,目前该平台仍处于测试阶段,该钱包专注于易用性并具有一些独特功能,钱包能够在几秒钟内完成近场通信支付(NFC)。该功能有效地将现金交给某人。任何人都可以使用NFC进行现场付款,而不必要求特定的地址或二维码。[2018/2/11]

图片取自JeremyRubin在ScalingBitcoin2019大会上关于OP_SECURETHEBAG演示

当交易所向12个客户发出付款时,会同时广播“付款”和“收款”交易。但这两者之间有一个很大的区别,这就是该方案的核心。体积较小的“付款”交易包含了相对较大的手续费,以确保快速确认。由于该交易很小,从数据角度来说,即使是相对较大的手续费也不会很多。

相比之下,较大的“收款”交易包含相对较低的费用,这意味着可能需要一段时间才能确认。但是在这里,等待低价交易确认对客户来说不是大问题了,因为一旦“付款”交易被确认,就可以确保这笔钱保证对应唯一的“收款”交易。资金会被锚定在区块链中,只能由这几个交易所客户接收。

虽然钱还没有到位……但是资金已经被妥善保管好了。

ChildPaysforParent

尽管上面概述的基本示例可以确保*这12个交易所的客户最终获得他们的资金,但这可能还不能完全满足他们。

举个例子,这12个交易所客户之一的Alice今天必须向房东交房租。这时,仅仅知道她最终会将从交易所那里收到钱是不够的——不管她有多确定自己会收到钱。她实际上需要的是能够花费属于她的输出。

从技术上讲这是可能的。Alice可以拿出她未经确认的输出,并立即将其用于新的交易中。唯一的问题是:Alice的交易只有在“收款”交易得到确认之后才能被确认。同时,房东又要求付房租的钱今天就要到账。

幸运的是,Alice可以利用一个老的比特币技术来确保“收款”交易和她自己的交易都能得到确认:“ChildPaysforParent”。基本上,如果Alice支付给房东的交易中包含足够高的手续费,则矿工也将被激励把“收款”交易也打包入块——虽然“收款”交易本身的手续费对他们而言吸引力不大。但毕竟,只有两笔交易同时得到确认,他们才能拿到Alice的高额手续费。

也就是说,要加速确认数据量大的“收款”交易的成本将会非常昂贵。这就是为什么交易所第一时间就采用“安全袋”。这时,Alice需要为所有12个客户分批交易的手续费买单,而不是交易所。但这样,同样作为客户的Alice会很不好受。

所幸,安全袋提供了更好的解决方案。

树式支付

为了解决Alice的问题,交易所可以进一步使用“安全袋”的特殊手段。

在上面的基本示例中,“付款”交易包含了一个已提交输出,而“收款”交易包含了一个对应的输入和12个正常输出。但其实还可以将这12个输出进一步拆分为更多的“收款”交易。

例如,“付款”交易可以包括两个已提交的输出,对应的是两个不同的“收款”交易,每个“收款”交易都包含六个正常输出。当然,这意味着要进行快速确认的话,“付款”交易的手续费会变高一些,但是Alice要承担的费用将减少一半以上:她只需要承担另外5个其他客户的手续费,而不是11个。

更好的是,交易所可以在初始的“付款”交易和最终的“收款”交易之间创建“中间”交易!这些“中间”交易都包含一个输入和任意个已提交输出,可能还包含正常的输出,从而创建出一种树状结构。这样,即使是服务需要立即作资金周转的客户,交易所也可以合理地降低CPFP成本。赶时间的客户最多只需要为他们相关的中间交易付款,而不用管其余的交易。

如下图所示,交易所可以根据自己的需求选择最适合的方式来创建这种树状交易结构。

图片取自JeremyRubin在ScalingBitcoin2019大会上关于OP_SECURETHEBAG演示

细节及实现

本文介绍了安全袋的基本实现逻辑。实际上,这个方案可以通过多种方式实现和代替。例如,Alice不必使用CPFP才能向房东付款,而是可以通过闪电网络接收资金,并立即支付给房东。还有其他更复杂的解决方案可以加快“收款”交易的速度。

此外,严格来说,方案中的“安全袋操作码”不是实现两阶段支付解决方案的唯一方法。即使使用当前的比特币协议,也可以实现类似的目的——但是要求所有接收者进行协调与合作,这在交易所及其客户的例子中很难实现,而且随着更多用户加入,这种情况将变得更加困难。其他解决方案需要升级比特币协议才能实现。

实现安全袋也需要升级比特币协议,不过可以通过向后兼容的软分叉进行。目前方案提出者Rubin已经完成了所需的大部分编码工作——代码和构思仍有待审查。另外,即使提案通过了所有同行的评审,协议升级也可能需要一段时间才能被采用。因此,目前还无法确定“安全袋”什么时候正式上线。

翻译&编辑:PeterHon

来源:BitcoinMagazine

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-9:176ms