私募网

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点% Z& M  _: W: }3 v% x
7 N% z+ o5 V& w  w; s6 \2 J+ h9 n& C
   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。1 ~! O$ c+ ~# F! C7 C/ s
& Y4 I* D' C; l7 c
共识与考量+ k! o7 ^5 ?2 q* v! c
+ q  ^* B- u+ t7 Q; J6 N( J* ?
   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。
: D$ J. `( p$ [' D; @: Q% r4 b0 g$ B! y# G: M( a" s- m- N
   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?
; ~2 @, K0 U$ r, B6 I5 U; V
# h2 @8 v" V( u  }& l. P原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。0 V$ p6 r0 E4 @

* ~( q7 g- ~7 S; B9 J$ e$ x    现有公链的问题
7 L- P8 S) m5 K! ~- A
" o, Z4 e; d3 e+ f' K% v; h% M4 f2 [   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。" F5 B& R$ l! M
9 c: k3 z1 W0 s, S, Z4 v! c
   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。
/ y. _/ ]$ H# E( ]! t) D
% w: T/ }- O( G/ L   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。6 o1 a7 c' C: }
: N/ c% ^7 u0 O2 D- d5 {
   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。) ^* w+ f" x7 ^& X$ B2 G- M
- _' \% v( }1 m$ |
YOUChain 的愿景
' g, t6 k6 p* A6 C3 s% C' Z6 v  e# h+ Q$ n- @2 ?/ J
   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。
: i/ l* V, K6 \7 M: R0 S: O' _0 @& _( n
1.低性能,速度慢,难以扩展,不是我们想要的* [1 t5 \& [+ D! ?; ?9 Q
# g# F( I, w( N+ a, ^* r
2.权利高度集中,不是我们想要的
) ?4 R0 c- c7 p  r( M" i4 ?5 M5 ?1 v) @& g' G) c* Q" t7 ~
3.使用费用高昂,不是我们想要的: W! T! \" m+ `: `% U7 ~

% t( z: M! |' {, g   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。
% |; [+ H! P- H* c7 b3 g2 v+ m
7 n. d' Q1 Q3 [+ r# _   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。) W# c: @# p2 G' d0 ^" s; @4 {
4 j! K- N+ ?2 o5 W( Q6 Q4 B5 X
思考性能) L' U- U6 e2 Q/ ]6 i

5 o! I6 K* C3 m0 T   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。% l2 E; a5 O/ l
- n! n% G. C/ m5 g
怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。9 z! z  Q7 q. I. H: `! c  B3 S; z

# |$ u, N$ X. c9 m( ^8 g3 x8 _# p   思考 one-CPU-one-vote
/ G6 _! u2 n8 F0 Z, M$ c6 q; _) m4 e# b2 E: L3 G! u
   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?
; D' x5 ?* R$ ?3 T" X4 t6 o, l& G' G# A: H& ]
   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。$ j. b- l8 p( f' v! _$ Z
. ~( z8 ?, ^" @: t% i+ @- @
   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。/ A) }% Z# H* v( U% m

& @% L' l% B" U思考费用
+ K) ~! I: F" H& _( e/ t& m. u$ |& M4 A7 Z( Y6 A% c5 ?
   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。5 M' k* }" z4 |
2 Y9 H" L% p7 x* j/ D. @
那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。6 w" D- J, |% _% ~  P( i- r- L

