财神彩票 > 互联网资讯 > 技术详解DAG区块链项目SPECTRE

原标题:技术详解DAG区块链项目SPECTRE

浏览次数:166 时间:2020-04-07

此前发布了DAG区块链项目SPECTRE的区块链初创企业DAG Labs在2月份正式公布了其最新扩容协议PHANTOM的技术细节,透露其将兼容智能合约,并实现了在链上区块的线性排列。据雷锋网AI金融评论了解,在由伯克利区块链主办的特币技术交流大会上,DAG Labs的首席科学家、GHOST协议的共同作者Yonatan Sompolinsky为在场听众详细介绍了DAG应用区块链网络遇到的具体技术挑战,并讲解了SPRECTRE项目针对区块链交易的扩展性、安全性的解决方案和基础参数调整。

首先需要明白,区块链是新生的事物。如果你有一个系统,要改善扩展区块链的性能,在SPECTRE项目上应用DAG(Directed Acyclic Graph,有向无环图)能很好地实现这一点。

首先需要明白,区块链是新生的事物。如果你有一个系统,要改善扩展区块链的性能,在SPECTRE项目上应用DAG(Directed Acyclic Graph,有向无环图)能很好地实现这一点。

图片 1

图片 2

image

如图片所示,首先引出两个问题。首先,目前区块链中的交易是怎么样的?大家可以想象在银行排队办理业务的情景,用户们一个接着一个按序列排好等待,只有当上一个用户完成交易后下一个用户才能开始行动,通过这样的方式来保证整个区块链的一致性和贯彻性。当有过多需要办理业务的用户挤进银行后,交易堵塞的情况就会变得越来越严重。

如图片所示,首先引出两个问题。首先,目前区块链中的交易是怎么样的?大家可以想象在银行排队办理业务的情景,用户们一个接着一个按序列排好等待,只有当上一个用户完成交易后下一个用户才能开始行动,通过这样的方式来保证整个区块链的一致性和贯彻性。当有过多需要办理业务的用户挤进银行后,交易堵塞的情况就会变得越来越严重。

图片 3

出于加快交易处理速率的考虑,节省用户在等待交易时耗费的时间,DAG的设计能实现这样性能的优化。对于这批涌进银行等待交易的用户,无论他们手持现金还是办理银行卡业务,DAG网络不再进行分类,使他们分成一行行排队等待,而是加速去为他们办理业务。如果发生交易冲突,DAG网络会先记录在案,在处理完所有用户的交易后再对出现的冲突进行处置,从整体上加快整批用户的交易速率。DAG网络通过这样的安排来取代传统排序方式的区块链,由此推广为DAG应用区块链的日常。

出于加快交易处理速率的考虑,节省用户在等待交易时耗费的时间,DAG的设计能实现这样性能的优化。对于这批涌进银行等待交易的用户,无论他们手持现金还是办理银行卡业务,DAG网络不再进行分类,使他们分成一行行排队等待,而是加速去为他们办理业务。如果发生交易冲突,DAG网络会先记录在案,在处理完所有用户的交易后再对出现的冲突进行处置,从整体上加快整批用户的交易速率。DAG网络通过这样的安排来取代传统排序方式的区块链,由此推广为DAG应用区块链的日常。

通常从技术层面来说,在一个分布式的系统里,开发人员都遵循着“CAP”定理来进行开发和维护,它们分别是上述提到的一致性、可用性和隔离性。在以往的区块链中,首先需要注意的因素即为一致性,分布式账本需要一致,上链后的交易信息要保持一致,创建以区块,它里面包含的信息必须要和以往的历史信息保持一致,整个系统都要设计为尽力维持这个特性。这就是为什么会出现之前图中看到的,在银行排队等待信息同步的情况。DAG区块链网络则更为注重可用性,保证每个用户都能在这个网络上面完成交易。

图片 4

DAG应用区块链的技术挑战:区块混乱生成导致交易冲突

通常从技术层面来说,在一个分布式的系统里,开发人员都遵循着“CAP”定理来进行开发和维护,它们分别是上述提到的一致性、可用性和隔离性。在以往的区块链中,首先需要注意的因素即为一致性,分布式账本需要一致,上链后的交易信息要保持一致,创建以区块,它里面包含的信息必须要和以往的历史信息保持一致,整个系统都要设计为尽力维持这个特性。这就是为什么会出现之前图中看到的,在银行排队等待信息同步的情况。DAG区块链网络则更为注重可用性,保证每个用户都能在这个网络上面完成交易。

