为了提高公链的交易性能,可以通过改变共识机制,如EOS的DPoS;也可以改变网络结构,如IOTA采用的DAG网状数据结构;也可以采用子链、跨链中间件等链外方式解决;当然也可以通过分片。Odaily星球日报采访到的DEXON公链,通过多链之间交叉引用形成Blocklattice结构,实现扩容和低延迟目的。Blocklattice实际上是DAG的一种。它的“区块网”结构不同于链状结构。对于链式网络而言,它无法并行计算,浪费的时间主要为等待时间:其一是发起交易时,需要将交易同步所有节点,其二是当任何一个节点确认时,需要向全网同步,因此导致节点的处理能力不强。而DEXON共识则保证blocklattice不存在这样的问题。因为钱包发起交易时不需要等待自己之前有多少交易,只需要经历局部校验、全网广播、其他局部校验,相当于把交易确认分散化,每一个节点都在做类似于拼图的工作,把自己确认的和别人确认的交易拼接起来。
因此,局部处理和并行结算使得DEXON具有交易速度快的优势。当然DAG本质上是一种异步通讯,异步通讯最大的问题在于一致性不可控,即交易确认时间完全未知。几乎所有基于DAG数据网络结构的项目都在试图突破这一问题。DEXON则用采用全局有序算法(TotalOrderingAlgorithm)和时间戳算法(TimestampAlgorithm)。在这种算法中,所有区块都在不断交叉引用每个区块的有效性和时间戳,再利用默克尔树(MerkleTree)技术将其进一步压缩,使每个节点可以维护全局排序数据的结果副本,生成全局有序链。这里,全序是指,集合中的任两个元素之间都可以比较先后顺序的关系。比如实数中的任两个数都可以比较大小,那么“大小”就是实数集的一个全序关系。偏序是指,集合中只有部分元素之间可以比较的关系。比如复数集中并不是所有的数都可以比较大小,那么“大小”就是复数集的一个偏序关系。在DEXON全局有序链中,全局排序算法和时间戳算法是所有有效区块集的全序关系,它们可以保证所有区块的顺序关系和最终确认时间。网络传输数据大幅增加也是所有DAG类型的网络需要解决的问题。在此,DEXON使用分片技术,当节点达到其最大吞吐量时,可以扩展到无限数量的分片以平衡事务处理负载。网络层面实现了无限扩展性之后,执行层面同样需要具备无限可扩展的事务处理能力来匹配。因此,DEXON采用Actor模型。Actor本质上是一种多线程模型,一般来说一个线程只能做一件事,也就是执行一段代码,当同时有多个相同或者类似请求时,为了提高效率,就需要开多个线程来做同样的事情,而当多个线程访问同一个数据时,则需要排队等候,等待限制了多线程的效率。Actor模型则在排队等候公共资源之外,提供了另外一种方式。即把要访问的资源拆分为多份,每份都发给独立的Actor来处理,Actor处理完成之后再发消息返回处理结果。每个Actor都是一个线程,而不同Actor之间通过发送消息通信。这样可以避免排队等候。而DEXON的智能合约执行在Actor内,因此可以在不使网络拥塞的情况下,使参与者间有效地进行通讯,实现智能合约执行层的无限可扩展。显然,DEXON在DAG基础上做出的突破和想要实现无限可扩展性、低延迟的想法是值得期待的,但在当前所有的扩容方案中,任何一种方案都只是尝试和探索,最终哪一种会被市场认同和采用,仍需时间来鉴证。目前DEXON技术团队规模已有30多人,共同创始人PopoChen是一位连续创业者、另一位共同创始人黄伟宁则来自Google,其他核心团队则大多是技术背景,均来自雅虎、谷歌等科技公司。目前该项目已经获得由IDGCapital领投的2000万美元新一轮融资。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。