8 k7 p5 V+ u  s2 k$ J8 Z4 y, p   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。
1 i) W- a8 n' `# j9 y: K9 T& Y; L
5 o3 ^. V$ M  ~* U; M0 v" Y3 K4 h" a抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。
, t. Z- [* f/ I; a( ^0 D3 A" x$ a  t# _) [
    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
& P" E8 @. ]# g6 ^, o: P4 J6 i4 J. ]' r$ ~2 e+ ^
思考可扩展性
3 r" u6 L1 d  t6 a& q. g. C
" G; x0 A: q* b: b; F% ~    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。
( u6 R5 l2 R6 x4 @
/ l9 Q% l: E" J( g    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。
7 Q  a& h! C7 P& v. C
3 C# h0 i. R+ k, j7 n   YOUChain 共识「YPOS」
$ R& G7 R& ?( V$ ~; `2 m7 P. {+ R$ W$ v8 ^
   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。1 @) j  C% k4 {3 {% q
& y3 T- k8 v; K9 P# t0 A& g9 M( }
共识流程,主要分为两个阶段:提议和投票。
, F& n: \! M2 X) m6 @
) Q3 Y7 @9 o" y' e" g( x( `1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。
5 A* \; m) x+ h
/ p# p2 H4 ]8 t- ^. t* D& R2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。6 H4 U! K* H5 S" a7 a+ A( B7 E6 o( H

- _. y  s; M. O& r* s: B! a/ _其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。, X8 X) m) B( H* V5 M+ m7 t9 t

$ V" A' _0 n- X% h2 p在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。
3 u  W/ h1 }+ f( [7 i! q
; V6 I4 o9 U1 _! I7 ~3 ~# d: FYOUChain 节点设计* A% g1 P+ Y; G
( g, T7 |7 D8 j! k
   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。
9 t( L3 W% o( W  Y4 O) W, U. k& o1 ?6 d" I
在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。0 G! m8 F0 {. _

' G& z5 K; r. N* Z4 w   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。
$ J* o( k! o! a! }7 ^) @# P) o/ {! y. \6 v4 w
   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
& U8 _; f! F# B5 Q0 s6 y$ s2 {' _: o4 O
5 |, T' w! x" R7 y7 c( e为了实现我们的远景和目标,我们设计了如下的节点结构。
) G/ S' m: ]$ L4 u3 W
$ D/ f1 q! S0 J9 g5 d节点类型
1 s7 `, h% M5 n2 r( d" q- ?* Y% |1 u
系统中包含两大类节点。
+ q! J9 A& b0 h  H% m; F  \
7 [  i, A$ r8 e1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。
3 W0 a/ ]3 k5 K& k, Q# d1 u8 K1 ?0 X: N# K
2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。& b% f1 |7 G( O, H

" b' [& @" G  H2 V; D: ]1 F以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。. Z9 n9 ~$ t- I( d, j! O. |
9 s7 A; _- J- a
节点选取方式$ S( m# x/ j  A. t) G% L  H
: V5 o1 z* j- P# G8 y+ d
: }4 `+ ]3 y7 ~$ O  b" P7 }
. y5 z% d/ E% _9 x# E7 ]

5 [( k8 W; Q. D! F' \- g9 A' K9 N2 }5 G8 c

# l5 s' W6 j' @6 `  s% l# D' v, m" S参议节点参数「待定」  P) Q$ E, n/ M
' z; A/ n; n8 J* m4 R6 c, C
* _  E! C/ i8 K+ B
/ W4 b/ }1 e( k: ]6 d* S

4 V& v' r* D4 I: }* r! h9 J$ e2 A( i& z. y
众议节点参数「待定」  c% m+ s2 m5 `4 a
6 w" s! ]0 s( M% v; s0 E
' t: h9 ]9 L' `5 V, C  a7 W

( }! [" Z7 |, Q! s& P0 \/ E* m. R3 i$ S# N0 K) p$ `; D
. y4 S7 T: b" D+ i; n( M
两类节点对比, |2 c$ Y1 [) F, q0 \
5 c! M! p- p) i& P) L9 J
( A$ h0 t% w$ k' O8 R4 Z3 Z. i& _

% V* J' [5 _) t; X' k' [. q; U" y. F+ s

: W; X9 t% K5 F- r% n" `  v    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。
: t& G( ~5 e8 K+ a0 I' o% R4 C( V0 G: }
YPOS 区块敲定: U9 H% Q& [' N- m4 f; M7 R
. A, }" J7 n8 y, O/ j& b) s5 q! Q5 H
1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。
% w& x3 O; z  F4 X- m$ W; G7 h# J+ ~6 F% ^1 F
2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
8 R) h& P7 b% b1 j+ j8 x8 T  x7 |" R3 J; Y+ j
3.满足法定票数的区块,则为敲定的下一个区块" ]# e2 T* t/ D, i: H7 m( H: F% B
7 ]8 I5 B1 b( C) ?& d/ T. q7 \
定义如下:
0 j8 R4 O/ h) z0 o# Z' [3 |. ?9 R1 S5 Y9 F+ X1 U
# y3 `. g2 ]! e" z' s; a

  A- D, _4 L% y' R* E% P/ M( R' v( i  n- X0 N
; a% ?1 ]. b+ F  w8 F! d0 m& d
$ s9 }: q* O5 ^& N) I
网络安全  z5 }4 g: K1 t

