Hi 游客

更多精彩,请登录!

比特池塘 区块链技术 正文
以太坊的扩展年,这里有一些解决方案以及相应的权衡。6 C/ X8 I9 H$ Z3 I* |- H
/ d- z( Q: T# m9 B6 W+ J; ]- h1 g
    首先,如果您对各种虽然深入但容易理解的扩展技术感兴趣,请阅读JoshStark关于第2层扩展解决方案的内容(编者注:中译本见文末超链接)。' v9 H8 B; `& t8 [
0 ]( ?. R1 J7 h3 q
    我也会在这里介绍/总结它们,但您应该大致了解交易分片、状态分片、状态通道(支付通道是其子集版本)、Plasma和Truebit。8 U' m6 E+ O8 @
+ w# P# R: u& U6 I# N# U" p
    太长不看版:第2层还没有来,并且再等6-12个月也不会。我们现在可以做的最好的事情是修复区块链网络的用户体验,即“信任但验证”积极的状态转换。
/ o# E4 a5 l: `' P, D6 i2 e$ d  m6 E/ g* D
    在XLNT我们正在与gnarly一起解决这个问题。欢迎来到XLNT.chat的#gnarly频道进行讨论。9 Q! h( Y7 B* i8 U, X: H
- s: [. b0 Q9 c6 ~+ p" I$ X
    首先,从哪儿开始扩展?3 s9 }* J4 ^. S0 _* x7 S7 J

$ ~' ?) E3 Y& b1 [# k    我们已经理解了第一层,第二层和第n层扩展解决方案的概念。( {7 [: y9 o' g/ m, E2 t
8 ~, [  `$ o# C! J
    第一层解决方案是核心协议级别扩展,如各种分片方法,它们必须是共识协议的一部分才能正常运行。) @) x6 @; x" e; w1 Y* z
4 W# Q0 ~4 @) _+ r) H" z5 E
    第二层协议差了一个维度,它通过利用第一层协议(如以太坊)进行操作,并允许用户在客观上没有第一层安全的环境中进行交易,但其安全性由第一层解决方案支持。例如,如果状态通道中存在欺诈,则用户可以提交由第一层网络验证的欺诈证明。同样在Truebit中,如果对解算器(solver)提出的链下计算解决方案存在分歧,那么质疑者可以通过在以太坊上玩验证游戏“将解算器带到法庭上”。在乐观的情况下,我们使用可以被整体信任的网络子集来计算信息,即便悲观的情况下,我们已经恢复到第一层共识的安全性,最终仍然能得到一个正确的答案。
! t0 s& I: m) v7 A3 \; C, |) T5 v6 [8 f# r/ q( u; M8 _
    第n层解决方案是我们创建的这些想法的延伸,例如,从以太坊分支的Plasma链,我们可以创建更多的Plasma链,将第一个Plasma链作为基链。如果n级Plasma链被驱逐,它可以恢复到其根链的安全性,如果根链也受到攻击,它也可以恢复到其基链的安全性,如此一直回溯到以太坊主链。: D! Q# U/ k: }; I) M$ i& z- B

0 X: o0 r; \. T$ L    第一层和第n层解决方案之间的区别在于提供的不同安全属性。最佳解决方案是第一层,因为它可以保证(在矿工看来)所有状态转移的安全性,而不会有任何妥协。也就是说,你的所有内容都将在此安全环境中计算,因此你的状态转换会相对区块确定性的失败或成功(因为你的状态转换是共识机制的一部分)。! I$ k  f2 v, D; }1 {7 `

: b+ k* M% b  c! j: }: z    而对于第二层解决方案来说,由于状态转移不是第一层区块链的共识机制的核心,因此第二层方案依赖于其它的安全保证。例如,第二层Plasma链可以在权益证明或权威证明下运行,在此环境中以牺牲部分安全性为代价允许更高的交易吞吐量。& c! ?) r0 ^5 |2 z

- x' B( w& |8 B' ]    第二层解决方案的主要优势在于,一旦我们确定可以回退到较低层级的安全环境,攻击就会变得不合逻辑,我们将看到唯一的攻击类型是来自具有恶意,但不理性的攻击。% S) x% J" B5 ^/ C8 H7 w
" g+ N+ ~" r2 h
    第二层解决方案的主要缺点是,当发生攻击或欺诈时,恢复到主链安全性的过程代价非常高,并且通常用户体验非常差。例如,在Truebit中,因为要花O(log(n))步来定位解算器的错误,因此就要在O(log(n))个以太坊区块之后才能揭晓。每步15秒,意味着在最坏情况下可能需要花费数小时和数千美元来挑战解算器。通常来说,攻击第n层解决方案代价非常高,但恶意用户可能会愿意支付该成本以破坏网络。同样,许多第二层解决方案依赖于经济上的安全性,这种安全性基于“花钱来攻击系统不划算”的想法,但如果其中的经济要素没有得到完美模拟,这肯定会是一个缺点。
: E. K! X. f: _1 c; V0 ]+ }: h1 Z
( @( D: C+ L8 J9 }    其次,你要扩展什么?
6 P2 d- `  R  G4 P( N, _5 J+ B4 s( o8 T
    “扩展”涵盖了很多方面,分布式区块链的不同方面都可以扩展,每个方面都需要不同的技术、架构和权衡。, ?3 r) n# ]6 N/ M9 L

- U6 Y. \1 p: Z6 Z+ }    事务(Transaction)扩展2 ?& f9 `5 L+ ?0 h0 w. `$ O

2 W7 r. l( R  {+ I0 I  m, g2 n    一种主流的方法是事务分片,比如Zilliqa。通过并行执行交易,允许更高的吞吐量。值得注意的是,这种技术并没有像许多Casper实现那样尝试分割区块链的状态。据我所知没有一个成功实现事务分片的生产环境网络。
& L( a4 m" Q7 q/ [$ b
( L! u$ M8 p" z1 Q$ X+ ^    区块链空间扩展' r% W6 j8 P6 h4 c! t$ {0 d
& w5 P! D5 w) O  a5 E9 ?
    这会使区块链变得非常大。如下图所示。4 c, o  E* d  b1 b" x. v) f  v
, J/ y7 q1 ^; _- ]
    数据非常大。Casper及其变种试图对区块链的状态进行分片,因此独立的节点可以是完全的(full)、验证节点(validatingnode),且无需存储臃肿的状态。
7 Z& Y* T5 F. o7 P9 C5 Q1 o' z) i, h( ~1 L2 H9 g
    还原状态转换扩展
3 j- r8 Z6 w3 L- y, ?, c  M' ]; V: {$ W- o7 E9 |1 I
    状态通道
: p4 F  X2 a2 [7 r) F+ [
" m3 i7 a/ v8 K    假设我们有某种状态,如两个不同用户的余额,经历了许多频繁的小变化。如果我们可以完全在链下协商并且快速交易,然后只有在各方满意时才提交最终状态,那就很酷了。这就是状态通道(针对支付的用例被称为“支付通道”)。
6 i+ i' R9 n- W4 a% Z/ R
  [( ?$ A  l- M* g2 N. O7 K    状态通道的主要缺点是,它要求你与所有想要进行状态转换的人“打开一个通道”。因此,如果我想付钱给你,我必须开一个状态通道,这需要质押金钱(还是加密经济安全性),然后关闭通道(成本还更高)。在简单的情况下,额外工作并没有提供任何好处,但它确实提高了效率,将多个状态转换压缩到单个状态转换,可以支持小额支付或点对点游戏逻辑。你也可以像雷电或闪电网络那样通过中间人使用状态通道,这可能会缓解大部分不利因素。
9 a6 a7 j- B# o, d. Y- P- q: v$ l& p
  x0 D6 C* m; N; b8 O  m' t9 D    一般而言,状态转换具有最终确定性,但该确定性是以“质疑期(Challengeperiod)”为代价的(仅在单边退出的情况下)。质疑期让一位参与者有时间窗口提交另一位参与者的欺诈证明,从而使双方提议的状态变化无效。从用户体验的角度来看,这个质疑期非常烦人,因为要渡过质疑期,状态通道关闭的最终状态才能实际使用。
3 z# R7 [5 b9 W  b" I4 p7 D/ T% o& y# I8 w4 [' Q0 [* R! n  M6 w0 p" V
    闪电和雷电网络正在开发针对支付的通道。Counterfactual正致力于以太坊的通用状态通道实施。观看他们最近在ETHDenver2018上的演讲,了解一些很棒的信息。
- a" }: U* u( v3 v3 i8 V' o- E
& [% V$ j1 D' w7 l/ x    https://www.youtube.com/watch?v=kZH_ty82jKY&feature=youtu.be
' H0 ?, B* r, Q) C: O& j5 j  h. D: q: B- |- n: N' T
    状态通道还没有完成,周期可能要6-12个月,因为整个生态系统并没有意识到这些东西实现起来比听起来更难。
; H  @# {- |+ a3 N4 p: z9 B
" N. b( E; c0 l( k. H" e, y6 V  k) }    Plasma" _3 s5 D5 e' [& F+ r
. O* ]+ c# a7 M' Y( J( N
    从比较抽象的角度看,Plasma是区块链的经典实现,当需要更高级别的安全性时,它能够在攻击的情况下以“基链”的视角重放其状态转换(主要的就是如果Plasma链发布了无效的状态转换)。它允许不同的参与者加入和离开Plasma区块链,这意味着它对于多方通信更合理。它与状态通道有类似的缺点,因为基础链的逐出过程需要大量计算与时间,会极大地破坏网络以及用户的网络体验。2 {8 J% \5 K( o) c0 e6 Y5 O7 F

3 j5 Z& S* V0 B7 x% }) M; V: g/ u    理想情况下,一旦我们证明驱逐有效,理性的恶意参与者就不会发动攻击,但恶意用户仍然可以攻击网络。由于防御机制,这种攻击因为成本太高而不可行,但该防御机制也增加了普通用户的使用负担。L4的文章中还包含许多其他攻击面和缓解措施。- p$ ~. Z  q- e3 O" ?2 Q3 v' n/ K

# `+ M  R) `& j- k5 a* T    Plasma的主要缺点是它还需要一个“挑战期”来敲定由Plasma区块链管理的状态,但是,因为它设计的时候考虑多方,状态转换要在挑战期结束之后才能最终确定,导致额外的不确定性。
( ^4 E4 ~. R' B; B  J" g! U8 {2 `3 t
    从开发时间上来说,Plasma要花的时间远远超过状态通道,并且实际上在接下来的10-16个月内都不能用于生产。OmiseGo以及以太坊基金会是Plasma的管理者,并正在开发它以用于去中心化交易协议。还提出了“最小可行Plasma”,一些团队正在研究它,但时间表尚不确定。
& `3 g9 c* a; ~6 Q! {' O1 h" w# Q4 x* l, K
    通用计算扩展
: V9 H8 i# {# E1 O  F9 S- s3 e( ?0 V& H4 L9 f
    Truebit扩展了交易的“大小”,因为它允许部分计算由网络的一个非常小的子集完成,但这是由于全网都信任协议的加密经济属性。这主要适用于非常昂贵的交易,例如工作量证明的验证,概率视频编码验证,Bulletproof验证,Plasma状态转换验证等。
4 q1 k4 e8 d8 x, o# u6 x& p& ^( \) N- A! o+ E  X# X& N! u5 N# v) H
    与Plasma类似,Truebit可以回退到根链的安全环境,允许它乐观地离线执行通用计算,但在链上验证结果。这个过程既缓慢又昂贵,并且与之前的第二层解决方案具有相同的缺点。
1 t1 W1 ^" ]- c9 r+ |, m( y( n0 Z4 Q1 S% s. ^# _  `: n. x$ |
    修复第一层的体验,如何?% x, O' h- O9 K* w; P! N2 ?
" z5 L0 e4 p$ @5 C2 ?
    扩展分布式区块链网络非常困难(正如我们在过去2年时间看到的那样,扩展是一个热门话题)。我们现在可以实现的修复,只是提供比现有第一层解决方案更好的体验。这是gnarly的目标,它提供了用于面向用户的应用程序的积极状态转换。3 s& S1 Y+ z2 f+ u
9 R/ p# c3 i9 d5 F, Q, ?
    您可以通过下面的链接详细了解gnarly的技术细节,但我们将主要讨论它为创建面向用户的应用程序提供的属性。
; z) t  T1 d3 ]% s- m1 L- J* @3 h9 K
6 \! e; |6 _; F+ V+ ?: f    https://medium.com/xlnt-art/solv ... gnarly-51f5310e5543$ |; b, f# d4 [1 J5 ~
8 t$ R# n8 n* ?  _; M5 ]4 L
    Gnarly:
2 f# W: }/ }; n! Y" j7 }* @9 G2 a  |. }8 h1 h: a$ |  q2 }
    启用声明式、响应式客户端,# P4 c) l) U8 c& Y
5 U8 s* R4 g/ h) m1 t. l: y% ]
    具有置信区间的“即时”更新,即积极状态转换,& P6 D0 f4 P- ?6 q% }5 y2 z3 i) ?' O* {

/ z2 {! M& e" G$ E. V$ D) r# Y    积极的UI模式,即时因应预期的变化,但一旦获得可信来源响应就会恢复内容,客户端只需要知道当前状态是正确的,并且具有适当的信心以便开展业务,; t: @- h! Q& C; e% F

( p/ v& ~' Y# w9 |0 Q    友好的错误管理意味着(i)开发人员获得合理的错误环境,且(ii)消费者获得有关错误的解释,
: X/ B+ L6 i: A* z) l. V
$ |6 Y6 L1 d+ \+ \7 U" A6 _, k    友好的错误管理允许任何人知道(i)发生的事情和(ii)发生的原因以及(iii)该错误如何影响他们的行为,% c+ o* Q" X/ y* Y2 z
7 e5 L1 ~! `4 [& C' a- ]# i
    支持从任意块重放到(i)引导稳定状态和(ii)在失败后恢复,1 H5 Y3 _9 p1 {* |, y* O3 ~
* I$ F8 H5 l' m0 a
    默认输出是针对graphql消费者客户端的8 E8 ]8 z# S1 z0 o8 q/ G
0 I, b- l2 D* D/ _! H9 D$ r
    gnarly方法的主要优点是用户可以获得状态转换的即时更新。他们不必担心交易,他们不需要停止手上的事情来等待确认,他们可以立即对新信息进行操作,并且通常只需使用app。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

携手到老啊 小学生
  • 粉丝

    0

  • 关注

    0

  • 主题

    7