圈里的人已经习惯用区块链来代指分布式账本技术(DLT),也就是我们熟知的去中心化全家桶:去中心化网络,去中心化交易所,去中心化游戏等。实际上,既然去中心化体系可以有各显神通的共识算法,那它也可以有不一样的数据结构。在这一语境下,区块链就只是构成DLT的其中一种数据结构,它如同共识算法中的POW,因最先被采用,而广为人知。今天,我们想介绍DLT可采用的另一种数据结构,DAG,它有个中文名,叫“有向无环图”。1 L- B* b( Z+ J0 v) `1 ^5 V4 R
- p: _- T* J7 t3 h3 \2 ?. T- v) _; q' f/ ^* ?+ J& C
% v$ H$ M" {2 h" t" o什么是DAG
1 [. v9 F8 e, i' n
2 x/ ]* I6 V9 n) l/ _! N) j! G" r* N! W4 ]! V, i, ]
我们通过一些图直观地感受一下什么是DAG。
8 n: P+ n1 R9 {' f; U/ F! q# f/ F3 u% N2 ?; w: F
- u% t6 u0 q G+ m7 Q* P! f- \5 E/ ^
/ q9 J: ^+ ~, E, ]* N$ \/ {8 L+ o
" }( w- i- z5 N4 k% G3 }4 ]
# [6 K+ f8 V2 u" t4 G! F7 {% A$ _$ x" D. C: B: d" ~/ n# e
图1
- h5 e$ i2 s) c7 `, |* S: c' U8 Y" l# g
' ^3 p' p! r5 \ s7 x7 f2 e
先看一种最简单的情况,只有两个单元(unit)的时候。这时,X 要么指向Y,Y要么指向X,这解释了什么是“有向”,即单元是有指向性的,先有X再有Y,先有鸡再有蛋。这时候,读者可能要问了,那这个不就是区块链吗,创始区块开始,一直连下去,直到最后确认块。
3 K! g6 Y H* [$ ?" {! t; w8 r* V, c
$ E0 |2 k9 t5 h- h% \ I, D, d此时,我们祭出图2,上方的是区块链,下方是DAG,可以看出,DAG是允许单元间的多重连接的:单元1可以连接到单元2,也可以连接到单元3;单元3可以被单元1连接,也可以被单元2连接。
0 }% A9 G. A; \
; B, B8 O. D q; f; ?& e1 K& ?
) Z4 r/ L5 s& `0 W. C6 D; J
% a! w7 l4 F( s0 T+ P2 C+ E) w
- w% j( _9 G9 h6 ]
' u' J0 G' Q3 Q* W% U1 r3 y0 F9 q图2
* X4 {: h; G- A. y. H! A那么什么是无环呢,子单元不能连回它的父单元,祖父单元,曾祖单元,以此类推。简单来说,就是单元1,连接到单元2,再连接到单元3,单元3不能连回单元1了。就像数数一样,你能从一数到一百,但不能从一百数回到一。你得保证单元是世代传承的,不能出现“返祖现象”,这就叫无环。1 Z0 R$ I" ~% A. n, N
! L1 I/ L0 b$ X5 l
( @: ~; X3 z( `3 K3 @ O6 r8 B不难理解,记账是需要有向无环的。第一,记账是按时间顺序来的,先有交易X,再有交易Y。第二,帐要无限往下记下去,不是记着记着,就又开始记历史上的第一笔交易了。- b0 ^% f3 i3 z. e; I& _' B! r
0 N- P' P5 a3 O" S
3 W' A2 S1 ~3 P9 Y相比区块链,DAG有什么优势* F1 [. H. d% s* a# r: G
* k: t* L) ~6 ^6 f6 t( M
, V5 a5 s1 v; g高扩展性( M' X) _7 x& ~
# G! U: _% r: C9 A) D% q
8 K0 u( F6 v+ x& r3 K5 s扩展性是软件系统的能计算处理多大信息量的衡量指标。相比区块链,DAG这种数据结构具有更高的扩展性。DAG允许单元间的多重连接,那么同一时间,就可以有多个单元被建立并发布到网络中。相反,区块链在一个固定的出块时间中,只能有一个区块被增添到网络中。这就好比多线程和单线程,而多线程的扩展性自然是单线程没有办法比的。实际上,利用P2P网络进行单元增添的DAG,反而会因网络参与者的增加,加快单元的增添速度,从而使系统具备更高的处理速度。这就好比,用Bittorrent下载一段视频,下载同一部视频的人越多,你的下载速度就越快。正是这一特性,使得DAG的扩展性并不亚于当前的中心化信息系统。
9 ^; I# \8 u9 t0 Y/ `# I: c/ |4 z8 t v$ b1 I; q3 h8 Y
D" O) J3 v$ J, y0 B更去中心化
; o8 g: K( H! w* F# N2 @) b
" m) b7 F; @1 W! [2 u9 T' g
p/ Q; N; {7 l# G% g0 ^那读者朋友可能就会说了,区块链也是利用P2P网络出块的。这点没错,可是区块链在通过共识算法决定谁是下一个出块者后,会将所有交易交给下一出块者进行打包。而打包速度,是受制于出块者的中心化服务器速度的。DAG则因为任何人都可以增添单元进入网络,省去了选举一个中心化服务器进行打包出块这一步骤。因此,DAG也更加去中心化。
. G+ S0 |% X ~) A& T7 y
8 p/ N% F$ A7 p9 P* k1 `
0 W0 X) c9 U* `9 v* m更具可靠性
0 W0 m4 S9 n/ _$ U" X X
* N: t j) l4 o/ B9 }, @- I
5 l' G" S+ [2 m3 q% E( \* l单元间的多重连接,意味着每个单元将被它的多个子单元和多个父单元多重确认。而一个单元被确认越多次,它所包含的数据就越可靠,被恶意篡改的几率越小。区块链则只有后块确认前块这一次确认过程。) J; ^* v* c( W* @. u
$ q6 Y9 h4 [3 O
: I) U% y' x# f
当前有什么靠谱DAG项目$ A' e# L B* O/ a- k4 {9 }
% }3 i& E9 F A& H
$ ~7 g! \ U* iIOTA
A1 h* P; ?; Y2 S' B! x3 v, ]- K2 X3 z
: o7 y$ m7 L' M' m) R1 Q( [2 LIOTA是第一个提出用DAG搭建去中心化网络的项目。因为有“协调者”节点的参与,IOTA并不是彻底去中心化的。不过,它作为这个新领域的先行者,依然值得关注。
+ A" d. O Y8 F6 a1 e8 R+ ?4 P. ]: ?+ ~3 q7 |5 P. @" n
2 w$ I8 l* T( `; J
Byteball
5 v0 W8 u7 C2 ~% [
5 @6 `, t5 l$ m: r; j! D' a- e: b5 C R) \1 W1 j
中文名,字节雪球。它跟IOTA类似,也有中心化节点用来保证网络的安全性。不过,它支持增添私有或匿名单元,也支持智能合约。值得一提的是,字节雪球的白皮书也很硬核,很适合想对DAG进行深入了解的投资者阅读。
: \0 Y! r* I- Q* d n7 l5 Z' f; ] N# X1 ?' Y' k1 {+ j
5 C5 f. t. F4 \, z/ f: }0 NHLC(HalalChain)
/ m8 |3 O# i+ j: u4 @" r0 c6 y2 R. J# N$ q4 X" p! M
' D! D4 @9 b! {
HLC是全球第一条专注服务穆斯林国家及地区的公有链,应用于伊斯兰金融产品及服务、清真产品溯源、天课捐赠、产权与遗产登记、文化教育等领域。基于新型分布式账本DAG(有向无环)为底层技术,在保证安全性和去中心化的前提下实现高频并发交易。先进技术与独特应用场景相结合,以此构建一个跨穆斯林国家的经济生态系统。7 O% L' v- w" [+ g* i
(作者:EVOLAB) |