Skip to content

Latest commit

 

History

History
44 lines (25 loc) · 4.79 KB

区块基础-隔离见证.md

File metadata and controls

44 lines (25 loc) · 4.79 KB

区块基础-隔离见证

标签(空格分隔): 磨链输出计划


2015年12月,比特币核心开发员Pieter Wuille 在香港提出隔离见证 (Segregated Witness)软分叉方案,为了彻底解决区块的大小和交易效率的问题。用户在交易时,会把比特币传送到有别于传统的地址。当要使用这些比特币的时候,其签署 (即见证)并不会记录为交易ID的一部份,而是另外处理。也就是说,交易ID完全是由交易状态决定,不受见证部份影响。

屏幕快照 2018-05-11 下午10.18.56.png-76.3kB

首先隔离见证是对比特币的一种升级扩容方案,由于交易量的增加和比特币区块大小的限制,区块很快被填满,导致交易处理的效率越来越低,比特币有一个图解曲线图可以看出: 屏幕快照 2018-05-11 下午10.19.03.png-554kB

扩容其实十分必要了,只有区块的容量扩大,容纳更多交易这个才能在单位时间内处理更多的交易。

隔离见证,这个是字面翻译,千万不要咬文嚼字去理解概念,我们还是从交易开始说,来解释说明这个概念,之前文章里有对比特币交易做过解释说明,其中比特币中的数据结构UTXO,UTXO直接决定了交易中资金的使用和支配权。在比特币交易中交易是以输入输出的信息存在,输入信息证明资金的所有权,在转账过程中,转账者需要用自己的私钥签名表明能够使用这个资金,同时加上接收者的地址,说明这笔资金是转账给谁,这个过程中签名占用了大量的字节,比特币网络中的旷工需要验证这个签名,而网络中的普通节点只需要知道这个资金是不是可用,简单来说,大多数节点不涉及自己的交易并不是很关心这个签名,所有在比特币系统中出现一种将签名信息隔离开来的提议,那在UTXO中放一个指向签名信息的指针即可。从数据结构角度来说隔离见证方案就是将原来的UTXO信息分为输入、输出、签名(见证)。我们从几个图来说明下可能好理解:

现在的区块和区块链结构图: 屏幕快照 2018-05-11 下午10.19.10.png-366.1kB

隔离见证后的区块和区块链结构图:

屏幕快照 2018-05-11 下午10.19.35.png-178.7kB

隔离见证后突破1M区块的限制,由于隔离见证是一种升级方案,那就会产生分叉的问题,隔离见证分叉后如图: 屏幕快照 2018-05-11 下午10.19.40.png-130.1kB

当然隔离见证之前一直有各种问题被讨论,

隔离见证增加技术过失。将签名的merkel根硬塞进coinbase信息,这样隔离见证就能作为软分叉进行部署,这种想法就是一团烂泥,我们想要往比特币基础层放入多少杂牌组件呢?我们打算把软分叉变成一种常规活动吗?我不认为有人能够从中获益,除了那些要求获得跟大设备职权的开发者。

隔离见证无法被回滚,因为对于未升级的客户端,隔离见证交易看起来像所有人支付。隔离见证激活后,如果通过大多数矿工软件自愿降级来回滚隔离见证,那么隔离见证输出的所有资金都能被不道德的矿工拿走。随着越来越多的资金被锁在隔离见证输出,那么对矿工相互串通的激励就越高。相比之下,硬分叉提升区块大小能够通过一种降低区块大小的软分叉来回滚。

隔离见证实际上并不增加区块大小,它只是以一种不同的方式来计算区块大小,对隔离见证数据进行打折。这就意味着正常的非隔离见证交易将不会被计算在内。这也意味着只有比特币网络的所有人都使用隔离见证交易,这样才能实现有效区块大小增加。鉴于隔离见证的采用难以预测,实际的交易处理能力增加可能会是目前的1倍到2倍。这也是为什么我将隔离见证区块大小增加称为‘伪增长’。

该地址有多隔离见证前的优缺点分析,有兴趣可参考:http://www.btc38.com/btc/altgeneral/12679.html