宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 酷币 > 正文

技术解读|链上扩容技术引卷(一):数据层与网络层

作者:

时间:1900/1/1 0:00:00

链上扩容是针对区块链协议层的扩容,是对底层区块链进行改造,包括其数据层、网络层、共识层和激励层,使得区块链自身变得更快、容量变得更大,达到扩容的目的。本文将从共识层、网络层以及数据层出发介绍现有链上扩容技术。

数据层

有向无环图

DAG是一种数据结构。原本是计算机领域一种常用数据结构,因为独特的拓扑结构所带来的优异特性,经常被用于处理动态规划、导航中寻求最短路径、数据压缩等多种算法场景。

作为最新的分布式账本主力竞争技术,DAG可以用来解决传统区块链的效率问题。最早是在2013年的bitcointalk论坛中作为“Ghost协议”被提出,这一提议是为了解决当时比特币的扩容问题,Vitalik在以太坊紫皮书描述的PoS共识协议Casper,也是基于GHOSTPoW协议的PoS变种。后来,在NXT社区,又有人提出了DAGofblock,将DAG的拓扑结构用来存储区块并解决性能问题。

传统区块链只有一条单链,打包出块无法并发执行,而DAG的网状拓扑可以并发写入。通过将把同步记账提升为异步记账,DAG被认为可以解决传统区块链的高并发问题,是区块链从容量到速度的一次革新。

什么是有向无环图?

简单来讲,有向无环图就是多条支链跟随主链,这些链的大方向一致且不存在环路。

图:有向无环图数据结构

DAGvsBlockchain

资料来源:https://medium.com//img/20230515234500436750/2.jpg "/>

图:DAG相关项目,图片来源:https://www.daglabs.io

IOTA、?Byteball?以及?NANO?作为代表项目,分别提出了各自的创新点,例如IOTA提出的Tangle是基于DAG的分布式账本结构。这几个项目其实挺有意思,这里先挖个坑,后面有时间来填。

总结

总的来说,DAG凭借其速度快、吞吐量高的优势,有望在区块链数据层这一块被使用以寻求突破。但作为一个较新的数据结构,其安全性和一致性等问题还亟待解决,大规模的测试也还需要一定时间。我们关注到,越来越多基于DAG的创新项目和DApp正源源不断的涌现,DAG值得我们保持持续关注。

隔离见证or扩块

我们知道,BTC的出块时间约为10分钟=600秒,每个区块的大小为1MB,每笔交易的交易状态和见证数据的大小约为250B,这样算下来,BTC的每秒交易上限约为1,000,000/250/600≈7tps(txpersecond)。7tps意味着什么呢,与现有的银联、支付宝等交易系统动辄上百万的tps相比,实在相形见绌。我们再来看看这个简单的公式,BTC的吞吐量由三个因素决定:分子——区块大小,分母——一笔交易的大小和出块间隔时间。

吞吐量≈区块容量大小/(交易数据大小*出块间隔时间)

出块间隔时间

中本聪在比特币网络中,使用difficulty参数,每间隔2016个区块会动态调节一次新区块的产生速率,使得平均出块时间约等于10min不变。这么做是有原因的,出块间隔时间是由验证时间、传播时间和共识时间构成的,一味降低出块间隔,会使得分叉率上升,BTC选择的10min作为出块间隔时间其实是对于网络效率和网络安全性的一个折衷。看来缩短出块时间带来的提升有限且对于BTC而言暂时是行不通的。

声音 | 经济学家宋清辉:建议借助区块链等新兴技术解决中小企业的信用问题:经济学家宋清辉今日在《金融投资报》上刊文《中小企业走出困境的突破点在哪里》。文章称,建议政府各部门企业政务数据应尽快打通,并借助区块链等新兴技术实现中小企业信用的记录和传递,以解决中小企业的信用问题,使普惠金融成为一种可能。[2019/10/26]

单笔交易大小

比特币的交易信息主要包括两个部分,交易状态和见证数据。这两个部分的数据大小约是相同的,实际情况是,并不是所有的参与者都需要关心这两部分数据。也就是说,如果将见证数据从从单笔交易数据中抽离出来,即使在区块大小不变的情况下,也能提升打包区块中的交易数量,从而提升比特币的吞吐量,这一技术,称为隔离见证。

隔离见证,即?Segregated?Witness,由PieterWuille在2015年12月首次提出。见证在比特币里指的是对交易合法性的验证。隔离指的就是把见证数据从交易信息里抽离出来,单独存放。

大致上隔离见证的底层数据变化如下:

