私募网

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点
! I  i# m: E6 V/ d& z" }; x* }8 B8 e
# V8 ~& d. n  P& d0 U' n4 `* ^   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。" v7 a. b  v5 @* |

' w5 b" c! O; K+ q共识与考量4 D7 z9 @, X! k& j; u! L, n
7 b* I$ T' w3 ~* l5 L5 r( M" m
   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。
; U8 U, h: k/ \/ p
; c/ F& o& I7 z9 f" g   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?
8 A3 d. Y) h; w5 k
) p9 w3 _6 ^+ N7 M: O; }原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。  C3 I/ o2 ^  m

% y7 J2 f3 T# y* a3 T3 ]: \/ j. a    现有公链的问题0 _, I$ M  L5 x2 Y6 B
/ m( o( Z7 o' B& J1 E2 Y! L
   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。
; u5 ~7 x, O3 ?
0 ]6 \5 w1 e1 Z: x# G' p   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。  o8 v4 F2 a, E  W

- i; X: o, p2 {- `4 P5 V5 c' z   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
8 Y& F: |9 x! q0 U
" y- e8 R( l4 s; }7 y% @   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。2 J+ i! p8 Q& C1 u) D$ e

) s/ z5 Z) t( R! R) BYOUChain 的愿景8 N) I( ~- \/ F1 V% S
! q: g# R( D( A6 x. @( U: \, M4 ~* r: u
   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。% h6 h" F$ Q+ r7 u* n; B
9 x; s1 o: @  Q. h
1.低性能,速度慢,难以扩展,不是我们想要的, M: _9 z7 Q+ m
4 v: b) L+ A& {, C
2.权利高度集中,不是我们想要的
0 s. z: f, n+ h( j1 d% Q8 N5 q; u4 P( h7 S* k
3.使用费用高昂,不是我们想要的
5 T* p- M9 P! b/ y- [! j
1 f' \. _! D2 H! j2 r; U5 m8 `9 j   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。* D& P' j* L) G* Q8 h
5 M9 z1 _: J+ t% h' N+ A* W6 Q! ^
   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。
3 [1 y9 ?! s1 s7 A! k# \# }
" [) F& Y  I) C思考性能: d8 }: W  _# }0 k- d5 Z% ~

7 g7 e" X) N# B# a' O   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。/ B  l" G$ O9 ]
& b$ }' q0 o+ N2 U) u
怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。. \8 `4 q1 e* j9 @4 z7 t/ v- z

  s' w. ^; @0 u3 [& z   思考 one-CPU-one-vote
1 n; U# Q6 Z) `8 K- M9 f1 j% }# o6 W+ Q1 S6 @( v
   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?, i: }6 N8 ]% N/ J9 f& d
