私募网

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点
% t* j! T9 p( x' V1 a& d# v- m1 |3 K" _, ~% I7 m& N+ [% ]
   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。
1 n& }  O* C! C6 h4 q" n
- a: f+ o: m2 c+ H1 D, E# m2 P共识与考量
) v' x3 L& A* L9 Z, X
. K$ E% W# p* H4 A( x5 Y) e2 D" L. X   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。2 _& E1 `' x! `  x3 `

$ u+ V& P& Z, B0 @  P   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?! W  z9 y# j. o
$ w# n  i) e7 t$ M
原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。
6 k- z3 V& X( G. U
2 M/ {. N7 _1 a- r  ?1 l( B    现有公链的问题
0 a: \# g7 v- n$ m( Q; c& N6 w9 X& [
   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。
0 b1 g4 A! P! X8 L0 h  N$ o2 k. y! u7 h; n, t
   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。: Z5 M% M/ }/ ^: z2 Z4 ~

1 W5 p; L4 L8 x+ m7 h' Z  i3 m# Q   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
7 ~' o5 A# }1 |$ h1 F
5 Q- m0 \) ]3 S9 l9 E+ E   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。
+ D  {% P4 h8 U
$ w8 V' L# W. MYOUChain 的愿景1 K0 D  S" f: z9 ?; U

- v# x1 O2 S1 H) y6 ^0 G   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。, e' P; y$ B8 E" J
- X3 t  J1 S7 Z0 j4 G; q
1.低性能,速度慢,难以扩展,不是我们想要的  G& Y6 Q" q, x. l/ m6 }

( r' `$ C8 r2 K. z1 ]2.权利高度集中,不是我们想要的1 c) s$ E' ~' D
9 s7 k3 J# `  u/ Z9 O* V+ b! K
3.使用费用高昂,不是我们想要的
) L3 T% F4 c  f# S: d1 s6 ~  \4 a: e0 y* S; L
   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。
) Y) }2 ^7 n! z, Q3 @- I
' z  K1 `6 f' A% N+ w$ {   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。* E% U, j; _; n% p8 s$ D2 E

- u2 y0 o% B7 O) ^$ @/ B思考性能
$ Y1 c, a/ y; U* f8 A: Z: g# P
2 N7 R+ _, ^' H# {; Y9 r9 Z   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。
3 o$ L) N$ ]; g8 W9 C. t6 Z8 [" r6 ?. s% j& T# A
怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。
9 A9 N2 X; X  L2 T( _; p6 P; I  h) e/ W& a! e6 b4 L
   思考 one-CPU-one-vote
! F# g2 B: w0 d" b+ \* o$ y  V+ @' P6 B8 ]7 y, Z5 J) O
   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?( U& x2 u8 M6 H/ h! F- z

$ H- {/ \& a( K* Q2 M   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。
! u  y' F1 [) g3 x+ [, R/ c
. T# h: O+ x# }7 o% t   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。1 z% S% r5 t( u" |( n. C9 O" }

- F0 `8 y# y5 n8 [* w2 d  s思考费用
$ ^% d) x9 x! M7 m
1 m+ ?- g8 @1 d2 H/ Q, j   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。
; @# ~5 y* C9 M3 N
% X# O7 A& K& p那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。
' b: w! _" v. b% @* L# P) k$ Q( G" c6 p# Z+ z, D0 j
   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。
$ l! N6 i' g9 H- |6 f  w3 y) {
, z- m' w+ u! ^7 i5 a抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。
  o4 B4 m' l$ t$ O" o5 m, o: A
" e0 M. ~- y5 |2 @- q2 E: `9 w5 ?    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
6 ^% B- y( _# B" u: M: F9 L' I6 L* v! y; D( c6 V
思考可扩展性
0 P- J0 L9 J4 P; Y2 ]' b+ i% x- @; G4 _  e/ O* R( I6 K( f# z
    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。
1 }1 T( D5 M, P6 R
4 t* C3 b. h& I0 D9 A    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。. v5 ]% Q9 t6 r6 ]& v5 I4 e% t

5 l  X, q5 x: \. x, `' e* s; q7 O   YOUChain 共识「YPOS」3 Z' w* t! c; G
9 Z9 K% w+ y, T4 f
   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。4 ^+ j4 x/ v7 }  ?9 l0 L
& H# A4 }6 ?2 A- a. C7 c" W: e) y
共识流程,主要分为两个阶段:提议和投票。
" ]' l9 V) n. v$ R' M
8 }4 T. ~1 f* t' B; h1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。7 t; w! M: p1 B; S( i) A8 ^0 D" {

$ {6 [, G7 \5 r4 h8 X2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。7 E5 {6 @! z  F& v; h* p
* Z2 p; o5 \$ z7 |" L4 K8 o
其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。
  P  n( A: Q( [- U
! U/ l# ?/ G8 K9 }7 }( i在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。
, z# Z$ ~% h7 m1 C& c' E* L, Q  u' a: a- `) Z0 ]
YOUChain 节点设计
3 s, c: |# l/ I5 f1 o5 V* y, |0 D6 u+ Q
   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。' |; p% _* _& h$ D/ X$ L' s

