47

专访以太核心开发者,解读以太坊双分叉

 5 years ago
source link: http://www.hecaijing.com/article/show/15478814053452826.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

qA7ryeB.jpg!web

北京时间 1 月 18 日晚 22:00 点,包括 Vitalik Buterin、Martin Holste Swende、Afri Schoedon 以及 Peter Szilagyi 在内的以太坊核心开发者举行电话会议,讨论君士坦丁堡硬分叉事项。

根据以太坊开发者 Péter Szilágyi 所言,君士坦丁堡硬分叉将被推迟六周,在第 7280000 个区块上进行,具体时间为北京时间 2 月 27 日 16:56;另外值得注意的是,本次分叉将是“双分叉”。

以太坊双分叉

“我们会在以太坊主网(mainnet)上进行君士坦丁堡硬分叉以及君士坦丁堡修正性(ConstantinopleFix )分叉,并在已经实行君士坦丁堡硬分叉的测试网(testnet)上,进行君士坦丁堡修正性分叉,这就是所谓的双分叉。”以太坊 Geth 客户与安全主管 Martin Holst Swende 向 Odaily 星球日报表示。

以太坊一直以来有两种网络——主网以及测试网。所谓的测试网是用来模拟主网的行为,功效与主网相同,因此开发者可以在测试网上开发和测试自己的智能合约、发币等等,作为上链前的环境评估。反之,当主网对以太坊协议进行任何重大改变时,其测试主要在这些测试网络上完成。

以太坊最常见的 3 种测试网分别是:Ropsten、Kovan、Rinkeby。此前 Ropsten 和 Rinkby 测试网都已进行君士坦丁堡硬分叉,但由于 EIP-1283 提案存在 “重入攻击”的漏洞,因此必须进行修正。要是回滚区块,势必造成测试网与主网不同步的情况,并且加大了开发难度。

zame6bA.jpg!web

(图片来自 BlockX实验室)

因此,在昨晚的电话会议上,Peter Szilagyi 提议以太坊进行“双分叉”:即先进行既定的君士坦丁堡分叉,再对其进行修正,增加一个禁用项,移除有问题的 EIP—1283 提案。

“君士坦丁堡修正性分叉的唯一功能就是禁用 EIP—1283。”Martin Holst Swende 向 Odaily星球日报解释说,“但是,双分叉在主网上会应用在同一个区块上,而在测试网上会应用在另一个区块上。”如下图所示:

rA3imym.jpg!web

(图片来自 BlockX实验室)

其他问题汇总

新的分叉会不会再出问题?出了问题又该如何处理?Peter Szilagyi 在以太坊核心开发者社群中表示,他们已经设计了备用方案 D;但如果计划 D 再次出错,他们还没设计副本的副本。”至于计划D的具体内容,Peter Szilagyi 并未透露。

Martin Holst Swende 则认为不可能再次出错,如果再次出错,社区还是会召开电话会议的。

R77Vfin.jpg!web

(图片来自以太坊核心开发者社群)

由于双分叉提议是 Peter Szilagyi 提出的,因此不少社区成员称呼这次分叉为“ Peter’s fork”。

社区成员 Martin Holst Swende 告诉 Odaily 星球日报,他则认为不应该再叫“硬分叉”,因为硬分叉听起来像是社区推翻共识,重新设计规则,并且硬分叉也会被一些不法分子利用,发行新币,因此建议使用“网络升级”。

对此,Martin Holst Swende 则认为,自己作为技术人员,并不在意叫什么名字。“当然,名字你们可以随便取,这不是重点。”

对于存在漏洞的 EIP-1283 提案,Martin Holst Swende 表示社区已经提出了5、6种解决方案,但目前开发者还没想好用哪种方案,因此只能将其剔除。“我们还没决定现在更倾向哪一种(解决方案),没有什么好着急的。”

在 Martin 看来,最着急的应该是解决难度炸弹问题,而这需要尽快启动君士坦丁堡分叉。由于长时间激活了难度炸弹,以太坊目前网络阻塞时间比既定的“冰河期”增加了 9%,尽管对普通的用户来说影响并不明显。

(Odily星球日报注:难度炸弹(Difficulty bomb)是一个术语,指的是随着挖矿难度增加,在以太坊块链上挖一个新区块所需的时间会随之增加。这最终会导致以太坊无矿可挖,无利可图。不同版本的以太坊区块链正在采取各种措施来规避这个问题。

在昨天的电话会议上,Vitalik Buterin 提议尽快升级网络,避免难度炸弹带来更深的影响。“我们预估在六周内,网络堵塞会从‘冰河期’再向上挪动两步,届时出块时间达到 20-21 秒。如果我们更积极一点,比如 3 周,那么我们就可以避免这个问题。”

后记

以太坊原定于在第 708000 个进行君士坦丁堡硬分叉,但由于 EIP-1283 提案存在“重入攻击”漏洞,后被推迟。在过去的三天时间里,众多的开发者们为了修复这个漏洞,在核心开发者社群展开讨论,建言献策。

“我们是开源的,虽然很多人说我们效率低下,但我很喜欢这种氛围。”Martin Holste Swende 如是说。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK