隔离见证

简介

其实隔离见证是包括很多内容的,具体内容和相应好处如下:
https://bitcoincore.org/zh_CN/2016/01/26/segwit-benefits/#section-1

更多:
《谈谈区块链(21):比特币之隔离见证》

背景

  1. 比特币的区块大小是1M字节,待验证的区块数量越来越多,交易处理的效率越来越低。
  2. 中本聪设计比特币系统时,并没有把两部份资料分开处理,导致交易ID的计算混合了交易状态和见证。因为见证本身包括签署,而签署不可能对其自身进行签署,因此见证是可以由任何人在没有交易双方同意下可以改变的(两个不同的签名都是有效的),造成所谓交易延展性 (malleability)。更多
    因此,在交易发出后,确认前的交易ID可以被任意更改,因此基于未确认交易的交易是绝对不安全的。
    在2014年2月,攻击者利用这漏洞大规模攻击曾是世界最大的比特币交易平台MtGox,导致其倒闭,然而这问题一直至今没有解决。即交易所先发起交易tx,并追踪其txid,而黑客修改tx的签名得到tx_hack,因此拥有不同的txid。tx_hack和tx本质上是一样的。而tx_hack抢先被打包至区块,钱已经被转走了。而交易所因为追踪txid,所以觉得钱还没发送成功,所以重新发送。

隔离见证的软分叉

内容

签名移至见证部分

比特币交易结构中,签名信息占用了大量的字节,也就是说占用了比较多的空间。除了矿工需要验证这个签名之外,普通使用者只需要知道这个货币是否可用即可,也就是说,很多人并不需要这个信息。

因此,才有了一种提案: 将这种签名信息隔离出来,input里放一个指向这个签名信息的指针就行了。
隔离见证
隔离见证

好处

1) 可以用软分叉增加最大区块容量:
因为旧有节点根本看不到这些被隔离的见证,即使真实的区块已超过1MB,它们仍会以为没有超过限制而会接受区块。SW可以提供约2MB的有效区块空间而没有任何硬分叉风险。
2) 从此以后,只有发出交易的人才可以改变交易ID,没有任何第三方可以做到。如果是多重签名交易,就只有多名签署人同意才能改变交易ID。这可以保证一连串的未确认交易的有效性,是双向支付通道或闪电网络所必须的功能。有了双向支付通道或闪电网络,二人或多人之间就可以实际上进行无限次交易,而无需把大量零碎交易放在区块链,大为减低区块空间压力。
3) 轻量钱包可以变得更轻量,因为它们无需再接收见证数据。见证数据只需要矿工要验证的时候需要存储。
4) 可以大幅改善签署结构。在区块链上,曾经有一个超过5000个输入的交易,因为签署设计缺憾,需要半分钟才能完成检查。在建议中的SW软分叉会把这个问题解决掉。更多

缺点

1) 如果SegWit**,那些未升级的签名将无法接收来自SegWit钱包的交易。如果有人通过SegWit钱包向你发送比特币,你不会看到这笔交易直到某位矿工在区块中对这笔交易进行确认。这本质上破坏了所有不想升级SegWit的钱包的0确认支付。复杂的新支付类型可能会导致那些代码质量差的钱包出现bug。SegWit钱包需要在如何处理发送资金到更新和未更新钱包方面表现的更加聪明。如果出错,就可能导致资金丢失。
2) 隔离见证实际上降低了矿工收取的手续费。矿工处理一个区块包含更多的交易,有效获得与1MB区块数据价值相同的费用。隔离见证牺牲交易手续费,以此让网络获得更高的每秒交易吞吐量。也许以后会增加比特币交易手续费。
3) 隔离见证无法被回滚,因为对于未升级的客户端,SegWit交易看起来像所有人支付(从技术上讲,所有可以支出输出的人)。SegWit**后,如果通过大多数矿工软件自愿降级来回滚SegWit,那么隔离见证输出的所有资金都能被不道德的矿工拿走。随着越来越多的资金被锁在segwit输出,那么对矿工相互串通的激励就越高。
4) SegWit实际上并不增加区块大小,它只是以一种不同的方式来计算区块大小,对隔离见证数据进行打折。这就意味着正常的非隔离见证交易将不会被计算在内。这也意味着只有比特币网络的所有人都使用SegWit交易,这样才能实现有效区块大小增加。
对于那些非SegWit输出而言,SegWit实际上并没有修复延展性错误或者二次哈希问题。是的,这就意味着只要区块链上存在非SegWit输出(例如,中本聪的那些长时间未动过的比特币),这些问题仍旧会存在网络上。就像伪区块大小增加一样,SegWit实际上并不会提供区块大小增加,除非整个网络升级并且将他们的非SegWit比特币转换成SegWit比特币。如果你将此与之前的概念结合——随着越来越多比特币被放入SegWit输出,对矿工相互串通盗窃比特币的激励就越大——我不认为完全使用SegWit的比特币网络的激励平衡会与目前的比特币网络一样。例如,目前51%矿工合谋的危险等于交易能够被审查或者矿工能够重复支付自己交易的危险。目前,51%的联合无法窃取你的比特币。但是如果每一个人都使用SegWit,那么这就可能成为现实。