8 I2 T" l: O3 T5 l在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。
, }6 K' }- d# _8 z4 G. b; T) y
( R0 S) U* K1 I; A; b; t   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。! ^2 ?* T5 B+ [* Y
; s  w3 T9 \5 }, R$ C/ b2 n5 l3 H
   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
5 a$ U! \9 X# `2 V( X
& P( l2 e: i2 _, |6 L为了实现我们的远景和目标,我们设计了如下的节点结构。$ A1 S# w' t. v! ^4 z3 L0 _

* q( {& k, I, {8 J8 a0 s节点类型' q! o4 ^9 ?% @2 H) v; N
2 A7 Z2 E& y5 G! n# J1 S
系统中包含两大类节点。
! o8 X0 `; E( x  n0 N7 W/ S% I
6 j9 D- K+ N& l7 I9 C' a: i( ?1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。
" B5 @: x( t$ b0 o8 q+ G" e% g4 d# {, p# t# E, [
2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。1 ?9 @+ W6 m# J% u* G0 g6 ~: I

- S5 d# B9 ~% |$ Q以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。
' k$ x8 L, ?1 }; i! Q+ T4 J' u. B9 r' q9 J3 T' E
节点选取方式) Q$ a1 l3 h; B

5 n) v. J2 C" q* T3 Z
; q4 V$ ?% W" @' v. s# S+ s8 |  a
, J+ S5 ^8 {- a- |; m3 r5 L7 M6 g' x# Z' e
8 l3 H9 D; d2 {9 w$ w. g5 y; V' H

0 j: ?- D! e! b1 O" U: J+ M参议节点参数「待定」' H5 }3 g/ I( I. K* ?. [

4 s1 u) n7 p% t2 f
& l" {( C2 p; s( v% C2 m+ M% I4 g3 t3 c+ _/ {7 |3 U

4 J8 R) x' n2 J# P- R/ c, K
$ \' ^/ H" `7 G" P: t5 l3 L众议节点参数「待定」. k( }% J" q% x# H9 G3 e' s

7 S6 ~% ?0 o$ ]0 W' b2 b3 |
6 k7 P7 G9 U9 h. v1 V7 ~3 i7 b5 P+ t8 }5 t4 _6 `$ D
9 g$ w( J+ g8 {
$ X2 y3 O) N  W/ m+ X) W
两类节点对比
5 [1 s& E( e- g: Q* q. }8 ^( O0 E+ o8 P/ g; `7 i4 s3 ^

4 Q6 k8 Y  h/ v$ ?. r$ ]" P% z- Q# ~2 _2 u' z9 a
1 k9 w$ N8 U) v- f' C7 D/ H+ g& n

