圈里的人已经习惯用区块链来代指分布式账本技术(DLT),也就是我们熟知的去中心化全家桶:去中心化网络,去中心化交易所,去中心化游戏等。实际上,既然去中心化体系可以有各显神通的共识算法,那它也可以有不一样的数据结构。在这一语境下,区块链就只是构成DLT的其中一种数据结构,它如同共识算法中的POW,因最先被采用,而广为人知。今天,我们想介绍DLT可采用的另一种数据结构,DAG,它有个中文名,叫“有向无环图”。
" E) b" O& e0 m! s% z/ W. p3 |, g$ b& z; H) \1 c' j
8 m U$ y7 E/ [9 R) I' K5 _" R
3 \) z" k+ j$ S% P K! H什么是DAG. W+ D. b6 g5 ?/ p8 Q* v
+ Q' L! D( \+ U3 f8 k* f
9 _0 t, s5 Q' Q- D我们通过一些图直观地感受一下什么是DAG。- E8 r( g( x, M' ]/ m( q" y9 x
) Z, I; Y; D& _$ L3 Q7 t) o4 p
( C+ J$ M' t/ `' Y2 N' l8 @
; {/ c1 ~ A. F
7 r7 {3 g' @7 W1 A7 G! I! s! s( p; S6 `
; N, T, F* x1 s3 e
% q0 B6 E6 C' U3 ]/ X1 ~+ Z8 J, Y# H$ y: a
图1
% b* a: A. y# S: @7 s) ^1 ~$ s5 H. P- |5 o: \* W6 J
7 n- e4 R1 [/ o. p) H先看一种最简单的情况,只有两个单元(unit)的时候。这时,X 要么指向Y,Y要么指向X,这解释了什么是“有向”,即单元是有指向性的,先有X再有Y,先有鸡再有蛋。这时候,读者可能要问了,那这个不就是区块链吗,创始区块开始,一直连下去,直到最后确认块。" ~. _7 v( n/ a6 n0 C5 t
* m+ F( C G# _5 [4 L+ k
1 ]1 w. X% V) b9 F; l
此时,我们祭出图2,上方的是区块链,下方是DAG,可以看出,DAG是允许单元间的多重连接的:单元1可以连接到单元2,也可以连接到单元3;单元3可以被单元1连接,也可以被单元2连接。
4 d; ?: g$ e, w) d- @5 B" Q' C2 ]3 U5 f' C" [& F0 s
# }8 Q8 @) u; R) k
7 K# m; i. U$ @. f0 ]
6 A2 j& K' b4 w% J1 x
2 S' m, H! K; R. T* I2 S+ l
图2, n. s- R( n; \( S/ t" E
那么什么是无环呢,子单元不能连回它的父单元,祖父单元,曾祖单元,以此类推。简单来说,就是单元1,连接到单元2,再连接到单元3,单元3不能连回单元1了。就像数数一样,你能从一数到一百,但不能从一百数回到一。你得保证单元是世代传承的,不能出现“返祖现象”,这就叫无环。' e: y0 v3 Q" U) A1 f
5 B8 h: V5 ]* D+ S, c `. ^5 c# p, |5 v
不难理解,记账是需要有向无环的。第一,记账是按时间顺序来的,先有交易X,再有交易Y。第二,帐要无限往下记下去,不是记着记着,就又开始记历史上的第一笔交易了。
+ a7 s E' s! Q1 K& D$ Z' m
u6 m0 ~8 R+ b% R& R' r9 r6 k& r/ Z$ x9 M5 \; H6 W
相比区块链,DAG有什么优势8 E$ H; l: O b
6 l- c2 h! v# k6 c# X @# t
0 i1 m0 q2 g4 ?4 Y, L
高扩展性
& Y6 p2 d5 |* |8 B7 O/ M# _
0 D# C& O' L7 Q4 L4 O
% ?$ `; R3 w2 o" x扩展性是软件系统的能计算处理多大信息量的衡量指标。相比区块链,DAG这种数据结构具有更高的扩展性。DAG允许单元间的多重连接,那么同一时间,就可以有多个单元被建立并发布到网络中。相反,区块链在一个固定的出块时间中,只能有一个区块被增添到网络中。这就好比多线程和单线程,而多线程的扩展性自然是单线程没有办法比的。实际上,利用P2P网络进行单元增添的DAG,反而会因网络参与者的增加,加快单元的增添速度,从而使系统具备更高的处理速度。这就好比,用Bittorrent下载一段视频,下载同一部视频的人越多,你的下载速度就越快。正是这一特性,使得DAG的扩展性并不亚于当前的中心化信息系统。
) a7 Y; X: [/ e$ |0 C% v0 x k' Q/ R& h& y8 w9 B& Z9 {
8 e; i! p2 l; R; N. ~# P F
更去中心化
, w) [3 Z6 A3 `
8 @ B$ R, p( n: n1 _) g9 G( C: ]) I& c& _( l; E0 ^
那读者朋友可能就会说了,区块链也是利用P2P网络出块的。这点没错,可是区块链在通过共识算法决定谁是下一个出块者后,会将所有交易交给下一出块者进行打包。而打包速度,是受制于出块者的中心化服务器速度的。DAG则因为任何人都可以增添单元进入网络,省去了选举一个中心化服务器进行打包出块这一步骤。因此,DAG也更加去中心化。& a$ k/ u B1 k+ U6 u
- g @& R" a. [- g' X) E: V
1 s- H. v" P* \/ Q6 r8 o更具可靠性4 o/ y# u% ~, c, v
* W# w* ~# \1 Z j# S) K7 h0 k' h# n' ^' J# f6 c
单元间的多重连接,意味着每个单元将被它的多个子单元和多个父单元多重确认。而一个单元被确认越多次,它所包含的数据就越可靠,被恶意篡改的几率越小。区块链则只有后块确认前块这一次确认过程。8 c- D9 w4 v2 ~5 x- p$ D
1 b9 Q9 T D$ W8 `# [, H3 h) Q9 K, Q. J; _
当前有什么靠谱DAG项目& W5 w9 w; P! e9 J' Q
8 t6 y" b+ @. A4 c: K5 j9 w4 x7 l3 i$ e5 K9 V1 e' J& B
IOTA* u5 \5 f7 `" R2 n0 b
4 `; Y" O" U" h, e
3 k1 w6 \4 `2 t( J0 B+ PIOTA是第一个提出用DAG搭建去中心化网络的项目。因为有“协调者”节点的参与,IOTA并不是彻底去中心化的。不过,它作为这个新领域的先行者,依然值得关注。( s; d) H% @9 f9 I7 m
2 K8 j/ L6 z, }9 u# f( \" X: ~, n
# x! l: W2 Y4 c9 Z4 _2 H, W
Byteball
1 W# |9 a7 Y/ v5 t1 |) g7 P
- d$ k" w6 b9 \" a$ B3 m; K* `9 O2 ~1 |; v) N1 J! {. n' I
中文名,字节雪球。它跟IOTA类似,也有中心化节点用来保证网络的安全性。不过,它支持增添私有或匿名单元,也支持智能合约。值得一提的是,字节雪球的白皮书也很硬核,很适合想对DAG进行深入了解的投资者阅读。
0 v& D6 H; R$ |9 ]! [& Y5 ^0 t; O. _2 w, F$ l# W
7 i4 J/ Y! e( G- N1 [* SHLC(HalalChain)
/ \8 {4 e- P" h: u% W
, s' D- ^; t6 X- C7 [9 D( B$ i9 Q/ j* f
HLC是全球第一条专注服务穆斯林国家及地区的公有链,应用于伊斯兰金融产品及服务、清真产品溯源、天课捐赠、产权与遗产登记、文化教育等领域。基于新型分布式账本DAG(有向无环)为底层技术,在保证安全性和去中心化的前提下实现高频并发交易。先进技术与独特应用场景相结合,以此构建一个跨穆斯林国家的经济生态系统。
1 l; X! Q- B7 v; z) i9 m) l3 Q(作者:EVOLAB) |