【技术实现步骤摘要】
区块链中轻节点的数据同步方法、节点、存储介质及设备
[0001]本申请实施例涉及区块链
,特别涉及一种区块链中轻节点的数据同步方法、节点、存储介质及设备。
技术介绍
[0002]区块链数据为链式账本数据,链上账户的状态是由账本数据(交易数据)执行后的结果所产生,从而导致了链上数据包括区块数据(区块信息和交易信息)以及状态数据(交易执行后的结果),而且随着时间的积累,账本数据会不断的膨胀。同时,由于区块链的状态是由从创世块开始的每个块中的每笔交易执行累加的结果,因此,需要基于完整的账本数据来验证最新的状态,这就要求很多运行中的全节点需要存储全量的账本数据,这对于仅需做查询操作的轻节点来说,存储压力较大。
技术实现思路
[0003]本申请实施例提供了一种区块链中轻节点的数据同步方法、节点、存储介质及设备,用于解决区块链的状态不断膨胀,导致轻节点的存储压力不断增加的问题。所述技术方案如下:一方面,提供了一种区块链中轻节点的数据同步方法,所述方法包括:当块高为n
‑
1的轻节点需要同步第n个区块的数据时,向区块链中的全节点获取所述第n个区块的区块信息和默克尔山脉MMR头,所述MMR头包括当前区块的交易根和前一区块的MMR根,所述交易根是根据当前区块内所有交易哈希计算得到的,所述MMR根是根据MMR算法对当前区块的MMR证明进行计算得到的,所述MMR证明包括对所有区块的MMR头进行二叉树排列后,位于所述二叉树中预定位置处的MMR头的哈希,n≥1;获取本地存储的第n
‑
1个 ...
【技术保护点】
【技术特征摘要】
1.一种区块链中轻节点的数据同步方法,其特征在于,所述方法包括:当块高为n
‑
1的轻节点需要同步第n个区块的数据时,向区块链中的全节点获取所述第n个区块的区块信息和默克尔山脉MMR头,所述MMR头包括当前区块的交易根和前一区块的MMR根,所述交易根是根据当前区块内所有交易哈希计算得到的,所述MMR根是根据MMR算法对当前区块的MMR证明进行计算得到的,所述MMR证明包括对所有区块的MMR头进行二叉树排列后,位于所述二叉树中预定位置处的MMR头的哈希,n≥1;获取本地存储的第n
‑
1个区块的MMR根;根据所述第n
‑
1个区块的MMR根、所述第n个区块的区块信息和MMR根进行验证;当验证通过时,将所述第n个区块的MMR头和MMR证明同步至本地。2.根据权利要求1所述的方法,其特征在于,所述根据所述第n
‑
1个区块的MMR根、所述第n个区块的区块信息和MMR根进行验证,包括:从所述第n个区块的区块信息中获取所有交易哈希,根据所有交易哈希计算交易根,验证计算得到的交易根与所述第n个区块的MMR头中的交易根是否一致;验证所述第n个区块的MMR头中的MMR根与本地存储的所述第n
‑
1个区块的MMR根是否一致。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:当所述轻节点的块高与需要同步的区块的块高m不连续时,向区块链中的全节点获取第m个区块的区块信息、MMR头和MMR证明,m≥1;根据所述第m个区块的区块信息、MMR头和MMR证明进行验证;当验证通过时,将所述第m个区块的MMR头和MMR证明同步至本地。4.根据权利要求3所述的方法,其特征在于,所述根据所述第m个区块的区块信息、MMR头和MMR证明进行验证,包括:从所述第m个区块的区块信息中获取所有交易哈希,根据所有交易哈希计算交易根,验证计算得到的交易根与所述第m个区块的MMR头中的交易根是否一致;根据MMR算法对所述MMR证明进行计算,验证计算得到的MMR根与所述第m个区块的MMR头中的MMR根是否一致。5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:接收携带有对象标识的查询请求,所述对象标识是交易标识或区块标识;根据所述对象标识向区块链中的全节点查询对象信息;对所述对象信息进行验证;在验证通过后,将所述对象信息同步至本地。6.根据权利要求5所述的方法,其特征在于,当所述对象标识是交易标识时,所述对象信息包括交易信息、交易树...
【专利技术属性】
技术研发人员:王晓亮,姚鹏飞,宁志伟,
申请(专利权)人:北京溪塔科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。