私募

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点$ S9 w1 |# e% p& T0 z

6 m  G% b. Z3 y' @/ {   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。0 p5 ~. O5 i+ Y" |) U/ L
8 E5 g, m9 a& a8 x0 X/ F- `' q3 l
共识与考量
0 \0 n: D# e5 s4 C
8 J. i) l" q  x) n5 c- V3 P   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。  f: ?5 O, z  [2 t- G. R4 F

; q; J8 }! _; ]5 b$ u1 d) p- p  X   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?- R2 \9 F6 A6 R& S# Z9 j' U
4 H" l* v5 e! k7 V' l; a6 b
原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。4 O' A% ?3 e/ t

) a6 V6 x0 y  \8 O" _5 o    现有公链的问题, k- n' C- M4 y+ P1 X% ], {; a
; _! S! ?/ z, h
   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。* ]8 ?) F6 I; q# g% x

: Z5 W$ U  T% q) A9 `9 j   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。
2 t, H) M6 J) S0 r. S7 m
3 d8 B/ {' ~0 N' R: b. p* `   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
1 r% j+ J1 Z7 v; Y2 _+ k) F# L5 h: m+ _' g1 M+ @" t3 _8 a( f
   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。
6 i, E4 X1 L! l5 l5 J9 S$ e/ a8 ~7 d, G- T" j: E3 @; Y
YOUChain 的愿景
3 t& c8 U, i- [" z3 C, |3 D- w$ n) C1 R1 i) n9 C2 u& a: b& H( o) ]6 h
   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。" {, X* d2 }9 ?% ]

5 y+ Y: p6 R* N; g1.低性能,速度慢,难以扩展,不是我们想要的! U9 c/ d( h, e
$ u$ O. I) I: f& m' [4 G- L
2.权利高度集中,不是我们想要的
6 r$ ?& w: b1 N
. j# F& t0 W$ e6 @+ S3.使用费用高昂,不是我们想要的; k' z; B* C# n/ a

7 f4 {0 {0 E& F6 ~# B3 D; g   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。
  q5 g/ v2 D# Q! Q) x5 T3 R6 q7 p, c; U: J* @+ [
   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。  K3 H9 F+ W% U, L

/ b) E* P# h1 m; ^: y思考性能
  n: x8 B: s% N9 R% g( ]( L. c! N, c7 t# C% E6 F  ]  @
   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。
% {0 ]5 E$ i$ F% Z. }' @
( |$ F7 q3 O0 ~6 L怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。
) W0 Z; O1 U0 Q, ~9 \* u9 f- y- E$ H! @, w0 j  l3 |; u7 D4 R! j
   思考 one-CPU-one-vote. S7 R, Y& [  O. @' _, I
' f  _% t; J1 a  C
   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?
# {- p  t. M9 a% W) R" G# K9 w5 G1 ^/ ~. _$ l' r1 O
   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。
! [: ^& W/ d3 h! B+ ?; }" R- P& [3 u. k2 Y- h) g
   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。" |- Z1 S: x. W
& p5 d; l! O1 G5 I  U9 F5 b9 q1 n
思考费用
: B4 Q. G# S4 g# B- m6 Z: W3 L9 G
   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。
2 b9 F2 `, P$ s) G& d6 a1 ^3 d9 Q7 z  H$ e
那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。  u: E  w/ O0 V* b  r

$ F. e3 U1 F/ A   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。( A$ z0 `: ^. _7 n8 ]- Y
3 G/ F$ V: G7 M* b' i+ R/ B& d
抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。
# c: U6 b: e4 f  A  v3 S
3 k5 @* |% h. V# l. E    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
8 q* ^0 N' Z* D- E% K
  z" F: Y' H2 ^* D' K& ?思考可扩展性/ G+ N  Q' N4 D# D! t  L

0 v2 n6 s# `  R0 x9 l4 F* m) v    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。
7 |  v. R$ v2 Q5 H% w. x2 f& ^  O/ d7 t% c2 |) q+ ]
    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。1 ?. z  }1 u. h1 N0 d5 X& G% q

