Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文
以太坊君士坦丁堡(Constantinople)分叉即将开始,很多人都对本次分叉感到好奇,不确定是否需要提前做好准备。8 @" V! W* j, e2 b

4 M0 p% |8 g( b4 ~' B2 D简单来说:如果你只是ETH的持有者,本次升级你不需要做任何准备。# b3 X' ]4 G3 I" h

) _3 w: n4 L3 F- o% \1 f8 F( ^% M什么是分叉?: H, @& [% i% F. q8 f

) @& E) m$ f# B1 F$ j分叉就是网络升级,就像你的电脑和app需要升级一样,分叉也是为了网络变得更加安全,具备更多新的功能。8 s" b9 v  Y( i3 _$ \( G
" p3 j  }; z# Y' @( l; w
你是否曾经在更新之后打开一个Word文档或其他文件的时候感觉有点不稳定?或许有些注释丢失了,又或者看起来怪怪的?硬分叉也是类似。如果人们在运行旧版软件,而新版软件试图与其进行交互时,有些内容就可能丢失,或者变得不稳定。/ Y+ [, i! U" I, _% K" H

7 i$ t- u. ~+ w/ [! b2 g* B这是因为区块链是去中心化的,同时运行着大量的计算机。用户之间不需要相互发送Word文档,每个人都可以同时获取最新的文档(即区块链历史)。2 U$ i  ^' ]8 ]; C- Z

3 c2 I! e, A9 T0 U4 D! \因此,为了让一切变得更加稳定,运行区块链软件(即节点)的每个人都必须升级。这样每个人都可以在遵守同一套规则的前提下获得最新的功能。7 ?3 `; }6 |/ F" K8 F

+ T/ P( p' _) a分叉为什么叫分叉?  O- Y* `8 T# H3 I$ P3 W8 ?  H

/ b* @  x( e# W' @/ Q分叉之所以被称为分叉是因为其与分岔路口(英文中都被称为fork)类似——一条区块链被分成了两条独立的链。其中一条路(或者说一条链)遵循旧的规则,而另一条链则采用了新的规则。3 P9 c' k' F" g3 g; O" P! R

' |- ?+ X9 T( M  {: V( s& B/ d有些硬分叉不存在争议,因此大家都会弃用旧版软件,没有人会去维护旧链。这条链就自然而然地会停止运作,因为这里的币也已经没有价值了。
2 z$ V6 h3 s3 e2 ]' a# X9 V  ?7 v$ Y* b( H
然而,如果硬分叉存在争议(也就是说,有人反对其中包含的改进),那么两条链都很有可能继续存在。就像ETC和ETH以及BCH和BTC一样。; @* x* q" p, ~& V: e  F
8 ?! d7 r% a; K& G2 x6 B
什么是君士坦丁堡?
+ f+ \1 @/ f: o0 p; t
) B: o4 U( X2 Y$ ^; l: Z1 j君士坦丁堡是以太坊网络本次升级的名称。本次升级不存在争议,网络中每个人都同意以太坊区块链走上一条新的道路。$ b: X9 N' K. n8 e! W
1 C2 u* [/ x6 Q* ]% K) W: U" G$ z
因此,就像此前的几次升级(例如2016年的家园升级和2017年的拜占庭升级)一样,本次硬分叉虽然也会分出两条链,但旧链几乎会立刻消失。同样的,普通用户也不会察觉出任何变化。- Y* G: R7 q8 _
2 |1 J0 ?# [% G3 u
这个新的以太坊区块链包含几个改进该网络的EIP(以太坊改进协议)。% t, \7 G+ u6 _* K; G  C

) R+ |5 D$ _  k1 k我需要做什么吗?转移ETH?
, \: k* n3 }* \7 h9 @; E( |2 c8 Z# b7 k: {6 J
什么都不用做。虽然你的ETH会同时在新链和旧链存在,但所有交易所(Coinbase、Kraken、ShapeShift)、服务商(MyCrypto、MetaMask、Trust Wallet)以及节点供应商(Infura、Etherscan、Quiknode)都会升级他们的节点,因此对普通用户来说不会有任何影响。
# u( E2 H) I0 ]) D& T9 B
! Y% b6 K& B2 c0 ^*** s' x. ^0 Y2 x/ q

* P* {2 U$ z, O5 X; U- z+ v- {如果你在运行节点(例如用自己的电脑使用Infura或者运行Geth及Parity),你就需要升级到最新版的软件。**! Z  h! f3 x) q/ f/ c

; Y# l7 ^7 h5 |# l) A- i  q本次升级包含哪些EIP?9 j1 i. Q- d; Y
7 l) v: T6 l8 ]3 B- i
EIP 145:以太坊虚拟机(EVM)的位转移指令0 h: V# K$ H! Z

