以太坊2.0将弃用Keccak256 启用SHA256哈希算法?

  • 2019-06-20 11:34
  • 3T比特

我们知道,比特币使用了SHA256哈希算法,而以太坊目前则使用的是Keccak256哈希算法(SHA3的变种),然而,根据以太坊2.0主要研究者JustinÐrake的最新推文消息表明,以太坊在2.0的PoS阶段,也可能会弃用Keccak256而改用SHA256哈希算法。

Justin表示:

“以太坊2.0将使用SHA256哈希算法,而不再使用Keccak256算法!从而实现标准化,与大多数现有及未来的区块链实现互操作性。

我们正耐心等待以太坊3.0的一个可行的STARK/SNARK/MPC友好型哈希函数。”

关于不使用SHA3,而使用SHA256的质疑

这一声明的发表,似乎有些突然,就连go-ethereum客户端核心开发者Nick Johnson也有点不解,他留言提问道:

“为什么是SHA256,而不是SHA3,且通过预编译/操作码来支持SHA256?”

JustinÐrake答曰:

“因为以太坊1.0只对Keccak256算法(通过操作码)和SHA256(通过预编译)有好的支持。出于各种原因,我们需要与以太坊1.0兼容(Eth1.0到Eth2.0的存款,Eth2.0在Eth1.0的轻客户端,Eth1.0逻辑Eth2.0数据执行引擎,Eth1.0最终使用Eth2.0…)”

但Nick Johnson似乎依旧没有理解,他继续回复说:

“我不明白这是如何回答我的问题的?无论选择哪一种,你都可通过预编译或操作码支持SHA256和Keccak256。”

JustinÐrake:

“Eth1.0对SHA3没有很好的支持,这可能会排除SHA3对于信标链(beacon chain)和分片默克尔化(shard Merkleisation)的支持。Eth2.0 dApp可使用他们想要的任何哈希函数。”

Nick Johnson:

“但是,只要你支持将SHA256或keccak256作为预编译/操作码,就不能使用你想要的任何哈希函数作为“主”函数?或者就此而言,添加这个ETH2.0哈希函数作为一个ETH 1.0中的预编译函数?”

此后,JustinÐrake便不再对任何留言进行回复,也没有作出任何进一步的解释。

截至目前,尚未有其他以太坊2.0研究者发表类似声音,似乎我们暂无法确认以太坊2.0是否会启用SHA256算法,但从以上的只言片语中,我们可推断出,JustinÐrake或许认为SHA256哈希函数对于以太坊2.0而言是足够安全的,其更多考虑的是与以太坊1.0以及其他区块链应用项目的互操作性问题。

原标题:以太坊2.0将弃用Keccak256 启用SHA256哈希算法?|以太坊|区块链|

头条推荐
图文推荐