以太坊轻客户端
以太坊轻客户端会下载区块头,同时利用DHT的节点请求partircia node数据来代替硬件存储来验证具体的数据。
- 查询指定高度account信息。通过向全节点询问该高度的account和proof,用本地的区块头中的roothash去验证。
- 查询确认的transaction。可以通过交易hash去查询交易的高度和index,再向节点要tx内容和proof。
- 还可以验证一个block是否合法。随机选取block中的txs[i], 获得state[i-1]的state node, play这个tx,获得state[i]和查询的state[i]比较是否相同,同时看tx.log是否在blockheader的bloom中出现。
- 轻客户端可以订阅感兴趣的地址的时间,每次收到区块头,比较bloom中是否hit,如果有,则下载所有的tx,查询tx的log是否hit,如果hit,则取出tx的RLP内容进行检查。