圈里的人已经习惯用区块链来代指分布式账本技术(DLT),也就是我们熟知的去中心化全家桶:去中心化网络,去中心化交易所,去中心化游戏等。实际上,既然去中心化体系可以有各显神通的共识算法,那它也可以有不一样的数据结构。在这一语境下,区块链就只是构成DLT的其中一种数据结构,它如同共识算法中的POW,因最先被采用,而广为人知。今天,我们想介绍DLT可采用的另一种数据结构,DAG,它有个中文名,叫“有向无环图”。
6 p$ H1 w4 o h" v# b
' l2 d) G5 P0 I+ S* y5 R; b$ Q4 S( ?" K2 [3 n+ M1 c2 ]: _
/ B' V7 R5 E5 S3 k
什么是DAG
2 z, a# y7 i2 B: s7 s% u' Y' r- g3 E: V/ h' G4 t
$ Z. d9 U6 |) G" J1 ?. m我们通过一些图直观地感受一下什么是DAG。* i- s$ X, _: x! `
6 v* u4 n2 k. i# l4 c; u- w+ D
5 i3 q; n0 U8 a0 V: B
% Z+ Y+ @& F' f. N. L1 t, z7 J
% I7 V, z& M1 x+ ^1 {
1 f& l# B1 [5 r5 y9 P9 P
' Q9 b6 A* w: D9 C9 u" x Z/ |
( r" w' m4 F# v! l5 H8 V+ |图16 c" }- [1 i0 u
+ [$ O* w4 ]$ z. E8 L5 @, }
. x0 R8 p0 E% u' @! k
先看一种最简单的情况,只有两个单元(unit)的时候。这时,X 要么指向Y,Y要么指向X,这解释了什么是“有向”,即单元是有指向性的,先有X再有Y,先有鸡再有蛋。这时候,读者可能要问了,那这个不就是区块链吗,创始区块开始,一直连下去,直到最后确认块。9 L& p# `! Z) c0 z9 w2 Y$ ?
/ @' \, `; l r: ^
$ H- G" E8 a% P. H) b- J此时,我们祭出图2,上方的是区块链,下方是DAG,可以看出,DAG是允许单元间的多重连接的:单元1可以连接到单元2,也可以连接到单元3;单元3可以被单元1连接,也可以被单元2连接。
3 j6 w6 l8 A' d/ j; T2 a
/ x2 o7 Q* C! G' J+ u
, I l5 |! f1 d `) v6 c
. \8 Z# V: i9 ?" N& D* Y
8 C1 c& R/ L+ R1 d
3 u U) U: {- d; R; ?图2
$ M$ K- S D( ~$ K# u那么什么是无环呢,子单元不能连回它的父单元,祖父单元,曾祖单元,以此类推。简单来说,就是单元1,连接到单元2,再连接到单元3,单元3不能连回单元1了。就像数数一样,你能从一数到一百,但不能从一百数回到一。你得保证单元是世代传承的,不能出现“返祖现象”,这就叫无环。0 Q F5 [8 M: a7 A0 j
" x: Q+ K" i: _$ k9 b: O u- I: e& r; l: Q% Q0 G2 r
不难理解,记账是需要有向无环的。第一,记账是按时间顺序来的,先有交易X,再有交易Y。第二,帐要无限往下记下去,不是记着记着,就又开始记历史上的第一笔交易了。
, M& p5 \* X$ R, a2 S
, l3 V3 I- z9 N7 `" Q9 A+ q! V% z! T, s e) g
相比区块链,DAG有什么优势! j0 ]- q. b" O4 H( [ E
% f' ^/ R; y" B0 F% z$ `- {2 A& K# E7 F
高扩展性! x% A2 u; c/ F& P3 i. ~* @
6 l5 w. q9 d; }
+ F8 Y) k( P% I( ?7 o' J& n扩展性是软件系统的能计算处理多大信息量的衡量指标。相比区块链,DAG这种数据结构具有更高的扩展性。DAG允许单元间的多重连接,那么同一时间,就可以有多个单元被建立并发布到网络中。相反,区块链在一个固定的出块时间中,只能有一个区块被增添到网络中。这就好比多线程和单线程,而多线程的扩展性自然是单线程没有办法比的。实际上,利用P2P网络进行单元增添的DAG,反而会因网络参与者的增加,加快单元的增添速度,从而使系统具备更高的处理速度。这就好比,用Bittorrent下载一段视频,下载同一部视频的人越多,你的下载速度就越快。正是这一特性,使得DAG的扩展性并不亚于当前的中心化信息系统。
! V5 @3 {2 @* l+ G3 c: \. ?9 u* g( W/ |6 S
5 s0 N( B' z! n" o1 n2 p7 j9 M0 a
更去中心化) y, o- S% |3 t$ o2 Y+ e3 {
& w9 L/ a2 o9 Z) g
. T5 h* f$ D7 R$ E7 M那读者朋友可能就会说了,区块链也是利用P2P网络出块的。这点没错,可是区块链在通过共识算法决定谁是下一个出块者后,会将所有交易交给下一出块者进行打包。而打包速度,是受制于出块者的中心化服务器速度的。DAG则因为任何人都可以增添单元进入网络,省去了选举一个中心化服务器进行打包出块这一步骤。因此,DAG也更加去中心化。; h' H" \8 g5 x% Q! n/ b9 Q
" Q5 y, r- F4 a: I
% f K' ~# }+ D) M
更具可靠性" V Y6 E1 ~% N
5 \ o8 S1 m# ?) `. y
- L! _2 t) _7 @4 v( \* l; X6 j1 i! X单元间的多重连接,意味着每个单元将被它的多个子单元和多个父单元多重确认。而一个单元被确认越多次,它所包含的数据就越可靠,被恶意篡改的几率越小。区块链则只有后块确认前块这一次确认过程。& P# g/ j6 ]6 T6 u5 y: t
4 A8 C N; ?/ y" {; u. _0 ], x1 t8 k7 r% p* b
当前有什么靠谱DAG项目2 w9 v, r S7 s7 ^( r
: a$ n& i9 {4 B
, @$ H" ]& B( U7 O" }0 l# w$ t
IOTA7 g6 K; n* a5 d, J
4 P. O/ w) Q8 X8 {
! G, U/ N; r5 `6 d" H5 JIOTA是第一个提出用DAG搭建去中心化网络的项目。因为有“协调者”节点的参与,IOTA并不是彻底去中心化的。不过,它作为这个新领域的先行者,依然值得关注。
8 A' z3 l: j2 }/ E' N7 H2 P/ S; G
+ n% r0 `& Z* |3 Z
Byteball+ I- j1 k8 Z. T2 G% V: E
! z: G3 _ I; H7 k7 `& K, v- b$ D( C
+ X6 F0 ]4 v# w* j1 w, U) X! G# C
中文名,字节雪球。它跟IOTA类似,也有中心化节点用来保证网络的安全性。不过,它支持增添私有或匿名单元,也支持智能合约。值得一提的是,字节雪球的白皮书也很硬核,很适合想对DAG进行深入了解的投资者阅读。' Y3 Q1 ^0 w: D z. `
: f+ l% @+ ]7 r0 m+ V
5 q# H. a. C5 x) f+ [HLC(HalalChain)5 d/ ]: c: s; S9 P. U
; o0 y n- l) F. w
4 r9 q6 h# }+ c& p4 O- M
HLC是全球第一条专注服务穆斯林国家及地区的公有链,应用于伊斯兰金融产品及服务、清真产品溯源、天课捐赠、产权与遗产登记、文化教育等领域。基于新型分布式账本DAG(有向无环)为底层技术,在保证安全性和去中心化的前提下实现高频并发交易。先进技术与独特应用场景相结合,以此构建一个跨穆斯林国家的经济生态系统。/ x& b/ P0 {5 l" W$ g
(作者:EVOLAB) |