CN112866282B - 区块链中时间信息验证方法和装置 - Google Patents
区块链中时间信息验证方法和装置 Download PDFInfo
- Publication number
- CN112866282B CN112866282B CN202110185561.3A CN202110185561A CN112866282B CN 112866282 B CN112866282 B CN 112866282B CN 202110185561 A CN202110185561 A CN 202110185561A CN 112866282 B CN112866282 B CN 112866282B
- Authority
- CN
- China
- Prior art keywords
- trusted
- time information
- prediction machine
- time
- machine
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000010365 information processing Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 21
- 238000012423 maintenance Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 15
- 238000012216 screening Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 238000003672 processing method Methods 0.000 description 8
- 239000002184 metal Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了区块链中时间信息验证方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:通过预言机合约接收第一可信预言机发送的当前时间,其中,预言机合约部署于区块链上,且预言机合约连接部署于所述区块链上的定时智能合约,以基于当前时间触发定时智能合约执行;将当前时间记录在预言机合约对应的记录日志,并为记录日志配置对应的查阅权限,查阅权限指示具有查阅权限的设备;通过具有查阅权限的设备查阅记录日志,并根据查阅的结果,验证记录日志中记录的时间信息可信性。该实施方式能够实现对时间信息的可信性进行验证,使区块链上的定时智能合约能够定时准确的执行。
Description
技术领域
本发明涉及区块链领域,尤其涉及一种区块链的时间信息处理方法和装置。
背景技术
区块链可以认为是去中心化、可信的分布式账本。由于区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构,以及在区块链中分布式存储和分布式记录数据,使得区块链具有不可篡改性。因此,将智能合约以数字化方式写入区块链,并通过执行区块链中的智能合约来完成对应交易,已越来越受到各机构的青睐。
对于部署于区块链上的定时智能合约来说,其一般根据链下预言机提供的时间,来判断是否执行。由于链下预言机提供的时间可能存在异常情况,可导致定时智能合约执行异常。因此,对提供给定时智能合约的时间进行处理如验证其可信性等则是目前亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种区块链的时间信息处理方法和装置,能够实现对时间信息的可信性进行验证,以有效地提高时间信息的可信性概率,以使区块链上的定时智能合约能够定时准确的执行。
为实现上述目的,根据本发明实施例的一个方面,提供了一种区块链的时间信息处理方法,包括:
通过预言机合约接收第一可信预言机发送的当前时间,其中,所述预言机合约部署于所述区块链上,且所述预言机合约连接部署于所述区块链上的定时智能合约,以基于所述当前时间触发所述定时智能合约执行;
将所述当前时间记录在所述预言机合约对应的记录日志,并为所述记录日志配置对应的查阅权限,所述查阅权限指示具有查阅权限的设备;
通过所述具有查阅权限的设备查阅所述记录日志,并根据查阅的结果,验证所述记录日志中记录的时间信息可信性。
优选地,
所述具有查阅权限的设备包括:第二可信预言机和/或所述区块链上的可信节点。
优选地,
区块链的时间信息处理方法,进一步包括:
从多个链下预言机中选举第一可信预言机;
为所述第一可信预言机开通时间更新接口,所述第一可信预言机通过所述时间更新接口连接到预言机合约,以使所述预言机合约通过所述时间更新接口接收所述当前时间。
优选地,
当所述具有查阅权限的设备包括所述第二可信预言机时,所述区块链的时间信息处理方法进一步包括:
从多个链下预言机中选举第二可信预言机,并将所述第二可信预言机的特征标识写入所述查阅权限;
通过所述预言机合约为所述第二可信预言机开通日志查阅接口,以使所述第二可信预言机通过所述日志查阅接口查阅所述记录日志。
优选地,
在通过预言机合约接收第一可信预言机发送的当前时间之后,进一步包括:
将所述当前时间提供给所述区块链上预设的多个可信节点,以触发所述多个可信节点对所述当前时间进行投票;
当投票结果指示通过的票数不小于预设的限定阈值时,确定所述当前时间可信,以基于所述当前时间触发所述定时智能合约执行,并执行将所述当前时间记录在所述预言机合约对应的记录日志的步骤;否则,确定所述当前时间不可信,并舍弃所述当前时间。
优选地,区块链的时间信息处理方法,进一步包括:
当连续舍弃所述当前时间的次数达到预设的次数阈值时,将所述第一可信预言机标记为失信,并重新执行从多个预言机中选举第一可信预言机的步骤。
优选地,
验证所述记录日志中记录的时间信息可信性的步骤,包括:
根据查阅的结果,判断所述时间信息是否准确,
如果否,将所述第一可信预言机标记为失信,并重新执行从多个预言机中选举第一可信预言机的步骤。
优选地,
通过所述具有查阅权限的设备查阅所述记录日志的步骤,包括:
将所述记录日志中记录的最后一条时间信息提供给所述可信节点和/或所述第一可信预言机,以使所述可信节点和/或所述第一可信预言机将所述最后一条时间信息与自身设备的显示时间进行对比。
优选地,
判断所述时间信息是否准确的步骤,包括:
当对比的结果指示所述最后一条时间信息中的时间与所述显示时间之间的差值未超过预设的时间差范围时,确定所述记录日志中记录的时间准确。
第二方面,本发明实施例提供一种区块链的时间信息处理装置,包括:交互单元以及维护单元,其中,
所述交互单元,用于通过预言机合约接收第一可信预言机发送的当前时间,其中,所述预言机合约部署于所述区块链上,且所述预言机合约连接部署于所述区块链上的定时智能合约,以基于所述当前时间触发所述定时智能合约执行;
所述维护单元,用于将所述当前时间记录在所述预言机合约对应的记录日志,并为所述记录日志配置对应的查阅权限,所述查阅权限指示具有查阅权限的设备;通过所述具有查阅权限的设备查阅所述记录日志,并根据查阅的结果,验证所述记录日志中记录的时间信息可信性。
第三方面,本发明实施例提供一种区块链的时间信息处理系统,包括:具有查阅权限的设备、预言机以及权利要求10所述的区块链的时间信息处理装置,其中,
所述具有查阅权限的设备,用于查阅所述区块链的时间信息处理装置在记录日志记录的时间信息,并将查阅的结果发送给所述区块链的时间信息处理装置;
所述预言机,用于当作为第一可信预言机时,发送当前时间给预言机合约。
上述发明中的一个实施例具有如下优点或有益效果:对于部署于区块链上的预言机合约连接多个区块链外的预言机以及部署于区块链上的定时智能合约的结构来说,其通过预言机合约接收预言机中的第一可信预言机发送的当前时间,以基于当前时间触发定时智能合约执行,则当前时间的准确性是定时智能合约的正确和准确执行的基础。那么,通过将当前时间记录在预言机合约对应的记录日志,通过具有查阅权限的设备查阅记录日志,并根据查阅的结果,验证记录日志中记录的时间信息可信性,实现了对时间信息验证,以及时纠正时间信息,有效地提高时间信息的可信性概率,以使区块链上的定时智能合约能够定时准确的执行。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的区块链的时间信息处理方法的主要流程的示意图;
图2是根据本发明实施例的区块链中时间传输的主要流程的示意图;
图3是根据本发明一个实施例的当前时间可信性验证的主要流程的示意图;
图4是根据本发明另一实施例的当前时间可信性验证的主要流程的示意图;
图5是根据本发明实施例的区块链的时间信息处理装置的主要单元的示意图;
图6是根据本发明实施例的区块链的时间信息处理系统的主要装置的示意图;
图7是本发明实施例可以应用于其中的示例性系统架构图;
图8是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
智能合约是一套以编程语言定义的承诺或义务,合约参与方可以在上面执行这些承诺或义务的协议,该协议是由具有逻辑先后顺序的处理逻辑构成。
定时智能合约是指具有时间触发函数的、通过时间与定时触发函数结合可定时触发的智能合约。其中,时间触发函数是一种时间判断函数或条件函数,通过将时间信息(比如,当前时间等),输入到时间触发函数中,以判断该时间信息是否满足时间触发函数,如果满足,则触发时间触发函数对应的智能合约或者时间触发函数对应的智能合约中的逻辑执行。
预言机合约是指以编程语言定义的、能够与外部的预言机通信的、可为连接的定时智能合约提供时间信息或触发指令的、独立于预言机,并可部署于区块链上的一种协议。
预言机是指部署于区块链之外、能够与区块链部署的预言机合约进行通信的设备。比如,企业业务服务器、金融机构的业务服务器、终端等。
图1是根据本发明实施例的一种区块链的时间信息处理方法,如图1所示,该区块链的时间信息处理方法可包括如下步骤:
S101:通过预言机合约接收第一可信预言机发送的当前时间,其中,预言机合约部署于区块链上,且预言机合约连接部署于区块链上的定时智能合约,以基于当前时间触发定时智能合约执行;
S102:将当前时间记录在预言机合约对应的记录日志,并为记录日志配置对应的查阅权限,查阅权限指示具有查阅权限的设备;
S103:通过具有查阅权限的设备查阅记录日志,并根据查阅的结果,验证记录日志中记录的时间信息可信性。
其中,通过预言机合约接收第一可信预言机发送的当前时间的具体实施方式可为,第一可信预言机以设定频率或者时间间隔发送自身的当前时间给预言机合约。
其中,预言机合约可连接多个定时智能合约,以方便对预言机合约的管理和维护。
在验证出记录日志中记录的时间信息不可信后,可通过更换第一可信预言机的方式,纠正当前时间。
对于部署于区块链上的预言机合约连接多个区块链外的预言机以及部署于区块链上的定时智能合约的结构来说,其通过预言机合约接收预言机中的第一可信预言机发送的当前时间,以基于当前时间触发定时智能合约执行,则当前时间的准确性是定时智能合约的正确和准确执行的基础。那么,通过将当前时间记录在预言机合约对应的记录日志,通过具有查阅权限的设备查阅记录日志,并根据查阅的结果,验证记录日志中记录的时间信息可信性,实现了对时间信息验证,以及时纠正时间信息,有效地提高时间信息的可信性概率,以使区块链上的定时智能合约能够定时准确的执行。
另外,定时智能合约的执行需依托整条链的信任基础。基于此,本发明实施例提供的方案中,区块链优选为联盟链。
在本发明实施例中,具有查阅权限的设备可包括:第二可信预言机和/或区块链上的可信节点。其中,第二可信预言机与第一可信预言机一般为不同的预言机。区块链上的可信节点可以为预先设定好的,比如,联盟链上的所有节点等。
在本发明实施例中,如图2所示,区块链的时间信息处理方法,可进一步包括:
S201:从多个链下预言机中选举第一可信预言机;
S202:为第一可信预言机开通时间更新接口,第一可信预言机通过时间更新接口连接到预言机合约,以使预言机合约通过时间更新接口接收当前时间。
上述开通时间更新接口可以包括:修改已存在的时间更新接口中的信息,比如,将第一可信预言机的特征标识信息写入时间更新接口中,并删除时间更新接口已存在的其它可信预言机的特征标识信息;还可以包括:为第一可信预言机生成一个新的时间更新接口。
该时间更新接口是将第一可信预言机的当前时间发送给预言机合约的一个信息传输通道。
时间更新接口方便管理和维护(比如,关闭与失信的第一可信预言机的通信等)等。
当具有查阅权限的设备包括第二可信预言机时,区块链的时间信息处理方法进一步包括:从多个链下预言机中选举第二可信预言机,并将第二可信预言机的特征标识写入查阅权限;通过预言机合约为第二可信预言机开通日志查阅接口,以使第二可信预言机通过日志查阅接口查阅记录日志。
上述各个实施例提及的特征标识是指能够唯一表征或表示其所指代的设备的编码或编号。
其中,从多个链下预言机中选举第一可信预言机或者第二可信预言机(下述列举选举方式时,第一可信预言机或者第二可信预言机简称可信预言机)的具体实施方式可包括:
第一种选举可信预言机的方式:
采用轮询方式,从多个预言机中确定可信预言机。该轮询方式可以为按照一定的排序轮询,也可以为随机轮询。
比如,多个预言机分别为预言机a、预言机b、预言机c以及预言机d,按照一定的排序轮询可为按照预言机a、预言机b、预言机c以及预言机d这一排列顺序轮询,当前可信预言机为预言机b,在预言机b作为可信预言机的时长达到一定时长后,将预言机c作为可信预言机。
又比如,多个预言机分别为预言机a、预言机b、预言机c以及预言机d,按照随机轮询,当前可信预言机为预言机b,在预言机b作为可信预言机的时长达到一定时长后,随机选择预言机d作为可信预言机。
第二种选举可信预言机的方式:
采用投票方式,从多个预言机中,选取可信预言机。该投票方式可以周期性地进行,比如,每一个月、每一周、每5天等。
具体投票方式可以有两种:
第一种投票方式:从多个预言机中初步筛选出预言机,对于联盟链或私有链来说,联盟链或私有链包括的每一个节点对该初步筛选出的预言机进行投票,当投票比例(投票比例:投赞成或同意票的节点个数除以联盟链或私有链包括的节点的总个数)不低于预设的比例阈值,则确定该初步筛选出的预言机为可信预言机;对于公有链来说,公有链包括的多个可信节点对该初步筛选出的预言机进行投票,当投票比例(投票比例:投赞成或同意票的节点个数除以公有链包括可信节点的总个数)不低于预设的比例阈值,则确定该初步筛选出的预言机为可信预言机;其中,投票比例可根据实际情况进行相应地调整,该投票比例能够更真实地反映投票的真实情况。通过该第一种投票方式能够比较快速、准确地选出可信预言机,一定程度上能够保证可信预言机的可信性,那么,通过可信预言机与区块链通信,能够有效地提高区块链信息安全性。
第二种投票方式:
针对联盟链或私有链包括的各个节点或者公有链中的各个可信节点,分别执行:从多个预言机中选出至少一个初筛预言机,然后统计每一个初筛预言机的赞成(同意)票数;基于初步投票的结果,进一步筛选可信预言机的形式可包括:
1.直接选取赞成票数最多的初筛预言机作为可信预言机;如果赞成票数最多的初筛预言机为至少两个,则从该至少两个中随机选取一个或者选取得到反对票数最少的作为可信预言机;
比如,参与投票的节点分别为节点1、节点2、节点6、节点8、节点9,多个预言机分别为预言机a、预言机b、预言机c以及预言机d,其中,节点1对预言机a和预言机b投赞成票,节点2对预言机a和预言机c投赞成票,节点6对预言机a和预言机d投赞成票;节点8对预言机a和预言机d投赞成票,节点9对预言机a和预言机c投赞成票;则预言机a赞成票数最多,其作为可信预言机。
2.确定不存在反对票的初筛预言机,从该不存在反对票的初筛预言机中,选取票数最多的初筛预言机作为可信预言机;
比如,多个预言机分别为预言机a、预言机b、预言机c以及预言机d,其中,不存在反对票的初筛预言机为预言机a、预言机b、预言机c,预言机a赞成票数最多,则选择预言机a作为可信预言机。
3.对不存在反对票的初筛预言机或赞成票数不低于预设阈值的初筛预言机或赞成票数最多的初筛预言机进行重新投票,根据重新投票的结果,确定出可信预言机。
对第二种投票方式可以有三种筛选形式,用户可根据需要进行相应地选择,实现了灵活选择可信预言机,防止外界通过投票方式定位可信预言机,一定程度上,能够保证可信预言机的安全性。
在本发明实施例中,如图3所示,在通过预言机合约接收第一可信预言机发送的当前时间之后,可进一步包括如下步骤:
S301:将当前时间提供给区块链上预设的多个可信节点,以触发多个可信节点对当前时间进行投票;当投票结果指示通过的票数不小于预设的限定阈值时,执行步骤S302;当投票结果指示通过的票数小于预设的限定阈值时,执行步骤S303;
该投票过程具体为:当前时间与可信节点的设备时间的时间差不大于预设的时间阈值,则确定该当前时间通过,当前时间与可信节点的设备时间的时间差大于预设的时间阈值,则确定该当前时间不通过。
该限定阈值可实现同时限定参与投票的可信节点的最少个数以及通过的最小票数限定,从而保证该投票结果的准确性。
S302:确定当前时间可信,以基于当前时间触发定时智能合约执行,并执行将当前时间记录在预言机合约对应的记录日志的步骤,并结束当前流程;
S303:确定当前时间不可信,并舍弃当前时间。
除了通过上述投票数来确定当前时间是否可信,还可用通过的投票比例来确定。该通过的投票比例是通过的票数除以参与投票的可信节点的总个数。即投票比例不小于预设的比例阈值,则确定该当前时间可信。
通过上述过程进一步提高了当前时间的可信性,从而进一步提高定时智能合约执行的准确性。
为了有效地提高时间的可信性,同时避免失信的预言机持续不断地发生当前时间,导致的计算资源浪费。在本发明实施例中,区块链的时间信息处理方法可进一步包括:当连续舍弃当前时间的次数达到预设的次数阈值时,将第一可信预言机标记为失信,并重新执行从多个预言机中选举第一可信预言机的步骤。比如,次数阈值为1次,即只要舍弃一次当前时间,提供该当前时间的第一可信预言机即失信,则断开该失信的第一可信预言机与预言机合约的连接,并重新选举新的第一可信预言机。
在本发明实施例中,如图4所示,验证所述当前时间可信性的步骤可包括如下步骤:
S401:根据查阅的结果,判断时间信息是否准确,如果是,则执行步骤S402;否则,执行步骤S403;
S402:结束当前流程;
S403:将可信预言机标记为失信,并重新执行从多个预言机中选举可信预言机的步骤。
其中,为了避免计算资源过度被占用,同时能够保证验证的准确率,通过具有查阅权限的设备查阅记录日志的步骤可包括:将记录日志中记录的最后一条时间信息提供给可信节点和/或第一可信预言机,以使可信节点和/或第一可信预言机将最后一条时间信息与自身设备的显示时间进行对比。即当最后一条时间信息包括的当前时间与可信节点和/或第一可信预言机的显示时间不一致或者时间差超过设定的时间差阈值时,则前面的时间信息所记录的时间准确性可能也存在问题,因此,通过该最后一条时间信息即可实现判定时间信息的可信性。
其中,判断时间是否准确可以有几种具体实施方式:
一个实施例中,判断时间是否准确可包括:当具有查阅权限的设备的个数为一个时,当对比的结果指示最后一条时间信息中的时间与具有查阅权限的设备所显示时间之间的差值未超过预设的时间差范围时,确定记录日志中记录的时间信息准确。
另一个实施例中,判断时间是否准确可包括:当具有查阅权限的设备的个数为多个时,当对比的结果指示最后一条时间信息中的时间与显示时间的时间差未超过预设时间差阈值的设备个数以及参与查阅的设备个数时,利用最后一条时间信息中的时间与显示时间的时间差未超过预设时间差阈值的设备个数除以参与查阅的设备个数,得到最后一条时间信息中的时间的准确率,当该准确率不低于预设的准确率阈值(比如80%),则确定该最后一条时间信息中的时间准确,否则,确定该最后一条时间信息中的时间不准确。
如图5所示,本发明实施例提供一种区块链的时间信息处理装置500,该区块链的时间信息处理装置500可包括:交互单元501以及维护单元502,其中,
交互单元501,用于通过预言机合约接收第一可信预言机发送的当前时间,其中,预言机合约部署于区块链上,且预言机合约连接部署于区块链上的定时智能合约,以基于当前时间触发定时智能合约执行;
维护单元502,用于将预言机合约接收到的当前时间记录在预言机合约对应的记录日志,并为记录日志配置对应的查阅权限,查阅权限指示具有查阅权限的设备;通过具有查阅权限的设备查阅记录日志,并根据查阅的结果,验证记录日志中记录的时间信息可信性。
在本发明实施例中,具有查阅权限的设备包括:第二可信预言机和/或区块链上的可信节点。
在本发明实施例中,维护单元502,进一步用于从多个链下预言机中选举第一可信预言机;为第一可信预言机开通时间更新接口,第一可信预言机通过所述时间更新接口连接到预言机合约;
交互单元501,用于通过时间更新接口发送当前时间给预言机合约。
在本发明实施例中,维护单元502,进一步用于从多个链下预言机中选举第二可信预言机,并将第二可信预言机的特征标识写入查阅权限;通过预言机合约为第二可信预言机开通日志查阅接口,以使第二可信预言机通过日志查阅接口查阅记录日志。
在本发明实施例中,维护单元502,进一步用于将当前时间提供给区块链上预设的多个可信节点,以触发多个可信节点对当前时间进行投票;当投票结果指示通过的票数不小于预设的限定阈值时,确定当前时间可信,以基于当前时间触发定时智能合约执行,并执行将当前时间记录在预言机合约对应的记录日志的步骤;否则,确定当前时间不可信,并舍弃当前时间。
在本发明实施例中,维护单元502,进一步用于当连续舍弃当前时间的次数达到预设的次数阈值时,将第一可信预言机标记为失信,并重新执行从多个预言机中选举第一可信预言机的步骤。
在本发明实施例中,维护单元502,进一步用于根据查阅的结果,判断时间信息是否准确,如果否,将第一可信预言机标记为失信,并重新执行从多个预言机中选举第一可信预言机的步骤。
在本发明实施例中,维护单元502,进一步用于将记录日志中记录的最后一条时间信息提供给可信节点和/或第一可信预言机,以使可信节点和/或第一可信预言机将最后一条时间信息与自身设备的显示时间进行对比。
在本发明实施例中,维护单元502,进一步用于当对比的结果指示最后一条时间信息中的时间与显示时间之间的差值未超过预设的时间差范围时,确定记录日志中记录的时间准确。
如图6所示,本发明实施例提供一种区块链的时间信息处理系统600,具有查阅权限的设备601、预言机602以及上述任一实施例提供的区块链的时间信息处理装置603,其中,
具有查阅权限的设备601,用于查阅区块链的时间信息处理装置603在记录日志记录的时间信息,并将查阅的结果发送给区块链的时间信息处理装置;
预言机602,用于当作为第一可信预言机时,发送当前时间给预言机合约。
其中,具有查阅权限的设备601可以为区块链中的可信节点,也可以为第二可信预言机。
图7示出了可以应用本发明实施例的区块链的时间信息处理方法或区块链中区块链的时间信息处理装置的示例性系统架构700。
如图7所示,系统架构700可以包括区块链网络701和区块链网络701的外接设备702,其中,区块链网络701是指用于进行节点与节点之间数据共享的网络,区块链网络701中可以包括多个节点7011。每个节点7011在进行正常工作可以接收到外接设备702的输入信息或其他节点广播的信息,并基于接收到的输入信息维护区块链网络内的共享数据(即区块链)。为了保证区块链网络701内的信息互通,每个节点之间可以存在信息连接,任意两个节点之间可以实现点对点(Peer To Peer,P2P)通信,具体可以通过有线通信链路或无线通信链路进行P2P通信。例如,当区块链网络中的任意节点接收到输入信息时,其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链网络中全部节点上存储的数据均一致。外接设备702可包括:终端设备7021、7022、7023,数据库7024、业务服务器7025和预言机7026。外接设备702可以接入区块链网络701,并可以与区块链网络701中的节点7011进行通信。
区块链网络701中的节点7011部署有定时智能合约和预言机合约。用户可以使用终端设备7021、7022、7023,数据库7024、业务服务器7025和预言机7026与区块链网络701交互,以接收或发送消息等。比如,预言机7026发送当前时间给预言机合约。
终端设备7021、7022、7023可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
区块链网络701中的节点7011可以是提供各种服务的服务器,例如对用户利用终端设备7021、7022、7023提交的交易数据提供支持的管理服务器,又比如,对业务服务器7025或数据库7024提交的对账数据提供支持的后台管理服务器,又比如,对预言机7026提交的业务数据或对账数据或当前时间提供支持的管理服务器(仅为示例)。区块链网络701中的节点7011可以为接收到的业务数据或对账数据等调用对应的智能合约,以根据智能合约,对业务数据或对账数据进行分析等处理,也可以查阅预言机合约的记录日志,核对记录日志记录的时间信息的准确性等。
需要说明的是,本发明实施例所提供的区块链中区块链的时间信息处理方法一般由区块链网络701中的节点7011执行,相应地,区块链中区块链的时间信息处理装置一般设置于区块链网络701中的节点7011中。
应该理解,图7中的区块链网络中的节点、终端设备、数据库、业务服务器以及预言机的数目仅仅是示意性的。根据实现需要,可以具有任意数目的区块链网络中的节点、终端设备、数据库、业务服务器以及预言机。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括交互单元以及维护单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,交互单元还可以被描述为“通过预言机合约接收第一可信预言机发送的当前时间的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:通过预言机合约接收第一可信预言机发送的当前时间,其中,预言机合约部署于所述区块链上,且预言机合约连接部署于区块链上的定时智能合约,以基于当前时间触发定时智能合约执行;将当前时间记录在预言机合约对应的记录日志,并为记录日志配置对应的查阅权限,查阅权限指示具有查阅权限的设备;通过具有查阅权限的设备查阅记录日志,并根据查阅的结果,验证记录日志中记录的时间信息可信性。
根据本发明实施例的技术方案,对于部署于区块链上的预言机合约连接多个区块链外的预言机以及部署于区块链上的定时智能合约的结构来说,其通过预言机合约接收预言机中的第一可信预言机发送的当前时间,以基于当前时间触发定时智能合约执行,则当前时间的准确性是定时智能合约的正确和准确执行的基础。那么,通过将当前时间记录在预言机合约对应的记录日志,通过具有查阅权限的设备查阅记录日志,并根据查阅的结果,验证记录日志中记录的时间信息可信性,实现了对时间信息验证,以及时纠正时间信息,有效地提高时间信息的可信性概率,以使区块链上的定时智能合约能够定时准确的执行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (12)
1.一种区块链的时间信息处理方法,其特征在于,包括:
通过预言机合约接收第一可信预言机发送的当前时间,其中,所述预言机合约部署于所述区块链上,且所述预言机合约连接部署于所述区块链上的定时智能合约,以基于所述当前时间触发所述定时智能合约执行;
将所述当前时间记录在所述预言机合约对应的记录日志,并为所述记录日志配置对应的查阅权限,所述查阅权限指示具有查阅权限的设备;
通过所述具有查阅权限的设备查阅所述记录日志,将所述记录日志中记录的最后一条时间信息提供给可信节点和/或所述第一可信预言机,以使所述可信节点和/或所述第一可信预言机将最后一条时间信息与自身设备的显示时间进行对比,以验证所述记录日志中记录的时间信息可信性。
2.根据权利要求1所述的区块链的时间信息处理方法,其特征在于,
所述具有查阅权限的设备包括:第二可信预言机和/或所述区块链上的可信节点。
3.根据权利要求1所述的区块链的时间信息处理方法,其特征在于,进一步包括:
从多个链下预言机中选举第一可信预言机;
为所述第一可信预言机开通时间更新接口,所述第一可信预言机通过所述时间更新接口连接到预言机合约,以使所述预言机合约通过所述时间更新接口接收所述当前时间。
4.根据权利要求2所述的区块链的时间信息处理方法,其特征在于,当所述具有查阅权限的设备包括所述第二可信预言机时,所述区块链的时间信息处理方法进一步包括:
从多个链下预言机中选举第二可信预言机,并将所述第二可信预言机的特征标识写入所述查阅权限;
通过所述预言机合约为所述第二可信预言机开通日志查阅接口,以使所述第二可信预言机通过所述日志查阅接口查阅所述记录日志。
5.根据权利要求1所述的区块链的时间信息处理方法,其特征在于,在通过预言机合约接收第一可信预言机发送的当前时间之后,进一步包括:
将所述当前时间提供给所述区块链上预设的多个可信节点,以触发所述多个可信节点对所述当前时间进行投票;
当投票结果指示通过的票数不小于预设的限定阈值时,确定所述当前时间可信,以基于所述当前时间触发所述定时智能合约执行,并执行将所述当前时间记录在所述预言机合约对应的记录日志的步骤;否则,确定所述当前时间不可信,并舍弃所述当前时间。
6.根据权利要求4所述的区块链的时间信息处理方法,其特征在于,进一步包括:
当连续舍弃所述当前时间的次数达到预设的次数阈值时,将所述第一可信预言机标记为失信,并重新执行从多个预言机中选举第一可信预言机的步骤。
7.根据权利要求2所述的区块链的时间信息处理方法,其特征在于,
验证所述记录日志中记录的时间信息可信性的步骤,包括:
根据所述可信节点和/或所述第一可信预言机自身设备的显示时间与所述记录日志中最后一条时间信息对比的结果,判断所述时间信息是否准确,
如果否,将所述第一可信预言机标记为失信,并重新执行从多个预言机中选举第一可信预言机的步骤。
8.根据权利要求7所述的区块链的时间信息处理方法,其特征在于,
判断所述时间信息是否准确的步骤,包括:
当对比的结果指示所述最后一条时间信息中的时间与所述显示时间之间的差值未超过预设的时间差范围时,确定所述记录日志中记录的时间准确。
9.一种区块链的时间信息处理装置,其特征在于,包括:交互单元以及维护单元,其中,
所述交互单元,用于通过预言机合约接收第一可信预言机发送的当前时间,其中,所述预言机合约部署于所述区块链上,且所述预言机合约连接部署于所述区块链上的定时智能合约,以基于所述当前时间触发所述定时智能合约执行;
所述维护单元,用于将所述当前时间记录在所述预言机合约对应的记录日志,并为所述记录日志配置对应的查阅权限,所述查阅权限指示具有查阅权限的设备;通过所述具有查阅权限的设备查阅所述记录日志,将所述记录日志中记录的最后一条时间信息提供给可信节点和/或所述第一可信预言机,以使所述可信节点和/或所述第一可信预言机将最后一条时间信息与自身设备的显示时间进行对比,以验证所述记录日志中记录的时间信息可信性。
10.一种区块链的时间信息处理系统,其特征在于,包括:具有查阅权限的设备、预言机以及权利要求9所述的区块链的时间信息处理装置,其中,
所述具有查阅权限的设备,用于查阅所述区块链的时间信息处理装置在记录日志记录的时间信息,并将查阅的结果发送给所述区块链的时间信息处理装置;
所述预言机,用于当作为第一可信预言机时,发送当前时间给预言机合约。
11.一种区块链的时间信息处理电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110185561.3A CN112866282B (zh) | 2021-02-10 | 2021-02-10 | 区块链中时间信息验证方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110185561.3A CN112866282B (zh) | 2021-02-10 | 2021-02-10 | 区块链中时间信息验证方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112866282A CN112866282A (zh) | 2021-05-28 |
CN112866282B true CN112866282B (zh) | 2022-12-27 |
Family
ID=75987971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110185561.3A Active CN112866282B (zh) | 2021-02-10 | 2021-02-10 | 区块链中时间信息验证方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112866282B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407944B (zh) * | 2021-06-03 | 2023-09-26 | 广东辰宜信息科技有限公司 | 智能合约的可信配置方法、装置、计算机设备及存储介质 |
CN115311751A (zh) * | 2022-06-23 | 2022-11-08 | 中银金融科技有限公司 | 用于高速公路收费的清分结算方法及系统 |
CN114897532A (zh) * | 2022-07-11 | 2022-08-12 | 杭州趣链科技有限公司 | 操作日志处理方法、系统、装置、设备和存储介质 |
CN117728961B (zh) * | 2024-02-07 | 2024-05-28 | 成都信息工程大学 | 一种区块链中可信时间服务预言机的方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981673A (zh) * | 2019-04-04 | 2019-07-05 | 上海人行道网络信息技术有限公司 | 基于区块链的数据存证方法、装置、设备及存储介质 |
CN111311255A (zh) * | 2020-01-19 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于预言机的智能合约形式化验证和纠错方法 |
CN112286963A (zh) * | 2020-11-17 | 2021-01-29 | 北京物资学院 | 一种区块链终端数据可信查询系统及其实现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11627003B2 (en) * | 2018-03-05 | 2023-04-11 | SmartAxiom, Inc. | Systems and methods for a blockchain multi-chain smart contract time envelope |
-
2021
- 2021-02-10 CN CN202110185561.3A patent/CN112866282B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981673A (zh) * | 2019-04-04 | 2019-07-05 | 上海人行道网络信息技术有限公司 | 基于区块链的数据存证方法、装置、设备及存储介质 |
CN111311255A (zh) * | 2020-01-19 | 2020-06-19 | 杭州云象网络技术有限公司 | 一种基于预言机的智能合约形式化验证和纠错方法 |
CN112286963A (zh) * | 2020-11-17 | 2021-01-29 | 北京物资学院 | 一种区块链终端数据可信查询系统及其实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112866282A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112866282B (zh) | 区块链中时间信息验证方法和装置 | |
CN109034813B (zh) | 代表节点设备选举方法、装置、计算机设备及存储介质 | |
CN108596623B (zh) | 一种区块链共识达成方法 | |
AU2022287674A1 (en) | Universal BCHAIN e3a connections (UBEC) | |
CN109783581A (zh) | 权限管理方法、装置、电子设备及存储介质 | |
EP4293601A1 (en) | Registration method and apparatus for timed smart contract in blockchain, execution method and apparatus for timed smart contract in blockchain, and system | |
CN112837154A (zh) | 区块链中定时智能合约的注册、执行方法和装置 | |
CN112527912B (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN110569251A (zh) | 一种数据处理方法、相关设备及计算机可读存储介质 | |
CN110944046B (zh) | 一种共识机制的控制方法及相关设备 | |
CN108629588B (zh) | 一种用于区块链共识达成的计算机可读介质 | |
CN108665363B (zh) | 一种区块链共识达成装置 | |
CN108648082B (zh) | 一种用于区块链共识达成的计算机系统 | |
WO2013173238A1 (en) | Electronic transaction notification system and method | |
CN110400217A (zh) | 智能合约的规则变更处理方法及装置 | |
CN112907243A (zh) | 区块链交易审计方法及装置 | |
CN112597511A (zh) | 一种政务服务远程协同方法及装置 | |
CN117591286A (zh) | 电子凭证与智能合约有效结合的边缘计算方法及存储介质 | |
CN112837155A (zh) | 区块链中智能合约的注册、执行方法和装置 | |
US11736299B2 (en) | Data access control for edge devices using a cryptographic hash | |
WO2023273832A1 (zh) | 数据验证的方法和装置 | |
CN113379577A (zh) | 一种事务审核方法、装置及设备 | |
CN112801661B (zh) | 区块链跨链规则管理方法及系统 | |
CN115455460A (zh) | 一种基于区块链的数据存储方法、装置、设备及介质 | |
CN111161070A (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 | ||
GR01 | Patent grant |