Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文
以太坊君士坦丁堡(Constantinople)分叉即将开始,很多人都对本次分叉感到好奇,不确定是否需要提前做好准备。
& P  ]+ s0 ]- X% Z0 E- o* ^1 d2 C4 C# p
简单来说:如果你只是ETH的持有者,本次升级你不需要做任何准备。4 M) P( O0 `/ n$ v& T& O

3 G; \; u9 m* R, c7 C什么是分叉?3 a: J0 s( X/ o

' A! K$ ]% q$ S6 y) m分叉就是网络升级,就像你的电脑和app需要升级一样,分叉也是为了网络变得更加安全,具备更多新的功能。8 C5 u2 e6 T$ w# p' N
4 b9 `  _6 u6 o" v* c1 j4 A5 m4 |
你是否曾经在更新之后打开一个Word文档或其他文件的时候感觉有点不稳定?或许有些注释丢失了,又或者看起来怪怪的?硬分叉也是类似。如果人们在运行旧版软件,而新版软件试图与其进行交互时,有些内容就可能丢失,或者变得不稳定。6 H9 @7 s: o* k  p
) n& k, `) q; E% @
这是因为区块链是去中心化的,同时运行着大量的计算机。用户之间不需要相互发送Word文档,每个人都可以同时获取最新的文档(即区块链历史)。" B5 [7 P. V7 @+ x% e$ b2 B/ E
  t5 v% a% H/ u6 b
因此,为了让一切变得更加稳定,运行区块链软件(即节点)的每个人都必须升级。这样每个人都可以在遵守同一套规则的前提下获得最新的功能。9 M; V9 w7 P! d# B3 I3 q0 a

: q! u8 N( [. _2 X$ T' i# k1 Q9 M分叉为什么叫分叉?
1 f4 \7 C' \- I! R
8 m6 I  q: x1 I' R, E分叉之所以被称为分叉是因为其与分岔路口(英文中都被称为fork)类似——一条区块链被分成了两条独立的链。其中一条路(或者说一条链)遵循旧的规则,而另一条链则采用了新的规则。
3 O( N$ i; {" m0 N0 |5 g/ g+ p6 F0 z; \7 u3 z4 h
有些硬分叉不存在争议,因此大家都会弃用旧版软件,没有人会去维护旧链。这条链就自然而然地会停止运作,因为这里的币也已经没有价值了。
, ]# a( m/ L% x: U4 i/ i+ y9 ?2 @$ R
然而,如果硬分叉存在争议(也就是说,有人反对其中包含的改进),那么两条链都很有可能继续存在。就像ETC和ETH以及BCH和BTC一样。5 T  g) g9 t" h
1 I8 w! @' M+ B+ K( I
什么是君士坦丁堡?6 a% V' ]6 b5 a, A' Y% r

) d" ^# J0 I" e. M4 V( }2 O  G君士坦丁堡是以太坊网络本次升级的名称。本次升级不存在争议,网络中每个人都同意以太坊区块链走上一条新的道路。
* H5 q. W" C/ L9 F- u4 c  U1 H& `4 H& B% t: B% Y5 o& C, d
因此,就像此前的几次升级(例如2016年的家园升级和2017年的拜占庭升级)一样,本次硬分叉虽然也会分出两条链,但旧链几乎会立刻消失。同样的,普通用户也不会察觉出任何变化。
8 R/ `' v9 w3 \# ~
# Q" _$ E8 B0 v# q6 y这个新的以太坊区块链包含几个改进该网络的EIP(以太坊改进协议)。
9 i& I1 w1 d- C# X+ L
! X; S; n; ]; j. w8 E- I9 J我需要做什么吗?转移ETH?
4 k' Y% ?/ d6 N$ \# v" W
7 E8 z  y- F/ m什么都不用做。虽然你的ETH会同时在新链和旧链存在,但所有交易所(Coinbase、Kraken、ShapeShift)、服务商(MyCrypto、MetaMask、Trust Wallet)以及节点供应商(Infura、Etherscan、Quiknode)都会升级他们的节点,因此对普通用户来说不会有任何影响。
' Y1 ]+ ?' g, F; W! {# ^, P: |$ n2 ^8 l6 v, S
**
; ^3 x, v/ {& u4 a0 d( ~8 H7 o* f' o8 }% ^/ Y
如果你在运行节点(例如用自己的电脑使用Infura或者运行Geth及Parity),你就需要升级到最新版的软件。**
- ?1 ~+ w; V& s8 ~7 v; x$ y+ i
+ F( l9 X+ U$ f5 i2 O  _# d: _: f本次升级包含哪些EIP?; M& a8 y  e% n) {1 W& f& |" @
5 }/ m/ w9 j0 I2 U8 k
EIP 145:以太坊虚拟机(EVM)的位转移指令
' T1 T4 n4 p; C) t$ ~' z8 B1 D5 _# d; V8 a
提供与其他算术运算同等成本的本机位转移。7 h+ @" u5 J/ [/ n0 N
" H# u' X8 i  x' m- S4 ]9 H4 r. O
EVM缺乏位转移运算,但支持其他逻辑和算术运算。转移运算可以通过算术运算进行部署,但所需成本更高,需要耗费更多的处理时间。部署SHL和SHR的运算成本分别是35 gas,而本文建议的操作只需要3 gas。: l+ E/ b& X% O# L) O5 P* b% k

' B* |9 j1 H8 u  v/ k- 简单来说就是给协议添加更多功能让链上活动变得更加方便,成本更低。
/ ]7 H; `' R) t! N. T6 e& R1 }, W. K& [, x# ^
EIP 1014:Skinny CREATE2( w$ c: Y3 p( M9 T$ q. P$ L

' b5 L* R- n& e" k为0xf5添加新的操作码,需要4个栈参数:endowment、memory_start、memory_length、salt。除了使用
2 c. q* |: q( N% {. q- B
" U+ M2 B* {# L6 @, Ukeccak256( 0xff ++ address ++ salt ++ keccak256(init_code)))[12:]" E# ^7 K, ]+ ~7 C* s

* f5 m* k! e2 n% {来取代常规的sender-and-nonce-hash作为初始化合约地址之外,其他CREATE操作都是不变的。
  j; Q) j5 b+ y. p5 n& r9 L& t1 J7 X8 J
允许与链上不存在的地址进行交互,前提是这些地址包含由特定初始化代码创建的代码。" a' O( d" a3 P5 f/ {- ?% R3 q) R
3 z3 B5 P& q; F1 n" j1 {0 L$ _* N
对于涉及合约交互的状态通道应用非常重要。
( [6 d& ~& P/ J. D1 S1 S
8 Y7 u/ t+ F  U# F5 n4 S, [简单来说就是允许你与因为状态通道而尚未创建的地址进行交互。( ?. {! u- N+ C; ^5 Z. S

* p% K# W' d" }/ ~/ P7 `4 lEIP 1052:EXTCODEHASH操作码  h8 W9 s# b5 n% i

  l* A, i5 ]- o9 f  d; G+ ^- e这一EIP介绍了一种新的操作码,回归到了合约代码的keccak256 hash。. d9 g% ~( R5 s, c

: m, G& f: s5 R4 ^' a% I! d  |4 t很多合约需要对合约的字节码进行检查,但不一定需要字节码。举个例子,某合约会检查另一合约的字节码是否属于可部署范围之内,或者会分析代码,将一些带有符合要求字节码的合约加入白名单。3 f  c5 f( ?( n' P# L7 s8 s1 m  |
' }# b( e- `' }* Z
目前,合约已经可以通过EXTCODECOPY操作码来实现这一点,但所需成本较高,特别是大型合约。因此,我们提出了一个全新的操作码EXTCODEHASH,回归合约字节码的keccak256 hash。$ [, @" Y# \/ l3 b7 v

' S& I, Q( J+ c" ?1 w- 简单来说链上活动成本(所需gas越来越少)将会降低。; N9 H; A+ s; L9 A' m0 v. o' Q6 q' }
+ j  m, \0 Z' {/ b
EIP 1283:不需要dirty maps(额外的存储结构)的SSTORE gas计量
3 \7 \$ Z8 y7 a3 f
* @- r1 e9 M. M" G- ?这一EIP提出了SSTORE操作码的gas净值计量改进,开拓了合约存储的新应用,在出现不匹配情况时减少了过度的gas成本。
# X! [9 w4 T. }+ {% _3 I4 A4 t& M5 N( M
简单来说就是让链上活动成本(所需gas越来越少)变得更低,尤其是针对现阶段成本非常高的活动。
% i8 a; x9 B& j" |/ ?
3 y* G. f6 n8 }" M7 T: AEIP 1234:君士坦丁堡难度炸弹延迟和区块奖励调整$ `! F1 A+ b6 r5 c$ I

' j$ [+ M" `* [, v由于难度炸弹(也就是“冰河时代”)的推进,平均的出块时间增加了。这一EIP建议延迟难度炸弹1年,减少区块奖励。6 u: f2 O6 y# P5 W3 x$ S

2 ]9 c( m% ~# J' U简单来说就是在PoS准备就绪之前确保不要“冻结”区块链。
  M2 E- v; b5 I5 z; m* b
3 b$ g. n) F0 i# |本次分叉是否会影响交易或确认时间?# N  Z7 ?! f1 W3 v& Z- y# p

  ?- T0 X" z! ?. H. ]5 n出块时间应在15秒左右。在将来完全切换到PoS之后,出块时间会发生变化,但目前依然采用PoW,可能会有一些延迟,交易速度太快可能会导致部分交易不可靠。以太坊目前通过叔块(uncle block)来解决这一问题。
6 j7 ~7 p, `9 e$ v  c7 P( }4 v0 j! E6 Y
本次分叉是否会影响交易费用?0 O) ?' R" N. _0 n
/ t/ j& H( _/ R
费用取决于交易数量。有些EIP会优化智能合约交互,因此,智能合约交易成本会减少。然而,我们不知道将来是否又会有一个像加密猫(CryptoKitties)这样的Dapp出现,导致网络拥堵和费用上涨。
% D' C; s8 H. T3 K4 i9 f. B$ X) b: }( i0 g% D* T% L' p4 [& O
本次分叉是否会影响每秒处理的交易数量?
+ H) B6 z8 Y: q# Q
- o( K* C; q  I# V0 m4 g平均交易处理数量不变。不过,随着EIP 1024对状态通道的优化,我们应该能看到一些二层方案的问世(例如OmiseGo、Loom Network、Raiden等)。& e, A% o  e& [; Z& j( B. z

( r( i8 m5 v# ?5 f* L! ~; m( X$ d4 z本次升级是否会切换到PoS?" r$ u3 P7 G9 {! @

* N  d2 x3 h' l6 ?# \+ b不会,目前仍在进行测试。EIP 1234之所以提出减少区块奖励是为了延迟难度炸弹,最终我们将看到beacon链和sharding链。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

虹桥大宝剑 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    26