私募

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点
/ E3 X* ]& d, Y+ M. y$ I; u8 ]7 X3 ?
0 q) J: z$ d: w' U$ \9 `  q4 d( q% g   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。4 f4 c% `  T0 J9 V$ Z
) N8 Y, `% t4 K/ a/ o: a
共识与考量
* S. M6 J% x. E" ]& F" I/ g# {6 q+ a# r# f& E
   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。
1 p4 H9 }' Y! l, u  B- e, J
# c$ Y' g# _8 a0 P, U% t$ E   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?; _5 r; |1 r( F# A

5 ^! L9 f8 n: @) j( r- N9 o+ X- c原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。% B, b8 O+ ~- x8 E6 L% n9 o

4 L! H; i' o1 @& ~4 ~  D& n- I- @    现有公链的问题5 |1 S6 `- L; K% J7 \4 ]

. w8 ]' E! [4 Y! ?: D$ q& Y7 u3 {   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。
; j! t5 ~* R8 p6 d3 W) Y' ~2 n# w1 v: i. A9 v* y7 U
   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。0 g. Y8 E+ a) g! h' ]+ c
9 w" d, ^* a6 _: k" o* O
   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。4 R9 Q$ {! C" ?4 o8 |9 w3 B, g) i% W
8 y1 P( B5 H  K" \0 i- |
   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。
  w/ g. H( C, ~# K
' v* |2 U& J4 j; z& W  @YOUChain 的愿景/ q2 v- G; \2 ^, z! x4 B0 d
: R& k7 D% ?* \5 X% N. S* ?  r/ R
   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。! `' }1 w  ^$ }( I3 ]' S  v5 H" T# B$ h
8 J, }3 L6 L8 }% p6 Y# x
1.低性能,速度慢,难以扩展,不是我们想要的
! A' X: q8 f) i9 Q7 s; u+ T' P: M- B$ f
2.权利高度集中,不是我们想要的
' u1 l8 g4 i: D9 Q% F
% G$ }' |: {7 G1 f# c5 m- \0 B3.使用费用高昂,不是我们想要的
/ z( }6 B. \1 e: s$ N5 X  ?# H- E! W
   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。
  `# y/ e3 q9 ]7 {4 P( g
! x6 U6 [: D, c" J: r0 [   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。
. t) \8 `8 i/ w, k, z6 B
6 a& L4 X& @# {+ X3 ^" v思考性能8 E2 }( F4 W" I3 n0 k
3 ~; \5 @1 E& z7 ]1 J4 d
   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。
* p4 Z3 N6 u% g
% ]- J" r. ~& H# p怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。
$ I: Q% |/ k5 ^8 R* Y6 ^, Z' |0 y2 ~3 U
   思考 one-CPU-one-vote4 e6 V8 ]0 p* Z" ^: b3 o  y8 \

* N9 _, Y0 u# @: k/ N) G   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?
* ^( t& t2 c) Y! u0 D5 X% X4 k& n7 Q
   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。
) g2 V! n9 L4 K. t
2 M$ X2 K: D2 ^; e4 @, }   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。3 P; V/ y$ w" Z5 X
5 ~9 G5 G0 e$ j# Y
思考费用
0 q9 F: T* `% _& F& |3 a$ V; e7 N$ [+ }( G
   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。, F2 X$ n9 B- h- y, {$ w5 j/ g
# Y7 o: O2 c( X* L% K
那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。& V5 ^5 S+ ?1 k  O) F- H
  K* x9 _% _' @; A7 F8 n  s
   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。+ j* o! o& a2 c6 \
, J* I4 T8 G  Q. O/ Z
抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。
! e5 ]! X, Z. I8 n/ W4 S3 t9 ^# X7 G( f
    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
* L2 ~- n7 Y4 r. W$ q/ t7 Y& L' V& F" K" ^4 `" `: O
思考可扩展性
( M* t4 |# d: W" E- [1 C
9 s2 n7 V8 Y) ?1 [. I, w- c' V    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。+ Y: m" T5 N8 U" j

1 A, D7 a8 g$ `) w0 o9 {" S    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。
2 |' ^2 {6 O) b! U3 |4 c2 M
: c& U9 y' F: ~/ @, c/ O# }' Z   YOUChain 共识「YPOS」3 v! W, `1 E- w: L' r( \; Q
/ |' b! J) b5 E9 s4 Y( e
   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。3 b# t3 N+ d- b5 _/ f

/ h4 r( Z4 S: W! q4 h4 `共识流程,主要分为两个阶段:提议和投票。: c" ?& i8 q+ O$ z9 N
$ A6 D+ k) f+ k4 m* n* M/ Y
1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。
' u# |+ ?8 h6 z7 e( s
$ c4 ]/ W" J4 F. v4 d5 L2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。
# [( x, G/ _3 z
) ^' r: v4 y# T1 |其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。
# @! B5 `) _9 Q/ e& J% Q. E" A: l' f" n. o5 j( Q8 ?
在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。( r. U" x; s- l) d& X

3 n0 J9 C8 S0 g8 g. VYOUChain 节点设计2 z/ R" J" J% v2 f: _
: b& n' g& F. p4 M1 Q- E/ T( z
   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。8 |- B! k: y2 R- ], P5 k' ]
  {7 G. `0 h: T, z! I# Y
在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。- s) t' ?2 H" E* o' a7 z2 I

9 f, k: x. I7 P   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。
8 _# s9 A( A+ L6 J+ k. P3 g2 Z
* ]. A; T2 ^) D3 C   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。" I6 h! B0 ^& v. E  Z& L

% C) V- \! V8 S  ~. G4 X/ z6 x: q$ |为了实现我们的远景和目标,我们设计了如下的节点结构。8 k0 h6 i/ }- ?- ]0 ]. y
, K/ N1 j# x. G0 W; t/ e* j: d
节点类型
8 q% u( m) c# }' k3 J5 e
7 x) a0 W( P) l! a. g* m7 {系统中包含两大类节点。
( e* h7 i; D: p1 f& q+ \& o
2 K6 ]4 q; F2 Y4 f9 w1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。
# O, T6 H7 r0 [1 L; K$ \* F, l" F, f6 C% \8 d% A
2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。
' M5 [& n2 _- o; |  h1 l/ w! b# a" Y2 `( a; w
以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。+ L, M, B2 ~% {6 d
2 e! h3 T( u- k0 `
节点选取方式
. u- t/ N- {: Z. @% c7 w9 \8 z" A

0 d7 w9 |0 T- s  n0 o: A, h0 j. G. Q6 J3 X) O! d
, |! ]9 {0 f) f( Y* N
0 m+ d/ n; k$ ^# ^/ x: Q  P
  i( V9 F/ z- z
参议节点参数「待定」
/ c3 t9 H0 N7 p/ {2 P9 R
; x7 Q1 n: B0 {7 @1 n3 A/ o7 M1 x# v/ C4 E% Y* _) i! S
4 u- y, b* N: M4 ^' v) K- Y% Z
' W) e0 D+ H4 I  |% f( e
6 {7 B( X6 m; `) [# G0 D' q
众议节点参数「待定」) l. f& _% x. m9 q# Y

" T. d! b( j7 e9 E# r: M5 r  V: j4 I% H

) B+ q. C7 v3 M  B; H' l  L& i) p; v2 k$ c9 l# b* s& e
  s' d% B- i/ F+ A1 [. l1 c- X& J
两类节点对比
  h9 W6 E  c$ }5 f! ~" u
* M1 E4 m: r# l% X* O: f4 a  @1 X/ O2 D+ u& C% t$ @

1 L& J3 n1 w) V; o0 H: m) G
. X( q5 u0 v9 m9 b, t* ^" n  |7 \) B1 n! a7 k7 A
    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。
. |+ q8 v- i/ }  }; A: S% G+ ~( g+ C+ m
9 }- z! f9 d& Z( I2 z( |YPOS 区块敲定
) W% e+ U) p& \9 j) m  [2 s, H+ I  L; T) `0 f7 P% R! _
1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。
+ F( u# V( v0 p) w/ x9 i& S2 G" R5 ~4 M/ I* b* K
2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
8 o1 i6 T9 Q7 h! o- \
( O1 a  y; T' i6 j/ n3.满足法定票数的区块,则为敲定的下一个区块
  w/ k+ _! E& n0 N1 B$ y" \1 p9 k- m5 c! [  R7 X
定义如下:
5 o9 w% x: K5 |1 y% N% Y; P& V- q$ d3 t# J0 j( B5 A- b
- q0 D+ o, ]' _  [

# g) B* B3 u) A4 l% e4 k
9 V4 x0 E: n# Q0 X, a' y+ m! l% y% y2 O7 D+ }" s, j, M! j* G' [
- |0 h' a. O) x+ e
网络安全* v1 A. E; F4 F) T) d

) K, v+ s1 S% Q- R4 a5 i参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。
# N/ x& v: B7 j' ^" i9 L
2 O2 m, |# y6 p& ?9 _5 G* G8 D官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。
  Q$ |4 h  v& b# D, s, i
  n2 m" Q# l2 a官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。8 N/ G5 \8 C5 j+ P$ F$ H

) }, b$ O2 s2 T( ~( h9 k链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。
( c4 l8 S: [$ G9 g4 V
8 m0 {3 b5 n* P  O; K7 L网络演进
5 D( |& W  T. T# ]3 M0 ~+ i8 L8 C, V7 z
YOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。- n1 T1 j" B9 m. G; B* a# S

( s3 \$ q* G' n+ T+ j  r) ]" m1、通过安全分片技术提高可扩展性0 O; d, i9 _; z" N- I$ C
: n, w1 V# H7 Y8 v
2、逐步调整众议节点的选取参数,实现「人人可参与」) Q7 @  N  _1 f( A- @; G9 z# k

3 u9 @; [- a2 \+ }6 F4 G0 L7 ]3、区块提议节点逐步过渡到从众议节点中选取0 z9 S% Z& Z8 y
' V* b- k' ?) ?% O, }
4、逐步降低参议节点集合法定票数 的要求
, [4 z7 d% u4 g( N
2 `3 g, g* x; D, L; @0 L! z9 s5、参议节点的功能将演进为:存储、转发
! [& N# H$ e& Z& r! J& m) m4 Y' M1 |# e5 Q5 ?) _# E; n
前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。
1 o) Y4 Y! @# S  P
8 }, N; ]/ @# g+ }+ c8 F以下为问答素材:/ l) m! o; w; a9 f0 l3 Z

