Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文
以太坊君士坦丁堡(Constantinople)分叉即将开始,很多人都对本次分叉感到好奇,不确定是否需要提前做好准备。  F1 k6 P. o2 @( K9 a' w% y
9 [* V& u/ _9 ~+ N( l6 S
简单来说:如果你只是ETH的持有者,本次升级你不需要做任何准备。6 w; V1 {( o" E' h! g) c
+ c0 E# p( B0 m9 t
什么是分叉?9 }. {" _/ V# w) t8 X' i4 E

1 |  P& h' X. V* i: C, ~8 j分叉就是网络升级,就像你的电脑和app需要升级一样,分叉也是为了网络变得更加安全,具备更多新的功能。: G& Q: t8 P3 B- N; L

9 X: ^/ K' E6 Z7 S' b; z( x你是否曾经在更新之后打开一个Word文档或其他文件的时候感觉有点不稳定?或许有些注释丢失了,又或者看起来怪怪的?硬分叉也是类似。如果人们在运行旧版软件,而新版软件试图与其进行交互时,有些内容就可能丢失,或者变得不稳定。' l% s( H9 Y3 n
7 ?0 D7 F% {& J1 ~/ _3 s* D) }
这是因为区块链是去中心化的,同时运行着大量的计算机。用户之间不需要相互发送Word文档,每个人都可以同时获取最新的文档(即区块链历史)。
6 W2 p+ [7 O4 V% }* `4 X" L, b5 y; Y# O8 I7 O/ S
因此,为了让一切变得更加稳定,运行区块链软件(即节点)的每个人都必须升级。这样每个人都可以在遵守同一套规则的前提下获得最新的功能。
/ [! ]4 q- `# \, A+ P" w3 T
) Q7 w5 Z; c- g* ]+ S分叉为什么叫分叉?$ X, A# }* T$ P# }+ v  N

1 Z3 q, n2 M6 f; k分叉之所以被称为分叉是因为其与分岔路口(英文中都被称为fork)类似——一条区块链被分成了两条独立的链。其中一条路(或者说一条链)遵循旧的规则,而另一条链则采用了新的规则。
/ n7 _) N" d8 O& j& \3 L# n4 O8 V/ F( |% {( @# A! H3 M: X
有些硬分叉不存在争议,因此大家都会弃用旧版软件,没有人会去维护旧链。这条链就自然而然地会停止运作,因为这里的币也已经没有价值了。
, n0 M0 p8 Z- i! Y: p: r
/ @8 r0 b- [$ t7 }& G* g然而,如果硬分叉存在争议(也就是说,有人反对其中包含的改进),那么两条链都很有可能继续存在。就像ETC和ETH以及BCH和BTC一样。
; i! a4 w: q- j; t/ }3 p
5 w+ }4 `  O! {8 D/ Y9 Z什么是君士坦丁堡?
' z- r$ ^. q7 O: ]4 [
1 |7 G/ C' F! v君士坦丁堡是以太坊网络本次升级的名称。本次升级不存在争议,网络中每个人都同意以太坊区块链走上一条新的道路。* a7 \' t% @0 Q& C; u& `0 l# B5 T5 \% ?

