一种程序执行方法及装置制造方法及图纸

技术编号:20449006 阅读:22 留言:0更新日期:2019-02-27 03:03
本申请公开了一种程序执行方法,应用于基于区块链的去中心化系统,其中,已发布至所述区块链中的应用程序被绑定了用户标识;包括:当接收到用户基于持有的私钥在所述区块链上向目标程序发布的目标指令时,获取所述用户的用户标识;查询获取到的所述用户标识是否与所述目标程序绑定;如果获取到的所述用户标识与所述目标程序绑定,则在所述目标程序中触发执行所述目标指令。

A Program Execution Method and Device

This application discloses a program execution method applied to a block chain-based decentralization system, in which an application published to the block chain is bound to a user identity, including acquiring the user identity of the user when receiving a target instruction issued to the target program by the user based on the held private key on the block chain, and querying the acquired user identity. Whether the user ID is bound to the target program or not; if the acquired user ID is bound to the target program, the execution of the target instruction is triggered in the target program.

【技术实现步骤摘要】
一种程序执行方法及装置
本申请涉及计算机应用
,尤其涉及一种程序执行方法及装置。
技术介绍
区块链技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,利用区块链技术来搭建去中心化系统,并在区块链的分布式数据库中收录各种执行程序进行自动执行,已在众多的领域中广泛的进行应用;例如,在金融科技领域,利用区块链技术搭建P2P支付平台,并在区块链上发布诸如智能合约等执行程序,可以在不经过银行等金融机构的前提下,实现不同的用户之间的点对点安全支付。
技术实现思路
本申请提出一种程序执行方法,应用于基于区块链的去中心化系统,其中,已发布至所述区块链中的应用程序被绑定了用户标识;所述方法包括:当接收到用户基于持有的私钥在所述区块链上向目标程序发布的目标指令时,获取所述用户的用户标识;查询获取到的所述用户标识是否与所述目标程序绑定;如果获取到的所述用户标识与所述目标程序绑定,则在所述目标程序中触发执行所述目标指令。可选的,所述获取所述用户的用户标识之前,包括:基于与用户持有的私钥对应的公钥对所述目标指令的电子签名进行验证;如果验证通过,将所述目标指令传递至所述目标程序,由所述目标程序获取所述用户的用户标识,并查询获取到的所述用户标识是否与所述目标程序绑定;以及,在确定获取到的所述用户标识与所述目标程序绑定时,触发执行所述目标指令。可选的,所述目标程序和所述用户标识的绑定关系记录在预设的映射表中;其中,所述预设的映射表被发布至所述区块链。可选的,还包括:获取与所述用户持有的私钥对应的公钥,与所述用户标识之间的绑定关系;以及,对应于所述绑定关系的电子签名;基于所述去中心化系统存储的可信公钥针对所述电子签名进行验证;如果验证通过,将与所述用户持有的私钥对应的公钥记录至所述映射表中,以在所述映射表中创建所述用户的用户标识,与用户持有的私钥对应的公钥之间的绑定关系。可选的,所述用户持有的私钥对应的公钥,与所述用户标识之间的绑定关系存储在所述用户的身份证书中。可选的,所述获取所述用户的用户标识,包括:获取用户在基于持有的私钥在所述区块链上向目标程序发布所述目标指令时,同步发布的用户标识;或者,基于用户持有的私钥对应的公钥,在已发布至区块链中的映射表中查询与所述公钥绑定的用户标识;其中,所述映射表记录了所述目标程序、所述用户标识,以及与用户持有的私钥对应的公钥之间的绑定关系。可选的,其中,当所述用户持有的私钥及对应的公钥发生更新时,删除所述映射表中记录的更新前的公钥与所述用户标识的绑定关系,并在所述映射表中重新创建更新后的公钥与所述用户标识的绑定关系。可选的,所述用户标识绑定多个公钥;其中,与所述用户标识绑定的多个公钥,分别对应不同的用户角色。可选的,所述用户标识为基于所述用户提交的身份信息生成的用户身份编码。可选的,已发布至所述区块链中的应用程序为智能合约程序。本申请还提出一种程序执行装置,其特征在于,应用于基于区块链的去中心化系统中的任一节点设备,其中,已发布至所述区块链中的应用程序被绑定了用户标识;所述装置包括:获取模块,当接收到用户基于持有的私钥在所述区块链上向目标程序发布的目标指令时,获取所述用户的用户标识;查询模块,查询获取到的所述用户标识是否与所述目标程序绑定;执行模块,如果获取到的所述用户标识与所述目标程序绑定,则在所述目标程序中触发执行所述目标指令。可选的,所述装置还包括:验证模块,获取所述用户的用户标识之前,基于与用户持有的私钥对应的公钥对所述目标指令的电子签名进行验证;如果验证通过,将所述目标指令传递至所述目标程序,由所述目标程序获取所述用户的用户标识,并查询获取到的所述用户标识是否与所述目标程序绑定;以及,在确定获取到的所述用户标识与所述目标程序绑定时,触发执行所述目标指令。可选的,所述目标程序和所述用户标识的绑定关系记录在预设的映射表中;其中,所述预设的映射表被发布至所述区块链。可选的,所述获取模块进一步:获取与所述用户持有的私钥对应的公钥,与所述用户标识之间的绑定关系;以及,对应于所述绑定关系的电子签名;基于所述去中心化系统存储的可信公钥针对所述电子签名进行验证;如果验证通过,将与所述用户持有的私钥对应的公钥记录至所述映射表中,以在所述映射表中创建所述用户的用户标识,与用户持有的私钥对应的公钥之间的绑定关系。可选的,所述用户持有的私钥对应的公钥,与所述用户标识之间的绑定关系存储在所述用户的身份证书中。可选的,所述获取所述用户的用户标识,包括:获取用户在基于持有的私钥在所述区块链上向目标程序发布所述目标指令时,同步发布的用户标识;或者,基于用户持有的私钥对应的公钥,在已发布至区块链中的映射表中查询与所述公钥绑定的用户标识;其中,所述映射表记录了所述目标程序、所述用户标识,以及与用户持有的私钥对应的公钥之间的绑定关系。可选的,其中,当所述用户持有的私钥及对应的公钥发生更新时,删除所述映射表中记录的更新前的公钥与所述用户标识的绑定关系,并在所述映射表中重新创建更新后的公钥与所述用户标识的绑定关系。可选的,所述用户标识绑定多个公钥;其中,与所述用户标识绑定的多个公钥,分别对应不同的用户角色。可选的,所述用户标识为基于所述用户提交的身份信息生成的用户身份编码。可选的,已发布至所述区块链中的应用程序为智能合约程序。在本申请中,提出了一种在基于区块链的去中心化系统中,通过为已发布至区块链中的应用程序绑定的用户标识,来决策执行相应用户发布的目标指令的机制。去中心化系统可以为发布至区块链中的应用程序分别绑定用户标识,当接收到用户基于持有的私钥在区块链上向目标程序发布的目标指令时,可以获取该用户的用户标识,并查询该用户标识是否与该目标程序绑定,如果该用户标识与该目标程序绑定,则可以在该目标程序中触发执行该目标指令。一方面,由于在本申请中,用户标识可以唯一标识用户的身份,因此将已发布至区块链的应用程序与用户标识绑定,可以对发布至区块链的应用程序进行实名化;另一方面,由于在本申请中,在决策上述目标指令是否能够在目标程序中触发执行时,不再使用与目标程序绑定的公钥信息来,而是使用与目标程序绑定的用户标识,因此在用户持有的私钥以及对应的公钥发生更新时,用户仍然可以使用更新后的私钥正常的向上述目标程序发布可以在该目标程序中触发执行的指令。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本申请一实施例示出的一种程序执行方法的流程示意图;图2是本申请一实施例示出的一种程序执行装置的逻辑框图;图3是本申请一实施例示出的一种承载所述程序执行装置的电子设备的硬件架构图。具体实施方式在实际应用中,对于发布至区块链中的应用程序,通常都会绑定若干授信的公钥,只有持有与这些绑定的公钥对应的私钥的用户,才具有在区块链中向这些应用程序发布,能够在这些应用程序中触发执行的指令的权限。即通过为已发布本文档来自技高网...

