2017年5月6日,比特币网络的交易量在一天内就创下了历史新高:375,000笔交易,多达25亿美元。而就在这前几天,比特币网络的平均交易手续费首次超过了1美元。这些数字一直在上升:到6月初,其平均交易手续费就达到了5.66美元。这是前所未有的。在2014年1月1日至2017年1月1日的三年时间里,比特币周平均每笔交易手续费用从未超过31美分。不止于此。在2017年结束之前,比特币周平均手续费曾高达48美元。而当加密货币市场冷静下来时,比特币交易量开始骤减,手续费也降至1美元以下。 在比特币飙升最狂热的日子里,当普通用户发现自己发送交易所需的手续费比交易金额更高时,他们对比特币交易批处理技术(batching,将多笔交易输出合并成单笔交易)的呼声比以往任何时候都要大。David Harding在8月底写了一篇关于用批处理来节省成本的博客文章,并每天将其转贴到reddit的比特币子版块下。 这个想法很简单:对于一次发送多笔交易的实体而言,将多笔输出合并成单笔交易会更省空间和成本,因为每笔交易都有固定的数据开销。David发现,如果你将10笔交易合并成一笔交易,而不是单独发送每一笔,就可以节省75%的区块空间。从本质上讲,批处理是一种将尽可能多的交易打包到比特币有限的区块空间中的方法。 当2017年年中比特币的交易手续费开始攀升时,用户们开始仔细检查比特币区块链中重度使用者的行为,以确定他们是否有效地利用了区块空间。总的来说,他们并没有————一场非正式的游说活动开始了,这些主要用户(主要是交易所 )被要求使用交易批处理技术,以利用好有限的区块空间。有些交易所多年来一直在使用交易批处理技术,而另一些交易所才妥协使用该技术。2018年第一季度,比特币价格从大约19,000美元暴跌至6000美元之后,这个问题消失了,交易积压量开始骤减,平均手续费也下降了。 但我们仍然会对此感到好奇。常见的说法是,在链上交易量骤减期间,交易量可以用来衡量其区块链的实际使用率。而交易批处理技术可以编纳任意量的(合理范围内的)交易,因此,如果批处理技术变得越来越流行,就可以在保持这些交易仍在进行的同时,让交易量变得相对较少一些。 比特币交易量的减少是因为批处理技术,而非由于需求不足 一些网站突然出现,报告比特币网络每天的输出和支付情况,而不是交易量,似乎对比特币交易量下降的报道感到不满。然而,仍没有人对比特币的交易量与输出或支付情况之间存在的变化关系进行过分析。于是我们自己把答案找出来了。 1.介绍批处理技术 2.时间线 3.分析 4.结论 5.附加内容:UTXO合并 比特币使用了UTXO模型(Unspent Transaction Output),即未花费的交易输出。相比之下,Ripple和以太坊使用的是账户/余额模型。在比特币中,用户没有余额,只有可以控制的UTXO。如果他们想将钱转给其他人,他们的钱包会选择一个或多个UTXO作为输入(input),而这些UXTO需要加起来等于他们想要转出的金额。然后这些资金就会被转给接收者(称为输出,output),差额则返回给发送者(称为找零输出,change output)。每一笔输出都可以以“聪”(satoshi)的形式承载几乎无限的价值。聪是代表比特币亿分之一的单位。这与装满不同面额钞票的实体钱包非常相似。如果你想以2.5美元购买一份零食,但你只有一张5美元,你决不会给收银员半张5美元,而是直接给收银员那张5美元,接着收到一些零钱。 有些人不知道,一个区块可以容纳的交易数量是没有硬编码限制的。相反,每笔交易都有一定的数据大小,这是一种经济激励,促使矿工们将其纳入他们的区块。由于比特币区块容量大小只有2 MB,数据较大的交易将需要支付更高的手续费。此外,每笔交易可以拥有几乎无限量的输入或输出,交易记录中曾出现过有20,000个输入和13,107个输出的交易。(补充:原文未指出具体交易,据译者考据如下) 所以每笔交易至少有一个输入和一个输出,但通常还更多的其它东西,如一些额外的模板文件。大部分空间被输入占用(通常是60%或更多,因为签名证明它们确实属于发送者),而输出占15%~30%。为了尽可能减少交易信息且节省手续费,比特币用户有两大选择: 1.尽可能减少输入量。为了最小化输入,在手续费非常低的时候,你可以定期将较小的UTXO发送给自己,从而获得一个较大的UTXO。这就是所谓的UTXO合并(合并你的输入)。 2.经常进行转账的用户(特别是在同一区块中)可以在同一笔交易中包含几乎无限量的输出(给不同的人)。这就是所谓的交易批处理。一笔典型的单输出交易占用230个字节,而两个输出的交易只占用260个字节,如果你单独发送它们则需要占用460字节。 这是许多随便的评论者在比较比特币与其他支付系统时所忽略的:一笔比特币交易可以集合数千笔单独转账!认识到这一点很重要,因为这是许多误解和错误分析的根源。 我们从未见过对比特币交易批处理的通用定义,因此为了本研究的目的,我们用最宽松的方式来定义它:一笔具有三个或更多输出的交易。通常,批处理被理解为一项主要由矿池或交易所以即时性换效率的活动。普通的比特币用户很少有批处理交易的理由,而且实际上大多数钱包都难以构建批处理交易。对于日常用途而言,普通的比特币用户很可能不会费力去批处理交易。 为了简单起见,我们将这一界限设置为3(正常的非批处理交易有着一个交易性输出和一个找零输出),但是来自交易所的典型批处理交易拥有几十个甚至几百个输出。出于这个原因,我们非常谨慎地提供各种批处理的数据,因此我们可以确定三输出交易和100输出的巨大交易的流行性。 我们发现将比特币交易视为一个装满箱子的邮车是很有帮助的。每辆邮车(交易)都载有箱子(输出),每个箱子里装有一些信件(聪)。因此,当你将交易量视为衡量比特币网络的性能和经济吞吐量的指标时,有点像通过计算邮车来知道某一天发送的信件数量,尽管信件数量可能会有很大差异。邮车的比喻也清楚地表明了为什么很多人将比特币视为未来的结算层————就像邮车在满载后才出发一样,有人预想最终比特币也会如此。 批处理 那么过去六个月到底发生了什么?我们来看看一些数据。比特币网络的每日交易量稳步上升,直到2017年5月,平均手续费达到了4美元左右。这促成了交易量的第一次崩溃。然后,在接下来的六个月里,开始了一系列的反馈循环:交易积压量增加,所需手续费也相应增加,接着交易量就开始下降。在2017年下半年,这一循环重复出现了五次。 平均手续费与交易量变化关系图 上图中的红色实线表示以比特币计算的平均手续费(非美元),阴影红色区域表示每日交易总量。你可以看到交易积压的循环会导致手续费更高,而高手续费又导致交易量减少。直到2018年春季缓和之前这样的循环重复了五六次。最值得注意的时期是2017年12月~2018年1月的手续费危机,这样的手续费以比特币计算实际上是相当典型的,但比特币价格的上涨意味着以美元计算时手续费也达到了巅峰。 在11月中旬,比特币交易手续费按美元计算达到两位数时,用户们开始联合一致说服交易所更好地利用区块空间。隔离见证(Segwit)和交易批处理(batching)都被视为是有用的方法,可以最大限度地将比特币交易信息压缩到有限的区块空间中。关于交易所何时开始批处理交易的数据很少,我们收集了各交易所开始批处理交易时的信息,并将其汇总到了图表中。 各交易所开始采用交易批处理技术的时间表 我们在这个分析中忽视了交易所采用的隔离见证; 就批处理而言,呼吁交易所采用交易批处理技术的运动似乎已经说服了Bitfinex,Binance和Shapeshift几大交易所。Coinbase和GDAX也表示他们打算开始批处理交易。据我们所知,Gemini并没有提及交易批处理技术,尽管我们有各种各样的证据表明它们最近可能已经开始采用该技术。 因此有些交易所一直在使用交易批处理技术,而有些却从未使用过。这是否会影响交易批处理的流行?让我们来找出答案。 我们以三种不同方式衡量批处理的流行程度:按交易量,按输出值和按输出量。 衡量批处理的流行程度(批处理交易占全部交易中的百分比):按交易量,按输出值和按输出量 (浅蓝线:批处理交易量;灰线:批处理输出的比特币价值;深蓝线:批处理输出量) 在所有交易中,批处理量约占12%,在所有输出中占40%,在所有原始比特币输出值中占30%~60%。不错。 从3.1的图表中,我们可以看出三个指标都有小幅但稳定的上升趋势,但我们想再深入研究一下。所以我们首先研究了支付量(实际支付给某人的输出量,即总输出减去找零输出量)和交易量之间的关系。 比特币支付量和交易量之间的关系 首先显而易见,流行的说法是:交易量下降是由于批处理量增加引起的。并非如此,支付量也下降大致相同的比例。 从交易量划分出支付量使我们对这两者之间的关系有了一些了解。 每笔交易的支付量 在我们的分析中,如果我们放大2017年11月至今的时间范围,我们可以看到每笔交易的支付量实际上已经上涨,从2017年初的每笔交易1.5笔支付到如今差不多2笔。 在下一部分中,我们将找看看最流行的批处理数据大小。为了确定哪些交易是批处理的,我们从Blockchair下载了2017年11月至2018年5月比特币网络上所有交易的数据集。 我们选择这段时期是因为手续费危机真正开始于去年11月中旬,与此同时,对交易所批处理交易的需求也随之而来。所以我们想要捕捉交易所开始批处理交易的影响。当然,更大的样本会更有意义,但我们的资源有限,所以我们只能从六个月的样本开始。 我们将交易分组为“批处理”和“非批处理”组,批处理组的交易具有三个或更多的输出。 (纵轴依次:批处理、非批处理、总量 横轴依次:交易量、输入量、输出量、输出值) 然后,我们基于它们六个月期间的比特币总输出量,将批处理交易分成大致相同的组。我们没有手动选择批处理的大小,我们在基于交易价值的基础上根据批处理的大小将这些样本分成相等的部分。以下是我们最终的结果: (纵轴依次:非批处理、小型、中型、大型、特大型 横轴依次:批处理大小(输出) 、交易量、输出量、输出值、每笔交易的输出值、每笔交易的输出量) 所有批量组在此期间的总输出值几乎相同,但它们在此期间的交易量和输出量却截然不同。请注意,这六个月期间仅有183,108个“特大型”批处理(含41个或更多的输出),但是这些批处理却有2300万个输出和30万个比特币的输出值。 请注意,在这种情况下的输出值是指原始或未经调整的数据。对于我们来说,校准找零和混淆的输出是非常困难的,所以我们是“大概”估计。 我们来看看样本期间各种批处理大小的交易量: 按批处理大小划分的每日交易量 (底部标识依次:特大型、大型、中型、小型、非批处理交易量) 按批处理大小划分,批处理交易的交易量占比 (底部标识依次:特大型、大型、中型、小型、非批处理交易量) 与非批处理交易量相比,批处理交易量在相对稳定地增加,尽管最大的部分是小型批处理(3到5个输出)。输出量的数据更具启发性。尽管批处理交易量只占整体交易量相当小的一部分,但它们包含了大量有意义的输出。让我们看看如何分解它们: 按批处理大小划分的输出量 (底部标识依次:特大型、大型、中型、小型、非批处理交易量) 各种批处理大小输出量占比 (底部标识依次:特大型、大型、中型、小型、非批处理交易量) 最后,我们来看看输出值。我们看到批处理交易是比特币价值传输的一个重要部分。 按批处理大小划分的比特币总输出值 (底部标识依次:特大型、大型、中型、小型、非批处理交易量) 各种批处理大小的输出值占比 (底部标识依次:特大型、大型、中型、小型、非批处理交易量) 正如我们所看到的,尽管批处理交易平均只占总交易量的12%,但它们却占所有比特币输出值的30%-60%,甚至达到了70%。 我们认为这非常了不起。请记住,“总输出”的数据并没有因考虑到找零和混淆输出而修改; 也就是说,这是未经调整的原始数据。因此,总输出值并不是比特币网络经济总量的理想近似值。 是的。我们强烈鼓励任何分析师、投资者、记者和开发者从现在开始忽略纯粹的交易量。衡量比特币表现的默认指标应该是“每日支付量” 而不是交易量。这也使得比特币与其他UTXO区块链更具可比性。它们通常有着显著变化的支付交易比,因此只需关注支付量即可。(敬请期待:Coinmetrics将很快推出相关工具,以便尽快实现这一目标。) 通常,我们认为网络上传播的经济价值是体现其经济总量最基本的特征。未调整和调整后的数据都值得考虑。校准原始输出值仍是一门艺术而不是科学,其相关的最佳实践仍在发展之中。同样,Coinmetrics正在积极开发开源工具来实现校准。 我们重新回顾了比特币过去的一年,并展示了当交易池拥堵不堪时,社区开始寻找能更有效利用区块空间的方法。对于重度用户来说,注意力很快就落在了交易批处理上,即将多个输出合并为一笔交易的做法。我们展示了批处理在技术层面上是如何工作的,以及各大交易所是何时开始采用该技术的。 如今,比特币网络所有交易中大约有12%是批处理交易,约占所有输出的40%,占所有交易值的30~60%。比特币如此小型的交易具有如此大的经济影响力,这一事实让我们充满希望,比特币仍有很大的发展空间,尤其是如果使用量继续趋势上升的话。 最后,值得注意的是,比特币网络批处理交易的增加可能不完全是由于交易所,而是其在过去几个月内热度下降的表现。由于批处理交易通常是由大型“矿业”公司如交易所、混淆商、支付处理商和矿池发送的,而且非批处理交易通常由普通用户发送的,因此批处理/非批处理比率也是衡量平均有多少普通用户使用比特币的一个重要指标。自比特币价格暴跌以来,比特币的个人使用量有可能下降,而“矿业”使用量仍然保持强劲。这只是个猜测,但也是对这种情况的一种解释。 另一方面,矿业公司似乎更认真地在扮演稀缺区块空间管理者。这对比特币网络是一个重大福音,并且是其历史上一次非凡的发展。如果这种节约文化能得到支持,就能够将更多数据压缩容纳到比特币区块空间中,并且在可预见的未来,每位用户都将能够运行比特币全节点。我们认为这是一个非常积极的发展。游说交易所支持隔离见证和交易批处理的比特币社区成员应该为自己感到自豪。 还记得我们说过,在比特币网络有条不紊地节省交易手续费的第二种方法是在所需手续费较低的时候合并你的UTXO吗? 观察输入量和输出量之间的关系可以让我们很好地发现这种合并时机。 输入量输出量关系变化图 (蓝线:交易量;红线:输出量;绿线:输入量) 通常,输入和输出变化的运动路线一致。而当比特币网络拥堵时,它们就会分离。如果仔细查看上面的图表,你会注意到当交易量上升(手续费溢价)时,输出量超过了输入量,看看2017年5月和12月的差距。但是,这样持久的活动总是会导致UTXO碎片化和钱包充满粉尘零钱,需要进行合并。为此,用户通常要等到网络压力降低,手续费降低才进行操作。因此,在交易量下降后,输入会比输出更常见。你可以在2017年的2月、3月清楚地看到这一点。 输入量超过输出量 这里我们已经计算出了输入与输出的比率(以7天为基准进行了平滑处理)。当比率较高时,那一天的输入量超过输出量,反之亦然。你可以清楚地看到,在2015年夏季的粉尘攻击中,数以千计(可能是数百万)的输出被创建,然后被合并。一旦这个比率上升,就开始合并。2017年12月高手续费的六周过后,2018年2月的峰值是比特币历史上最明显的放松期; 这是有史以来输入/输出的最大一次偏离。有大量的UTXO被合并。 注意输入和输出聚集的位置也很有意思。以下是大量输入及输出的交易直方图。不出所料,整数输出输入出现的频次很高,这表明交易所不会每两分钟发送一次交易,而是等待排完100或200个输出才发送它们的交易。奇怪的是,在此期间,200个输入的交易比100个输入的交易更流行。 输入量(左)和输出量(右)的频次对比
原创文章,作者:davidfnck,如若转载,请注明出处:http://ipfshare.com/index.php/2018/06/11/analysis-of-batching/