私募

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点, i( K1 K4 P1 \% Q/ I. E5 e
) `: G4 s+ U% i0 a/ Y
   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。! p1 d+ m) j. \5 H, r
9 B8 ^- H6 n* z( V+ C
共识与考量
/ H' U4 F# j2 _. z; c2 l6 A6 S& ?- Y4 ~0 M4 l0 o0 ~% }
   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。
% v2 \5 v6 t" J2 l
# j- ?# v  \/ R4 T3 W   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?( I3 q, t/ I# s8 l  K' p9 O

/ l0 G0 f5 z+ S7 K3 E, ~原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。' L$ F7 H" S6 B$ k# g
' Q; |4 s% G- n. r+ f
    现有公链的问题
& f8 R. D% @4 e/ U% h; n$ k& {  M7 Z$ L* Z: G( O" h; ?
   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。
+ z2 B6 `' r. W9 Q- L( F2 K
2 m5 Q, S7 E/ p+ F   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。2 I5 Z( G5 f. X! _
* \) b7 @  K# d. ]. ~* I" [$ I
   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
# ?( G3 o, D# o. g. Y
$ F# k# t- t( W9 ^% q$ p0 r7 K   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。
7 t! N- n( g5 r. Z5 K& e) b% b2 o6 r4 F5 `3 X# |$ I3 b$ r
YOUChain 的愿景
$ e2 u; T! n) U' ^# m( Z: _6 Y% S" S; S, E
   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。+ ^" P) X, Q9 S( e4 ~
6 r! c! c" i: H7 @: I4 Q8 e# }* a- b
1.低性能,速度慢,难以扩展,不是我们想要的
& j+ C8 `  i5 E' b7 i
# |' Y: \* p! U, e, [4 v2.权利高度集中,不是我们想要的4 Q4 B, ]. y; W; s5 j

