一种简单的,自适应比特币区块扩容方式

2016-01-08 14:36 来源:巴比特资讯 阅读:6890
这是四篇文章中的最后一篇,概述了目前BitPay关于比特币区块大小问题的想法和计划。前一篇文章:可扩展性,硬分叉和市场,有兴趣的读者可以访问链接查看原文。

block-size-limit

这是四篇文章中的最后一篇,概述了目前BitPay关于比特币区块大小问题的想法和计划。前一篇文章:可扩展性,硬分叉和市场,有兴趣的读者可以访问链接查看原文。

区块大小限制是一个共识规则。如果一个区块大于该限制,矿工们就不会将其纳入到他们正在建设的区块链。如果一名矿工所生产的一个区块,它遭到了多数矿工的拒绝,那么这个区块就会被孤立,矿工所做的工作也不会获得任何的报酬。假设没有预设的固定限制,比特币也可以运行,但这会对矿工造成很多的不确定性。让矿工们知道存在着一个上限,它被大多数挖矿算力所观测,那我们就拥有了一个清晰而简单的共识规则 ,它是有用的,

一个固定大小的区块限制,比如比特币目前的1MB,无法满足用户对交易吞吐量的扩展性需求。今天,我们看到在比特币网络上发生的交易,正在触碰着这种人为的限制。简单地增加区块大小上限,会是一种直截了当的方法,然而我们发现,在过去的几个月中,关于增大区块大小上限的问题,已经引发了争辩。这场争辩是有害的,如果将其拖延一到两年,它可能对比特币而言是毁灭性的。

一个增加,但固定的区块大小上限也存在着问题。如果技术上的进步,无法跟上日益增加限制的脚步呢?我们可能会发现这样一个情况:区块大小上限是远高于市场区块大小,这实际上这是极不合理的。 或者,该限制可能会远低于市场和技术的约束,那么一场关于提高上限的争论将会风行。

已经有一些提出的建议。比如BIP101,按其规则比特币区块大小会随时间按固定的倍率稳步增大区块大小上限,但它遭到了多数矿工的反对,因为矿工们觉得这种方案太激进了。如果技术无法跟上BIP101的步伐,这种限制会给矿工造成很多的不确定性。BIP100被认为是更有利于矿工的方案,但它所需要的代码更改,是更为复杂的。它还需要矿工积极地传达他们对区块大小限制的偏好。从概念上来讲,使用区块链来建立有关区块大小上限的共识(如BIP100那样),这是一个很好的主意。毕竟,这是关于挖矿难度,已建立的一种自适应控制方式。

关于决定区块大小上限的问题, 矿工们需要一个简单的,但自适应的共识规则。

在所有我们已审查过的想法中,那个似乎最具吸引力的方案,是一个简单的自适应上限方案,它基于最近区块的中间值区块大小。要确定区块大小限制,你需要取最近样品区块的大小中间值,再乘以一个倍数。例如,你可能会将区块大小限制,设置为过去2016个区块的大小中间值的2倍。值得一提的是,以太坊(Ethereum)采用了类似的方法(虽然它采用了指数加权移动平均值,而不是一个简单的中位数)。其他还存在一个名为 “flexcap”的提案,但我们认为它过于复杂,是没有必要的。

除了一个硬限制,还会有一个可配置的软限制,它将由矿工生产的区块大小来控制。这种软限制也是取最近样品区块的中位值再乘以倍数。软限制是很容易配置的,因此,矿工可以对区块大小在未来的发展施加一定的影响力。合理的默认倍数值将被选出(即1.5)。

公式总结如下:(其中n是用于计算中间值的最近区块数)

limit = m * median(n)     //(区块上限 = m * 中间值(n个区块))
soft_limit = sm * median(n) //(软限制 = sm *中间值(n个区块)

其中,m和n的值需要遵循共识规则,而sm的值是一个合理默认的配置值。算法细节如舍入行为,或是否该调整每一个区块的限制,或者每n个区块,也将是一个共识的问题。而目前的1MB区块限制,将成为硬性限制的一个下限值。

之所以选择使用中位数,而不是平均数,目的是为了阻止矿工人为地通过交易来抬高区块大小上限。或者,反过来,生产一些空块。而在中位数规则下,你需要拥有超过50%的挖矿能力才能控制整个规则。当然,如果有人控制了超过50%的算力,比特币所面临的问题,远比区块大小限制问题更为严重。

在这种自适应的区块大小限制规则下,比特币网络的交易吞吐量就可以增加,可满足用户的需求,同时它仍受制于当前的扩展限制。当矿工生产较大区块时,会出现较高的孤块率。当孤块率上升时,矿工们会节制他们的区块大小,更精心地选择区块中的交易。

在BitPay,我们将尝试这种方法。我们将进行测试,分析不同设置对历史区块可能会产生的影响。我们还将分析在极端情况下会出现的行为,并从博弈论的角度来评论它。您可以和我们一起在分叉比特币客户端上进行实验:https://github.com/bitpay/bitcoin。如果我们的研究结果能够表明,这是比特币最好的扩展方法,我们将努力说服别人(最重要的,是矿工)。

在此期间,如果矿工们对一个临时的固定区块大小上限达成了共识,你可以在任何一家 BitPay商户那使用这些币。

作者Stephen Pair 是BitPay的首席执行官。

 

原文:https://medium.com/@spair/a-simple-adaptive-block-size-limit-748f7cbcfb75#.8qhuimumq
作者:Stephen Pair
编译:洒脱喜
稿源(译):巴比特资讯(http://www.8btc.com/a-simple-adapt…ock-size-limit)


声明:此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。本网站所提供的信息,只供参考之用。

点击阅读全文