Author

Topic: 不可不知 扩容与隔离见证(SegWit) (Read 164 times)

member
Activity: 168
Merit: 12
November 14, 2017, 02:55:58 AM
#1
常听到比特币需要「扩容」、然后又讨论要不要支援「SegWit 隔离见证」,到底这个「SegWit 隔离见证」是什么?它对比特币会有什么影响?

隔离见证(SegWit)背景

「隔离见证」的英文是「Segregated Witness」,一般会简称为「SegWit」,是Bitcoin Core 团队提出的比特币扩容方案之一,目前最多人使用的比特币节点(node)软体就是Bitcoin Core 所开发的,他们团队里面也有很多知名的比特币与区块链开发者,所以他们在比特币社区的「江湖地位」也比较高。

隔离见证起初的目标是为了解决比特币的交易延展性(transaction malleability)攻击问题,但因为隔离见证所用到的技术也可以令比特币交易功能更多样化,所以逐渐变成解决扩容问题的其中一个可行方案。

比特币扩容问题

有用比特币的朋友或许会察觉到,近年传送比特币都需要等好一段时间对方才会收到,如果不幸设定的手续费过低,甚至可能会等上好几天才能完成交易。

出现这种状况是因为比特币网络正面对「扩容问题」,因为比特币区块链每个区块的容量有限(目前是1MB),如果链上交易要求数量太多,一个区块容不下所有交易,手续费较低的交易会先被忽略,直到有区块有空间可以容下它们,这些交易才会被处理。

试想像比特币的区块是一架公车,而每一笔交易都是一个人,当要乘公车的人超过公车容量,不能上车的人就要等下一班,如果公车容许付较高车资的人先上车,那不愿付高车资的人就要一直等下去。

那把区块容量增加不就将问题解决了吗?有些比特币的开发者也是这么想,所以在比特币历史中,就出现过几个增加容量的建议方案,包括Bitcoin Classic(2MB)、Bitcoin XT(8MB/20MB)和最近出现的Bitcoin Unlimited(无限容量)。

那为什么 Bitcoin Core 坚持保留 1MB 容量、还特意外加一个 SegWit,而这个看似比较复杂的方案,竟然是目前支持度最高的?

隔离见证扩容方案

隔离见证的扩容方案主要分两个部份,第一个部份是将区块上限提升到最多 4MB…喂!等一下!刚不是说 Bitcoin Core 坚持保留 1MB 容量吗?没错!隔离见证并没有把比特币原来的区块容量改变,1MB 这个容量是被保留下来,但在这 1MB 之上,外加一个 3MB 的 SegWit 资料区块,利用英文可能会表达得简洁一点:

SegWit replaces the 1MB block-size limit with a 4MB block-weight limit

大家应该会察觉到「block-size」与「block-weight」两个不同的字,所以隔离见证不像其他扩容方案那么直觉地把区块容量(block-size)变大,而是把区块的「载量」(block-weight)增加。听起来很复杂?没搞懂我在讲什么?

我们把公车的例子再搬过来讲吧!现在公车大小没有变,要搭车的人还是一样多,挤不上去的还是一大堆;这个时候我们在公车后面挂一个像露营车的货车(SegWit 车箱!),所有上公车的人都要把背包和行李放到这个货车上面,因为少了随身物品,每个人占的空间变少了,那公车就可以多载一些人,乘载量就变多了。

隔离见证的3MB 区块会把交易细明包括交易地址、金额、认证资料等分开来处理,从而提升原有1MB 区块能盛载的交易数量,效果跟直接把区块变大差不多,而且这些本来杂七杂八的交易资料被分开处理掉,解决垃圾交易讯息挤满原有区块的问题。

闪电网络(Lightning Network)

说了这么多还是在讲隔离见证方案的「第一个部份」(这部分确实比较难理解),方案第二个部份是在比特币网络上再外加一个「闪电网络(Lightning Network)」的东西,把原有比特币链上金额较少的交易,转移到这个闪电网络来处理,完成后再记录到原链上。

这是一种「链外交易(Off-chain transaction)」,目的是解决「微支付(micropayment)」所遇上的问题,加快交易速度,以太坊(Ethereum)也有类似的方案叫「Raiden Network」,我们之后会再详细探讨这种技术。

在公车路线旁边再架一条铁路,让挤不上公车的人直接去坐火车,这样子解决掉太多人要搭公车、而公车太小的问题。

隔离见证主要就是透过这两种方法,双管齐下去把扩容问题解决,因为在理论与技术层面都把比特币交易网络提升到另一个层次,让比特币可以跟一般电子支付的功能和速度媲美,所以被认为是最好的解决方案,目前支持度比较高。

隔离见证启动时间

Bitcoin Core 团队给了一个启动隔离见证的时机,就是当 95% 的网路算力都支持启动,隔离见证就会被实装。

为什么要 95% 呢?因为如果支持度不够,整个比特币网络就有机会被分裂成两半,然后就会出现两种不同的比特币,严重影响比特币的生态和经济价值;但只要有95% 的算力支持,其余的5% 会因为算力不足、没有足够矿工处理交易和保障网络安全而慢慢被淘汰。
Jump to: