圈里的人已经习惯用区块链来代指分布式账本技术(DLT),也就是我们熟知的去中心化全家桶:去中心化网络,去中心化交易所,去中心化游戏等。实际上,既然去中心化体系可以有各显神通的共识算法,那它也可以有不一样的数据结构。在这一语境下,区块链就只是构成DLT的其中一种数据结构,它如同共识算法中的POW,因最先被采用,而广为人知。今天,我们想介绍DLT可采用的另一种数据结构,DAG,它有个中文名,叫“有向无环图”。7 s' i$ w0 a8 A! L. [% x
6 a4 C8 f" R% D2 Z" J+ T5 w. V, {
! U o6 P$ G' P6 ~ E0 h4 _8 i/ W
8 D8 ^# u x1 e, E6 J什么是DAG
) S, ?! ?3 b4 t8 R+ g% H( S6 X
( D% x1 t, I! K+ K5 f) G6 c, B) w: j, T. S; x; X6 l
我们通过一些图直观地感受一下什么是DAG。
6 E" _# s( W1 U" m: ^, f2 x0 c/ E0 O
# b2 ?/ h, S0 i8 X* Q8 }4 K, h+ j# j% T0 H" m- U% z
2 W c8 o/ O7 l2 M5 z8 d. e2 H
) ]1 y3 A' Z7 C5 k7 K! j& w8 ~2 N
8 t0 V) X2 u1 @0 N2 z+ o5 U4 w
$ M" z! x ?: _2 H7 R* c- f图1
+ K' Z/ Z+ h" v W7 @2 E: m+ ^
% M. Z! S" w- K p7 \
# I# i3 W& E3 h1 X6 q先看一种最简单的情况,只有两个单元(unit)的时候。这时,X 要么指向Y,Y要么指向X,这解释了什么是“有向”,即单元是有指向性的,先有X再有Y,先有鸡再有蛋。这时候,读者可能要问了,那这个不就是区块链吗,创始区块开始,一直连下去,直到最后确认块。, Q2 @9 r" b/ J9 H0 J: g3 I3 f6 M
( B( @2 B; }% L m
) k! y s% ]- U# s
此时,我们祭出图2,上方的是区块链,下方是DAG,可以看出,DAG是允许单元间的多重连接的:单元1可以连接到单元2,也可以连接到单元3;单元3可以被单元1连接,也可以被单元2连接。
/ V8 r# j+ [2 N' E5 |6 h
& q( T+ c5 D r( B* S, a- T
+ f" r$ x& M# J. y0 e
& y9 _& A/ N. H) G
% x6 Z8 y$ P) _5 m8 F" ]
8 ^0 b+ j; z; a C图2% {/ H: w# O/ t$ q0 E- f
那么什么是无环呢,子单元不能连回它的父单元,祖父单元,曾祖单元,以此类推。简单来说,就是单元1,连接到单元2,再连接到单元3,单元3不能连回单元1了。就像数数一样,你能从一数到一百,但不能从一百数回到一。你得保证单元是世代传承的,不能出现“返祖现象”,这就叫无环。
# z* S% [8 p% d3 P5 a+ S. g% B# u. I* F
1 D2 I/ _/ N9 ~% F% T# j不难理解,记账是需要有向无环的。第一,记账是按时间顺序来的,先有交易X,再有交易Y。第二,帐要无限往下记下去,不是记着记着,就又开始记历史上的第一笔交易了。
1 |+ O9 B4 Q+ q3 T/ ?+ q0 o# g T8 h% P
' w0 M8 a2 @) a6 m5 M+ m相比区块链,DAG有什么优势
! N" z$ W) g6 g3 b Z4 Y T" V2 c! S* e8 D
9 X) \$ w1 Z1 \, l高扩展性) P4 D o: S4 X% y: x" [& b/ i4 Z
4 U& @- O2 x; |3 S6 K+ f3 |) K
$ U( \% G0 C2 w
扩展性是软件系统的能计算处理多大信息量的衡量指标。相比区块链,DAG这种数据结构具有更高的扩展性。DAG允许单元间的多重连接,那么同一时间,就可以有多个单元被建立并发布到网络中。相反,区块链在一个固定的出块时间中,只能有一个区块被增添到网络中。这就好比多线程和单线程,而多线程的扩展性自然是单线程没有办法比的。实际上,利用P2P网络进行单元增添的DAG,反而会因网络参与者的增加,加快单元的增添速度,从而使系统具备更高的处理速度。这就好比,用Bittorrent下载一段视频,下载同一部视频的人越多,你的下载速度就越快。正是这一特性,使得DAG的扩展性并不亚于当前的中心化信息系统。* `# j$ z1 u5 D% n* a0 F& O" D
7 f8 s& i- n. ~. W2 Z' x I, s, e
! T( n/ B* R; P; ~! f! ^; T+ e$ D更去中心化! ~3 P T( \. t. T. S5 f. a7 E7 U
; s, t# F. M+ e2 ^1 B
* W- i5 v7 u/ `4 U" P E4 k那读者朋友可能就会说了,区块链也是利用P2P网络出块的。这点没错,可是区块链在通过共识算法决定谁是下一个出块者后,会将所有交易交给下一出块者进行打包。而打包速度,是受制于出块者的中心化服务器速度的。DAG则因为任何人都可以增添单元进入网络,省去了选举一个中心化服务器进行打包出块这一步骤。因此,DAG也更加去中心化。4 g! a- K& |1 A8 ^8 z# H' h+ T
[ R3 R; {( a5 D
6 |! t2 s. b( s0 T* S$ ]! u
更具可靠性
. o1 l% ?! y$ c' Z5 K- \3 ~3 W2 b% Z. m! q; V+ B. m
& e6 C! G5 I1 ?
单元间的多重连接,意味着每个单元将被它的多个子单元和多个父单元多重确认。而一个单元被确认越多次,它所包含的数据就越可靠,被恶意篡改的几率越小。区块链则只有后块确认前块这一次确认过程。" Q$ L8 G, H6 C) H0 x" r7 _
+ q/ y6 c; U6 Y. [
* |' V7 o' ^, j" B" _! W当前有什么靠谱DAG项目
' R( Z: \1 \0 ^! z6 J
4 l6 t9 Y( W! V* h' K5 X. W7 m$ D- \+ ?7 }# s+ ]
IOTA
' e* @9 s8 z% t% O! N$ h( k
% Y ^# \- }. c6 ]
% q6 }. s' p; ?! f4 t6 w% Y: zIOTA是第一个提出用DAG搭建去中心化网络的项目。因为有“协调者”节点的参与,IOTA并不是彻底去中心化的。不过,它作为这个新领域的先行者,依然值得关注。2 _0 N3 |* W7 n+ \. a8 H# s
5 |4 R, ?$ {1 \- \3 ?, H
; r0 p5 s* L* s
Byteball
; L8 B& m# o8 ^7 w9 _: ]) O# H6 _' `) X( @2 K3 Y
# w8 c' G* `3 I% |' k. v中文名,字节雪球。它跟IOTA类似,也有中心化节点用来保证网络的安全性。不过,它支持增添私有或匿名单元,也支持智能合约。值得一提的是,字节雪球的白皮书也很硬核,很适合想对DAG进行深入了解的投资者阅读。% k1 F( X9 u4 R. e, p6 {, k5 s( T
4 k/ h: w$ g6 w% J/ f
- P2 a$ B2 T; a/ a. z1 n
HLC(HalalChain)
, o" v' ^3 b9 {% r; q3 O4 d" R, I! ^
Z" q6 a W6 j7 | l' f
HLC是全球第一条专注服务穆斯林国家及地区的公有链,应用于伊斯兰金融产品及服务、清真产品溯源、天课捐赠、产权与遗产登记、文化教育等领域。基于新型分布式账本DAG(有向无环)为底层技术,在保证安全性和去中心化的前提下实现高频并发交易。先进技术与独特应用场景相结合,以此构建一个跨穆斯林国家的经济生态系统。
6 I1 w% Y( F# V$ { c- L7 V9 ^(作者:EVOLAB) |