* f( Q: f: c# X6 y0 W5 p5 q' @1 o- y   YOUChain 共识「YPOS」; `5 ~' z% \& v, {- j7 e4 m

+ f0 r2 e1 H0 q. I% _   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。
8 g& E" {2 Z2 l4 s1 Z/ h
2 S4 {2 I' d# f$ E$ }$ X共识流程,主要分为两个阶段:提议和投票。1 Q( m, {0 S* f/ o; U

  x- T5 X( V8 i/ z% p1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。
+ p. f7 v; A; @0 C, P4 k1 m$ H
* B, e0 h2 v: [, L0 c4 @4 t: P2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。& I2 m, U3 L9 {0 i& O# }

" a- c1 h* U) g% E# u: n其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。
! H  K0 D& q$ b$ @" d- ?( J
6 f+ a& m7 F& O! n" q在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。
4 A6 t3 P( U  B, s) w  o! l1 g; g& S! B6 V
YOUChain 节点设计1 B( x# H& t: Y4 [0 y1 _
' W* s# l" n3 W+ Y- E8 ?
   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。" {% Y* d* E. e8 `, q% n2 U

- b  E) u- {9 g在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。
* S" e' C4 [9 N: {* U
! q0 {" R8 \* S5 v3 v6 H1 r   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。9 R$ r6 I' B7 b1 J! ^3 J' I. J
9 g7 [  l% M6 n
   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
% }8 |8 V& ]9 W9 E, e! s0 u! b: r& ]0 C" G0 t- z0 Z
为了实现我们的远景和目标,我们设计了如下的节点结构。
- L, D* _5 j0 v( w4 e% q; h/ z. o' o
节点类型
7 g$ J& `6 S$ F3 s$ ]) I5 C( Q7 H; G6 S9 F3 V: v3 u1 ?- H
系统中包含两大类节点。
* l; O1 A# e( v, a% {  I+ D! q! N7 B1 X7 R
1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。9 [& H6 E/ P& \2 X$ S: j

/ `  c6 f9 J" h+ ~- L6 {+ m+ E2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。- E) T. M/ S7 N5 n

' m5 ^2 I" j7 e- Q' ]" {9 H: N& k( S以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。
  L6 ?7 P* m6 j0 m7 X
( Q) {: s! k' T3 D" o' E节点选取方式; \. Q' [+ ~& o
: A: F( _9 q' ?7 L% g, G! d

  w# Q& M' u- N7 ?) c) O! e& m3 D1 }( T
' o/ l) q" T$ W7 B) r- ~
, r: O/ ^0 s4 I3 D" C/ \$ K( @  n! B8 I- B& ~7 y

2 o3 X' o+ \+ b' V5 e参议节点参数「待定」6 H# R$ y0 }- l9 W6 h
) A1 u. e- m: d  g

$ [4 `6 Q2 r; v" `8 z1 c) d7 S, Q9 F$ @4 ~1 V8 \, @
. D3 A  E- S- p- _  h4 t$ N- G
# d; }- v) y! r! ^+ E) b1 L5 q3 D
众议节点参数「待定」
' D0 ^' Q: b/ q" y/ `, u% {
$ Q( a3 L6 x& r& K) W* G2 e- `1 K4 F+ e1 R
4 O+ j! L1 t) J/ s" h4 t9 b* u, V3 R* }
# j4 k2 H7 p) h7 x$ T% z( i

9 e5 l4 h% P) H+ m8 K6 o两类节点对比% R4 X- @: Z! W2 I8 Z" V2 L

1 H6 p9 b" [$ L  |9 T3 p* S- \1 e8 A. A2 F; L8 h- e( r
# F6 u1 j. b  y+ {5 A! {' t

; I9 o! v# c% X0 Z$ a; w% K1 H! V) a7 e) t+ D2 x
    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。
$ T1 Q( Z9 x0 |+ o; y5 P" ^+ `. a
. e5 m9 Y" R( S2 CYPOS 区块敲定/ ?' }$ P, p+ U2 S

" j7 h+ G$ B; `% m$ ?& r# d3 c8 _1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。
0 ?, i/ U2 S, {- u0 b1 f/ p' @2 S, p8 B+ p
2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
- r, K5 i, T; `: `+ y6 Y- B
4 N$ b5 x" x: ?% T; P3.满足法定票数的区块,则为敲定的下一个区块
! _- l/ _8 l% \  w, C6 c0 s1 |, c: n" n5 J1 C( B: q
定义如下:
& i! P$ S/ J6 y/ M) d5 u5 C
) h( U$ @; s' H- \$ S& z: A6 m, p1 f2 ?& R/ }% Y: B% s
( k1 q' n5 s8 }3 x3 \, v4 l
2 s$ U8 j7 i0 j
" u7 Y9 B8 s1 ~. ]6 x  [! i
) B, J, r8 D  e7 N3 p; u1 T" R
网络安全
, }: N9 L( Z0 L6 ?: r  w3 |: e7 M8 E: C8 H2 r( c
参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。
# e+ m0 U6 J6 }+ \" g) D
& N- B( [5 x+ `5 I. l官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。
( t* D4 C! B1 |; \, o- q% V& ^/ Z. Z3 b# x% [
官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。
" b& r1 s; n/ o  c
" h% \, i( L; N; g' y链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。) ?  K4 @! b, C

. k4 B6 v' {6 N3 Q. F  j网络演进
) r( D' u/ p. _4 X  b7 S' x  C; R+ g
0 J  {, O. m0 ~3 hYOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。
& z/ P! p* n' i1 S0 ~1 ~. @# \5 `
1、通过安全分片技术提高可扩展性+ I" {. x; R% U
3 Y, _- a( P9 A: A" t- ^
2、逐步调整众议节点的选取参数,实现「人人可参与」3 I( `3 s6 s( a" n

4 s8 \( R& F7 }5 J6 i: E3、区块提议节点逐步过渡到从众议节点中选取2 X  P8 k$ G' n( r6 E" y
1 p1 C( Q% [6 P; S; ]& _2 t+ \
4、逐步降低参议节点集合法定票数 的要求
- z# {' s) g  d# M0 Q/ }% f( l* H4 O- C$ Z* e
5、参议节点的功能将演进为:存储、转发
* o! x0 D" g& M+ I$ N+ \" H( S* a# C7 \& ]8 F9 ]
前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。
. f: b5 M$ ]7 s4 o8 E$ [* \$ a+ S- K% W9 P& Z1 _
以下为问答素材:& {7 \/ C; p! i

( Q) r; s6 `+ L8 @- `7 _; A; sQ1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?
4 K$ O2 b2 Y: w* C2 J) O7 y0 Q8 ~% s' W3 }6 j
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。
* a- t& h1 b3 L- X* z
9 V8 [  ]4 V  i, `Q2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?
5 P# A/ V/ A, Q6 d* l8 U* C, e- p( \! f& t
何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」
% {+ m7 u/ p+ [7 N- I$ w+ C6 x) N6 a( v3 B% Z, x) Z, D
Q3 参议节点和众议节点的数量分别是多少?会不会扩容?
9 o5 M& D( ]6 e( B# e" G: \# C
( ^1 B8 {+ K3 y% F. L, p何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。
" w+ h/ ?) A( Z4 g2 }5 x! Q- Y! K! `1 f" a* o+ o3 v! @
Q4 参议节点提议区块,是否有中心化问题?
- t/ }! C2 J9 _0 [  Q
5 J6 g5 \- U( w- g' J( u; i6 X何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
' m0 h8 N7 i9 y% {# `' x4 u
% f6 {8 X3 ], v5 V% j# [3 h% G+ n! SQ5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下
1 Q" k0 X& a& i
. F9 N, z% H" X& P" l! Q1 n  [5 m8 }何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。
! \2 P# b5 d8 K5 a- B8 G# k& [9 U9 m6 R+ g6 f5 }+ @
Q6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?
4 G2 y8 P- g$ x8 Z  R3 D  ]7 L; m2 X) N
何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-1 01:07 , Processed in 1.438419 second(s), 32 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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