私募网

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz

区块链(YOUChain) 节点的设计理念和安全性探讨

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点7 F, b3 i* D+ y) \/ C
+ y! P# N! F& L2 a6 A6 R- J( z
   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。
# @4 V" `7 w/ t2 v7 l2 E# U; m# A( @7 [1 o( ?. a0 C: E: i
共识与考量
) z4 |- w$ n% x; r0 |; x9 s' V
9 e, }" S( C, A) ?5 t/ r6 c) Z8 h   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。
/ Y4 y% U% ]& \2 I$ _3 Y' N# o/ @
   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?3 X; _2 s7 N4 [1 P1 y! ?6 b
. P1 F7 X, p7 C1 u8 @
原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。3 [6 N; U; c; X2 Z+ }9 g" Z" Y( R
) @- E4 M6 {% {; U) ?' C' q0 q/ U
    现有公链的问题
! w/ H5 X6 Y+ s+ `6 Z
+ Z% g7 X- O0 A7 p   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。) l1 B' d. b: d+ ^5 f3 x# E

* ^. C+ @7 |) k8 ]1 n   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。
; Z: X# d0 I1 |- N6 T9 x* S% @  V' c  r
   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
: H) A$ o, B& _* T7 R, ]
6 _. v& c# l( I6 n   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。% D3 W. B# \% ~- t/ c3 A" a
+ u1 y0 l3 Y8 q
YOUChain 的愿景
5 t; K$ s5 B1 ~  f) u4 P2 g6 k& w+ M  ~9 a1 g7 Q$ l7 C, {
   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。
, T; _6 A- d1 k0 G7 \4 [% ]6 h* H# X8 f
1.低性能,速度慢,难以扩展,不是我们想要的
8 v& [: S& E$ x* r; f# O
! s" ?0 I+ [5 U5 c2.权利高度集中,不是我们想要的
. L0 [% ]. a2 Q& T+ U' ~( Y4 y
, u9 v2 n% m' ^4 O8 N3.使用费用高昂,不是我们想要的+ c& b2 c: e# b2 ]( T6 u- ], I

* g( T! j: P: ^0 H# G6 X3 f   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。
" A  s  d7 B% i# g
9 y0 P- c6 w( [+ L1 Y* e! Q: z   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。
, f% ?6 S4 f, V) h* f
- @; ~) i6 k% Q. L* y思考性能
8 E; K! t) O5 g8 P) o, }
$ ]: }& K) S: o/ [; e' R   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。0 v( c4 t# U8 g: ^

. z" [! B1 V9 T/ i怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。6 f4 f2 m4 @/ H6 L

: h! ^4 q; |4 y$ g+ n   思考 one-CPU-one-vote7 O8 ~( j& D. j

: z+ K$ O1 F2 N: e   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?
; ?0 s4 A/ e6 E# C, e: L3 l
; l" m! O! S. v   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。4 B! y" M) \5 M: L' F: i: J& j

. ^0 N8 v6 i( C7 K0 P5 g   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。
4 }( s9 i$ x- k5 k
9 V- j' g  T' V思考费用' `  ~0 A' ^. r0 Q
1 e- R7 y5 d- n  K; X% H
   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。
/ N/ K# V6 h1 M$ X6 J8 y
6 \, n1 @- Q' S- Z+ i那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。  R1 }" {9 R! W% E
! i# t  g: K! t& d! ?. a
   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。
7 P1 K' N+ e: b( Y/ e  {
% W4 g9 M% u) d抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。
% X# J0 b: [( R
% t) D7 s6 E* P6 g/ f* ~$ X( T4 b    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
  }$ U+ ?/ i# W; i) E: l! P. Q$ A% D9 P
思考可扩展性
" o& j- h0 M9 k" W$ J3 i1 l
( c2 ]. [5 R9 |4 X0 U: s    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。$ i: @3 ~) ]8 ^3 M2 _
* h* {% j2 H1 w+ O; ?+ a& e7 V
    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。
" @9 z! u9 ?/ \2 k9 ?1 S7 B6 K) j: Q, `* b. r+ J
   YOUChain 共识「YPOS」6 b. \6 @1 i9 \- V, {2 {3 ?% y
( N) b/ x% C# |
   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。0 C& n- K, ~/ ~0 \

0 W; L7 v- Q3 }% J2 V7 E- e共识流程,主要分为两个阶段:提议和投票。
2 h) k2 m5 h/ k5 ~4 ~# l& Z! }9 l: O$ N# o# q9 m# N( p
1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。1 u' ~, k( r4 a5 H) `5 Z; b
  X+ u- d8 b2 d4 V
2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。
6 d' E8 J, i$ g; A
( ^9 f# K1 v3 W5 }2 D其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。+ }. P3 [' E& i' W; ~

4 t+ G- E( ?2 i$ O. x/ K8 v! U在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。
- J& @9 G5 t# _/ s5 K0 r
& |' |1 v& N* r( U) mYOUChain 节点设计6 ]5 O% t; e! y4 F

# c) v7 G/ Q0 {6 G- g7 o/ D   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。4 E! M2 A' K5 b/ D3 m- p# e
! t- y- m, O; o6 t  L
在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。# n9 b9 g& x! r7 p( e
: O7 M( i% m0 W4 T. U8 j, W
   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。" B4 p* P8 J. ]7 |& r

) \" L5 a. h8 C0 q- e9 ]   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
9 |5 z) {6 |+ g3 A+ g
, L& x7 e* U' p0 Z# w  }为了实现我们的远景和目标,我们设计了如下的节点结构。
0 R/ A/ u9 }/ h$ S2 h
! G' @; @7 n2 f5 a& R节点类型
: C4 h$ W. Y1 O  @/ b* ?+ j; x" U  l* x3 G4 a- \3 x
系统中包含两大类节点。; \. A6 U4 }6 w5 i& }% s& K7 Z6 A! t

