圈里的人已经习惯用区块链来代指分布式账本技术(DLT),也就是我们熟知的去中心化全家桶:去中心化网络,去中心化交易所,去中心化游戏等。实际上,既然去中心化体系可以有各显神通的共识算法,那它也可以有不一样的数据结构。在这一语境下,区块链就只是构成DLT的其中一种数据结构,它如同共识算法中的POW,因最先被采用,而广为人知。今天,我们想介绍DLT可采用的另一种数据结构,DAG,它有个中文名,叫“有向无环图”。
& H1 z, _8 { ^ P8 |0 Q u" U; Q$ Z1 j6 A, Y/ S& \+ f
' {" ?+ F" ~* z6 \, Y2 A
* @9 n" P& ?% y* ?5 |9 a什么是DAG
\. z% B3 e: B. s4 r0 z' [5 V, |- c! x' N/ o
5 ~4 m" j0 f* a' s/ `% v% L我们通过一些图直观地感受一下什么是DAG。$ R* u4 J/ w w, i
& w$ a1 v5 V1 s0 `$ }$ J" Q
# p, j' K- c8 ~- H* L- T/ I! \1 [
+ U( U4 f/ }3 Q6 a
D; t5 x( v( D* |- o3 j
, b, u( F0 X0 p1 Y
1 B2 I M0 \9 L0 J9 ^+ ~/ L4 s( i! E0 p$ K( f9 f6 [. ]" b
图1
/ @& S, N( f8 \- m) A9 u0 v: V) t; Q0 E! T
0 [1 ]' B1 ]. q" w; K先看一种最简单的情况,只有两个单元(unit)的时候。这时,X 要么指向Y,Y要么指向X,这解释了什么是“有向”,即单元是有指向性的,先有X再有Y,先有鸡再有蛋。这时候,读者可能要问了,那这个不就是区块链吗,创始区块开始,一直连下去,直到最后确认块。! N2 y! [& @+ u* e. I* z% a
/ J+ z. [6 U4 u' `3 h0 c, }" K
" X3 B+ q+ c: o% ?此时,我们祭出图2,上方的是区块链,下方是DAG,可以看出,DAG是允许单元间的多重连接的:单元1可以连接到单元2,也可以连接到单元3;单元3可以被单元1连接,也可以被单元2连接。
9 C) L$ Q5 i% w, T; r* r0 ?+ l
, y: ] L e; y4 O1 s* ]8 p
* u! L# Z- [0 K1 T
7 \" D2 G. g1 U& f9 H" A S
* I2 u! C w3 r" u' p6 C0 m
7 J4 M8 d! H+ P7 j6 l图2& K/ k3 {3 T6 N. v' V" a ^
那么什么是无环呢,子单元不能连回它的父单元,祖父单元,曾祖单元,以此类推。简单来说,就是单元1,连接到单元2,再连接到单元3,单元3不能连回单元1了。就像数数一样,你能从一数到一百,但不能从一百数回到一。你得保证单元是世代传承的,不能出现“返祖现象”,这就叫无环。4 K; H# [6 c9 C- \$ K; s
% `5 L3 T. L4 ~; {/ P$ |
8 @8 E, x4 {) \* \8 G+ y不难理解,记账是需要有向无环的。第一,记账是按时间顺序来的,先有交易X,再有交易Y。第二,帐要无限往下记下去,不是记着记着,就又开始记历史上的第一笔交易了。
* g* c1 y0 r- f3 q
( w2 V8 \, j: n7 a& y- v. W
( {5 H3 R- m: F相比区块链,DAG有什么优势. T, R6 }1 U- j1 W( R
2 o s& u* q( r( _" ]0 S1 O2 A4 J; X
& W/ s8 @ T8 b) ]高扩展性
$ i% m% D; e8 f$ w; @, c' f4 N/ i1 N/ a! i
$ y, d8 F* H' o
扩展性是软件系统的能计算处理多大信息量的衡量指标。相比区块链,DAG这种数据结构具有更高的扩展性。DAG允许单元间的多重连接,那么同一时间,就可以有多个单元被建立并发布到网络中。相反,区块链在一个固定的出块时间中,只能有一个区块被增添到网络中。这就好比多线程和单线程,而多线程的扩展性自然是单线程没有办法比的。实际上,利用P2P网络进行单元增添的DAG,反而会因网络参与者的增加,加快单元的增添速度,从而使系统具备更高的处理速度。这就好比,用Bittorrent下载一段视频,下载同一部视频的人越多,你的下载速度就越快。正是这一特性,使得DAG的扩展性并不亚于当前的中心化信息系统。
/ E; U# k/ V# Y* Q
0 M# r5 F% I+ z' R/ t8 c, D" ?/ Z
8 {: a: g- m r6 u" V, p9 W更去中心化: P. Z7 p f( r2 @2 `0 f
8 X: v& {; O0 e0 H) o& B$ r2 C; `/ |2 l% J
那读者朋友可能就会说了,区块链也是利用P2P网络出块的。这点没错,可是区块链在通过共识算法决定谁是下一个出块者后,会将所有交易交给下一出块者进行打包。而打包速度,是受制于出块者的中心化服务器速度的。DAG则因为任何人都可以增添单元进入网络,省去了选举一个中心化服务器进行打包出块这一步骤。因此,DAG也更加去中心化。" B ~" }8 `5 s) {1 v6 T' v
$ f# k1 V' `0 D* `; H9 _7 M* Y9 p9 u' b+ o$ l
更具可靠性% k |: }2 h p ]* d
$ Z+ J% B/ I: s
1 j( }6 g- F4 v单元间的多重连接,意味着每个单元将被它的多个子单元和多个父单元多重确认。而一个单元被确认越多次,它所包含的数据就越可靠,被恶意篡改的几率越小。区块链则只有后块确认前块这一次确认过程。9 v# q: I' o! p( j& r1 ~& w( o
3 @) z/ b" ~5 O2 Y1 Z
% A0 i9 \& G+ E" X( V当前有什么靠谱DAG项目
& L- n+ ` r* ^4 E: N5 f' J& m
3 p- \9 i4 S. W; l
7 ~/ p) |% C% @- [0 T: HIOTA0 y" Q" `; V, _. P
; g7 r6 ~. E. F, \% P
0 E# F0 y. U9 W! IIOTA是第一个提出用DAG搭建去中心化网络的项目。因为有“协调者”节点的参与,IOTA并不是彻底去中心化的。不过,它作为这个新领域的先行者,依然值得关注。6 c! Y" q2 x9 U. ~ |: w& I$ q# T
7 i+ G7 P. m5 }# L n
" @ A" h" Y3 K5 } J IByteball
- {; ~* M6 p$ F, \. s: |) {9 r3 E1 G8 m
6 y) e4 F+ R, v
中文名,字节雪球。它跟IOTA类似,也有中心化节点用来保证网络的安全性。不过,它支持增添私有或匿名单元,也支持智能合约。值得一提的是,字节雪球的白皮书也很硬核,很适合想对DAG进行深入了解的投资者阅读。1 p" h* c$ o3 r
& W. m# A# ]/ K9 k3 I
# x- P# K* u# T
HLC(HalalChain)$ o4 S9 e1 L' @
; m1 r) C! x3 T# q9 ^- b
: V) l& D; X% }+ o1 d. aHLC是全球第一条专注服务穆斯林国家及地区的公有链,应用于伊斯兰金融产品及服务、清真产品溯源、天课捐赠、产权与遗产登记、文化教育等领域。基于新型分布式账本DAG(有向无环)为底层技术,在保证安全性和去中心化的前提下实现高频并发交易。先进技术与独特应用场景相结合,以此构建一个跨穆斯林国家的经济生态系统。
K) u, ]+ y& M! \' B(作者:EVOLAB) |