专栏名称: 闪电HSL
读书分享
目录
相关文章推荐
巴比特资讯  ·  AI助力短剧,技术、艺术踏入同一条河流 ·  2 天前  
巴比特资讯  ·  被迫转型后,9人团队把AI写作做到500万美 ... ·  3 天前  
闪电HSL  ·  将国债代币化,并在 Uniswap ... ·  4 天前  
51好读  ›  专栏  ›  闪电HSL

理解区块重量(Block Weight):隔离见证实际上可以实现多大的容量?

闪电HSL  · 公众号  · 比特币  · 2017-07-05 22:35

正文

 

作者:Christoph Bergmann  2017626 15:21

 

因为SegWit2x我们将很快激活隔离见证。区块尺寸大小的概念将被区块重量取代,交易容量将增加,手续费将下降。但是,实际上如何扩容以及可以扩容到何种范围并不是一个容易回答的问题。

最近几周,公共的争论从是否需要激活隔离见证转移到了如何以及什么时候完成的问题上。SegWit2x,矿工和企业联盟希望强制执行隔离见证和2MB硬分叉。除了最初的预期之外,在公布第一个内测(alpha)版本中,激活隔离见证要求尽可能的保持兼容性。它还支持自0.13.1版本甚至是UASF-节点以后Core中现有的隔离见证部署代码。

但是,隔离见证如何实现扩容?有时听说,隔离见证是一个“2MB软分叉”,甚至是一个“4MB软分叉”,但是同时听说隔离见证只能实现1.51.8MB的扩容。

那么,是多少?隔离见证如何创造交易量增加所需的长期扩容能力呢?为什么它那么难量化?

从尺寸到重量

首先要知道的是,隔离见证引入了一种新的交易格式。在隔离见证的交易中,签名被放到一个额外的空间。旧节点只能看到占位符,而进行隔离见证升级的节点仍旧可以查看和验证签名。这有几个好处。例如,它消除了交易延展性和二次方散列。但是这不是我们要实现的。在这我们关心的是容量。

在这方面,知道签名占据交易60%的空间是很重要的。那么,如果执行1MB区块大小限制的旧节点可以保持40%所需的数据,那么整个网络的容量将显著增加。肯定的。

你需要知道的第二件事情是,隔离见证节点和矿工将用“区块重量”取代区块大小。重量的计算比简单的“区块大小=1MB”更复杂。现在矿工需要按照以下规则打包区块:

        4 * Non-Segwit-Data + 1 * SegWit-Data <= 4000 Kilobyte

 

让我们仔细看一下。这是什么意思?首先,我们采用的所谓的“非隔离见证数据”。这是指不在隔离见证额外区域的一切数据:ID、发送人、接收人、金额、旧样式的签名。这个数据乘以4,然后我们添加隔离见证签名包,但是只是1次。这个结果不能大于4MB

隔离见证数据的大小要打折有几个原因。为了实现隔离见证软分叉这在某种程度上是必要的,并且它使用户对网络延展性的行为更具有可持续性。隔离见证数据可以轻易删减,这意味着你可以从区块链上删除它,而非隔离见证数据更难以删除。关于折扣的话题,有很多可以谈论内容,但是在这我们问题是隔离见证可以提供的容量。我们如何才能把区块重量转换回区块大小呢?

 

…再次回到尺寸大小

对于非开发者和非数学家们来说,找到把区块重量换回区块大小的方法并不容易。你必须进行一些计算,最后得到能够放入隔离见证区块的交易数量。

最重要的是,需要两个变量:首先,你需要知道所有交易中多少个百分比是隔离见证(m)。这是最难的问题。接下来,你需要知道签名占据区块空间的百分比(n)。这是相对容易找出的。

如果你用这些变量和区块重量公式,并稍微进行处理,你就会找到计算真正区块大小的方法。BTCManager写了一个简单易懂JavaScript ,它使用不同的变量模拟隔离见证的容量。我们请计算机科学家,也是比特币专家的Jochen Hoenicke检查公式。他把计算变得更简单并更正了一个细节。

如果你浏览结果,你就会看到容量随着mn的增加而增加。正如预料中的一样。让我们仔细看看结果。

我们所知道和不知道的

首先,我们肯定需要接触我们所不知道的。在区块空间中共享签名的问题是比较容易回答的。Jochen Hoenicke给我们列出了一个从初始块开始所有区块中签名所占的比例清单,签名使用60%-63%的区块空间。这个数据相对稳定了两年。因此,n=60/65

更复杂的问题是,隔离见证交易所需的空间是否比旧交易大10%。在目前的部署中,隔离见证使用所谓的“嵌套P2SH”地址,这确实需要超过10%的区块空间。然而对于未来,计划使用本地的隔离见证地址,这不需要额外的空间。在我们的模拟中,我们主要使用当前的地址格式。

最关键的因素是隔离见证的采用率m。现在我们没有数据,也不可能量化生态系统采用新交易格式所需的时间。算出一个硬性的数字是不可能的。只能对可能的结果范围进行粗略的估计。

比特币网络如何进行逐步推广隔离见证交易?

通常,隔离见证的扩容奖励是被认为是一个“2MB软分叉”。如果所有发送的交易都是使用隔离见证和本地格式,那么这个估计是有效的。隔离见证被100%采用,那么必然会发生什么呢?

基本上,整个UTXO集合必须转化。比特币区块链上所有的input或者币都必须从旧地址发送到新隔离见证地址上。只有这样,交易才能通过分离签名创造出更大的容量。目前,UTXO集合由5000万个input组成,约2GB的空间。完全转化将需要比特币的整个交易处理能力处理两周的时间。

你可以假设,这不会在一夜之间发生,并可能永远不会达到100%。但是,在头6个月,隔离见证将会逐渐释放一些容量。

估计真实的大小

大部分UTXO集合完成转化需要多少时间?6个月之后可以实现多大的扩容?我们无法给出一个准确的数字。我们所能做的就是概述两个参数,六个月后可能会偏向在40%-80%的范围内。

·       如果我们使用帕累托原则,根据二八定律,20%的企业可能产生80%的交易。如果像CoinbaseBitPayBitcoin.deBitStamp这样的大平台采用隔离见证,那么它可以轻易得到80%的支持。

·       当然。现在构建隔离见证交易并不是容易的事。不过,大公司能够实现并开始进行转换。但是,取决于他们所管理的和系统里的交易数量,他们可能需要一些时间来完全摆脱旧的交易。

·       用户钱包的转换不太容易。现在几乎所有的钱包都没有使用隔离见证的界面。如果实行隔离见证,升级的网络只适用于那些升级钱包的用户,即使如此,很可能是有问题的,因为有时需要更换整个钱包。在这个领域,6个月后的采用率可能相当低。

毕竟,我们可以假设,隔离见证在激活之后半年的采用率,最好的情况,是达到85%,最差的情况是低于50%。那么区块容量将分别达到1.45MB1.25MB

这个大小将在6个月后进一步增加。如果使用本地的隔离见证地址,采用率将达到90%-95%,区块大小可能会增加到1.8MB

 




(如果您觉得好,欢迎关注我的公众号: 闪电HSL,也欢迎加我微信号:13116885)


(如果你想学习比特币和区块链知识,欢迎加入我的小密圈)