8 J( z8 t6 J# ]& V
   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。" j6 O* e( S  T* b, o4 `

8 H4 H* u2 R6 K0 W2 s# Z   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。7 \, ^: i) M9 e

* q1 w: x/ }, G$ u. p- A# [) Q思考费用
/ L2 P$ x2 B- I+ U: b! E
8 J: ?: ^2 V9 V8 B   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。
: F& N* v# j' ]2 Z) |6 k
9 e! Q. R0 [0 y; `; a# a那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。
+ e+ Y4 |5 S- i1 g2 C1 o
; j0 T5 h" C: `1 @# e0 K" n* f   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。
! k( l; L# W$ Y2 e/ L0 E
' h& N# Z- s1 M. N; j% A抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。/ }( }5 e  m$ i, z

2 z5 p, I2 w) L1 q! V    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
" d6 w" Z+ a, D% L8 }6 {$ z
$ Z0 Y, X4 G) h# Z6 q1 Y1 s思考可扩展性
! p3 C9 r% f" J$ l3 A( ~* V5 [- T% x9 R" h
    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。+ e& X! w( U9 m. f; w
+ U( U! G! T0 {- B4 V% @* b  W, ?
    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。/ d' l* X* b* M! D& l) z5 A
6 b  P  E. C5 ?6 [1 q. P
   YOUChain 共识「YPOS」
9 a; s7 Q+ c1 {3 X
/ U. O* J% J1 \   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。
: \, ~: G" Y+ S. [! P/ E$ Q: ]" U: F6 S! o+ h: t/ y$ x
共识流程,主要分为两个阶段:提议和投票。
1 |  C2 r& U, n9 r5 N/ M( b, I, B/ m7 M! O1 L2 \
1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。
& g- H3 i+ R) A# Y! ]
& x1 x& U* m  e2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。
/ Z5 o! }# v  n  V* `, R
: }3 S2 I/ H, d9 B其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。
! c: V+ [! @9 h6 D, v9 d
6 W7 L9 C3 u/ W9 o& r  \' l在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。5 e# c/ v) x9 z# v) p- \' W, B

/ d1 n, J; ^5 q  q# hYOUChain 节点设计
* K/ P! U" u# _) X2 A  P$ U
* r# ?* M8 O# K* t   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。
% x* ^) n. h' o+ s
6 h; ?; b% h, ^0 G! P: @' R在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。
% j3 r, Q/ O3 e( Y) ]
8 c0 b( B/ M$ A   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。- w$ E& L1 X4 S) v5 b

: U& |( V' I, K5 b0 E   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
% t2 T) l3 P7 b1 W5 j# }/ [: u
$ L: c; i! i% \" R; t为了实现我们的远景和目标,我们设计了如下的节点结构。  S& J7 }/ n& o% Z+ n( m

" l& y! W( B# t+ U) u+ o& E节点类型! _! s3 q6 u' b7 m3 W

; y8 L- D. l5 n& W% H系统中包含两大类节点。+ m4 g4 B! E# X1 L$ t3 d# n4 @% M

5 z# A1 r' t4 |! `. D# G/ H& U1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。
% x3 |6 v" w- Q/ |7 V0 X8 T! V9 C: E  A
2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。
& X; K! e' Y" a9 ?0 A7 C  V0 S* }: K& j, Z% ]. C
以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。
( e9 ^9 r2 P& O0 A2 s/ Z$ K; A$ z1 q/ h; \/ F' k
节点选取方式) J8 P$ K9 f& }4 G0 K( A' T

: O6 S$ X1 W8 b7 m, O
  b( C+ O2 v) A7 ^4 S3 }+ l2 P1 ]3 N4 o6 q& _

& B( T5 S2 _1 G
+ h  K5 s# f: x) f9 [% [: n8 v3 h. \% Q' T; X- r
参议节点参数「待定」
5 N( Z! o; i; \- x8 |- W, Q9 t7 q% I/ z7 M

- o* D9 p* k- R# \' V1 x' K: J: G/ H! R& P3 s

0 C1 C. P5 p5 |+ d4 G/ W
0 c, Q" N" o' I! Y3 O8 Y众议节点参数「待定」
. e1 \. ^1 c" }
/ G, H9 v* T; D1 ?9 t. |6 L( W& M1 Y( d3 H6 o; x0 g2 D3 X2 ~; F

+ }; e1 k, ?2 x& E8 ]3 w6 Z9 |
% N8 y& ^' r8 n2 p% f* s6 U% {7 M1 \$ `2 v$ v9 b$ z
两类节点对比
- o) B) b- z1 [, T5 u- G' `) l1 ?+ B* L; x
; X8 A: \; s/ m9 x' c
* H' u" Y3 m+ E# r- O: J0 V% M6 V
  a) g' Z  L+ G
* P# o# x7 A$ V: S3 a% D8 n
    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。
