46

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

 5 years ago
source link: https://www.8btc.com/article/380739?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.

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

jy2mymy.jpg!web

Justin表示:

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

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

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

Yfeuaej.jpg!web

“为什么是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似乎依旧没有理解,他继续回复说:

AjaAfqF.jpg!web

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

Justin Ðrake:

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

Nick Johnson:

z6vYZfM.jpg!web

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

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

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

以太坊2.0使用SHA256哈希算法,这事的可能性有多大?欢迎发表你的观点。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK