【技术实现步骤摘要】
一种在区块链中创建账户的方法和区块链节点
[0001]本说明书实施例属于区块链
,尤其涉及一种在区块链创建账户的方法和区块链节点。
技术介绍
[0002]区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
技术实现思路
[0003]本专利技术的目的在于提供一种在区块链中创建账户的方案,节省了存储空间,提高了访问效率。
[0004]本说明书第一方面提供一种在区块链中创建账户的方法,由区块链节点执行,所述区块链节点中存储有多个账户的账户地址与账户编号的映射关系信息,所述方法包括:
[0005]在对所述第一账户的账户状态进行写入时,在根据所述映射关系信息未查找到所述第一账户地址对应的账户编号的情况中,确定所述第一账户的第一账户编号 ...
【技术保护点】
【技术特征摘要】
1.一种在区块链中创建账户的方法,由区块链节点执行,所述区块链节点中存储有多个账户的账户地址与账户编号的映射关系信息,所述方法包括:在对所述第一账户的账户状态进行写入时,在根据所述映射关系信息未查找到所述第一账户地址对应的账户编号的情况中,确定所述第一账户的第一账户编号;在所述映射关系信息中添加所述第一账户地址与所述第一账户编号的映射关系;在沃克尔状态树中添加与所述第一账户对应的第一叶子节点,所述第一叶子节点的键key为所述第一账户编号,所述第一叶子节点的值value为所述第一账户的账户状态,其中,所述沃克尔状态树中的各个父节点中包括承诺值和证明值,所述承诺值和证明值通过根据多项式承诺算法基于所述父节点的各个子节点的键值对计算得到;响应于对所述第一叶子节点的添加,更新所述沃克尔状态树。2.根据权利要求1所述的方法,所述在所述映射关系信息中添加所述第一账户地址与所述第一账户编号的映射关系,包括:在内存中的映射表中关联地存储所述第一账户地址中的第一前缀和所述第一账户编号;在持久化介质中与所述第一账户编号关联地存储所述第一账户地址。3.根据权利要求1或2所述的方法,所述确定所述第一账户的第一账户编号,包括:获取当前的最大账户编号,将所述最大账户编号加一,得到所述第一账户编号。4.根据权利要求3所述的方法,所述沃克尔状态树的多个叶子节点按照账户编号从小到大的顺序在所述沃克尔状态树中从左至右排列,所述在沃克尔状态树中添加与所述第一账户对应的第一叶子节点包括:在所述沃克尔状态树的最右侧添加所述第一叶子节点。5.根据权利要求4所述的方法,所述响应于对所述第一叶子节点的添加,更新所述沃克尔状态树,包括:对于所述沃克尔状态树中的第i层新添加的第j个节点,确定j是否能整除k,其中,所述沃克尔状态树中以叶子节点作为第0层,父节点的层数比其子节点的层数多一;在j可以整除k的情况中,在第i+1层添加所述第j个节点的第一父节点,所述添加的第一父节点的key包括层数i+1和编号j/k,所述第一父节点的value基于其包括的全部子节点的哈希值生成。6.根据权利要求5所述的方法,所述响应于对所述第一叶子节点的添加,更新所述沃克尔状态树,还包括:获取所述第一父节点的全部第一子节点中各个第一子节点包括的数据,所述数据中包括所述第一子节点的key;根据所述全部第一子节点各自的数据构建多项式;基于所述多项式计算所述第一父节点的承诺值;基于所述多项式和各个第一子节点包括的数据,计算所述第一父节点的多个证明值,所述多个证明值与所述多个第一子节点分别对应。7.根据权利要求2所述的方法,还包括:在根据所述映射关系信息查找到所述第一账户地址对应于所述第一账户编号的情况中,根据所述第一账户编号在所述沃克尔状态树中更新所述第一账户的账户状态;
响应于对所述第一账户的账户状态的更新,更新所述沃克尔状态树。8.根据权利要求7所述的方法,所述区块链节点的持久化介质中设置有顺序排列的多个存储单元,所述多个存储单元根据所述沃克尔状态树中的多个叶子节点对应的多个账户编号从小至大的顺序存储所述多个叶子节点。9.根据权利要求8所述的方法,还...
【专利技术属性】
技术研发人员:陈骁杰,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。