为什么ethereum使用RLP编码来序列化数据,我的意思是,是否有特定的原因不使用现有的格式?除了RLP之外,它还非常紧凑和节省空间。
发布于 2021-10-16 02:47:14
RLP是确定性方案,而其他方案可能会对相同的输入产生不同的结果,这在区块链上是绝对不可接受的。即使是很小的更改也会导致完全不同的哈希,并会导致数据完整性问题,从而使整个区块链变得无用。
发布于 2018-10-14 12:07:21
RLP (递归长度前缀)的目的是对任意嵌套的二进制数据数组进行编码,RLP是在以太中序列化对象的主要编码方法。查看此RLP
RLP只是你提到的一种选择,有些人可能熟悉这种格式,而其他人可能不熟悉,但一旦你选择了这种技术,最好在一个项目中保持一致,以免让其他人感到困惑。
发布于 2021-07-28 10:53:57
ASCII码实现的简单性,它建立在
[[k1, v1], [k2, v2], ...],但键的排序并不稳定,这意味着在不同的实现中使用相同的值(映射)会产生不同的结果。因此RLP保证了以太发送散列需要一致性。https://stackoverflow.com/questions/49024210
复制相似问题