Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文
以太坊君士坦丁堡(Constantinople)分叉即将开始,很多人都对本次分叉感到好奇,不确定是否需要提前做好准备。& c, r/ r8 k$ Y9 M' b! W

) m9 h  S: F. I, g1 C  Q( o简单来说:如果你只是ETH的持有者,本次升级你不需要做任何准备。- M. u9 [' H, C% C* x# v

3 B. j. m7 N: Z1 x0 m, r6 |4 g' b什么是分叉?
  A* Q" N3 q6 K
7 F% n2 e& |. O分叉就是网络升级,就像你的电脑和app需要升级一样,分叉也是为了网络变得更加安全,具备更多新的功能。! X( w  b7 v" d
+ T7 u9 S5 d! W/ x
你是否曾经在更新之后打开一个Word文档或其他文件的时候感觉有点不稳定?或许有些注释丢失了,又或者看起来怪怪的?硬分叉也是类似。如果人们在运行旧版软件,而新版软件试图与其进行交互时,有些内容就可能丢失,或者变得不稳定。
% P$ x9 N* b% |& y/ C6 j4 N5 P* d$ ~/ q
这是因为区块链是去中心化的,同时运行着大量的计算机。用户之间不需要相互发送Word文档,每个人都可以同时获取最新的文档(即区块链历史)。
$ D2 h1 v: m4 Z: @4 K8 [
/ i, P9 o- B/ E- I因此,为了让一切变得更加稳定,运行区块链软件(即节点)的每个人都必须升级。这样每个人都可以在遵守同一套规则的前提下获得最新的功能。( a3 I) t4 ^' d6 }1 ]3 T- l+ y

4 c/ [, N6 B9 p0 N3 Y1 q" i0 a分叉为什么叫分叉?1 T$ F1 o0 n/ r. y

" i% v8 P  h" W7 l. I% S分叉之所以被称为分叉是因为其与分岔路口(英文中都被称为fork)类似——一条区块链被分成了两条独立的链。其中一条路(或者说一条链)遵循旧的规则,而另一条链则采用了新的规则。
, J* u2 u' _. ^2 z0 U0 g; i5 K
# Z3 C' y( O8 X$ ^1 j) \有些硬分叉不存在争议,因此大家都会弃用旧版软件,没有人会去维护旧链。这条链就自然而然地会停止运作,因为这里的币也已经没有价值了。
1 R/ q! L+ K& I/ F: k
  m- H1 C' A- h) G' I然而,如果硬分叉存在争议(也就是说,有人反对其中包含的改进),那么两条链都很有可能继续存在。就像ETC和ETH以及BCH和BTC一样。" r3 S! I8 V$ h" [6 v$ d- R

4 w- |' `- `8 A; S3 [: K& T5 M1 F什么是君士坦丁堡?
( h+ h& z+ P, Z- ]0 P+ k' u9 @( p, \
! U2 {6 D* k( U. X5 V君士坦丁堡是以太坊网络本次升级的名称。本次升级不存在争议,网络中每个人都同意以太坊区块链走上一条新的道路。
3 A7 A# {  E# ?, f$ A! ~/ s) _# S4 r* y5 W( h- G& |$ r  c6 @
因此,就像此前的几次升级(例如2016年的家园升级和2017年的拜占庭升级)一样,本次硬分叉虽然也会分出两条链,但旧链几乎会立刻消失。同样的,普通用户也不会察觉出任何变化。
8 n7 j& J! G& {
3 O* F5 `+ @0 R! [9 n3 H这个新的以太坊区块链包含几个改进该网络的EIP(以太坊改进协议)。
- ]+ L: o( K9 j$ c% V1 B* n2 k+ Q4 r
我需要做什么吗?转移ETH?
4 @* q# ^' W! f1 C, C- ~( O  ~/ W- J, b: w3 c' `& o- C
什么都不用做。虽然你的ETH会同时在新链和旧链存在,但所有交易所(Coinbase、Kraken、ShapeShift)、服务商(MyCrypto、MetaMask、Trust Wallet)以及节点供应商(Infura、Etherscan、Quiknode)都会升级他们的节点,因此对普通用户来说不会有任何影响。
- M0 F* F( {/ v6 V! ]  c: X+ @" S( s7 }6 a
**+ q9 n1 [  X  |; k# z$ x

) J* P& e' Z  b如果你在运行节点(例如用自己的电脑使用Infura或者运行Geth及Parity),你就需要升级到最新版的软件。**
, B- J0 w( j8 Z
( J. q6 Y4 H* _本次升级包含哪些EIP?
8 m0 l+ y( b8 C; c1 R3 j( c
  F. V" _5 V; [. Y- e5 {& M5 x+ y$ @EIP 145:以太坊虚拟机(EVM)的位转移指令1 h  U! W, z$ @: Y) P3 Q
- A: ~0 g  G! c6 b& I
提供与其他算术运算同等成本的本机位转移。; ^: i2 Q* U% j& w

- ]7 \& O  a& v- l5 a/ @2 OEVM缺乏位转移运算,但支持其他逻辑和算术运算。转移运算可以通过算术运算进行部署,但所需成本更高,需要耗费更多的处理时间。部署SHL和SHR的运算成本分别是35 gas,而本文建议的操作只需要3 gas。
' l4 r: w% o% f2 [4 J& [' J) b& c) g+ M( i! z
- 简单来说就是给协议添加更多功能让链上活动变得更加方便,成本更低。, K; t1 b8 Z1 E8 v, x; o; v! d0 s

( f9 F: z9 s7 R2 q' D  mEIP 1014:Skinny CREATE2& f' M; T. L, q. x# ^2 `$ g: d, L
( B) U1 ~& H: h/ z
为0xf5添加新的操作码,需要4个栈参数:endowment、memory_start、memory_length、salt。除了使用
9 C3 w$ M* o2 W* G# J4 q# h5 N! [3 g: D9 _! m$ R/ A) [+ \! w
keccak256( 0xff ++ address ++ salt ++ keccak256(init_code)))[12:]+ j% z6 \: O) k; e

+ h3 Q+ t4 O0 F" [5 d来取代常规的sender-and-nonce-hash作为初始化合约地址之外,其他CREATE操作都是不变的。6 I$ p5 J3 m4 p, b$ t3 q

& I! V; l) ~  Y% I3 Y( ^允许与链上不存在的地址进行交互,前提是这些地址包含由特定初始化代码创建的代码。
% w$ I$ P# t/ Z1 n7 v
3 p0 ^7 y5 r2 p$ V5 B4 p2 X3 o对于涉及合约交互的状态通道应用非常重要。# J3 }5 C9 o9 A) x1 H1 p: g
: g" |/ ]2 V( c/ l3 J
简单来说就是允许你与因为状态通道而尚未创建的地址进行交互。1 t  Z9 ^+ m# Q

7 B$ u& v8 b& R% I2 e* OEIP 1052:EXTCODEHASH操作码
. A% i8 X& J" \+ X4 Q" ~2 j+ i" X* n" I: Z7 K& D
这一EIP介绍了一种新的操作码,回归到了合约代码的keccak256 hash。- M* L7 v( y# _2 D9 p5 B

8 I, B) c3 D5 Y$ p7 m很多合约需要对合约的字节码进行检查,但不一定需要字节码。举个例子,某合约会检查另一合约的字节码是否属于可部署范围之内,或者会分析代码,将一些带有符合要求字节码的合约加入白名单。( X4 x( r) X" T  U0 y( v; w# e$ A

2 n/ U+ @. v" G' I$ s+ k目前,合约已经可以通过EXTCODECOPY操作码来实现这一点,但所需成本较高,特别是大型合约。因此,我们提出了一个全新的操作码EXTCODEHASH,回归合约字节码的keccak256 hash。4 h% J$ F9 f( q- G

; |- p5 P. o( |8 k8 w9 @- s% X- 简单来说链上活动成本(所需gas越来越少)将会降低。, Q! T: u* }" d# }, J: }

  R- o% \4 g+ `: Y' ?, HEIP 1283:不需要dirty maps(额外的存储结构)的SSTORE gas计量
4 O( V7 c, D% a1 t4 x8 q/ A
' m8 v9 R8 q; n. m5 j( t这一EIP提出了SSTORE操作码的gas净值计量改进,开拓了合约存储的新应用,在出现不匹配情况时减少了过度的gas成本。4 W; \5 x+ G& l) \3 D8 R
$ O5 M$ _8 @, ~8 m2 A4 W9 U
简单来说就是让链上活动成本(所需gas越来越少)变得更低,尤其是针对现阶段成本非常高的活动。
4 V/ q# _* c& {7 s1 r0 M: a: S* T
# B/ t8 K/ }$ V! \( t2 XEIP 1234:君士坦丁堡难度炸弹延迟和区块奖励调整6 X7 d$ w" V/ F* z$ o
$ L( E9 ]% i0 u( z$ Y/ S; X
由于难度炸弹(也就是“冰河时代”)的推进,平均的出块时间增加了。这一EIP建议延迟难度炸弹1年,减少区块奖励。6 ~9 _( A. ^9 m9 q/ B

8 R4 j& U# Q+ `6 F4 q/ d8 K4 o" N简单来说就是在PoS准备就绪之前确保不要“冻结”区块链。0 [; o2 l3 I6 a. V# {* ]2 h
9 f) f7 A3 @1 V# Z
本次分叉是否会影响交易或确认时间?
- W- z4 m  e$ j, h
7 _: N* @& g& o  |0 w6 d出块时间应在15秒左右。在将来完全切换到PoS之后,出块时间会发生变化,但目前依然采用PoW,可能会有一些延迟,交易速度太快可能会导致部分交易不可靠。以太坊目前通过叔块(uncle block)来解决这一问题。$ S: j9 K/ F  b! M
; v: v$ V0 ]" e$ L0 H
本次分叉是否会影响交易费用?
0 x; _, B- {' h" F- m: g' F, j
; ?- J) J* {7 B# x  M& H费用取决于交易数量。有些EIP会优化智能合约交互,因此,智能合约交易成本会减少。然而,我们不知道将来是否又会有一个像加密猫(CryptoKitties)这样的Dapp出现,导致网络拥堵和费用上涨。
* u6 I: J; a$ T; [( o, ^
9 S% }, d" `1 A" z" v+ b2 t本次分叉是否会影响每秒处理的交易数量?4 G$ t# d9 F3 o7 A" P+ Q7 _2 b$ g
( v* n, \: c) s" Y' F# O0 A7 M/ D6 l3 \! O
平均交易处理数量不变。不过,随着EIP 1024对状态通道的优化,我们应该能看到一些二层方案的问世(例如OmiseGo、Loom Network、Raiden等)。( e( o* A- R) F
3 ^2 S0 F% y  Z
本次升级是否会切换到PoS?
1 ]/ o/ M/ Z% Z" |' E, P: @. b( Y8 l9 Z
不会,目前仍在进行测试。EIP 1234之所以提出减少区块奖励是为了延迟难度炸弹,最终我们将看到beacon链和sharding链。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

虹桥大宝剑 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    26