5 l6 t" v( }' t* a$ y* NQ1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?  \# V' S; E1 `3 [: p
# U; M2 [" v+ N# \$ H
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。
7 {$ P) |, B. `, U
5 o$ W2 ^8 `+ k& yQ2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?
6 o- _7 u$ }6 P  @7 z9 H
7 H, o$ i( ?- S9 i& ^; a; M; ]5 F: f+ P何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」% p6 m. ?) n4 t" E  j, E" s7 I, h

# w  A4 ?* D6 m4 MQ3 参议节点和众议节点的数量分别是多少?会不会扩容?
2 x: E; Q% }0 Q4 \, N2 M- I' r# j/ b6 L" N
何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。
$ ^2 e$ u0 ^4 B6 |: X9 h5 V/ C: D/ R. Y! N. ^% K( `4 F/ N
Q4 参议节点提议区块,是否有中心化问题?
  G8 `8 R* n8 e# U+ s% V0 p5 \+ k- o3 t: a; s: b
何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
9 H- |7 V  ^. n; c" h. M! Z& a1 U( N
Q5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下+ [6 z8 A( K* u2 `: o- q. A
0 F' d- W8 N: m5 U* \
何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。
( S1 f) [9 p- x' H
8 x8 x6 B" @$ Y0 x: L* S4 XQ6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?
' n3 x5 [# k; Q2 g- L6 ~! m/ S0 M8 j- H8 f- z* \! o
何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-21 07:42 , Processed in 0.722007 second(s), 32 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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