区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > PEPE币 > 正文

区块链:技术解读|链上扩容技术引卷(一):数据层与网络层_人工智能

作者:

时间:

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

数据层

有向无环图

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

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

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

什么是有向无环图?

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

图:有向无环图数据结构

DAGvsBlockchain

资料来源:https://medium.com/@kotsbtechcdac/dag-will-overcome-blockchain-problems-dag-vs-blockchain-9ca302651122?

区块链的组成单元是block,DAG的组成单元是tx。

区块链是单线程的,DAG是多线程的。

区块链所有交易记录记在一个个区块中,DAG每笔交易单独记录在每笔交易中。

区块链上最新的区块只需要加入到最长的一条链上,DAG中的新增交易需要加入到之前的所有“链”上。

区块链需要矿工,DAG不需要矿工。

优点:

提高交易速度:DAG可以多线程交易,而区块链只能单线程交易,而且DAG中交易者越多速度越快。

节省成本:DAG把交易确认的环境直接下放给交易本身,因此不需要手续费,这一点将有助于提升交易量。

新加坡区块链验证技术解决方案Accredify完成700万美元A轮融资:金色财经报道,总部位于新加坡的区块链验证技术解决方案Accredify宣布完成700万美元A轮融资,iGlobe Partners和SIG Venture Capital共同领投,此前曾投资过该公司的Pavilion Capital和Qualgro参投。Accredify利用区块链技术的底层使用可确保共享或接收的文件的真实性,防止欺诈和伪造,比如验证假学位和假证书等,该公司还可以帮助企业在区块链(目前主要在以太坊)上创建客户身份、以及钱包或文件存储,确保业务资料可验证。[2023/4/20 14:16:41]

节约资源:DAG中没有矿工角色,所以不需要消耗社会资源。

缺点:

交易时间难确定:DAG是一种异步通讯模式,异步通讯所带来最大的问题在于一致性不可控,因此确认时间会更长。

双花问题难解决:DAG是多链结构,因此很容易出现双花问题,并且这个问题目前还没有很好地解决方案。

交易冗余:很容易出现多条链处理同一交易的情况、从而造成系统压力指数增长。

DAG?

项目:

图: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而言暂时是行不通的。

观点:游戏行业可结合区块链技术解决游戏账号“保值难”等难题:对于游戏账号交易中“保值难、乱象多”的问题,游戏行业从业者陈达认为,游戏账号等虚拟物品交易可结合区块链技术,打通游戏与游戏之间割裂的状态,建立更有效率的资产交易平台,区块链技术引入虚拟资产交易其实已经在国内外有很多成功的尝试,因为交易记录不可变更,使得交易有了安全性的保障。既然玩家存在此类型的需求,我们也应该多从创新的角度去改善大家的体验。(北京商报)[2020/3/10]

单笔交易大小

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

隔离见证,即?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级别,以求达到扩容的目的。我们试着来总结一下扩块之争这核心矛盾:

声音 | 中国科学院院士张景中:人工智能可通过区块链等技术解决信息安全问题:据中国新闻网消息,以“‘智’汇渝州,‘数’造未来”为主题的大数据智能化学术论坛10日在重庆召开。中国科学院院士、中国科学院大学重庆学院人工智能学院院长张景中表示,人工智能的出口模型和算法需要海量的数据支持,在大数据、人工智能、物联网高度高速发展时,数据的获取虽然更加便捷高效,但也面临风险和困难,如缺乏法律保护、数据融合共享不够、数据爆发式增长带来信息安全问题等。他还出,人工智能要实现更大发展,需构建严格的法律保护体系,打破政府、企业、机构之间的信息“孤岛”,并通过区块链、加密技术、人工智能算法等解决信息安全问题,创造新的增长点。[2019/11/11]

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

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

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

区块大小增加,对矿池而言需要更大的网络带宽和网络延时,对于拥有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?操作码开头的数据记录输出,而非真正的交易。

声音 | 吴鹏:可用区块链技术解决图片授权信息问题:据澎湃新闻消息,4月26日,国家版权局举办2019中国网络版权保护与发展大会。财经媒体版权保护联盟副秘书长、原本区块链CEO吴鹏在会上表示:“对于图片来说,如果我们用这样一个机制设计它,图片就包含识别信息,我们可以看到身份、可信时间以及内容指纹。同时上面会有版权信息、授权证明以及信用评价。在互联网上无论这张图片传播到哪里,都可以通过区块链技术找到它所有的相关信息。”[2019/4/28]

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

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

图: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.

动态 | 外汇经纪商技术解决方案提供商推出MetaTrader 5交易处理器:外汇经纪商技术解决方案提供商Tools For Brokers近日推出MetaTrader 5交易处理器,该处理器允许加密货币和外汇交易在一个安全和多块化的系统中运行,并将无风险的资金流动性与做市商订单池相融合。[2018/7/17]

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

总结

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

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

网络层

分片

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

在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技术研究室

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

标签:区块链人工智能BlockchainCOIN区块链卡链是什么意思人工智能就业真实情况blockchain公司介绍币赢网coinw下载

PEPE币热门资讯
比特币:币圈大佬收缩战线、传统风投机构热度骤降,区块链一级市场下半场怎么玩?_UND

文:互链脉搏·梁山花荣 过去一年里,一级市场对于区块链的投资热度骤减。2018年,李笑来、徐小平、薛蛮子、杜均等币圈大佬曾一度是区块链投融资市场的主角,IDG、经纬中国、红杉资本、启赋资本等传统.

COIN:IMF敦促菲律宾央行收集加密交易所交易数据,并利用数据进行宏观经济分析_RBTC币

据Cointelegraph1月2日报道,国际货币基金组织敦促菲律宾央行探索收集加密资产跨境流动数据的可能性.

BLOC:华尔街大鳄丢币,加密世界“丢份”_量子比特币协议

文|郑毅编辑|毕彤彤出品|PANews本想看着持币看着比特币一点点崩盘,没想到自己却先下了“船”。1月19日,华尔街大鳄彼得·希夫声称自己比特币全部丢失,钱包无法访问.

LIB:港交所首席中国经济学家巴曙松:Libra会使一些经济体越来越依赖财政政策_数字货币

新京报记者侯润芳 来源:新京报 编者注:原标题为《巴曙松:Libra会使一些经济体越来越依赖财政政策》 新京报讯在过去的2019年,数字货币无疑是金融领域的一大热点.

加密货币:「仗打不起来」,伊朗矿工躲开了战争却逃不过「告密」_区块链适合什么人做

作者:0x66 来源:区块律动BlockBeats不打仗了。当地时间1月8日上午,美国总统特朗普在一场几经延迟的全国讲话中,对美伊两国关系,给出了「准备好拥抱和平」、「不会再作出直接的军事回应」.

ETF:深度:加密货币ETF,未来到底有多远?_稳定币

WisdomTree是一家旗下拥有638亿美元资产的大型资产管理公司,有消息称该公司计划发行一款受监管的稳定币——正在等待美国证券交易委员会的批准。该公司可能会因为这项举措取得巨大进步.