圈里的人已经习惯用区块链来代指分布式账本技术(DLT),也就是我们熟知的去中心化全家桶:去中心化网络,去中心化交易所,去中心化游戏等。实际上,既然去中心化体系可以有各显神通的共识算法,那它也可以有不一样的数据结构。在这一语境下,区块链就只是构成DLT的其中一种数据结构,它如同共识算法中的POW,因最先被采用,而广为人知。今天,我们想介绍DLT可采用的另一种数据结构,DAG,它有个中文名,叫“有向无环图”。0 n5 E. R9 ?4 C& I
3 o* P3 q& `" E) @* N R; \3 S6 i' ~. U) w
7 a+ J/ u3 l- o e4 K. P7 C
什么是DAG
6 {; K7 m( t. D v ]; K" }0 M5 ~% ?: H1 _( ?" d
9 j3 w& P$ K; J( [
我们通过一些图直观地感受一下什么是DAG。
! n) ~$ m" v' h- V4 S, ^ N* G, J( W: E
7 M6 Z& J- e Y9 d) q" a2 a& G- ]. \ q& h( n q4 o1 J
/ X& V4 S5 y% |2 u' V! B( z0 ?$ c
* s8 A2 o, G y* K5 W" ?5 |( r( q4 {! U: O: j# A: e6 }1 W
1 E/ H( f* M7 H9 J G
图1- p* V+ ]: z0 t; h
# f2 b% k' @7 a# F& v; R1 e
2 N6 |1 R1 K0 ?$ ?先看一种最简单的情况,只有两个单元(unit)的时候。这时,X 要么指向Y,Y要么指向X,这解释了什么是“有向”,即单元是有指向性的,先有X再有Y,先有鸡再有蛋。这时候,读者可能要问了,那这个不就是区块链吗,创始区块开始,一直连下去,直到最后确认块。
1 q( X, T$ Y( ^
3 c4 l$ y! Y5 n5 J1 X* V7 ?4 ]; y" i) U
此时,我们祭出图2,上方的是区块链,下方是DAG,可以看出,DAG是允许单元间的多重连接的:单元1可以连接到单元2,也可以连接到单元3;单元3可以被单元1连接,也可以被单元2连接。4 {# }! c w8 P8 `$ ~5 l" P
~7 ]+ W/ m2 i0 P9 ~( t3 W8 s8 v
7 g5 D/ W/ t$ {+ F+ z
% q5 b/ x: A$ W# V: j8 [
, t* h; c1 k' I: p1 h. z: C! W- F2 I4 o O* I, I. Z, X- u
图2- A) a: Y, z; Q- W0 B
那么什么是无环呢,子单元不能连回它的父单元,祖父单元,曾祖单元,以此类推。简单来说,就是单元1,连接到单元2,再连接到单元3,单元3不能连回单元1了。就像数数一样,你能从一数到一百,但不能从一百数回到一。你得保证单元是世代传承的,不能出现“返祖现象”,这就叫无环。
4 \3 v0 _' R+ z; V* R9 u
/ G; L5 o: J* W4 C. q5 {
- L- G$ S& h- N不难理解,记账是需要有向无环的。第一,记账是按时间顺序来的,先有交易X,再有交易Y。第二,帐要无限往下记下去,不是记着记着,就又开始记历史上的第一笔交易了。, u1 s% C6 a8 |( \
6 F" x' N8 ?6 p. O9 ~/ |
( s- J# j) W4 E( n f( R8 X
相比区块链,DAG有什么优势
+ N" {6 K" Y1 x# k5 `! l/ C0 t4 o: O6 f
' o5 t5 ] i3 F! A u
高扩展性1 q7 L9 f* p0 I
) N y+ D" r) \$ i
$ U! ~9 a* K9 |3 G扩展性是软件系统的能计算处理多大信息量的衡量指标。相比区块链,DAG这种数据结构具有更高的扩展性。DAG允许单元间的多重连接,那么同一时间,就可以有多个单元被建立并发布到网络中。相反,区块链在一个固定的出块时间中,只能有一个区块被增添到网络中。这就好比多线程和单线程,而多线程的扩展性自然是单线程没有办法比的。实际上,利用P2P网络进行单元增添的DAG,反而会因网络参与者的增加,加快单元的增添速度,从而使系统具备更高的处理速度。这就好比,用Bittorrent下载一段视频,下载同一部视频的人越多,你的下载速度就越快。正是这一特性,使得DAG的扩展性并不亚于当前的中心化信息系统。8 Q/ }+ n( h! j3 o6 y3 J
% `" C- u P! Y5 v
/ O. {$ u' g( G* B6 A5 U. u- N更去中心化1 H& }9 P; O3 ~5 n
& d. K; ]+ |0 C; h. c, V8 D, ^" @$ o% ]7 ^
那读者朋友可能就会说了,区块链也是利用P2P网络出块的。这点没错,可是区块链在通过共识算法决定谁是下一个出块者后,会将所有交易交给下一出块者进行打包。而打包速度,是受制于出块者的中心化服务器速度的。DAG则因为任何人都可以增添单元进入网络,省去了选举一个中心化服务器进行打包出块这一步骤。因此,DAG也更加去中心化。, K2 O5 M+ y" `
& u/ ^/ P% [; ]# X& Z
4 }3 T, V; H& ?: p8 L( x2 b6 }
更具可靠性
. I7 v0 F" t1 N3 D B5 x: I6 L3 I1 K4 K% [9 y% h
- u( z8 i2 D% z& X, R! K5 P单元间的多重连接,意味着每个单元将被它的多个子单元和多个父单元多重确认。而一个单元被确认越多次,它所包含的数据就越可靠,被恶意篡改的几率越小。区块链则只有后块确认前块这一次确认过程。
% b3 M# v" ?! K$ N! o J" t3 ?! B
6 [( D* `: Q5 `* w9 E3 j# ]4 n5 s0 O4 V* r; ~/ L9 A$ `
当前有什么靠谱DAG项目/ s: J& g2 e8 h. }8 g* u: m
0 R- j4 P! M5 ]
' B0 c7 J1 P* F6 x! U% ?
IOTA
: A' j" f" w) Z! [+ L. E
' _7 V$ N& {7 X9 i. y1 t
; b Q+ }6 y, x" n, ? xIOTA是第一个提出用DAG搭建去中心化网络的项目。因为有“协调者”节点的参与,IOTA并不是彻底去中心化的。不过,它作为这个新领域的先行者,依然值得关注。
+ X5 S7 T) G' p' d6 g3 I; }# ^
& X1 ^7 H* G- l J! e; a! W) LByteball
/ b! ^& H* }7 i1 N% C* ^) Y8 U/ n9 N1 d# a9 g+ f, R& \
- Q1 a& k5 P4 x7 L) o. ~3 c2 d1 x
中文名,字节雪球。它跟IOTA类似,也有中心化节点用来保证网络的安全性。不过,它支持增添私有或匿名单元,也支持智能合约。值得一提的是,字节雪球的白皮书也很硬核,很适合想对DAG进行深入了解的投资者阅读。0 j ~# Y/ ?* L: e! r( i
" u/ A9 v# l9 M' N; S, O; D/ R
/ P+ ?& P3 Z: G z6 s7 C/ \( OHLC(HalalChain)) L4 Q0 c! g* G. I$ Z2 V. B
* N0 Y- C- }, u8 @" U# ]
/ D6 ?' D. W% m$ [! n& M3 S
HLC是全球第一条专注服务穆斯林国家及地区的公有链,应用于伊斯兰金融产品及服务、清真产品溯源、天课捐赠、产权与遗产登记、文化教育等领域。基于新型分布式账本DAG(有向无环)为底层技术,在保证安全性和去中心化的前提下实现高频并发交易。先进技术与独特应用场景相结合,以此构建一个跨穆斯林国家的经济生态系统。 Y% o& G C1 e
(作者:EVOLAB) |