标题是。我正在学习构建一个DApp,我想知道是否值得在keccak上添加额外的RIPEMD层,以缩短哈希,以降低存储成本。
发布于 2020-03-30 17:58:18
从纯粹的成本角度来看,最重要的是所使用的插槽数量(32个字节)。Ethereum的存储成本是按字节计算的。
顾名思义,埃瑟姆的Keccack-256是256位,即32字节。
RIPEMD散列的字节数取决于选择的算法。如果使用RIPEMD-128或RIPEMD-160,则将分别使用16个字节和20个字节。如果使用RIPEMD-256,则散列的大小将为32个字节,与Keccack-256相同。如果您使用RIPEMD-320,您的大小将是40个字节,这将更加昂贵。
(根据Ismael的评论更新)上述哈希算法的实际成本各不相同。然而,槽的大小是32字节,所以任何较小的大小都会占用32字节。正因为如此,Keccack-256,RIPEMD-128/160/256都将花费相同的费用,并占据一个插槽。RIPEMD-320将占用两个插槽,成本更高。
值得注意的是,哈希中的0s的数量可能比预期的要便宜。
免责声明:答案只涉及哈希算法的成本。所列算法的安全性不受关注。请不要将此答案用于安全目的。
https://ethereum.stackexchange.com/questions/82008
复制相似问题