Keccak 和 SHA3 的产生背景
最早出现并经常出现在大家视线中的是MD5,它是一种哈希算法。但是他被证明是不安全的,已出现碰撞。除了MD5,还有SHA1,SHA2,SHA3等等,现在最流行的安全且效率高的哈希算法是 SHA3-256。
在区块链技术中流行的哈希算法是SHA3,SHA3是美国国家标准技术研究所所设计的一套SHA哈希算法,SHA3它不是SHA2的替代品,而是一种有别于SHA2的全新哈希设计方案。在15年8月才最终被才被NIST正式批准的。
我们知道以太坊时在13年开始设计,15年7月30日正式上线公网。在这段时间内容SHA3还没有成为正式标准。那么以太坊是使用什么哈希算法的呢?使用的是一种名为 Keccak 的哈希算法。这个算法来头不小,它是NICI组织的SHA3哈希算法竞赛的胜出者,相当有名气。
可以说Keccak是SHA3正式批准前的名字,但正式批准的SHA3还是和Keccak有许多不一样的地方,我们并不能认为SHA3和Keccak是完全对等的。
在以太坊中,常见的区块哈希、交易哈希、状态哈希等等都使用的Keccak256哈希算法。 256表示创建的信息指纹长度是256位,即32字节。当然以太坊也在慢慢向标准的SHA3算法靠拢,不管你是在开发DAPP还是做其他与要计算哈希值得工作,也建议你使用SHA3,除非你不得不做一些兼容性工作。在 Ether.js中同时提供了Keccak256和SHA256的哈希算法。同样在Solidity中也内置提供了Keccak256和SHA256,同大家灵活使用。
比特币、以太坊都是一种链式结构的区块链。一个区块信息中包含了上一个区块(父块)的哈希值,从而保证了区块的安全指向。随着区块被更多的子块间接引用,进一步强化了区块的安全性。
Keccak 算法
为了隐藏起某些信息,且保证这些信息不被篡改,需要用到哈希算法。keccak256算法则可以将任意长度的输入压缩成64位

本文探讨了SHA3的发展背景,它是如何从SHA2的竞争者演变成区块链技术如以太坊采用的Keccak,重点介绍了Keccak256在以太坊中的应用,以及其在隐藏信息和验证过程中的作用。同时,提到了函数选择器和Solidity中的使用实例。
最低0.47元/天 解锁文章
2506

被折叠的 条评论
为什么被折叠?



