什么是DAG,及它的起源
DAG(Directed Acyclic Map),即有向无环图.
有向:所有数据顺着同一方向存储
无环:数据结构间不构成循环
enter image description here
DAG的出现是为解决区块链的效率 确定性 中心化 能耗等问题.
区块链是链式存储结构,无法并发出块.类似于单核单线程CPU.
区块DAG中没有区块,交易发起后直接跳过打包区块阶段,异步并发融入全网.类似于多核多线程CPU.
行业介绍 - 各DAG链的特点
行业背景
IOTA
IOTA上的交易是免交易费的,也没有什么矿工之类的,在整个网络里每个块就代表一个交易,你自己签署一笔交易后在Tangle中找两个还未得到确认的块(Tips)验证其交易后使自己的交易指向这两个块,然后进行适当的POW计算过程使交易的hash满足要求,所以你可以将用户当成这个系统中的矿工,大家自己开采包含自己交易的块,这个POW过程的难度很小,所以大家基本上几分钟内都可以完成。这种模式也是为了物联网而设计,适用于高并发但数据量较小的系统
- 签名算法: 基于Hash的WOTS(Winternitz One Time Signature)签名算法,采用自身私钥对输入签名 (一次性签名,地址不能重用,能抗量子攻击)
- 三进制系统: 公私钥(种子和地址)以及hash算法等都是基于它,号称三进制架构的电路功耗较低
- Tip选择: 采用马尔可夫链蒙特卡洛算法随机挑选两个未确认的交易并引用他们
- 工作量证明 POW: 进行适当的POW计算使交易的hash满足要求
- 共识算法: Gossip
- 掩码认证消息MAM: 在网络建立自己的消息链 (即免受干扰的频道,对数据流加密,右控制访问权限)
- 隐私交易
- 网络匿名: 支持Tor网络(可隐藏用户IP)
- 交易匿名: 参考技术CoinJoin(将多个不同用户相同数额的交易合并成一个大交易), 还没完全实现
- 支持离线交易
- 防止51%攻击: 目前要靠一个协调节点(coordinator node)来对网络进行审查,被它的交易确认的块才是主链,现在的IOTA事实上还是一个偏向于中心化的系统,按照其负责人的说法等未来网络规模扩大,节点数量足够多时就会撤销这一协调节点。
应用区域:
物联网, 传感器, 微支付, 智能数据, 智能城市
ByteBall
- 签名算法: ECDSA
- 内置的隐秘资产,用黑球(Blackbyte)可以进行匿名交易
- P2P网络: 采用web socket, json格式, 使用TLS加密通信, 消息内容采用ECDH+AES加密
应用区域:
智能合约,匿名和快速转账
InterValue
由于单元可以连接到任意一个或多个之前的单元,不需要为共识问题付出更多的计算成本和时间成本,也不必等待节点之间数据强同步,甚至没有多个数据单元拼装区块的概念,因此可以极大提高交易的并发量,并把确认时间降低到最小。
- 网络: 匿名通信, 跨链通信, 多链融合
- 双层共识: HashNet(分层分片的基于DAG的Gossip共识机制) + BA-VRF(基于可验证随机函数的拜占庭协商共识)
应用区域:
直播、游戏、商业数据流转交易、基因数据流转交易、不动产流转交易、艺术品交易 和 开发分布式存储应用