我们知道,比特币使用了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使用SHA256哈希算法,这事的可能性有多大?欢迎发表你的观点。
本文地址: https://www.xiguacaijing.com/news/guandian/2019/5250.html
赞助商