在现在,比特币的交易速度约为3-7笔每秒,那么什么时候才能到达每秒过千笔的交易速度呢?要实现这样的交易性能,需要对现有的区块链系统做出什么改造?我们需要先对区块链的技术局限有所了解。首先,让我们来看看在一个包含十个区块的区块链系统简化图,每秒的交易流程是什么样的。如图所示,在每个区块里储存的信息都会被导向下一个生成的连接着的区块,每个分支都导向最初的创世区块,使得信息可追溯,从而形成一条条“树杈”。

DAG应用区块链的技术挑战:区块混乱生成导致交易冲突

图片 5

图片 6

image

在现在,比特币的交易速度约为3-7笔每秒,那么什么时候才能到达每秒过千笔的交易速度呢?要实现这样的交易性能,需要对现有的区块链系统做出什么改造?我们需要先对区块链的技术局限有所了解。首先,让我们来看看在一个包含十个区块的区块链系统简化图,每秒的交易流程是什么样的。如图所示,在每个区块里储存的信息都会被导向下一个生成的连接着的区块,每个分支都导向最初的创世区块,使得信息可追溯,从而形成一条条“树杈”。

而在DAG应用区块链的网络中,每一个区块都有相邻的区块可参照,关注其中一个区块,可以发现其能与其他区块相连打通,体现了高度的可用性,但与此同时,区块之间打通之后,挖矿行为将由于发生频繁有可能导致更多的硬分叉,一致性将遭到挑战。同时更为严重的是:区块不再遵循序列来排列之后,在各区块里的交易冲突事件将会大幅提升,比如双花问题(double spending)。

图片 7

特别地,针对这些问题,在DAG网络中的挖矿协议里形成了两条共识原则:规则1,每个新增的区块的诞生,都必须以过往的全部区块作为参照;规则2,所有区块生成的交易信息都必须在第一时间公布。

而在DAG应用区块链的网络中,每一个区块都有相邻的区块可参照,关注其中一个区块,可以发现其能与其他区块相连打通,体现了高度的可用性,但与此同时,区块之间打通之后,挖矿行为将由于发生频繁有可能导致更多的硬分叉,一致性将遭到挑战。同时更为严重的是:区块不再遵循序列来排列之后,在各区块里的交易冲突事件将会大幅提升,比如双花问题。

这样一套DAG结合区块链的系统,暴露出来的最大缺点在哪?交易的监管是一个大问题。如图所示,比如用户在某一个区块里发生交易之后,有矿工想进行挖矿时,其交易信息很快就会被公布到整个区块链,许多矿工都会很快求得挖矿结果,冲突累积得非常之快。所以最主要的挑战在于,在这样的DAG网络曲线图里,通过参考之前的区块生成区块之后,如何保证新生成的区块包含信息的一致性,及随之而来在交易中产生的大量冲突?

特别地,针对这些问题,在DAG网络中的挖矿协议里形成了两条共识原则:规则1,每个新增的区块的诞生,都必须以过往的全部区块作为参照;规则2,所有区块生成的交易信息都必须在第一时间公布。

图片 8

这样一套DAG结合区块链的系统,暴露出来的最大缺点在哪?交易的监管是一个大问题。如图所示,比如用户在某一个区块里发生交易之后,有矿工想进行挖矿时,其交易信息很快就会被公布到整个区块链,许多矿工都会很快求得挖矿结果,冲突累积得非常之快。所以最主要的挑战在于,在这样的DAG网络曲线图里,通过参考之前的区块生成区块之后,如何保证新生成的区块包含信息的一致性,及随之而来在交易中产生的大量冲突?

image

图片 9

如何分辨抓住针对这个区块链网络发起的攻击也是一个难题,比如前面提到的双花问题。当交易发生后,两个矿工同时挖出结果的几率很大,谁获得交易费用的奖励?还有,如何计算不同矿工的工作量证明?另外存储问题也突出的非常严重,如果实现了每秒过千笔交易,产生的交易信息数据量将会巨大。还有许多其他随之而产生的问题,但其中最为重要需要解决的首要问题还是一致性。

如何分辨抓住针对这个区块链网络发起的攻击也是一个难题,比如前面提到的双花问题。当交易发生后,两个矿工同时挖出结果的几率很大,谁获得交易费用的奖励?还有,如何计算不同矿工的工作量证明?另外存储问题也突出的非常严重,如果实现了每秒过千笔交易,产生的交易信息数据量将会巨大。还有许多其他随之而产生的问题,但其中最为重要需要解决的首要问题还是一致性。

