币学君给大家整理了《区块连,从数字货币到信用社会》第三章的知识重点,以及币学君对这一章内容的见解。
第一章 简单支付验证(SPV)简介
1. 简单支付验证概念
简单支付验证,是一种无须维护完整的区块链信息,只需要保存所有的区块头部信息,即可进行支付验证的技术。
2. SPV与轻钱包的区别
轻钱包指的是节点本地只保存与其自身相关的交易数据(尤其是可支配交易数据),但并不保存完整区块链信息的技术。
SPV的目标是验证某个支付是否真实存在,并得到多少个确认。如,A声称汇了一定数额的钱到B的账户,如何快速验证该支付的真实性, 是SPV的工作目标。
SPV与轻钱包最大的区别是,轻钱包节点仍需下载每个新区块的全部数据并进行解析,获取并本地存储与自身相关的交易数据,只是无须在本地保存全部数据而已。而SPV节点不需要下载新区块的全部数据,只需要保存区块头部信息即可。
3. 区块链支付验证与区块链交易验证的区别
SPV指的是区块链交易支付验证,而不是区块链交易验证。
区块链交易验证的过程比较复杂,包括账户余额验证、双重支付判断等,通常由保存区块链完整信息的区块链验证节点来完成。
而支付验证的过程就比较简单了,只是判断该笔支付交易是否已经得到了区块链节点共识验证,并得到了多少的确认数即可。
4. SPV的数据结构
在区块链中,区块信息主要包括区块大小、区块头、交易数量和交易信息四个部分。
区块头中一般包括如下信息:前一区块的哈希值、区块中交易默克尔数的根哈希值、时间戳等。
以比特币为例,区块头的大小始终只有80字节,按照每小时6个的区块生成速度,每年产出52560个区块。当只保存区块头时,每年新增存储需求约为4兆字节(即4MB),100年后也仅有400兆字节,即使最低端的设备也能够负载。
5. SPV的功能扩展
以太坊对SPV的功能进行了扩展:每一个区块头,并非只包含一颗默克尔树,分别对应了三种对象——默克尔交易树、默克尔收据树、默克尔状态树。
默克尔交易树:保存交易信息,用于验证交易是否真实包含于区块链中。
默克尔收据树:保存某个地址的历史事件实例,比如一个交易是否成功执行、一个众筹合约是否完成了目标等。
默克尔状态树:保存了账户名称、账户余额等信息。
6. SPV面临的问题
SPV节点与区块链系统去中心化程度似乎存在一定的矛盾:随着SPV节点数量的增多,区块链参与完整验证的节点数量就会减少。
交易可锻性攻击:攻击者利用交易签名算法的特征修改原交易中的input签名,生成拥有一样input和output的新交易,然后广播到网络中形成双重支付。
第二章 侧链简介
1. 侧链的概念
侧链(sidechain)实质上不是特指某个区块链,而是指遵守侧链协议的所有区块链,该词是相对于比特币主链来说的。
侧链协议是指可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的一种协议。
只需符合侧链协议,所有现存的区块链,如以太坊、莱特币等都可以成为侧链。
侧链协议具有重大意义,侧链协议意味着比特币不仅可以在比特币区块链上流通,还可以在其他区块链上流通。
2. 侧链协议的目的
侧链协议的目的是实现双向锚定,使比特币可以在主链和侧链中互转。
双向锚定分为以下4个阶段:
发送锁定交易,把比特币锁定在主链上;
等待确认期;
在侧链上赎回比特币;
等待一个竞争期。
第三章 闪电网络简介
闪电网络(The Lightning Network)是一个去中心化的系统。闪电网络的卓越之处在于,无须信任对方以及第三方即可实现实时的、海量的交易。
闪电网络能够让比特币超越传统及中心化支付的梦想成为现实,闪电网络最受关注的原因是因为其首次实现了小额的数字支付。闪电网络自2018年初正式在比特币主网运行,在第二季度开始大幅增长。
闪电网络的优点:
交易速度:闪电网络交易几乎都是即时完成的。
交易费用:由于交易实际上将在闪电网络通道内和区块链之外进行,因此你只需支付些许费用。
可扩展性:闪电网络能够将比特币及其他加密货币的交易速度提升到每秒至少100万笔交易。
跨链原子交换:只要两条区块链共享相同的加密哈希函数,用户将能够将资金从一条链转发到另一条链,而无需信任第三方中介,例如交易所。
安全性和匿名性:使用闪电网络,大部分交易都发生在主区块链之外,因此通过闪电网络通道进行的所有微支付几乎都无法被追踪。
闪电网络面临的问题:
中转站的中心化风险;
点对点的路径交易;
路径交易造成更多的链上交易;
路径交易时,发送者和接收者需要同时在线。
第四章 扩容问题
闪电网络起源于比特币的扩容问题,比特币的扩容难题由来已久。对比特币网络的理解,有两个划分:清算系统和现金系统。
清算系统:
随着比特币的繁荣,交易数量会越来越大,有限的块容量会使低价值的交易(例如发送1分钱)永远无法进块,因为低价值的交易不可能支付高网络手续费。进而,网络退化为清算系统,低价值含量交易被赶出,这些交易由第三方记账系统进行代替完成。
现金系统:
现金系统意味着所有交易均应该进入区块,那么当块容量不够用时,则应该及时调整块体积限制,对系统进行扩容。
区块限制值上调是无法真正解决比特币扩容问题的。若提高区块体积限制至30MB,最大的问题不是CPU计算能力瓶颈,而是块的传播与存储。
30MB的块可能会导致全网孤块率和空块率大幅上升,一年产出1.5TB的区块链数据也超出大部分节点机器的硬盘容量。基于这1.5TB的数据,区块链浏览器、钱包服务商等则可能膨胀10倍达到15TB。会极大削弱节点数量,提高开发接入门槛。
作者:币学Bixue,微信个人号:skyleimo,备注“币友”,欢迎交流讨论。
领取专属 10元无门槛券
私享最新 技术干货