CN112837157A - 区块链中定时智能合约的注册、执行方法、装置和系统 - Google Patents
区块链中定时智能合约的注册、执行方法、装置和系统 Download PDFInfo
- Publication number
- CN112837157A CN112837157A CN202110185555.8A CN202110185555A CN112837157A CN 112837157 A CN112837157 A CN 112837157A CN 202110185555 A CN202110185555 A CN 202110185555A CN 112837157 A CN112837157 A CN 112837157A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- timed
- contract
- timing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000006870 function Effects 0.000 claims description 77
- 238000012545 processing Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 17
- 238000012216 screening Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 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
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- 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
- 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
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了区块链中定时智能合约的注册、执行方法、装置和系统,涉及计算机技术领域。该方法的一具体实施方式包括:接收定时智能合约的注册请求;根据注册请求,为定时智能合约生成连接到预言机合约的接口,其中,预言机合约部署于区块链上,用于接收可信预言机发送的时间信息,以通过接口提供所述时间信息给定时智能合约。该实施方式实现了通过区块链对定时智能合约管理和执行。
Description
技术领域
本发明涉及区块链领域,尤其涉及一种区块链中定时智能合约的注册、执行方法、装置和系统。
背景技术
区块链可以认为是去中心化、可信的分布式账本。由于区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和管理机构,以及在区块链中分布式存储和分布式记录数据,使得区块链具有不可篡改性。因此,将智能合约以数字化方式写入区块链,并通过执行区块链中的智能合约来完成对应交易,已越来越受到各机构的青睐。
目前,存在于区块链中的智能合约一般需要外部交易才能触发执行。对于一些需要定时触发完成的交易如实现金融机构之间固定时间对账等,仍是现有的智能合约管理和执行方式亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种区块链中定时智能合约的注册、执行方法、装置和系统,实现了通过区块链对定时智能合约管理和执行。
为实现上述目的,根据本发明实施例的一个方面,提供了一种区块链中定时智能合约的注册方法,包括:
接收定时智能合约的注册请求;
根据所述注册请求,为所述定时智能合约生成连接到预言机合约的接口,其中,所述预言机合约部署于所述区块链上,用于接收可信预言机发送的时间信息,以通过所述接口提供所述时间信息给所述定时智能合约。
可选地,上述区块链中定时智能合约的注册方法,进一步包括:
为其他智能合约生成对应的交易块,并将所述其他智能合约对应的交易记录在所述交易块内,其中,所述其他智能合约为不具有事件触发函数的智能合约,以使所述其他智能合约基于所述交易块执行。
可选地,上述区块链中定时智能合约的注册方法,进一步包括:
为所述定时智能合约生成对应的内置块或者位于所述交易块中的内置区域;
为所述内置块或者位于所述交易块中的内置区域配置对应的可消耗资源量,并将所述定时智能合约对应的交易记录在所述交易块内,以使所述定时智能合约基于所述内置块或者位于所述交易块中的内置区域执行。
第二方面,本发明实施例提供一种区块链中定时智能合约的执行方法,包括:
为预言机合约提供可信预言机发送的时间信息,其中,所述可信预言机是从多个预言机中选举出;
通过接口提供所述时间信息给所述定时智能合约,其中,所述定时智能合约包括定时触发函数,且所述定时智能合约通过所述接口连接到所述预言机合约;
当所述时间信息满足所述定时触发函数时,执行所述定时智能合约。
可选地,上述区块链中定时智能合约的执行方法,进一步包括:
采用轮询方式,从多个预言机中确定可信预言机;
或者,
采用投票方式,从多个预言机中,选取可信预言机。
可选地,上述区块链中定时智能合约的执行方法,进一步包括:
生成记录日志,并将所述时间信息记录在所述记录日志中;
当接收到区块链中的可信节点或者其他可信预言机的查阅请求时,提供所述记录日志给所述可信节点或者所述其他可信预言机;
根据查阅的结果,验证所述记录日志中记录的时间信息是否准确,
如果否,将所述可信预言机标记为失信,并重新执行从多个预言机中选举可信预言机的步骤。
可选地,上述区块链中定时智能合约的执行方法,进一步包括:
针对非定时智能合约设置有交易块,其中,所述交易块内记录有所述其他智能合约对应的交易;
当接收到所述其他智能合约的执行触发时,执行所述其他智能合约对应的交易块。
可选地,上述区块链中定时智能合约的执行方法,进一步包括:针对所述定时智能合约设置有内置块或位于所述交易块中的内置区域,并且所述内置块或所述内置区域配置有对应的可消耗资源量,其中,所述内置块或所述内置区域记录有所述定时智能合约的交易;
执行所述定时智能合约的步骤,包括:
当接收到所述定时智能合约的执行触发时,判断当前所需的资源量是否不大于所述内置块或所述内置区域对应的可消耗资源量,如果是,则执行所述定时智能合约对应的所述内置块或所述内置区域,否则,禁止执行。
可选地,当所述定时智能合约包括有至少两个定时触发函数,且每一个所述定时触发函数对应于所述定时智能合约中的一个处理逻辑;
执行所述定时智能合约的步骤,包括:执行所述定时触发函数对应的处理逻辑。
第三方面,本发明实施例提供一种区块链中定时智能合约的注册装置,包括:接收单元以及注册单元,其中,
所述接收单元,用于接收定时智能合约的注册请求;
所述注册单元,用于根据所述注册请求,为所述定时智能合约生成连接到预言机合约的接口,其中,所述预言机合约部署于所述区块链上,用于接收可信预言机发送的时间信息,以通过所述接口提供所述时间信息给所述定时智能合约。
第四方面,本发明实施例提供一种区块链中定时智能合约的执行装置,包括:交互单元、每一个定时智能合约对应的接口以及执行单元,其中,
所述交互单元,用于为预言机合约提供可信预言机发送的时间信息,其中,所述可信预言机是从多个预言机中选举出;
所述每一个定时智能合约对应的接口,用于将对应的所述定时智能合约对应的连接到所述预言机合约,提供所述预言机合约接收到的时间信息给所述定时智能合约,其中,所述定时智能合约包括定时触发函数;
所述执行单元,用于当所述定时智能合约接收到的所述时间信息满足所述定时触发函数时,执行所述定时智能合约。
第五方面,本发明实施例提供一种区块链中定时智能合约的执行系统,包括:多个预言机和上述区块链中定时智能合约的执行装置,其中,
所述区块链中定时智能合约的执行装置,用于从所述多个预言机中选举出可信预言机;
每一个所述预言机,用于后被选举为所述可信预言机后,通过所述区块链中定时智能合约的执行装置提供时间信息给预言机合约。
上述发明中的一个实施例具有如下优点或有益效果:通过注册部署于区块链的定时智能合约,可为定时智能合约生成连接到预言机合约的接口,在预言机合约接收到可信预言机发送的时间信息后,通过该接口将该时间信息发送给定时智能合约,以使该定时智能合约根据时间信息,可定时执行,实现了通过区块链对定时智能合约管理和执行。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的区块链中定时智能合约的注册方法的主要流程的示意图;
图2是根据本发明另一实施例的区块链中定时智能合约的注册方法的主要流程的示意图;
图3是根据本发明一个实施例的区块链中的定时智能合约执行的主要流程的示意图;
图4是根据本发明另一实施例的区块链中的定时智能合约执行的主要流程的示意图;
图5是根据本发明实施例的区块链中的非定时智能合约执行的主要流程的示意图;
图6是根据本发明又一实施例的区块链中的定时智能合约执行的主要流程的示意图;
图7是根据本发明又一实施例的区块链中的定时智能合约执行的主要流程的示意图;
图8是根据本发明实施例的定时智能合约中的处理逻辑执行的主要流程的示意图;
图9是根据本发明实施例的区块链中定时智能合约的注册装置的主要单元的示意图;
图10是根据本发明实施例的区块链中定时智能合约的执行装置的主要单元的示意图;
图11是根据本发明实施例的区块链中定时智能合约的执行系统的示意图;
图12是本发明实施例可以应用于其中的示例性系统架构图;
图13是适于用来实现本发明实施例的区块链中节点的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
智能合约是一套以编程语言定义的承诺或义务,合约参与方可以在上面执行这些承诺或义务的协议,该协议是由具有逻辑先后顺序的处理逻辑构成。
图1是根据本发明实施例的一种区块链中定时智能合约的注册方法。如图1所示,该区块链中定时智能合约的注册方法可包括如下步骤:
S101:接收定时智能合约的注册请求;
S102:根据注册请求,为定时智能合约生成连接到预言机合约的接口,其中,预言机合约部署于区块链上,用于接收可信预言机发送的时间信息,以通过接口提供时间信息给定时智能合约。
其中,定时智能合约是指具有时间触发函数的、通过时间与定时触发函数结合可定时触发的智能合约。其中,时间触发函数是一种时间判断函数或条件函数,通过将时间信息(比如,当前时间等),输入到时间触发函数中,以判断该时间信息是否满足时间触发函数,如果满足,则触发时间触发函数对应的智能合约或者时间触发函数对应的智能合约中的逻辑执行。
预言机合约是指以编程语言定义的、能够与外部的预言机通信的、可为连接的定时智能合约提供时间信息的、独立于预言机,并可部署于区块链上一种协议。
可信预言机是指独立于区块链之外的、能够与预言机合约进行可信任通信的一种设备。
值得说明的是,注册请求可携带有定时智能合约的特征标识信息,相应地,为定时智能合约生成连接到预言机合约的接口可以有两种实现方式:实现方式一,针对多个定时智能合约中的每一个定时智能合约生成对应的接口,并在该接口内设置该定时智能合约的特征标识信息,以为该定时智能合约提供时间信息;实现方式二,针对为多个定时智能合约生成一个对应的接口,在接收定时智能合约的注册请求后,将该定时智能合约的特征标识信息写入接口,以使接口为其包括的特征标识信息对应的定时智能合约提供时间信息。
在图1所示的实施例中,通过注册部署于区块链的定时智能合约,可为定时智能合约生成连接到预言机合约的接口,在预言机合约接收到可信预言机发送的时间信息后,通过该接口将该时间信息发送给定时智能合约,以使该定时智能合约根据时间信息,可定时执行,实现了通过区块链对定时智能合约管理和执行。
另外,定时智能合约的执行需依托整条链的信任基础。基于此,本发明实施例提供的方案中,区块链优选为联盟链。
在本发明实施例中,为了实现对定时智能合约以及定时智能合约之外的其他智能合约的差异化管理。
针对定时智能合约之外的其他智能合约,区块链中定时智能合约的注册方法可进一步包括:为其他智能合约生成对应的交易块,并将其他智能合约对应的交易记录在交易块内,其中,其他智能合约为不具有事件触发函数的智能合约,以使其他智能合约基于交易块执行。
其中,其他智能合约是指需要外部业务或业务数据触发执行的智能合约。
针对定时智能合约,如图2所示,区块链中定时智能合约的注册方法,可进一步包括如下步骤:
S201:为定时智能合约生成对应的内置块或者位于交易块中的内置区域;
S202:为内置块或者位于交易块中的内置区域配置对应的可消耗资源量,并将定时智能合约对应的交易记录在交易块内,以使定时智能合约基于内置块或者位于交易块中的内置区域执行。
其中,可消耗资源量是指执行定时智能合约签约方当前可提供的资源量。
当前所需的资源量是指执行定时智能合约,定时智能合约的签约方所需要的支付的资源量。
通过上述为内置块或者内置区域配置对应的可消耗资源量,这样在资源量低于该可消耗资源量,就会强制停止第一智能合约执行,避免了比如无限循环导致的停机问题。
可以理解地,在为定时智能合约生成位于交易块中的内置区域时,需先存在至少一个交易块。该交易块可以是其他智能合约对应的交易块,也可以是为定时智能合约生成的交易块,并在该交易块中划分出内置区域,为该内置区域配置对应的可消耗资源量。
其中,针对为定时智能合约生成的交易块,并在该交易块中划分出内置区域,该定时智能合约对应的交易块用于记录定时智能合约的交易记录,在执行定时智能合约之前,可先判断当前资源量是否不小于该内置区域对应的可消耗资源量,如果是,则执行定时智能合约,并将定时智能合约的交易记录在内置区域之外的交易块内,实现了将交易记录的记录区域与内置区域分开,方便对交易记录的管理。
图3是根据本发明实施例的一种区块链中定时智能合约的执行方法。如图3所示,该区块链中定时智能合约的执行方法可包括如下步骤:
S301:为预言机合约提供可信预言机发送的时间信息,其中,可信预言机是从多个预言机中选举出;
S302:通过接口提供时间信息给定时智能合约,其中,定时智能合约包括定时触发函数,且定时智能合约通过接口连接到预言机合约;
S303:当时间信息满足定时触发函数时,执行定时智能合约。
其中,该实施例中提及并使用的预言机合约、可信预言机、定时智能合约以及定时触发函数与前述实施例的定义一致或者来源于前述实施例。
比如,时间信息包括当前时间,相应地,时间信息满足时间触发函数是指,将当前时间添加到时间触发函数后,能够满足时间触发函数对应的条件限定,时间触发函数为:0.9h≤Tn-Tn-1≤1.15h,其中,Tn表征当前时间,Tn-1表征第一智能合约上一次执行的执行时间;0.9h表征0.9小时,1h表征1小时,大于等于0.9h且小于等于1.15h为时间触发函数对应的条件限定;假设定时智能合约上一次执行的执行时间为2020.5.20/10:00,当前时间为2020.5.20/10:30,则当前时间不满足时间触发函数0.9h≤Tn-Tn-1≤1.15h;假设定时智能合约上一次执行的执行时间为2020.5.20/10:00,当前时间为2020.5.20/11:00,则当前时间满足时间触发函数0.9h≤Tn-Tn-1≤1.15h。其中,当前时间还可通过记录的区块的块高乘以生成每一个区块的平均时间间隔得到。
又比如,时间触发函数为:其中,Tn表征当前时间,T表征定时智能合约首次执行的执行时间;f1表征每相邻两次执行的时间差,θ表征定义的该时间差的允许误差,K表征该时间触发函数对应的定时智能合约的执行次数,相应地,时间触发函数对应的条件限定:大于等于f1-θ且小于等于f1+θ,通过该时间触发函数也可实现定时触发智能合约。
因此,本发明实施例提供的方案中时间触发函数可以为任意一种能够实现定时的函数,并通过该定时来触发其对应的定时智能合约或者定时智能合约内的处理逻辑的执行。
另外,由于定时智能合约是通过部署于区块链上的预言机合约得到时间信息,即定时智能合约不直接与外界交互,通过限定接口(连接预言机合约与定时智能合约)所能够传输的信息,即可有效地避免攻击性信息攻击定时智能合约,另外,由于一个预言机合约可连接多个定时智能合约,而且预言机合约功能比较单一,方便用户对预言机合约维护。
另外,针对时间触发函数为上述实施例示出的条件函数时,而预言机合约连续接收到的多个当前时间可能均满足上述时间触发函数,为了避免待执行定时智能合约在时间触发函数限定的条件范围内重复执行,针对每一次执行中、执行完成的定时智能合约,均为定时预言机合约反馈每一次执行中对应的标示符或者每一次执行完成对应的标示符。相应地,定时预言机合约可根据该次执行中对应的标示符或者该次执行完成对应的标示符,进一步判断是否触发待执行定时智能合约。
上述实施例,通过监听接口获取时间信息,并通过判断时间信息是否满足时间触发函数,以判断是否执行具有该时间触发函数的定时智能合约,实现了在区块链内部通过时间信息和时间触发函数结合触发定时智能合约,能够有效地保证区块链中具有时间触发函数的定时智能合约能够根据时间信息执行。
值得说明的是,定时智能合约的执行需依托整条链的信任基础。基于此,本发明实施例提供的方案中,区块链优选为联盟链。
在本发明实施例中,确定可信预言机的方式可以分为两种:
第一种确定可信预言机的方式:
采用轮询方式,从多个预言机中确定可信预言机。该轮询方式可以为按照一定的排序轮询,也可以为随机轮询。
比如,多个预言机分别为预言机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.对不存在反对票的初筛预言机或赞成票数不低于预设阈值的初筛预言机或赞成票数最多的初筛预言机进行重新投票,根据重新投票的结果,确定出可信预言机。
对第二种投票方式可以有三种筛选形式,用户可根据需要进行相应地选择,实现了灵活选择可信预言机,防止外界通过投票方式定位可信预言机,一定程度上,能够保证可信预言机的安全性。
在本发明实施例中,如图4所示,区块链中定时智能合约的执行方法,可进一步包括如下步骤:
S401:生成记录日志,并将时间信息记录在记录日志中;
S402:当接收到区块链中的可信节点或者其他可信预言机的查阅请求时,提供记录日志给可信节点或者其他可信预言机;
S403:根据查阅的结果,验证记录日志中记录的时间信息是否准确,如果是,则执行步骤S404;否则,执行步骤S405;
可信节点或者其他可信预言机主要是将记录日志记录的最后一条时间信息与自身设备当前时间进行比对,当比对结果为记录日志记录的最后一条时间信息与自身设备当前时间的差值不大于预设的时间差阈值,则确定该最后一条时间信息与可信节点或者其他可信预言机的时间匹配。相应地,该查阅的结果可包括:参与查阅记录日志的可信节点或者其他可信预言机的总个数、与记录日志中记录的最后一条时间信息相匹配的可信节点或者其他可信预言机的个数等。
验证记录日志中记录的时间信息是否准确可以为:与记录日志中记录的最后一条时间信息相匹配的可信节点或者其他可信预言机的个数是否与参与查阅记录日志的可信节点或者其他可信预言机的总个数相同,如果是,则确定时间信息准确。
验证记录日志中记录的时间信息是否准确还可以为:与记录日志中记录的最后一条时间信息相匹配的可信节点或者其他可信预言机的个数是否不小于预设的个数阈值,如果是,则确定时间信息准确。
S404:结束当前流程;
S405:将可信预言机标记为失信,并重新执行从多个预言机中选举可信预言机的步骤。
通过上述过程,可对可信预言机提供的时间信息进行检验,以保证可信预言机以及时间信息的可靠性,从而保证定时智能合约执行的可靠性。
在本发明实施例中,不同类型的智能合约(定时智能合约和非定时智能合约)分别对应有不同的执行方式,可使非定时智能合约按照原有的执行方式执行,为定时智能合约单独设置对应的执行方式,可通过在现有区块链的基础上增加定时智能合约对应的执行方式实现,能够有效地简化区块链中智能合约执行方式构建过程,从而节约区块链中智能合约执行方式构建成本。
针对非定时智能合约的执行:
如图5所示,可包括如下步骤:
S501:针对非定时智能合约设置有交易块,其中,交易块内记录有所述其他智能合约对应的交易;
S502:当接收到其他智能合约的执行触发时,执行其他智能合约对应的交易块。
针对定时智能合约的执行:
如图6所示,可包括如下步骤:
S601:针对定时智能合约设置有内置块或位于交易块中的内置区域,并且内置块或内置区域配置有对应的可消耗资源量,其中,内置块或内置区域记录有定时智能合约的交易;
S602:当接收到定时智能合约的执行触发时,判断当前所需的资源量是否不大于内置块或内置区域对应的可消耗资源量,如果是,则执行步骤S603;否则,执行步骤S604;
S603:执行定时智能合约对应的内置块或内置区域,并结束当前流程;
S604:禁止执行。
其中,可消耗资源量是指执行定时智能合约签约方当前可提供的资源量。
当前所需的资源量是指执行定时智能合约,定时智能合约的签约方所需要的支付的资源量。
比如,当前智能合约为非定时智能合约(通过区块链之外的外部触发执行的智能合约),则根据图5给出的实施例执行该当前智能合约。当前智能合约为定时智能合约,则根据图6给出的实施例执行该当前智能合约。
通过上述图5和图6的实施例,实现了差异化执行非定时智能合约和定时智能合约。通过上述图6的实施例执行定时智能合约,通过上述为内置块或者内置区域配置对应的可消耗资源量,这样在资源量低于该可消耗资源量,就会强制停止定时智能合约执行,避免了比如无限循环导致的停机问题。
在本发明实施例中,当定时智能合约包括有至少两个定时触发函数,且每一个定时触发函数对应于定时智能合约中的一个处理逻辑;相应地,执行定时智能合约的步骤可包括:执行定时触发函数对应的处理逻辑。比如,当前得到的第一时间满足定时智能合约中的处理逻辑1对应的时间触发函数1,则执行该定时智能合约中的处理逻辑1,然后,可以理解地,基于该处理逻辑1,根据定时智能合约中约定好的处理逻辑,执行与处理逻辑1相关的处理逻辑;当前得到的第二时间满足定时智能合约中的处理逻辑3对应的时间触发函数3,则执行该定时智能合约中的处理逻辑3等。通过上述过程实现了分段执行智能合约中的逻辑,以满足智能合约更复杂、更多样的需求。
下面分为两种情况进一步详细说明区块链中定时智能合约的执行方法。
情况一:一个定时智能合约存在一个能够触发定时智能合约执行的定时触发函数。
如图7所示,区块链中的每一个定时智能合约执行可循环执行如下步骤:
S700:针对定时智能合约设置有内置块或位于交易块中的内置区域,并且内置块或内置区域配置有对应的可消耗资源量,其中,内置块或内置区域记录有定时智能合约的交易;
S701:为预言机合约提供可信预言机发送的当前时间;
S702:预言机合约将该当前时间发送给定时触发函数;
S703:判断该当前时间是否满足定时触发函数,如果是,则执行步骤S704;否则,执行步骤S707;
S704:确定定时智能合约对应的内置块或内置区域;
S705:判断当前所需的资源量是否不大于内置块或内置区域对应的可消耗资源量,如果是,则执行步骤S706;否则,执行步骤S707;
S706:执行定时智能合约对应的内置块或内置区域,并结束当前流程;
S707:禁止执行。
情况二:一个定时智能合约中的多个处理逻辑分别对应一个能够触发该处理逻辑执行的定时触发函数。
如图8所示,区块链中的每一个定时智能合约执行可循环执行如下步骤:
S800:针对定时智能合约设置有对应的内置块或位于交易块中的内置区域,并且内置块或内置区域配置有对应的可消耗资源量,其中,内置块或内置区域记录有定时智能合约中处理逻辑对应的交易;
该步骤可以有两种实现方式:
实现方式一,定时智能合约中的每一个处理逻辑均位于同一个内置块或交易块中的内置区域,则一个定时智能合约对应一个内置块或一个内置区域。
实现方式二:定时智能合约中的每一个处理逻辑分别对应一个内置块或交易块中的内置区域,则根据定时智能合约中的各个处理逻辑之间的逻辑关系,确定出或者串联各个处理逻辑对应的内置块或内置区域。
S801:为预言机合约提供可信预言机发送的当前时间;
S802:预言机合约将该当前时间发送给智能合约包括的多个定时触发函数;
S803:针对每一个定时触发函数执行:判断该当前时间是否满足定时触发函数,如果是,则执行步骤S804;否则,执行步骤S807;
S804:确定处理逻辑对应的内置块或内置区域;
S805:判断当前所需的资源量是否不大于内置块或内置区域对应的可消耗资源量,如果是,则执行步骤S806;否则,执行步骤S807;
S806:执行内置块或内置区域,并结束当前流程;
针对步骤S800中实现方式一来说,该步骤S806具体为,执行处理逻辑对应的交易;
针对步骤S800中实现方式一来说,该步骤S806具体为,执行处理逻辑对应的内置块或内置区域。
S807:禁止执行。
值得说明的是,在上述图7和图8给出的实施例中,还可将预言机合约接收到的当前时间记录在对应的日志文件中,以方便对当前时间进行校验,保证定时智能合约定时执行的准确性。
如图9所示,本发明实施例提供一种区块链中定时智能合约的注册装置900,该区块链中定时智能合约的注册装置900可包括:接收单元901以及注册单元902,其中,
接收单元901,用于接收定时智能合约的注册请求;
注册单元902,用于根据接收单元901接收到的注册请求,为定时智能合约生成连接到预言机合约的接口,其中,预言机合约部署于区块链上,用于接收可信预言机发送的时间信息,以通过接口提供所述时间信息给所述定时智能合约。
在本发明实施例中,如图9所示,该区块链中定时智能合约的注册装置900可进一步包括:
处理单元903,用于为其他智能合约生成对应的交易块,并将其他智能合约对应的交易记录在交易块内,其中,其他智能合约为不具有事件触发函数的智能合约,以使其他智能合约基于交易块执行。
在本发明实施例中,处理单元903,进一步用于为定时智能合约生成对应的内置块或者位于所述交易块中的内置区域;为内置块或者位于交易块中的内置区域配置对应的可消耗资源量,并将定时智能合约对应的交易记录在交易块内,以使定时智能合约基于内置块或者位于交易块中的内置区域执行。
如图10所示,本发明实施例提供一种区块链中定时智能合约的执行装置1000,该区块链中定时智能合约的执行装置1000可包括:交互单元1001、每一个定时智能合约对应的接口1002以及执行单元1003,其中,
交互单元1001,用于为预言机合约提供可信预言机发送的时间信息,其中,可信预言机是从多个预言机中选举出;
每一个定时智能合约对应的接口1002,用于将对应的定时智能合约对应的连接到预言机合约,提供预言机合约接收到的时间信息给定时智能合约,其中,定时智能合约包括定时触发函数;
执行单元1003,用于当定时智能合约接收到的时间信息满足定时触发函数时,执行定时智能合约。
在本发明实施例中,如图10所示,区块链中定时智能合约的执行装置1000可进一步包括:
部署单元1004,用于采用轮询方式,从多个预言机中确定可信预言机。
在本发明实施例中,部署单元1004,进一步用于采用投票方式,从多个预言机中,选取投票比例不低于预设的比例阈值的预言机为可信预言机。
在本发明实施例中,如图10所示,区块链中定时智能合约的执行装置1000可进一步包括:
验证单元1005,用于生成记录日志,并将交互单元1001提供的时间信息记录在记录日志中;当接收到区块链中的可信节点或者其他可信预言机的查阅请求时,提供记录日志给可信节点或者其他可信预言机;根据查阅的结果,验证记录日志中记录的时间信息是否准确,如果否,将可信预言机标记为失信,并重新执行从多个预言机中选举可信预言机的步骤。
在本发明实施例中,执行单元1003,进一步用于针对非定时智能合约设置有交易块,其中,交易块内记录有其他智能合约对应的交易;当接收到其他智能合约的执行触发时,执行其他智能合约对应的交易块。
在本发明实施例中,执行单元1003,进一步用于针对定时智能合约设置有内置块或位于交易块中的内置区域,并且内置块或内置区域配置有对应的可消耗资源量,其中,内置块或内置区域记录有定时智能合约的交易;当接收到定时智能合约的执行触发时,判断当前所需的资源量是否不大于内置块或内置区域对应的可消耗资源量,如果是,则执行定时智能合约对应的内置块或内置区域,否则,禁止执行。
在本发明实施例中,当定时智能合约包括有至少两个定时触发函数,且每一个定时触发函数对应于定时智能合约中的一个处理逻辑;
执行单元1003,进一步用于执行定时触发函数对应的处理逻辑。
如图11所示,本发明实施例提供一种区块链中定时智能合约的执行系统1100,该区块链中定时智能合约的执行系统1100可包括:多个预言机1101和上述实施例提供的区块链中定时智能合约的执行装置1000,其中,
区块链中定时智能合约的执行装置1000,用于从多个预言机中选举出可信预言机;
每一个预言机1101,用于后被选举为可信预言机后,通过所述区块链中定时智能合约的执行装置提供时间信息给预言机合约。
在本发明实施例中,如图11所示,本发明实施例提供一种区块链中定时智能合约的执行系统1100,进一步包括:设置于区块链上的可信节点1103,其中,
区块链中定时智能合约的执行装置1000,进一步用于生成记录日志,并将时间信息记录在记录日志中;当接收到区块链中的可信节点1103或者其他可信预言机的查阅请求时,提供记录日志给可信节点或者其他可信预言机;通过可信节点或者其他可信预言机验证记录日志中记录的时间信息是否准确,如果否,将可信预言机标记为失信,并重新执行从多个预言机中选举可信预言机的步骤。
图12示出了可以应用本发明实施例的区块链中定时智能合约的注册方法或区块链中定时智能合约的注册装置或区块链中智能合约的执行方法或区块链中智能合约的执行装置的示例性系统架构1200。
如图12所示,系统架构1200可以包括区块链网络1201和区块链网络1201的外接设备1202,其中,区块链网络1201是指用于进行节点与节点之间数据共享的网络,区块链网络1201中可以包括多个节点12011。每个节点12011在进行正常工作可以接收到外接设备1202的输入信息或其他节点广播的信息,并基于接收到的输入信息维护区块链网络内的共享数据(即区块链)。为了保证区块链网络1201内的信息互通,每个节点之间可以存在信息连接,任意两个节点之间可以实现点对点(Peer To Peer,P2P)通信,具体可以通过有线通信链路或无线通信链路进行P2P通信。例如,当区块链网络中的任意节点接收到输入信息时,其他节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得区块链网络中全部节点上存储的数据均一致。外接设备1202可包括:终端设备12021、12022、12023,数据库12024、业务服务器12025和预言机12026。外接设备1202可以接入区块链网络1201,并可以与区块链网络1201中的节点12011进行通信。
区块链网络1201中的节点12011部署有定时智能合约和预言机合约。用户可以使用终端设备12021、12022、12023,数据库12024、业务服务器12025和预言机12026与区块链网络1201交互,以接收或发送消息等。比如,预言机12026发送当前时间给预言机合约。
终端设备12021、12022、12023可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
区块链网络1201中的节点12011可以是提供各种服务的服务器,例如对用户利用终端设备12021、12022、12023提交的交易数据提供支持的管理服务器,又比如,对业务服务器12025或数据库12024提交的对账数据提供支持的后台管理服务器,又比如,对预言机12026提交的业务数据或对账数据或当前时间提供支持的管理服务器(仅为示例)。区块链网络801中的节点12011可以为接收到的业务数据或对账数据等调用对应的智能合约,以根据智能合约,对业务数据或对账数据进行分析等处理。
需要说明的是,本发明实施例所提供的区块链中智能合约的注册方法或区块链中智能合约的执行方法一般由区块链网络1201中的节点12011执行,相应地,区块链中智能合约的注册装置或区块链中智能合约的执行装置一般设置于区块链网络1201中的节点12011中。
应该理解,图12中的区块链网络中的节点、终端设备、数据库、业务服务器以及预言机的数目仅仅是示意性的。根据实现需要,可以具有任意数目的区块链网络中的节点、终端设备、数据库、业务服务器以及预言机。
如图13所示,计算机系统1300包括中央处理单元(CPU)1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分Y08加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。在RAM 1303中,还存储有系统1300操作所需的各种程序和数据。CPU 1301、ROM1302以及RAM 1303通过总线Y04彼此相连。输入/输出(I/O)接口1305也连接至总线1304。
以下部件连接至I/O接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(CPU)1301执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括接收单元以及注册单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“接收定时智能合约的注册请求的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收定时智能合约的注册请求;根据注册请求,为定时智能合约生成连接到预言机合约的接口,其中,预言机合约部署于区块链上,用于接收可信预言机发送的时间信息,以通过接口提供时间信息给定时智能合约。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:为预言机合约提供可信预言机发送的时间信息,其中,可信预言机是从多个预言机中选举出;通过接口提供时间信息给定时智能合约,其中,定时智能合约包括定时触发函数,且定时智能合约通过接口连接到预言机合约;当时间信息满足定时触发函数时,执行定时智能合约。
根据本发明实施例的技术方案,通过注册部署于区块链的定时智能合约,可为定时智能合约生成连接到预言机合约的接口,在预言机合约接收到可信预言机发送的时间信息后,通过该接口将该时间信息发送给定时智能合约,以使该定时智能合约根据时间信息,可定时执行,实现了通过区块链对定时智能合约管理和执行。
另外,时间触发函数可以为任意一种能够实现定时的函数,并通过该定时来触发其对应的定时智能合约或者定时智能合约内的处理逻辑的执行。
另外,由于定时智能合约是通过部署于区块链上的预言机合约得到时间信息的,即定时智能合约不直接与外界交互,通过限定接口(连接预言机合约与定时智能合约)所能够传输的信息,即可有效地避免攻击性信息攻击定时智能合约,另外,由于一个预言机合约可连接多个定时智能合约,而且预言机合约功能比较单一,方便用户对预言机合约维护。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种区块链中定时智能合约的注册方法,其特征在于,包括:
接收定时智能合约的注册请求;
根据所述注册请求,为所述定时智能合约生成连接到预言机合约的接口,其中,所述预言机合约部署于所述区块链上,用于接收可信预言机发送的时间信息,以通过所述接口提供所述时间信息给所述定时智能合约。
2.根据权利要求1所述的区块链中定时智能合约的注册方法,其特征在于,进一步包括:
为其他智能合约生成对应的交易块,并将所述其他智能合约对应的交易记录在所述交易块内,其中,所述其他智能合约为不具有事件触发函数的智能合约,以使所述其他智能合约基于所述交易块执行。
3.根据权利要求2所述的区块链中定时智能合约的注册方法,其特征在于,进一步包括:
为所述定时智能合约生成对应的内置块或者位于所述交易块中的内置区域;
为所述内置块或者位于所述交易块中的内置区域配置对应的可消耗资源量,并将所述定时智能合约对应的交易记录在所述交易块内,以使所述定时智能合约基于所述内置块或者位于所述交易块中的内置区域执行。
4.一种区块链中定时智能合约的执行方法,其特征在于,包括:
为预言机合约提供可信预言机发送的时间信息,其中,所述可信预言机是从多个预言机中选举出;
通过接口提供所述时间信息给所述定时智能合约,其中,所述定时智能合约包括定时触发函数,且所述定时智能合约通过所述接口连接到所述预言机合约;
当所述时间信息满足所述定时触发函数时,执行所述定时智能合约。
5.根据权利要求4所述的区块链中定时智能合约的执行方法,其特征在于,进一步包括:
采用轮询方式,从多个预言机中确定可信预言机;
或者,
采用投票方式,从多个预言机中,选取可信预言机。
6.根据权利要求4所述的区块链中定时智能合约的执行方法,其特征在于,进一步包括:
生成记录日志,并将所述时间信息记录在所述记录日志中;
当接收到区块链中的可信节点或者其他可信预言机的查阅请求时,提供所述记录日志给所述可信节点或者所述其他可信预言机;
根据查阅的结果,验证所述记录日志中记录的时间信息是否准确,
如果否,将所述可信预言机标记为失信,并重新执行从多个预言机中选举可信预言机的步骤。
7.根据权利要求4所述的区块链中定时智能合约的执行方法,其特征在于,进一步包括:
针对非定时智能合约设置有交易块,其中,所述交易块内记录有所述其他智能合约对应的交易;
当接收到所述其他智能合约的执行触发时,执行所述其他智能合约对应的交易块。
8.根据权利要求7所述的区块链中定时智能合约的执行方法,其特征在于,
进一步包括:针对所述定时智能合约设置有内置块或位于所述交易块中的内置区域,并且所述内置块或所述内置区域配置有对应的可消耗资源量,其中,所述内置块或所述内置区域记录有所述定时智能合约的交易;
执行所述定时智能合约的步骤,包括:
当接收到所述定时智能合约的执行触发时,判断当前所需的资源量是否不大于所述内置块或所述内置区域对应的可消耗资源量,如果是,则执行所述定时智能合约对应的所述内置块或所述内置区域,否则,禁止执行。
9.根据权利要求4所述的区块链中定时智能合约的执行方法,其特征在于,
当所述定时智能合约包括有至少两个定时触发函数,且每一个所述定时触发函数对应于所述定时智能合约中的一个处理逻辑;
执行所述定时智能合约的步骤,包括:执行所述定时触发函数对应的处理逻辑。
10.一种区块链中定时智能合约的注册装置,其特征在于,包括:接收单元以及注册单元,其中,
所述接收单元,用于接收定时智能合约的注册请求;
所述注册单元,用于根据所述注册请求,为所述定时智能合约生成连接到预言机合约的接口,其中,所述预言机合约部署于所述区块链上,用于接收可信预言机发送的时间信息,以通过所述接口提供所述时间信息给所述定时智能合约。
11.一种区块链中定时智能合约的执行装置,其特征在于,包括:交互单元、每一个定时智能合约对应的接口以及执行单元,其中,
所述交互单元,用于为预言机合约提供可信预言机发送的时间信息,其中,所述可信预言机是从多个预言机中选举出;
所述每一个定时智能合约对应的接口,用于将对应的所述定时智能合约对应的连接到所述预言机合约,提供所述预言机合约接收到的时间信息给所述定时智能合约,其中,所述定时智能合约包括定时触发函数;
所述执行单元,用于当所述定时智能合约接收到的所述时间信息满足所述定时触发函数时,执行所述定时智能合约。
12.一种区块链中定时智能合约的执行系统,其特征在于,包括:多个预言机和权利要求11所述的区块链中定时智能合约的执行装置,其中,
所述区块链中定时智能合约的执行装置,用于从所述多个预言机中选举出可信预言机;
每一个所述预言机,用于后被选举为所述可信预言机后,通过所述区块链中定时智能合约的执行装置提供时间信息给预言机合约。
13.一种区块链中定时智能合约的注册电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110185555.8A CN112837157A (zh) | 2021-02-10 | 2021-02-10 | 区块链中定时智能合约的注册、执行方法、装置和系统 |
PCT/CN2022/075943 WO2022171188A1 (zh) | 2021-02-10 | 2022-02-10 | 区块链中定时智能合约的注册、执行方法、装置和系统 |
EP22752348.7A EP4293601A1 (en) | 2021-02-10 | 2022-02-10 | Registration method and apparatus for timed smart contract in blockchain, execution method and apparatus for timed smart contract in blockchain, and system |
US18/276,878 US20240121121A1 (en) | 2021-02-10 | 2022-02-10 | Registration and Execution Methods, Apparatuses and System of Timed Smart Contract in Blockchain |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110185555.8A CN112837157A (zh) | 2021-02-10 | 2021-02-10 | 区块链中定时智能合约的注册、执行方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112837157A true CN112837157A (zh) | 2021-05-25 |
Family
ID=75933698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110185555.8A Pending CN112837157A (zh) | 2021-02-10 | 2021-02-10 | 区块链中定时智能合约的注册、执行方法、装置和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240121121A1 (zh) |
EP (1) | EP4293601A1 (zh) |
CN (1) | CN112837157A (zh) |
WO (1) | WO2022171188A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113407944A (zh) * | 2021-06-03 | 2021-09-17 | 广东辰宜信息科技有限公司 | 智能合约的可信配置方法、装置、计算机设备及存储介质 |
WO2022171188A1 (zh) * | 2021-02-10 | 2022-08-18 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法、装置和系统 |
WO2022171189A1 (zh) * | 2021-02-10 | 2022-08-18 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法和装置 |
CN114969835A (zh) * | 2022-08-01 | 2022-08-30 | 北京笔新互联网科技有限公司 | 网页信息存证方法及装置 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116049319B (zh) * | 2023-03-07 | 2023-07-25 | 天聚地合(苏州)科技股份有限公司 | 一种基于预言机信誉值的链外数据获取方法和装置 |
CN117728961B (zh) * | 2024-02-07 | 2024-05-28 | 成都信息工程大学 | 一种区块链中可信时间服务预言机的方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474701A (zh) * | 2018-12-18 | 2019-03-15 | 北京阿斯特时代科技有限公司 | 区块链预言机、物联设备和信息处理方法 |
CN110633286A (zh) * | 2019-09-29 | 2019-12-31 | 山东爱城市网信息技术有限公司 | 一种基于区块链的授时预言机实现方法 |
CN110992020A (zh) * | 2019-11-19 | 2020-04-10 | 腾讯科技(深圳)有限公司 | 基于智能合约的数据处理方法、相关节点及存储介质 |
CN111367621A (zh) * | 2020-03-06 | 2020-07-03 | 深圳市网心科技有限公司 | 智能合约定时处理方法、区块链节点及存储介质 |
CN111753011A (zh) * | 2020-05-28 | 2020-10-09 | 山东浪潮质量链科技有限公司 | 基于区块链的智能合约执行节点选取方法及设备、介质 |
CN111818185A (zh) * | 2020-08-31 | 2020-10-23 | 支付宝(杭州)信息技术有限公司 | 启动智能合约的方法及装置、电子设备、存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11769156B2 (en) * | 2018-05-15 | 2023-09-26 | International Business Machines Corporation | Automated data projection for smart contract groups on a blockchain |
CN110659907B (zh) * | 2019-09-24 | 2021-11-12 | 北京海益同展信息科技有限公司 | 用于执行智能合约的方法和装置 |
CN112837157A (zh) * | 2021-02-10 | 2021-05-25 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法、装置和系统 |
-
2021
- 2021-02-10 CN CN202110185555.8A patent/CN112837157A/zh active Pending
-
2022
- 2022-02-10 WO PCT/CN2022/075943 patent/WO2022171188A1/zh active Application Filing
- 2022-02-10 US US18/276,878 patent/US20240121121A1/en active Pending
- 2022-02-10 EP EP22752348.7A patent/EP4293601A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474701A (zh) * | 2018-12-18 | 2019-03-15 | 北京阿斯特时代科技有限公司 | 区块链预言机、物联设备和信息处理方法 |
CN110633286A (zh) * | 2019-09-29 | 2019-12-31 | 山东爱城市网信息技术有限公司 | 一种基于区块链的授时预言机实现方法 |
CN110992020A (zh) * | 2019-11-19 | 2020-04-10 | 腾讯科技(深圳)有限公司 | 基于智能合约的数据处理方法、相关节点及存储介质 |
CN111367621A (zh) * | 2020-03-06 | 2020-07-03 | 深圳市网心科技有限公司 | 智能合约定时处理方法、区块链节点及存储介质 |
CN111753011A (zh) * | 2020-05-28 | 2020-10-09 | 山东浪潮质量链科技有限公司 | 基于区块链的智能合约执行节点选取方法及设备、介质 |
CN111818185A (zh) * | 2020-08-31 | 2020-10-23 | 支付宝(杭州)信息技术有限公司 | 启动智能合约的方法及装置、电子设备、存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022171188A1 (zh) * | 2021-02-10 | 2022-08-18 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法、装置和系统 |
WO2022171189A1 (zh) * | 2021-02-10 | 2022-08-18 | 中国人民银行数字货币研究所 | 区块链中定时智能合约的注册、执行方法和装置 |
CN113407944A (zh) * | 2021-06-03 | 2021-09-17 | 广东辰宜信息科技有限公司 | 智能合约的可信配置方法、装置、计算机设备及存储介质 |
CN113407944B (zh) * | 2021-06-03 | 2023-09-26 | 广东辰宜信息科技有限公司 | 智能合约的可信配置方法、装置、计算机设备及存储介质 |
CN114969835A (zh) * | 2022-08-01 | 2022-08-30 | 北京笔新互联网科技有限公司 | 网页信息存证方法及装置 |
CN114969835B (zh) * | 2022-08-01 | 2022-10-25 | 北京笔新互联网科技有限公司 | 网页信息存证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20240121121A1 (en) | 2024-04-11 |
WO2022171188A1 (zh) | 2022-08-18 |
EP4293601A1 (en) | 2023-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112837157A (zh) | 区块链中定时智能合约的注册、执行方法、装置和系统 | |
US10783539B2 (en) | Incentive-based crowdvoting using a blockchain | |
CN112837154B (zh) | 区块链中定时智能合约的注册、执行方法和装置 | |
US11126659B2 (en) | System and method for providing a graph protocol for forming a decentralized and distributed graph database | |
CN109034813B (zh) | 代表节点设备选举方法、装置、计算机设备及存储介质 | |
CN109783581A (zh) | 权限管理方法、装置、电子设备及存储介质 | |
CN112866282B (zh) | 区块链中时间信息验证方法和装置 | |
CN110599331B (zh) | 基于区块链的债务催收系统、方法、设备及存储介质 | |
CN108665363B (zh) | 一种区块链共识达成装置 | |
CN113256297B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
US9471665B2 (en) | Unified system for real-time coordination of content-object action items across devices | |
CN111292174A (zh) | 一种纳税信息处理方法、装置及计算机可读存储介质 | |
US20200118234A1 (en) | System and Method for Supplier Information Management | |
CN112597511A (zh) | 一种政务服务远程协同方法及装置 | |
Sengul | Distributed ledgers for spectrum authorization | |
CN112702410B (zh) | 一种基于区块链网络的评估系统、方法及相关设备 | |
US11736299B2 (en) | Data access control for edge devices using a cryptographic hash | |
CN112837155A (zh) | 区块链中智能合约的注册、执行方法和装置 | |
CN110827142A (zh) | 用户信用评估方法、系统、服务器及存储介质 | |
US20230208659A1 (en) | Blockchain apparatus and method for mobile edge computing | |
CN111866171B (zh) | 报文处理方法、装置、电子设备和介质 | |
KR20200013573A (ko) | 기업 및 기관용 통합관리 모바일 플랫폼 | |
KR20210027012A (ko) | 피어 노드와 그 정보 처리 방법 및 블록체인 플랫폼 시스템 | |
CN110599135B (zh) | 评价用户的第三方支付账号的方法、装置及电子设备 | |
US11822980B2 (en) | Integration component assessment |
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 |