比特币扩容无解?Nerthus团队告诉你如何用DAG技术解决传统链式结构问题

  长达三年之久的比特币扩容之争,不仅没有解决,今年反而越演越烈,简单的来说,产生该问题的原因是他们在底层结构采用的都是区块+链式的数据结构,这种结构有一些先天性的局限。以比特币为例,比特币区块速度是每10分钟1MB,,一个区块1M,一般来说可容1440笔交易,也就是说,当我们进行转账时,每分钟只能通过144笔交易,这种时候,焦急的用户们只能通过提高手续费来让自己的交易尽快被矿工打包。一个问题,百家来帮,于是区块链进程中出现了像以太坊,EOS这样的先锋者。

  都说科技的发展一日千里,尤其是高新科技技术的更新迭代是所有行业发展中变化最快的。Nerthus希望用一种截然不同区块“图”式结构打破传统链式瓶颈,打造一个基于DAG技术的革新式的智能合约编程平台和区块链操作系统。

  DAG技术是如何解决问题的?

  也许很多小伙伴已经听说过最近火热的DAG技术了。DAG,英文全称是 Directed Acyclic Graph(有向无环图)。

比特币扩容无解?Nerthus团队告诉你如何用DAG技术解决传统链式结构问题

  区别于大家熟知的比特币采用的为链式结构,DAG的解决方案是,将最长链共识改成最重链共识。传统区块链设计上,新单元的发布会加入在原先的最长链之上,并且所有节点认为最长链为真,依次无限蔓延。而DAG中,每个新加入的单元,不仅仅只加入长链里的一个区块,而是加入到之前的所有区块。假设当你发布新交易时,前面有两个有效区块,那么你的区块会主动同时链接到前面两个之中,DAG 中的每个新单元,验证并确认其父辈单元,父辈单元的父辈单元,慢慢可达创世单元,并将其父辈单元的哈希包含到自己的单元里面。随着时间递增,所有交易的区块链相互连接,形成图状结构,如若要更改数据,那就不仅仅是几个区块的问题了,而是整个区块图的数据更改。DAG 这个模式相比来说,要进行的复杂度更高,更难以被更改。

  在 IOTA 中,要验证新的交易前,必须直接验证之前的两个交易,这也使得在这两个交易之前所有被验证过的交易得到间接验证。在 DAG 中,顶点代表交易,带箭头的线代表交易的验证关系。在 IOTA 中,有一个权重积分的概念,所谓权重积分是指它自身的权重与它验证过的所有交易的自身权重之和。在DAG 结构中,交易总是自己创建并发布。从理论上看,攻击者总是可以建构比它要推翻掉的那个交易权重更高的交易用以双花。

  Byteball 在 IOTA 的基础上,做了改进,引入主链与见证人概念,并鼓励验证多个父辈交易单元。Byteball的 DAG 是一个特殊的 DAG。在正常使用中,人们通常将他们的新单元链接到略小的最近单元上,这意味着 DAG 仅在一个方向上增长。人们可以把它画成一条里面带有许多交错线的粗线。该属性表明Byteball可以在 DAG 中沿着“子-父链”选择单个链,然后将所有单元关联到此链。所有的单元要么将直接位于这条我们称之为主链的链上,要么沿着 DAG 的边缘从相对少量的跃点到达。它就像一条连接着侧面道路的高速公路。

  Nerthus 在 Byteball 的基础上,做了进一步的改进——维护用户级别的见证人列表,交易单元一旦发布且经所有见证人共同签署的见证单元验证后,该交易单元就是最终确认的。比特币与以太坊,有一个最大的问题就是没有一个确定的不可更改的最终状态。理论上,如果有足够的算力,足够的出块速度,产生一条更长的隐藏链,就可以把之前的区块推翻。Nerthus 单元经过见证人发布见证区块后,就已是最终确定的状态,无法推翻。