私募

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点
1 @; r4 Q7 J' x& y) l1 \' h: ]
& R# h1 z' y* |% L   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。
: K0 O  }* u( A2 Y; S1 S4 h1 |: ^7 u$ W3 q% Z3 a( A( R. m
共识与考量
( o( F( W' g* ]( A  |% |( _8 I4 `5 {" r* y
   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。
% t9 g; @. w5 m, H) v5 F" g5 u) I
   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?6 ?2 N9 f: ]2 F8 S2 {; B  x
! Y  ]. R# T  o5 N9 X
原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。
, p* l& Z' ^5 u. V
" T/ L6 v- B7 V4 R( M6 R2 q    现有公链的问题* x7 B4 B2 Z  A
$ K1 g. |. W5 r& V' z
   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。6 f6 U- q; U4 P8 y8 ?6 v- d
$ f" \! E  `3 [# R. g* g
   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。) l# f, Y. `7 {, `% o
- R+ t3 O9 s' O
   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
" K: K2 d; l1 ?& J* P
# u. t: R2 u2 v$ X, z   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。6 w! Y) ~. R- B3 ]$ X: q; l! ~
, _# k3 \& G6 a/ S" h" ]6 U
YOUChain 的愿景
& Z7 j/ U/ P6 W1 D5 z( {" k4 [/ V* Y& j# [) Z: t
   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。
$ Q1 s1 L( t3 k3 Z  n; ]/ c4 C& L5 j% i5 J# K
1.低性能,速度慢,难以扩展,不是我们想要的
' U( O0 w: I4 u" S
1 c; A8 s& h3 `9 I# V8 `( F2.权利高度集中,不是我们想要的
; S) A) q" d1 a/ ^+ G* q1 s& z% v* S7 s8 Z( v$ e
3.使用费用高昂,不是我们想要的9 f' F, ~% S( k& e& m  W5 N* g5 Q1 g) V

. v0 `8 h( {( J( Y9 x: N- e# F   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。
3 H' _! `$ z9 f. ?& l& a8 D, P( L1 O2 |/ E/ h5 n; t, x0 I7 J9 F' O- N
   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。4 b7 w7 `3 ?& O$ k( W  ]! I
6 b# S9 I/ w5 i$ a
思考性能% X, I. A; ~8 c

5 L# _" f- \/ i   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。6 ~, E7 K( m* B. s
2 s) S  R- i2 A3 A( O+ y# F
怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。% k- Z5 H3 q9 P( r1 @5 ~5 r

' L1 f! l% W4 N; Q+ S$ N2 g   思考 one-CPU-one-vote
2 E) f( r3 E0 S4 {2 x: m. j1 X! p: T  V
   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?
/ P: n: D& K: w3 ^" q" [8 F+ O# O& C6 @$ k3 A& _( A
   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。: H3 T9 L/ {6 k4 e# @
& u& ]7 J4 I6 F6 a$ a2 B) {
   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。/ Y) E+ v1 m) q8 C4 Y5 ?& c

2 s1 c) T8 ^6 i思考费用
+ A1 c6 P/ P) A
# Z- Z5 v/ x# T1 s   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。  h' W2 i* h6 U' Q: M4 @5 }
: j& ?) _; N0 R1 [: ^& M
那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。
  I: S  e' E- [6 F
( C9 u$ Z/ k2 Q% y   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。' Z2 I4 F5 I: D! v1 }/ t

' X! x" V* M; F2 n" @抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。
# d! z; z6 t" t$ y5 _1 R
& E2 Z2 \/ t( [* x5 m! W    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。' ]1 r7 t( s; H2 `8 H$ s* V
6 X" f) _+ w: U) t
思考可扩展性6 `/ ^# ?! b; v, o3 Z/ \
1 @8 {& Y* A) N
    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。; w0 Y6 G5 P! {4 d! x- X) o8 G5 q
2 x5 v& Y) `& Y8 V9 m
    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。
/ T# r& d7 o6 U. y- `3 I1 N, w
+ `0 C( L" q2 \9 o6 j4 f+ U0 o  r   YOUChain 共识「YPOS」
- j1 h# c+ @9 V! N! \, s* Q' b5 C% y- z
   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。
; G5 K6 N  V( Q$ J; z1 Q" ~# |+ d# A7 t% j* d# x
共识流程,主要分为两个阶段:提议和投票。' `# \; w) u) L, P  a9 D
7 t4 g! }8 L9 B4 P- n* ?% T
1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。
/ s8 g( |. g7 V5 k  d4 M+ C; S  ^0 P
2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。
1 u( H/ [6 D2 m; R% l# d+ _6 f3 u$ P! f# ^1 z- g; K' f4 u
其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。" @( C- @& H# n

! O; o' M! _/ L7 v! _9 {在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。) b( P; `( U! Q; N/ ^
, j" j3 a# T: E* E6 t
YOUChain 节点设计8 v, R# d; x& I2 J
8 T8 s; N% I( O. O3 r& y
   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。8 A" k2 q7 k8 Q) h, \4 S) L
4 `7 v' t$ `' a5 v! i
在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。( j! S! }! x. ^3 J8 O

5 q1 f1 ?  I7 i, u   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。1 }2 j- U" W6 C. l
5 r& l# R+ M  g- _( b0 F
   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
' x8 }. N0 _* \  X
+ V) C8 e3 _/ l3 P  f, f为了实现我们的远景和目标,我们设计了如下的节点结构。
( g/ b6 o% M% T" Z6 C: E' U: ~+ w, O5 Z- p: r( ~7 i+ s
节点类型  N: N, d% Y: N4 y" l
; Y5 Y  y( C" b" f
系统中包含两大类节点。
. K$ p! v$ @: ?. o& v9 E; {7 g$ X. c! ]$ C, B% o
1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。
3 ^9 `9 s" A6 i' z' B0 {4 _% s
: K$ n) C. M9 u. Y2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。
( U3 m8 _# M8 r5 ^3 e* o' j+ w: ]" K# q% p& @) L( x4 W3 W$ z
以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。0 S* \9 a7 m/ ?- i+ v5 _% t
: }6 ^) O4 V+ d7 }( z5 }* i
节点选取方式7 s8 C/ a( K7 P3 _2 {/ {
+ G0 Z; Y' Y. i- r! W1 Q" r( |

( U0 ?8 |; X) |8 q+ G+ H9 ~, i& R+ X- @9 ?; _$ }
$ B; e8 h5 e6 h* B/ u. b* K& N

4 V8 l0 ^+ A6 T. U9 f2 b8 N
' `' o1 \1 L7 B3 v0 v参议节点参数「待定」
3 _5 X  ~' B  H. m) u& q- S( u3 S5 b% V& b- F# m
/ o, e- C$ L- K, K2 q$ K) T

2 |" _" ^- y' L
+ o- c5 x5 p# g+ K' L/ M5 h3 f% ]& F0 m' l; K
众议节点参数「待定」' f# g% v3 d6 W/ U, S& n
/ ~7 `5 b- x3 H1 e* j

( }+ }: j, @( ~: q5 I: y: x2 ~: d  a1 [

" g) W& Q# W0 D$ F# C. r& S
$ B; L; f' g9 g' _两类节点对比
7 p" o" H1 A7 O: D  O! x3 w+ f! r) n3 y" R/ V+ E! ^

) C# p5 @: Q7 N/ }, ^- f8 ?5 H, H) @: N' h7 y4 ~' @
5 f: E- R9 r: S
  v+ o  ?5 d5 b/ l. K6 A
    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。: G1 g: s* _# y! M) J
) C; y% y/ {, o* x1 O
YPOS 区块敲定# |3 f. m4 Q" U1 w# p+ F
: @6 O+ \% @% f+ a( q
1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。
: l, m4 t! c4 M- B, t# r* y1 k% ]" q" r
2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
/ U0 L3 ~" b) Q3 W, a- g
2 V. }' g( T0 J+ q- L1 H- x5 A3.满足法定票数的区块,则为敲定的下一个区块
& W8 r/ z6 p1 g( N+ Q4 X
- |1 [( F  v/ D: Q定义如下:
* F! S$ p9 h7 e; R! R- Z) V, x1 f( m( j, K
" o: Y/ q9 a2 A0 b( _* [

# r2 G" ]4 x& b; \
. F) `3 c6 W' c9 h- l" U/ E4 z! T! K7 y
8 o; Y/ N% B, q9 _
网络安全5 W- o7 e, q; d% P4 o: [. R
* I; w5 e3 ^$ v( i
参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。& Q) J9 x+ e2 P* Q. R5 `, K
7 o6 h! u3 S- T' m7 v+ A
官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。7 ^: y2 h. ^# r3 Z4 v

4 \* o% \* d7 |官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。
. Y4 G6 b( W; b4 f4 u& ]$ C
1 s6 a' u: `. T9 `链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。
! w0 V: D( t( f) b, m5 O1 K" K) N- U  |* }* _
网络演进/ b; ]1 W& Q4 y0 B

0 x! z) _$ f, L" M) ~YOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。
3 q9 {/ s6 i1 v. E1 N5 o; P% @
' e5 Y0 Z/ c; }  N! z- [1、通过安全分片技术提高可扩展性, O- k0 P3 c  ~

* m/ Q1 |3 c' l9 t% W) U: g9 C2、逐步调整众议节点的选取参数,实现「人人可参与」  n( J. [, N0 N/ E; X
- k) e: Z; A  E8 p* q- i
3、区块提议节点逐步过渡到从众议节点中选取
% z7 @0 l7 O7 W/ ^: `
/ G& L3 j: L3 P8 y1 B! X4、逐步降低参议节点集合法定票数 的要求- }# B3 j1 B, M5 d

, V4 \- F/ z# E8 s0 I9 v6 S/ M- w5、参议节点的功能将演进为:存储、转发
# w* g/ I# Z3 v- c" P
& {; K  ~3 |. Z前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。$ C8 J0 R6 O% ~% F

$ D3 Y* n' @7 ^. ^/ {0 Q# N以下为问答素材:/ [8 F: K! k7 ]

% c9 t0 a9 {! ^: {' UQ1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?; _+ A& r; F, Z  d+ k5 k" {/ T
. o+ l+ x2 b6 G
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。) \" ?; @" M- G2 P7 ?7 `

9 ]7 W3 r- K2 K- g# M* a& WQ2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?
8 M' |2 v; i( s' a' `, l$ {& m0 u& b3 w6 ~  Y4 ]  ?8 O
何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」. Q1 W! U0 C# ?

+ L! v5 P* j4 r, V% g# ~1 J" _Q3 参议节点和众议节点的数量分别是多少?会不会扩容?
, z$ q8 G9 r) _; Y! ^8 M: x# h+ x( Y9 `
何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。+ z: v4 b# Q3 `/ a- i
2 c: ^* U& r  ?) Z9 v  q
Q4 参议节点提议区块,是否有中心化问题?
# c' \; C" Y8 M: \2 T. l
; i* r& ^# ?; w, N9 U. r/ J3 \' U何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。, |- r! ~( Z8 q1 V, h3 m" F

, `( u, `" D2 d8 kQ5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下4 R5 i$ x4 I) P
- e$ d8 g5 Y& ?: h* ~6 p8 @
何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。
' T( D1 ?# l, Y0 @0 H9 P$ Z6 G. Y; H  y0 g& r
Q6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?2 l- s" _- e/ D) ?/ y8 ]

" [- t4 _) l/ O+ |! w( z4 a7 \何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-8 22:01 , Processed in 0.889827 second(s), 32 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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