私募

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点3 R" b. B! Z! y# f. I

0 \* |4 w& `* D) n/ S" A" g   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。
9 E9 k1 O, u! r5 E9 J. e6 j/ F# s' v( d1 [* Z0 \, _
共识与考量
& \; d8 k. J! v9 ?, k* a' ~) X6 [' V" |; o
   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。0 N6 v$ _' \% d8 q" y+ B1 G, Z' [9 P

' l0 l: a  O4 v$ G# M# Q! N# X: H   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?
8 ~! G. b% f" a; d+ ~
, S7 \( r0 O" s2 W$ W原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。# m% i( h( v( {% D
$ P8 e9 [! |3 m/ i3 i; _* _
    现有公链的问题
- r- y: e: L7 F5 n2 F: f# o) ]4 i3 `8 `; L8 A
   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。
, }  a8 T$ j; t  C: N$ d+ n) i# l2 s" v
   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。. N* _( N) P& ?3 m2 e* p) g, v) H
6 D9 [8 e, v& \: ]( ]/ j
   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
7 m( t/ |# }1 I" _5 B% {; f
, D6 M; ?+ I/ [( R+ W9 Q   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。
* \9 S$ V$ M" d: _& x: I3 v" a9 r: q  z  i
YOUChain 的愿景( p0 g8 y+ e: h: k

8 _: R; j) l1 x3 O# o$ j  L2 K1 A   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。; f  J, o1 B& Q  _, }

: p* `" g4 S4 }9 o1 G* R1 F) k4 t1.低性能,速度慢,难以扩展,不是我们想要的
- j  k; H0 \& u, ~6 ?2 H+ x8 d, [! n) U" n7 ^
2.权利高度集中,不是我们想要的
" u( j0 z2 b1 b; j% @$ k/ W
6 o* Q1 X6 D3 f7 q5 E3 M3.使用费用高昂,不是我们想要的6 k( E7 ~+ s# ]' \6 h

, H# h2 v% {2 R& }+ ^   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。
9 F( h1 X6 ~6 w' |! p( [2 l9 N/ m3 B' R
   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。( U& P1 @/ M7 m
1 q' N6 J' ~. C7 G3 Q5 j
思考性能" I" g# K8 |7 M9 f

+ A! |5 W0 K3 v   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。: q. F1 F, H2 L% a. k+ e: U
7 h% a! `( g1 p  z8 V7 C0 d
怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。* }7 ]4 d$ H0 ?; T

" A& k* K4 O0 F2 Q; W   思考 one-CPU-one-vote; Y6 n% v/ F/ {0 H! N3 Q

! Q5 s! E5 o/ Q' d7 @; L% B* ~- l  p   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?
$ [( j9 D; a: e* @" L8 y$ [8 R2 ?7 t2 ]
   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。7 i2 J: p' a* K6 R/ ~. F

6 Y2 ^" R4 o% [  m2 c6 a3 L4 j   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。
9 J. i7 J; t# `; n$ R' s% x, }7 a5 ?8 N9 m- _8 M3 o
思考费用; ^0 G: w9 ~, s

( n7 Y: |. h6 G1 |: |4 Z- x   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。
5 A9 o  d$ L3 |* O1 c( l, P$ T) r9 S7 o* c
那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。
1 U; g0 b3 m/ {3 a; ^
4 @$ i- J: f  k. |   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。
- Q& g( l& c; u6 V% J, {- G5 M' L( K- Q9 ]- U8 a  ^$ ], S
抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。5 f  `- E6 ]+ @( {2 e- g8 K; V" r

  X" k4 N/ ^- P3 T' D1 S3 v    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
3 s1 g1 k4 R6 @7 P0 E. F+ X5 r
" u0 {" a% g% m) J/ y2 Y# ~思考可扩展性5 R2 ]5 Z) U- q2 b" I
- G; Z& z. N' B; U
    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。  u' o% R- p: N- e

3 h, g3 Y# G$ ]3 c    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。2 P- W8 q5 D, V  X$ V! V
0 Q: r5 O- E, a2 Y
   YOUChain 共识「YPOS」
8 k( q% Y* M" l9 w7 J! y! |+ n' G0 L( T: W  C6 O- g( s; L
   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。; v5 b, l" U6 R6 d/ ^- s

0 [  q% z9 J4 S& s8 Z+ C0 U共识流程,主要分为两个阶段:提议和投票。) |7 `" g& X. @  i1 A
4 x: Y3 g: m+ V6 o6 |
1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。' T8 }2 |4 w; N# ?& P4 o
6 Q9 X6 h. u6 k! S. R1 m
2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。- l# W( V8 w7 ^4 Q* K+ T

/ h3 U6 U& o" t* S7 S9 I$ `4 @其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。
8 u) l9 e# d# |+ M6 A% B/ a. b8 D3 v# K, p! G/ X1 h: p, {# j  P" K
在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。
! f9 [5 T, G& v6 k& i7 {
3 F0 T% U. X- d6 ?  g6 RYOUChain 节点设计
, Q7 k) `; n3 P% T- U
7 @' G  Q! x9 w% l0 g' T: o   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。
  l) z7 {1 g: Y  @3 x# H2 }6 ?1 B$ H. r1 G# E
在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。
$ s) l: I' j! B' L3 e3 T  k
2 d/ K  E; i4 V& O  i0 g   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。7 M% ?# s6 U2 w2 [$ D. ?! J1 S. T
) Z+ h; J5 J; x0 u7 {
   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。3 C5 W$ u+ F2 q' g; y& C

" ]0 j+ o9 ?( J' T. K: \0 V为了实现我们的远景和目标,我们设计了如下的节点结构。3 K! Z; V- W/ w# N4 G  I# v& L% d

: S8 K! Z2 C: {, j1 f! |5 X节点类型
4 m4 K5 z* F8 g' i# _
( G9 M! L3 M8 p+ s: S/ O系统中包含两大类节点。
$ K! ?: ]" l  B( l# V) f) k$ x/ C; U6 D4 H3 I  t1 j
1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。8 d8 G, ^$ T" A' I$ B: b

, u0 V( {8 A) a, n2 J2 Y2 {% W# U2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。- d' l' p- ]2 @' |: S+ u# |  h

' K* `; U6 H" b& O% q) F2 j8 r以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。
1 e" l2 a0 |: u7 i& m; y! h0 f9 g" h* m6 Z" N, ?2 Y& {1 A6 m; Y
节点选取方式2 Q* v3 a! P3 H
# e0 S: |! y9 D8 Q$ X- Q

+ X3 Z2 i% I$ i
9 V. v  h! s8 U' d: i
' L9 j5 ~6 r2 i4 D- X; r3 g
- P1 f4 r: Y6 U8 X3 N6 @
0 `9 }0 \( \8 W# ?( V) f参议节点参数「待定」8 H) z$ t4 q4 B8 B9 @3 h7 _& i  w
+ b, n7 \/ X# v# k( K4 b
* E5 V9 x3 g# b  A# v3 g3 S% U
% Q; K, w( N7 Z1 q

! w  R# z' Q7 X. U& ~& m# F' p+ D' ?& r% J2 P
众议节点参数「待定」
( p9 ]  ]* c! q: g0 I# z: }" G- I+ k
# w4 w- x0 g7 \0 D$ D2 D
- z- p6 H9 P/ j4 D& d5 T( V/ u) b9 V3 F
. M3 \: K7 U" v/ S
+ t! U& ~( ~1 t9 I  `
两类节点对比7 ^! K$ F: i8 I. R) M
2 b+ G# N( p! Z6 t

8 G( S+ w; s  y% H) |  K
" I, b6 Y* G4 [' y& A. ~! |7 ~: e8 E" e# q/ N  e8 A

6 i$ X; U- i0 G$ l( p6 q    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。; }9 K5 o3 X. A7 e8 n9 D

9 x+ M$ Z6 i% X6 VYPOS 区块敲定, B7 ?5 ]2 {8 _, U
. |& C3 s& Q% l( T
1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。- ^2 b9 K+ r# Z$ X
1 x9 }7 q% d0 B1 S1 U
2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
& j7 d* x/ |4 e+ B" I8 H" w2 T: V9 R3 U0 l( w
3.满足法定票数的区块,则为敲定的下一个区块
9 u3 V% k5 G, e) O
' ]  E1 Y0 d7 K% A9 h. G定义如下:" L6 \6 Z+ q1 R  W

9 T- e0 m1 d) r. o+ h
! x% |* b% O) `# @1 Y
# }3 J4 w8 T5 V0 f; n3 ~! ?- o. t
( R) P8 r- Y' m& J% B7 D& B" A3 m1 ], d, o' H3 U$ i/ q
6 N+ m) f! B* a5 V8 |
网络安全
# m9 e* h9 [! M) J4 I+ ?9 P$ }# ?$ Q: Z! K3 ?, @- O2 \
参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。
( O! R8 E2 s: B+ t
- W; w5 ?; A- a1 K, a( U- M4 q. ?官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。1 j# j  n/ f8 p: }- L

$ v6 t3 S/ h; A; X0 E官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。
; m& M, ]1 S9 T7 j. q- H; w* g
7 S. @4 B2 [& [7 `/ `# g链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。
$ z7 l/ w8 ^. a' R% _9 |7 w* c& M. U; s4 V$ [4 Q2 m+ c+ |8 Y$ i
网络演进
; ]- V% W( e3 [5 ]8 X, |/ E6 I7 ^3 l* }1 k5 k- o
YOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。/ q- p( }* T3 y1 W8 W

0 `! r3 y/ f6 Z$ ?1、通过安全分片技术提高可扩展性5 S2 H/ q' g/ l( y! r: H
( s+ I! K: K: s+ H1 M+ P% e3 V
2、逐步调整众议节点的选取参数,实现「人人可参与」7 T+ S/ F5 k/ ?% ]5 {( O% j
( H4 U1 j# W6 H4 e9 @
3、区块提议节点逐步过渡到从众议节点中选取9 J/ P9 N& l/ R# v6 _
  F7 e: t6 T, [. y
4、逐步降低参议节点集合法定票数 的要求
: Z6 y6 c! L; N2 s7 B) }) F
, H# ^, |& i, b  p+ I) z: A5、参议节点的功能将演进为:存储、转发
* |' ]' S0 O- x, q: E6 z. _4 U1 O% A5 f9 B) W& @5 [
前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。. v+ p: C* m/ {, Q0 \  h
: B( j2 v+ W* ]0 F/ L) s9 i0 q/ |
以下为问答素材:  M7 R- E% X; d- A- |
8 |; t8 V/ |4 u* U5 i
Q1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?
; s" x6 f9 w6 o1 W0 c3 e3 O, Q: N. i. k
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。- x" h. U$ F' f! z

" U- E4 Y) g6 p. ]( Y5 KQ2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?+ y4 w  g: ]1 `
, n/ ^% T1 o* j8 W+ e
何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」
8 N  F5 x+ p) E/ H
4 z8 R: {( W# C' t8 b4 z( S: C! xQ3 参议节点和众议节点的数量分别是多少?会不会扩容?" }: C( s1 D; j! n: K' L- Y3 I9 F
4 ?+ v# y2 v# X
何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。
; |$ L' G+ s$ w; C5 o8 i* m3 l  o1 l9 f
Q4 参议节点提议区块,是否有中心化问题?
, G( b5 C; E7 q, ~% z; i; H  k: L7 n8 D3 l; y' P4 p
何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
/ ^8 }( h9 J% A2 J
+ r3 E2 C7 W; C% R8 V, w* TQ5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下3 J2 J8 E& i) y

- Z! k, |2 L3 y0 R  t何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。
4 c: K. F6 |/ D
4 }/ Z% j6 e! w9 iQ6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?  m0 r/ s+ ~. L2 n
& n9 i- C+ J* p' `# f
何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-1 03:33 , Processed in 0.448612 second(s), 31 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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