课程目标
- 理解什么是隔离见证
- 交易地址类型
- 编程实践:生成隔离见证地址
大家可能会想,这个隔离见证对我们比特币钱包开发有什么影响呢?接下来你就知道了。
一、什么是隔离见证
隔离见证的英文叫做SegWit,是Segregated Witness的简称,隔离见证是对比特币提出的一种升级方案,用于解决比特币面临的一系列严重问题,由Pieter Wuille(比特币核心开发人员、Blockstream联合创始人)在2015年12月首次提出。主要由BIP-141定义。
我们可以这样来理解隔离见证:
见证:在比特币里指的是对交易合法性的验证,用于证明自己拥有某些交易的输出的见证数据。
隔离:就是把见证数据从交易信息里抽离出来,单独存放。
SegWit解决的问题
SegWit是由Bitcoin Core的拟议更新,Bitcoin Core是当前最受欢迎的比特币标准客户端,大多数企业使用。最初,该更新旨在解决交易的可扩展性,这也是比特币软件中众所周知的弱点。虽然这种攻击向量对用户来说并不是最具破坏性的,但目前为止已经在多个攻击案例中被利用,因此也就凸显了修补这一漏洞的必要性。
目前,比特币可扩展性问题主要源自区块容量不足,这里的问题就在于当前区块的硬编码限制为1兆字节,而这并不足以承担用户每分钟尝试发送的数百笔交易。因此,很多用户必须排队等候,直到他们的交易得到确认,这个等待的时间可能是几个小时,甚或是几天。随着网络规模的扩大,交易强度也随之增加,但区块容量限制则保持不变,这就意味着问题会不断恶化。