圈里的人已经习惯用区块链来代指分布式账本技术(DLT),也就是我们熟知的去中心化全家桶:去中心化网络,去中心化交易所,去中心化游戏等。实际上,既然去中心化体系可以有各显神通的共识算法,那它也可以有不一样的数据结构。在这一语境下,区块链就只是构成DLT的其中一种数据结构,它如同共识算法中的POW,因最先被采用,而广为人知。今天,我们想介绍DLT可采用的另一种数据结构,DAG,它有个中文名,叫“有向无环图”。- \" R; W$ o! L$ E
+ O: f- ]+ j, @6 {' k+ f' _
5 [ X* r4 [/ W1 T6 _3 g P) G4 x' d+ G9 G# \0 v/ e5 G
什么是DAG
% l" x& m x% r3 A
- R+ V& y" l1 _ m6 H
7 `* U: C! O- Z3 U7 X" Q; n2 c' M我们通过一些图直观地感受一下什么是DAG。5 n+ F7 S t8 ~$ x# v9 u( |/ K( j
/ N" T. W+ ]0 ]. X4 }- S" W
+ ]5 C$ m& C2 ^& b
9 S6 q2 f Z3 w) |/ P: D
1 G* f; S. G6 u0 C o/ I
* ^. o. V1 P- q0 |& O
/ a( P2 Y8 b7 R5 o
6 S7 N% {7 {5 v# z/ P图1
% f( N9 w6 L/ |# ]9 l/ X" |/ B4 b" c* M+ ]; t
3 j) ], Q. h3 P7 Q9 L: r( ?9 b. e
先看一种最简单的情况,只有两个单元(unit)的时候。这时,X 要么指向Y,Y要么指向X,这解释了什么是“有向”,即单元是有指向性的,先有X再有Y,先有鸡再有蛋。这时候,读者可能要问了,那这个不就是区块链吗,创始区块开始,一直连下去,直到最后确认块。5 v! O# E" o9 V1 N/ e: c4 w( m7 ^- L
8 K$ z" v3 U$ U+ y* q; P
) p. M3 M/ y( B( m8 r# i4 }3 Y3 }此时,我们祭出图2,上方的是区块链,下方是DAG,可以看出,DAG是允许单元间的多重连接的:单元1可以连接到单元2,也可以连接到单元3;单元3可以被单元1连接,也可以被单元2连接。
O: o d4 l# T* w o6 I3 ~1 G3 G
' R w" v1 j0 H- ~# r' w
3 U- h5 @) J, c2 x$ P1 y( C
7 {: V/ \9 v' x- Z
% l% ^% X7 Z n6 ~' s M! ?1 D# A# z7 S/ v4 }! J; b2 l
图2
# z& Q) c. ]; T4 i- F那么什么是无环呢,子单元不能连回它的父单元,祖父单元,曾祖单元,以此类推。简单来说,就是单元1,连接到单元2,再连接到单元3,单元3不能连回单元1了。就像数数一样,你能从一数到一百,但不能从一百数回到一。你得保证单元是世代传承的,不能出现“返祖现象”,这就叫无环。5 n8 B, M7 Y' g* u% n9 X
! T) c4 M$ z1 e8 U: r; R1 u
- E* C! D8 h; s2 X, m2 m不难理解,记账是需要有向无环的。第一,记账是按时间顺序来的,先有交易X,再有交易Y。第二,帐要无限往下记下去,不是记着记着,就又开始记历史上的第一笔交易了。# }, X, J) l L8 ?4 Q; I9 g
. s* _7 \& y: i% [8 i
8 U) R0 `. _$ y1 y- [
相比区块链,DAG有什么优势 K+ T6 A% I1 j; W( \: ?: C
& b9 v. S L8 z$ D7 e
0 |7 m, }# D" [高扩展性
% c8 P/ d9 @4 ~$ Z7 ?3 Q: l0 z# i0 f& h3 ~( ]* R
) |- d/ a1 s: o- j: Z
扩展性是软件系统的能计算处理多大信息量的衡量指标。相比区块链,DAG这种数据结构具有更高的扩展性。DAG允许单元间的多重连接,那么同一时间,就可以有多个单元被建立并发布到网络中。相反,区块链在一个固定的出块时间中,只能有一个区块被增添到网络中。这就好比多线程和单线程,而多线程的扩展性自然是单线程没有办法比的。实际上,利用P2P网络进行单元增添的DAG,反而会因网络参与者的增加,加快单元的增添速度,从而使系统具备更高的处理速度。这就好比,用Bittorrent下载一段视频,下载同一部视频的人越多,你的下载速度就越快。正是这一特性,使得DAG的扩展性并不亚于当前的中心化信息系统。
* v" g8 `4 B5 y8 b7 ^2 @& D7 f& W" f1 h2 `8 I
" k# a5 E" E) t5 g# A8 h
更去中心化3 u' i- l& O: h
6 S/ ?0 e* H- R* j9 s; R" r8 s% y8 f( D5 k0 T+ J [/ [6 p
那读者朋友可能就会说了,区块链也是利用P2P网络出块的。这点没错,可是区块链在通过共识算法决定谁是下一个出块者后,会将所有交易交给下一出块者进行打包。而打包速度,是受制于出块者的中心化服务器速度的。DAG则因为任何人都可以增添单元进入网络,省去了选举一个中心化服务器进行打包出块这一步骤。因此,DAG也更加去中心化。( C, Q5 X% K7 ]7 p
- H/ a3 W$ N8 \6 V$ K# M8 P) q9 z# H/ k( b) c+ g5 D0 K
更具可靠性. T1 J: v+ v/ v B/ i9 Y! H0 ^
, i3 d/ I' ^ A# Q: I
- U8 G0 @0 B3 b. ?# q% f; F单元间的多重连接,意味着每个单元将被它的多个子单元和多个父单元多重确认。而一个单元被确认越多次,它所包含的数据就越可靠,被恶意篡改的几率越小。区块链则只有后块确认前块这一次确认过程。
0 h4 T' W' u: b& p4 @; o/ J: x% Y4 ^, Z4 P7 }! G( Z
6 A! C# U- d5 C# T) S6 P当前有什么靠谱DAG项目
, ~9 U/ `( P' V$ ~$ U) z
% N1 S* i- l/ ~# I2 m0 L% l
7 E2 b' b1 G$ n# W0 g4 q: V+ HIOTA
& T3 s% `2 i2 ^$ y6 o7 N J9 o$ D$ c h* V# \; E, G. n0 m3 |
) V$ k3 v+ x$ s& ~5 n( OIOTA是第一个提出用DAG搭建去中心化网络的项目。因为有“协调者”节点的参与,IOTA并不是彻底去中心化的。不过,它作为这个新领域的先行者,依然值得关注。. }( j8 N& a8 {1 e
! n* _8 t3 N" D# p9 f; E$ _
+ O% l6 h5 I' M! a$ M9 Z$ @( Y
Byteball
2 a9 z: l! K9 w5 V' V
5 [' i, e' y" N$ k1 z2 C+ f) s a& a b/ F ~. J A& x
中文名,字节雪球。它跟IOTA类似,也有中心化节点用来保证网络的安全性。不过,它支持增添私有或匿名单元,也支持智能合约。值得一提的是,字节雪球的白皮书也很硬核,很适合想对DAG进行深入了解的投资者阅读。
0 K5 g C- P+ Y H( j+ u2 ^( c
6 f; j0 q8 Q s3 y$ _& }3 V7 C t4 C' q/ U) N' Z8 k
HLC(HalalChain) l& L% @% f+ T' e r& \6 L
- Q- R. ?! E, D/ L4 @
# a' _9 B3 ] O1 k5 h+ IHLC是全球第一条专注服务穆斯林国家及地区的公有链,应用于伊斯兰金融产品及服务、清真产品溯源、天课捐赠、产权与遗产登记、文化教育等领域。基于新型分布式账本DAG(有向无环)为底层技术,在保证安全性和去中心化的前提下实现高频并发交易。先进技术与独特应用场景相结合,以此构建一个跨穆斯林国家的经济生态系统。; M6 t9 V" j7 V) I) u" V2 a8 [
(作者:EVOLAB) |