主页 > imtoken钱包如何解除授权 > 比特币“区块扩容”:隔离见证
比特币“区块扩容”:隔离见证
2022-01-04比特币“区块扩容”:隔离见证
唐说区块链关注
2018.04.07 16:35 字数 2946 阅读 45 评论 1 赞 2
写在前面的话:
1)从现在开始:更改账户主体名称【简易区块链】-->【唐硕区块链】
2)名称变了,初心不变:无论多么艰难,我们都会在区块链相关领域的技术研究中继续前行……
3)本专栏系列原创文章同步发表在【糖硕区块链@简书】、微信公众号【糖硕区块链】和【开发者头条专属账号:糖硕区块链】。
比特币“扩容”
一、“区块扩容”前比特币网络现状
关于区块的数据结构,我们在《“比特币”区块中隐藏着哪些秘密:区块链区块结构解析》一文中已经详细介绍过,本文不再赘述。 不懂的同学请点击传送门。
中本聪在比特币网络中使用难度参数,每 2016 个区块会动态调整一次。 新块的生成速率使得每个块的平均生产时间等于大约 10 分钟。
在比特币系统 V1 中,每个区块的大小为 1Mb,这使得每个区块平均包含 2000 笔交易。 换句话说,比特币网络平均以每秒 3.6 笔交易的速度处理交易(最高约为每秒 7 笔交易)。
对于日益火热的比特币交易量来说,这个速度显然是不够的,所以比特币“扩容”势在必行。
二、背景介绍:比特币网络的两大阵营
在比特币网络中,两大阵营起着举足轻重的作用:
1)一个是比特币核心开发团队,负责开发和维护比特币系统(包括,bitcoinj和client等)
2)一种是以鱼池(Fish Pool)、蚂蚁矿池(AntPool)等为代表的比特币矿池,完成比特币交易的挖矿和打包功能。
3、比特币为什么要“区块扩容”?
接下来比特币升级版叫什么,从两位参与者的角度来看:
1)对于核心开发团队来说,自然希望比特币网络能够承载更多的比特币交易;
在比特币交易日益火爆的背景下,如何让比特币网络处理更多的比特币交易,如何让比特币网络稳定运行不阻塞,是高邮需要考虑的问题;
PS:2015年7月,大量小额比特币交易攻击恶意封网,导致比特币网络被封几个小时。 最后,F2Pool 能够通过生成历史上最大的比特币交易来解决问题。 (感谢F2Pool,虽然F2Pool的目的只是为了赚取更多打包交易的矿工费)。
2)对于矿工来说,“挖矿”变得越来越难,那么在获得记账权(产生新区块的权利)后,如何增加收益呢?
上一篇文章提到,矿工的手续费分为两类:coinBase系统奖励和打包交易的手续费。 coinBase 奖励是动态固定的(最终趋于 0),因此提高该区块的打包交易总手续费是首选。
因为在单笔比特币交易容量相对稳定的情况下,区块扩容是最好的选择。
4、比特币“区块扩容”的两种方案
业界争论不休的方案有两种:硬扩容和软扩容
1)硬扩容:以矿工为代表,他们希望将比特币区块的大小限制从1Mb提高到2M;
2)软扩展:关注核心开发团队,原因有二:
一是不想一而再再而三的让步,因为这次硬扩2M,以后比特币交易比较频繁,总是没有负载的时候,又会硬扩到4M;
其次,硬扩容意味着每个区块的实际容量变大,因此比特币客户端需要同步的数据容量会更大,对比特币客户端的存储空间要求也会越来越高。 这不是一个健康的发展。 方向。
5.“软扩张”的隔离见证
5.1 每笔交易的数据构成类别是什么?
说到“隔离见证”,首先介绍一下每笔比特币交易的数据,可以简单分为两部分:
1)交易出入明细(即交易余额余额数据明细);
这部分可以理解为交易的状态数据。
2)交易的见证数据(用于证明交易的合法性,主要是签名SIG);
这部分可以理解为交易的见证数据(Witness);
现实情况是:并非所有参与者都需要关心这两部分数据。
在原始版本中,中本聪并没有将这两部分数据分开处理,而是将它们混合在一起,导致交易ID混合交易状态和见证的计算。
PS:因为见证数据本身就包含了签名,而签名不能自己签名,所以在中本聪的比特币系统原版中,会出现恶性问题。 见证人可以由没有双方的任何人签署。 可以在同意的情况下进行更改,从而产生所谓的可延展性;
交易延展性的官方解释见《BitcoinWiki#交易延展性》
5.2 什么是“隔离见证”?
“隔离见证(缩写为 SegWit)是一种已实施的协议升级,旨在提供交易延展性保护并增加区块容量。”
--- “BitcoinWiki # 隔离见证”
“Segregated Witness是比特币底层协议的升级,其目的是解决升级前比特币可变交易的问题,扩大区块容量”
可以举个简单的例子
一个长方体代表一个事务
硬块大小为1Mb,可以理解为一块面积为1000个单位的空地; 一笔交易可以想象成一个长方体(10*2*2 个单位);
“Segregated Witness”之前:相当于在地面上水平放置一个长方体(10*2落地),那么一共可以放置50个长方体;
“Segregated Witness”后:相当于竖放一个长方体(2*2在地上),那么一共可以放250个长方体;
因此,“隔离见证”在技术上相当于对区块大小进行了软扩容,相对增加了打包交易的数量。
5.3 “隔离见证”的底层数据结构发生了哪些变化?
5.1介绍过,区块中有两部分数据:见证数据和余额余额数据;
1)SegWit为区块定义了一个新的数据结构,增加了一个属性“witness”(“witness”字段);
2)将原区块数据中的见证数据部分(主要包括脚本数据和签名数据ScriptSIG)移动到见证数据结构中,该结构数据独立于交易数据提交给区块。
3)witness结构中的数据只与验证交易有效性有关,与实际交易明细无关(不参与Merkle树根的计算)。
4)这样做的好处是见证数据不再占用1Mb的区块大小限制,意味着可以节省更多的区块空间,可以打包更多的比特币交易。 见证数据约占交易记录空间的一半。 移除见证数据后,交易记录的大小将减少。
5.4 “Segregated Witness”后新的重量计量单位
在“Segregated Witness”版本中,新增了一个重量计量单位:WU(weight unit)。 每个块的大小允许最大 4M WU。 同一个1字节比特币升级版叫什么,在块的不同区域结构中,具有不同系数的WU。
WU的大小定义如下:
原来1Mb区的数据等于每字节4WU; 见证数据结构中的数据大小等于每字节 1WU。 这样一来,就相当于在技术上对区块进行了分块一次性扩容,无需硬分叉。
附言:
1)区块扩容不是“隔离见证”要解决的主要问题; 它是为了修复“交易可变性”错误。
2)有了“隔离见证”,比特币的“闪电网络”才能更好的实现,这也是“矿工”最无奈和不能接受的。 见 3)
3)“闪电网络”可以简单理解为:在比特币网络中的两个账户之间开通了一个特殊的点对点结算网络通道,后续这两个账户之间的转账都是在这些子结算网络中进行的在通道上(创建一系列新的交易记录,但不广播到比特币网络),其交易的真实性也由加密算法保证。 直到某一方最终发起最终结算,最新的交易才会广播到比特币网络。
好处是:因为不需要每笔交易都广播到主网,减少了比特币网络的拥堵,减少了交易手续费的消耗(而交易手续费正是矿工的收入来源) .
6.“隔离见证”升级提案落地图
官方 BIP141:隔离见证图
图中几个核心字段的含义下面会详细解释
1)BIP详解:BIP是Bitcoin Improvement Proposal的缩写,一种比特币升级提案(任何人都可以提交BIP,注意在页面上发布BIP并不代表已经正式接受),详细说明一个BIP提案的信息如图:
标题中的共识层代表该提案针对比特币网络的哪一层;
其中,Status表示提案的当前状态。 一共有9个提案状态:Proposed(提议)、Draft(草案)、Active(**)、Final(落地)、Replaced(替换)、Withdrawn(移除)、Deferred(推迟)、BIP number allocated(分配BIP号) ,拒绝(拒绝)。
BIP141 详情
2)类型:这里指的是MASF(矿工**软分叉)或者UASF(用户**软分叉)。 详见:《比特币“交易打包”底层原理与区块链“分叉”》
3)目的:描述当前BIP要解决的问题。 可见“隔离认证”要解决的问题是:交易可变性BUG
4) supermajority:指票数满足的资格条件,不一定51%的票数就会被淘汰。
“隔离认证”的最低条件是:2016年新生成的区块中95%是节点升级隔离认证后生成的区块,则全网通过“隔离认证”正式上线。
以上就是“隔离认证”的详细介绍。