SegWit2x是比特币公司和80%的矿工在Consensus2017会议上签署的相关协议。
按既定方案,在完成SegWit激活后90天,比特币矿工们将
自由决定挖1MB还是2MB大小的区块
,因此预计11月19日将可能产生比特币SegWit2x分叉。
SegWit2x(纽约共识方案)的终极目的是比特币的扩容。
1.比特币为什么要扩容?
2.什么是SegWit2x硬分叉?
3.SegWit2x硬分叉对用户又哪些影响?
4.用户应该如何处理自己的比特币?
比特币网络理论上平均每十分钟产生一个区块,平均每秒处理3笔交易。随着比特币持有者和区块链上交易的不断增长,原本1M的区块大小已不足以支撑日渐庞大的交易量,网络拥堵、交易延迟等问题日益严重。比特币的拥堵已经持续了近1年,交易手续费已经高达30元/笔,影响了比特币作为交易的使用。为了比特币更好的发展,比特币社区开始讨论修改比特币的代码,突破比特币的1M区块上限。
a) 什么是区块:
当你把比特币发给别人后,你就创建了一笔比特币交易,这个交易最后会由矿工记录下来,记录到区块中。
区块相当于一个账本,上面记录了这10分钟内发生的交易,但这个账本的容量是有限的,目前的容量是1M,1M区块每秒能记录3笔交易。
也就是说,现在比特币处理交易的上限是每秒3笔。
b) 1M区块大小是怎么来的:
其实最早中本聪创建比特币时,是没有区块大小限制的,但由于一个数据结构的限制,区块最大能达到33M,而不是现在的1M。但最早的时候比特币很便宜,只要花很少的钱,比如几美元,就可以发出非常多的垃圾交易,恶意地把区块数据撑大,撑满你的硬盘。所以中本聪加了一个1M区块限制,中本聪加的这个限制是临时的,并给出了未来扩容的安排。
图片内容翻译如下:
“更大的区块限制可以分阶段进行,比如:
当 区块高度(blocknumber) > 115000 时,
区块上限(maxblocksize)=更大的限制。
这段代码可以提早很多写在某个版本中,这样到指定区块高度,这段代码起作用时,不含有此代码的旧版本早就被淘汰了。
当我们接近截止区块高度时,我将在旧版本上显示一个告警,以保证旧版本用户知道他们必须升级了”
目前勉强达成共识的扩容方案是“纽约共识”,即先在比特币区块链主链部署隔离见证(SegWit),随后在11月再进行1M到2M的区块扩容,届时比特币交易拥堵的问题有望得到缓解。该方案并未得到Core团队(比特币核心开发社区)的认可。纽约共识中并没有Core团队的参与。该核心团队扬言,若扩容被执行,团队就要在11月份之前再进行分叉,坚持1M的区块大小。此次对分叉的预期正是基于这一背景。
隔离见证(Segregated Witness,缩写为SegWit)简单来讲,这种方案就是通过改变比特币交易结构的方式,将交易中签名的部分单独拿出来。从而达到扩容的目的。
每一个比特币交易信息可分为两部份:第一部份是说明结余的进出,第二部份是用来证明这个交易的合法性。第一部份可称为「交易状态」,第二部份就是所谓的「见证」(witness)。将交易状态与见证信息隔离开来,这个过程被称为分离见证或SegWit。数字签名占给定交易中空间的65%。SegWit尝试通过从输入中剥离签名并将其移动到结束事务的结构来忽略附加到签名的数据。
SegWit2x
方案是基于纽约共识(New York Agreement)的比特币升级方案。2017年5月23日,来自全球22个国家58家知名区块链公司共同签署了纽约共识(SegWit2x,即隔离验证+2M),纽约共识一致同意先进行SegWit升级,并在之后的6个月内把区块大小升级至2M。2017年7月23日SegWit正式激活,按既定方案,在完成SegWit激活后90天(比特币区块链时间),比特币矿工们将自由决定挖1MB还是2MB大小的区块,因此预计11月19日将可能产生比特币SegWit2x硬分叉。
解释一下
硬分叉
:硬分叉是指当系统中出现了新版本的软件(或称协议),并且和前版本软件不能兼容,老节点无法接受新节点挖出的全部或部分区块(认为不合法),导致同时出现两条链。尽管新节点算力较大,比如99%的算力为新节点,1%的老节点依然会维护着不同的一条链,因为新节点产生的区块老节点实在是无法接受(尽管它知道网络上99%的节点都接受了),这称为硬分叉。
此次硬分叉可能会分成两条链,分别为区块大小为1M和2M的比特币,即BT1和BT2。
需要选择挖价格高币的矿池,正常情况下所有矿池都会挖价格高的币,但不排除有政治目的的矿池继续挖价格低的币。
如果比特币真的分叉,最大的风险就是重放攻击。
重放攻击
:
重放(Replay)也称为重播、回放, 即某个消息或数据原封不动的重新发送给接收方一次。如果接收方在多次接收同样数据无法进行有效识别,就会存在重放漏洞。
重放攻击(Replay Attacks),是计算机世界黑客常用的攻击方式之一,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性, 从而达到多次欺诈的目的。如果接收者可以有效识别和拒绝重放信息, 也就不存在重放漏洞,没有漏洞就没有被攻击的可能。
举例说明,小李扫码买了一份老婆饼,当他把成功付款的信息出示给服务员后, 服务员把老婆饼给他。 然后小李又再把上次的付款信息出示给另一个服务员, 服务员又给他一份老婆饼。 只要小李不断重复出示他的付款信息,就可以源源不断骗得老婆饼, 这对于店家来说就是被重放攻击了。如果店铺可以有效识别和拒绝小李的同一个付款信息, 也就不存在重放漏洞,没有漏洞就没有被攻击的可能,也就不会损失了。