首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

侧链、闪电网络、扩容问题简介

币学君给大家整理了《区块连,从数字货币到信用社会》第三章的知识重点,以及币学君对这一章内容的见解。

第一章 简单支付验证(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,备注“币友”,欢迎交流讨论。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181022A0WXSH00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券