1)SegWit为区块中定义了一个新的数据结构,增加了一个属性“witness”;

2)将原区块数据中的见证数据部分,挪到witness数据结构中,

并且该结构数据是与交易数据独立分开提交到区块中的。

3)在witness结构中的数据只与验证交易有效性有关,与实际的交易详情数据无关。

4)在“隔离见证”版本中,增加了一种新的权重计量单位:WU。每个区块的大小最大允许4MWU。

处在原始1MB区域中的数据,每1字节大小等于4WU;处在witness数据结构中的数据,每1字节大小等于1WU。

5)虽然隔离见证并没有直接提升原始区块大小,但将见证数据抽离,签名等信息后移,实际上的区块容量大小已经到了1.8MB

在此之外,隔离见证更主要的目标是

解决比特币的交易延展性问题。

为闪电网络铺路。(Ref:?BTCLightningNetwork)

虽然隔离见证能够将比特币进行一次软扩容,但仅仅使用隔离见证,在单笔交易大小上做文章带来的性能提升是有限的,与理想的性能之间仍然存在着好几个数量级的差距。

区块容量大小

也就是扩块。区块大小调整的话题争论喋喋不休,甚至牵扯到信仰与底层哲学,导致BTC、BCH、BSV三足鼎立的局面,详尽的来龙去脉请自行谷歌#区块链扩容之争#,在这里不再赘述。

简单来将,所谓扩块,就是将比特币的区块容量大小的限制由1MB扩大到2MB、4MB甚至TB级别,以求达到扩容的目的。我们试着来总结一下扩块之争这核心矛盾:

主要矛盾来自于比特币开发者团队内部,对于比特币的底层哲学以及信仰的分歧,有点虚,但的确是根本原因。

扩大区块容量大小,需要修改比特币代码,带来的直接影响是硬分叉,也就是后来的BCH、BSV等分叉链的出现,当然硬分叉本身具有两面性,仁者见仁智者见智。

区块大小的增加,对于需要下载整个账本的全节点来说,其硬件及网络的投入成本及维护成本会越来越高,这会使得资源集中的大型矿场愈发获得优势,越来越多的节点会被淘汰,而节点的减少将不利于整个网络的安全性和去中心化。

声音 | Consensys执行董事:呼吁用区块链技术解决社会问题:10月24日,在联合国世界投资论坛区块链专题论坛中,以太坊软件公司ConsenSys执行董事Vanessa Grellet表示,目前全球面临有2000万左右难民,还有100万人没有身份等等社会问题,区块链或许不能解决所有难题,但这项技术将是解决这些问题的方法之一。目前,区块链技术主要被应用于4个社会领域:供应链透明;环境与气候变化,在链上记录碳足迹;身份登记;融资。去年以来,区块链还被用于人权保护、提升投票的透明度。区块链还非常适合用于慈善款项追踪。他还呼吁全场的区块链从业者,与联合国等国际机构合作,用区块链技术解决这些社会问题。[2018/10/24]

区块大小增加,对矿池而言需要更大的网络带宽和网络延时,对于拥有4/5大矿池但网络带宽不足的中国矿业来说,是难以接受的。往远了说,不公平竞争明显是违背区块链的愿景的。

我们再来看看比特币以及其两个分叉币:

BTC电子黄金,采用隔离见证+闪电网络的软扩容方向,区块大小仍保持1MB。

BCH电子现金,在2017年8月1日从BTC中分叉出BCH,将区块大小从1MB提升至8MB,并降低交易费用,号称自己才是中本聪“点对点电子现金系统”的真正体现。

BSV全球账本,2018年11月15日,BCH内部再次因为BCH的未来发展方向出现分歧,11月15日进行了硬分叉诞生了Nchain系BCHSV,区块大小为128MB。2019年7月24日,BitcoinSV进行了协议升级,区块上限调整为2GB。

我们再来看看这三条链的现状,如下图所示,BTC还是当之无愧的龙头老大,BCH和BSV的市值也分别成功挤进加密货币的前5位与前11位。

在线全节点数?BTC遥遥领先BCH和BSV,这从一方面代表了矿业及全网算力的支持度,也是硬分叉之后矿主用脚投票的结果。

从网络安全层面来看,BCH的算力维持在2.13EHash/s,约为BTC的1/40。BSV维持在903PHash/s,约为BTC的1/80。

链上交易次数?从图上看到的结果似乎差距没有那么大,但其实,另一项数据报告显示:BCH、BSV目前大部分是?OP_RETURN?操作码开头的数据记录输出,而非真正的交易。

