一种智能合约记账方法、计算机装置及可读存储介质制造方法及图纸

技术编号:19860127 阅读:26 留言:0更新日期:2018-12-22 12:17
本发明专利技术适用于计算机技术领域,提供了一种智能合约记账方法、计算机装置及可读存储介质,该方法包括:用户记账节点构建智能合约调用交易,并签名后全网广播;记账节点接收合约调用交易后进行验证,验证通过后将合约调用交易存入合约队列中;同时合约管理服务器从合约队列中调取出与该交易对应的合约并执行,生成合约执行结果,并根据合约执行结果创建合约返回结果交易并签名后广播;记账节点接收到合约返回结果交易后进行交易签名验证,验证通过后将合约返回结果交易存入待打包队列中,更新区块的智能合约信息并广播区块,触发执行记账操作。本发明专利技术的记账操作安全性好,且让智能合约能更专注于其业务数据的服务,提高了业务服务效率。

【技术实现步骤摘要】
一种智能合约记账方法、计算机装置及可读存储介质
本专利技术属于计算机
,尤其涉及一种智能合约记账方法、计算机装置及可读存储介质。
技术介绍
以太坊,是一个开源的有智能合约功能的公共区块链平台。2015年,以太坊将智能合约作为基础特性引入区块链节点。至今,智能合约已成为区块链的一个重要特性,其中智能合约记账方式采用了账户余额记账。由于以太坊项目的示范性效应,各个区块链项目的智能合约交易都采用了以太坊账户余额记账方式记账。然而,近期,采用账户记账模式的智能合约爆发了一系列的安全问题,导致多种token因合约编码漏洞造成价值清零,即突破账户余额进行转账。而且,在账户记账模式下,智能合约代码本身要维护账户余额,这造成了智能合约不能聚焦业务服务客户。另外,合约账户的余额必须通过合约调用才能转出,难以确保余额不被非法提现。由此可见,现有的智能合约记账方式存在容易被非法攻击而存在较大安全隐患,且由于业务服务不聚焦而导致效率低下的问题。
技术实现思路
本专利技术实施例提供一种智能合约记账方法,旨在解决现有的智能合约记账方式存在容易被非法攻击而存在较大安全隐患,且由于业务服务不聚焦而导致效率低下的问题。本专利技术实施例是这样实现的,一种智能合约记账方法,应用于区块链中,所述区块链由多个相互连接的节点组成,所述方法包括:用户记账节点构建智能合约调用交易,并签名后全网广播;所述用户记账节点接收合约调用者发起的合约调用交易后,对所述合约调用交易进行验证,若验证通过,则将所述合约调用交易存入合约队列中;同时,合约管理服务器从所述合约队列中调取出与所述合约调用交易对应的合约并执行所述合约的调用交易,生成合约执行结果,并根据所述合约执行结果创建合约返回结果交易并签名,并广播所述合约返回结果交易;所述用户记账节点接收到所述合约返回结果交易后,对所述合约返回结果交易进行交易签名验证,若验证通过后,则将所述合约返回结果交易存入待打包队列中,同时,更新区块的智能合约信息并广播区块,触发执行记账操作。本专利技术实施例还提供一种计算机装置,该计算机装置包括:处理器,用于执行存储器中存储的计算机程序时实现上述方法的各步骤。本专利技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序/指令,所述计算机程序/指令被所述处理器执行时实现上述方法的各步骤。本专利技术实施例提供的智能合约记账方法,用户记账节点通过构建智能合约调用交易,并通过定义智能合约调用交易的脚本以支持合约的调用交易签名和验证操作;记账节点接收合约调用者发起的合约调用交易后对该调用交易进行验证,以确保与该合约调用交易相关的信息的合法性和有效性;同时,合约管理服务器从合约队列中调取出与上述调用交易相对应的合约并执行合约的调用交易,而后根据生成的合约执行结果创建合约返回结果交易并签名,防止合约返回结果交易在后续的传输过程中被非法篡改,提高了合约返回结果交易的安全性;记账节点在接收到合约管理服务器返回的合约返回结果交易后进行签名验证,进一步确定合约返回结果交易的合法性,也保证了后续操作的安全性,并将验证通过的合约返回结果交易放入待打包队列,同时更新该区块的智能合约信息并广播区块,触发执行记账操作以记录整个合约调用交易的过程。在整个记账过程中,对合约调用交易的调用和结果返回过程进行多次签名签证,提高了交易数据传输的安全性,同时也降低了这些数据被篡改的风险,而且该方法将记账操作从智能合约中剥离出来,统一由UTXO模型来进行维护,利用UTXO模型的余额原子性操作来提升整个合约交易过程的安全性,而且也能让智能合约更专注于业务数据的处理,提升了合约调用交易的效率。附图说明图1是本专利技术实施例一提供的智能合约记账方法的实现流程图;图2是本专利技术实施例二提供的智能合约记账方法的实现流程图;图3是采用本专利技术方法进行记账操作的合约交易业务流程简图;图4是本专利技术实施例提供的智能合约记账装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。在本专利技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本专利技术。在本专利技术实施例和所附权利要求书中所使用的单数形式的“一种”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本专利技术实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本专利技术实施例范围的情况下,第一合约执行结果也可以被称为第二合约执行结果,不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。类似地,第二合约执行结果也可以被称为第一合约执行结果。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。为了进一步阐述本专利技术为实现预定专利技术目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本专利技术的具体实施方式、结构、特征及其功效,详细说明如下。本专利技术实施例提供的智能合约记账方法,用户记账节点通过构建智能合约调用交易,并通过定义智能合约调用交易的脚本以支持合约的调用交易签名和验证操作;记账节点接收合约调用者发起的合约调用交易后对该调用交易进行验证,以确保与该交易请求相关的信息的合法性和有效性;同时,合约管理服务器从合约队列中调取出与上述调用交易相对应的合约并执行合约的调用交易,而后根据生成的合约执行结果创建合约返回结果交易并签名,防止合约返回结果交易在后续的传输过程中被非法篡改,提高了合约返回结果交易的安全性;记账节点在接收到合约管理服务器返回的合约返回结果交易后进行签名验证,进一步确定合约返回结果交易的合法性,也保证了后续操作的安全性,并将验证通过的合约返回结果交易放入待打包队列,同时更新该区块的智能合约信息并广播区块,触发执行记账操作以记录整个合约调用交易的过程。图1示出了本专利技术实施例一提供的智能合约记账方法的流程,详述如下:本专利技术实施例提供的智能合约记账方法应用于区块链中,该区块链由多个相互连接的节点组成。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。区块链是比特币的底层技术,像一个数据库账本,记载所有的交易记录。在步骤S101中,用户记账节点构建智能合约调用交易,并签名后全网广播。在本专利技术实施例中,用户记账节点采用类似于比特币的UTXO(未消费的交易输出)账户模型构建智能合约调用交易。其中,该交易模型中包含有UTXO输入和输出单元。UTXO输入单元中指定UTXO的来由,并且附带有使用该账户余额的个人签名脚本,以限制该账户余额的使用权限。UTXO输出单元中附带有用于定义校验个人签名的脚本,以定义对应的账户余额的交易输出的使用权限。脚本是形成交易的基础,具有重要作用。一个脚本本本文档来自技高网...

