在以太坊第五次系统范围的升级“君士坦丁堡”(Constantinople)到来之际,以太坊基金会开发者团队的哈德逊•詹姆逊(Hudson Jameson)的心情用“谨慎乐观”来形容再合适不过了。
图片来源:visualhunt
“君士坦丁堡”预计将于1月16日启动,它是一次硬分叉升级,这意味着它需要在网络中的所有节点上单方面安装,才能按预期运行。
这种升级方法是一个自带风险的过程。例如,如果有足够多的用户不同意升级,则可能导致网络分裂。这样的事件曾发生在2016年,当时DAO崩溃之后,一次有争议的硬分叉导致了两条截然不同的区块链的出现,即以太坊(Eth)和以太经典(Etc)。
尽管如此,Parity 以太坊客户端的产品发行经理阿弗里•肖顿(Afri Schoedon)表示,此次区块链分裂的风险较低,因为以太坊大部分超级矿池对升级持强烈支持的态度,它们在避免链条分裂方面起着最关键的作用。肖顿说道:
“矿工们已经做好了升级的准备,只有他们才能分裂这条区块链。”
目前,由以太坊矿池Ethermine首席执行官彼得•普拉舍尔(Peter Pratscher)运营的一个追踪网站检测到君士坦丁堡的采用率仅为15.6%。普拉舍尔在接受CoinDesk采访时表示,该统计数据存在缺陷,并声称实际数据更接近大多数将会采用。普拉舍尔说道:
“我们预计大多数未更新的节点将在分叉区块到来之前进行更新。”
“君士坦丁堡”升级以拜占庭帝国(Byzantine Empire)首都命名,它是“大都市(Metropolis)”三步升级计划的一部分。“君士坦丁堡”结合了总共5个以太坊改进建议(EIP)。虽然大多数是无争议的调整,但升级的一个方面已经引起了一些争议。
其中特别的一点是,“君士坦丁堡”推迟了“难度炸弹(difficulty-bomb)”的到来。“难度炸弹”是以太坊的一种算法,随着时间的推移,它会增加挖矿难度。而“君士坦丁堡”升级将降低挖矿难度,它还会采取措施减少以太坊矿工的挖矿奖励,从每个区块3Eth减少到每区块2Eth。
这直接导致矿工们对升级表达出不满。但与此同时,各个大矿池也加大了对这一升级的支持力度。普拉舍尔说道:
“我们希望升级顺利,不会遇到任何问题。”
撇开这些不谈,以太坊系统范围的网络升级也存在其他风险。如果代码出现错误,将会导致网络分裂,此外算法出错也将导致意料之外的难题。但开发人员相信,这种风险对“君士坦丁堡”升级来说是微不足道的,在升级前的几个月内,开发人员一直在测试代码以寻找其中的漏洞。哈德逊•詹姆逊说道:
“我们有测试和监控软件,比如分叉监视器和协议模糊测试器,它们可以在硬分叉之前、分叉期间和分叉之后持续对可能出现的问题进行监控。能够将这些变更部署进以太坊协议,我们都感到非常兴奋。尽管如此,我们把网络的安全性和稳定性放在首位。”
一系列升级看点
“君士坦丁堡”对以太坊网络引入了五个新的升级。
正如CoinDesk之前详细介绍的,这些升级包括针对开发人员进行的优化,以使智能合约和去中心化应用程序设计更易于开发。
以太坊钱包MyCrypto的首席执行官泰勒•莫纳汉(Taylor Monahan)将“君士坦丁堡”的整体升级计划描述为“为了合约开发而改善应用体验的简单举措”。
根据核心开发者尼克•约翰逊(Nick Johnson)的说法,其中一个升级,即EIP 1283,涉及到所谓的“Gas净值计量”。该EIP最初由约翰逊撰写,它将改善以太坊持续存在的一个可用性问题,即Gas费用的不断上升。他说道:
“实施了该EIP,我们就可以减少合约中不必要的Gas费用,同时使新的编码模式具有成本效益。”
另一项升级是EIP 1014,被一些开发人员认为是“君士坦丁堡”升级中最令人兴奋的变化。该升级也被称为Skinny CREATE2,预计将为新的第二层扩展解决方案(如状态通道)铺平道路。约翰逊说道:
“该升级使得创建一种新型状态通道成为可能,它将减少甚至消除链上部署的成本,从而提高可扩容性,并减少用户的成本和麻烦。”
根据Turbo Geth的阿勒克谢•阿库诺夫(Alexey Akhunov)的说法,EIP 1014可能会影响以太坊未来的变更,比如它可以让在以太坊平台上存储数据的租金或滚动成本成为可能。它还可能带来其他意想不到的智能合约新特性。阿克胡诺夫解释道:
“CREATE2另一个令人兴奋且具有潜在危险的地方在于它可以让合约在被销毁后重新在同一地址创建合约。这种合约再创建既可以用相同的代码完成,也可以用不同的代码、稍微加点技巧就能完成。这基本上可以创建完全可升级的合约。”
“君士坦丁堡”还包括2个进一步的升级:EIP 145和EIP 1052。它们将提高智能合约开发的易用性,并简化以太坊代码中的某些操作。约翰逊说道:
“有了这些改进,我们可以扩展以太坊区块链的易用性,从而完成更多的用例。”
以太坊矿工的争论
不过,尽管“君士坦丁堡”的大部分升级都是经过良好测试且技术上简单易懂的更改,但还有另一项代码变化却一直备受争议。该代码变化名为EIP 1234,由Parity的阿弗里•肖顿(Afri Schoedon)所编写。
“君士坦丁堡”的一个主要特点是延迟了所谓的“难度炸弹”的激活,以及上述的技术特点。“难度炸弹”是一种会逐渐增加生成新区块所需时间的算法,最初设计出来是为了利过渡到以太坊即将到来的共识转换,即权益证明(Pos)。
最终,“难度炸弹”迫使区块链进入一个被称为“冰河期(ice age)”的状态,在这个时期,挖矿难度将变得非常大,以至于交易无法被确认。因此,该算法的好处是它可以鼓励开发人员频繁修改代码,以适应“难度炸弹”。
根据阿克胡诺夫的说法,延迟“难度炸弹”的启动是“君士坦丁堡”最关键的一大看点。他说道:
“‘君士坦丁堡’最重要的是延迟了‘难度炸弹’的启动,否则挖矿难度将开始急剧攀升。除此之外,它没有什么真正重要的变化。”
然而,延迟“难度炸弹”也有其自身的微妙之处。这是因为在以太坊上生成区块的速度也决定了平台内部加密货币以太币发行的规则。为此,“君士坦丁堡”将区块奖励从3Eth降至2Eth的举措在以太坊区块链矿工中引发了争议,因为矿工们的挖矿利润直接取决于区块奖励。
更具争议的地方在于以太坊日益专业化的矿机的出现。据一些人称,这可能使业余矿工的挖矿变得不太可行,因为他们通常使用GPU矿机、而不是专业化的ASIC矿机来挖矿。Ethermine矿池的普拉舍尔说道:
“总体而言,我们并不期待以太坊的‘君士坦丁堡’升级。它有可能让许多矿工无利可图,这将对以太坊网络的安全产生负面影响。”
普拉舍尔以最近以太经典遭受的攻击为例,称以太经典完全被恶意的算力所控制了,如果以太坊的矿工太少的话,同样将会出现大量问题。他说道:
“51%攻击是真正的威胁,最近针对以太经典网络的攻击就让我们看到了这一点。”
布瑞恩•文图罗(Brian Venturo)经营着一个名为Atlantic Crypto的小型矿池,他对CoinDesk表示,他也有同样的担忧:
“‘君士坦丁堡’升级中的EIP-1234给以太坊挖矿收益带来压力将立竿见影。”
下阶段的工作
由于挖矿收益即将减少,普拉舍尔和文图罗等矿商正寄望于未来可能进行的一项名为ProgPoW的升级,该升级承诺将从网络中屏蔽专用ASIC研矿机,并确保GPU挖矿保持竞争力。
截至发稿时,还不清楚是否会实施这样的改变。尽管该方案在1月初的一次开发人员会议上得到了“初步”通过,但此后有关该方案的讨论一直未能达成共识。
尽管如此,随着第二层扩容功能的不断成熟,以及以太坊期待已久的Serenity 升级已开始具体部署,开发人员仍然相信技术工作将在未来几个月继续进行。从各方面来看,即将进行的升级已经在以太坊社区滋生出了一种谨慎的忧虑情绪。阿库诺夫说道:
“我对‘君士坦丁堡’有点担心,因为很难猜测出该升级出问题的可能性有多大。”
根据阿库诺夫的说法,最坏的情况就是新的难度算法出现问题,从而导致网络的安全性受到破坏。其他开发人员表示,共识问题是最大的担忧。MyCrypto的泰勒•莫纳汉表示,她最担心的是,欺诈者可能会利用这次升级的机会骗取用户的资金。
但是,不管升级所涉及的风险有多大,开发人员都相信他们已经采取了所有可能的措施来确保升级的安全性。此外,“难度炸弹”也有一定的优势。例如,即使某些节点停留在拜占庭(Byzantium)软件上,即将到来的“难度炸弹”意味着这些软件在未来几个月内将无法使用,它们必须被迫升级后才能继续在以太坊上进行交易。
正因为如此,莫纳汉表示“君士坦丁堡”给人的感觉是不错的。她说道:
“有努力就有回报,即便许多人没有意识到这一点,他们还是将从这次升级中受益。届时,用户创建合约的费用将更低,代码开发将更高效,进行合约交互的可能性也更大。”