私募网

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点
/ {, G2 a- _: C" C" ^
- @% R+ H! \/ X   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。
8 S" `" Z, s, |" V2 C6 \' R
0 o3 m4 _! q1 f# ]; ^3 |3 x4 ~8 Y  l6 y共识与考量
: @+ @" x  C* M  c* Z2 W! Q6 b' Q1 _+ @; I# v& E% v2 R
   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。  x$ L" H2 v: [" w, ^, G* `
8 c( Z* m8 G' N, e
   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?" O* O' ]+ O+ B4 Q" q- ]

. X4 m% o) p! ~; d" z5 B4 W# u原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。2 l0 M8 B* }/ g/ C, g9 E) H
8 G, ]  z  Z& _3 |7 H8 Z) Z- Y
    现有公链的问题& E! N8 [' P5 W7 x
) E( B6 F+ x% h2 }
   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。
' i  g# Z) y8 |# G6 l6 s, f" h- A0 v/ J: I
   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。" \' ~. e$ r  F0 S! Y) u: d+ s
" q2 o3 m. S% y; t7 g7 F& [* }% ?
   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
, m1 K' k- {$ `7 G
. y$ t6 J% |- G; R5 ^: x- A   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。7 t+ a* w: `6 f- r
- H) o! `+ U, F9 Z
YOUChain 的愿景& ?$ s/ T. o: \9 j
+ C3 Y! M  {3 E2 ?
   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。
* h/ p, l$ H6 k
4 |4 I8 v) r$ b1.低性能,速度慢,难以扩展,不是我们想要的
9 ~% U- ~* X* K
# r7 P3 q+ E% U0 K1 |2.权利高度集中,不是我们想要的2 l- [+ m& R; Q# h
6 Q0 j( z5 g( w$ m" C/ q
3.使用费用高昂,不是我们想要的
, q! O, N8 N, E4 d& x2 F. {, E1 N
3 d: t) ]% e4 ]! @   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。( X+ G8 g6 T+ x# a0 J

& o& T5 T6 T, Q  `) m7 S- ]   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。
, G" r5 P! F7 y
: I3 b4 m' w3 Z" _2 W5 z" x思考性能' W* f4 v5 u' ~! z+ {/ Q6 p" k$ O
- v; P( L5 |, ^4 w" X1 B% p' e; i! K
   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。
6 Z* b" j+ f4 l# u
# `  s" B9 B% J7 c怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。
8 C" Y3 X  [. \+ Z) Y9 N! @
/ X( Q' i3 Y. m1 P1 g" f& ?   思考 one-CPU-one-vote
7 }' w+ \; s! x3 m) G& [% g' b  C6 G  Q1 l5 p; r2 p+ F
   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?
/ U5 D- X; p+ k5 e2 y  K# H; t% d0 w2 c" [* ^7 h" c" h
   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。6 j9 `2 u) Y* _0 L( N7 U" B% f

3 S1 `2 k  n, s6 x. X   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。
( p( u- h0 E8 }9 z6 J* _, W$ ]1 @! L) [' i6 W
思考费用+ V% r. F: J# Q' m
% c; m" K1 `7 A% F2 j
   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。8 |4 N! K2 e  D' ^

" j; P4 y2 R7 e0 E) m  M$ w9 Z那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。
6 d3 `: d# _# Y) c0 V' A  X! I; \
1 r3 V; D8 |% w$ ^5 Y8 {9 o+ e& K   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。
  U+ D8 O2 P5 n% g0 ?) Z9 o- `
2 b9 U* V) C! t9 @+ t: I抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。
7 U, C& Y8 S* @* m9 S" _/ f# V3 i$ J2 t4 E3 m) w
    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
, s( u7 w5 x0 s4 f' @
: {1 k/ Z: T$ h思考可扩展性
8 {# m! j1 d' A' m: U6 d4 D# J  w; x# a) J/ v
    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。3 @- i1 {  t. i3 b  s: U1 W- `+ w
- G/ u1 I9 _+ i5 Q4 n. h
    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。
: K8 Y# ^* m  M
+ q2 r, N4 i! y2 ^2 d% }& ]   YOUChain 共识「YPOS」1 x% z" P$ W+ I: w
2 q0 @1 L& ^0 V4 @9 I
   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。% s2 c. _$ w! @
8 h0 w3 S# [# I3 w& y
共识流程,主要分为两个阶段:提议和投票。
0 Y4 z' v; P2 ~9 w7 k; {4 B6 R* {9 E4 Q# z$ u# G7 h
1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。0 x* n2 g# [8 Z- Y/ a
! Z$ @  g6 Q) b
2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。3 Q5 Z* v! p1 H2 W! Y

! J$ X" e6 F, S9 j其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。
8 ?' ~/ z) b4 T4 y: o7 F0 d0 G/ P" j) a! q, a; \; M
在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。7 s! _4 ~3 u! W  n
; W& |" E1 k7 {
YOUChain 节点设计) N$ T/ n  F! x: P5 }2 V) F
" [" s0 a( t. C: d8 @" @
   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。
0 Y' a- o% r# T4 ~' [& m0 k' B/ O  C% U; I9 e2 U
在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。0 i0 A  R4 P/ N( v! Q+ y! J

8 Z8 G# P: s5 ~# H. ]$ a" e   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。: {; i- Q5 O" L3 C5 A, N% \

+ m" k: Z/ T( n, Y) s8 y# O: H   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
2 |: a5 t( q1 ^- [! C! J/ g
7 }7 K1 V/ z$ S7 |0 R为了实现我们的远景和目标,我们设计了如下的节点结构。% S) P1 S: ]  ?) r/ B& L

2 i9 Q% D3 }# t4 }6 H: ~节点类型
, y5 f7 Z) x9 B
# p3 Y8 D2 ~0 W% C# K+ Z+ a系统中包含两大类节点。" P4 E0 }" |6 T& ^/ J
9 w8 r/ `' j$ I2 m+ q8 v
1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。
6 [6 C- f. g! w9 @1 e
+ ]0 ^3 f, E# b, D* Q8 J# N  l$ R2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。$ I$ j3 w  `8 R

, a6 M- I* g: Q* A2 c以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。- }4 B2 \0 O/ n$ c
4 T' G9 {; A+ S" y  u& N
节点选取方式) D& i& n2 b, F1 T

7 A) ^2 }0 \" d: l7 F4 L# r; A
- W  V7 E# G% e6 J7 W' q" v; S# {( V! ]- r5 X
' G+ R2 v+ y$ Z( e) q8 ]# L

2 f6 T! Q2 _8 r
& \: _2 f& N+ Q参议节点参数「待定」
+ x) f/ A! t: F2 R
* R- r. y1 r: {
$ F! ^- _0 W; [3 Q: U/ X$ Q5 a: p' x7 ?0 |7 @8 _

& ~* Y. A1 l7 g4 ]
) U- ]& O. F! J$ m众议节点参数「待定」( X9 Y) H0 u/ ]& S1 R% ?9 W* V

