【技术实现步骤摘要】
一种区块链交易处理方法、装置以及设备
[0001]本说明书涉及区块链
,尤其涉及一种区块链交易处理方法、装置以及设备。
技术介绍
[0002]区块链技术最初是由一位化名中本聪的人设计出的一种特殊的分布式数据库技术,它适合存储简单的、有先后关系的、能在系统内验证的数据,用密码学和共识算法保证了数据的不可篡改和不可伪造。
[0003]传统区块链设计中,共识后存储的信息、合约计算过程等都会在同一个节点(一般称为区块链节点)完成,并且所有的节点要对每笔交易进行合约运算以及共识,才能和最新区块保持同步。该种设计方式将区块链的信息存储资源和计算资源强制绑定。不能根据实际需求选择扩容磁盘或CPU内存等资源,且对每个节点的计算能力、存储要求都很高。
[0004]更直观地,参见图1,图1为传统的区块链系统涉及智能合约的交易的处理方式的示意图,可以看到合约交易的执行、共识、存证等都在相同的区块链节点完成,每个参与的节点都需要运行智能合约以及保存世界状态树,随着交易量级的不断增大,各区块链节点还是需要将每笔交易排序后执行智能合约,然后经过共识后,一笔指定交易才算执行完成。随着历史交易不断累积,不同智能合约的链上状态都在同一个世界状态树存储,这颗树的深度以及存储的键值(Key
‑
Value,KV)量级会越发难以维护。并且,合约计算以及存证共识的功能都在同一节点内完成,其要求承载区块链节点的机器在存储容量、CPU、内存等方面都有一个高标准。
[0005]基于此,需要更为灵活高效、易于维护的区块链 ...
【技术保护点】
【技术特征摘要】
1.一种区块链交易处理方法,应用于部署有存证节点和多个合约节点的区块链系统,各所述合约节点分别关联有一个或者多个智能合约,所述方法包括:所述多个合约节点中的第一合约节点,接收用户发送的交易,在要执行所述交易时,根据自身所关联的智能合约的合约地址,向所述存证节点进行查询;所述存证节点,响应于所述查询,返回自身上存储的对应于所述合约地址的合约代码;所述第一合约节点,针对所述交易,加载以及执行所述合约代码,根据执行结果,修改自身上存储的世界状态集合,并通知所述存证节点,其中,所述多个合约节点中的未关联该智能合约的第二合约节点,则不执行所述合约代码,也不相应修改自身上存储的世界状态集合;所述存证节点,将所述交易打包为区块进行共识,在共识成功通过后将所述区块在自身上进行存证落盘。2.如权利要求1所述的方法,所述第一合约节点,通知所述存证节点,具体包括:所述第一合约节点,与所述多个合约节点中同样关联了该智能合约的其他合约节点,对所述执行结果进行共识,得到第一共识结果;若所述第一共识结果表示共识成功通过,则将所述第一共识结果通知所述存证节点。3.如权利要求1所述的方法,还包括:所述多个合约节点中的合约节点,申请关联指定的智能合约,若申请通过,则确立该合约节点与所述指定的智能合约之间的关联关系。4.如权利要求1~3任一项所述的方法,所述多个合约节点中包含一个或者多个合约节点联盟,分别由对应的组织设立。5.如权利要求4所述的方法,不同的所述组织对应的所述合约节点联盟所关联的智能合约不同。6.如权利要求4所述的方法,还包括:所述组织,针对其对应的合约节点联盟对应的指定的智能合约,为所述指定的智能合约设置运行该智能合约所需要的隐私密钥,并将所述隐私密钥分发给所述对应的合约节点联盟中的至少部分合约节点;所述第一合约节点,执行所述合约代码,具体包括:若所述合约代码对应的智能合约设置有隐私密钥,且所述隐私密钥已分发给所述第一合约节点,则所述第一合约节点利用所述隐私密钥,执行所述合约代码。7.如权利要求1所述的方法,还包括:第三合约节点,新加入所述区块链系统中,从所述存证节点获取其存储的所述区块链系统中的合约代码和历史交易;根据所述合约代码执行所述历史交易,以更新自身上存储的世界状态集合。8.如权利要求1所述的方法,所述第一合约节点,接收用户发送的交易,还包括:所述第一合约节点,对已接受多个交易进行排序,以按照顺序将各所述交易分别取出并执行。9.如权利要求2所述的方法,所述存证节点,所述将所述交易打包为区块进行共识,具体包括:所述存证节点,对所述合约节点通知的所述第一共识结果进行校验;
若校验通过,则将所述交易打包为区块,并与其他存证节点对所述区块进行共识,得到第二共识结果,以便在所述第二共识结果表示共识成功通过后,将所述区块在自身上进行存证落盘。10.如权利要求1~3任一项所述的方法,所述区块链系统中部署有多个存证节点,各所述存证节点均用于存储所述区块链系统中全部智能合约的合约代码和全部交易。11.一种区块链交易处理装置,应用于部署有存证节点和多个合约节点的区块链系统,各所述合约节点分别关联有一个或者多个智能合约,所述装置包括:所述多个合约节点中的第一合约节点的合约代码查询模块,接收用户发送的交易,在要执行所述交易时,根据自身所关联的智能合约的合约地址,向所述存证节点进行查询;所述存证节点的合约代码返回模块,响应于所述查询,返回自身上存储的对应于所述合约地址的合约代码;所述第一合约节点的合约交易执行模块,针对所述交易,加载以及执行所述合约代码,根据执行...
【专利技术属性】
技术研发人员:冯志远,王志伟,顾俊,
申请(专利权)人:蚂蚁区块链科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。