imToken钱包系统的区块链

在imToken钱包系统的区块链中,每个块都有一棵merkle树,

可以看出,merkle根hash值存储在每个块的头中,块体由这个根值连接,块体包含大量的事务,每个事务相当于前面提到的数据块。每个事务本身都有自己的哈希值来唯一地标识自己。

为了更好地解释,这里有一个概念,SPV,即中本聪描述的“简化支付验证”。正是有了SPV,区块链和imToken钱包才传播得更广。

我们安装在电脑上的imtoken钱包大部分都是轻量级的,也就是本地没有全部的块数据。理论上,验证一笔交易,钱包需要遍历所有区块,找到所有与交易相关的交易,并逐一验证,这才是可靠的。

但是轻量级钱包没有完整的数据。你如何验证付款的合法性?

Merkle tree发挥了关键作用,

当然,SPV也有它的局限性,

imToken钱包系统如何验证交易的合法性?

首先,区块链中每个块的merkle树的根hash是公开可信的。假设alice为imToken wallet向bob转账,imToken wallet需要确认该交易是否包含在区块链中。

这里写图片描述

如上图所示,

假设我们要判断HK代表的事务是否存在,只需要生成一条只有4个hash值的Merkle路径,证明该事务存在于块中。这个路径有4个哈希值HLHIJHMNOP和HABCDEFGH。

通过这四个

哈希值生成的认证路径是通过计算其他四对哈希值HKLHIJKLHIJKLMNOP来计算的。

和Merkle根,任何节点都可以证明HK

注释)包含在Merkle根中,

具体的认证路径主要通过遍历生成,有专门的算法。有兴趣的可以自行搜索相关论文。

涉及

http://www,cnblogs,com/fengzhiwu/p/5524324,html

精通imToken钱包

发表评论

Copyright 2002-2022 by 生活百科网(琼ICP备2022001899号-3).All Rights Reserved.