私募

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点3 x% y, ^  _* ?! y* \! R3 V9 i
2 ~0 W0 n% T4 g: a) }, k! n
   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。
. @5 M  X+ D4 j6 g4 T1 [
1 }$ }' c( ^0 O* J共识与考量
' ^. U1 W2 |2 h% {8 z9 S! ^0 }
1 B' d) ^! j+ `1 l  g# j   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。
6 }( Z; \  \) K/ `! t
  }& r7 q1 q' v. g& M7 L   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?
. \" z. M  z4 d8 U6 O8 Y$ {) U  D5 Z
原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。
* @1 V0 A; _9 R/ r% f. ?2 m
( y; l: D- D8 v- k6 r6 j7 Z. z    现有公链的问题& w7 z0 W9 s* _8 z0 Z

/ t* l, O! k+ x, ~3 k8 s  I' j5 @   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。
' [2 C% V6 @1 }3 Q) A2 \
3 J9 G) y! x/ ^) Z9 g# o$ B. W$ v   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。1 B% g( w( T) Q

. u! t" h+ K9 ~   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
! y/ r% ~0 e; P
8 m! v) y+ }4 t7 z   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。
& C# s+ I3 s; A$ Z; s! e! Y
  z; t) g/ c1 P) [( F  fYOUChain 的愿景
: a$ H$ q; Y) p- H! o3 p
+ x8 k; z% I# l9 I   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。
, E: M" G3 O0 N- e! p/ y0 e+ H
$ K2 R  N& Q, c6 j9 z2 [1.低性能,速度慢,难以扩展,不是我们想要的7 T( ]& M3 U/ i( ~3 u* Y! Z. F
+ e% j% _8 o! U" t3 J7 \3 g
2.权利高度集中,不是我们想要的
- Y: h$ B# y. b+ X( i* j# {+ G
0 D3 p4 r/ @7 W* S3.使用费用高昂,不是我们想要的- G) n' o) R: w% I# J
5 o$ ?- I- v5 f) E& O! A" W1 t
   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。
; [1 {7 \0 s+ c* {" f- {2 g: M9 H) P( G
   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。
* k! _4 c! i% Z
% ~& S5 G7 ~7 N) Y# N: O5 k& [思考性能2 a, O: i$ d5 |3 e3 M2 E! J

2 Z- A- R7 k* D/ j( z! ^9 c   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。
3 K1 z3 F% j- h. [- r" J* z* f, h& G, k
怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。
9 q. Z, B; P: k7 s2 \: H! n% j) |" d* b1 f' ^
   思考 one-CPU-one-vote
* ^& W+ P* g: \1 w* @" O6 E9 I6 C: K* g+ Y/ z. s. g9 w4 Z
   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?# ~( N- S& c. v# @2 r

1 L: z3 Y5 R% }) i6 I   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。
' p4 O; N/ ]  d  B6 f1 C+ E3 Z$ V: d* @7 [, X, a9 O) V
   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。  H% x; a3 G# q9 P+ b/ k6 N
2 a! G, {' W! Z/ z/ R) z) q2 v
思考费用6 l+ Q  |( i9 G9 |, t& L; J1 I
6 S& e! A+ i# J# z# h4 O( B0 c
   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。$ W5 v6 A% C3 F0 M/ Y* I- r
& g' u5 Z3 N6 N" j8 w7 H
那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。8 v8 k! b/ O& y6 l$ ]" W7 T

. w! t8 y. j4 W) _4 H- d   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。
) V* G( s, G. t  J
! ]( J' e- R) B7 {! C抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。( F; @+ z9 e" _) i  X
- c, {- j9 H  H2 ^* y2 D* x9 S! _; c
    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。) ]7 i8 x9 v& e8 a0 V
* q/ L* ^7 c) I/ _1 I6 p4 k" G
思考可扩展性* v9 N9 ?% r1 y' `( N
) E+ |9 I: H6 L( h
    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。
- l! O& l( @9 _, ]9 D
; C4 q4 R2 T& A! W6 j# r# J    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。
( ?* d$ G1 w! R" a  o/ Y$ M/ ~! E8 }: L% Z2 @# T0 `$ `0 p
   YOUChain 共识「YPOS」
6 q( I9 v' Q: B  j& {  w
- r  o' B5 _! J) i% l# \   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。; R4 ]9 w7 U* U" d$ ~+ q9 H
1 u# A2 ~% J; U5 W% M
共识流程,主要分为两个阶段:提议和投票。
5 Q$ p* x$ ?& W9 J% L3 w
) ^8 Z! H! H* h8 t# p+ ^  w: X1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。+ x% F' n9 Y% F, e- r
  O) y8 m$ q( u+ x) [; d
2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。
8 F: M5 T2 j) ]' l: q
9 y) M' i- K+ O- _% e其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。
5 `0 i% W7 [" g; s4 c: {  ^; B+ c' K  W' G# |9 @- y
在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。
& y$ L* a3 x6 ~( ?3 j
9 f; l' N9 s# l. Z6 z; c5 c; NYOUChain 节点设计, E/ Y0 L2 a( Z0 m/ m/ s
2 d0 _$ ^* Z- a6 I; |
   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。, ^- w4 e, ^  Y9 a" z7 L1 X

( T. n+ u" {' q9 S5 R在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。
$ u1 M) O1 g0 x5 P2 \  W: \
. f& E7 T  u) C4 K6 h   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。( p% g( P4 t- L' q

/ u1 E4 e; ?: I$ u) ~   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
# F% @) w" W  c: }$ V. {: {/ K1 G( A. ]- M* t# H
为了实现我们的远景和目标,我们设计了如下的节点结构。
: \; \# ?+ S( c0 h4 X5 m1 ^. F( `2 j8 x- D2 c) K. p
节点类型3 J4 X6 b$ j* _

