私募

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点
$ ^1 v& @4 a+ x' H6 f
3 i. l3 K9 w) W$ H6 w( n0 k4 i5 q   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。* g' O6 l: I* e, y+ @. v$ k

- e9 ]/ u1 @% K) i共识与考量1 j" j; u, G1 x
% ~5 l) B) E. z9 r
   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。
( G( s! `! G/ e1 k  V) n0 q1 n7 _' f' i% b. c+ V* `6 d- n
   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?
. q9 {5 O8 j# ~* O' z& Z7 A* a7 Z: h! X5 |8 S8 `" X- ^# k$ ]1 W! @# m
原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。: ~" s" s& `. f/ O4 [8 k
# J: s) F/ {: s: e; `" P
    现有公链的问题  _+ |( {' y7 t4 z7 I
+ P9 V: `/ S4 G) U' h
   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。
+ q' W& ~" v3 e! B! p0 b8 X- @' N- H5 P0 b
   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。
* [  H0 F; R  ?) j
; [7 A. W6 z: j0 P) q( U5 f; Q# z   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
6 Q, |- Y* ^* ^$ }- |' y* W9 l) k% Q- t9 [% ]4 P
   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。
( w( ]4 ?7 e8 s8 \; b. O' e) Z% N% A" r+ j; ?6 M
YOUChain 的愿景, v( M$ D5 c3 D; N; Y7 @

! {! s' I- ^2 e5 r+ [   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。+ L- u; Y6 P  K4 B% }+ b7 ^

, I  \( q2 N- ~  C. f3 i& ^1.低性能,速度慢,难以扩展,不是我们想要的. N" i7 U7 Q& [$ e* ?. \* V, p  k
4 b* p* d8 N7 e+ d) R
2.权利高度集中,不是我们想要的
( B" S4 K4 Q) [) V+ v# K+ O5 a9 H7 x
3.使用费用高昂,不是我们想要的
' O0 `7 G( Q5 h$ x/ ^) b4 i* H0 O9 U( |' F2 o
   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。
# x0 `) D0 d* s0 K$ j4 c* s
; X: l9 P6 Q* ~+ {# ~& O   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。
' s. @! P" L! \' E6 |# z
, o/ d: q/ z  |4 s思考性能
* t% M, [2 d% M' F( N# F) v9 k/ |" ^/ u+ N2 K5 T* s4 N
   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。  v2 O! j7 L7 f4 k

, x( Y- p- `7 T9 ^: o' b( V怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。
' n0 q8 A* e" }7 `
6 l% N) P( P+ I" }5 v   思考 one-CPU-one-vote' ^8 b/ @" f4 J6 }/ k
5 Z- D3 Y5 J. F/ V7 Q
   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?1 ]# @; F: Z7 v2 h

" _+ A9 N7 Q' \8 F8 |% C2 A   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。
7 c) }% B3 P' y6 y" O/ v+ \
. r) E$ P8 M! Y% H" Y& F, u  I4 a3 s   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。4 H; h5 N; U" a/ o* m" j) X
5 ^8 J# s' V' `
思考费用
* C* {' B5 C/ Q; i# F, u" J; A7 B) Q7 y
   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。( R( C$ ~& V% L* m

: y+ S. i1 {% |4 e' e: z* j那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。/ P+ ]1 p' u0 `) l( [" Z

. `$ n7 p5 E7 h0 \; D+ C" U2 J' _   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。+ `* m( R+ m# W' o+ I

) Q3 L5 E0 v0 |7 x, T抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。+ c8 ?% s% t9 n6 ]7 r& p
) a3 J$ U2 v+ e! R9 k' K; e4 ]
    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
/ M- [* U: ]) Q/ S+ \- \* ], m; v: \: Z& k$ f, J
思考可扩展性
* ]. T2 w1 R3 N; p* f
7 b& i6 |7 E  o* L; g! E    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。
2 m/ [" J% U3 i; O
3 B5 M8 c* b- |  U# m9 p    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。& l$ E  s) J7 I, x

# G# M  ^, R- E. Z, x- r* r   YOUChain 共识「YPOS」2 C& Y: b3 Q/ X7 e9 I0 h2 n; c, q
4 r, _2 P0 T- H+ X7 n) R! Y4 d
   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。
. u* f8 @- m" l/ k4 ?  q1 t! o4 G: r3 q% Q$ i8 M! X0 r8 ^
共识流程,主要分为两个阶段:提议和投票。
+ s! `8 I% v( G' T$ g6 ^4 g0 X& [8 ?6 Y2 {% d& M8 r1 r, |$ V
1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。
3 F, n/ K) p, L' u& y+ D$ D5 T7 K: Z. G7 n( E3 Z8 u2 b" E' `4 f/ S6 i
2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。
1 a1 V+ c2 A( h) G$ \
# A7 B4 L2 w- U( s其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。3 q( `" [5 i" P: m* G

" [$ |2 ~# N% H% D3 n+ }( v$ c在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。
! n! o4 G9 k+ u  V0 T
% e# d, ]2 V- k: a0 q/ F; M% I; qYOUChain 节点设计. s* N) g  `5 Y6 ^+ w  D  b

$ y' R$ ^4 r5 R3 l7 {( c5 Y7 H   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。
% i( l4 l7 Q: p2 ~6 Z+ B) B
! \, |- ]- T' Z0 S) z在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。
6 r% E4 ]5 f9 G( k+ T5 ]  h. ]9 V2 z1 t, y, N" C) U& h
   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。& m: G2 Q" [# A  ~! E, _
