你可能会疑惑,这个隔离见证对我们的比特币钱包开发有什么影响?接下来你知道的。
隔离见证的英文名是SegWit,是Segregated Witness的简称。隔离见证(Isolated witness)是针对比特币提出的升级方案,旨在解决比特币面临的一系列严重问题。它是由Pieter Wuille(比特币核心开发者和Blockstream的联合创始人)在2015年12月开发的。主要由BIP-141定义。
我们可以这样理解隔离见证:
见证:在比特币中,是指交易合法性的验证,用来证明你拥有某些交易输出的见证数据。
隔离:即从交易信息中提取见证数据,单独存储。
seg wit是比特币核心提出的更新,是目前最流行的比特币标准客户端,被大多数企业使用。最初,这一更新旨在解决交易的可扩展性,这也是比特币软件中众所周知的弱点。虽然这种攻击载体对用户的破坏力并不是最大的,但迄今为止已经在很多攻击案例中使用,这凸显了修复这一漏洞的必要性。
目前比特币的可扩展性问题主要是块容量不足。这里的问题是,当前块的硬编码限制是1兆字节,不足以承担用户每分钟试图发送的数百个事务。因此,许多用户不得不排队等待,直到他们的交易被确认,而这个等待时间可能是几个小时,甚至几天。随着网络规模的扩大,交易强度也会增加,但块容量限制不变,意味着问题会继续恶化。
SegWit的解决方案由两部分组成:
首先,它可以立即将块容量限制提高到4兆。有一点需要注意:4 MB是绝对的最大值,实际的块容量将取决于网络条件。SegWit激活后,专家预测块容量将在2到2.1 MB的范围内。第二,为了解决交易的可扩展性,将大量交易移出区块链,并使用闪电网络进行快速处理,预计这将大大增加网络容量。的优点增加了一个块可以执行的事务数量。降低交易成本。减少每笔交易的规模。现在你可以更快地确认交易,因为等待时间会减少。有助于比特币的可扩展性。随着每个区块交易数量的增加,可能会增加矿商收取的总费用。消除事务扩展性。有助于启动闪电协议。该地址是一个20字节的哈希值,使用Base58check格式化,以生成P2PKH或P2SH比特币地址。目前最常用的方法是用户交换支付信息。
常见的比特币交易地址有两种:
P2PKH(pay-to-public-key-hash):payed 尚力财经小编2022 to public key hash。是最常用的模板,由中本聪定义,允许对单个公钥进行简单支付。P2SH(Pay-to-Script-Hash):Pay to Script,是多重签名交易的输出。如BIP16中所定义的,它允许向任何复杂的脚本付款。Quarantine Witness为比特币建立了两个新的交易地址:[X]P2WPKH(Pay-to-Witness-Public-Key-Hash):Pay to Quarantine Witness公钥Hash,类似于P2PKH,是BIP141中新定义的。它嵌入在P2SH脚本中,所以不了解segwit的钱包也可以使用。P2H(pay-to-witness-script-hash):pay to多签名隔离见证脚本hash,类似于P2SH,是BIP141定义的另一种新的脚本格式。它可以嵌入P2SH脚本和地址中,这样任何钱包都可以进行segwit兼容的支付。
隔离见证不会尚力财经小编2022同时在全网实现。为了新老客户共存,钱包开发者要自主升级钱包软件,增加隔离见证功能。升级到segwit的钱包后,使用的是P2WPKH和P2WSH支付类型,而传统钱包使用的是P2PKH和P2SH支付类型。 两种形式的见证脚本P2WPKH和P2WSH都可以嵌入到P2SH地址中,是以"3"开始的地址P2PKH是以"1"开头的地址举个例子,假设有两个人:徐丽、张三、徐丽的钱包没有升级到塞格维特,但是张三的钱包已经升级,可以处理塞格维特交易106 .徐丽和张三都可以使用正常地址交易,但是张三很可能会使用塞格维特来降低交易费用。在这种情况下,张三的钱包就需要构建一个包含一个塞格维特脚本的P2SH地址106 .徐丽的钱包认为这是一个正常的P2SH地址,并可以在没有任何塞格维特的知识的情况下付款。然后,张三的钱包可以通过隔离交易来支付这笔款项,充分利用隔离交易并降低交易费用因此我们需要构建塞格维特地址兼容普通地址三、编程实践:生成隔离见证地址代码输出验证代码解析这里只解getSegWitAddress方法的实现,其它代码解析请查看上一章"从生成助记词到扩展子地址"的内容。二进制硬币。付款。p2sh({ redempt:bit coin。付款。p 2 wpkh({ pubkey:key pair。公钥,网络:myNetwork}),网络:myNetwork })这是将p2wpkh地址嵌套在p2sh地址中,作为它的履行字段。同时需要注意,在两种地址类型中都需要指定网络类型。上面的代码是在比特币正式网络中运行的,即指定了构建我的网络=比特币。网络。比特硬币。
版权声明:博客中的文章版权归博主所有,未经授权禁止转载,转载请联系作者取得同意并注明出处
未经授权禁止转载、改编,转载请注明出处!
标签: 2022