CN117728961A - 一种区块链中可信时间服务预言机的方法和系统 - Google Patents
一种区块链中可信时间服务预言机的方法和系统 Download PDFInfo
- Publication number
- CN117728961A CN117728961A CN202410173904.8A CN202410173904A CN117728961A CN 117728961 A CN117728961 A CN 117728961A CN 202410173904 A CN202410173904 A CN 202410173904A CN 117728961 A CN117728961 A CN 117728961A
- Authority
- CN
- China
- Prior art keywords
- time
- trusted
- transaction
- blockchain
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012545 processing Methods 0.000 claims abstract description 14
- 238000012795 verification Methods 0.000 claims abstract description 10
- 238000012856 packing Methods 0.000 claims description 53
- 238000004806 packaging method and process Methods 0.000 claims description 10
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 230000001360 synchronised effect Effects 0.000 claims 1
- 230000007246 mechanism Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000007547 defect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种区块链中可信时间服务预言机的方法和系统,属于区块链技术领域。其中,应用客户端发起区块链交易或智能合约调用,通过可信时间服务节点为所述区块链交易添加交易发生的可信时间;可信时间服务节点为应用客户端发起的区块链交易或智能合约调用签发可信时间戳;业务智能合约为应用提供核心业务逻辑处理;可信时间预言机为业务智能合约提供可信时间服务;区块链节点对包括交易时间在内的区块链交易进行有效性验证,并在生成区块的同时向可信时间服务节点申请区块生成的可信时间。本发明能够解决区块链交易时间不可信、区块生成时间不可信以及区块链智能合约如何获取可信时间的问题。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种区块链中可信时间服务预言机的方法和系统。
背景技术
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,以密码学方式保证不可篡改和不可伪造的分布式账本,区块链系统中各个节点通过共识算法达成数据一致性。其中,以以太坊为代表的区块链2.0引入智能合约概念,并为智能合约提供虚拟运行环境,智能合约是存储在区块链上,满足预设条件时可以自动执行、不需要第三方参与即可得到确定结果的程序,智能合约已经在保险、文娱、能源、教育、医疗、知识产权、政务、司法等领域得到广泛应用。为了保证调用智能合约交易在各节点验证时的一致性,智能合约不能通过网络访问包括当前时间在内的真实世界的数据,只能通过预言机 (oracle mechanism) 将真实世界的数据通知给智能合约。以以太坊为例,通过向智能合约地址发送一个交易即可触发智能合约执行及相关操作,每隔一段时间,这些交易以及这些交易所引起的智能合约账户状态和相关外部账户状态的变化,被获得记账权的节点打包到区块,区块以哈希指针的方式被串连成链。
以太坊交易数据结构中包含交易类型(Type)、交易发起方交易计数(Nonce)、向目标账户转账的金额(Value)、交易接收方地址(ReceiveAddress)、为交易付出的燃料价格(GasPrice)、为交易付出的燃料数(Gas)、通过交易调用合约的调用数据(Data)、交易签名结构体(VRS)等交易相关的重要信息。以太坊区块数据结构分为区块头和区块体,区块头包含父区块哈希(ParentHash)、叔父区块哈希(UncleHash)、区块创建者账户地址(Coinbase)、账户状态树根哈希(StateRoot)、交易树根哈希(TxHash)、收据树根哈希(ReceiptHash)、区块难度系数(Difficulty)、目标值(Nonce)、随机值(mixHash)、区块生成时间(Time);区块体包含当前区块的所有交易。
通过对以太坊智能合约运行机制以及区块数据结构、交易数据机构的分析,区块链只存储了交易的类型、参与双方、转账金额、合约调用数据等与交易直接相关的信息,父区块哈希、叔父区块哈希、区块创建者账户地址、账户状态树根哈希、交易树根哈希、收据树根哈希、区块难度系数、目标值、区块生成时间等区块重要信息。存储的交易信息中没有包含交易的发生时间,存储的区块生成时间来自于记账节点的本地时间。
区块链现有机制存在以下几个与实践相关的问题及缺陷:
(1)没有记录交易的真实发生时间,只在区块头中记录了区块生成时间,且区块生成时间来自于获得记账权节点的本地时间,该时间存在被记账节点篡改的可能性,即使记账节点记录了区块生成的真实时间,这个时间并不是交易发生的准确时间,无法对交易发生的先后顺序进行判断。
(2)智能合约没有记录合约调用的真实时间或者准确的真实时间,也不能获取真实世界的准确时间,无法有效控制与时间密切相关的操作,比如智能合约保险中,由于智能合约不能获取真实世界的准确时间,可能出现投保截止时间之后仍然能成功投保的情况。
因此,在区块链中进行可信的时间管理,是区块链以及智能合约应用进一步推广的重要影响因素。
发明内容
本发明提供一种区块链中可信时间服务预言机的方法和系统,旨在解决区块链交易时间不可信、区块生成时间不可信以及区块链智能合约如何获取可信时间的问题。
本发明提供一种区块链中可信时间服务预言机的方法和系统,旨在解决区块链交易时间不可信、区块生成时间不可信以及区块链智能合约如何获取可信时间的问题。
第一方面,本发明实施例提供的一种区块链中可信时间服务预言机的系统,包括位于客户端侧的应用客户端和服务端侧的区块链内和区块链外,所述区块链内包括业务智能合约、可信时间预言机和区块链节点,所述区块链外包括可信时间服务节点和授时中心;
所述应用客户端,用于发起区块链交易或智能合约调用,并通过所述可信时间服务节点为所述区块链交易添加交易发生的可信时间;
所述可信时间服务节点,用于为所述应用客户端发起的区块链交易或智能合约调用签发可信时间戳,并周期性向所述可信时间预言机发送可信当前时间;
所述授时中心,用于为所述可信时间服务节点提供标准时间;
所述业务智能合约,用于为应用提供核心业务逻辑处理;
所述可信时间预言机,用于为所述业务智能合约提供可信时间服务,所述可信时间预言机记录有可信时间服务网络的地址、当前时间、可信当前时间、可信上一时间以及可信当前时间与可信上一时间的时间间隔;
所述区块链节点,用于对包括交易时间在内的区块链交易进行有效性验证,并在生成区块的同时向所述可信时间服务节点申请区块生成的可信时间。
作为第一方面的一个具体实施方式,所述可信时间服务节点,具体用于,
对当前时间进行签名,生成包含当前时间及签名的可信当前时间;
生成可信时间预言机智能合约调用数据和包括可信时间更新调用数据的信标交易,并计算除交易时间与可信交易时间之外信标交易中第一剩余信息的哈希值;对所述信标交易进行可信时间签名,在所述信标交易中记录交易时间和可信交易时间签名;并向所述区块链节点周期性广播所述信标交易;
所述区块链节点,具体用于,验证所述信标交易的可信交易时间,根据所述信标交易中的可信时间预言机调用数据调用可信时间预言机的更新接口,并记录所述可信时间预言机的更新接口调用的结果;
所述可信时间预言机,具体用于,验证所述可信时间预言机调用数据中来自所述可信时间服务节点的可信当前时间,通过验签后将可信时间预言机的上一时间设置为当前时间,可信上一时间设置为可信当前时间,当前时间设置为来自可信时间服务的当前时间,可信当前时间设置为来自可信时间服务的可信当前时间。
作为第一方面的一个具体实施方式,所述应用客户端,具体用于,根据业务场景生成业务智能合约调用数据,
计算除交易时间及可信交易时间之外的交易第二剩余信息的哈希值,将所述交易第二剩余信息的哈希值作为参数发送给所述可信时间服务节点;
所述可信时间服务节点,具体用于,根据所述交易第二剩余信息的哈希值及当前时间对交易进行可信时间签名,并返回交易时间及可信交易时间签名给所述应用客户端;
所述应用客户端,还用于,设置交易中的交易时间为来自可信时间服务的交易时间,设置可信交易时间为来自可信时间服务的可信交易时间签名,并向区块链节点广播智能合约交易;
所述区块链节点,还用于,验证业务智能合约交易的可信交易时间,根据业务智能合约交易中的调用数据调用业务智能合约的接口;
所述业务智能合约,还用于,调用可信时间预言机接口获取并返回可信当前时间,以及比较业务智能合约调用交易的交易时间与可信时间预言机返回的可信当前时间,根据比较结果进入不同分支处理业务逻辑;
所述区块链节点,还用于记录业务智能合约的调用结果。
作为第一方面的一个具体实施方式,所述区块链节点,还用于通过设置的可信打包时间记录经过可信时间服务节点签名的区块产生时间以及通过设置的交易时间和可信交易时间记录经过可信时间服务节点签名的交易发生时间。
作为第一方面的一个具体实施方式,所述区块链节点,具体用于,将信标交易作为区块的第一笔交易,其余交易按照可信时间排序,进行新区块的打包,并计算除打包时间与可信打包时间之外区块第三剩余信息的哈希值;将所述区块第三剩余信息的哈希值作为参数发送给可信时间服务节点,以获取区块打包时间及可信打包时间签名;
所述可信时间服务节点,具体用于,对区块进行可信时间签名,返回区块打包时间及可信区块打包时间签名给所述区块链节点;
所述区块链节点,具体用于,在新区块中记录打包时间及可信打包时间。
作为第一方面的一个具体实施方式,所述可信时间服务节点与所述授时中心通过在所述区块链外建立的可信时间网络保持时间同步。
第二方面,本发明实施例提供的一种区块链中可信时间服务预言机的方法,应用于区块链中可信时间服务预言机的系统,所述系统包括位于客户端侧的应用客户端和服务端侧的区块链内和区块链外,所述区块链内包括业务智能合约、可信时间预言机和区块链节点,所述区块链外包括可信时间服务节点和授时中心;
所述方法包括以下步骤:
所述应用客户端发起区块链交易或智能合约调用,并通过所述可信时间服务节点为所述区块链交易添加交易发生的可信时间;
所述可信时间服务节点为所述应用客户端发起的区块链交易或智能合约调用签发可信时间戳,并周期性向所述可信时间预言机发送可信当前时间;
所述授时中心为所述可信时间服务节点提供标准时间;
所述业务智能合约为应用提供核心业务逻辑处理;
所述可信时间预言机为所述业务智能合约提供可信时间服务,所述可信时间预言机记录有可信时间服务网络的地址、当前时间、可信当前时间、可信上一时间以及可信当前时间与可信上一时间的时间间隔;
所述区块链节点对包括交易时间在内的区块链交易进行有效性验证,并在生成区块的同时向所述可信时间服务节点申请区块生成的可信时间。
作为第二方面的一个具体实施方式,所述可信时间服务节点对当前时间进行签名,生成包含当前时间及签名的可信当前时间;
生成可信时间预言机智能合约调用数据和包括可信时间更新调用数据的信标交易,并计算除交易时间与可信交易时间之外信标交易中第一剩余信息的哈希值;对所述信标交易进行可信时间签名,在所述信标交易中记录交易时间和可信交易时间签名;并向所述区块链节点周期性广播所述信标交易;
所述区块链节点验证所述信标交易的可信交易时间,根据所述信标交易中的可信时间预言机调用数据调用可信时间预言机的更新接口,并记录所述可信时间预言机的更新接口调用的结果;
所述可信时间预言机验证所述可信时间预言机调用数据中来自所述可信时间服务节点的可信当前时间,通过验签后将可信时间预言机的上一时间设置为当前时间,可信上一时间设置为可信当前时间,当前时间设置为来自可信时间服务的当前时间,可信当前时间设置为来自可信时间服务的可信当前时间。
作为第二方面的一个具体实施方式,所述应用客户端根据业务场景生成业务智能合约调用数据,计算除交易时间及可信交易时间之外的交易第二剩余信息的哈希值,将所述交易第二剩余信息的哈希值作为参数发送给所述可信时间服务节点;
所述可信时间服务节点根据所述交易第二剩余信息的哈希值及当前时间对交易进行可信时间签名,并返回交易时间及可信交易时间签名给所述应用客户端;
所述应用客户端设置交易中的交易时间为来自可信时间服务的交易时间,设置可信交易时间为来自可信时间服务的可信交易时间签名,并向区块链节点广播智能合约交易;
所述区块链节点验证业务智能合约交易的可信交易时间,根据业务智能合约交易中的调用数据调用业务智能合约的接口;
所述业务智能合约调用可信时间预言机接口获取并返回可信当前时间,以及比较业务智能合约调用交易的交易时间与可信时间预言机返回的可信当前时间,根据比较结果进入不同分支处理业务逻辑;
所述区块链节点记录业务智能合约的调用结果。
作为第二方面的一个具体实施方式,所述方法还包括:
所述区块链节点还通过设置的可信打包时间记录经过可信时间服务节点签名的区块产生时间以及通过设置的交易时间和可信交易时间记录经过可信时间服务节点签名的交易发生时间;
所述方法具体包括:
所述区块链节点将信标交易作为区块的第一笔交易,其余交易按照可信时间排序,进行新区块的打包,并计算除打包时间与可信打包时间之外区块第三剩余信息的哈希值;将所述区块第三剩余信息的哈希值作为参数发送给可信时间服务节点,以获取区块打包时间及可信打包时间签名;
所述可信时间服务节点对区块进行可信时间签名,返回区块打包时间及可信区块打包时间签名给所述区块链节点;
所述区块链节点在新区块中记录打包时间及可信打包时间。
本发明实施例提供的技术方案具备以下有益效果:
本发明实施例首先通过区块链外增加的可信时间服务节点为区块链交易添加交易发生的可信时间,并为应用客户端发起的区块链交易或智能合约调用签发可信时间戳,周期性向可信时间预言机发送可信当前时间;然后通过可信时间预言机为业务智能合约提供可信时间服务,该可信时间预言机记录有可信时间服务网络的地址、当前时间、可信当前时间、可信上一时间以及可信当前时间与可信上一时间的时间间隔;以及通过区块链节点对包括交易时间在内的区块链交易进行有效性验证,并在生成区块的同时向可信时间服务节点申请区块生成的可信时间。如此,使区块链交易具有交易可信时间、业务智能合约具有状态改变可信时间,进一步使区块链及智能合约能根据交易时间戳和状态改变时间戳对交易的有效性进行判断,更好的支持对时间敏感的区块链及智能合约应用的运行,避免了因为没有记录交易时间或者准确记录交易时间带来区块链共识机制缺陷,从而解决区块链交易时间不可信、区块生成时间不可信以及区块链智能合约如何获取可信时间的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本发明实施例提供的区块链中可信时间服务预言机的系统组成框图。
图2是本发明实施例提供的区块链中可信时间服务预言机的方法流程示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和装置的例子。
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的实施例作进一步详细描述。
实施例1
如图1所示,本发明实施例提供的一种区块链中可信时间服务预言机的系统,可以分为客户端侧和服务端侧。其中,所述客户端侧设置有应用客户端,所述服务端侧分为区块链内和区块链外。所述区块链内包括业务智能合约、可信时间预言机和区块链节点,所述区块链外包括可信时间服务节点和授时中心。
本实施例中,所述应用客户端用于发起区块链交易或智能合约调用。其中,所述应用客户端通过所述可信时间服务节点为所述区块链交易添加交易发生的可信时间。
具体地,所述可信时间服务节点用于为所述应用客户端发起的区块链交易或智能合约调用签发可信时间戳,并周期性向所述可信时间预言机发送可信当前时间。
实施时,所述授时中心用于为所述可信时间服务节点提供标准时间。所述业务智能合约用于为应用提供核心业务逻辑处理。
本实施例中,所述可信时间预言机用于为所述业务智能合约提供可信时间服务。其中,所述可信时间预言机记录有可信时间服务网络的地址(Certificated Time ServiceAddress)、当前时间(Current Time)、可信当前时间(Certificated Current Time)、可信上一时间(Certificated Previous Time)以及可信当前时间与可信上一时间的时间间隔。
优选地,可信当前时间与可信上一时间的时间间隔固定为区块产生的间隔时间。所述可信时间服务节点与所述授时中心通过在所述区块链外建立的可信时间网络保持时间同步。
所述区块链节点用于对包括交易时间在内的区块链交易进行有效性验证。并在生成区块的同时向所述可信时间服务节点申请区块生成的可信时间。
通过采用以上方法,使得区块链交易具有交易可信时间、业务智能合约具有状态改变可信时间,进一步使区块链及智能合约能根据交易时间戳和状态改变时间戳对交易的有效性进行判断,更好的支持对时间敏感的区块链及智能合约应用的运行,避免了因为没有记录交易时间或者准确记录交易时间带来区块链共识机制缺陷,从而解决区块链交易时间不可信、区块生成时间不可信以及区块链智能合约如何获取可信时间的问题。
在一个具体的实施方式中,所述可信时间服务节点用于对当前时间进行签名,生成包含当前时间及签名的可信当前时间;生成可信时间预言机智能合约调用数据和包括可信时间更新调用数据的信标交易,并计算除交易时间与可信交易时间之外信标交易中第一剩余信息的哈希值;对所述信标交易进行可信时间签名,在所述信标交易中记录交易时间和可信交易时间签名;并向所述区块链节点周期性广播所述信标交易。
其中,信标交易也是交易的一种,其数据结构与原交易数据结构基本一致,信标交易新增了交易时间与可信交易时间两个新的字段。所述第一剩余信息是指原交易数据结构中的所有字段。
进一步地,所述区块链节点具体用于验证所述信标交易的可信交易时间,根据所述信标交易中的可信时间预言机调用数据调用可信时间预言机的更新接口,并记录所述可信时间预言机的更新接口调用的结果。
以及,所述可信时间预言机具体用于验证所述可信时间预言机调用数据中来自所述可信时间服务节点的可信当前时间,通过验签后将可信时间预言机的上一时间设置为当前时间,可信上一时间设置为可信当前时间,当前时间设置为来自可信时间服务的当前时间,可信当前时间设置为来自可信时间服务的可信当前时间。
在一个具体的实施方式中,所述应用客户端具体用于根据业务场景生成业务智能合约调用数据,计算除交易时间及可信交易时间之外的交易第二剩余信息的哈希值,将所述交易第二剩余信息的哈希值作为参数发送给所述可信时间服务节点。其中,本发明实施例在原交易数据结构中新增了交易时间与可信交易时间两个新的字段。所述第二剩余信息是指原交易数据结构中的所有字段。
进一步地,所述可信时间服务节点具体用于根据所述交易第二剩余信息的哈希值及当前时间对交易进行可信时间签名,并返回交易时间及可信交易时间签名给所述应用客户端。
然后,所述应用客户端还用于设置交易中的交易时间为来自可信时间服务的交易时间,设置可信交易时间为来自可信时间服务的可信交易时间签名,并向区块链节点广播智能合约交易。
所述区块链节点还用于验证业务智能合约交易的可信交易时间,根据业务智能合约交易中的调用数据调用业务智能合约的接口。
实施时,所述业务智能合约还用于调用可信时间预言机接口获取并返回可信当前时间,以及比较业务智能合约调用交易的交易时间与可信时间预言机返回的可信当前时间,根据比较结果进入不同分支处理业务逻辑。
例如,在航空延误险业务中,如果约定投保截止时间为航班起飞时间前24小时,当投保时间晚于约定投保截止时间时,进入航空延误险智能合约投保失败的分支;当投保时间早于约定投保截止时间时,进入航空延误险智能合约正常投保的分支。
所述区块链节点,还用于记录业务智能合约的调用结果。
进一步地,所述区块链节点还用于通过设置的可信打包时间记录经过可信时间服务节点签名的区块产生时间以及通过设置的交易时间和可信交易时间记录经过可信时间服务节点签名的交易发生时间。
具体地,所述区块链节点用于将信标交易作为区块的第一笔交易,其余交易按照可信时间排序,进行新区块的打包,并计算除打包时间与可信打包时间之外区块第三剩余信息的哈希值;将所述区块第三剩余信息的哈希值作为参数发送给可信时间服务节点,以获取区块打包时间及可信打包时间签名。
需要说明的是,每一个区块都会包含若干区块链转账交易以及智能合约调用交易。本发明实施例在区块打包时,新增了一个信标交易,其余交易就是普通的转账交易和智能合约调用交易。
另外,本发明实施例在原区块数据结构中新增了区块打包时间与可信打包时间两个新的字段。所述第三剩余信息是指原区块数据结构中的所有字段。
所述可信时间服务节点用于对区块进行可信时间签名,返回区块打包时间及可信区块打包时间签名给所述区块链节点。
所述区块链节点用于在新区块中记录打包时间及可信打包时间。
实施例2
本发明实施例提供的一种区块链中可信时间服务预言机的方法,应用于上述实施例中的区块链中可信时间服务预言机的系统。所述方法主要包括以下步骤:
步骤S100:所述应用客户端发起区块链交易或智能合约调用,并通过所述可信时间服务节点为所述区块链交易添加交易发生的可信时间。
步骤S200:所述可信时间服务节点为所述应用客户端发起的区块链交易或智能合约调用签发可信时间戳,并周期性向所述可信时间预言机发送可信当前时间。
步骤S300:所述授时中心为所述可信时间服务节点提供标准时间。
步骤S400:所述业务智能合约为应用提供核心业务逻辑处理。
步骤S500:所述可信时间预言机为所述业务智能合约提供可信时间服务,所述可信时间预言机记录有可信时间服务网络的地址、当前时间、可信当前时间、可信上一时间以及可信当前时间与可信上一时间的时间间隔。
步骤S600:所述区块链节点对包括交易时间在内的区块链交易进行有效性验证,并在生成区块的同时向所述可信时间服务节点申请区块生成的可信时间。
在一个具体的实施方式中,所述可信时间服务节点对当前时间进行签名,生成包含当前时间及签名的可信当前时间;
生成可信时间预言机智能合约调用数据和包括可信时间更新调用数据的信标交易,并计算除交易时间与可信交易时间之外信标交易中第一剩余信息的哈希值;对所述信标交易进行可信时间签名,在所述信标交易中记录交易时间和可信交易时间签名;并向所述区块链节点周期性广播所述信标交易;
所述区块链节点验证所述信标交易的可信交易时间,根据所述信标交易中的可信时间预言机调用数据调用可信时间预言机的更新接口,并记录所述可信时间预言机的更新接口调用的结果;
所述可信时间预言机验证所述可信时间预言机调用数据中来自所述可信时间服务节点的可信当前时间,通过验签后将可信时间预言机的上一时间设置为当前时间,可信上一时间设置为可信当前时间,当前时间设置为来自可信时间服务的当前时间,可信当前时间设置为来自可信时间服务的可信当前时间。
在另一个具体的实施方式中,所述应用客户端根据业务场景生成业务智能合约调用数据,计算除交易时间及可信交易时间之外的交易第二剩余信息的哈希值,将所述交易第二剩余信息的哈希值作为参数发送给所述可信时间服务节点;
所述可信时间服务节点根据所述交易第二剩余信息的哈希值及当前时间对交易进行可信时间签名,并返回交易时间及可信交易时间签名给所述应用客户端;
所述应用客户端设置交易中的交易时间为来自可信时间服务的交易时间,设置可信交易时间为来自可信时间服务的可信交易时间签名,并向区块链节点广播智能合约交易;
所述区块链节点验证业务智能合约交易的可信交易时间,根据业务智能合约交易中的调用数据调用业务智能合约的接口;
所述业务智能合约调用可信时间预言机接口获取并返回可信当前时间,以及比较业务智能合约调用交易的交易时间与可信时间预言机返回的可信当前时间,根据比较结果进入不同分支处理业务逻辑;
所述区块链节点记录业务智能合约的调用结果。
进一步地,所述方法还包括:
所述区块链节点还通过设置的可信打包时间记录经过可信时间服务节点签名的区块产生时间以及通过设置的交易时间和可信交易时间记录经过可信时间服务节点签名的交易发生时间;
所述方法具体包括:
所述区块链节点将信标交易作为区块的第一笔交易,其余交易按照可信时间排序,进行新区块的打包,并计算除打包时间与可信打包时间之外区块第三剩余信息的哈希值;将所述区块第三剩余信息的哈希值作为参数发送给可信时间服务节点,以获取区块打包时间及可信打包时间签名;
所述可信时间服务节点对区块进行可信时间签名,返回区块打包时间及可信区块打包时间签名给所述区块链节点;
所述区块链节点在新区块中记录打包时间及可信打包时间。
所述方法还包括:
所述区块链节点还通过设置的可信打包时间记录经过可信时间服务节点签名的区块产生时间以及通过设置的交易时间和可信交易时间记录经过可信时间服务节点签名的交易发生时间;
所述方法具体包括:
所述区块链节点将信标交易作为区块的第一笔交易,其余交易按照可信时间排序,进行新区块的打包,并计算除打包时间与可信打包时间之外区块第三剩余信息的哈希值;将所述区块第三剩余信息的哈希值作为参数发送给可信时间服务节点,以获取区块打包时间及可信打包时间签名;
所述可信时间服务节点对区块进行可信时间签名,返回区块打包时间及可信区块打包时间签名给所述区块链节点;
所述区块链节点在新区块中记录打包时间及可信打包时间。
关于上述实施例中的装置,其中各个模块执行操作的具体步骤已经在有关该方法的实施例中进行了详细描述,此处不再详细阐述说明。上述区块链预言机数据源评估装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
综上所述,本发明实施例首先通过区块链外增加的可信时间服务节点为区块链交易添加交易发生的可信时间,并为应用客户端发起的区块链交易或智能合约调用签发可信时间戳,周期性向可信时间预言机发送可信当前时间;然后通过可信时间预言机为业务智能合约提供可信时间服务,该可信时间预言机记录有可信时间服务网络的地址、当前时间、可信当前时间、可信上一时间以及可信当前时间与可信上一时间的时间间隔;以及通过区块链节点对包括交易时间在内的区块链交易进行有效性验证,并在生成区块的同时向可信时间服务节点申请区块生成的可信时间。如此,使区块链交易具有交易可信时间、业务智能合约具有状态改变可信时间,进一步使区块链及智能合约能根据交易时间戳和状态改变时间戳对交易的有效性进行判断,更好的支持对时间敏感的区块链及智能合约应用的运行,避免了因为没有记录交易时间或者准确记录交易时间带来区块链共识机制缺陷,从而解决区块链交易时间不可信、区块生成时间不可信以及区块链智能合约如何获取可信时间的问题。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种区块链中可信时间服务预言机的系统,其特征在于,包括位于客户端侧的应用客户端和服务端侧的区块链内和区块链外,所述区块链内包括业务智能合约、可信时间预言机和区块链节点,所述区块链外包括可信时间服务节点和授时中心;
所述应用客户端,用于发起区块链交易或智能合约调用,并通过所述可信时间服务节点为所述区块链交易添加交易发生的可信时间;
所述可信时间服务节点,用于为所述应用客户端发起的区块链交易或智能合约调用签发可信时间戳,并周期性向所述可信时间预言机发送可信当前时间;
所述授时中心,用于为所述可信时间服务节点提供标准时间;
所述业务智能合约,用于为应用提供核心业务逻辑处理;
所述可信时间预言机,用于为所述业务智能合约提供可信时间服务,所述可信时间预言机记录有可信时间服务网络的地址、当前时间、可信当前时间、可信上一时间以及可信当前时间与可信上一时间的时间间隔;
所述区块链节点,用于对包括交易时间在内的区块链交易进行有效性验证,并在生成区块的同时向所述可信时间服务节点申请区块生成的可信时间。
2.根据权利要求1所述的区块链中可信时间服务预言机的系统,其特征在于,
所述可信时间服务节点,具体用于,
对当前时间进行签名,生成包含当前时间及签名的可信当前时间;
生成可信时间预言机智能合约调用数据和包括可信时间更新调用数据的信标交易,并计算除交易时间与可信交易时间之外信标交易中第一剩余信息的哈希值;对所述信标交易进行可信时间签名,在所述信标交易中记录交易时间和可信交易时间签名;并向所述区块链节点周期性广播所述信标交易;
所述区块链节点,具体用于,验证所述信标交易的可信交易时间,根据所述信标交易中的可信时间预言机调用数据调用可信时间预言机的更新接口,并记录所述可信时间预言机的更新接口调用的结果;
所述可信时间预言机,具体用于,验证所述可信时间预言机调用数据中来自所述可信时间服务节点的可信当前时间,通过验签后将可信时间预言机的上一时间设置为当前时间,可信上一时间设置为可信当前时间,当前时间设置为来自可信时间服务的当前时间,可信当前时间设置为来自可信时间服务的可信当前时间。
3.根据权利要求1所述的区块链中可信时间服务预言机的系统,其特征在于,
所述应用客户端,具体用于,根据业务场景生成业务智能合约调用数据,
计算除交易时间及可信交易时间之外的交易第二剩余信息的哈希值,将所述交易第二剩余信息的哈希值作为参数发送给所述可信时间服务节点;
所述可信时间服务节点,具体用于,根据所述交易第二剩余信息的哈希值及当前时间对交易进行可信时间签名,并返回交易时间及可信交易时间签名给所述应用客户端;
所述应用客户端,还用于,设置交易中的交易时间为来自可信时间服务的交易时间,设置可信交易时间为来自可信时间服务的可信交易时间签名,并向区块链节点广播智能合约交易;
所述区块链节点,还用于,验证业务智能合约交易的可信交易时间,根据业务智能合约交易中的调用数据调用业务智能合约的接口;
所述业务智能合约,还用于,调用可信时间预言机接口获取并返回可信当前时间,以及比较业务智能合约调用交易的交易时间与可信时间预言机返回的可信当前时间,根据比较结果进入不同分支处理业务逻辑;
所述区块链节点,还用于记录业务智能合约的调用结果。
4.根据权利要求1所述的区块链中可信时间服务预言机的系统,其特征在于,
所述区块链节点,还用于通过设置的可信打包时间记录经过可信时间服务节点签名的区块产生时间以及通过设置的交易时间和可信交易时间记录经过可信时间服务节点签名的交易发生时间。
5.根据权利要求4所述的区块链中可信时间服务预言机的系统,其特征在于,
所述区块链节点,具体用于,将信标交易作为区块的第一笔交易,其余交易按照可信时间排序,进行新区块的打包,并计算除打包时间与可信打包时间之外区块第三剩余信息的哈希值;将所述区块第三剩余信息的哈希值作为参数发送给可信时间服务节点,以获取区块打包时间及可信打包时间签名;
所述可信时间服务节点,具体用于,对区块进行可信时间签名,返回区块打包时间及可信区块打包时间签名给所述区块链节点;
所述区块链节点,具体用于,在新区块中记录打包时间及可信打包时间。
6.根据权利要求1所述的区块链中可信时间服务预言机的系统,其特征在于,所述可信时间服务节点与所述授时中心通过在所述区块链外建立的可信时间网络保持时间同步。
7.一种区块链中可信时间服务预言机的方法,应用于如权利要求1所述的区块链中可信时间服务预言机的系统,其特征在于,所述系统包括位于客户端侧的应用客户端和服务端侧的区块链内和区块链外,所述区块链内包括业务智能合约、可信时间预言机和区块链节点,所述区块链外包括可信时间服务节点和授时中心;
所述方法包括以下步骤:
所述应用客户端发起区块链交易或智能合约调用,并通过所述可信时间服务节点为所述区块链交易添加交易发生的可信时间;
所述可信时间服务节点为所述应用客户端发起的区块链交易或智能合约调用签发可信时间戳,并周期性向所述可信时间预言机发送可信当前时间;
所述授时中心为所述可信时间服务节点提供标准时间;
所述业务智能合约为应用提供核心业务逻辑处理;
所述可信时间预言机为所述业务智能合约提供可信时间服务,所述可信时间预言机记录有可信时间服务网络的地址、当前时间、可信当前时间、可信上一时间以及可信当前时间与可信上一时间的时间间隔;
所述区块链节点对包括交易时间在内的区块链交易进行有效性验证,并在生成区块的同时向所述可信时间服务节点申请区块生成的可信时间。
8.根据权利要求7所述的区块链中可信时间服务预言机的方法,其特征在于,
所述可信时间服务节点对当前时间进行签名,生成包含当前时间及签名的可信当前时间;
生成可信时间预言机智能合约调用数据和包括可信时间更新调用数据的信标交易,并计算除交易时间与可信交易时间之外信标交易中第一剩余信息的哈希值;对所述信标交易进行可信时间签名,在所述信标交易中记录交易时间和可信交易时间签名;并向所述区块链节点周期性广播所述信标交易;
所述区块链节点验证所述信标交易的可信交易时间,根据所述信标交易中的可信时间预言机调用数据调用可信时间预言机的更新接口,并记录所述可信时间预言机的更新接口调用的结果;
所述可信时间预言机验证所述可信时间预言机调用数据中来自所述可信时间服务节点的可信当前时间,通过验签后将可信时间预言机的上一时间设置为当前时间,可信上一时间设置为可信当前时间,当前时间设置为来自可信时间服务的当前时间,可信当前时间设置为来自可信时间服务的可信当前时间。
9.根据权利要求7所述的区块链中可信时间服务预言机的方法,其特征在于,
所述应用客户端根据业务场景生成业务智能合约调用数据,计算除交易时间及可信交易时间之外的交易第二剩余信息的哈希值,将所述交易第二剩余信息的哈希值作为参数发送给所述可信时间服务节点;
所述可信时间服务节点根据所述交易第二剩余信息的哈希值及当前时间对交易进行可信时间签名,并返回交易时间及可信交易时间签名给所述应用客户端;
所述应用客户端设置交易中的交易时间为来自可信时间服务的交易时间,设置可信交易时间为来自可信时间服务的可信交易时间签名,并向区块链节点广播智能合约交易;
所述区块链节点验证业务智能合约交易的可信交易时间,根据业务智能合约交易中的调用数据调用业务智能合约的接口;
所述业务智能合约调用可信时间预言机接口获取并返回可信当前时间,以及比较业务智能合约调用交易的交易时间与可信时间预言机返回的可信当前时间,根据比较结果进入不同分支处理业务逻辑;
所述区块链节点记录业务智能合约的调用结果。
10.根据权利要求7所述的区块链中可信时间服务预言机的方法,其特征在于,所述方法还包括:
所述区块链节点还通过设置的可信打包时间记录经过可信时间服务节点签名的区块产生时间以及通过设置的交易时间和可信交易时间记录经过可信时间服务节点签名的交易发生时间;
所述方法具体包括:
所述区块链节点将信标交易作为区块的第一笔交易,其余交易按照可信时间排序,进行新区块的打包,并计算除打包时间与可信打包时间之外区块第三剩余信息的哈希值;将所述区块第三剩余信息的哈希值作为参数发送给可信时间服务节点,以获取区块打包时间及可信打包时间签名;
所述可信时间服务节点对区块进行可信时间签名,返回区块打包时间及可信区块打包时间签名给所述区块链节点;
所述区块链节点在新区块中记录打包时间及可信打包时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410173904.8A CN117728961B (zh) | 2024-02-07 | 2024-02-07 | 一种区块链中可信时间服务预言机的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410173904.8A CN117728961B (zh) | 2024-02-07 | 2024-02-07 | 一种区块链中可信时间服务预言机的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117728961A true CN117728961A (zh) | 2024-03-19 |
CN117728961B CN117728961B (zh) | 2024-05-28 |
Family
ID=90207344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410173904.8A Active CN117728961B (zh) | 2024-02-07 | 2024-02-07 | 一种区块链中可信时间服务预言机的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117728961B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200228352A1 (en) * | 2019-09-02 | 2020-07-16 | Alibaba Group Holding Limited | Managing blockchain-based centralized ledger systems |
WO2020207090A1 (zh) * | 2019-04-12 | 2020-10-15 | 创新先进技术有限公司 | 基于区块链的数据处理系统、方法、计算设备及存储介质 |
CN111953648A (zh) * | 2020-06-22 | 2020-11-17 | 北京欧链科技有限公司 | 基于区块链预言机的数据处理方法、装置及电子设备 |
CN112837154A (zh) * | 2021-02-10 | 2021-05-25 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法和装置 |
CN112866282A (zh) * | 2021-02-10 | 2021-05-28 | 中国人民银行数字货币研究所 | 区块链中时间信息验证方法和装置 |
CN113221166A (zh) * | 2021-05-11 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 一种获取区块链数据的方法、装置、电子设备及存储介质 |
CN113302610A (zh) * | 2020-11-25 | 2021-08-24 | 支付宝(杭州)信息技术有限公司 | 基于区块链的可信平台 |
WO2021184961A1 (zh) * | 2020-03-18 | 2021-09-23 | 支付宝(杭州)信息技术有限公司 | 部署合约的方法及装置 |
WO2022171188A1 (zh) * | 2021-02-10 | 2022-08-18 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法、装置和系统 |
CN115983988A (zh) * | 2022-10-27 | 2023-04-18 | 兴业银行股份有限公司 | 基于区块链的核证自愿减排量确权及交易流转方法和系统 |
-
2024
- 2024-02-07 CN CN202410173904.8A patent/CN117728961B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020207090A1 (zh) * | 2019-04-12 | 2020-10-15 | 创新先进技术有限公司 | 基于区块链的数据处理系统、方法、计算设备及存储介质 |
US20200228352A1 (en) * | 2019-09-02 | 2020-07-16 | Alibaba Group Holding Limited | Managing blockchain-based centralized ledger systems |
WO2021184961A1 (zh) * | 2020-03-18 | 2021-09-23 | 支付宝(杭州)信息技术有限公司 | 部署合约的方法及装置 |
CN111953648A (zh) * | 2020-06-22 | 2020-11-17 | 北京欧链科技有限公司 | 基于区块链预言机的数据处理方法、装置及电子设备 |
CN113302610A (zh) * | 2020-11-25 | 2021-08-24 | 支付宝(杭州)信息技术有限公司 | 基于区块链的可信平台 |
CN112837154A (zh) * | 2021-02-10 | 2021-05-25 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法和装置 |
CN112866282A (zh) * | 2021-02-10 | 2021-05-28 | 中国人民银行数字货币研究所 | 区块链中时间信息验证方法和装置 |
WO2022171189A1 (zh) * | 2021-02-10 | 2022-08-18 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法和装置 |
WO2022171188A1 (zh) * | 2021-02-10 | 2022-08-18 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法、装置和系统 |
CN113221166A (zh) * | 2021-05-11 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 一种获取区块链数据的方法、装置、电子设备及存储介质 |
CN115983988A (zh) * | 2022-10-27 | 2023-04-18 | 兴业银行股份有限公司 | 基于区块链的核证自愿减排量确权及交易流转方法和系统 |
Non-Patent Citations (3)
Title |
---|
CHUNZI SHEN; LI ZHU; GAOFENG HUA; LINYAN ZHOU; LIN ZHANG: "A Blockchain Based Federal Learning Method for Urban Rail Passenger Flow Prediction", IEEE, 24 December 2020 (2020-12-24) * |
QINGXIAO ZHEN, LINGFENG WANG, JIN HE AND TAIYONG LI: "KNN-Based Consensus Algorithm for Better Service Level Agreement in Blockchain as a Service(BaaS) Systems", ELECTRONICS, 16 March 2023 (2023-03-16) * |
汪菲;沈苏彬;: "一种基于区块链的可信数据共享解决方案", 计算机技术与发展, no. 09, 10 September 2020 (2020-09-10) * |
Also Published As
Publication number | Publication date |
---|---|
CN117728961B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110121727B (zh) | 一种为智能合同提供经证实、可审计和不可变输入的方法和系统 | |
CN112600841B (zh) | 基于区块链的信用记录共享方法及装置、电子设备 | |
WO2020088110A1 (zh) | 一种基于区块链的节点管理方法和装置 | |
TW201943250A (zh) | 跨區塊鏈的認證方法及裝置、電子設備 | |
CN110417502B (zh) | 一种区块链节点时钟共识方法及装置 | |
EP3779760B1 (en) | Blockchain-based data processing method and apparatus, and electronic device | |
CN111309745B (zh) | 虚拟资源处理方法、装置、电子设备及存储介质 | |
CN109978477B (zh) | 基于区块链的智能合约版本控管系统及其方法 | |
CN110163755B (zh) | 基于区块链的数据压缩、查询方法及装置和电子设备 | |
CN107153646B (zh) | 一种数据处理方法和设备 | |
AU2019380381A1 (en) | Smart logistics management using blockchain | |
CN112966311A (zh) | 智能合约校验方法及装置和电子设备 | |
CN112749968B (zh) | 基于区块链的业务数据记录方法及装置 | |
CN113362068B (zh) | 一种轻节点验证区块链状态转移的方法 | |
CN110730074A (zh) | 一种嵌套式可溯源数字孪生体的实现方法及数据结构 | |
CN117728961B (zh) | 一种区块链中可信时间服务预言机的方法和系统 | |
CN112291321B (zh) | 业务处理方法、装置及系统 | |
CN109729074B (zh) | 一种音频数据的加密和对等存储方法及系统 | |
CN113111125A (zh) | 一种基于区块链的业务存证方法 | |
CN108710658B (zh) | 一种数据记录的存储方法及装置 | |
CN110858211B (zh) | 数据存储方法、装置及系统、存储介质 | |
CN107277108B (zh) | 一种区块链的节点处的消息处理方法、装置及系统 | |
CN117010889A (zh) | 数据处理方法、装置及设备、介质、产品 | |
US11887146B2 (en) | Product exploration-based promotion | |
CN116095074A (zh) | 资源分配方法、装置、相关设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |