私募

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

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

[复制链接]
发表于 2019-8-8 09:19:58 | 显示全部楼层 |阅读模式
网络与节点
. \$ u- i* y: R$ ~" H. w5 M8 C* I  V: H) a% r" t
   区块链网络,本质是一个分布式系统,系统中的节点根据某一个约定的规则,完成状态的迁移。网络中的节点的角色、数量、在线情况、是否诚实认真工作等,定义了这个区块链网络的性质,也关系着系统的安全。
  O0 ~9 D6 N; B+ u1 r" B3 U4 J: {% k2 E
共识与考量
$ A. t% V( z: C2 q7 T( w! Q
+ m2 @" k+ O# x; z   网络中的节点遵循的某一个约定,就是所谓的共识协议,简单的讲就是决定哪下一个区块的规则。在节点的维度考虑问题,那就是哪些节点的哪些考量标准,决定了下一个区块。在区块链世界里面,主要考量标准有所谓的PoW和PoS。分别是以「计算能力」和「持币数量」为考量标准。
9 Q$ v: Y. K$ [" H; B& z6 q5 y2 u  |8 T
  F- o! w% ^- c. L8 p: t# I- c   大家可能会问了,为什么主要是这两种考量标准,为什么不是别的呢?
, X( m2 d8 Y! J+ S
6 O4 @( ?- }4 Y原因很简单——这是两种最容易量化的标准,且易于抵抗攻击。其他的,例如 reputation(声望度)、honesty(诚实度) 这类标准,都无法简单准确的量化。那存储空间、带宽能不能成为量化标准呢?答案是可以的,但是具体实施起来,有一定的难度。
. U8 E/ d( ?6 a; K4 A# B+ g1 p( R% |6 ]4 D9 d; p/ H
    现有公链的问题
: ~) ?/ |* p' `) m  y3 w+ |
. W/ l$ s, R  \* `4 o   BTC 创建者中本聪期望通过 PoW 实现 one-CPU-one-vote。早期,普通的家庭电脑也可以成功抢夺到出块权,确实满足了这个愿景。后来因为算力竞争,挖矿设备进化到了专业的 ASIC矿机和矿机联合体——矿池。ETH 一开始就考虑到了矿池垄断的问题,它设计的Etash算法,是依赖内存的,所以 ASIC 矿机的优势没有那么大,但是矿池还是形成了。2 h2 E8 {; N' |' h$ E2 f7 f9 E* v/ b

& F4 j1 S3 i2 S: ~9 w1 O9 s" v- [   BTC/ETH 让人诟病的 POW 挖矿机制带来能源消耗,吞吐量低等问题,也使得两者使用费用高昂。* v7 R4 d" v  |( n  p  F! ?1 a' c
, G! |3 Z8 n' P# ?  c$ y7 I) Q
   EOS 模拟了美国的选举人制度。本质是倡导大户集中,鼓动社群投票,超级节点竞争。开发者期望用超级节点竞争的方式,实现去中心化。主要开发者BM甚至声称,这类超级节点的去中心化程度,比 BTC 的矿池垄断的模式要高。一直以来,RAM (内存资源)被当做投机标的,使得开发者成本飞涨。有相关计算表明,支撑一个 DAU 1W 的 DAPP,需要近 200W 美金的年费用。
- K' x, a$ Q0 g. t7 X1 T" G: I/ p- f3 j: P5 u" T; z! L  _# F+ M
   可以看出,这三大代表性公链,去中心化程度堪忧,同时使用成本也较高,无法承载商大规模商业应用。4 K) {: r% \! ?2 h2 h* V( }

  z5 R- T4 ~3 W% `YOUChain 的愿景
, X4 s5 c/ E) O! F7 K- f6 {, t6 {/ B  m7 ?* a3 }
   YOUChain 愿景是打造可承载大规模商业应用的去中心化公链。要承载大规模商业应用,性能和资费是关键;要实现去中心化,节点角色、职责和数量是关键。4 [6 t2 n8 x$ h
9 Y) a7 w' u2 V7 F5 r  O, _
1.低性能,速度慢,难以扩展,不是我们想要的
0 [. L& K3 T2 p& h: Z% D- Y7 f* @  A$ J" p/ P. B
2.权利高度集中,不是我们想要的
; j: x: {0 c" o! @2 R( q/ ^* D% y  }- D- f  G# Q1 B
3.使用费用高昂,不是我们想要的
( l" {8 l/ U3 k' S( b; ^1 Q' \
, |8 Y3 f# c; p0 H   要实现高性能,需要考虑制约区块链的三个基本物理条件:计算、存储、网络。共识协议和网络结构需要极度的优化。* x/ x) [, b1 d: T) l

, _# Q& F$ @5 K" M% v   某种程度上,我们是中本聪的信徒,相信去中心化的愿景。因此,我们认为,以某种方式实现中本聪的 one-CPU-one-vote的初衷,是实现去中心化的一种方式。0 D5 v, u7 f4 K; Y, F

3 U9 e: |9 o# K思考性能; D# q, q, y; U- G" Q6 V
' \6 P6 e6 G& [
   回顾已经上线的公链,包括 BTC/ETH 和 EOS,我们可以观察到一个现象:一个共识的达成,需要涉及到的节点越多,其性能就越差。前者涉及到了全网所有节点竞争挖矿,性能较差;后者只涉及到了少数的超级节点的轮流出块,性能较好。
5 O0 W" {- ]5 |
$ p, J: [! [! e, U8 \% J怎么做到去中心化和扩展性兼得呢?其中一个答案是为系统引入随机。Algorand 是我们十分推崇的项目,它为行业带来了新的思路,我们也深入研究了它的技术原理和实现。
/ ~* _- Q' K& `* n/ ]
2 X2 w2 K1 R0 _  P4 v   思考 one-CPU-one-vote
+ {: u/ Y0 [# \5 r3 ~
( ?8 p$ W* c& v, x( n1 J% n- Q8 E   考虑到设备和节点,我们很自然想到了几乎每个人都会拥有的移动设备(手机)。如果这些设备都能成为网络的节点,并参与工作。那岂不是真正的实现了去中心化?9 p9 N) {; z/ `7 ~- h. N

% b3 R% X1 B4 i9 W4 a   为什么移动设备,都被已有的公链排除在了节点范畴之外呢?一个直觉印象是,他们的计算、存储、网络性能都不够,稳定性也不够。
+ m, j) W4 |. G; B  J/ I& i2 f
& }* \8 Q# r6 ]' a   当我们深入去研究的时候发现,最新的移动设备(骁龙845/麒麟980及以上)的计算能力,不亚于普通的云主机;主流存储能力也达到了数百 GB;网络性能随着 5G 的普及和千兆光纤入户的进展,不逊机房环境。  x' t, E6 c! ^- @* C/ ?0 n# O/ N

8 o# O& ?# ]) P/ C& ~9 K思考费用$ a$ v" [/ p* p/ O
6 Q3 p1 y* i8 D; J
   考虑到能源消耗和运营节点成本,我们选用基于 PoS 的共识机制。
' S6 i5 V2 \) w
* n0 t& A% V6 L+ y$ q( _8 r那么使用公链的费用,主要是与运营节点主要包含两部分成本相关:基础设施成本和抵押物的机会成本。1 Y$ @+ L; c% T( C
# C: G& @+ j1 X& \; m- B, d, J
   基础设施成本:机器购置与折旧、带宽、托管费用、防御攻击费用等。
- |/ J" Z9 J9 @) D% h% _5 u0 {: Y( ?
8 e( D7 i: \, a: s7 u) H' Y2 A抵押物的机会成本:因抵押而无法自由买卖产生的机会成本(币涨了或者跌了但是币被锁)。
) ^8 ]0 p2 h8 L9 A. A
9 H# D! Y* Q+ H" ~4 X    我们认为,随着物理条件的演进,当条件具备的时候,不再需要专业的矿机和托管条件,海量的移动设备,都可以成为网络的节点,使用成本自然就降低了。
( g* |+ q3 v7 X% o; w
5 X- r; d* g. @9 |& c' H" F思考可扩展性
, b6 v+ B" N) H/ C* a3 H
" r" Y( g$ t& _( |/ G3 ^/ M    从 YOUChain 创始之初,我们在公链设计中,就预留了使用安全分片技术进行横向扩展的技术路径。
; h3 M- V; g* A' j$ i' p+ f/ n
0 A$ O" C4 _  J    同时,为了满足高 TPS 下的海量存储需求,我们设计了存储压缩和根据 merkle root 证明的机制使得移动节点可以快速接入网络和持续参与共识。
, _3 t2 L3 U/ j. e8 L  c/ h: P8 Q' _3 D. r
   YOUChain 共识「YPOS」
. w, V4 d, O: @2 ^8 @9 o7 D; m1 Z" S6 Z! q( C8 K5 ~& X. a
   为了兼具高性能与去中心化。YOUChain 设计了一个基于 PoS 和 VRF 自抽签的快速 BFT 共识协议:YPOS。3 b$ ?' o" p" d. O/ B

. U% O2 s- _. B' k共识流程,主要分为两个阶段:提议和投票。5 ^! `& @, {1 v/ }. J

+ ]# u  v# p' r( D! f1.在较大的候选集合中,通过 VRF 自抽签机制,选取少量(如数十)的区块提议节点,后者将提出候选区块及其哈希。/ L! L5 A/ w7 g# K

. H1 T. ^; `. r' J' J2.在较大的候选集合中,通过 VRF 自抽签机制,选取一定量(如数百到数千)的投票节点,为前一步提议的区块哈希按照某一种规则进行投票。; S* S: ^4 A& |1 x* R' ^! O6 r

: O! v6 O" w" ~5 d+ M/ p9 E其中第二步,属于传统的 BFT 共识的流程,核心是消息复杂度和延迟。我们做了大量的工作,使得我们的 BFT 算法实现了线性的通讯复杂度,可以在大型区块链网络中运行,并做到秒级收敛。7 X( J3 P9 i9 Z- Y  b  f
. f; Y6 G" j7 U. E+ L9 C
在节点的去中心化问题上,我们认为移动节点是未来方向。因此,我们做了大量的的工作,实现了家庭网络和移动网络的稳定传输和有效穿透。同时我们将节点输出成 SDK,植入到生态伙伴的 APP,使得搭载 APP 的移动设备,成为网络的节点,这样 我们的候选集合就有了海量的节点。. H% \! S, S$ M6 o- [

( o6 q8 q" l) W0 e4 w" ]% f* W" l- RYOUChain 节点设计7 ?- M- z1 B. |9 w9 w
3 `7 M; b- K" {
   安全性是区块链的基础。没有了这个,扩展性和去中心化都免谈。区块链最常见的攻击,是女巫攻击,大部分都是为了实现双花。. }& d6 R* u9 r
) H& k' P4 o4 A3 I3 m
在对抗女巫攻击上,基于 PoW 和 PoS 系统都有成熟的经验。前者不表,后者主要是出块概率权重或者验证投票权重与抵押占比成正比。+ p3 B6 D) g% ]

! X3 P9 ^0 e6 t   一个现实问题是,对于移动节点,我们既无法要求他们有足够多的抵押,但又要捍卫它们的投票权。
- e) [! A& B3 |, a5 O3 @+ Q) I/ ?
( R1 Q3 w+ I. n1 {   如果完全按照抵押占比成正比的投票权中,移动节点的愿景将因失去激励而形同虚设;如果按照一设备一票,我们又难以抵御女巫攻击(因为节点很容易伪造)。
! o1 D- m1 X# P, o
' Z/ ]4 Z* }+ R8 G2 a6 r, L9 U为了实现我们的远景和目标,我们设计了如下的节点结构。
' ^1 c3 R0 ~) x9 B* B) g1 t7 l7 ^8 M7 q4 i! D. a7 ]
节点类型! r. |1 {$ I7 I: j7 M) a8 p4 G
  j' c* ?" a/ E" d! ^) t6 H$ i
系统中包含两大类节点。: J* L, f" V  T+ n, e: {

; f& Q7 N! P# b- R1.参议节点(senate-node):部署在数据中心的服务器,拥有较强的计算、存储、网络性能,类似于网络骨干节点,前期有一定的准入。
4 J1 u! X$ U- \5 {5 x' I% }) L
. z) A0 d4 x8 Z2.众议节点(mass-node):部署在家庭网络或者移动网络下的各类设备,无准入。# S; |0 ?2 I, V6 I7 R
* O  V. K1 M( {/ _. V) ?. `
以上两类节点,均需要参与 token 抵押。我们为抵押设置一个最低准入门槛,选取抵押排名前若干位的账户作为候选集合,依照节点抵押的 token 数量在候选集合的占比分配抽签权重。! e; T5 `0 g0 _
& L; ~0 m2 ?, P) H+ i
节点选取方式
. F9 e! U. }" F' w1 z" A$ H. n6 \: D
- V3 y: u0 y# @) l( H& v! k

1 |, _/ y' K1 `1 R% n  C- B
, T) w: h! P& F8 j2 ~! m; [
) t: w1 Q: K$ _6 f: c- D. r7 {
! {$ z- X0 C# k) o( B3 j参议节点参数「待定」
$ Z/ Z7 ?2 o  `/ h3 V  y, G' X+ d+ `, t, r; t: H% y: f

. W7 o4 W7 r0 C- O6 [- J! D8 _. w0 a! _8 ^+ v+ c' N

( b3 I' a# p4 F8 R  p4 n
. d. t) d4 c2 E( O) ^( ]众议节点参数「待定」
: t; ^; T+ I9 ~/ @7 E& d: ]3 o$ H! x, p: H! o) w
) e2 g# f( I6 }) s
) J9 ~2 {$ B& O6 t7 R

0 L: _  A& K/ d+ Z0 d1 P0 X( d  ^' f# c3 e/ o; i5 S
两类节点对比( g0 }4 n" q+ h& j5 O  W! t+ [) f
" R, B/ x8 k7 U2 F

! b2 `6 c4 D. q' J5 r2 R# u' r7 e3 B3 D4 a- K; S" M

' M8 W8 d% _7 r4 d0 f" i. P6 t
# [  ?) g* Y# s6 [* c1 r    我们既要保护网络的安全和性能,又要鼓励众议节点积极为网络做出贡献,因此,我们设计了两类投票主体。% [7 E$ _' r4 Q* A
( x9 U& a0 Y8 R% v" q7 o8 \
YPOS 区块敲定+ R# f, M" p7 q& Z

% o  W! M& I% c& \4 o1 M1.区块提议者,从参议节点集合中(性能考虑)选举,提出区块和哈希。! \2 m: A4 |' ]

' t+ l* D# c4 y" _) C2.区块验证者,从参议节点集合和众议节点集合中分别选举,分别对提议的区块进行验证和投票,hash 较小的优先级高。
: w! N2 `9 Y/ T. ~
9 C% |6 o7 L* J, O( D% h# j" T9 @3.满足法定票数的区块,则为敲定的下一个区块
. e; [6 Q, }& [/ n9 E+ Q9 f- \, C9 T( l- S4 U% D
定义如下:
3 N4 p- ?, t! G  F/ T' C" l
  r( B8 X( h- u' E; i* b
( v5 W; g4 c# f5 u* a
2 P3 P9 O$ R$ X  h5 R# G* b
' O5 E0 K3 J# u( e7 p! }: `2 c8 r/ d) b

% D% B; y! w+ [( b& U网络安全
4 r' |, v6 d! c/ s% i3 z6 u7 A# q9 B/ M; j, n; x
参议节点与众议节点集合,均按照抵押占比分配抽签概率,可以抵御女巫攻击。& `$ H) U9 ^& }) Z9 t2 X

% T" X- }0 y2 M& v官方持有一定量的 token,承诺永不抛售,但在网络早期,可用于网络安全性维护。
+ X2 g' E  i9 b) ?) _
# ]2 u) t$ `' e官方可以在必要时,可使得维护网络稳定的 token 数量占据足够的份额,以确保网络的 security 和 liveness。! y7 C$ U- H( E: [$ e& k

9 a: X* a8 _5 y6 A链上将会设计针对各类不当行为的惩罚措施,使得各类节点有经济上的动力去诚实工作。
3 R& r! ]" m: }* R, O/ H6 S! B& }0 S6 S
网络演进( Q$ E' Y0 `) c& P

* O( k9 T' Y# N. y4 _; W- VYOUChain 开发者承诺,当众议节点的数量和质量,达到一定程度,将会推动主网持续升级。4 @+ M; \9 g. C5 v9 V: [7 z! l

& Z. O+ W$ D8 p# c! _+ p0 i1、通过安全分片技术提高可扩展性
) D! G/ _! N6 o* G& p+ g1 p+ z! o$ N; O! N+ W9 S
2、逐步调整众议节点的选取参数,实现「人人可参与」/ o: S* K) |9 f. C, }0 P
1 k) N# D) C; a' ]) P
3、区块提议节点逐步过渡到从众议节点中选取
/ g( ?# l; u/ Y2 M3 b
0 j( M$ W+ P# X6 u9 q' _. |4、逐步降低参议节点集合法定票数 的要求
, y3 V' q- S6 J; U2 q
0 m& |- ^) D, d2 v: ]9 i: d9 G5、参议节点的功能将演进为:存储、转发/ r+ R$ t3 N1 \2 u7 C, F
) V4 A/ e3 x  B3 S
前面主要从区块链网络及其节点的本质出发,阐述了现有公链的去中心化和使用成本等问题,进而介绍了 YOUChain 的愿景和节点设计,最后给出了安全考量和演进策略。主旨是为了阐明设计的思考,引起讨论。' V' `  c# S4 D& b* Z( S9 j
( M9 Q4 A# }) ]* e0 C( u
以下为问答素材:
$ ]' e: J5 q' k& E+ W5 f" m2 j8 H' v+ \" F: a" F
Q1 参议节点的准入制,是否中心化?未来的演进措施是怎样的?3 x5 F, M+ {( e4 m8 Z( V9 e
" t# z7 X. V' |. Z2 E
何畅彬: 设置参议节点角色,主要是保障网络的性能;前期有一定的准入制度,是基于“有责任的去中心化”的考虑。这个准入制度,其规则是公开透明的,满足一定的基本条件就都可以加入。其实是在所有的公链中,都会存在一些优质节点,拥有更好的计算资源及网络条件,在我们 YOUChain 中,我们只是把这些节点识别出来,让他们能发挥更大的作用,更好地服务于公链网络的稳定运行。未来随着社会整体硬件基础设施的进步及个人计算资源的发展,参议节点将逐渐演化为提供存储、转发等功能的节点,并将逐渐从“有准入”的机制变为“无准入”的机制。因此,参议节点的设置,并不意味着中心化;恰恰相反,这是用一种负责任的方式,更好地服务于去中心化这一目标。1 x! W$ K$ j' ?; G. o2 c& O
: F$ G2 L/ a8 o% y2 s
Q2 官方持有一定量的 token,承诺永不抛售,不过是为了抵御攻击,只是有人收购了足够多的token,不就可以实施攻击了吗?
: t& I% i7 N6 F6 }4 Z# I  F$ w5 q7 J: x4 Y
何畅彬: 1.网络的早期较容易受到攻击,所以官方的 token 将会起到抵御作用;2.在网络的进一步演进过程中,Token 进一步分散,在公开市场上收购足够多的 Token,将会被变得「经济学上不可能」
+ x) D) H& S) t8 c. S
3 t* e. }$ e4 p" d8 h  `Q3 参议节点和众议节点的数量分别是多少?会不会扩容?) I3 ~# n% k* g, x
6 T/ h2 }0 k9 l8 h
何畅彬: 参议节点,早期是有一定准入,后期会彻底放开。众议节点将无准入,海量。具体的数字,需要根据上线前,实际的情况而定。我们还在具体考量。
0 y5 `- U- S' u" N2 {0 l* n+ i9 N" p* I( c
Q4 参议节点提议区块,是否有中心化问题?
) @3 ?  }6 n8 F. g: m  ?$ d* y+ Q& _  _& d
何畅彬: 所谓“中心化”,本质上是少数人控制整个系统,能够施加超越既定规则的影响力。但是在我们的网络中,提议区块只是共识的一个步骤,被提议的区块,需要通过一个临时随机选举出来的验证委员会(包括参议节点和众议节点分别形成的两个验证委员会)验证并多数投票通过后,才是最终被接受的区块。本质上,随机选取任何节点来提议区块都可以,只是出于性能考虑,将该角色由参议节点承担。这跟“中心化”与“去中心化”问题并无影响。* |1 i0 N$ h, w- V8 q

: H) l# f$ f0 }, j9 ~" @Q5 我是咱们有链的老社群用户了,刚才提到的 峰值TPS 和测试环境,我想再详细了解下. c& F  J- K# `4 N' @4 ]

, H8 H# J# e! R: m: Q何畅彬: YOUChain 的社群为我们提供了部署在家庭网络下,超过 2000 个同时在线的 pc 节点和手机节点。在 5 月进行的一次压测中,我们随机选取超过 500 节点进行共识出块,跑到峰值 TPS 为 1250,出块时间约为 3 秒。
7 P, C0 Z: F) l" x! T! S" t
! V  i3 a4 l+ s$ }+ g/ o4 ?Q6 何总你好,我是鱼链的联合创始人Jacky, 我想知道下,早期众议节点,为什么是安全的?未来节点众多的时候,如何更加安全?9 s3 k, [) w& M3 x) r
9 ~: i+ a3 C1 _
何畅彬: 基于PoS的去中心化公链网络,其去中心化的过程,必定不会很快,会需要一定的时间。早期的普通节点可能比较少,因此众议
http://www.simu001.cn/x171954x1x1.html
最好的私募社区 | 第一私募论坛 | http://www.simu001.cn

精彩推荐

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-18 12:54 , Processed in 0.508594 second(s), 32 queries .

Powered by www.simu001.cn X3.4

Copyright © 2001-2021, Tencent Cloud.

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