首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从零开始学习区块链——隔离见证

隔离见证的提出

隔离见证的提出要从比特币扩容讲起了。

中本聪将区块内存大小定为1MB,刚开始交易量较小不需要太大的区块,所以足够用。但是随着比特币的发展,交易量越来越大,区块的内存就不够用了,比如1MB的区块只能记录十条交易信息,每十分钟产生一个区块,现在每分钟会产生数百条交易信息,那么一个区块就放不下了,大家想确认交易就需要排队等候。这样,比特币系统就变得拥堵了,如果不解决这个问题,大家可能会放弃使用比特币系统,比特币扩容迫在眉睫。

这时候,就出现了我们耳熟能详的软分叉和硬分叉之争,随之,我们今天的主人公——隔离见证也登场啦。隔离见证用于软硬分叉均可,其中软分叉中搭建闪电网络中做隔离见证是很重要的。

认识隔离见证

我们大致了解一下转账过程,A给B转账时不仅需要提供金额信息还要要自己的私匙进行签名(身份验证)、提供B的公匙地址,这样才能形成转账。

因此在比特币交易中,每笔交易信息包含两部分:基础交易数据、见证数据。基础交易数据记录账户资金结余,见证是验证用户身份、证明交易合法性(隔离见证一词也是由此而来,就是将见证信息与交易基础数据隔离)。

比特币系统中,交易交易基础数据和签名信息(见证)是一起记录在区块上的。但是1只有矿工需要验证签名信息记账,普通用户只需要了解交易状态;2签名信息占用了大量的内存,3两个信息放在一起会带来交易可变性。

于是,隔离见证(Segregated Witness)由比特币核心开发员Pieter Wuille在2015年12月提出。隔离见证需要做的其实就是一件事情,把签名脚本从交易信息中提出了单独存放,这样见证信息在区块中占据的内存就释放了,也可以理解为每条交易信息占用的内存变小了,于是一个区块就可以容纳更多的交易信息,从而缓解拥堵问题,提高交易速度,同时见证分离也解决了交易延展性的问题。

下面的图片很形象,大家可以参考:

但是,见证隔离后矿工在验证交易时需要单独验证签名部分的数据结构,增加验证耗费,因此需要矿工的配合。同时为了防止升级造成硬分叉,开发人员设定只有获得95%以上用户支持下才会激活见证隔离。

隔离见证的优点

解决有交易延展性引起的问题

交易延展性:由于见证信息的数学特性,任何人拿到一个交易记录中的见证信息后,可以在不知道私匙的情况下拼凑出另一个有效的见证信息,然后再添加一些其他交易信息就可以弄出另一个交易记录。如果这个拼凑的交易记录最先记入区块链,那么那个真实的就变成无效交易了。

激活隔离见证后,见证信息从交易记录中剥离,不再参与哈希计算,就不能通过上述途径拼凑交易记录了。

缓解交易拥堵

就像我们上面分析的,见证隔离将占据大量内存的签名信息剥离出来,减小了一个交易记录的内存,变相提高了区块的容量。

总的来说,隔离见证是一种很聪明的解决方法。

感谢您的分享关注!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180531G0WTJO00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券