圈里的人已经习惯用区块链来代指分布式账本技术(DLT),也就是我们熟知的去中心化全家桶:去中心化网络,去中心化交易所,去中心化游戏等。实际上,既然去中心化体系可以有各显神通的共识算法,那它也可以有不一样的数据结构。在这一语境下,区块链就只是构成DLT的其中一种数据结构,它如同共识算法中的POW,因最先被采用,而广为人知。今天,我们想介绍DLT可采用的另一种数据结构,DAG,它有个中文名,叫“有向无环图”。
6 m3 E; I3 w4 Z+ O- O$ I' ]% v8 T0 a) A& ` c
6 o" w1 \. v0 Q% L* i h. ?
: u8 r' L1 d$ L: h( x0 e什么是DAG$ {: a" D3 {) ?3 w6 p8 T
( j! N8 Q- U) q; Q" ~
% {8 n6 _( ~; M4 X0 `! D( L( Y
我们通过一些图直观地感受一下什么是DAG。
' E% v, l) C1 |
* J t' {0 F3 l1 z' F2 A% Z
& n( H8 ~7 r9 K# g. U& I I* X% K
: o; C& ^# }7 E! U$ A! E
V9 m- F. H, o6 i7 a/ n& N
6 |& ^1 m- L) l) {! U; @) N! z
) a2 G1 O+ T8 S* a! [. M
/ d/ q; R1 g' {7 N图1
+ B/ u- Y1 W: r2 m/ O! f$ F0 v* l# w8 R4 b
* J: U" Z& A' \8 W
先看一种最简单的情况,只有两个单元(unit)的时候。这时,X 要么指向Y,Y要么指向X,这解释了什么是“有向”,即单元是有指向性的,先有X再有Y,先有鸡再有蛋。这时候,读者可能要问了,那这个不就是区块链吗,创始区块开始,一直连下去,直到最后确认块。9 X! U7 p* ]# `5 I* ^+ Y" p H8 T
# N; f9 \$ M- X# _3 c1 x
4 z# k4 {9 G' [! n此时,我们祭出图2,上方的是区块链,下方是DAG,可以看出,DAG是允许单元间的多重连接的:单元1可以连接到单元2,也可以连接到单元3;单元3可以被单元1连接,也可以被单元2连接。
) c- {' ?$ r. K/ C0 Y5 r, O2 M) w! w5 v$ W% z/ y5 K
6 Y( T/ y5 O! @" `0 d
0 m' P! F# C; w" M S, s* V# T( Q( ~- B7 D# o
6 A+ ^$ g5 k. W" N
图2
4 x# m2 p: o5 L那么什么是无环呢,子单元不能连回它的父单元,祖父单元,曾祖单元,以此类推。简单来说,就是单元1,连接到单元2,再连接到单元3,单元3不能连回单元1了。就像数数一样,你能从一数到一百,但不能从一百数回到一。你得保证单元是世代传承的,不能出现“返祖现象”,这就叫无环。
8 N; S/ r- A3 r9 F+ a- H4 B* p
& _, }7 A, Z2 l+ |' Q3 t9 Y3 ]: j8 x i3 P# \
不难理解,记账是需要有向无环的。第一,记账是按时间顺序来的,先有交易X,再有交易Y。第二,帐要无限往下记下去,不是记着记着,就又开始记历史上的第一笔交易了。8 U+ ?" _3 |2 [
8 s; g- D8 i$ z
: x4 K4 K, a, K. M% Z) z相比区块链,DAG有什么优势3 w" H U( I7 ?0 s5 J
9 { s, |0 L9 h/ B/ t& v. f9 a
8 C- M( U) S5 Q$ Z+ ^ L$ F$ U
高扩展性. G& t- l8 F4 v
3 b1 r: R/ @5 |1 Z4 N {( u" F' @3 j! h3 |1 L9 ~
扩展性是软件系统的能计算处理多大信息量的衡量指标。相比区块链,DAG这种数据结构具有更高的扩展性。DAG允许单元间的多重连接,那么同一时间,就可以有多个单元被建立并发布到网络中。相反,区块链在一个固定的出块时间中,只能有一个区块被增添到网络中。这就好比多线程和单线程,而多线程的扩展性自然是单线程没有办法比的。实际上,利用P2P网络进行单元增添的DAG,反而会因网络参与者的增加,加快单元的增添速度,从而使系统具备更高的处理速度。这就好比,用Bittorrent下载一段视频,下载同一部视频的人越多,你的下载速度就越快。正是这一特性,使得DAG的扩展性并不亚于当前的中心化信息系统。- d' w0 T R0 |
( i7 ~, L! J$ Y' a& w
) l% V3 u$ h/ ?6 l) X4 q更去中心化) T2 s6 |; f/ N
4 X6 R6 z# E0 _5 Q/ D
5 [9 o% b0 }+ V* | F- u" f
那读者朋友可能就会说了,区块链也是利用P2P网络出块的。这点没错,可是区块链在通过共识算法决定谁是下一个出块者后,会将所有交易交给下一出块者进行打包。而打包速度,是受制于出块者的中心化服务器速度的。DAG则因为任何人都可以增添单元进入网络,省去了选举一个中心化服务器进行打包出块这一步骤。因此,DAG也更加去中心化。
d1 J- F8 V2 u0 P8 Z5 Z5 x
; A" P1 u! H4 K9 P1 i5 c5 \* T
4 y V5 F7 G; d9 U更具可靠性
2 u9 ]! [7 W/ F# H# F' J8 M; B$ {- [" C
! z5 P* Z6 _& s% r
单元间的多重连接,意味着每个单元将被它的多个子单元和多个父单元多重确认。而一个单元被确认越多次,它所包含的数据就越可靠,被恶意篡改的几率越小。区块链则只有后块确认前块这一次确认过程。8 K1 E O, _/ G& Y# ]9 M3 L
4 l. k. t5 J8 a9 F, B" ~8 O. \
8 r. p& d& u6 m1 C. e
当前有什么靠谱DAG项目
$ L" j- E- V9 D% d: T) W! b9 U. `0 y9 d/ j5 D
! w5 ?7 f3 C! ]! bIOTA8 Q2 W# Q0 L: M8 a$ T4 K' I
7 M7 K$ [; k+ h' x- ?+ H! z, _
1 h4 R2 t0 r6 }0 N7 D: ~9 W4 S
IOTA是第一个提出用DAG搭建去中心化网络的项目。因为有“协调者”节点的参与,IOTA并不是彻底去中心化的。不过,它作为这个新领域的先行者,依然值得关注。
! H6 a& C& b7 f: i1 {
& E9 w, K2 ?3 v8 C
' _1 \+ L' m5 e: mByteball0 X. c/ a3 x1 A! h" T9 j5 \2 M
) {, P. r! \, }5 U) c( q. y
# p/ \1 I& I. t中文名,字节雪球。它跟IOTA类似,也有中心化节点用来保证网络的安全性。不过,它支持增添私有或匿名单元,也支持智能合约。值得一提的是,字节雪球的白皮书也很硬核,很适合想对DAG进行深入了解的投资者阅读。* g. Z5 l/ |( }4 r P
4 i# @$ X( Z9 z0 ^) y h7 F4 v) `' k$ c3 r, }
HLC(HalalChain)
2 T% {( S* `7 r" T: T7 E/ _7 N+ s4 V9 k4 c/ d) ^
8 z6 z5 _3 Z; J9 v% I _HLC是全球第一条专注服务穆斯林国家及地区的公有链,应用于伊斯兰金融产品及服务、清真产品溯源、天课捐赠、产权与遗产登记、文化教育等领域。基于新型分布式账本DAG(有向无环)为底层技术,在保证安全性和去中心化的前提下实现高频并发交易。先进技术与独特应用场景相结合,以此构建一个跨穆斯林国家的经济生态系统。
4 W$ ]8 s X% m+ l/ r' h(作者:EVOLAB) |