# b1 S( f* F& {  H6 ^, K' i系统中包含两大类节点。
/ |' A+ [9 k2 F& s1 a1 D1 `9 T* \' T9 o, W$ q9 k
1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。: b! m( o! E' G3 N& q- z+ D4 ~
3 _6 v5 G6 T4 B% @% O" H) z
2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。
7 J; ?1 Q8 {) O" E2 a
4 n# f/ \* f1 h; Z6 o% L以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。( E) s2 d* x. o& B, C' ^7 L
9 ^  I6 V# {8 d
节点选取方式
6 T5 O6 S' X; W1 h
% b5 u1 Z* H& g' C; N
2 |* {; s. }- @; ~: w, z( P3 Y# N, P/ m1 ]/ x3 m, A' Q; L; M
$ z: D- Q5 E9 w, e

# o( {% _' N/ ^9 m
' ^( O5 N/ C$ M5 S# G6 }2 p1 f: B参议节点参数「待定」. G5 Z% f! ~- E7 }+ n) h' U

  R* R0 p9 K7 h$ \' j( K
( ]3 O. N" |% G8 h  u- c8 M) Z2 Z7 J7 |/ o1 j

+ k% U4 ^: a8 d5 j/ D) ~* W$ t" M5 x. `2 h
众议节点参数「待定」
& m' u; n7 {8 r0 P, x: t  S& {: d1 B5 }. X
. ?2 R# m2 r0 a/ `0 H
8 t5 g+ F9 X$ E- a( e

# W* K; [$ M8 S, t6 ~& w
, X& I) Q3 [/ B1 W* X两类节点对比3 p( g3 K6 P4 n  S8 R

7 F# J4 A* B2 O6 P) [
5 _4 q# O& k2 R4 l1 z* u- I7 i$ i7 J3 \

; F- H* ~: t: ?& l1 s: t4 g5 ^; z4 u2 j5 q  c" b: f) r, m; l1 F
    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。6 o/ l, E- u5 Y9 h

6 R* R/ p- u& ^6 D9 z" ]( c, I. ZYPOS 区块敲定; E; H) I' h' ^2 v6 Q+ `
+ I! J+ x4 v, Q( ]
1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。
; Z; q( X$ m4 I& V
1 r* r' b/ R6 A, V8 H2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。: ?; ^  A! P7 `7 r$ S6 }/ W2 u5 w2 }
* G0 t! d2 M7 ~, W
3.满足法定票数的区块,则为敲定的下一个区块8 p5 V8 U& ^' J( l$ o6 x

) }! r- u5 j( ]" v定义如下:
6 R3 P3 J# O  e" @3 ?$ o3 F8 {! k3 S0 _: Q

' l5 Z% ?' u" N5 o- R! N9 a. |" V* ~
! u/ v# [; X% z6 k1 x% @. e4 G6 D0 j
8 ~9 q( \4 k6 N3 x
  E! \' t' V; f/ g' J
网络安全
9 t% Q# X: t1 e: M$ N6 B. f  [
6 q/ v" [/ N: \7 G参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。# c5 j- a; P, H1 ?. o' P' C, e3 J
/ |& }0 i+ m, O
官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。! }/ ~- Y. E9 w( A  _; |" B
2 L1 Y8 _( M* I; m4 J, }2 j" c: ~8 `( q
官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。: Z# ^0 E% d& G- j5 A+ J+ [: o. C

. v1 P6 R& F2 }: N+ l9 `) Y  K7 X链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。
# a% C+ t5 P2 y9 z; D7 x' t/ ?7 Y2 X4 C' \
网络演进. h! ~6 R* A2 }, q& ]( B0 B/ ^; x
" L* j  Z- X4 R7 P
YOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。
7 ]" w4 {& X& ^- U; h1 b: q+ M* z! `
1、通过安全分片技术提高可扩展性: D/ p5 p# ?4 C- m2 _2 A' p  p; p
) V2 r/ }5 d* p: h! K6 o3 h3 W0 a
2、逐步调整众议节点的选取参数,实现「人人可参与」3 Q$ u% O+ c% E5 [
2 m$ V7 r0 v( T  U2 \) X
3、区块提议节点逐步过渡到从众议节点中选取. n$ Q% Y5 X1 a  R* `8 w' @

" ~" A9 k2 n& j4、逐步降低参议节点集合法定票数 的要求
4 d( C: q# }8 P8 G) J8 Y; Z
$ a3 I4 \9 o2 g8 c5、参议节点的功能将演进为:存储、转发) k7 ?, ~/ M* }/ X1 d+ {
* Z8 u2 w) t5 A) c- Z
前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。% w$ z9 O- z1 X$ b8 M# [$ ~: i; |3 X

; [8 t7 X* K. Q2 U以下为问答素材:* L- h9 K$ Q8 H& n0 W) l

. C' q( X7 ~3 k# C3 wQ1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?
" C" O9 Z- A. h/ y  m. J* V+ }5 B4 g! P- g; q; A
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。
: m. @! c. x4 c, j) }$ o
/ U( W1 m# A  }. P1 uQ2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?- O, }0 Y$ T/ n- n9 j

3 q4 U! O+ [. a7 \, M1 O  f( J7 W何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」
& e8 r1 C% O& g% L  R7 L! ]/ H( {
* q2 ]) h* ^& X4 H- HQ3 参议节点和众议节点的数量分别是多少?会不会扩容?
7 F/ H# I6 M6 z& d" I2 q( v% s1 S1 r- [* S) x5 i8 u: a  i
何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。  n9 j, H* p9 c( L
% f$ G( T# r- t4 H1 b  }
Q4 参议节点提议区块,是否有中心化问题?
6 K* f' r& n: W" h& f# G3 E1 P! E/ A; t. B
何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
9 d' C, ]1 x) H8 |1 L* z% H8 K2 `3 N& K8 {. Y  v
Q5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下) K# o6 B3 u# x5 l! {) V1 Q

/ e/ g6 q4 a1 O3 V何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。
5 _& H8 u- z& G) Q4 A
: C( c& X3 v( Y  K7 O% Q7 [1 eQ6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?
$ O5 q- `5 V) Q' H- k3 \1 t# s  I( l; S4 V
何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-8 23:18 , Processed in 2.348813 second(s), 32 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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