如果某个交易输出,其锁定脚本以OP_RETURN操作码开头,这笔交易也被称为OP_RETURN交易,或NullData交易,会随交易一同被写到账本中,但不会被当成UTXO,不会带来UTXO集的膨胀,所以其金额通常为0。BCH和BSV对其数据大小的限制是220B。

BCH及BSV的交易手续费远远低于BTC,这得益于大区块所带来的以低手续费就能吸引矿工来打包区块的优势,以及BCH及BSV的设计策略。

声音 | 李国都:轻工产业链期望通过区块链技术解决传统供应链金融痛点:近日,“第五届未来金融科技”在北京举办,该活动由财视中国主办,中国轻工企业投资发展协会,中国轻工企业投资发展协会科技金融创新发展专业委员会特别支持。

中国轻工企业投资发展协会理事长李国都表示,李克强总理做政府工作报告时,多次提到要规范发展地方性中小金融机构,解决中小企业融资难、融资贵问题,为响应国家政策,轻工产业链金融服务平台期望通过在系统上导入区块链技术,解决传统供应链金融的痛点。[2018/9/26]

图:BTC、BCH和BSV的现状

BTC、BCH、BSV关于区块链扩容之争,简单来讲,主要就是区块大小之争,那我们来看看这三者的实际区块大小与其区块大小上限的现状:

我们简单地使用公式区块使用率=区块实际大小/区块大小上限来得出。

BTC的区块使用率维持在80%左右,几乎出于满负荷的状态,可以想象一旦交易需求增长,网络将会陷入拥堵状态。值得注意的是,图中所统计的值是隔离见证以及闪电网络上线后的情况。

BCH及BSV的区块使用率通常不足1%,尤其是在BSV扩块到2GB之后更是如此。值得注意的是,BCH和BSV与BTC的交易构成完全不同,如上文所提及的那样,BCH和BSV大部分交易是由OP_RETURN交易构成的,而OP_RETURN交易的数据大小上限仅为220B,这是与BTC做对比的一个非单一变量。

图:2019年BTC、BCH、BSV实际区块利用率现状

其实在理论上,从设计的角度来讲比特币的区块大小是有上限的,在《OnScalingDecentralizedBlockchains》这篇论文中提到:

Theblocksizeshouldnotexceed4MB,giventoday’s10min.Averageblockinterval(orareductioninblock-intervaltime).A4MBblocksizecorrespondstoamaximumthroughputofatmost27transactions/sec.

根据论文中一系列的论证过程,得出的结论是:在目前区块间隔10分钟的情况下,区块大小不应该超过4MB,相应的吞吐量至多为27笔交易/秒。

总结

以上,我们分析了BTC与BCH&BSV不同的扩容策略:BTC采取的是不改变区块大小1MB的情况下,通过隔离见证+闪电网络的“软”扩容方案,而BCH、BSV采取的是扩块以及增加操作码的“硬”扩容策略。同时我们还分析了三者目前的现状,以及实际的区块利用率。

个人认为,BTC目前的链上扩容方案能够增强吞吐量及降低交易费用,但其瓶颈也显而易见,很难适应未来的大批量交易的需求,而BCH尤其是BSV的大区块策略,虽然能够有效提升交易吞吐量和降低交易费用,但由此引发的趋中心化的问题以及带来的安全性问题仍然是个巨大挑战,尤其是BSV将区块大小由128MB扩大到2GB这一行为在以上两个问题没有得到解决之前显得有些盲目,完全没有必要。似乎话题又回到了区块链的“不可能三角”问题,如何在扩展性、安全性、及去中心化这三个问题中寻找微妙的平衡,既是哲学,也是信仰。

现场 | 甜甜圈Idonut创始人:用区块链技术解决餐饮行业乱象:金色财经现场报道,在8月16日的WMIC2018世界移动互联网大会上,甜甜圈Idonut创始人、CEO王进表示,虽然目前人们的生活已经通过互联网电商变得足够便利,但痛点显而易见,商家与用户之间缺乏紧密的联系,首先商家与用户之间的联系需要通过第三方中心化平台,缺乏价值交换的媒介;其次,商家刷好评、刷销量、加收服务费、黑心作坊、食品安全危机等问题频发。“甜甜圈”则是一个以餐饮为核心的非中心化超级区块链网络集群新型社区,通政经济新时代下,消费者、供应链社、商家社区共同创造价值,按贡献与重要程度分享社区品牌价值,避免中心利用垄断地位过度掠夺生产者利益,间接侵害消费者利益。[2018/8/16]

网络层

分片

