纸飞机聊天记录可验证删除的Merkle树
4 个回答
Merkle树就是把每条消息的哈希作为叶子节点,然后向上合并生成根哈希。Telegram在删除消息时保留该消息对应的哈希路径,验证时对比现有的树结构就可以判断消息是否存在过。说白了就是给消息打上时间戳,删了也能查到痕迹。
Telegram通过Merkle树实现消息删除验证的核心在于“哈希链式校验”:为每一条消息生成哈希值,层层嵌套组成树状结构,根哈希作为整体状态锚点。删除消息后,系统重新计算受影响分支哈希路径,更新根哈希。用户通过对比本地保存的历史根哈希和服务器最新根哈希的差异,就能知道哪些消息被删除了。简单来说,就是用数学把消息堆成“积木”,抽走一块积木,整座楼的结构就会变化,从而证明删除操作真实存在。
Merkle树相当于指纹墙,消息有哈希指纹,逐级拼凑成根哈希,Telegram存储消息列表的哈希值,删除消息时,只要证明某条消息的哈希不在这个树里,类似快递单号证明丢件,本质是用数学证明代替存储,反欺诈,即用哈希链路证明消息曾经存在过但被删除,类似快递柜取件码证明你寄过东西但后来取走了。
Merkle树通过哈希链式证明数据完整性,Telegram用来记录消息索引,在删除时调整树结构,保留历史哈希值,保证删除不可变和可验证,证明“这条消息曾经存在过,然后被删除了”。