+ \  H# U4 Z4 L! v! B1 a
   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
. b# i" i1 H9 |" h/ S
1 k$ ]% @3 C; E为了实现我们的远景和目标,我们设计了如下的节点结构。
+ |6 F" g' E; y) f' i2 Z
$ ^/ A5 w9 z) \节点类型+ y/ a4 v% |, }+ O* b1 B
: V6 q1 J' X. @0 q& w& \% t' {
系统中包含两大类节点。
( Z7 Z5 i& D/ j4 f# e
6 X. P. y0 m* ~1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。
$ s/ g! }" F! W, ?2 k3 ?5 e- k' Q- ~, [
2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。3 q& ~+ r, e; ^* i" A8 N0 O

5 `8 Z- R# s; F( p以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。
1 W+ H' S$ }* j
7 u) @( J  g) }3 V( X节点选取方式
6 O: w$ Y) @* _! t3 Z6 A- R, F- |* F6 E6 C8 O
( v+ E. q) }4 X- H2 j
! W# v) E1 z0 a# r" W+ x5 k( T

/ C0 D& L$ w/ T. v  q# y3 t$ S' ^
- x' G# `# v1 Q& A3 J. I. y* e
: |  e% n; u" m& j. ~. s( S参议节点参数「待定」( ~3 l, f/ w" ^- i$ M, Q
' ~' H; G' t5 M7 A
6 Q6 v6 {7 }) D1 b

: P+ C4 S: T# t1 U% A
5 d' W8 q6 n/ W' t% m  H) x% Q3 f! B; ?% u+ |& t
众议节点参数「待定」; u# w$ g( |7 B: g3 L
$ v$ @1 u5 A' G4 i8 K
! x! x+ A8 f# ?. b& D  z. X# |
) A2 k' k" T* S: T1 \$ x

0 k; y, Q# F" u1 `; Z2 k& j* k
# U( T  P- l" Y- p1 A; z0 J% U两类节点对比
7 w: f; o' x& Y* u. |$ e+ B0 E: F* Q# K" w! }( |/ [2 l3 @

0 x1 z6 @; e3 L! K& W  a
, F, O# e6 v5 W) I; `6 R% b! _" q) N1 f8 _2 a