如何针对这些问题研发解决方案?根据前面描述的DAG结合区块链网络应用的困境,证明了其只是一个应用模型,它本身是一个数据结构框架,而非现成的解决方案,具体DAG应用区块链网络的案例有好有坏。那么该如何制作一个性能优异的DAG应用区块链网络的协议?首先在一个复杂的区块链环境中,区块呈链条、分支状结构排列,很难找到隐藏其中属于攻击者的区块,但它会干扰生成正确的区块,并会拖慢整个区块链环境的速度。所以一个好的DAG应用区块链的协议,首先需要做到易于分辨找到这些攻击区块。

如何针对这些问题研发解决方案?根据前面描述的DAG结合区块链网络应用的困境,证明了其只是一个应用模型,它本身是一个数据结构框架,而非现成的解决方案,具体DAG应用区块链网络的案例有好有坏。那么该如何制作一个性能优异的DAG应用区块链网络的协议?首先在一个复杂的区块链环境中,区块呈链条、分支状结构排列,很难找到隐藏其中属于攻击者的区块,但它会干扰生成正确的区块,并会拖慢整个区块链环境的速度。所以一个好的DAG应用区块链的协议,首先需要做到易于分辨找到这些攻击区块。

建立一个DAG应用区块链的协议,第一原则是命令每个区块按照给定次序排列,以此来得到一致性。如前面显示的这些区块,只有给出排列次序后,用户才会明白哪个是创世区块,哪个接在上个区块之后,哪个区块的交易是优先处理,才能实现追溯和保持数据的一致性。

建立一个DAG应用区块链的协议,第一原则是命令每个区块按照给定次序排列,以此来得到一致性。如前面显示的这些区块,只有给出排列次序后,用户才会明白哪个是创世区块,哪个接在上个区块之后,哪个区块的交易是优先处理,才能实现追溯和保持数据的一致性。

由此我们从DAG应用区块链的模型进入到具体的解决方案案例分析。在SPECTRE协议背后,有一个信息投票机制的考量设计。试想象一下,在一条区块链上为许多杰出运动员投票,选出最佳,这就意味着用户需要选出一个优胜者,舍弃其他所有剩下的。这就像是在一个社区里面,投票的人互相告知自己最喜爱的运动员是哪个,要为哪位运动员投票。我们称之为“单一赢家投票模式系统”(single winner vote system)。

图片 10

但在这套系统里面,只是凭借最为多数的投票量选出唯一一个优胜者,而无法对所有候选的运动员做出排名。在一个多胜者投票系统(multi-winner voting system)里,用户可以对所有候选运动员进行投票,分出名次。由此系统可以整合用户对所有投票对象的偏好信息,扩展补充了这些信息量。

由此我们从DAG应用区块链的模型进入到具体的解决方案案例分析。在SPECTRE协议背后,有一个信息投票机制的考量设计。试想象一下,在一条区块链上为许多杰出运动员投票,选出最佳,这就意味着用户需要选出一个优胜者,舍弃其他所有剩下的。这就像是在一个社区里面,投票的人互相告知自己最喜爱的运动员是哪个,要为哪位运动员投票。我们称之为“单一赢家投票模式系统”(single winner vote system)。

回到甄别攻击区块的问题上,如图中所示,我们可以将区块与区块之间看成是彼此竞争的存在,但针对红色的这条独立于主链的链条,区块之间共享所有的信息后也无法得知这条独立链条的存在,所以这条隐藏的孤链有小概率的可能在生成区块的过程中变成较长的一条,从而夺得对整个区块链网络的控制。

但在这套系统里面,只是凭借最为多数的投票量选出唯一一个优胜者,而无法对所有候选的运动员做出排名。在一个多胜者投票系统(multi-winner voting system)里,用户可以对所有候选运动员进行投票,分出名次。由此系统可以整合用户对所有投票对象的偏好信息,扩展补充了这些信息量。

SPECTRE投票机制辨别攻击

本文由财神彩票发布于互联网资讯,转载请注明出处:技术详解DAG区块链项目SPECTRE

关键词:

上一篇:财神彩票以太坊联合创始人:区块链将改变生活

下一篇:着名经济学家称区块链是历史上被炒作最过度技