, K% ]# o0 R4 w参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。$ j& w1 S7 _7 t2 }1 F* F# J% \
* u6 I# ]0 B5 m0 z. I* T3 H
官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。' j- r2 i4 w( B  J/ B! `" v
+ H* ?  f/ F" j  W
官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。
8 Z! B% Q8 ^5 L. I% t- [6 q
  t% r4 C' y. ^7 |) j* y链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。
  T  k3 V( B2 Y3 v1 i# E
. K. B7 r* K' E网络演进
$ [9 n" V1 a/ I8 H; q
+ b$ G) X+ `& D2 }3 aYOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。4 s$ |% D6 }8 u, g$ D* J: q7 K% Z

* x3 }2 k( [. y. k, f1、通过安全分片技术提高可扩展性  ^7 r( k* ?) v$ ?0 D7 R) W

! l# f1 Z; A  S: ~6 v7 N# Z2、逐步调整众议节点的选取参数,实现「人人可参与」, f4 O: |: m7 F* n- }6 p

# K9 L7 u# C+ q$ x3、区块提议节点逐步过渡到从众议节点中选取
" [  D$ I" S' D9 r- p1 p+ {3 D9 F' y: y) A7 T+ v: a0 v* N( E
4、逐步降低参议节点集合法定票数 的要求. j4 U: w# u9 h; H: ]2 w
  M+ h7 u( A) K8 A1 S# O! @$ `" J
5、参议节点的功能将演进为:存储、转发+ x+ I9 d5 i* T, s( z, ]; @
. {( _7 R  a6 M
前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。* h' g5 T" h, x" x8 }8 w
: e- v; t8 {8 `- F! ?4 P
以下为问答素材:2 F* K$ G" [6 b* W& }

5 j$ M. a8 o; S3 P  @Q1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?
& k/ `9 n( ^1 C/ |0 `) g0 `, W. r  c/ q) I8 P
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。
1 C3 m2 u& h: J" W0 P! L1 S- a% y' I3 c6 N7 R/ M# a
Q2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?' o0 m. k# Q$ P, F8 m( I9 q
# ~- P5 [* @) L5 [; W8 H; \  \
何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」
) J9 r  b3 Y' R  O- V4 |; R0 |5 J* W8 W1 c: o2 _' x7 J9 z* ?
Q3 参议节点和众议节点的数量分别是多少?会不会扩容?
- D$ P1 ^9 _/ ^  i/ Q
( H; \4 d0 ]. j5 e) V9 G何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。
+ L7 o4 R* Q( G0 k  W. N7 i1 \5 J. H, Q9 X
Q4 参议节点提议区块,是否有中心化问题?
7 x7 n/ ?6 G( G- Q5 k5 _
6 L- |" `' P( q& e5 f5 O$ X何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。% S1 G! d+ t9 E7 q( B8 z% d
: g' p, J' E9 T! c  Z
Q5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下/ q; t; u8 C8 L' K! R/ I2 U1 g' N

1 |; R) H, p& _% }; ]1 u何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。% n* ~( l$ {/ |* g: X
' `5 ]3 T: t5 y
Q6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?" S  w( E2 J. H% {
; M/ Z! Q( U4 ?; L  I& ?
何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-30 06:29 , Processed in 0.583531 second(s), 31 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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