$ y2 p* ?* D' A  @" \    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。
" X$ `/ K; {" r% ~) y8 D, R- C$ L- ~( o; U4 x
YPOS 区块敲定/ E2 L( w4 p3 h1 m' E! f
3 Y5 \+ I" O4 A+ _( g/ G
1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。% }& D# I; L7 b
  i/ p; [% N7 Y7 w! s
2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
  M3 A& @0 ?5 H
3 S, Q. S1 ]# U3.满足法定票数的区块,则为敲定的下一个区块2 W& p4 O! H; E# V
) d( Z6 F6 V& e- n
定义如下:
2 J7 m+ c5 s4 w$ @& x) E! A; z% L/ ]! V! B5 n" D: F
1 T7 d3 R  m7 a

6 S3 x! R- j3 `3 p
1 I6 x6 }2 }' }4 {- [; L
0 }( W) C( n* i1 ?- r( z+ V
; v( P9 O: V1 [% r网络安全8 c$ J3 ~0 K9 r/ M. S

8 q( S. ~& p5 \( D参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。4 ]. i& B; U7 a( X* k, Y
$ l) l( X. i* c
官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。
7 }( c& L5 C; E+ a0 h5 f: W: d8 H/ V1 s! b, c( s
官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。2 F8 u" C+ i+ m) ?$ D- X

+ n- G. a$ x7 k链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。3 Y) \6 \5 H- v6 e# E/ Y
. p2 L! ]! k8 N. q
网络演进+ T' D1 Q+ c: `# f8 v. S- t

* p: [7 |9 i8 b2 j/ EYOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。! ?8 x$ o1 M0 }: K

, v8 d! `6 P& n4 B1、通过安全分片技术提高可扩展性" \# k; F& O5 {1 c, Y# K! c# {

( y. U% K$ \( Z8 u7 m1 p2、逐步调整众议节点的选取参数,实现「人人可参与」5 Q, ^: c4 m9 D6 s6 F* D
: f  \: `# _, m# J" A7 `" B
3、区块提议节点逐步过渡到从众议节点中选取! X+ A! ^4 V' G! c
6 Z! r4 t  l: t
4、逐步降低参议节点集合法定票数 的要求7 _# `/ t$ a- C* ^. [3 g

$ H% w/ Z7 ]; l4 g5、参议节点的功能将演进为:存储、转发
, D0 C8 d8 y, k0 U" O
2 M, a4 A, g1 H5 Y前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。4 `  {. h9 l8 S7 e# }
" M7 ?9 p( j4 U1 }5 ]
以下为问答素材:3 H3 }$ m  h% \; K- y4 w
' d( |1 ~. O7 E4 d; h+ V9 t0 l' I
Q1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?
, i# B1 t* M) e. ?: k. j$ Z
* e* ]6 d0 @& C何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。& o& v/ s: ~0 H) m$ Y

: L0 M( y, I# PQ2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?  ]; }+ j5 s% n# I7 ]4 G1 s

& O5 e- Y" m; r7 ]  g何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」
" @* M7 A: ]& r* Z7 e8 x# c; O8 n! x9 `* A
Q3 参议节点和众议节点的数量分别是多少?会不会扩容?
! p) {( {. q) _, t1 S( L$ W; j7 `- ~2 A, D8 m" K- m! ?
何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。
. r7 [8 z/ B: c& w7 O3 z+ ^3 C# V8 i' a/ v- H2 D9 q$ l
Q4 参议节点提议区块,是否有中心化问题?9 L1 Y9 {% q6 y" Z# i' l

' u/ c# I7 v5 g* F" F! O, }何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
$ q. N: v3 C$ i2 l% }# d% q
. U/ i; Q( M" g; j" P7 B$ Y+ rQ5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下/ m+ m7 B4 X$ v* Z8 J( W

9 u, G7 X8 T5 W1 X2 f" ^: B何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。
$ ~9 x; G: r0 x, Z8 M; A: p
# k3 Y: U; E- v$ uQ6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?
" N- C2 r/ }- v- S
. {" ]1 k' H; J5 R何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-17 18:10 , Processed in 0.608787 second(s), 32 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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