hot,以太坊钱包开发:钱包地址生成进程,红烧肉

频道:欧洲联赛 日期: 浏览:117

课程目标

  1. 了解什么是阻隔见证
  2. 买卖地址类型
  3. 编程实践:生成阻隔见证地址

咱们或许会想,这个阻隔见证对咱们比特hot,以太坊钱包开发:钱包地址生成进程,红烧肉币钱包开发有什么影响呢?接下来你就知关照妇道了。

一、什么是阻隔见证

阻隔见证的英文叫做SegWit,是Segregated Witness的简称,阻隔见证是比照sw140特币提出的一种晋级计划,我是你大哥叶英啊用于处理比特币面对的一系列严重问题,由Pieter 谷宜成Wuille(比特币中心开发人员、Blockstream联合创始人)在2015年12月初次提出。首要由BIP-141界说。

咱们能够这样来了解阻隔见证:

见证:在比特币里指的是对交警犬实习日记易合法性的验证,用于证明自己具有某些买卖的输出的见证数据。

阻隔:便是把见决战桂林全集在线观看证数据从交晁景升易信息里抽离出来,独自寄存。

SegWit处理的问题

Scaoorn参益散egWit是由Bhot,以太坊钱包开发:钱包地址生成进程,红烧肉itcohot,以太坊钱包开发:钱包地址生成进程,红烧肉in Core的拟议更新,Bitcoin Core是当时最受欢迎的比特币规范客户端,大多数企业运用。开端,该更新旨在处理买卖的可扩展性,这也是比特币软件中众所周知的缺点。尽管这种进犯向量对用户来说并不是最具破坏性的,但现在为止现已在多个进犯事例中被运用,因而也就凸显了修补这一缝隙的必要性。

现在,比特币可扩展性问题首要源自区块容量缺乏,这儿的问题就在于当时区块的硬编码约束为1兆字节,而这并缺乏以承当用户每分钟hot,以太坊钱包开发:钱包地址生成进程,红烧肉测验发送的数百笔买卖罗恩达尔。因而,许多用户有必要排队等候,直到他们的买卖得到承认,这个等候的时刻或许是几个小时,甚或是几天。跟着网络规划的扩展,买卖强度也随之增加,但区块容量约束则坚持不变,这就意味着问题会不断恶化。

SegWit的处理计划由两部分组成的:

  • 榜首,它能够立行将区块容量约束增加到4兆字节。这儿就有一点需求留意:4 MB是肯定最大值,而实践区块容量将取决于网络条件。SegWit激活后,专家猜测区块容量将在2到2.1兆的范围内。
  • 第二,处理买卖的可扩展性,将很多买卖移出区块链运用雷电网络(Lightnin王佑仁g Network)进行快速处理,估计将大大增加网络容量。

Segwit的长处

  • 增加块能够履行的业务数。
  • 下降买卖费用。
  • 削减每笔买卖的规划。
  • 现在能够更快地承认买卖,因为等候时刻将削减。
  • 有助于比特币的可扩展性。
  • 因为每个区块的买卖数量将增加,因而或许会增加矿工或许收取的总费用。
  • 消除买卖延展性。
  • 有助金刚之子于激活雷电协议。

二、买卖地址类型

地址是运用Base58c朴映宣heck格局化的20字节哈希值,去生成P2PKH或P2SH比特币地址。现在最常用的办法是用户交流付出信息。

一般的比特币买卖地YY影音址有两种类型:

  • P2PKH(Pay-to-Public-Key-Hash):付出给公钥哈希。是最常用的模板,它被中本聪界说,允活蛎肽许简略的付出给一个单一的公钥。
  • P2SH(Pay-to-Script-Hash):付出到脚本,这是多重签名买卖输出。在BIP16界说,它答应付款到恣意杂乱的脚本。

阻隔见证为比特币建立了两种新的买卖地址:

  • P2WPKH(Pay-to-Witness-Public-Key-Hash):付出到阻隔见证公钥哈希,相似P2PKH,在BIP141新界说兰菊花的。它嵌入在P2SH脚本中,所以它能够被不知道segwit的钱包运用。
  • P2WSH(Pay-to-Witness-Script-Hash):付出到多重签名阻隔见证脚本哈希,相似P2SH,是BIP141界说的另一个新的脚本格局。它能够嵌入到P2SH脚本和地址中,使得任何钱包都能够进行与segwhot,以太坊钱包开发:钱包地址生成进程,红烧肉it兼容的付出。

阻隔见证不会在整个网络中一起施行,为了新老客户能够共存,钱hot,以太坊钱包开发:钱包地址生成进程,红烧肉包开发人员将应独立晋级钱包软件以增加阻隔见证功用。都晋级为segwit的钱包后,运用P2WPKH和P2WSH付款类型,传统的钱包运用P2PKH和P圈十一2SH付款类型。两种方式的见证脚本P2WPKH和P2WSH都能够嵌入到P2SH地址中,是以“3”开端的地址。P2PKH是以“1”最初的地址。

举个比如,假设有村庄活两个人:lixu、zhangsan,lixu的钱包没有晋级到segwit,可是zhangsan的钱包现已晋级,能够处理segwit买卖。lixu和zhangsan都能够运用正常地址买卖,可是zhangsan很或许会运用segwit来下降买卖费用。在这种情况下,zhangsan的钱包就需求构建一个包括一个betrothsegwit脚本的P2SH地址。lixu的钱包以为这是一个正常的P2SH地址,并能够在没有任何segwit的常识的情况下付款。然后,zhangsan的钱包能够经过阻隔买卖来付出这笔金钱,充分运用阻隔买卖并下降买卖费用。

因而咱们需求构建segwit地址兼容一般地址。

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

代码

输出

7EBFC423-8E93-471E-B336-C2AF46969391

验证

4C5D6822-8F20-49A9-BFCC-9D3CCB933A42

C78D7E3D-CF91-4874-9C0E-5141956BAFA7

代码解析

这儿只解getSegWitAddress办法的完成,其它代码解析请查看上一章“从生成助记词到扩展子地址”的内容。

这是将p2wpkh地址嵌套在p2sh地址中,作为它的redeem字段。一起需求留意,在两种地址类型中都需求指定网络类型。上面的代码是在比特币正式网络中运转的,即指定了

const myNetwork = bitcoin.nethot,以太坊钱包开发:钱包地址生成进程,红烧肉works.bitcoin