, @. L8 A7 z4 M# `" x( h9 s6 r' r" p0 V" w
YPOS 区块敲定) B; H5 w7 F; Z2 U6 G4 |# t9 w% |
' T; ~! r) z) M
1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。
4 A( E4 [! o9 J* _; t: ^: y; Q/ y3 |% x9 T; [) }4 K& [4 g  q
2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
" w- k6 t7 ?, [& c3 B8 J2 U
. {8 |' A. g- S2 }3.满足法定票数的区块,则为敲定的下一个区块
* ^' a7 S" a1 P8 K2 a7 H5 n: M7 i, W/ l) G& N" I
定义如下:, M: ^8 h  w( d+ m- u  _: n# J
4 z* z# \* h# l0 a
2 G3 D5 x" |/ S, s$ W$ M$ T: N  f

8 n3 D; S3 X# R7 L# J* O, t3 D0 i, u9 S5 ?* t, ~

9 V7 S( H! }" V. n2 Z# L" U5 V8 r* }
网络安全3 S4 m- ?0 J: b9 M5 x) x

$ `7 A7 ^; Y3 U' d% Q, ~  X& J参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。3 K: i. \/ v( Y" @$ H9 T1 z
$ n8 C; L$ Y4 c  O/ d0 h
官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。# ^0 C7 m  k+ Z/ F

/ \) s# W' c9 x$ f5 U! J  e官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。
0 P$ p9 C% o& ?6 K$ T, l* Z) U# q( _. `
链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。4 j+ E1 D4 ^/ h* h9 j
/ u; c1 \) X( i: U# f1 `1 W* n
网络演进
- m0 z$ M) G1 O0 S
& I. \2 v" n* z! }8 \/ ~8 C0 lYOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。7 U0 d: O1 u# i

7 d- \6 A, d/ ?8 z, C" b$ U1、通过安全分片技术提高可扩展性
0 U5 o& y8 _9 |4 [; x( a7 w/ i' {# y& n: L( b, T+ e; D
2、逐步调整众议节点的选取参数,实现「人人可参与」
! A; D) _) W4 }, V$ m
8 G# T: m6 W! c9 u5 `# ^3、区块提议节点逐步过渡到从众议节点中选取' J  Q+ y0 u* g) X: _% T
! ?' z6 n( f$ U
4、逐步降低参议节点集合法定票数 的要求
8 d3 Y0 o: Z9 N( f1 g) k
  k) b. h  @5 t) P( T5、参议节点的功能将演进为:存储、转发5 c5 o. |4 @/ y

  ?& D0 C0 @7 t前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。
4 m' ^, N! C: n
1 d! I  y3 P. A* E2 Y以下为问答素材:& b& i# S2 b4 T- A- W

$ T1 p( j9 c* O; P0 u& Y6 g! tQ1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?/ U% F. u4 q* }* t! X1 U

- F! z7 X, ^7 k" u+ B8 i何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。
% D7 h! A6 E5 Q' m% x& l+ C; _0 C' B& u" Z8 m# b2 x+ \
Q2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?
: g) j, \) M# i8 a$ x# u7 o
0 S& t" L6 c  y0 g: z' O何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」. i- V' d6 U( Z* B
2 v: u) ]9 J/ z" Z# y7 m
Q3 参议节点和众议节点的数量分别是多少?会不会扩容?' b& F( ^, w" I4 B. [  L( {! Q

9 T0 |* P. F" o* x! e( M何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。
% Z# }: t/ a1 D. C0 H8 j  R; K) x% |: P. R( T
Q4 参议节点提议区块,是否有中心化问题?
5 V7 h- Q% @# S5 I5 T  h; Q  B9 o9 U2 N
何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。
. e0 e9 W% D* m0 z& R. i" O# O1 ]( N5 h* d6 ^9 e
Q5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下3 i8 ?; i' c" |2 ~  D) Z; A/ m

) d" W* K- p& w何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。6 G2 v- @: Q: {

% n3 x  L, i. U" `9 {Q6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?+ i: ]3 q9 O- r$ \) ]) Z, j
2 ]3 m7 B7 |& _/ C* l
何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-27 18:02 , Processed in 1.695086 second(s), 32 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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