, d6 j/ y3 k1 }0 d8 m1 V( u提供与其他算术运算同等成本的本机位转移。- C; ^: z% a$ {, n

7 Q6 E5 v1 e, c6 K# A4 e. c& dEVM缺乏位转移运算,但支持其他逻辑和算术运算。转移运算可以通过算术运算进行部署,但所需成本更高,需要耗费更多的处理时间。部署SHL和SHR的运算成本分别是35 gas,而本文建议的操作只需要3 gas。
# d: q9 d) n' l5 ?  Q3 @
& o) d7 }0 c1 p7 g8 U" b1 K- {# N- 简单来说就是给协议添加更多功能让链上活动变得更加方便,成本更低。7 @) [4 l* `2 k: t  R
3 G) u) N5 G7 X) T
EIP 1014:Skinny CREATE2
9 P# @' e3 p0 u" j+ h6 k6 Q. e1 j3 d
为0xf5添加新的操作码,需要4个栈参数:endowment、memory_start、memory_length、salt。除了使用9 q) w; E0 F; O1 D' q( Z
6 A3 k1 K% R( F
keccak256( 0xff ++ address ++ salt ++ keccak256(init_code)))[12:]0 O4 n3 V6 K) L, U  V
" Y% P5 K) ~$ `% B; U* R
来取代常规的sender-and-nonce-hash作为初始化合约地址之外,其他CREATE操作都是不变的。
& C# T/ Z' e+ Q0 s* N8 @- l* j# u) s5 G
! q" M/ ?7 g1 J. ^3 ~允许与链上不存在的地址进行交互,前提是这些地址包含由特定初始化代码创建的代码。
* N7 }0 z. Z$ M! ~  N! g/ K3 O/ h1 |5 _% {& G2 O! o- r
对于涉及合约交互的状态通道应用非常重要。
* Z: o9 a( p$ M# y0 W7 j) E* }) d" _' c) t# \
简单来说就是允许你与因为状态通道而尚未创建的地址进行交互。
! v: q2 K" L0 U7 k+ _" _) ^& ]5 m5 V0 H" t5 X
EIP 1052:EXTCODEHASH操作码
. X, I. Q' P% Q- H: \' p0 A, W
2 E- N2 y5 r; w; U& ~" G* d6 F: X这一EIP介绍了一种新的操作码,回归到了合约代码的keccak256 hash。
1 g7 e, `" C- U5 `' E7 Y( S) n: w. m/ g- Y& _
很多合约需要对合约的字节码进行检查,但不一定需要字节码。举个例子,某合约会检查另一合约的字节码是否属于可部署范围之内,或者会分析代码,将一些带有符合要求字节码的合约加入白名单。
! s1 Y) f# d( k
4 L( Y9 M& Z5 Z* Y目前,合约已经可以通过EXTCODECOPY操作码来实现这一点,但所需成本较高,特别是大型合约。因此,我们提出了一个全新的操作码EXTCODEHASH,回归合约字节码的keccak256 hash。" K! f9 p, `3 \& M$ }" l6 R0 P

+ {+ V/ l7 }  b- i- 简单来说链上活动成本(所需gas越来越少)将会降低。$ p7 j9 b- `* A- e& `' b
* x5 o4 a$ x( D" y
EIP 1283:不需要dirty maps(额外的存储结构)的SSTORE gas计量' Q1 e/ s2 w5 q, y
; x( u. N' G( n9 v
这一EIP提出了SSTORE操作码的gas净值计量改进,开拓了合约存储的新应用,在出现不匹配情况时减少了过度的gas成本。2 K/ A# A: k! t8 k% F9 E1 E

) a- N' d/ D  G3 O% }7 d. @9 w简单来说就是让链上活动成本(所需gas越来越少)变得更低,尤其是针对现阶段成本非常高的活动。2 w* k# B, v/ J/ a3 F  ]+ g& X& s

% s7 t- w( Q$ L5 L' D; O7 DEIP 1234:君士坦丁堡难度炸弹延迟和区块奖励调整7 ~& X) t: ?5 k/ I$ p
! G+ j3 C. h4 c: j6 Y& F5 z
由于难度炸弹(也就是“冰河时代”)的推进,平均的出块时间增加了。这一EIP建议延迟难度炸弹1年,减少区块奖励。  s) w, K. i, i  s- m

4 v6 |  b) e8 h# A简单来说就是在PoS准备就绪之前确保不要“冻结”区块链。$ O( P9 c( Q2 L8 O" T
! z7 o% Q. |$ i, T9 o+ p
本次分叉是否会影响交易或确认时间?
4 W# H- j" O2 I% u$ Y  ?0 r. e
0 E+ H* b- B2 Z6 \' K* w# ^出块时间应在15秒左右。在将来完全切换到PoS之后,出块时间会发生变化,但目前依然采用PoW,可能会有一些延迟,交易速度太快可能会导致部分交易不可靠。以太坊目前通过叔块(uncle block)来解决这一问题。8 d. z$ N$ i, ^8 |/ o1 v) j$ B0 n
2 h4 I. t0 J1 z9 i6 f1 j/ Q
本次分叉是否会影响交易费用?1 f, I- O5 x4 X( d# O+ D
$ w2 G2 [' r3 F+ ~. }# G% n
费用取决于交易数量。有些EIP会优化智能合约交互,因此,智能合约交易成本会减少。然而,我们不知道将来是否又会有一个像加密猫(CryptoKitties)这样的Dapp出现,导致网络拥堵和费用上涨。# n1 U$ p7 X) B" l/ _# m" z$ [
1 Z& E  q' e# Z8 V
本次分叉是否会影响每秒处理的交易数量?. m+ u0 ?" q% `) b+ e8 G
% _& \/ I6 D; k, {. A
平均交易处理数量不变。不过,随着EIP 1024对状态通道的优化,我们应该能看到一些二层方案的问世(例如OmiseGo、Loom Network、Raiden等)。3 p7 Q' i1 o5 u! l9 ~" F; J4 ?1 S7 U

3 x% G; d) Q& S# k+ ^9 e: A' B本次升级是否会切换到PoS?
2 z- T/ B2 x  ?2 |8 T& x3 h: |' K/ G
不会,目前仍在进行测试。EIP 1234之所以提出减少区块奖励是为了延迟难度炸弹,最终我们将看到beacon链和sharding链。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

虹桥大宝剑 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    26