Directed Acyclic Graph

技术

CyberVein是一个不可变的,基于区块链的数据库网络,可以在其上安全地处理,交易和共享信息。因此,CyberVein网络提出了存储和处理要求,这是现有区块链无法满足的。

为了解决这个问题,CyberVein改进了DAG技术,引入了一种新颖的资源节约共识机制,并修改了Solidity契约语言以使其适合于大量数据的处理和货币化。

Traditional blockchain design

什么是DAG?

DAG或有向非循环图分类账在某些方面与传统区块链不同。最重要的是,在DAG分类帐上,交易不进行分组并且不在必须开采的区块中对其进行验证。在DAG网络上,节点以P2P的方式验证彼此的交易 - 每个希望执行交易的节点都需要验证其他两个节点的交易,从而创建链接事件的有序序列(因此称为“有向图”)。

为什么DAG?

首先,DAGs如果正确使用并用于正确目的,则具有克服区块链可扩展性问题的潜力。由于每笔交易都需要获得前两项交易的批准,因此网络的速度随其规模呈指数增长。缺乏区块及其挖掘意味着交易是“在进行中”而不是在繁琐的时间间隔中进行,“区块大小辩论”变得无关紧要,并且大大降低了集中式哈希功能的危险。

但是,对于CyberVein的分散式数据库而言,最重要的是 - 由于交易被单独记录为P2P批准的事件链,因此,并非每个节点都需要存储网络的整个交易历史记录,像PoW和PoS区块链一样。这就打开了“分片”的可能性 - 一种数据库分区类型,它将非常大的数据库分离为更小,更快,更容易管理的部分,称为数据分片。在CyberVein上,仅要求节点存储与其自身的交易历史和它们所参与的智能合约相关的数据分片。通过这种方法,CyberVein能够将整个数据库存储为智能合约,这些合约已被其所有者和参与者许可,而不会使分类账的其余部分变得拥塞。

加强共识

缺乏区块及其挖掘也意味着在DAG上共识的维护工作与在传统区块链上不同。从理论上讲,P2P交易验证机制已内置共识保持功能。但是,为了防止多数攻击,大多数DAG分类帐实施了比特币工作量证明的一个版本,在交易验证中附加了人工费用。事实证明,这使攻击在经济上不可行。遗憾的是,PoW是一种耗费能源的过程,否则会毫无用处,这会使区块链效率低下。

CyberVein通过引入一种新型的DAG专用共识算法, “贡献证明”,解决了这一问题。贡献证明用于衡量节点为存储分类账的交易历史(或分类账“分片”)的一部分而捐赠的磁盘空间量,并进行相应的补偿。由于磁盘空间是一种稀缺资源,因此PoC会成为在验证过程中胜过其他节点的障碍,从而使攻击成本高昂且不可行。从这个意义上讲,PoC使用磁盘空间的方式与PoW使用CPU \ GPU资源的方式相同,只是在CyberVein上,该资源被投入到有用的工作,而不是浪费。

解决DAG的集中化问题

The improved DAG design

但是,现有的DAG技术有一个肮脏的小秘密。迄今为止提交的大多数设计建议都没有真正分散,需要特权的“见证节点”以减少各种攻击媒介的可能性并创建“正式的”交易顺序,否则可能需要进行解释。这些见证节点必须由网络的开发人员任命或由其用户选举。这些控制中心点及其他们的故障显然是一个声称分散且对政治控制具有弹性的系统的严重设计缺陷。

CyberVein通过进一步利用贡献证明共识算法解决了这一缺陷。 CyberVein保留了一个完整节点的网络,而不是指定的见证节点,该网络自愿存储整个CyberVein分类帐。 CyberVein上的任何节点都可以加入全节点网络,但是作为回报,加入的节点需要提供大量的稀缺磁盘空间。 这样一来,攻击节点将不得不胜过整个CyberVein网络的存储容量,才能批准或执行一次双重支出攻击。

修改稳固性

CyberVein允许在区块链本身上维护数据库。 这意味着所有数据库操作(例如,数据字段,行和列的操作)都通过区块链交易进行调解。 为了使此功能正常运行,CyberVein在Solidity合同语言中添加了数据处理特定的功能,包括直接通过CyberVein数据库中存储的数据获利的特定功能。

CyberVein通过把见证节点替换为基于Genesis Smart Contracts(创世智能合约)的解决方案算法来解决此缺陷。 创世智能合约是写入总账初始条目中的合约,可以用作所有未来交易的商定参考点。 网络中发生的所有交易不仅链接到两个前者,而且还链接到这些创世合同,从而创建了已约定的事件序列和客观的“时间戳”,像传统的区块链一样。