【技术保护点】
1.一种智能合约记账方法,其特征在于,应用于区块链中,所述区块链由多个相互连接的节点组成,所述方法包括:用户记账节点构建智能合约调用交易,并签名后全网广播;所述用户记账节点接收合约调用者发起的合约调用交易后,对所述合约调用交易进行验证,若验证通过,则将所述合约调用交易存入合约队列中;同时,合约管理服务器从所述合约队列中调取出与所述合约调用交易对应的合约并执行合约的调用交易,生成合约执行结果,并根据所述合约执行结果创建合约返回结果交易并签名,并广播所述合约返回结果交易;所述用户记账节点接收到所述合约返回结果交易后,对所述合约返回结果交易进行交易签名验证,若验证通过后,则将所述合约返回结果交易存入待打包队列中,同时,更新区块的智能合约信息并广播区块,触发执行记账操作。

【技术特征摘要】
1.一种智能合约记账方法,其特征在于,应用于区块链中,所述区块链由多个相互连接的节点组成,所述方法包括:用户记账节点构建智能合约调用交易,并签名后全网广播;所述用户记账节点接收合约调用者发起的合约调用交易后,对所述合约调用交易进行验证,若验证通过,则将所述合约调用交易存入合约队列中;同时,合约管理服务器从所述合约队列中调取出与所述合约调用交易对应的合约并执行合约的调用交易,生成合约执行结果,并根据所述合约执行结果创建合约返回结果交易并签名,并广播所述合约返回结果交易;所述用户记账节点接收到所述合约返回结果交易后,对所述合约返回结果交易进行交易签名验证,若验证通过后,则将所述合约返回结果交易存入待打包队列中,同时,更新区块的智能合约信息并广播区块,触发执行记账操作。2.如权利要求1所述的智能合约记账方法,其特征在于,所述用户记账节点构建智能合约调用交易,包括:基于比特币的交易结构,创建UTXO账户记账交易结构模型,所述记账交易结构模型包括交易输入和输出单元;所述交易输入单元中附带有使用账户余额的个人签名解锁脚本;所述交易输出单元中附带有输出余额的锁定脚本,用于限定只有指定账户可消费与之对应的UTXO单元;所述记账交易结构模型中存储有合约地址、合约调用函数名称和合约输...

【专利技术属性】
技术研发人员:许敏勋程文彬陈飞杨
申请(专利权)人:深圳前海益链网络科技有限公司
类型:发明
国别省市:广东,44

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

1