* O9 [* W' `% y    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。
: J) q# a2 @' ?- R1 A: t8 |9 Z9 ~/ K7 g$ Z4 j; c' o
YPOS 区块敲定* p( |, U! i$ R9 U6 ^# J2 g1 x

; f, [1 @8 a1 z/ T$ b2 q4 B1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。' o8 C9 e, ^/ A. K- f. A* B
1 G7 v! b- C' ^6 P+ A# r
2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
; o( [* Y( u& ]! n, r2 r8 R. E8 u
3.满足法定票数的区块,则为敲定的下一个区块3 m! L" F" k$ R8 Q  c
/ x! @4 K& [. r% p5 q
定义如下:
0 k2 q6 y2 ]9 L& B9 L/ y
6 C) }* X& g6 Y
1 C' b, ]5 {$ ?( F. H& n; x7 p
' E' @! I' U/ P* [7 I, b6 T7 @3 b
6 ?) ?3 x8 T/ C
( ?+ e+ N+ Z" V1 T" G5 r- o5 j1 ~: y6 {( x( k7 G/ S
网络安全5 ^% G% r- k" `- l% ?5 W
$ a" p# x1 E% j' I
参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。
" L+ F! x# [, ^( H8 X. ^" T2 O! I" h% ?$ o; G  F# M! Y
官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。" ~) o- D- }- [0 Y
2 ^: o  V$ B" B4 f1 ]1 V
官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。
' h& D! R9 h+ N, x. u6 y+ i7 f
链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。
& p, b3 m. Q( z' z' P" I9 X- q) [
网络演进1 w' h, }- D) j) ]3 A8 i
8 E: g1 w  V* x2 y! t2 u
YOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。% w! R# Y" C) b4 a' z& I4 ?/ o
2 c' G" {: q  A; r+ C
1、通过安全分片技术提高可扩展性
! `) ~: g$ _+ ~6 j1 p# b% e/ I$ V  ~* W( S5 r0 c- G
2、逐步调整众议节点的选取参数,实现「人人可参与」
! g! T+ a# h7 S  T. z$ ]/ G" l0 {- w& p2 [+ J. E% ]% P0 ]  A
3、区块提议节点逐步过渡到从众议节点中选取" z( c2 @3 v4 Y8 C, s1 M9 l

8 L' |4 v1 j1 i1 u4、逐步降低参议节点集合法定票数 的要求( }4 L" _1 W" `5 [% ]! M

+ Y$ ^# ^/ Y2 y( k0 x- J- M. y/ p) W; d; d5、参议节点的功能将演进为:存储、转发$ y% L9 K. L, q
$ s; u3 h  M+ h1 j
前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。! ^) L& n$ W' ~8 M
! N* \8 C. _+ Q4 O
以下为问答素材:
1 ^2 o( O6 M7 q8 Y- m# e8 V1 [! X1 S3 p: w, }. T
Q1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?
( P0 X: N6 U3 t* _& ~. n8 W4 a( z% F: K
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。9 T  ^; w" O3 U$ Q, b' X

( x4 V( s0 [- `, e, B1 E6 n( f# @% rQ2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?
" [; _. D' Q( A+ M- f4 {1 C) s* z. r1 q% k
何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」" u9 Q/ k7 @) ^* e. s% M

5 h! E/ A' B0 f8 _% W: v' VQ3 参议节点和众议节点的数量分别是多少?会不会扩容?. d" _$ T) V2 a" c& j: ~& {
2 ~; p: B: L/ Q; g
何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。
: R9 b, S, Z: Q( w) K2 l/ j( _% s' z9 d
# z+ @* X4 r8 N3 m) J/ xQ4 参议节点提议区块,是否有中心化问题?
$ j6 S; s; j9 m" A6 ?- u7 g- |, l* u: h
何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
0 }3 z* b6 Z. ?! I8 p  _! S6 N9 B; M# D( b" b% m5 A% T; q
Q5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下; i# s; _% r3 \$ |) r

& F! M# Y; Y* R6 ~$ |" X$ s何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。
9 k# l! @" I$ }" X/ k# H; e" c/ A7 I2 j7 t
Q6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?: d& @* U  v" z" e  I( }

& \' k1 I! s  @8 I: g# q何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-21 05:08 , Processed in 1.106774 second(s), 31 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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