【技术保护点】
1.一种程序执行方法,其特征在于,应用于基于区块链的去中心化系统,其中,已发布至所述区块链中的应用程序被绑定了用户标识;所述方法包括:当接收到用户基于持有的私钥在所述区块链上向目标程序发布的目标指令时,获取所述用户的用户标识;查询获取到的所述用户标识是否与所述目标程序绑定;如果获取到的所述用户标识与所述目标程序绑定,则在所述目标程序中触发执行所述目标指令。

【技术特征摘要】
1.一种程序执行方法,其特征在于,应用于基于区块链的去中心化系统,其中,已发布至所述区块链中的应用程序被绑定了用户标识;所述方法包括:当接收到用户基于持有的私钥在所述区块链上向目标程序发布的目标指令时,获取所述用户的用户标识;查询获取到的所述用户标识是否与所述目标程序绑定;如果获取到的所述用户标识与所述目标程序绑定,则在所述目标程序中触发执行所述目标指令。2.根据权利要求1所述的方法,其特征在于,所述获取所述用户的用户标识之前,包括:基于与用户持有的私钥对应的公钥对所述目标指令的电子签名进行验证;如果验证通过,将所述目标指令传递至所述目标程序,由所述目标程序获取所述用户的用户标识,并查询获取到的所述用户标识是否与所述目标程序绑定;以及,在确定获取到的所述用户标识与所述目标程序绑定时,触发执行所述目标指令。3.根据权利要求1所述的方法,其特征在于,所述目标程序和所述用户标识的绑定关系记录在预设的映射表中;其中,所述预设的映射表被发布至所述区块链。4.根据权利要求3所述的方法,其特征在于,还包括:获取与所述用户持有的私钥对应的公钥,与所述用户标识之间的绑定关系;以及,对应于所述绑定关系的电子签名;基于所述去中心化系统存储的可信公钥针对所述电子签名进行验证;如果验证通过,将与所述用户持有的私钥对应的公钥记录至所述映射表中,以在所述映射表中创建所述用户的用户标识,与用户持有的私钥对应的公钥之间的绑定关系。5.根据权利要求4所述的方法,其特征在于,所述用户持有的私钥对应的公钥,与所述用户标识之间的绑定关系存储在所述用户的身份证书中。6.根据权利要求1或2所述的方法,其特征在于,所述获取所述用户的用户标识,包括:获取用户在基于持有的私钥在所述区块链上向目标程序发布所述目标指令时,同步发布的用户标识;或者,基于用户持有的私钥对应的公钥,在已发布至区块链中的映射表中查询与所述公钥绑定的用户标识;其中,所述映射表记录了所述目标程序、所述用户标识,以及与用户持有的私钥对应的公钥之间的绑定关系。7.根据权利要求4或6所述的方法,其特征在于,其中,当所述用户持有的私钥及对应的公钥发生更新时,删除所述映射表中记录的更新前的公钥与所述用户标识的绑定关系,并在所述映射表中重新创建更新后的公钥与所述用户标识的绑定关系。8.根据权利要求1所述的方法,其特征在于,所述用户标识绑定多个公钥;其中,与所述用户标识绑定的多个公钥,分别对应不同的用户角色。9.根据权利要求1所述的方法,其特征在于,所述用户标识为基于所述用户提交的身份信息生成的用户身份编码。10.根据权利要求1所述的方法,其特征在于,已发布至所述区块链中的应用程序为智能合约程序。11.一种程序执行装置,其特征在于,应用于基于区...

【专利技术属性】
技术研发人员:徐刚陈盛东胡淳一
申请(专利权)人:上海策赢网络科技有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1