主页 > 苹果手机安装imtoken > 心愿码(ChainDesk.CN):以太坊钱包开发3——钱包地址生成流程

心愿码(ChainDesk.CN):以太坊钱包开发3——钱包地址生成流程

苹果手机安装imtoken 2023-12-29 05:12:44

课程目标 了解什么是隔离见证交易地址类型 编程实践:生成隔离见证地址

你可能会想,这种隔离见证对我们比特币钱包的发展有什么影响呢? 接下来你就知道了。

一、什么是隔离见证

Segregated Witness英文全称为SegWit,是Segregated Witness的缩写。 隔离见证是为解决比特币面临的一系列严重问题而为比特币提出的升级方案。 Founder)于2015年12月首次提出。主要由BIP-141定义。

我们可以这样理解Segregated Witness:

Witness:在比特币中,指的是对交易合法性的验证,用于证明其拥有某笔交易输出的见证数据。

隔离:就是把见证数据和交易信息分开,单独存储。

SegWit解决的问题

SegWit 是对 Bitcoin Core 的提议更新,Bitcoin Core 是目前大多数企业使用的最流行的比特币标准客户端。 最初,该更新旨在解决交易可扩展性问题,这是比特币软件中众所周知的弱点。 虽然此攻击媒介对用户的危害并不是最大的,但迄今为止已在多个攻击案例中被利用,因此凸显了修补此漏洞的必要性。

目前,比特币的可扩展性问题主要源于区块大小不足。 这里的问题是当前的块限制被硬编码为 1 兆字节,这对于用户每分钟尝试发送的数百个交易来说是不够的。 . 因此,许多用户不得不排队等候,直到他们的交易得到确认,这可能需要数小时甚至数天。 随着网络规模的增加比特币谁开发的,交易的强度也在增加,但区块大小限制保持不变,这意味着问题越来越严重。

SegWit解决方案由两部分组成:

segwit的优势二、交易地址类型

地址是使用 Base58check 格式化的 20 字节哈希,以生成 P2PKH 或 P2SH 比特币地址。 目前最常见的方式是用户交换支付信息。

常见的比特币交易地址有两种:

隔离见证为比特币建立了两个新的交易地址:

隔离见证不会同时在全网实施。 为了新老客户共存,钱包开发者将独立升级钱包软件,增加隔离见证功能。 升级到segwit钱包后,使用P2WPKH和P2WSH支付方式,传统钱包使用P2PKH和P2SH支付方式。 以“3”开头的 P2SH 地址可以嵌入两种形式的见证脚本,P2WPKH 和 P2WSH。 P2PKH是以“1”开头的地址。

例如,假设有两个人:lixu 和 zhangsan。 Lixu 的钱包还没有升级到 segwit比特币谁开发的,但是 zhangsan 的钱包已经升级到可以处理 segwit 交易了。 lixu 和 zhangsan 都可以使用正常的地址交易,但 zhangsan 很可能会使用 segwit 来降低交易费用。 在这种情况下,zhangsan 的钱包需要构造一个包含 segwit 脚本的 P2SH 地址。 lixu 的钱包认为这是一个正常的 P2SH 地址,可以在不知道 segwit 的情况下进行支付。 然后张三的钱包可以通过隔离交易来支付这笔款项,充分利用隔离交易并降低交易费用。

因此,我们需要构建与普通地址兼容的隔离见证地址。

三、编程实践:生成隔离见证地址码

外国的比特币便宜中国的比特币贵为什么?_比特币分叉影响比特币总量_比特币谁开发的

输出

比特币分叉影响比特币总量_外国的比特币便宜中国的比特币贵为什么?_比特币谁开发的

验证

比特币谁开发的_比特币分叉影响比特币总量_外国的比特币便宜中国的比特币贵为什么?

外国的比特币便宜中国的比特币贵为什么?_比特币谁开发的_比特币分叉影响比特币总量

代码分析

这里只说明getSegWitAddress方法的实现。 其他代码分析请参考上一章“从生成助记词到扩展子地址”的内容。

外国的比特币便宜中国的比特币贵为什么?_比特币分叉影响比特币总量_比特币谁开发的

这是将p2wpkh地址嵌套在p2sh地址中,作为其redeem域。 同时需要注意的是,在两种地址类型中都需要指定网络类型。以上代码运行在比特币官方网络中,指定

常量 myNetwork = bitcoin.networks.bitcoin