分片概念源于数据库领域。分片指数据库中数据的水平分区,每个分片都保存在一个单独的数据库服务器实例上,以分散负载。区块链分片的基本思路是将区块链网络中的节点分成若干个相对独立的分片,单个分片处理规模较小的事务甚至只存储部分网络状态,多个分片并行处理事务,理论上整个网络的吞吐量将会提升。

在Near的官网上看到一篇博客,介绍了主流分片协议的思想,非常值得参考。下面我们从这篇文章的观点出发,介绍分片技术分类以及分片所面临的挑战,来构建我们对这个区块链未来方向的协议的认知。

分片面临的挑战:

网络安全性

网络安全性最直接的挑战就是作恶成本降低,网络分片中通过将网络中的节点按照既定规则分配到不同的分片以达到扩容的目的,这会带来一个问题:单个分片中的算力大小和验证人节点数将远小于原来的整个网络,这将使得攻击单个分片较攻击整个网络的成本大大降低

针对PoW共识网络发起51%攻击

针对非PoW共识网络发起女巫攻击

分片前后作恶成本对比如下:

图:攻击非分片网络与攻击分片网络分区对比,图片来源:nearprotocol.com

针对网络安全性的问题,现在的分片设计主要思路集中在采用何种共识算法、如何划分分片大小、随机节点分配等来降低单片分片被攻击的概率以及提升作恶成本。

数据有效性

数据有效性主要是关于如何识别不合法区块。

典型的一个场景如下图所示,作恶节点共谋在1号分片上产生一个不合法区块B,在区块B中打包了一笔不合法交易使得Alice获得了1个token,作恶者之后在B区块之上出了一个合法区块C,企图混淆不合法区块B,并在C中发起一笔跨分片交易,将这1个token转移给了Bob,至此,不合法交易的token停留在了正确的分片2以及合法的区块Y中。

图:跨分片交易数据有效性问题示例,来源:nearprotocol.com

解决以上问题的一个有可能的方案是采用无向图的结构来排列分片,其中每个分片都与其他几个分片连接,并且仅允许相邻的分片之间执行跨分片交易,非相邻分片之间进行跨分片交易需要通过多个分片进行路由,每个分片中的验证人都需要同时验证本分片以及相邻分片的所有交易。采用这一实现的是?Kadena的Chainweb。

图:采用无向图的分片结构

有意思的是,虽然强制验证人同时验证相邻分片可以解决单个分片被攻陷的潜在风险,但是如果多个分片被攻陷的共谋作恶仍然会出现上述问题。例如下图:分片2与1、3相邻,但分片1与3不相邻,其中分片1、2是由作恶节点控制的分片,3是可信任分片。如果分片1、2共谋作恶,在分片1上产生的不合法交易通过跨分片交易在分片2中被确认并打包,请注意,此时在分片2上被打包的区块Y是完全合法的可以通过分片3验证人验证的,但分片3无法验证分片1上发生的不合法交易。

图:利用无向图解决数据有效性的失败场景,来源:nearprotocol.com

目前看到的正确解决数据有效性的主要方向有两个:钓鱼人机制和计算加密证明

钓鱼人机制

钓鱼人方案的思路是在有跨分片传递区块头信息时设置质疑期,期间任何诚实节点都可以提供区块无效证明,只要在分片中至少有一个诚实验证人节点,这种方法就能保证系统的安全性,如下图所示:

图:Fisherman机制示意,资料来源:nearprotocol.com

在目前提出的协议中,这是主要的方法,但是这会存在两个主要的缺点:

质疑期需要足够长,这样才能保证诚实节点能够下载潜在的无效区块并进行验证和发起质疑,这会降低网络效率。

第二个问题是质疑的存在使得攻击者可以将其作为新的攻击媒介,攻击者通过无效质疑向网络发起大量垃圾信息从而拖延诚实节点进行有效质疑,使不合法的交易顺利通过质疑期。

无独有偶,钓鱼人的机制也同样在其他扩容方案中被采用,虽然钓鱼人的方案已经比直接确认无效区块的方案要更优化,但以上两个问题的解决目前还没有看到较好的答案,后续发展值得关注。

简洁的非交互式知识论证

第二种解决方案是通过使用某种加密结构证明某个计算是正确执行的,关于SNARK以及zk-SNARKs是什么,请自行Google。这里推荐Zcash的一篇介绍文章:Whatarezk-SNARKs?

zk-SNARKs的主要挑战来自:

性能,创建证明本身需要一定的时间,例如?Coda?协议中每笔交易需要大约30s来创建证明。

该技术本身还处在初期研究阶段,也未经过长时间的测试。

