圈里的人已经习惯用区块链来代指分布式账本技术(DLT),也就是我们熟知的去中心化全家桶:去中心化网络,去中心化交易所,去中心化游戏等。实际上,既然去中心化体系可以有各显神通的共识算法,那它也可以有不一样的数据结构。在这一语境下,区块链就只是构成DLT的其中一种数据结构,它如同共识算法中的POW,因最先被采用,而广为人知。今天,我们想介绍DLT可采用的另一种数据结构,DAG,它有个中文名,叫“有向无环图”。( X2 O, b; G0 s: S d9 i( W; z. q
m4 W) y( L+ L+ J: C) p |" X2 W
- G/ |3 Q8 ?2 P( e
. J u% k2 V+ E/ ?+ N( D什么是DAG. ? O, F( ^6 e: @
+ [' J$ }& {5 x
% I9 b, C9 z) P& l7 v# j3 h我们通过一些图直观地感受一下什么是DAG。
- M& \1 D, H2 J/ F1 G6 O* W. g0 o& F- @9 G" R; n% p- a! Y
/ g( g% g+ r: x8 L+ `
) ?8 w. p0 V* h; o* ^
& N2 ]2 c7 x: C" X# b5 v! r& |
8 l+ D' j& ?( n/ J1 z7 `, _
+ M) L4 [1 m" X2 n' V7 K, L# f/ N) }6 T
图1
7 }& [7 Z9 H& ^# s
: v8 C( C; y1 `: y' f8 {( J" ^& z" Y" z- d# s4 E7 J- S
先看一种最简单的情况,只有两个单元(unit)的时候。这时,X 要么指向Y,Y要么指向X,这解释了什么是“有向”,即单元是有指向性的,先有X再有Y,先有鸡再有蛋。这时候,读者可能要问了,那这个不就是区块链吗,创始区块开始,一直连下去,直到最后确认块。
# a8 m4 e. n. a. F4 {6 L! b1 B) h7 O3 O+ q. J+ s z4 H
- ]1 @9 s% l: m n% g! l5 {( J此时,我们祭出图2,上方的是区块链,下方是DAG,可以看出,DAG是允许单元间的多重连接的:单元1可以连接到单元2,也可以连接到单元3;单元3可以被单元1连接,也可以被单元2连接。' r# {4 t3 R8 @ o& u% t: I- A
4 ~9 ` j/ U/ C/ j7 M
/ N! B# w5 l* u8 b0 Q
0 H/ L5 {0 R# _' ^6 d b5 _
+ O( P' [! Q& D) N( r" c; P9 r0 l
2 [/ [) ^3 v; I" Y' h0 `: C; E9 p图2
, p+ e2 r+ P) g% D9 ~1 I$ x那么什么是无环呢,子单元不能连回它的父单元,祖父单元,曾祖单元,以此类推。简单来说,就是单元1,连接到单元2,再连接到单元3,单元3不能连回单元1了。就像数数一样,你能从一数到一百,但不能从一百数回到一。你得保证单元是世代传承的,不能出现“返祖现象”,这就叫无环。! C6 l3 \$ I p4 O
, W0 b! v( B8 e/ v7 \
; q* X; _1 w6 e& P$ `( P$ F不难理解,记账是需要有向无环的。第一,记账是按时间顺序来的,先有交易X,再有交易Y。第二,帐要无限往下记下去,不是记着记着,就又开始记历史上的第一笔交易了。
, w, l" E6 y1 _4 F4 @. F6 @
" J c: d+ h [5 k
) H2 p; d8 t5 `) u( |0 H相比区块链,DAG有什么优势
: V; P4 o( I3 _
& \9 S" p( [* J& M- _" @
3 |! e7 }+ V2 S; O高扩展性' W8 U: l$ I0 A$ h2 P4 {1 `' U
0 I) ?, x6 X8 a9 R, ]2 X( ^
_' V: _ g( z# r% k, I4 ^8 M2 ~扩展性是软件系统的能计算处理多大信息量的衡量指标。相比区块链,DAG这种数据结构具有更高的扩展性。DAG允许单元间的多重连接,那么同一时间,就可以有多个单元被建立并发布到网络中。相反,区块链在一个固定的出块时间中,只能有一个区块被增添到网络中。这就好比多线程和单线程,而多线程的扩展性自然是单线程没有办法比的。实际上,利用P2P网络进行单元增添的DAG,反而会因网络参与者的增加,加快单元的增添速度,从而使系统具备更高的处理速度。这就好比,用Bittorrent下载一段视频,下载同一部视频的人越多,你的下载速度就越快。正是这一特性,使得DAG的扩展性并不亚于当前的中心化信息系统。6 w; V+ o; o& ]/ o0 |
x$ Y7 }( I, K+ a1 V
; ]' v. u* A+ Z* c% Q5 q. r" D8 ]/ H更去中心化8 {8 z& k+ Y& \' ^1 d% z' c6 q
. S( |% p0 G( w" ~# t$ l' m' B/ C% d' F1 l; K: b
那读者朋友可能就会说了,区块链也是利用P2P网络出块的。这点没错,可是区块链在通过共识算法决定谁是下一个出块者后,会将所有交易交给下一出块者进行打包。而打包速度,是受制于出块者的中心化服务器速度的。DAG则因为任何人都可以增添单元进入网络,省去了选举一个中心化服务器进行打包出块这一步骤。因此,DAG也更加去中心化。
1 I3 L: |- y8 O; `# Z' E* _6 G+ \/ k! u7 Y
, c/ J, N. w8 |: d2 N更具可靠性3 k6 }; O |! j# z
# G' A6 E4 ]% g/ Y I! @. N
0 p& W; @" @6 e& z% y单元间的多重连接,意味着每个单元将被它的多个子单元和多个父单元多重确认。而一个单元被确认越多次,它所包含的数据就越可靠,被恶意篡改的几率越小。区块链则只有后块确认前块这一次确认过程。* V9 h$ S( Z: V6 T4 A
; r, T* J4 N% A4 J, ^- @9 m. r# I( ^ i9 j; H1 D! G: I* ^
当前有什么靠谱DAG项目
5 U+ Q3 ~: m6 x x0 r9 c1 H. o/ Y6 S1 ?6 O% ?
5 x$ ~# T7 b/ }
IOTA+ H# R3 }1 Y8 Y! w3 o+ ?
: t9 d3 H( n& g: Q, m+ a2 C2 p8 @; ?
8 c) {( f4 N7 u5 R- y4 B( jIOTA是第一个提出用DAG搭建去中心化网络的项目。因为有“协调者”节点的参与,IOTA并不是彻底去中心化的。不过,它作为这个新领域的先行者,依然值得关注。, u! d, ^3 t# K8 L% j2 j
: H) B: l; p$ a1 Y" U5 b
( i0 \% m: j: A% D& @9 l+ fByteball
% r1 v S! x7 K+ k1 z8 e" m
3 Z p: v* l' p/ O7 F F
# r, N/ g8 i" s3 a: k/ \" b% |3 S) S中文名,字节雪球。它跟IOTA类似,也有中心化节点用来保证网络的安全性。不过,它支持增添私有或匿名单元,也支持智能合约。值得一提的是,字节雪球的白皮书也很硬核,很适合想对DAG进行深入了解的投资者阅读。/ ^! F r* X* Z9 J" ~1 f2 p0 a: e
4 ]' y: Y& {$ n$ f
' m! y' `- l7 w& _
HLC(HalalChain)6 J! I* u& z5 u
# ] N4 U- W& a5 Y+ }
: @) D3 {- E k8 J$ M" v# hHLC是全球第一条专注服务穆斯林国家及地区的公有链,应用于伊斯兰金融产品及服务、清真产品溯源、天课捐赠、产权与遗产登记、文化教育等领域。基于新型分布式账本DAG(有向无环)为底层技术,在保证安全性和去中心化的前提下实现高频并发交易。先进技术与独特应用场景相结合,以此构建一个跨穆斯林国家的经济生态系统。5 G' A% |- d0 T* j l8 X
(作者:EVOLAB) |