" l6 v# i) }$ ^/ [: I7 P0 t
5 |6 V% N% |8 c  p. V6 r2 X/ C5 {1 [2 v; ?: k: M/ i" S3 _; Q  ]/ \

2 D$ m7 F& S& C) u" D$ E7 w$ P7 N( ?! E& g2 L  O6 I' l
两类节点对比
( a  l5 ~# e/ I' Q; ~: q  U+ b
# I# @2 ?/ Y/ V: p5 N- o. n2 ^. h

$ [$ A- B' h9 _; o! j. G0 N5 M% m
7 E' @- M& d. ^! v4 M  I
; C8 _! X' U& w5 G9 ~+ ~  }/ m    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。. s+ L% w7 |, A4 K5 ~" Q0 k
: Z5 K! H. U. ]9 d- w) R8 K' }
YPOS 区块敲定3 a% H3 _8 o' E, u: m

# i+ C: J; S. P1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。9 h' m4 U) X* u  B9 r* S

3 q8 {( L  C3 ?* K, D+ E  F2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。. G! Y- L: F3 {  W& u
! [+ b0 s3 s' y% D2 Y. ^
3.满足法定票数的区块,则为敲定的下一个区块4 b/ y4 N6 ~: ?0 c/ O- D  Z! A6 I3 [( _

8 C! B4 \* F2 t$ y9 t4 h定义如下:- Z; B3 \0 y. ^- m

  w/ K# L4 V  {' `* L8 }$ A" @" b' L$ D* Z( T* B
0 c# c1 {+ G- q7 ?' M- M
( ?3 L/ [! M" H+ Y9 e3 [

6 ^2 N2 k; A( s8 N! O2 j2 ?" _7 y: N9 x8 G. s# j' j
网络安全
* V- o' X1 U5 r- r. D; I/ U' e3 d& A4 W' W5 o
参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。
! z" v: x( `* n; T( w6 i, n; a1 ]1 {6 w  \) X- h  b7 ~
官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。
' s: F5 u* o2 c- Q* l1 z
( h1 w2 O$ ~- E. o( a8 q$ E. T% `. K官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。
: R. u2 b5 o; \  F5 O  Y$ D  C9 N1 B9 y. p& C  d2 B0 U; v
链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。6 d7 o% Z, C5 s; q/ e

1 `) x/ I+ Z5 {! B9 a9 C' E" b网络演进
2 c4 g/ ~$ G: K; @/ G) t0 o5 l5 r) I
YOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。
: ~8 P6 I$ k! z' ?6 w; v
9 K( g7 F3 e, i# a& {2 K  G8 {" I5 r1、通过安全分片技术提高可扩展性
! c. ]  {  n& F: e' q# I; B1 z* j' @4 X0 a
2、逐步调整众议节点的选取参数,实现「人人可参与」
  O* e  k- E! o6 [
! U  s# F  z# P3、区块提议节点逐步过渡到从众议节点中选取
- S5 r: p  Y% h2 y* O
" Z3 n/ k( H9 `: B4、逐步降低参议节点集合法定票数 的要求
0 @; S# i) g0 w/ @8 y* W: ^; ?; [1 T+ f6 l0 x, M' K
5、参议节点的功能将演进为:存储、转发
2 {! h9 ?; d* ]1 D4 {# b# X
4 Q% z' p* K) V: O7 _前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。
3 t) p: [0 b2 m  U3 p- H& Q/ _& E1 F( C; I8 ^
以下为问答素材:6 h0 o) Y6 `4 W- \
  f+ c& X( y2 t! T! T. l4 j- D% H( ^
Q1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?
+ C0 X1 D# \# M; x3 k" P; x; s$ Y% C& V: _( `
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。. C9 W8 ?$ ]: G) ]8 f/ T1 f9 t: _$ Y: A# Q
) C, ^. B4 @0 V7 Z, D
Q2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?* G) X# k" r0 ?! _! M/ T

: o! f% `* [, T4 C) f1 c何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」
9 `2 [; [* F/ G7 U* m$ C6 c+ `; Y( O8 B' {1 X$ s: l% `! y
Q3 参议节点和众议节点的数量分别是多少?会不会扩容?
4 h: @& C4 a0 [4 R  f! w* E& m' ?( j% {
何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。0 z/ F; p8 Q, ?2 L
% v  _% y, ~+ ?. c+ A. w
Q4 参议节点提议区块,是否有中心化问题?2 y6 C) v5 f5 R/ z# A5 V& Z

6 c3 h" k/ T' f何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
0 ^2 ?$ d$ I9 h# D1 V8 L
' E( _! t$ r5 K) wQ5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下
8 n. g- U% E& V5 d: b( U* ?; @  d. A+ F9 R
何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。
1 H3 ^( f' p* A
6 f  t1 O& |7 \$ G, F! ?" QQ6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?
6 c1 {5 F7 @  |/ x9 [1 x2 B$ F; N! }
何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-27 19:46 , Processed in 0.807679 second(s), 31 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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