“Toxicwaste”/“有废物”。SNARK依赖于一个信任预设,在这个预设中一部分人执行一些计算并会守信地丢弃掉计算中间产物。反过来,一旦所有参与者共谋并保留计算中间产物,那么造假和就会发生。

系统设计引入了额外的复杂性。

具有图灵完备的智能合约语言的协议将无法使用SNARK来证明链的有效性。

数据可用性

数据可用性简单来讲就是指一个区块上记录的数据是否可用。

通常,操作特定区块链的节点分全节点和轻节点。那么,在分片的场景下,每一个分片中的验证者实际上是该分片的全节点,而系统中的其他参与者则充当轻节点。

图:全节点共谋破坏数据可用性场景示意,资料来源:nearprotocol.com

现在,如果大部分的全节点共谋,它们可以生成一个有效或无效的区块,并将哈希提供给轻节点,套取利益,之后全节点不再分发这个区块内容,即使下个区块的验证人是可信的,也无法阻止节点恶意删除历史数据导致区块不可用的问题。而这类问题,在全节点数量更小的分片场景下,作恶成本更加低廉。

解决这一问题的辅助方法主要有监护证明和纠删码

图:监护证明示意图,资料来源:nearprotocol.com

监护证明的主要思路是让公证人比验证人更频繁地在分片之间轮换。公正人唯一需要做的事情是证明区块能够被下载即数据是可用的。因为公证人不需要下载完整的区块数据,所以可以更快、更频繁地在不同分片之间进行轮换和验证。

图:纠删码示意图,资料来源:nearprotocol.com

另一种思路是使用纠删码的结构,使得即使在区块的部分不可用的情况下仍然可以完整恢复整个区块。Polkadot和EthereumSerenity也在围绕纠删码进行设计,以保障其轻节点能够确认区块数据是可用的。

总结

本文中我们简单介绍了区块链扩容中链上扩容技术的一部分,包括数据层和网络层的主流思路和技术,在后文中,我们会主要从共识层展开来继续分析链上扩容,并对上卷的内容作一定补充,包括零知识证明等。

参考文献

TheauthoritativeguidetoBlockchainSharding,part1-NEARProtocol

UnsolvedProblemsinBlockchainSharding-NEARProtocol

深度介绍区块链链上扩容解决方案之分片Sharding

白话DAG:第3代区块链技术DAG全面盘点

下一代区块链DAG技术研究室

报告|比特币扩容之争始末

标签:区块链BTCBCHBSV什么叫做区块链技术的概念btc兑换人民币汇率最高多少EBCH币BSV币

酷币热门资讯
Vitalik Buterin:可信任的中立机制是一个系统的核心

本文为VitalikButerin2020年1月3日在NAKAMMOTO发布,翻译由头等仓提供,为便于读者阅读,翻译有所删减。前言:在本文中,Vitalik强调了可信中立性的重要性,并且总计了可信中立机制的几个特性.

1900/1/1 0:00:00
比原链发布MOV 稳定金融体系白皮书,可真正意义上实现多资产抵押

1月15日,比原链正式发布《MOV稳定金融体系白皮书1.0》。文中提出一种基于MOV跨链生态的稳定币金融体系,从基本经济学原理和MOV基础设施建设角度出发,制定多元化抵押品框架,建设完备的稳定机制和清算体系,引入风险债券概念,基于传统.

1900/1/1 0:00:00
观点 | 区块链技术能消除你对ETC消费的不信任与恐惧吗?

来源:未央网,原题《利用区块链技术改进ETC可信消费环境》 作者:乌士儿 2019年6月份,交通运输部印发了《加快推进高速公路电子不停车快捷收费应用服务实施方案》,提出到今年年底之前.

1900/1/1 0:00:00
科普 | 探索以太坊 2.0 的验证者成本

撰文:JimMcDonald 翻译:Jhonny 来源:Unitimes 当以太坊2.0信标链在今年晚些时候启动时,它将需要验证者(validators)来保护网络.

1900/1/1 0:00:00
观点 | 央行数字货币与其它数字货币,两者暂时或无太大影响

编译:Peter 来源:白话区块链 在发行自己的数字货币这个问题上,央行们总是雷声大雨点小。全球的央行都在考虑发行自己的数字货币,以跟加密货币比如比特币进行竞争,却久久不能付诸行动.

1900/1/1 0:00:00
人民日报刊文:数字货币,你了解多少

来源:人民日报?原题:《数字货币,你了解多少》 作者:葛孟超 中国人民银行近日发布公告称,未发行法定数字货币,也未授权任何资产交易平台进行交易.

1900/1/1 0:00:00