2 [* M3 T- J+ l+ G1 q& ^! u, _3.使用费用高昂,不是我们想要的, G" y5 y2 j2 x. j7 o, `

  d# N! k4 |& h   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。2 h* J4 f# f6 `# }
1 n1 E" t6 m* I( D7 X' h5 ^
   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。6 g+ `$ r  z  B7 i9 Q" d: K

5 E+ R/ q: d+ s% x# ~! m思考性能" m( q# {2 X1 u4 v$ ~
$ u2 u! v, A/ v9 C; e& S* O
   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。! M0 w6 {: U. N8 z6 _1 m
& I2 A* F8 @$ C! j; ?$ m
怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。* c% C9 |/ T) [: S" [, f

# M, R% ~" a! L& {& p, Y   思考 one-CPU-one-vote
5 w! k2 P. \  R+ a- `: q- P4 x, M' r& b' l& x+ F
   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?6 }! O( b1 Y$ G$ B* p; R' O

. g2 I' w) F/ K  I8 V" S  b   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。
1 y- {3 z: U- d& O5 A+ m% J2 N* n5 J+ a2 ^: |
   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。
& M( C  b7 S: S  O. B0 e4 i
1 g$ S- |& D" j- @! q思考费用% q- Z9 G9 R# t4 B- Y0 U% n3 d) R# L
9 s' w3 \7 z( o$ _- R2 o
   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。7 K$ T( I7 h# V! J
! }. W, e( `- h  m; k+ z9 |) T
那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。& V+ x) d6 m0 p( O) S+ ]  f+ ?+ b8 l
) |% D6 f1 [1 T: G; y1 K4 t7 D; o) V
   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。( N' P  F" a2 p

. n! o/ P$ s5 ~: Y: c2 j! F抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。$ M" z* n' s! T$ ~

5 }: o! u. h) I$ C' w    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
- ]! N- b/ I3 h9 [* b/ a
( v+ v' O1 a: }* j思考可扩展性, b: f% V9 w: j( Y, B+ F
: n" T" R. r2 C+ T' `8 Z) h! Y
    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。
# h: d/ c- F* t. h; \% d* {; E" f& X* q
    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。6 m1 B# x! c4 ]) S: ~
, }1 R9 x# C2 a7 V: w1 \. q
   YOUChain 共识「YPOS」
- N9 g5 e) S, T4 B' a, T7 U( p2 d& K3 Z' @- U. w& ~/ E" G
   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。
3 A$ f7 u5 P/ n) q  N
3 d, s- J9 k; W& ~; S* F& E共识流程,主要分为两个阶段:提议和投票。$ m  c- n# x) I, b5 T0 @
: n0 x; K  l7 l/ {: D
1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。
- ^* R, T+ O- ^/ U0 ?  d! t& A" a+ Z: {8 ^
2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。' u  |& _( r( \% ~

) }4 |1 s4 V8 Z& v( V0 Q1 ?$ F其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。
; v: e* ^2 ~! F6 c* b1 z6 [7 n; B6 K' O9 l& Y3 I
在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。  t; H) L5 Z& a6 |( {- [$ e
' t! J5 o( k* G! O
YOUChain 节点设计5 ]: `$ d. C$ `& t0 h, A
( c" O8 i4 J9 D0 }
   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。
9 C% U/ P/ E/ O6 e& }
0 q! E1 ^3 X, y  a7 c/ y在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。3 O0 [: N2 p% B7 X, u
) J5 J; H! K6 z
   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。
, I5 L  w7 Q+ u( `
' A# b  v5 X% O1 B6 N   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
+ _5 r: Z3 v: e# `' j
( l6 m/ I& n3 o. x, V为了实现我们的远景和目标,我们设计了如下的节点结构。
+ v1 D: A; y0 [0 W2 b. _1 N7 Z  P2 \4 j4 K  i8 p
节点类型
: v. W( |& w* l. {; ?4 y; Y- l
1 K0 v2 ?4 Y( `/ n8 M. l系统中包含两大类节点。
. O7 P/ `- j# e* h8 b; ]+ Q6 n1 l2 C6 x) K* G3 s
1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。* |' k8 G2 Z# w) p% }
% B3 C% x) M) d- t0 X
2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。
- e. p" q& m6 x- e& c; ?" r0 v3 }- Y  g) j7 W, K0 o, B
以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。! O. k5 m( t, ~/ `7 p% Q- t
  G  k- _2 p7 X) O' A, Q% ]7 ~
节点选取方式
3 @$ b: _" w. e& h9 v2 k- a3 m- W6 P9 ]+ C, P

" d9 @' m9 ^5 i$ n! z# [: m0 |* W, Z2 a0 C9 W. N4 C& S3 A9 Q

/ ?% V& {) F8 S. E! a0 C7 L+ o7 M2 C/ K- F

% `% x2 B' i: p5 H参议节点参数「待定」9 @/ g" [1 P: [+ I- r  `' o

5 [  E. i! y9 p8 t2 }7 k
  P& ?% [% g# o6 B7 m3 o
- q: _; K( B% l/ s3 B8 |( r. ^2 ]: g: M2 \

* h. G% d, {) F9 o; X% r3 e众议节点参数「待定」
5 [6 i. F0 n" E7 Y, c* {$ T$ q  X1 N4 U* j5 U; h; x" r

7 f$ F. i7 H7 _0 H
# W4 K( Z2 l& I/ t  T$ t* i. l1 l. Y& d& i' _

( r2 b; t4 h) K' Q, F- i两类节点对比
) k4 ]' O. t$ ^* N! l4 |) t; F
3 }7 G$ u% d$ y3 R
3 V* V, s, o1 ]6 w& b& H: }/ G# q
# x# }' z1 H' s6 ]4 z; L) {* C) p# S5 }1 v% |. d- T, `, U* s& `" {0 o
3 R; r3 e6 E/ H6 S& e( m5 o
    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。$ B/ P! _; E  X6 c9 V. {) ?( T

. `! P; F7 b0 a& @YPOS 区块敲定+ g- ^. k8 [% t$ }# a0 P
+ N. s% V  a4 \1 n2 Y( }7 ~
1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。+ ?4 `, z. ~; |  H, G7 ?

' E2 L6 a! P8 C/ K! f5 U% Q2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
* k* k& b! n  _. k' s# e8 F7 v" C! Q+ U: D6 d* i
3.满足法定票数的区块,则为敲定的下一个区块5 y8 |$ D. L8 H  a# h
* m/ u* a' {! P' N
定义如下:
+ f1 \3 H2 N; q/ G: X+ e% a( d. ?$ U7 S# `
; w, c7 T, ^# q( r& k" S! s

& f( a0 k# }" g, s3 U
! i  O; c; z" l% h& U
/ s7 g+ d$ z5 G6 g* k
* a2 X2 K  d! E+ N9 v& C6 Y: K4 d网络安全! X+ O  j7 Y" P3 ^' a$ ?, v6 P

. m' j- l" G' G( }- }; }" c参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。
) x/ e7 A5 V: c- r( t5 C2 }3 N
" W" |2 V! q7 Q3 W0 S官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。
/ A$ x. k: R, V% ]- T, {1 h' ?# Y* t" s0 M, ?
官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。: w/ p- T. ?; V% C) U

* v4 [8 y7 a/ d0 n1 X4 [链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。
* Z2 ?0 e2 ^0 ?2 L: ^5 C3 t" D# T% j8 H" T  f% Y0 P
网络演进5 x, D2 l0 n8 b7 z9 d' Y: c0 g1 D

% z0 v9 Y) x4 |- HYOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。
; [# F3 z# ]* w  A5 D7 e# L# C6 _/ l9 U% H, N9 J( e) l
1、通过安全分片技术提高可扩展性) \/ J2 v$ h4 _/ Y7 `( _: b: C

; o" n7 C$ {, ^* d2、逐步调整众议节点的选取参数,实现「人人可参与」' v2 {2 g; d# \- j4 l
* Y! f# E: h& M& |  ~( s2 |
3、区块提议节点逐步过渡到从众议节点中选取
& _+ k0 L, x. l& O- D' I; `& L: N" h+ C4 i/ p1 z2 y
4、逐步降低参议节点集合法定票数 的要求4 I; S8 J  B0 T" ]

1 E& W% {' m8 f; r5、参议节点的功能将演进为:存储、转发7 R% z5 B5 y0 Z6 T
, N: m7 B  n$ |. V) c+ w# h
前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。
* p5 C" L) F3 _/ _# h6 P  O5 C, ?/ i+ g7 r' }6 y5 \. u( Y2 J
以下为问答素材:0 q1 Z  V! B. n

$ |& N( x( ?% }  x+ W% H; |Q1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?
2 U- G! s8 J) d6 i9 h0 Q! F3 f  ~6 g. e) N/ k$ ~  {
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。) L/ F6 E5 d% T" A
* c' i8 a5 Y6 g# _
Q2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?7 E6 ^' c5 j/ b/ P) [, k$ D  G4 w: M
% O3 t" c) A4 h! c. x9 E1 f5 w
何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」' y( s) l. Y% n7 Q

# f" Y+ F/ |9 X! }, }2 O5 i1 P+ Z; M* KQ3 参议节点和众议节点的数量分别是多少?会不会扩容?
! u, P0 J$ v; J
. L8 H* K' ?; g% G何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。! n% }) a1 [: ]$ x( D& x

% e( A6 e0 G1 O  {; c6 j( y# mQ4 参议节点提议区块,是否有中心化问题?5 X% L. p) c4 N/ `+ V+ D/ i- T; o
" X. x: o3 \5 A1 G/ E
何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
% @; R% |' K% s5 E, M8 c2 k$ n# w* v  X
Q5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下
& k+ j2 v% f: _6 j8 ~2 `% s) o: ^, Y3 I- i8 }) j# X. G
何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。1 `7 W& N$ b+ k; h% v8 x! @6 A

" b' F. b  W3 E  f( V: B; W& uQ6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?7 t/ |- t" D8 U7 [' y6 b
4 M% E' E$ s. f9 b& n/ h9 V
何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 01:45 , Processed in 0.611376 second(s), 31 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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