; V( K" W& @' u! I1 y) j1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。
2 f8 g; ?: g* y2 b* |6 P$ v/ S  A" V0 B: s! @- b6 h& w
2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。$ N2 t* B- B/ e( E9 V
2 x% R" W5 E. U- M- Z8 G- ?
以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。
6 w4 ~) w6 s" y! y8 e9 J/ [$ _- c2 ?* V* N
节点选取方式, j' E4 Z+ D$ H9 V8 }4 A

5 n0 z; I2 }& g7 s; K- s
0 g& s  T! L( I+ \( N8 e  }" a* ^: a4 W: \( [4 h
' X  a# p# D& |- ~! s+ n
+ I$ w1 L' ?" t& @( l
5 L0 j3 ?1 d; C. k) h# c7 ~
参议节点参数「待定」
% s4 T( X' z7 h- P6 y- l& L7 B. D, G- C8 Z
6 ~+ V4 C/ e/ L6 w% K, g+ f5 f- `- h

! U5 F' H' m7 s7 d+ {3 O/ z
* m$ [% `  O; `4 Y& S% F% x4 G
0 X3 V8 H8 V2 e  n# l6 l9 O" H众议节点参数「待定」' |% p  c9 J" W% Y! [7 {

! E: W: W7 [. X% _3 E0 R: p4 U; D5 T) g% l0 P5 k% `- k4 h) F, r
: x: w0 f' f3 |7 d* a
2 o5 U) f' E, g3 Y5 j3 f, i
/ p7 d6 a: m/ l; c4 A2 X! Y
两类节点对比
& U$ q8 R* X2 J) z5 z- V0 {. F! A( u1 m8 W% ?

6 e8 j' q" _% L/ C. Z" j. l0 `/ U, z- h0 u
$ q& F4 m- z2 E/ m+ X1 m

& e' W4 _5 |. ~, L( J, p    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。2 {! i2 H& M3 S" }: r# `* F9 ?

9 m; z( ^# t# U# r8 R; \YPOS 区块敲定
" p% `8 p/ [! u4 I
! H. ]6 o& I# ?3 X1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。3 T! c/ E: M! {

$ z: A5 J2 x9 Q2 t* n2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。! z2 T2 b$ L& c
) [; }. l* @0 M' G! X  C* |3 J) g
3.满足法定票数的区块,则为敲定的下一个区块
/ Z, {- m3 K( D. D. v
7 v! K2 j! h: p, s5 d# D/ Y定义如下:
  ?& y/ `6 R; k8 [5 J; P1 U' Y- w
9 }, U# S2 E, j
* O+ u8 O2 @; m& x0 o  l9 V
& V. i$ ?# m2 Y! `* U% L: ]. L- t' m4 m1 I% u' q  n
" ^1 _1 A0 _2 |- p. v) y. ?
" {9 f; O8 D2 R! `$ v- W% y2 M! t
网络安全
2 c0 J" F0 g# v7 z" Y6 E& W
& r* C% n: u) J1 |+ B$ P参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。
9 d. o$ E$ K* q( e
: g! x+ \% C8 _! U' x/ V2 ^; `官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。) \2 G( U+ C' y, z0 I) i
6 d; ?% ], c4 O  V
官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。
- s$ H' s6 G6 i( t5 y$ `0 W( L5 m$ C* a2 U, J( F* ~
链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。
+ q+ T/ a$ t7 K7 m, C' S8 m2 r( ]  P: x
网络演进) R1 n! ]* Q: G3 ?' u% r* g, o
; \$ M9 I* ]- w! b; [
YOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。
9 T! U: o& ~9 @! t: A/ `5 r/ N
8 o8 L0 @4 O. a2 h6 A; S1、通过安全分片技术提高可扩展性/ i8 k' u& _5 @" J0 a1 R: U

3 D$ E# X& R* A. w3 w, h5 t+ _2、逐步调整众议节点的选取参数,实现「人人可参与」* X) W- D  D  ]

6 T; Y. j5 C8 b- ], M3、区块提议节点逐步过渡到从众议节点中选取, D. {0 g3 t, f. E* G
5 n; L0 |0 Z4 a, S" G3 V# `! J
4、逐步降低参议节点集合法定票数 的要求
- k4 F5 C* d' g) E6 I, a: D# [# P) z, t/ ~! [$ H
5、参议节点的功能将演进为:存储、转发( \# ]7 l/ h( a% }% g% D3 i% G  p' M
, H, |) ?, K: Y" A
前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。) f, n: T" B1 F0 A3 U* D

, V8 Q- P+ n# {9 {) y: r. }以下为问答素材:+ a1 D  b% M% D' W" X
5 O: E2 i& {. J$ C2 R, C  F
Q1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?
/ J. b6 ]% `: E& c! ~0 k
. x- i( q' ~% Y+ n. w何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。
( A( E" i1 l- ~$ U6 ?; P- ~  `/ e  K9 n0 p
Q2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?
0 Q. i/ H" `3 @3 y4 p' C5 T  c, Y
* g1 K2 a& S/ Q$ H1 k何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」
. F6 Y1 x* @4 {. P/ l2 N3 W- K# Z! a4 q" ~3 G* h
Q3 参议节点和众议节点的数量分别是多少?会不会扩容?
6 N' c- w7 j. \
" t1 D3 H2 x4 f何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。
. K4 c" C$ y) F4 y8 ]5 m' x- S. \5 ?6 d+ p$ C7 S& `! ^  A& B
Q4 参议节点提议区块,是否有中心化问题?
" t. ?3 m$ E6 x8 j; R7 ?! l# y1 T6 h
何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
; m' n2 c# m- P* W
$ @3 W, J/ m, W6 nQ5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下" U# H0 a! P' o) k1 z! z, b

; M: M9 P* w9 i8 Q何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。
  U1 z7 d% n' B* {" `$ e, o
  u- N7 k: j' }# R& G* Q8 hQ6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?% U+ w/ W8 z6 e( N) _8 H" A2 `
: y6 m1 g8 c  K
何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Archiver| ( 桂ICP备12001440号-3 )|网站地图

GMT+8, 2026-6-15 18:01 , Processed in 0.715942 second(s), 31 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表