System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种智能合约的白名单验证方法、装置、电子设备及存储介质。
技术介绍
1、随着区块链技术的发展,智能合约在金融、供应链管理等领域得到了广泛应用。智能合约通过自动执行预设的合约条款,实现了交易的透明和不可篡改。在这些应用场景中,通常需要限定特定用户才能执行某些业务逻辑,这就需要白名单机制来控制用户权限。
2、目前,智能合约中的白名单机制主要有以下两种实现方式:
3、第一种方式,利用链下的中心化数据库:
4、在这种方式中,白名单信息存储在链下的中心化数据库中,用户尝试执行智能合约时,系统会查询该数据库以验证用户是否在白名单内。中心化数据库存在重放攻击的风险,即攻击者可以捕获并重复发送合法的请求,导致系统重复执行操作。中心化数据库的使用降低了系统的透明性,因为白名单数据不在区块链上公开,依赖于单一的可信实体,增加了信任成本。
5、第二种方式,利用智能合约的mapping存储结构:
6、在这种方式中,白名单信息直接存储在智能合约的mapping结构中,用户执行智能合约时,智能合约会读取mapping结构以验证用户权限。mapping结构的存储和读写成本较高,特别是在白名单规模较大时,这会导致区块链资源的高消耗和较高的交易费用。
技术实现思路
1、有鉴于此,本申请实施例提供了一种智能合约的白名单验证方法、装置、电子设备及存储介质,以解决现有技术存在的中心化信任成本及读写成本高,系统安全性和透明性低的问题。
...【技术保护点】
1.一种智能合约的白名单验证方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取公钥白名单,以得到公钥列表,包括:
3.根据权利要求1所述的方法,其特征在于,所述对所述公钥列表内的元素进行排序,并根据所述公钥列表内的元素数量,对所述公钥列表进行处理,得到有序公钥列表,包括:
4.根据权利要求1所述的方法,其特征在于,所述对所述有序公钥列表中的每对公钥进行哈希运算,生成相应的哈希值,递归对上一层生成的哈希值进行组合哈希运算,直到得到根哈希值,包括:
5.根据权利要求1所述的方法,其特征在于,所述确定公钥在二叉树中的兄弟节点和父节点,并递归确定各层级中的兄弟节点,以构建验证路径,包括:
6.根据权利要求1所述的方法,其特征在于,所述对所述公钥进行哈希运算,并利用所述验证路径逐级计算组合哈希值,直至得到最终哈希值,将所述最终哈希值与所述根哈希值进行比对,若相等则验证通过,否则验证失败,包括:
7.根据权利要求6所述的方法,其特征在于,所述响应于用户调用智能合约的操作,获取所述用户对应公钥的验
8.一种智能合约的白名单验证装置,其特征在于,包括:
9.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。
...【技术特征摘要】
1.一种智能合约的白名单验证方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取公钥白名单,以得到公钥列表,包括:
3.根据权利要求1所述的方法,其特征在于,所述对所述公钥列表内的元素进行排序,并根据所述公钥列表内的元素数量,对所述公钥列表进行处理,得到有序公钥列表,包括:
4.根据权利要求1所述的方法,其特征在于,所述对所述有序公钥列表中的每对公钥进行哈希运算,生成相应的哈希值,递归对上一层生成的哈希值进行组合哈希运算,直到得到根哈希值,包括:
5.根据权利要求1所述的方法,其特征在于,所述确定公钥在二叉树中的兄弟节点和父节点,并递归确定各层级中的兄弟节点,以构建验证路径,包括:
6.根据权利要求1所述的方法,其特征在于,所述对所述公钥进行哈希运算,并利用所述验证路径逐级计算组...
【专利技术属性】
技术研发人员:何快洛,
申请(专利权)人:重庆赛力斯凤凰智创科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。