深入比特币原理(十五)隔离见证

独立见证是什么?

在BTC中,观指影是固定动作和动作的一个角色,在比特币交易的学习中我们知道与动作的部分。内容跳跃脱离出来,独立的一个独立的数据结构中,孤立的观察部分了。见证。

独立见证如何工作?

现在Segwit支持P2PKH与P2SH支付,加入隔离见证的交易取名为P2WPKH与P2WSH,分别来看一下他们的区别。

1、P2WPKH

首先回顾下PPKH的锁定动画与动画内容

P2PKH scriptSig: scriptPubKey: OP_DUP OP_HASH160 <Pubkey 的20字节散列> OP_EQUALVERIFY OP_CHECKSIG

再看一下P2WPKH的内容

P2WPKH scriptSig: (empty) scriptPubKey: 0 <20-byte hash of Pubkey>witness:

P2WPK锁定的出现的较快 P2PKH要更专业,H数字数字0是版本号,版本号,阶段升级更容易。

P2WPKH的跳动为空,而真正的动画内容被到了原交易之外的见证部分。

2、P2WSH

P2SH scriptSig: 0 <2 PubkeyA PubkeyB PubkeyC Pubkey D PubkeyE 5 CHECKMULTISIG> scriptPubKey: HASH160 <赎回脚本的20字节码> EQUAL

P2WSH scriptSig:(空)scriptPubKey:022字节的赎回脚本密码SigA>见证:0S <2 PubkeyA PubkeyB PubkeyC PubkeyD PubkeyE 5 CHECKMULTISIG>

P2WSH锁定脚本与P2WPKH类似,是版本号,第二位是赎回脚本(Redeem script)的Hash值。

是P2WSH锁定脚本中的Hash值是256位(32字节)的,是使用SHA256(pubkey)计算得到;而P2WPKH中的Hash值是160位(20字节)的,是使用RIPEMD160( SHA256(pubkey))计算得到的。

破坏的目的是让下载可以根据Hash值的时间交易使用的是P2WPKH还是P2WSH。(思考一下P2PKH与P2SH不需要做这样的时间?)

在 P2SH 交易中往往会出现多重重大的意义,所以将这些信息移到原交易之外能更具体的降低规模。

独立见证升级?

在前面的中我们讲述过,比特币的升级伴随着硬叉或软分叉。分叉影响,但要求更认真,需要非常关心的低等问题。

希望者希望隔离体验可以通过软分叉进行升级,开发新旧客户端可以在同一段链上共存。 于是我们要考虑模拟场景:(1)人的支持隔离见证,而不支持(2)奖励人的客户端不支持隔离验证,多人支持

第一种情况,如果那些人不支持隔离见证,最终发布的地址将是普通地址(PPKH或P2SH),那所有交易都按照现有的规则进行分类。

而对于第二种情况,聪明的社区开发者即将到来的 P2WPKH 或 P2WSH 住 P2SH。

P2WPKH住P2SH后,交易信息如下:

scriptSig: 0 <20-byte hash of Pubkey> scriptPubKey: HASH160 <20-byte hash of script> EQUALwitness:

这里的脚本Hash是RIPEMD160(SHA256(0 <20-byte hash of Pub>))的,结果剧本剧本转换为P2SH地址,就是一个密钥可以验证的地址,不支持隔离见证的客户端正常支付比特币给这种P2SH地址。

对于支持隔离感知的客户端,仍可以进行验证性信息感知结构中,当然这种方案的交易会较完全形式的方案大一些,但比无隔离感知的情况要小一些。

P2WSH 喜欢P2SH

见证:0 <2 PubkeyA PubkeyB PubkeyC PubkeyD PubkeyE 5 CHECKMULTISIG> scriptSig:0 <赎回脚本的32字节哈希> scriptPubKey:HASH160 <脚本的20字节哈希> EQUAL

使用的方法和P2WPKH住P2SH是一样的。

独立见证的诞生?

在新版本客户端激活独立体验后,心情愉悦会被大量升级。所以新旧客户端一就住P2SH(上一节已描述的方式)的提示。

当新隔离被大范围接受后,钱包探索将开始使用一种针对独立的类型,这种地址将使用Base32编码,而不再使用Base58,即全部使用小写字母和数字表达。

举例如下: Mainnet P2WPKH: bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4 Mainnet P2WSH: bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gxfcc

如果你看到以bc1开头的地址,就是使用隔离的见证地址进行的交易。

隔离观察的部分大小有限制吗?

有限制。

比特币的大小限制为 10000,因目击不在限制中,为防止目击数据被数据访问,继续对总大小限制。

引入了一个新概念叫块重量(块重量)块重量基础*3+总尺寸基础尺寸是不包含数据的块尺寸总尺寸是包含数据观察的总尺寸

隔离检疫块权重<= 4000000

为什么要使用Segwit?

一、交易延展性

比特币交易中的信息是交易中可以修改的数据,移除交易中的验证,可交易验证交易延展性攻击。延展性攻击是客户端交易后,通常通过修改或增加一些内容到验证信息中,改变交易ID(txid),引起客户端误以为交易失败(实际已经成功,但不再是最初的txid)。

交易延展性问题的解决可以大大提升网络连接、链式交易、网络网络的可操作性。

2、脚本版本化

使用独立体验后,脚本锁定脚本将被添加版本号,从而使脚本语言的升级更容易实现,这种方式不会引起更多影响的脚本语言修改方式将脚本语言的创新性比特币的

3、网络与存储成本

中数据已经没有验证的,特别是一些复杂的交易比例交易大量几何形状,支付通道等。

节点可以在签名验证后删除验证数据或在简单验证时不同步,验证数据无需传输到所有节点或所有节点的硬盘上。

节点在计算块大小时,会意识验证数据的大小,从而可以增加一小部分的交易数量。

4、签名验证优化

验证降低独立的算法,在隔离验证前,验证的计算次数为O,使用隔离验证后,计算次数降为O(n),n为签名操作的数量。


提示: 1、本站所有内容转载自网络。 2、本站所有内容转载代表原作者观点,不代表本站观点。 3、本站所有转载内容翻译学习参考,不构成任何投资建议。不接受,不打接受赏。

Subscribe to nobody
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.