睿诚科技协会

Byteball的DAG技术如何实现高效交易?

核心概念:什么是DAG?

我们理解一下什么是DAG。

Byteball的DAG技术如何实现高效交易?-图1
(图片来源网络,侵删)
  • 传统区块链(如比特币、以太坊): 是一个链式结构,每个区块都指向前一个区块,形成一个线性的、单向的链条,新的数据(交易)必须被打包到最新的区块里,然后添加到链的末端,这导致了“区块”和“确认时间”的概念,有时会面临性能瓶颈(如交易排队)。

  • 有向无环图: 是一种数据结构,它由顶点组成,满足两个条件:

    1. 有向: 边有方向,从一个顶点指向另一个顶点。
    2. 无环: 不存在任何循环路径,你不可能从某个顶点出发,沿着边的方向走一圈又回到这个顶点。

在Byteball中:

  • 顶点:就是一笔交易
  • :代表一种因果关系,如果一笔交易A引用了另一笔交易B(A支付给B,或者A是B的回复),那么就有一条从A指向B的边。

这种结构的优势在于,交易可以并行确认,而不是像链式结构那样必须排队等待,新的交易可以同时连接到多个已存在的交易上,从而大大提高了系统的吞吐量。

Byteball的DAG技术如何实现高效交易?-图2
(图片来源网络,侵删)

Byteball如何利用DAG技术?

Byteball将DAG技术应用于其核心的数据账本支付系统,它不仅仅是交易,还包括了所有系统数据(如资产定义、合约、消息等),都以交易的形式存储在DAG中。

关键机制:单元 和 父单元

  1. 单元:Byteball中的基本数据单位,相当于区块链中的“区块”,一个单元可以包含一笔或多笔交易,每个单元都有一个唯一的标识符。

  2. 父单元:每个新单元(除了创世单元)都必须引用至少一个(通常是多个)已经存在的单元作为其“父单元”,这个引用关系就是DAG中的“边”,通过引用父单元,新单元就与整个DAG网络连接起来,并继承了这些父单元所包含的信息。

如何解决“双花”问题?—— 确定最终性

这是DAG系统面临的最大挑战:由于交易可以并行,如何确定哪个交易是有效的,哪个是无效的(比如双花攻击)?Byteball通过一个名为“主要链”(Main Chain)的巧妙机制解决了这个问题。

Byteball的DAG技术如何实现高效交易?-图3
(图片来源网络,侵删)

主要链的构建过程(类似“最长链”规则):

  1. 单元权重:每个单元的权重不是固定的,而是根据其“祖先”的数量来计算的,一个单元的祖先越多,意味着它“看到”并确认的历史数据越多,它的权重就越大。

    • 权重(单元A) = 1 + 所有父单元的权重之和
  2. 构建主要链

    • 系统会持续寻找当前权重最大的单元,这个单元被认为是“最可信”的,因为它建立在最多历史数据之上。
    • 从这个权重最大的单元出发,沿着它的父单元路径,不断寻找权重最大的父单元,一直追溯到创世单元。
    • 这样形成的一条路径,就是主要链
  3. 确定最终性

    • 一个交易一旦被包含在主要链上,或者被主要链上的单元所确认,它就被认为是最终确认的。
    • 攻击者想要篡改一个交易,就必须重新计算出一个比当前主要链权重还长的链,这在计算上是极其困难的(类似于比特币的算力攻击),因此保证了系统的安全。

简单比喻: 想象一个巨大的家族谱系(DAG),每个人(单元)都有父母(父单元),主要链就像是这个家族中最“显赫”的一支血脉,通过计算每一代人的“影响力”(权重)来追溯,最显赫的那一支,就是大家公认的“正统”。


Byteball DAG技术的核心优势

  1. 高吞吐量和即时确认

    • 并行处理:交易可以并行添加到DAG中,无需等待打包进区块,理论上,只要网络带宽允许,交易处理能力可以无限扩展。
    • 即时确认:交易一旦发出,几乎可以立即被网络接收和验证,用户不需要等待“区块确认”,只需等待交易被纳入主要链,这种确认速度远快于比特币。
  2. 无需挖矿,交易费用极低

    • 由于没有像PoW那样的竞争性挖矿,Byteball不产生区块奖励。
    • 系统通过一种名为“见证人”(Witnesses)的机制来维护网络安全,见证人是经过用户选择和信任的一组节点,它们负责将交易打包成单元,并从中获得少量费用。
    • 用户发送交易时,可以选择支付给见证人一笔很小的费用(以字节或GBYTE计),也可以选择不付费,但这样交易可能不会被见证人打包,确认速度会变慢,这使得小额支付成为可能。
  3. 强大的数据存储能力

    不仅仅是支付,任何结构化的数据(如合同、身份证明、物联网数据)都可以作为交易被写入DAG,Byteball内置了简单的数据格式,使得去中心化应用的开发变得非常灵活。

  4. 去中心化的身份和资产系统

    • 身份:你的身份就是你的钱包地址,由你私钥完全控制,无需注册或第三方验证。
    • 资产:任何人都可以在Byteball上轻松创建自己的代币(资产),定义其名称、总量、描述等,并通过DAG进行发行和交易。

Byteball DAG vs. 区块链DAG(如IOTA)

这里需要做一个重要的区分:Byteball的DAG和IOTA的Tangle(缠结)虽然都是DAG,但设计哲学和实现细节有显著不同。

特性 Byteball IOTA (Tangle)
数据单元 单元:可以包含多笔交易、数据和元数据。 交易:通常指代一笔单一的支付或数据传输。
交易发起 用户驱动,用户创建一个单元,引用父单元。 节点驱动,节点在处理新交易时,必须做两次“随机”的确认工作(引用其他交易)。
安全性 见证人机制,由一组可信的实体维护主要链,抗量子攻击能力强(使用基于哈希的签名)。 完全去中心化,理论上没有中心化风险,但早期曾发现中心化问题,抗量子攻击较弱(使用WOTS+签名)。
代币 GBYTE:总量固定,1GBYTE = 1000字节。 MIOTA:总量固定,用于机器间的微支付和数据交易。
主要用途 支付、去中心化数据存储、通用DApp平台。 物联网机器间的数据和价值交换。

核心区别:IOTA的Tangle更像是一个“自下而上”的网络,每个参与者(节点)在发起交易时,都在为网络做贡献(确认其他交易),而Byteball的DAG更像是一个“自上而下”的模型,由专门的“见证人”负责打包和确认,普通用户主要发起交易。


Byteball的DAG技术是一次革命性的尝试,它成功地:

  • 颠覆了链式结构:用DAG替代了区块链,实现了交易的并行处理和即时确认。
  • 解决了最终性问题:通过“主要链”和“单元权重”机制,巧妙地在去中心化的DAG上建立了秩序和确定性。
  • 构建了一个多功能平台:它不仅仅是一个加密货币,更是一个集支付、数据存储、身份和资产发行于一体的去中心化生态系统。

虽然Byteball的市场认知度和用户规模不如比特币或以太坊,但它在DAG技术领域的探索和实践,为后来的许多项目(如Hedera Hashgraph、Avalanche等)提供了宝贵的经验和借鉴,是区块链技术发展史上一个非常重要的里程碑。

分享:
扫描分享到社交APP
上一篇
下一篇