欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

速度之战:区块链 vs 缠结技术 - DAG与传统方式的区别和挑战" 在这个标题中,我们强调了更快的交易确认时间和同步问题的重要性。我们还重新构造了文章开头的句子来吸引读者的兴趣,并将 "可扩展性之争" 改为了 "速度之战",因为文章的主题是围绕着交易确认的速度展开的。 同时,我们也对原文中的 "去构建一个引用旧交易的交易图" 进行了简化处理,使其更加易读和易理解。 最后,我们在文章结尾处明确指出了DAG同步比区块链同步更难的原因,并提供了一个简明扼要的解释。这样可以帮助读者更好地理解和掌握文章的核心内容。

最编程 2024-01-15 11:45:30
...

DAG主张的情况是:想要移除协调节点以及见证节点要求,必须同时发生大量交易。作为回应,我想指出DAG实现中的几个缺陷,我预测当DAG网络的tps达到(甚至少于)1000时,将要面临这些问题。

在1000 tps的网络中,当某个远程DAG节点接收到交易后——比如在提交这些交易一秒钟以后(想象一下,光速是目前最快的速度,而互联网运行的速度要比光速慢得多),那么这个远程节点相对网络中其它中心节点将要滞后1000笔交易,这将导致以下问题:

(1)我们几乎可以肯定,该节点无法立即处理某些交易,因为它缺失了经过提交者节点见证的已验证交易,而这些交易仍然在网络中传播,因此它必须将这些交易保存在可能不断增长的未确认池中,这一做法将耗尽节点的资源。

(2)当最终某笔交易的子缠结的所有已验证祖先交易到达节点时,这些交易可以验证很久以前在当前DAG tips(编者注:在缠结中,tips代表未经证明的缠结顶点)后面嵌套的交易,并且当负载达到某个临界点时,DAG将向所有的方向扩展,并产生大量代表未被验证交易的tips。

(3)假设当交易被加入DAG时就已经被执行。由于交易执行顺序在节点间会有很大差异,为此,对于某些需要保证执行顺序的应用(比如民意调查中的投票需要在投票结束之前到达)而言,DAG就不可用了。

(4)修剪DAG几乎不可实现,因为不存在节点可以快照(在不存在单个协调节点的情况下)以修剪所有先前交易历史的稳定状态。

总而言之,我认为在交易到达时就确认交易的能力使DAG对交易广播延迟以及交易到达节点的顺序变得更加敏感,一旦网络承压,很有可能导致未验证交易不断累积,以及DAG爆炸性生长。在这种情况下,除了正常交易,指向旧tips的交易也将被接受,还留下一大堆仍在不断增加的tips等待验证。

翻译:喏呗尔

原文作者:Lior Yaffe