隔离见证是对比特币软件提出的一种更新,旨在解决比特币面临的一些问题,最早由PieterWuille在2015年12月6日的香港扩容大会上提出来的,最终在2017年8月24日在区块高度481824上正式被激活。
01 隔离见证的诞生
隔离见证:“隔离”英文称为Segregated, Witness是“交易见证”。交易见证的意思是:我有权支配这笔钱的证明,也就是 “签名”。“隔离见证” 就是把签名隔离出去。
诞生的原因
中本聪定义比特币主协议上最大区块大小为1MB,随着比特币的快速发展,1MB的容量限制了比特币每秒能处理的交易笔数。配合每10分钟产出一个区块,交易数过多导致一个区块无法装下,交易想确认交易就需要排队等候。这样,比特币系统就变得拥堵。
在比特币系统中,每笔交易信息包含两部分信息:基础的交易数据,见证数据。基础交易数据记录地址资金结余,见证是验证用户身份,证明交易合法性的信息。在实际的操作中,签名信息(见证数据)占用了大量的内存。
因此隔离见证的操作方式是将签名信息隔离出去,以此来释放每个区块可打包的交易数据内存,这样使得每一个区块可以容纳更多的交易。
这种方式之所以可行是基于以下几点:
1. 只有矿工需要验证签名信息记账,普通用户只需要了解交易状态;
2. 隔离见证将签名脚本从交易信息中提取,单独存放。
隔离见证实际上就是释放打包内存,形象的解释:
一辆公交车上每个乘客都带了行李,导致只能坐50个人。这时候,有人提出将行李放在车顶上,于是一辆公交车可以乘坐100个人了。
02 隔离见证的作用
缓解交易拥堵问题
如上文提到的,当有500个人排队时,如果一辆公交车载50个人,那运完所有人需要10辆公交车,但是如果一辆公交车载100个人,那实际就只需要5辆公交车就能运完所有人,速度提升了一倍。
解决交易延展性问题
前文提到,在未更新隔离见证时,一笔串交易ID里包含了交易数据和签名数据,这就使得在特定的算法下(虽然很难)可以把一种有效见证数据篡改成另一种有效见证数据。通过对见证数据的修改,使得交易唯一标识——hash值变更,从而让两笔交易都变成有效交易。隔离见证通过将见证数据移除,使得交易ID里不包含见证数据,从而使得交易ID无法更改,让交易安全性更高。
03 总结
总的来说,隔离见证不仅为比特币的扩容提供了良好的解决方案,同时提高了交易的安全性,且在一定程度上为闪电网络提供更高的可行性。AToken钱包也即将支持隔离见证,为用户提供更快更安全的交易体验。