私募网

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点
# g' b9 c5 G- `3 A9 ]% s: |7 b- i! Z' U0 F4 t  Z1 A
   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。
: P/ ~: U9 v3 s$ ]
# N4 N  G5 {0 \8 @! x共识与考量. A- i* t# T$ G/ ?* P6 C& ]  K
7 Y7 y1 B0 W4 ^
   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。
1 x0 x, e) ~& c3 J- `3 N) c# X" Y6 {# K, i3 W3 C
   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?) H2 r/ |( S% t+ j7 F* k0 A
; `; r+ y" X3 _, X, R
原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。
9 W# f0 r3 U7 `0 U* f: C3 d# }/ G$ K/ i. w/ ~) k% k# m& O
    现有公链的问题4 L" a- s: V8 Q( m

9 `# F. G2 S* c$ o   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。
. l6 \* n3 H& X: ]; Z) o; ~
* ^. o; |5 u( y, p3 F9 h   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。
' E) c1 X/ I' }- u+ x; o
8 z7 w8 X7 K$ K; z# G$ B   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。5 @& a3 ]3 Z7 P. x( M

$ D: w! t  H% x) T1 i; d   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。
. A5 G+ h9 H9 ~  V2 B4 a' c. x3 _; q1 v! M; U
YOUChain 的愿景0 X1 L4 G! A* S, R9 w3 F" U/ G5 }1 ^/ S
* }' g5 {  ?, J4 s- Y$ C5 D
   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。0 H5 F' V  B! [% f2 ]& e
' i0 L+ s1 O- Y! q6 X$ x
1.低性能,速度慢,难以扩展,不是我们想要的4 E$ J7 R/ r4 ?! r) S6 I( [

6 ?6 Z  a1 y( U( B0 L8 ^0 z2.权利高度集中,不是我们想要的4 b, _" B. A" |# H# N1 F
! k5 F$ q4 B0 S
3.使用费用高昂,不是我们想要的
! j* M# B5 g8 R5 g- n& Z# _6 v( j- }- o
   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。
# i' F# T* {' e/ h, U  i. F  M* a$ ~, n
   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。) b2 o$ W  L' k. E; k: B; L% h) @. u
+ W4 u; r% a8 y& y$ D( j, n
思考性能$ l. g& `. {6 H+ {; Q
$ F( ]; J7 ^8 h4 E- q, `
   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。
, N$ G" Y/ {' \8 U2 U/ ^
( H  K6 J% v+ O5 ]6 d怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。
, \1 R( [5 a% e# i9 j, J/ S
) D3 j; v' m1 y- ^; M! y+ [% t   思考 one-CPU-one-vote" H* r3 `$ ]2 ]+ f% H
0 J$ T8 Y+ Z. k" S8 k
   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?  }# n, g# |  ]* B
2 m4 O/ q7 ], R- u7 ^
   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。
- V8 Q7 X5 S. R7 b, Z7 e  }- V! |7 B
   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。) R6 I3 Q- i# d# M+ g+ U# {
1 Q) L  p; R3 a. f% h
思考费用- t9 o5 o! K% N) @) J2 u
/ ~) W0 i  Y$ W+ N5 \
   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。
! |+ m' R1 O; q8 K: K7 _2 b, ]: C9 w
) c. H2 D, i% l& F: }9 H8 ^1 l2 {那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。
; T& ?* P' K3 Y% T- \9 J6 G% q3 [
   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。
0 Z6 V( c5 `3 ?' f0 b6 z8 |5 x4 S$ f; J+ T4 M
抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。
5 y2 O  d5 ]; k; w, V! \; R, f
  E4 M; w) U& {5 M3 R% Y    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
$ m5 r& y7 @; G3 m# ~, ?3 I9 G) z/ x0 B7 k0 b
思考可扩展性
; ?1 B9 X* R& o5 \, W! p, p! L+ \4 Y  e/ O, g- k3 m' E( A# W
    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。4 S% {. `$ |! L: b& t& S  c- d
/ w/ v3 X* }+ |1 h% U) P6 Y8 C
    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。- S  E3 ]/ X3 @

9 o; z$ Z! N4 p! x* e   YOUChain 共识「YPOS」1 R5 R) a3 u) J& U, ^

* @$ Z) }1 d. Z0 u0 K   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。
- I- _1 V  Q" U5 X, S& G$ B; J% L' A# g9 H# R, Q
共识流程,主要分为两个阶段:提议和投票。
$ q0 X1 S* ]. ^! m" E* C4 |/ G/ I8 {
1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。" y5 G% C. P/ u! M% G8 P! X' K
" A$ V1 y1 ]6 V
2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。
0 O5 N* p7 m4 A
4 T% i$ i( f5 D& x3 Q9 G6 L+ t其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。; M  R3 s6 v5 x' f. _

  m" N2 K" ?/ d在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。6 y) h1 O# Y! A0 z

% X7 J6 D0 F3 f0 n. W6 GYOUChain 节点设计
( b/ X' }3 m, k- y( o8 ^7 a4 @+ G( _! e/ C2 p
   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。
: F$ ]0 [% z& G2 u
7 C9 e% d/ C7 m+ N2 `在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。7 V. a. p, V% O5 `

2 ?& K8 j1 m- q8 X  I- b8 e   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。
( M# ?, M. w: q9 O: _+ E4 w- `' @; Q  x9 L  T. X
   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
9 |) [4 u# R2 d- s+ v. A, ~: n3 N2 o
为了实现我们的远景和目标,我们设计了如下的节点结构。+ r' i9 }8 z+ T+ w; t% U
1 [, r0 l2 l4 t% I8 Q
节点类型
! \8 R+ h" x, D0 S" S4 j( c  b* V
# `3 a, Q& ]# K4 ?  x1 r9 f- v( u系统中包含两大类节点。
: i( D& \0 W/ W# p. X; S5 E: P! J& r0 j' e5 w4 L. T/ R
1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。9 i; d% k# f& F7 C* ]8 b
+ f* @( R2 h6 Q
2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。
3 b0 s. n! y) ^2 O9 `2 h9 g# h6 F3 Z* A. L& Y" _7 |5 M2 [" Q
以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。
0 j  c2 G2 x2 A& u
6 P0 S- C1 K9 a, F; n节点选取方式
2 |6 X( @! e  g; Y2 {, M& _5 B7 T- N# o# ^, e& u9 J$ @* r/ \
& J  a) J* R7 F
5 O/ F; f; f2 e- J+ p
' c5 Q7 g) ^! y
0 I) g7 a3 K( C0 @3 ^

$ `' [, o, ]- j0 a0 c$ Z( j参议节点参数「待定」
- E( l. B* c; k* t  s" n. `, x/ f! \6 K6 s0 L- n
. ~  e0 q6 h6 w* B8 R

" v. R: Y1 y1 y0 T- @
% [* [  q# ]9 O+ l( W- p. k& r) O/ ]6 a, i
众议节点参数「待定」% q: E/ l; `- S) `/ L3 S( o& M6 Z" d
( q( G' D" Y0 H1 v) I6 y, q

! K5 n  a4 w# k! _& j, x1 i$ m+ A$ X/ x

- _- }# c2 Z4 I$ |
( |$ Q. |  d& G& ?4 G, o- a) y. C两类节点对比
) {4 G, M' ]1 [1 s" c6 I. {* ?
6 F( q/ m$ n4 s$ h. [; q2 ?% m
: o. B) T6 |# `+ a6 S0 d5 ?
- o; w9 E& @" {& G2 P

" _) Z: M) I2 e( H( [( ]    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。
% p+ I; t8 z. u8 R7 n( a" A- l" f" T! G# `/ j, `6 r; V
YPOS 区块敲定  W9 o' k: L4 Q. `' w2 |. ]

1 _! m% e8 z1 e) k# t0 [  d% x1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。
2 @5 I: @% e" w8 k0 r
0 S& w8 A2 h: Z; R% @4 Q2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
; W1 R3 J9 V4 P/ Z- b& U9 q# z* ^/ [! H% N6 `7 s2 L$ \' ^/ A
3.满足法定票数的区块,则为敲定的下一个区块/ N+ ^' ?; Q1 \/ q
/ h# j. W% v( g- ~% L( Z6 E$ }
定义如下:
% W: v; O6 L1 m% x: V
1 g4 d1 T% \+ R' d' \( T3 H
3 u, c2 B8 s. D" `# n0 G3 d9 w- M7 k9 T' W% H
3 s  }* q( s, e) }* G! C. j% I  f6 j
. [- s  V6 R1 A1 K' f1 r

1 U8 g* j7 p: t5 W( F9 _  b网络安全: w) C: _6 w. Z. H4 \/ A

; \% w/ r. o9 v: n: j" ^参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。
" F# b3 O5 G2 A: G( u4 d
# y7 [3 w3 X4 e) X  x( T2 e官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。
. h# u+ v& v5 I: }; j1 t, V( u1 Z$ c( O1 Q9 k- R9 ~
官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。
0 D% \; U; U* t: W8 Z: \; q4 R, D4 c. n, w9 h* O( C( |. H" ]
链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。
! @$ J' r3 E. H
- R+ X6 [  G0 O( E( I7 s网络演进& i! K  s, M- M* S
9 L- M/ g+ s/ ^- N* d
YOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。7 e3 i+ L5 q! }+ E$ [3 V
- l# u9 B6 T8 |, p
1、通过安全分片技术提高可扩展性6 G8 L+ o' T5 `# {
3 ?* h. q9 `" F& l' r0 A
2、逐步调整众议节点的选取参数,实现「人人可参与」
' M3 C: R1 e; U2 T5 n& t! \" V7 z5 w" c: b3 L
3、区块提议节点逐步过渡到从众议节点中选取0 d! E# _$ S# D$ W4 Q
' u+ {- x  q  V5 D2 X
4、逐步降低参议节点集合法定票数 的要求8 W1 ]. d& F. p/ ~

! J& `3 f* e! z. S5、参议节点的功能将演进为:存储、转发0 \+ e3 M" r2 i; @' I' S

8 V6 I2 J. [/ G) }* Y: D, e# l. v0 F前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。
9 }5 v2 n8 e# t$ [; |' E3 F7 N4 a+ i/ ]0 F3 |, V
以下为问答素材:
  z- Z. B: A! o8 ~% C
& ^7 @; E  f6 C% xQ1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?8 t: e( E' n" O
! s& B1 f. X0 K1 V0 a4 b* ~& s- X( O( g
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。
* e1 l# l+ f% P0 X& z0 R6 F( H% q( X5 s, c& c3 r5 u
Q2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?
+ c9 ^7 o$ \7 s2 o- b* {+ j( ^8 Q. E2 I
何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」1 I+ @( n' B8 W$ P" k6 z5 H
$ R6 F6 r4 C3 o4 {8 f
Q3 参议节点和众议节点的数量分别是多少?会不会扩容?
5 {1 w9 {0 y% ]1 [* ]4 u* u8 x. o0 ~( F0 M3 a1 p) l/ Q% U
何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。
0 c0 C$ t/ X) |; W5 V5 B1 x' C. I. T$ E% P/ i5 X" w! I
Q4 参议节点提议区块,是否有中心化问题?3 {/ M5 K8 O! @, p5 \
4 w6 H1 ]7 s/ Y: W
何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
5 F% l6 [7 ~: n8 f# e1 n; n7 Q. h
Q5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下
& i0 g8 w& H- u6 w, s
# U4 _9 k; M$ W  B" O1 {* b何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。8 p4 s0 q! m1 R! h" J8 b( h

" Q" W2 j, I( c1 H+ s! O6 LQ6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?3 c1 [1 e: k- S7 {$ I

+ b6 F9 f5 w7 f, r3 z何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-9 06:21 , Processed in 0.470070 second(s), 32 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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