4 I  B6 W( S- x& V因此,就像此前的几次升级(例如2016年的家园升级和2017年的拜占庭升级)一样,本次硬分叉虽然也会分出两条链,但旧链几乎会立刻消失。同样的,普通用户也不会察觉出任何变化。! o% H3 {  U7 y$ u

% e0 h2 |+ ^/ ~- w) S这个新的以太坊区块链包含几个改进该网络的EIP(以太坊改进协议)。5 v7 ^4 H% F5 X
7 h/ |6 O+ |$ V- Y# O& C
我需要做什么吗?转移ETH?
5 Z9 c# \* [; |( t
# h3 u  z9 u% l4 E( I什么都不用做。虽然你的ETH会同时在新链和旧链存在,但所有交易所(Coinbase、Kraken、ShapeShift)、服务商(MyCrypto、MetaMask、Trust Wallet)以及节点供应商(Infura、Etherscan、Quiknode)都会升级他们的节点,因此对普通用户来说不会有任何影响。
  N* E2 W1 X# ~: Z( ?4 s9 l- |' w* K' `8 `" i- f& t$ w3 w8 \
**4 T# A0 s: E, w" n7 J9 A: u
' {; c2 C+ F* T! z% i
如果你在运行节点(例如用自己的电脑使用Infura或者运行Geth及Parity),你就需要升级到最新版的软件。**
7 y" O! @3 u0 J& x" ]' M  E9 ?- D: H2 f1 f3 J! [% v$ H$ ~; g
本次升级包含哪些EIP?- `* T$ e& A7 l( x( F" A

7 b$ I5 W1 `9 C- T8 tEIP 145:以太坊虚拟机(EVM)的位转移指令
& |9 \3 I* t; r9 B" E' A( X% s
/ z7 t! _6 ?  o! C$ o* B提供与其他算术运算同等成本的本机位转移。
. I  u) U: _- }! ?/ G: z
" `  M+ D& [" ^8 \2 b$ c, YEVM缺乏位转移运算,但支持其他逻辑和算术运算。转移运算可以通过算术运算进行部署,但所需成本更高,需要耗费更多的处理时间。部署SHL和SHR的运算成本分别是35 gas,而本文建议的操作只需要3 gas。
3 J1 c6 L& q- l9 t4 H  r6 Y) J; I% ?
- 简单来说就是给协议添加更多功能让链上活动变得更加方便,成本更低。
8 p, c3 F6 v& Y: I# h, X! Q- X) s6 X4 K
EIP 1014:Skinny CREATE2
  s, e! z$ O7 a9 p" [" C( p3 F7 V
为0xf5添加新的操作码,需要4个栈参数:endowment、memory_start、memory_length、salt。除了使用
4 ~- t+ \7 H" }" N6 @/ E6 E3 r2 G" g* I2 C# |2 g9 N/ G2 p5 n
keccak256( 0xff ++ address ++ salt ++ keccak256(init_code)))[12:]
8 X. y7 x, f; s; k3 I! C- J+ {  N1 F, g- `, y) ?
来取代常规的sender-and-nonce-hash作为初始化合约地址之外,其他CREATE操作都是不变的。
# D2 P4 \8 ?) E5 I' G: N* T
/ k$ t# ~0 L3 }. j6 t* m允许与链上不存在的地址进行交互,前提是这些地址包含由特定初始化代码创建的代码。
5 h( [" U. E% q! b4 B9 d4 Q( \
3 G4 g6 d/ O9 |0 p0 m对于涉及合约交互的状态通道应用非常重要。
3 P  U$ Z+ F$ o- p. b  n% I% ~  D$ q" V9 T0 ^3 }: ^
简单来说就是允许你与因为状态通道而尚未创建的地址进行交互。
2 I/ V+ t4 }. n+ ?1 K
/ ?) o5 d7 }- {EIP 1052:EXTCODEHASH操作码/ v# c% w, z5 v' l+ @# v

9 A; A2 Y1 C7 L) j+ u这一EIP介绍了一种新的操作码,回归到了合约代码的keccak256 hash。' j2 Z+ d" ~! D, F

, q) }7 d9 R" b, t; K; j很多合约需要对合约的字节码进行检查,但不一定需要字节码。举个例子,某合约会检查另一合约的字节码是否属于可部署范围之内,或者会分析代码,将一些带有符合要求字节码的合约加入白名单。; s( ~9 l1 X7 d3 _# e- n: `

# ~; U. ^" }1 T5 Q8 H* v目前,合约已经可以通过EXTCODECOPY操作码来实现这一点,但所需成本较高,特别是大型合约。因此,我们提出了一个全新的操作码EXTCODEHASH,回归合约字节码的keccak256 hash。. G3 R9 h& T2 i" i$ [  D
) j+ K- u% n3 T% l& B& C. P1 G) f
- 简单来说链上活动成本(所需gas越来越少)将会降低。
' T; E. W5 e0 _. p4 V& {) S
; B. r6 Z  w) h+ L/ x$ ^EIP 1283:不需要dirty maps(额外的存储结构)的SSTORE gas计量/ {! x7 H6 B+ |4 b: m
9 ]5 q. L, F% b- M( f2 d
这一EIP提出了SSTORE操作码的gas净值计量改进,开拓了合约存储的新应用,在出现不匹配情况时减少了过度的gas成本。
' k9 x7 k- m3 E2 n: d. E6 j( q- p& G. T7 q$ }# R
简单来说就是让链上活动成本(所需gas越来越少)变得更低,尤其是针对现阶段成本非常高的活动。: e1 ]/ O* ^& |' l. [8 s

" ^4 m: z- \# ^6 b* ZEIP 1234:君士坦丁堡难度炸弹延迟和区块奖励调整$ h5 {5 }' Q; _$ n+ P' M
( l0 V$ S( p8 n! R
由于难度炸弹(也就是“冰河时代”)的推进,平均的出块时间增加了。这一EIP建议延迟难度炸弹1年,减少区块奖励。
! C/ K5 J4 y2 b( B
) \3 y0 R, a  i- v4 _) e简单来说就是在PoS准备就绪之前确保不要“冻结”区块链。
; I" a% O+ Z7 F; n) O
5 l% s& C% p+ @' Z  P. m8 ^本次分叉是否会影响交易或确认时间?
' `9 Q4 N9 W+ w$ W) R4 _9 K! N/ B- Z
出块时间应在15秒左右。在将来完全切换到PoS之后,出块时间会发生变化,但目前依然采用PoW,可能会有一些延迟,交易速度太快可能会导致部分交易不可靠。以太坊目前通过叔块(uncle block)来解决这一问题。4 n3 C9 v0 C) @
, O9 n+ @4 u# |
本次分叉是否会影响交易费用?
! X4 `% i! G' \" n0 ^3 }6 Q) f  b" r1 Y% x8 v7 b% o
费用取决于交易数量。有些EIP会优化智能合约交互,因此,智能合约交易成本会减少。然而,我们不知道将来是否又会有一个像加密猫(CryptoKitties)这样的Dapp出现,导致网络拥堵和费用上涨。
$ ^! l$ s$ w5 t; F2 {: y7 L3 O  ?! C' ~; \2 |
本次分叉是否会影响每秒处理的交易数量?
% \9 z+ f9 R: ~  r4 b  q$ R6 J9 X, I) }, L* m6 U+ |
平均交易处理数量不变。不过,随着EIP 1024对状态通道的优化,我们应该能看到一些二层方案的问世(例如OmiseGo、Loom Network、Raiden等)。
# J( D4 K( Q  f: u
- O& }# L9 P( S7 C, [$ b, q! h本次升级是否会切换到PoS?3 Z% A9 J- r( R, m0 k( k

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

本版积分规则

成为第一个吐槽的人

虹桥大宝剑 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    26