Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文
以太坊君士坦丁堡(Constantinople)分叉即将开始,很多人都对本次分叉感到好奇,不确定是否需要提前做好准备。
2 N7 e9 N0 M# I1 n
0 f+ Q4 K7 I- L简单来说:如果你只是ETH的持有者,本次升级你不需要做任何准备。4 i' Y/ ]. h( E# ?; q7 s

3 ~$ g4 k: Q  ~2 s" t什么是分叉?+ j$ J. T4 |" l& I3 P
2 @1 m% Y7 [; K2 f. s! h
分叉就是网络升级,就像你的电脑和app需要升级一样,分叉也是为了网络变得更加安全,具备更多新的功能。
8 {& a" q' y  D5 A/ z# S" ]
4 c3 v/ C  c* W5 U" _8 F( i你是否曾经在更新之后打开一个Word文档或其他文件的时候感觉有点不稳定?或许有些注释丢失了,又或者看起来怪怪的?硬分叉也是类似。如果人们在运行旧版软件,而新版软件试图与其进行交互时,有些内容就可能丢失,或者变得不稳定。; y/ H1 k2 I& L" m! T& j

* h7 D7 e( L6 G! e- O0 `- x1 c3 J这是因为区块链是去中心化的,同时运行着大量的计算机。用户之间不需要相互发送Word文档,每个人都可以同时获取最新的文档(即区块链历史)。7 X; t1 a& H8 C3 z+ d

6 u- _8 I4 t9 [: Y因此,为了让一切变得更加稳定,运行区块链软件(即节点)的每个人都必须升级。这样每个人都可以在遵守同一套规则的前提下获得最新的功能。
, n" d- F% d& I' m. ~( y# a  J' d: Y3 l/ R( ]8 X  ^$ K; e
分叉为什么叫分叉?3 y/ M7 B, H( ]) x" z# y, w: y! q! j7 \# d

& y. u" u& g' A0 M分叉之所以被称为分叉是因为其与分岔路口(英文中都被称为fork)类似——一条区块链被分成了两条独立的链。其中一条路(或者说一条链)遵循旧的规则,而另一条链则采用了新的规则。8 X# v2 n9 s3 r# q
: H. o8 A; Q" B0 q+ ]9 M- {
有些硬分叉不存在争议,因此大家都会弃用旧版软件,没有人会去维护旧链。这条链就自然而然地会停止运作,因为这里的币也已经没有价值了。
! a# J% o- X4 W1 U: A5 {5 P% l1 d2 S# y# ?
然而,如果硬分叉存在争议(也就是说,有人反对其中包含的改进),那么两条链都很有可能继续存在。就像ETC和ETH以及BCH和BTC一样。
: S' F4 L( e9 F2 F2 A+ H* _; X& H& n6 F  F
什么是君士坦丁堡?
2 E4 T, O9 P0 ^, U  a6 }
' O4 }* S" W- J! ~4 ^君士坦丁堡是以太坊网络本次升级的名称。本次升级不存在争议,网络中每个人都同意以太坊区块链走上一条新的道路。/ f" i$ Q# j8 J  }2 R1 q& ^6 D
' Y/ X" Q% }0 r
因此,就像此前的几次升级(例如2016年的家园升级和2017年的拜占庭升级)一样,本次硬分叉虽然也会分出两条链,但旧链几乎会立刻消失。同样的,普通用户也不会察觉出任何变化。' s9 _, H+ R4 w( F- ^5 E' Z9 ^0 [
% x3 B3 `3 B- n) D6 ?2 R
这个新的以太坊区块链包含几个改进该网络的EIP(以太坊改进协议)。
" f4 O% G! F% o' x$ a$ {% [0 [: T% a2 y8 x6 u) G  {" z
我需要做什么吗?转移ETH?* ]( J" E2 l( M: `) W

5 v0 q. H. m& Y1 t& n+ j什么都不用做。虽然你的ETH会同时在新链和旧链存在,但所有交易所(Coinbase、Kraken、ShapeShift)、服务商(MyCrypto、MetaMask、Trust Wallet)以及节点供应商(Infura、Etherscan、Quiknode)都会升级他们的节点,因此对普通用户来说不会有任何影响。) Z* Q8 x( V/ }) Z4 b4 @! u8 S5 K

/ o0 `" p5 m2 E( n& g1 d1 n**
8 E( j' U8 {. H& C: p2 Y0 l& T; W# y4 O$ d" B0 p7 t6 u/ K
如果你在运行节点(例如用自己的电脑使用Infura或者运行Geth及Parity),你就需要升级到最新版的软件。**
8 s+ c: O# i0 h8 C) M9 {2 v% K8 B) d* V# ~$ }  o$ J& Z; q8 L
本次升级包含哪些EIP?
9 S/ C: @* g8 @9 G5 D& |6 ~. a
9 c- t( H/ }' I  X( v0 j4 SEIP 145:以太坊虚拟机(EVM)的位转移指令- E% H4 e4 W$ ^% r
6 Z! o; r" o$ `& n3 a+ v! F
提供与其他算术运算同等成本的本机位转移。
& V! p9 t/ C  @! a9 ^
; ^! T* D+ `, k, ZEVM缺乏位转移运算,但支持其他逻辑和算术运算。转移运算可以通过算术运算进行部署,但所需成本更高,需要耗费更多的处理时间。部署SHL和SHR的运算成本分别是35 gas,而本文建议的操作只需要3 gas。
8 A; {3 V: s/ @5 B* ^. D$ F! O6 n. H) `4 ?
- 简单来说就是给协议添加更多功能让链上活动变得更加方便,成本更低。
$ O8 s6 ?1 {" I7 \( N7 ?0 n6 T
4 ?8 I' L5 D: eEIP 1014:Skinny CREATE2( j$ n) \2 J+ L  s1 ^3 y/ j$ o, q: f
# @3 H5 a( b1 x8 [  v
为0xf5添加新的操作码,需要4个栈参数:endowment、memory_start、memory_length、salt。除了使用! [) ]# w2 l6 T" H
5 s3 d& P& W6 P/ p# K
keccak256( 0xff ++ address ++ salt ++ keccak256(init_code)))[12:]; a  p# D9 q+ ^
  M' u. x: Z1 W9 U) C
来取代常规的sender-and-nonce-hash作为初始化合约地址之外,其他CREATE操作都是不变的。& f* d4 T* a7 q# C4 \% }; j* V1 u
/ {/ _' l4 d4 K# s' ~
允许与链上不存在的地址进行交互,前提是这些地址包含由特定初始化代码创建的代码。
4 U2 i6 T+ t5 e0 [) R- h# j3 [
- O8 R/ E& S; [对于涉及合约交互的状态通道应用非常重要。* w4 t( L6 T' h

6 e9 L3 a! [: U# S6 Y& Q简单来说就是允许你与因为状态通道而尚未创建的地址进行交互。9 B2 ^) O( k# T- I

4 |* L6 j3 R% M1 s2 w+ o' xEIP 1052:EXTCODEHASH操作码6 @* H7 n/ F, Z4 e# V# ^; U& A7 S# H
* |) P! ^1 O) l1 D) I- h: Z
这一EIP介绍了一种新的操作码,回归到了合约代码的keccak256 hash。- z* F: ~, r: `4 x! E
& D! Y# K; {; Q# Z
很多合约需要对合约的字节码进行检查,但不一定需要字节码。举个例子,某合约会检查另一合约的字节码是否属于可部署范围之内,或者会分析代码,将一些带有符合要求字节码的合约加入白名单。
4 y* B+ g7 S$ t. W/ y/ E; _4 l; C7 u- |/ w% K  z5 D
目前,合约已经可以通过EXTCODECOPY操作码来实现这一点,但所需成本较高,特别是大型合约。因此,我们提出了一个全新的操作码EXTCODEHASH,回归合约字节码的keccak256 hash。
: v* v7 U3 @- V3 k' V
; i6 E0 N7 F0 F( }3 o  b! W- 简单来说链上活动成本(所需gas越来越少)将会降低。
% C; s$ f2 x9 f
  k( i7 @' y& s4 a, e; }7 x- PEIP 1283:不需要dirty maps(额外的存储结构)的SSTORE gas计量
8 ^8 H! U" j0 W0 l
. L7 L/ K* V  ?) }8 Q$ f8 ^这一EIP提出了SSTORE操作码的gas净值计量改进,开拓了合约存储的新应用,在出现不匹配情况时减少了过度的gas成本。1 {7 N/ U+ W  F4 p# b
) K1 R; {1 R1 z: Y: ]  g4 g
简单来说就是让链上活动成本(所需gas越来越少)变得更低,尤其是针对现阶段成本非常高的活动。' p; `& v$ f* f- h8 K

  |: d& n. S3 Z4 {# n( uEIP 1234:君士坦丁堡难度炸弹延迟和区块奖励调整
' Q8 z/ Y$ x2 [' N3 S! i9 j6 @& p- u& V6 I
由于难度炸弹(也就是“冰河时代”)的推进,平均的出块时间增加了。这一EIP建议延迟难度炸弹1年,减少区块奖励。
: q' I6 |! r0 z  c- Q; l1 m# I; b: b- n: R' K9 g- U
简单来说就是在PoS准备就绪之前确保不要“冻结”区块链。$ u+ F, ~& l% b( S( O+ U

1 C' Y* g% {8 U9 {本次分叉是否会影响交易或确认时间?9 M/ g- W! _. J. g2 l

; m0 f: w2 C# `出块时间应在15秒左右。在将来完全切换到PoS之后,出块时间会发生变化,但目前依然采用PoW,可能会有一些延迟,交易速度太快可能会导致部分交易不可靠。以太坊目前通过叔块(uncle block)来解决这一问题。
# e2 h6 z  o9 v+ t) {" x* p! n$ t& E  X3 Y6 `( `$ i
本次分叉是否会影响交易费用?: H4 m; v, e  `7 E1 G
7 T- ~# k* z7 W5 ^" u7 j( w6 C+ Q8 @
费用取决于交易数量。有些EIP会优化智能合约交互,因此,智能合约交易成本会减少。然而,我们不知道将来是否又会有一个像加密猫(CryptoKitties)这样的Dapp出现,导致网络拥堵和费用上涨。
3 E& W1 }& ?" n5 t/ _
+ r$ e) @7 |) ~' Z本次分叉是否会影响每秒处理的交易数量?
9 @( E( u- n1 D9 P6 R4 ]/ g
* i- r% N7 |. a2 t平均交易处理数量不变。不过,随着EIP 1024对状态通道的优化,我们应该能看到一些二层方案的问世(例如OmiseGo、Loom Network、Raiden等)。
3 A& p6 w+ _5 j4 q, T5 D' I& c) [9 G
本次升级是否会切换到PoS?. K/ Y, ^0 [# J3 A( V! k/ u% t
, v. S! w2 f3 D% C$ Z
不会,目前仍在进行测试。EIP 1234之所以提出减少区块奖励是为了延迟难度炸弹,最终我们将看到beacon链和sharding链。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

虹桥大宝剑 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    26