CN117579633B - 区块竞选方法、装置、设备及存储介质 - Google Patents
区块竞选方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117579633B CN117579633B CN202410065990.0A CN202410065990A CN117579633B CN 117579633 B CN117579633 B CN 117579633B CN 202410065990 A CN202410065990 A CN 202410065990A CN 117579633 B CN117579633 B CN 117579633B
- Authority
- CN
- China
- Prior art keywords
- block
- information
- target
- candidate
- binding
- 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 135
- 238000003860 storage Methods 0.000 title claims abstract description 35
- 230000008901 benefit Effects 0.000 claims abstract description 119
- 230000002860 competitive effect Effects 0.000 claims abstract description 113
- 238000012545 processing Methods 0.000 claims abstract description 101
- 238000012795 verification Methods 0.000 claims description 35
- 238000012216 screening Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 7
- 238000012856 packing Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 22
- 238000013473 artificial intelligence Methods 0.000 abstract description 13
- 238000012797 qualification Methods 0.000 abstract description 5
- 238000010276 construction Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 239000011230 binding agent Substances 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
-
- 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/3247—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 digital signatures
-
- 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)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种区块竞选方法、装置、设备及存储介质,本申请实施例可应用于云技术、人工智能等场景中。其中方法包括:区块构建方获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易,基于至少一个目标捆绑交易,生成候选区块;区块提议方获取至少一个候选区块的描述信息,基于各个候选区块的收益,从候选区块中筛选出目标区块,并在区块链网络中承诺将对目标区块进行上链处理,获取目标区块的区块体,对目标区块进行上链处理。可见,各个捆绑交易可以通过竞选信息来获取上链资格,为捆绑交易上链提供了一个公平,安全的竞选环境。
Description
技术领域
本申请涉及计算机技术领域,具体涉及区块竞选方法、区块竞选装置、计算机设备及计算机可读存储介质。
背景技术
随着科技研究的进步,区块链技术飞速发展,越来越多的交易在区块链网络中执行。随着交易的增加,区块链网络中出现通过捆绑交易来获益的情况。简单来说,交易捆绑者通过在待上链的交易之前或之后绑定一个或多个交易来生成捆绑交易,并通过将捆绑交易上链(确保捆绑交易执行)来获益。研究发现,由于每次新生成的区块的容量有限,如何为捆绑交易提供一个公平的竞选(上链)环境成为目前研究的热门问题。
发明内容
本申请实施例提供了一种区块竞选方法、装置、设备及计算机可读存储介质,能够为捆绑交易提供一个公平的竞选环境。
一方面,本申请实施例提供了一种区块竞选方法,包括:
获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,第i个捆绑交易的第一竞选信息用于指示将第i个捆绑交易上链的第一收益,M为大于1的整数,i为小于等于M的正整数;
通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易;
基于至少一个目标捆绑交易,生成候选区块,候选区块包括区块头和区块体,区块头携带有摘要信息,摘要信息包括候选区块的第二竞选信息,第二竞选信息用于指示将候选区块上链的第二收益;
通过候选区块参与区块链的新区块竞选。
本申请实施例中,获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易,基于至少一个目标捆绑交易,生成候选区块,候选区块包括区块头和区块体,区块头携带有摘要信息,摘要信息包括候选区块的第二竞选信息,第二竞选信息用于指示将候选区块上链的第二收益,通过候选区块参与区块链的新区块竞选。可见,各个捆绑交易可以通过第一竞选信息来获得打包至候选区块的资格,候选区块再通过第二竞选信息参与区块链的新区块竞选,为捆绑交易上链提供了一个公平的竞选环境。
一方面,本申请实施例提供了一种区块竞选方法,包括:
获取至少一个候选区块的描述信息,任一个候选区块的描述信息包括该候选区块的区块头,每个候选区块的区块头包括摘要信息,每个摘要信息包括竞选信息,任一个候选区块的竞选信息用于指示将该候选区块上链的收益;
基于各个候选区块的收益,从候选区块中筛选出目标区块,目标区块的收益大于收益阈值;
在区块链网络中发布承诺信息,承诺信息用于承诺将对目标区块进行上链处理;
获取目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理。
本申请实施例中,获取至少一个候选区块的描述信息,基于各个候选区块的收益,从候选区块中筛选出目标区块,在区块链网络中发布承诺信息,承诺信息用于承诺将对目标区块进行上链处理,获取目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理。可见,在上链前先通过候选区块的描述信息确定最终上链的目标区块,再获取目标区块的区块体并对目标区块进行上链,可以降低区块体中数据泄露的风险,为候选区块上链提供了一个安全的竞选环境。
一方面,本申请实施例提供了一种区块竞选装置,该区块竞选装置包括:
获取单元,用于获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,第i个捆绑交易的第一竞选信息用于指示将第i个捆绑交易上链的第一收益,M为大于1的整数,i为小于等于M的正整数;
处理单元,用于通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易;
以及用于基于至少一个目标捆绑交易,生成候选区块,候选区块包括区块头和区块体,区块头携带有摘要信息,摘要信息包括候选区块的第二竞选信息,第二竞选信息用于指示将候选区块上链的第二收益;
以及用于通过候选区块参与区块链的新区块竞选。
在一种实施方式中,处理单元用于,通过候选区块参与区块链的新区块竞选,具体用于:
向区块提议方发送候选区块的描述信息,描述信息包括候选区块的区块头;
获取区块提议方发布的承诺信息,承诺信息是区块提议方采用私钥,对区块提议方承诺上链的目标区块的区块头进行签名得到的;
采用区块提议方的公钥对承诺信息进行验签处理,得到承诺信息的验签结果;
若承诺信息的验签结果指示承诺信息通过验证,且候选区块与目标区块匹配,则向区块提议方发送候选区块的区块体,以使区块提议方基于候选区块的区块头和区块体,对候选区块进行上链处理。
在一种实施方式中,处理单元还用于:
采用私钥对候选区块的区块头进行签名,得到携带签名信息的区块头;
获取候选区块的高度指示信息,高度指示信息用于指示候选区块上链后的高度;
对携带签名信息的区块头和高度指示信息进行打包,得到候选区块的描述信息。
在一种实施方式中,处理单元用于,通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易,具体用于:
获取候选区块的容量;
通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益;
根据各个捆绑交易的总收益和体积,计算每个捆绑交易的性价比;
基于候选区块的容量和M个捆绑交易的性价比,从M个捆绑交易中筛选出至少一个目标捆绑交易。
在一种实施方式中,处理单元用于,通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益,具体用于:
获取每个捆绑交易对应的手续信息,任一个捆绑交易的手续信息用于指示该捆绑交易的上链手续;
基于每个捆绑交易对应的手续信息,计算将每个捆绑交易上链的手续收益;
对每个捆绑交易的第一收益和手续收益进行求和处理,得到每个捆绑交易的总收益。
在一种实施方式中,处理单元用于,基于候选区块的容量和M个捆绑交易的性价比,从M个捆绑交易中筛选出至少一个目标捆绑交易,具体用于:
按照性价比从高到低的顺序,对M个捆绑交易进行排序,得到捆绑交易序列;
基于候选区块的容量,将捆绑交易序列中的前N个捆绑交易确定为目标捆绑交易,N个目标捆绑交易的体积和小于等于候选区块的容量,N为小于等于M的正整数。
在一种实施方式中,处理单元还用于:
对各个目标捆绑交易的总收益进行求和,得到候选区块的总收益;
基于候选区块的总收益,确定候选区块的第二竞选信息。
在一种实施方式中,处理单元用于,基于至少一个目标捆绑交易,生成候选区块,具体用于:
对至少一个目标捆绑交易进行打包,得到候选区块的区块体;
获取第二竞选信息,并对候选区块的区块体和第二竞选信息进行摘要提取处理,得到摘要信息;
将摘要信息添加至候选区块的区块头;
对候选区块的区块头和区块体进行合并,得到候选区块。
一方面,本申请实施例提供了一种区块竞选装置,该区块竞选装置包括:
获取单元,用于获取至少一个候选区块的描述信息,任一个候选区块的描述信息包括该候选区块的区块头,每个候选区块的区块头包括摘要信息,每个摘要信息包括竞选信息,任一个候选区块的竞选信息用于指示将该候选区块上链的收益;
处理单元,用于基于各个候选区块的收益,从候选区块中筛选出目标区块,目标区块的收益大于收益阈值;
以及用于在区块链网络中发布承诺信息,承诺信息用于承诺将对目标区块进行上链处理;
获取单元,还用于获取目标区块的区块体,处理单元,还用于基于目标区块的区块头和区块体,对目标区块进行上链处理。
在一种实施方式中,任一个候选区块的描述信息还包括该候选区块的高度指示信息,高度指示信息用于指示该候选区块上链后的高度;处理单元用于,基于各个候选区块的收益,从候选区块中筛选出目标区块,具体用于:
对区块链当前的高度进行加一处理,得到目标高度;
保留候选区块中高度指示信息与目标高度匹配的候选区块;
将保留的候选区块中收益最大的候选区块确定为目标区块。
在一种实施方式中,任一个候选区块的区块头携带有该候选区块的提供方的签名信息;处理单元用于,在区块链网络中发布承诺信息,具体用于:
通过目标区块的提供方的公钥,对目标区块的区块头携带的签名信息进行验签处理;
若目标区块验签通过,则采用私钥对目标区块的区块头进行签名,得到承诺信息;
在区块链网络中发布承诺信息。
在一种实施方式中,任一个候选区块的摘要信息,是对该候选区块的区块体和该候选区块的竞选信息进行哈希计算得到的;处理单元用于,获取目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理,具体用于:
获取目标区块的区块体;
对目标区块的区块体和目标区块的竞选信息进行哈希计算,得到目标哈希值;
若目标哈希值与目标区块的摘要信息匹配,则基于目标区块的区块头和区块体,对目标区块进行上链处理。
在一种实施方式中,处理单元还用于:
若未成功获取目标区块的区块体,则发布空区块。
相应地,本申请提供了一种计算机设备,该计算机设备包括:
存储器,存储器中存储有计算机程序;
处理器,用于加载计算机程序实现上述区块竞选方法。
相应地,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行上述区块竞选方法。
相应地,本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述区块竞选方法。
本申请实施例中,区块构建方获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易,基于至少一个目标捆绑交易,生成候选区块;区块提议方获取至少一个候选区块的描述信息,基于各个候选区块的收益,从候选区块中筛选出目标区块,在区块链网络中发布承诺信息,承诺信息用于承诺将对目标区块进行上链处理,获取目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理。可见,各个捆绑交易可以通过第一竞选信息来获得打包至候选区块的资格,候选区块再通过第二竞选信息参与区块链的新区块竞选,区块构建方在竞选成功后向区块提议方提供区块体。为捆绑交易上链提供了一个公平,安全的竞选环境。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据共享系统的架构示意图。
图2为本申请实施例提供的一种区块链的结构示意图。
图3为本申请实施例提供的一种生成区块的流程示意图。
图4为本申请实施例提供的一种区块竞选场景图。
图5为本申请实施例提供的一种区块竞选架构图。
图6为本申请实施例提供的一种区块竞选方法的流程图。
图7为本申请实施例提供的另一种区块竞选方法的流程图。
图8为本申请实施例提供的再一种区块竞选方法的流程图。
图9为本申请实施例提供的一种区块竞选数据交互图。
图10为本申请实施例提供的一种区块竞选装置的结构示意图。
图11为本申请实施例提供的另一种区块竞选装置的结构示意图。
图12为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及人工智能,云技术和区块链技术,下面对人工智能和区块链技术的相关术语及概念进行简要介绍:
人工智能(Artificial Intelligence,AI):所谓AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。本申请实施例主要涉及通过交易筛选模型基于候选区块的容量,捆绑交易的总收益和体积,筛选出(添加到候选区块中的)目标捆绑交易。
AI技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。预训练模型是深度学习的最新发展成果,融合了以上技术。本申请实施例主要涉及基于训练数据集对交易筛选模型进行训练,以进一步提高交易筛选模型的筛选结果的合理性。
云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术的核心是云计算(Cloud Computing),云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。本申请实施例主要涉及通过数据挖掘发现可获利交易。
区块链(Blockchain),是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于校验其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链网络可以理解为一个数据共享系统100,数据共享系统100是指用于进行节点与节点之间数据共享的系统,该数据共享系统100的一种示例性结构可参见图1;如图1所示,该数据共享系统中可以包括多个节点1001,多个节点1001可以是指数据共享系统中各个客户端。每个节点1001在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其它节点便根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其它节点的节点标识,以便后续根据其它节点的节点标识,将生成的区块广播至数据共享系统中的其它节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其它任一种能够用于标识该节点的信息;例如,节点的标识还可以是二进制序列码(如110001110),表1中仅以IP地址为例进行说明:
数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,参见图2,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在生成区块链中的各个区块时,参见图3,区块链所在的节点在接收到输入信息时,对输入信息进行校验,完成校验后,将输入信息存储至内存池中,并更新其用于记录输入信息的哈希树;之后,将更新时间戳更新为接收到输入信息的时间,并尝试不同的随机数,多次进行特征值计算,使得计算得到的特征值可以满足下述公式:
SHA256(SHA256(version+prev_hash+merkle_root+ntime+nbits+x))<TARGET
其中,SHA256为计算特征值所用的特征值算法;version(版本号)为区块链中相关区块协议的版本信息;prev_hash为当前区块的父区块的区块头特征值;merkle_root为输入信息的特征值;ntime为更新时间戳的更新时间;nbits为当前难度,在一段时间内为定值,并在超出固定时间段后再次进行确定;x为随机数;TARGET为特征值阈值,该特征值阈值可以根据nbits确定得到。
这样,当计算得到满足上述公式的随机数时,便可将信息对应存储,生成区块头和区块主体,得到当前区块。随后,区块链所在节点根据数据共享系统中其他节点的节点标识,将新生成的区块分别发送给其所在的数据共享系统中的其他节点,由其他节点对新生成的区块进行校验,并在完成校验后将新生成的区块添加至其存储的区块链中。
基于上述与人工智能和区块链相关的技术,本申请实施例提供了一种区块竞选方案,可以为捆绑交易提供一个公平的竞选环境。图4为本申请实施例提供的一种区块竞选场景图,如图4所示,本申请提供的区块竞选场景中包括交易捆绑节点401,区块构建节点402和区块提议节点403,本申请提供的区块竞选方案可由区块构建节点402或者区块提议节点403执行。其中,交易捆绑节点401,区块构建节点402和区块提议节点403具体可以是终端设备或者服务器,终端设备可以包括但不限于:智能手机(如Android手机、IOS手机等)、平板电脑、便携式个人计算机、移动互联网设备(Mobile Internet Devices,简称MID)、智能语音交互设备、智能家电、车载终端、飞行器、可穿戴设备等,本申请实施例对此不做限定;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请实施例对此不做限定。
需要说明的是,图4中交易捆绑节点401,区块构建节点402和区块提议节点403的数量仅用于举例,并不构成本申请的实际限定。交易捆绑节点401,区块构建节点402和区块提议节点403之间可以通过有线或无线的方式进行连接,本申请对此不作限制。
图5为本申请实施例提供的一种区块竞选架构图。如图5所示,本申请提供的区块竞选方案的大致流程如下:
(1)区块构建节点402获取M个捆绑交易,以及每个捆绑交易的第一竞选信息;其中,捆绑交易由至少两个交易组成,捆绑交易中的交易执行顺序固定,且捆绑交易中的交易不可被分割。第i个捆绑交易的第一竞选信息用于指示将第i个捆绑交易上链的第一收益,M为大于1的整数,i为小于等于M的正整数。第i个捆绑交易和第i个捆绑交易的第一竞选信息,可以是交易捆绑节点401向区块构建节点402发送的,还可以是区块链网络中的其他区块构建节点向区块构建节点402广播的,本申请对此不做限制。
在一种实施方式中,交易捆绑节点401从区块链网络中(如通过数据挖掘)搜索待上链的可获利交易,在搜索到待上链的可获利交易后,在待上链的可获利交易之前或者之后添加至少一个交易,得到捆绑交易。在得到捆绑交易后,交易捆绑节点401预测该捆绑交易的执行收益,并基于该执行收益生成捆绑交易的第一竞选信息(如基于执行收益和预设比例计算捆绑交易的第一收益,并基于第一收益生成捆绑交易的第一竞选信息)。在得到捆绑交易和捆绑交易的第一竞选信息后,交易捆绑节点401可以向区块链网络中的一个或多个区块构建节点402发送捆绑交易和捆绑交易的第一竞选信息。
(2)区块构建节点402通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易。区块构建节点402可以按照预设的筛选策略从M个捆绑交易中筛选出至少一个目标捆绑交易;例如,筛选收益大于收益阈值的捆绑交易作为目标捆绑交易,或者筛选体积小于体积阈值的捆绑交易作为目标捆绑交易等。在一种实施方式中,区块构建节点402一方面获取候选区块的容量;另一方面通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益,并根据各个捆绑交易的总收益和体积,计算每个捆绑交易的性价比。在得到候选区块的容量和每个捆绑交易的性价比后,区块构建节点402基于候选区块的容量和M个捆绑交易的性价比,从M个捆绑交易中筛选出至少一个目标捆绑交易。
(3)区块构建节点402基于至少一个目标捆绑交易,生成候选区块;其中,候选区块包括区块头和区块体,区块头携带有摘要信息,摘要信息包括候选区块的第二竞选信息,第二竞选信息用于指示将候选区块上链的第二收益。在一种实施方式中,区块构建节点402对至少一个目标捆绑交易进行打包,得到候选区块的区块体,获取第二竞选信息(如对各个目标捆绑交易的总收益(每个捆绑交易的总收益是基于该捆绑交易的第一收益和手续收益计算得到的)进行求和,得到候选区块的总收益,并基于候选区块的总收益和预设比例计算候选区块上链的第二收益,基于第二收益生成第二竞选信息),并对候选区块的区块体和第二竞选信息进行摘要提取处理(如对候选区块的区块体和第二竞选信息进行哈希计算),得到摘要信息。在得到摘要信息后,区块构建节点402将摘要信息添加至候选区块的区块头,并对候选区块的区块头和区块体进行合并,得到候选区块。
进一步地,区块构建节点402一方面采用私钥对候选区块的区块头进行签名,得到携带签名信息的区块头;另一方面,获取候选区块的高度指示信息,高度指示信息用于指示候选区块上链后的高度(即候选区块期望的高度)。在得到携带签名信息的区块头和高度指示信息后,区块构建节点402对携带签名信息的区块头和高度指示信息进行打包,得到候选区块的描述信息。区块构建节点402向区块提议节点403发送候选区块的描述信息,以参与区块链的新区块竞选。
(4)区块提议节点403获取至少一个候选区块的描述信息。任一个候选区块的描述信息包括该候选区块的区块头,每个候选区块的区块头包括摘要信息,每个摘要信息包括第二竞选信息,任一个候选区块的第二竞选信息用于指示将该候选区块上链的第二收益。
(5)区块提议节点403基于各个候选区块的收益,从候选区块中筛选出目标区块;其中,目标区块的收益大于收益阈值,该收益阈值可以基于各个候选区块的收益动态调整;例如,将候选区块的收益中第二大的收益确定为收益阈值。在一种实施方式中,任一个候选区块的描述信息还包括该候选区块的高度指示信息,高度指示信息用于指示该候选区块上链后的高度。区块提议节点403对区块链当前的(最大)高度进行加一处理,得到目标高度;例如,假设区块链当前的高度为400,则目标高度为401。区块提议节点403保留候选区块中高度指示信息与目标高度匹配的候选区块,并将保留的候选区块中收益最大的候选区块确定为目标区块。
(6)区块提议节点403在区块链网络中发布承诺信息;其中,承诺信息用于承诺将对目标区块进行上链处理。在一种实施方式中,任一个候选区块的区块头携带有该候选区块的提供方的签名信息。区块提议节点403通过目标区块的提供方的公钥,对目标区块的区块头携带的签名信息进行验签处理。若目标区块验签通过,则区块提议节点403采用私钥对目标区块的区块头进行签名,得到承诺信息,并在区块链网络中发布承诺信息。
(7)区块构建节点402获取区块提议节点403发布的承诺信息,并采用区块提议节点403的公钥对承诺信息进行验签处理,得到承诺信息的验签结果。在一种实施方式中,若承诺信息的验签结果指示承诺信息通过验证(即区块提议节点403承诺有效),且候选区块与目标区块匹配(即候选区块竞选成功),则区块构建节点402向区块提议节点403发送候选区块(即目标区块)的区块体。区块提议节点403获取区块构建节点402发送的目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理。
本申请实施例中,区块构建方获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易,基于至少一个目标捆绑交易,生成候选区块;区块提议方获取至少一个候选区块的描述信息,基于各个候选区块的收益,从候选区块中筛选出目标区块,在区块链网络中发布承诺信息,承诺信息用于承诺将对目标区块进行上链处理,获取目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理。可见,各个捆绑交易可以通过第一竞选信息来获得打包至候选区块的资格,候选区块再通过第二竞选信息参与区块链的新区块竞选,区块构建方在竞选成功后向区块提议方提供区块体。为捆绑交易上链提供了一个公平,安全的竞选环境。
基于上述区块竞选方案,本申请实施例提出更为详细的区块竞选方法,下面将结合附图对本申请实施例提出的区块竞选方法进行详细介绍。
请参阅图6,图6为本申请实施例提供的一种区块竞选方法的流程图,该区块竞选方法可以由计算机设备执行;例如,由图4中所示的区块构建节点402执行。如图6所示,该区块竞选方法可包括如下步骤S601-步骤S604:
S601、获取M个捆绑交易,以及每个捆绑交易的第一竞选信息。
捆绑交易由至少两个交易组成,捆绑交易中的交易执行顺序固定,且捆绑交易中的交易不可被分割(即若在捆绑交易中间插入其他交易,则原捆绑交易失效)。第i个捆绑交易的第一竞选信息用于指示将第i个捆绑交易上链的第一收益,M为大于1的整数,i为小于等于M的正整数。
在本申请实施例中,上链的流程包括:将捆绑交易添加(打包)至候选区块,通过该候选区块参与区块链的新区块竞选。也就是说,当携带第i个捆绑交易的候选区块竞选成功(被作为新的区块上链)时,构造该候选区块的区块构建节点可以获得第i个捆绑交易的第一竞选信息所指示的第一收益。
S602、通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易。
计算机设备可以按照预设的筛选策略从M个捆绑交易中筛选出至少一个目标捆绑交易;例如,筛选收益大于收益阈值的捆绑交易作为目标捆绑交易,或者筛选体积小于体积阈值的捆绑交易作为目标捆绑交易,或者基于捆绑交易的提供方的可信度进行筛选等等。
在一种实施方式中,一方面,计算机设备获取候选区块的容量(用于确定交易存储上限);另一方面,计算机设备通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益。在一个实施例中,计算机设备获取每个捆绑交易对应的手续信息,任一个捆绑交易的手续信息用于指示该捆绑交易的上链手续(如交易验证等等)。计算机设备基于每个捆绑交易对应的手续信息,计算将每个捆绑交易上链的手续收益,手续收益可以理解为成功将捆绑交易上链可以收取的手续费,第一收益可以理解为捆绑交易的提供方为了竞选上链额外付出的费用。计算机设备对每个捆绑交易的第一收益和手续收益进行求和处理,得到每个捆绑交易的总收益。在得到每个捆绑交易的总收益后,计算机设备根据每个捆绑交易的总收益和体积(用于指示捆绑交易占用的存储空间),计算每个捆绑交易的性价比;其中,第i个捆绑交易的性价比可以表示为:第i个捆绑交易的总收益/第i个捆绑交易的体积。
在得到候选区块的容量和每个捆绑交易的性价比后,计算机设备基于候选区块的容量和M个捆绑交易的性价比,从M个捆绑交易中筛选出至少一个目标捆绑交易。在一个实施例中,计算机设备按照性价比从高到低的顺序,对M个捆绑交易进行排序,得到捆绑交易序列,接着基于候选区块的容量,将捆绑交易序列中的前N个捆绑交易确定为目标捆绑交易,N个目标捆绑交易的体积和小于等于候选区块的容量,N为小于等于M的正整数。在另一个实施例中,计算机设备可以调用交易筛选模型基于候选区块的容量对M个捆绑交易的性价比进行筛选处理,得到至少一个目标捆绑交易;其中,交易筛选模型是基于训练数据对待训练模型进行训练得到的。具体来说,训练数据包括样本数据和样本数据对应的校验数据,计算机设备调用待训练模型对样本数据进行筛选处理,得到筛选结果,再基于筛选结果和校验数据之间的差异,对待训练模型进行优化(如调整待训练模型中的参数),得到交易筛选模型。
可选的,若M个捆绑交易的总体积小于候选区块的容量,则计算机设备直接将M个捆绑交易确定为目标捆绑交易,即计算机设备可以直接将M个捆绑交易全部打包至候选区块中。
S603、基于至少一个目标捆绑交易,生成候选区块。
候选区块包括区块头和区块体,区块头携带有摘要信息,摘要信息包括候选区块的第二竞选信息,第二竞选信息用于指示将候选区块上链的第二收益。
在一种实施方式中,一方面,计算机设备对至少一个目标捆绑交易进行打包,得到候选区块的区块体;另一方面,计算机设备获取第二竞选信息。在一个实施例中,计算机设备对各个目标捆绑交易的总收益进行求和,得到候选区块的总收益,并基于候选区块的总收益,确定候选区块的第二竞选信息,第二竞选信息中的第二收益可以由工作人员指定,也可以基于预设规则计算得到,本申请对此不做限制;例如,计算机设备通过候选区块的总收益和预设比例计算候选区块上链的第二收益,并基于第二收益生成第二竞选信息。
在得到候选区块的区块体和第二竞选信息后,计算机设备对候选区块的区块体和第二竞选信息进行摘要提取处理,得到摘要信息。在一个实施例中,摘要提取过程不可逆;例如,计算机设备对选区块的区块体和第二竞选信息进行哈希计算,得到摘要信息。在得到摘要信息后,计算机设备将摘要信息添加至候选区块的区块头,并对候选区块的区块头和区块体进行合并,得到候选区块。
S604、通过候选区块参与区块链的新区块竞选。
在一种实施方式中,一方面,计算机设备采用私钥对候选区块的区块头进行签名,得到携带签名信息的区块头(携带签名信息的区块头用于证明计算机设备拥有一个竞选上链的候选区块);另一方面,计算机设备获取候选区块的高度指示信息(如对当前区块链进行加一处理,得到候选区块的高度指示信息),高度指示信息用于指示候选区块上链后的高度(即候选区块期望的高度)。在得到携带签名信息的区块头和高度指示信息后,计算机设备对携带签名信息的区块头和高度指示信息进行打包,得到候选区块的描述信息。
进一步地,计算机设备向区块提议方发送候选区块的描述信息,描述信息包括候选区块的区块头(携带签名信息)。在一个实施例中,候选区块的高度指示信息也可以直接携带于候选区块的区块头中,此时计算机设备直接向区块提议方发送候选区块的区块头(携带签名信息)即可。计算机设备获取区块提议方发布的承诺信息,承诺信息是区块提议方采用私钥,对区块提议方承诺上链的目标区块的区块头进行签名得到的。计算机设备采用区块提议方的公钥对承诺信息进行验签处理,得到承诺信息的验签结果。若承诺信息的验签结果指示承诺信息通过验证,且候选区块与目标区块匹配(即候选区块被区块提议方选中,且区块提议方承诺对候选区块进行上链),则计算机设备向区块提议方发送候选区块的区块体,以使区块提议方基于候选区块的区块头和区块体,对候选区块进行上链处理。
本申请实施例中,获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易,基于至少一个目标捆绑交易,生成候选区块,候选区块包括区块头和区块体,区块头携带有摘要信息,摘要信息包括候选区块的第二竞选信息,第二竞选信息用于指示将候选区块上链的第二收益,通过候选区块参与区块链的新区块竞选。可见,各个捆绑交易可以通过第一竞选信息来获得打包至候选区块的资格,候选区块再通过第二竞选信息参与区块链的新区块竞选,为捆绑交易上链提供了一个公平的竞选环境。
请参阅图7,图7为本申请实施例提供的另一种区块竞选方法的流程图,该区块竞选方法可以由计算机设备执行;例如,由图4中所示的区块构建节点402执行。如图7所示,该区块竞选方法可包括如下步骤S701-步骤S707:
S701、获取M个捆绑交易,以及每个捆绑交易的第一竞选信息。
在一种实施方式中,交易捆绑者从区块链网络中搜索待上链的可获利交易,在搜索到待上链的可获利交易后,在待上链的可获利交易之前或者之后添加至少一个交易,得到捆绑交易。具体可以表示为:
其中,Bundle表示捆绑交易,Tx2为可获利交易,Tx1和Tx3为交易捆绑者添加的交易。
在得到捆绑交易后,交易捆绑者预测该捆绑交易的执行收益。在一个实施例中,交易捆绑者获取账户执行捆绑交易之前的账户余额,模拟执行捆绑交易,并获取执行捆绑交易后的账户余额,计算执行捆绑交易之后的账户余额与执行捆绑交易之前的账户余额之间的差值,得到捆绑交易的执行收益。具体可以表示为:
其中,表示捆绑交易的执行收益,/>为执行捆绑交易之后的账户余额,在Bundle = [Tx1,Tx2,Tx3]的情况下,捆绑交易之后的账户余额是指执行捆绑交易后,Tx1和Tx3对应的账户余额;类似地,/>为执行捆绑交易之前的账户余额,在Bundle = [Tx1,Tx2,Tx3]的情况下,捆绑交易之前的账户余额是指执行捆绑交易前,Tx1和Tx3对应的账户余额。
在得到执行收益后,交易捆绑者基于该执行收益生成捆绑交易的第一竞选信息,第一竞选信息中的第一收益可以由工作人员指定,也可以基于预设规则计算得到,本申请对此不做限制;例如,计算机设备通过执行收益和预设比例计算第一收益,并基于第一收益生成第一竞选信息。在得到捆绑交易和捆绑交易的第一竞选信息后,交易捆绑者可以向区块链网络中的一个或多个区块构建节点发送捆绑交易和捆绑交易的第一竞选信息。
在一个实施例中,交易捆绑者基于第一竞选信息生成目标交易,并将签名后的目标交易添加至捆绑交易中(如作为捆绑交易中的最后一个交易),目标交易用于向成功将捆绑交易上链的区块构建方转移资源,转移的资源量为第一收益所指示的资源量。具体可以表示为:
其中,为添加目标交易后的捆绑交易,bundle为添加目标交易前的捆绑交易,/>为目标交易,目标交易对应的资源量可以表示为/>。交易捆绑者可以将/>(即捆绑交易)和/>(作为捆绑交易的第一竞选信息)发送给区块链网络中的一个或多个区块构建节点,以竞选该捆绑交易的上链资格。
S702、获取候选区块的容量。
在一种实施方式中,计算机设备基于区块链中一个或多个区块的容量,确定候选区块的容量。
S703、通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益。
在一种实施方式中,计算机设备获取每个捆绑交易对应的手续信息,任一个捆绑交易的手续信息用于指示该捆绑交易的上链手续。计算机设备基于每个捆绑交易对应的手续信息,计算将每个捆绑交易上链的手续收益。在得到各个捆绑交易的手续收益后,计算机设备对每个捆绑交易的第一收益和手续收益进行求和处理,得到每个捆绑交易的总收益。具体可以表示为:
其中,Total表示一个捆绑交易的总收益,为捆绑交易的手续收益,为捆绑交易的第一收益。
S704、根据各个捆绑交易的总收益和体积,计算每个捆绑交易的性价比。
在一种实施方式中,任一个捆绑交易的性价比为该捆绑交易的总收益与该捆绑交易的体积的比值。具体可以表示为:
其中,表示一个捆绑交易的性价比,/>为捆绑交易的总收益,为捆绑交易的体积。
S705、基于候选区块的容量和M个捆绑交易的性价比,从M个捆绑交易中筛选出至少一个目标捆绑交易。
在一种实施方式中,计算机设备按照性价比从高到低的顺序,对M个捆绑交易进行排序,得到捆绑交易序列。计算机设备基于候选区块的容量,将捆绑交易序列中的前N个捆绑交易确定为目标捆绑交易,N个目标捆绑交易的体积和小于等于候选区块的容量,N为小于等于M的正整数。
S706、基于至少一个目标捆绑交易,生成候选区块。
一方面,计算机设备对至少一个目标捆绑交易进行打包,得到候选区块的区块体。在一个实施例中,计算机设备依据捆绑交易序列中性价比由高到低的顺序,逐一将捆绑交易添加至候选区块的区块体中,直至候选区块的区块体被装满(无法再加入新的捆绑交易)。
若N个目标捆绑交易的体积小于候选区块的容量,则计算机设备还可以检测M个捆绑交易中是否存在两个替换捆绑交易,当第N个目标捆绑交易(N个目标捆绑交易中性价比最低的捆绑交易)被移出后,候选区块可以容量其余N-1个目标捆绑交易和两个替换捆绑交易,且两个替换捆绑交易的总收益之和大于第N个目标捆绑交易的总收益。若M个捆绑交易中存在两个替换捆绑交易,则计算机设备移除第N个目标捆绑交易,并将两个替换捆绑交易确定为目标捆绑交易,即在此情况下总共有N+1个目标捆绑交易。
举例来说,假设第N个目标捆绑交易的总收益为3虚拟币,体积为3kb,将N个目标捆绑交易添加至候选区块后,候选区块还空余1kb,剩余M-N个捆绑交易的体积均大于1kb,若剩余M-N个捆绑交易中存在两个替换捆绑交易总收益均为1.8虚拟币,且体积均为2kb,则计算机设备移除第N个目标捆绑交易,并将两个替换捆绑交易确定为目标捆绑交易。
另一方面,计算机设备获取第二竞选信息。在一个实施例中,计算机设备对各个目标捆绑交易的总收益进行求和,得到候选区块的总收益,并基于候选区块的总收益,确定候选区块的第二竞选信息。接着计算机设备对候选区块的区块体和第二竞选信息进行哈希计算,得到摘要信息。具体可以表示为:
其中,表示摘要信息,Hash(x,y)表示对x和y进行哈希计算,为候选区块的区块体(区块体中的捆绑交易组合为M个捆绑交易中收益最大的捆绑交易组合),/>为第二竞选信息(用于指示将候选区块上链的第二收益)。
在得到摘要信息后,计算机设备将摘要信息添加至候选区块的区块头(候选区块的区块头可以基于候选区块的区块体生成),并对候选区块的区块头和区块体进行合并,得到候选区块。具体可以表示为:
其中,Block表示候选区块,为候选区块的区块头,/>为候选区块的区块体。
S707、通过候选区块参与区块链的新区块竞选。
步骤S707的具体实施方式可参考图6中步骤S604的实施方式,在此不再赘述。
可以理解的是,若候选区块竞选失败,则计算机设备可以继续通过该候选区块参与下一个新区块的竞选;也可以重新构建候选区块(如基于竞选过程中接收到的一个或多个捆绑交易,重新构建候选区块),再通过新构建的候选区块参与下一个新区块的竞选;还可以调整候选区块的第二竞选信息(如增大第二收益),以提高候选区块的竞选成功率。
本申请实施例中,获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易,基于至少一个目标捆绑交易,生成候选区块,候选区块包括区块头和区块体,区块头携带有摘要信息,摘要信息包括候选区块的第二竞选信息,第二竞选信息用于指示将候选区块上链的第二收益,通过候选区块参与区块链的新区块竞选。可见,各个捆绑交易可以通过第一竞选信息来获得打包至候选区块的资格,候选区块再通过第二竞选信息参与区块链的新区块竞选,为捆绑交易上链提供了一个公平的竞选环境。此外,通过对候选区块的区块头进行签名,可以证明候选区块的所有权,提高数据(候选区块的区块头)的可靠性。
请参阅图8,图8为本申请实施例提供的再一种区块竞选方法的流程图,该区块竞选方法可以由计算机设备执行;例如,由图4中所示的区块提议节点403执行。如图8所示,该区块竞选方法可包括如下步骤S801-步骤S804:
S801、获取至少一个候选区块的描述信息。
任一个候选区块的描述信息包括该候选区块的区块头,每个候选区块的区块头包括摘要信息,每个摘要信息包括竞选信息(即图6和图7实施例中的第二竞选信息),任一个候选区块的竞选信息用于指示将该候选区块上链的收益(即图6和图7实施例中的第二收益)。
S802、基于各个候选区块的收益,从候选区块中筛选出目标区块。
目标区块的收益大于收益阈值,该收益阈值可以基于各个候选区块的收益动态调整;例如,将候选区块的收益中第二大的收益确定为收益阈值。
在一种实施方式中,任一个候选区块的描述信息还包括该候选区块的高度指示信息,高度指示信息用于指示该候选区块上链后的高度。计算机设备对区块链当前的(最大)高度进行加一处理,得到目标高度。计算机设备保留候选区块中高度指示信息与目标高度匹配的候选区块,并将保留的候选区块中收益最大的候选区块确定为目标区块。
举例来说,假设存在候选区块1-候选区块3,候选区块1的高度指示信息指示的高度为101,收益为50虚拟币,候选区块2的高度指示信息指示的高度为103,收益为100虚拟币,候选区块3的高度指示信息指示的高度为101,收益为70虚拟币,区块链当前的高度为100;则目标高度为101,计算机设备保留候选区块1和候选区块3,并基于收益大小将候选区块3确定为目标区块。
在另一种实施方式中,在不考虑候选区块高度的情况下,计算机设备直接将收益最大的候选区块确定为目标区块。
S803、在区块链网络中发布承诺信息。
承诺信息用于承诺计算机设备将对目标区块进行上链处理。
在一种实施方式中,任一个候选区块的区块头携带有该候选区块的提供方的签名信息。计算机设备通过目标区块的提供方的公钥,对目标区块的区块头携带的签名信息进行验签处理。若目标区块验签通过(即确定目标区块有效),则计算机设备采用私钥对目标区块的区块头进行签名(即承诺对目标区块进行上链处理),得到承诺信息,并在区块链网络中发布承诺信息。
在另一种实施方式中,计算机设备采用私钥对目标区块的区块头进行签名(即承诺对目标区块进行上链处理),得到承诺信息,并在区块链网络中发布承诺信息。
S804、获取目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理。
在一种实施方式中,计算机设备获取目标区块的提供方响应于承诺信息发送的目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理。具体来说,计算机设备在区块链网络中对目标区块进行共识,若目标区块通过区块链网络的共识,则将目标区块作为新的区块添加至区块链中。
在另一种实施方式中,任一个候选区块的摘要信息,是对该候选区块的区块体和该候选区块的竞选信息进行哈希计算得到的。计算机设备获取目标区块的区块体,并对目标区块的区块体和目标区块的竞选信息进行哈希计算,得到目标哈希值。若目标哈希值与目标区块的摘要信息匹配,则计算机设备基于目标区块的区块头和区块体,对目标区块进行上链处理。
在再一种实施方式中,若未成功获取目标区块的区块体,则计算机设备可以通过发布空区块,来获取目标区块的竞选信息指示的将目标区块上链的收益。
图9为本申请实施例提供的一种区块竞选数据交互图。如图9所示,本申请提供的区块竞选流程包括如下步骤:
S11、交易捆绑方生成捆绑交易和捆绑交易的第一竞选信息。在一种实施方式中,交易捆绑方从区块链网络中搜索待上链的可获利交易,在搜索到待上链的可获利交易后,在待上链的可获利交易之前或者之后添加至少一个交易,得到捆绑交易。由上述可知,可获利交易可以理解为:通过在可获利交易之前或者之后添加至少一个交易,可以在捆绑交易执行后从可获利交易中获取收益。交易捆绑方在生成捆绑交易后,基于该捆绑交易的收益生成第一竞选信息。
S12、交易捆绑方向一个或多个区块构建方发送捆绑交易和第一竞选信息。
S13、区块构建方基于捆绑交易的第一竞选信息构建候选区块,并生成第二竞选信息。具体的实施方式可参考图6中步骤S602和步骤S603,在此不再赘述。
S14、区块构建方向区块提议方发送候选区块的区块头和第二竞选信息,以参与区块链新区块的竞选。
S15、区块提议方基于各个候选区块的第二竞选信息确定目标区块。具体的实施方式可参考图8中步骤S802在此不再赘述。需要说明的是,区块提议网络中包括多个节点,每个节点在不同时刻可以提议者,也可以是验证者,在任一时刻,区块提议方网络其中一个节点会被选为提议者,此时,其他节点为验证者。本申请所指的区块提议方即为区块提议网络中的提议者。
S16、区块提议方发布承诺信息。区块构建方可以基于区块提议方发布的承诺信息,确定自身构造的候选区块是否竞选成功(即是否被区块提议方选为目标区块)。若自身构造的候选区块竞选成功,则继续执行步骤S17。
S17、区块构建方向区块提议方发送候选区块的区块体。
S18、区块提议方基于目标区块的区块头和区块体,对目标区块进行上链处理。若区块提议方未成功获取目标区块的区块体,则可以通过发布空区块,来获取目标区块的竞选信息指示的将目标区块上链的收益。
由步骤S11-步骤S17可知,在区块提议方为发布承诺信息之前,区块构建方只发布候选区块的区块头,此时,候选区块的区块体(区块内容)不会泄露。若区块提议方在获取区块体后改动了其中内容(如恶意生成新的交易来占有捆绑交易中的收益),则会因为共识的区块和承诺信息中承诺发布的区块不一致被惩罚。若区块构建方在自身构造的候选区块被选为目标区块后,不提供候选区块的区块体(区块内容),则区块提议方可以选择发布空区块,来获取目标区块的竞选信息(第二竞选信息)指示的将目标区块上链的收益。
本申请实施例中,获取至少一个候选区块的描述信息,基于各个候选区块的收益,从候选区块中筛选出目标区块,在区块链网络中发布承诺信息,承诺信息用于承诺将对目标区块进行上链处理,获取目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理。可见,在上链前先通过候选区块的描述信息确定最终上链的目标区块,再获取目标区块的区块体并对目标区块进行上链,可以降低区块体中数据泄露的风险,为候选区块上链提供了一个安全的竞选环境。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图10,图10为本申请实施例提供的一种区块竞选装置的结构示意图,图10所示的区块竞选装置可以搭载在计算机设备中,该计算机设备具体可以是终端设备或者服务器。图10所示的区块竞选装置可以用于执行上述图6和图7所描述的方法实施例中的部分或全部功能。请参见图10,该区块竞选装置包括:
获取单元1001,用于获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,第i个捆绑交易的第一竞选信息用于指示将第i个捆绑交易上链的第一收益,M为大于1的整数,i为小于等于M的正整数;
处理单元1002,用于通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易;
以及用于基于至少一个目标捆绑交易,生成候选区块,候选区块包括区块头和区块体,区块头携带有摘要信息,摘要信息包括候选区块的第二竞选信息,第二竞选信息用于指示将候选区块上链的第二收益;
以及用于通过候选区块参与区块链的新区块竞选。
在一种实施方式中,处理单元1002用于,通过候选区块参与区块链的新区块竞选,具体用于:
向区块提议方发送候选区块的描述信息,描述信息包括候选区块的区块头;
获取区块提议方发布的承诺信息,承诺信息是区块提议方采用私钥,对区块提议方承诺上链的目标区块的区块头进行签名得到的;
采用区块提议方的公钥对承诺信息进行验签处理,得到承诺信息的验签结果;
若承诺信息的验签结果指示承诺信息通过验证,且候选区块与目标区块匹配,则向区块提议方发送候选区块的区块体,以使区块提议方基于候选区块的区块头和区块体,对候选区块进行上链处理。
在一种实施方式中,处理单元1002还用于:
采用私钥对候选区块的区块头进行签名,得到携带签名信息的区块头;
获取候选区块的高度指示信息,高度指示信息用于指示候选区块上链后的高度;
对携带签名信息的区块头和高度指示信息进行打包,得到候选区块的描述信息。
在一种实施方式中,处理单元1002用于,通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易,具体用于:
获取候选区块的容量;
通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益;
根据各个捆绑交易的总收益和体积,计算每个捆绑交易的性价比;
基于候选区块的容量和M个捆绑交易的性价比,从M个捆绑交易中筛选出至少一个目标捆绑交易。
在一种实施方式中,处理单元1002用于,通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益,具体用于:
获取每个捆绑交易对应的手续信息,任一个捆绑交易的手续信息用于指示该捆绑交易的上链手续;
基于每个捆绑交易对应的手续信息,计算将每个捆绑交易上链的手续收益;
对每个捆绑交易的第一收益和手续收益进行求和处理,得到每个捆绑交易的总收益。
在一种实施方式中,处理单元1002用于,基于候选区块的容量和M个捆绑交易的性价比,从M个捆绑交易中筛选出至少一个目标捆绑交易,具体用于:
按照性价比从高到低的顺序,对M个捆绑交易进行排序,得到捆绑交易序列;
基于候选区块的容量,将捆绑交易序列中的前N个捆绑交易确定为目标捆绑交易,N个目标捆绑交易的体积和小于等于候选区块的容量,N为小于等于M的正整数。
在一种实施方式中,处理单元1002还用于:
对各个目标捆绑交易的总收益进行求和,得到候选区块的总收益;
基于候选区块的总收益,确定候选区块的第二竞选信息。
在一种实施方式中,处理单元1002用于,基于至少一个目标捆绑交易,生成候选区块,具体用于:
对至少一个目标捆绑交易进行打包,得到候选区块的区块体;
获取第二竞选信息,并对候选区块的区块体和第二竞选信息进行摘要提取处理,得到摘要信息;
将摘要信息添加至候选区块的区块头;
对候选区块的区块头和区块体进行合并,得到候选区块。
根据本申请的一个实施例,图6和图7所示的区块竞选方法所涉及的部分步骤可由图10所示的区块竞选装置中的各个单元来执行。例如,图6中所示的步骤S601可由图10所示的获取单元1001执行,步骤S602-步骤S604可由图10所示的处理单元1002执行;图7中所示的步骤S701和步骤S702可由图10所示的获取单元1001执行,步骤S703-步骤S707可由图10所示的处理单元1002执行。图10所示的区块竞选装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,区块竞选装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机设备的通用计算装置上运行能够执行如图6和图7中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图10中所示的区块竞选装置,以及来实现本申请实施例的区块竞选方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一发明构思,本申请实施例中提供的区块竞选装置解决问题的原理与有益效果与本申请方法实施例中区块竞选方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参见图11,图11为本申请实施例提供的另一种区块竞选装置的结构示意图,图11所示的区块竞选装置可以搭载在计算机设备中,该计算机设备具体可以是终端设备或者服务器。图11所示的区块竞选装置可以用于执行上述图8所描述的方法实施例中的部分或全部功能。请参见图11,该区块竞选装置包括:
获取单元1101,用于获取至少一个候选区块的描述信息,任一个候选区块的描述信息包括该候选区块的区块头,每个候选区块的区块头包括摘要信息,每个摘要信息包括竞选信息,任一个候选区块的竞选信息用于指示将该候选区块上链的收益;
处理单元1102,用于基于各个候选区块的收益,从候选区块中筛选出目标区块,目标区块的收益大于收益阈值;
以及用于在区块链网络中发布承诺信息,承诺信息用于承诺将对目标区块进行上链处理;
获取单元1101还用于获取目标区块的区块体,处理单元1102还用于基于目标区块的区块头和区块体,对目标区块进行上链处理。
在一种实施方式中,任一个候选区块的描述信息还包括该候选区块的高度指示信息,高度指示信息用于指示该候选区块上链后的高度;处理单元1102用于,基于各个候选区块的收益,从候选区块中筛选出目标区块,具体用于:
对区块链当前的高度进行加一处理,得到目标高度;
保留候选区块中高度指示信息与目标高度匹配的候选区块;
将保留的候选区块中收益最大的候选区块确定为目标区块。
在一种实施方式中,任一个候选区块的区块头携带有该候选区块的提供方的签名信息;处理单元1102用于,在区块链网络中发布承诺信息,具体用于:
通过目标区块的提供方的公钥,对目标区块的区块头携带的签名信息进行验签处理;
若目标区块验签通过,则采用私钥对目标区块的区块头进行签名,得到承诺信息;
在区块链网络中发布承诺信息。
在一种实施方式中,任一个候选区块的摘要信息,是对该候选区块的区块体和该候选区块的竞选信息进行哈希计算得到的;处理单元1102用于,获取目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理,具体用于:
获取目标区块的区块体;
对目标区块的区块体和目标区块的竞选信息进行哈希计算,得到目标哈希值;
若目标哈希值与目标区块的摘要信息匹配,则基于目标区块的区块头和区块体,对目标区块进行上链处理。
在一种实施方式中,处理单元1102还用于:
若未成功获取目标区块的区块体,则发布空区块。
根据本申请的一个实施例,图8所示的区块竞选方法所涉及的部分步骤可由图11所示的区块竞选装置中的各个单元来执行。例如,图8中所示的步骤S801可由图11所示的获取单元1101执行,步骤S802和步骤S803可由图11所示的处理单元1102执行,步骤S804可由图11所示的获取单元1101和处理单元1102协作执行。图11所示的区块竞选装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,区块竞选装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机设备的通用计算装置上运行能够执行如图8中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图11中所示的区块竞选装置,以及来实现本申请实施例的区块竞选方法。计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算装置中,并在其中运行。
基于同一发明构思,本申请实施例中提供的区块竞选装置解决问题的原理与有益效果与本申请方法实施例中区块竞选方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
请参阅图12,图12为本申请实施例提供的一种计算机设备的结构示意图,该计算机设备可以是终端设备或者服务器。如图12所示,计算机设备至少包括处理器1201、通信接口1202和存储器1203。其中,处理器1201、通信接口1202和存储器1203可通过总线或其他方式连接。其中,处理器1201(或称中央处理器(Central Processing Unit,CPU))是计算机设备的计算核心以及控制核心,其可以解析计算机设备内的各类指令以及处理计算机设备的各类数据,例如:CPU可以用于解析对象向计算机设备所发出的开关机指令,并控制计算机设备进行开关机操作;再如:CPU可以在计算机设备内部结构之间传输各类交互数据,等等。通信接口1202可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等),受处理器1201的控制可以用于收发数据;通信接口1202还可以用于计算机设备内部数据的传输以及交互。存储器1203(Memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器1203既可以包括计算机设备的内置存储器,当然也可以包括计算机设备所支持的扩展存储器。存储器1203提供存储空间,该存储空间存储了计算机设备的操作系统,可包括但不限于:Android系统、iOS系统、Windows Phone系统等等,本申请对此并不作限定。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的处理系统。并且,在该存储空间中还存放了适于被处理器1201加载并执行的计算机程序。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一个实施例中,处理器1201通过运行存储器1203中的计算机程序,执行如下操作:
获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,第i个捆绑交易的第一竞选信息用于指示将第i个捆绑交易上链的第一收益,M为大于1的整数,i为小于等于M的正整数;
通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易;
基于至少一个目标捆绑交易,生成候选区块,候选区块包括区块头和区块体,区块头携带有摘要信息,摘要信息包括候选区块的第二竞选信息,第二竞选信息用于指示将候选区块上链的第二收益;
通过候选区块参与区块链的新区块竞选。
作为一种可选的实施例,处理器1201通过候选区块参与区块链的新区块竞选的具体实施例为:
向区块提议方发送候选区块的描述信息,描述信息包括候选区块的区块头;
获取区块提议方发布的承诺信息,承诺信息是区块提议方采用私钥,对区块提议方承诺上链的目标区块的区块头进行签名得到的;
采用区块提议方的公钥对承诺信息进行验签处理,得到承诺信息的验签结果;
若承诺信息的验签结果指示承诺信息通过验证,且候选区块与目标区块匹配,则向区块提议方发送候选区块的区块体,以使区块提议方基于候选区块的区块头和区块体,对候选区块进行上链处理。
作为一种可选的实施例,处理器1201通过运行存储器1203中的计算机程序,还执行如下操作:
采用私钥对候选区块的区块头进行签名,得到携带签名信息的区块头;
获取候选区块的高度指示信息,高度指示信息用于指示候选区块上链后的高度;
对携带签名信息的区块头和高度指示信息进行打包,得到候选区块的描述信息。
作为一种可选的实施例,处理器1201通过每个捆绑交易的第一竞选信息,从M个捆绑交易中筛选出至少一个目标捆绑交易的具体实施例为:
获取候选区块的容量;
通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益;
根据各个捆绑交易的总收益和体积,计算每个捆绑交易的性价比;
基于候选区块的容量和M个捆绑交易的性价比,从M个捆绑交易中筛选出至少一个目标捆绑交易。
作为一种可选的实施例,处理器1201通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益的具体实施例为:
获取每个捆绑交易对应的手续信息,任一个捆绑交易的手续信息用于指示该捆绑交易的上链手续;
基于每个捆绑交易对应的手续信息,计算将每个捆绑交易上链的手续收益;
对每个捆绑交易的第一收益和手续收益进行求和处理,得到每个捆绑交易的总收益。
作为一种可选的实施例,处理器1201基于候选区块的容量和M个捆绑交易的性价比,从M个捆绑交易中筛选出至少一个目标捆绑交易的具体实施例为:
按照性价比从高到低的顺序,对M个捆绑交易进行排序,得到捆绑交易序列;
基于候选区块的容量,将捆绑交易序列中的前N个捆绑交易确定为目标捆绑交易,N个目标捆绑交易的体积和小于等于候选区块的容量,N为小于等于M的正整数。
作为一种可选的实施例,处理器1201通过运行存储器1203中的计算机程序,还执行如下操作:
对各个目标捆绑交易的总收益进行求和,得到候选区块的总收益;
基于候选区块的总收益,确定候选区块的第二竞选信息。
作为一种可选的实施例,处理器1201基于至少一个目标捆绑交易,生成候选区块的具体实施例为:
对至少一个目标捆绑交易进行打包,得到候选区块的区块体;
获取第二竞选信息,并对候选区块的区块体和第二竞选信息进行摘要提取处理,得到摘要信息;
将摘要信息添加至候选区块的区块头;
对候选区块的区块头和区块体进行合并,得到候选区块。
在另一个实施例中,处理器1201通过运行存储器1203中的计算机程序,执行如下操作:
获取至少一个候选区块的描述信息,任一个候选区块的描述信息包括该候选区块的区块头,每个候选区块的区块头包括摘要信息,每个摘要信息包括竞选信息,任一个候选区块的竞选信息用于指示将该候选区块上链的收益;
基于各个候选区块的收益,从候选区块中筛选出目标区块,目标区块的收益大于收益阈值;
在区块链网络中发布承诺信息,承诺信息用于承诺将对目标区块进行上链处理;
获取目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理。
作为一种可选的实施例,任一个候选区块的描述信息还包括该候选区块的高度指示信息,高度指示信息用于指示该候选区块上链后的高度;处理器1201基于各个候选区块的收益,从候选区块中筛选出目标区块的具体实施例为:
对区块链当前的高度进行加一处理,得到目标高度;
保留候选区块中高度指示信息与目标高度匹配的候选区块;
将保留的候选区块中收益最大的候选区块确定为目标区块。
作为一种可选的实施例,任一个候选区块的区块头携带有该候选区块的提供方的签名信息;处理器1201在区块链网络中发布承诺信息的具体实施例为:
通过目标区块的提供方的公钥,对目标区块的区块头携带的签名信息进行验签处理;
若目标区块验签通过,则采用私钥对目标区块的区块头进行签名,得到承诺信息;
在区块链网络中发布承诺信息。
作为一种可选的实施例,任一个候选区块的摘要信息,是对该候选区块的区块体和该候选区块的竞选信息进行哈希计算得到的;处理器1201获取目标区块的区块体,并基于目标区块的区块头和区块体,对目标区块进行上链处理的具体实施例为:
获取目标区块的区块体;
对目标区块的区块体和目标区块的竞选信息进行哈希计算,得到目标哈希值;
若目标哈希值与目标区块的摘要信息匹配,则基于目标区块的区块头和区块体,对目标区块进行上链处理。
作为一种可选的实施例,处理器1201通过运行存储器1203中的计算机程序,还执行如下操作:
若未成功获取目标区块的区块体,则发布空区块。
基于同一发明构思,本申请实施例中提供的计算机设备解决问题的原理与有益效果与本申请方法实施例中区块竞选方法解决问题的原理和有益效果相似,可以参见方法的实施的原理和有益效果,为简洁描述,在这里不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于被处理器加载并执行上述方法实施例的区块竞选方法。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的区块竞选方法。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本申请实施例中,涉及的“模块”或“单元”是指有预定功能的计算机程序或计算机程序的一部分,并与其他相关部分一起工作以实现预定目标,并且可以通过使用软件、硬件(如处理电路或存储器)或其组合来全部或部分实现。同样的,一个处理器(或多个处理器或存储器)可以用来实现一个或多个模块或单元。此外,每个模块或单元都可以是包含该模块或单元功能的整体模块或单元的一部分。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,可读存储介质可以包括:闪存盘、只读存储器(Read-Only Memory ,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上所揭露的仅为本申请一种较佳实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于申请所涵盖的范围。
Claims (17)
1.一种区块竞选方法,其特征在于,所述方法包括:
获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,第i个捆绑交易的第一竞选信息用于指示将所述第i个捆绑交易上链的第一收益,M为大于1的整数,i为小于等于M的正整数;
通过每个捆绑交易的第一竞选信息,从所述M个捆绑交易中筛选出至少一个目标捆绑交易;
基于所述至少一个目标捆绑交易,生成候选区块,所述候选区块包括区块头和区块体,所述区块头携带有摘要信息,所述摘要信息包括所述候选区块的第二竞选信息,所述第二竞选信息用于指示将所述候选区块上链的第二收益;
通过所述候选区块参与区块链的新区块竞选。
2.如权利要求1所述的方法,其特征在于,所述通过所述候选区块参与区块链的新区块竞选,包括:
向区块提议方发送所述候选区块的描述信息,所述描述信息包括所述候选区块的区块头;
获取所述区块提议方发布的承诺信息,所述承诺信息是所述区块提议方采用私钥,对所述区块提议方承诺上链的目标区块的区块头进行签名得到的;
采用所述区块提议方的公钥对所述承诺信息进行验签处理,得到所述承诺信息的验签结果;
若所述承诺信息的验签结果指示所述承诺信息通过验证,且所述候选区块与所述目标区块匹配,则向所述区块提议方发送所述候选区块的区块体,以使所述区块提议方基于所述候选区块的区块头和区块体,对所述候选区块进行上链处理。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
采用私钥对所述候选区块的区块头进行签名,得到携带签名信息的区块头;
获取所述候选区块的高度指示信息,所述高度指示信息用于指示所述候选区块上链后的高度;
对携带签名信息的区块头和所述高度指示信息进行打包,得到所述候选区块的描述信息。
4.如权利要求1所述的方法,其特征在于,所述通过每个捆绑交易的第一竞选信息,从所述M个捆绑交易中筛选出至少一个目标捆绑交易,包括:
获取候选区块的容量;
通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益;
根据各个捆绑交易的总收益和体积,计算每个捆绑交易的性价比;
基于所述候选区块的容量和所述M个捆绑交易的性价比,从所述M个捆绑交易中筛选出至少一个目标捆绑交易。
5.如权利要求4所述的方法,其特征在于,所述通过各个捆绑交易的第一收益,确定每个捆绑交易的总收益,包括:
获取每个捆绑交易对应的手续信息,任一个捆绑交易的手续信息用于指示该捆绑交易的上链手续;
基于每个捆绑交易对应的手续信息,计算将每个捆绑交易上链的手续收益;
对每个捆绑交易的第一收益和手续收益进行求和处理,得到每个捆绑交易的总收益。
6.如权利要求4所述的方法,其特征在于,所述基于所述候选区块的容量和所述M个捆绑交易的性价比,从所述M个捆绑交易中筛选出至少一个目标捆绑交易,包括:
按照性价比从高到低的顺序,对所述M个捆绑交易进行排序,得到捆绑交易序列;
基于所述候选区块的容量,将所述捆绑交易序列中的前N个捆绑交易确定为目标捆绑交易,N个目标捆绑交易的体积和小于等于所述候选区块的容量,N为小于等于M的正整数。
7.如权利要求4所述的方法,其特征在于,所述方法还包括:
对各个目标捆绑交易的总收益进行求和,得到所述候选区块的总收益;
基于所述候选区块的总收益,确定所述候选区块的第二竞选信息。
8.如权利要求1所述的方法,其特征在于,所述基于所述至少一个目标捆绑交易,生成候选区块,包括:
对所述至少一个目标捆绑交易进行打包,得到候选区块的区块体;
获取第二竞选信息,并对所述候选区块的区块体和所述第二竞选信息进行摘要提取处理,得到摘要信息;
将所述摘要信息添加至所述候选区块的区块头;
对所述候选区块的区块头和区块体进行合并,得到所述候选区块。
9.一种区块竞选方法,其特征在于,所述方法包括:
获取至少一个候选区块的描述信息,任一个候选区块的描述信息包括该候选区块的区块头,每个候选区块的区块头包括摘要信息,每个摘要信息包括第二竞选信息,任一个候选区块的第二竞选信息用于指示将该候选区块上链的第二收益,任一个候选区块的第二竞选信息是基于该候选区块中打包的目标捆绑交易的第一竞选信息生成的,任一个目标捆绑交易的第一竞选信息用于指示将该目标捆绑交易上链的第一收益;
基于各个候选区块的第二收益,从候选区块中筛选出目标区块,所述目标区块的第二收益大于收益阈值;
在区块链网络中发布承诺信息,所述承诺信息用于承诺将对所述目标区块进行上链处理;
获取所述目标区块的区块体,并基于所述目标区块的区块头和区块体,对所述目标区块进行上链处理。
10.如权利要求9所述的方法,其特征在于,任一个候选区块的描述信息还包括该候选区块的高度指示信息,所述高度指示信息用于指示该候选区块上链后的高度;所述基于各个候选区块的第二收益,从候选区块中筛选出目标区块,包括:
对区块链当前的高度进行加一处理,得到目标高度;
保留候选区块中高度指示信息与所述目标高度匹配的候选区块;
将保留的候选区块中第二收益最大的候选区块确定为目标区块。
11.如权利要求9所述的方法,其特征在于,任一个候选区块的区块头携带有该候选区块的提供方的签名信息;所述在区块链网络中发布承诺信息,包括:
通过所述目标区块的提供方的公钥,对所述目标区块的区块头携带的签名信息进行验签处理;
若所述目标区块验签通过,则采用私钥对所述目标区块的区块头进行签名,得到承诺信息;
在区块链网络中发布所述承诺信息。
12.如权利要求9所述的方法,其特征在于,任一个候选区块的摘要信息,是对该候选区块的区块体和该候选区块的第二竞选信息进行哈希计算得到的;所述获取所述目标区块的区块体,并基于所述目标区块的区块头和区块体,对所述目标区块进行上链处理,包括:
获取所述目标区块的区块体;
对所述目标区块的区块体和所述目标区块的第二竞选信息进行哈希计算,得到目标哈希值;
若所述目标哈希值与所述目标区块的摘要信息匹配,则基于所述目标区块的区块头和区块体,对所述目标区块进行上链处理。
13.如权利要求9所述的方法,其特征在于,所述方法还包括:
若未成功获取所述目标区块的区块体,则发布空区块。
14.一种区块竞选装置,其特征在于,所述区块竞选装置包括:
获取单元,用于获取M个捆绑交易,以及每个捆绑交易的第一竞选信息,第i个捆绑交易的第一竞选信息用于指示将所述第i个捆绑交易上链的第一收益,M为大于1的整数,i为小于等于M的正整数;
处理单元,用于通过每个捆绑交易的第一竞选信息,从所述M个捆绑交易中筛选出至少一个目标捆绑交易;
以及用于基于所述至少一个目标捆绑交易,生成候选区块,所述候选区块包括区块头和区块体,所述区块头携带有摘要信息,所述摘要信息包括所述候选区块的第二竞选信息,所述第二竞选信息用于指示将所述候选区块上链的第二收益;
以及用于通过所述候选区块参与区块链的新区块竞选。
15.一种区块竞选装置,其特征在于,所述区块竞选装置包括:
获取单元,用于获取至少一个候选区块的描述信息,任一个候选区块的描述信息包括该候选区块的区块头,每个候选区块的区块头包括摘要信息,每个摘要信息包括第二竞选信息,任一个候选区块的第二竞选信息用于指示将该候选区块上链的第二收益,任一个候选区块的第二竞选信息是基于该候选区块中打包的目标捆绑交易的第一竞选信息生成的,任一个目标捆绑交易的第一竞选信息用于指示将该目标捆绑交易上链的第一收益;
处理单元,用于基于各个候选区块的第二收益,从候选区块中筛选出目标区块,所述目标区块的第二收益大于收益阈值;
以及用于在区块链网络中发布承诺信息,所述承诺信息用于承诺将对所述目标区块进行上链处理;
所述获取单元,还用于获取所述目标区块的区块体,所述处理单元,还用于基于所述目标区块的区块头和区块体,对所述目标区块进行上链处理。
16.一种计算机设备,其特征在于,包括:
存储器,所述存储器中存储有计算机程序;
处理器,用于加载所述计算机程序实现如权利要求1-8任一项所述的区块竞选方法;或用于加载所述计算机程序实现如权利要求9-13任一项所述的区块竞选方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于被处理器加载并执行如权利要求1-8任一项所述的区块竞选方法;或适于被处理器加载并执行如权利要求9-13任一项所述的区块竞选方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410065990.0A CN117579633B (zh) | 2024-01-17 | 2024-01-17 | 区块竞选方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410065990.0A CN117579633B (zh) | 2024-01-17 | 2024-01-17 | 区块竞选方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117579633A CN117579633A (zh) | 2024-02-20 |
CN117579633B true CN117579633B (zh) | 2024-04-09 |
Family
ID=89864857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410065990.0A Active CN117579633B (zh) | 2024-01-17 | 2024-01-17 | 区块竞选方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117579633B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743173A (zh) * | 2018-12-20 | 2019-05-10 | 弗洛格(武汉)信息科技有限公司 | 区块链中出块节点确定方法、区块验证方法及区块链系统 |
CN110046896A (zh) * | 2019-04-26 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 一种区块处理方法和节点以及系统 |
CN110689331A (zh) * | 2019-09-25 | 2020-01-14 | 重庆邮电大学 | 一种基于区块链的数字货币交易方法及系统 |
CN111145025A (zh) * | 2019-12-30 | 2020-05-12 | 北京工商大学 | 一种基于区块链的供应链数据双链存储优化方法 |
CN111882436A (zh) * | 2020-07-30 | 2020-11-03 | 腾讯科技(成都)有限公司 | 一种基于区块链的数据处理方法、装置及设备 |
CN113935835A (zh) * | 2021-06-15 | 2022-01-14 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备及存储介质 |
WO2022036702A1 (zh) * | 2020-08-21 | 2022-02-24 | 深圳技术大学 | 资产证券产品的预警方法、装置、电子设备及存储介质 |
CN115250277A (zh) * | 2022-08-09 | 2022-10-28 | 西安邮电大学 | 适用于基于联盟链的边缘缓存系统的共识机制 |
CN115941691A (zh) * | 2023-03-09 | 2023-04-07 | 中国信息通信研究院 | 区块链上数据修改方法、装置、设备和介质 |
CN116257589A (zh) * | 2023-03-01 | 2023-06-13 | 北京奇艺世纪科技有限公司 | 交易数据处理方法、系统、装置、电子设备及存储介质 |
CN116684098A (zh) * | 2022-02-23 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备、介质及产品 |
CN116894727A (zh) * | 2022-03-28 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、装置及相关设备 |
-
2024
- 2024-01-17 CN CN202410065990.0A patent/CN117579633B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743173A (zh) * | 2018-12-20 | 2019-05-10 | 弗洛格(武汉)信息科技有限公司 | 区块链中出块节点确定方法、区块验证方法及区块链系统 |
CN110046896A (zh) * | 2019-04-26 | 2019-07-23 | 腾讯科技(深圳)有限公司 | 一种区块处理方法和节点以及系统 |
CN110689331A (zh) * | 2019-09-25 | 2020-01-14 | 重庆邮电大学 | 一种基于区块链的数字货币交易方法及系统 |
CN111145025A (zh) * | 2019-12-30 | 2020-05-12 | 北京工商大学 | 一种基于区块链的供应链数据双链存储优化方法 |
CN111882436A (zh) * | 2020-07-30 | 2020-11-03 | 腾讯科技(成都)有限公司 | 一种基于区块链的数据处理方法、装置及设备 |
WO2022036702A1 (zh) * | 2020-08-21 | 2022-02-24 | 深圳技术大学 | 资产证券产品的预警方法、装置、电子设备及存储介质 |
CN113935835A (zh) * | 2021-06-15 | 2022-01-14 | 腾讯科技(深圳)有限公司 | 一种交易数据处理方法、装置、设备及存储介质 |
CN116684098A (zh) * | 2022-02-23 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备、介质及产品 |
CN116894727A (zh) * | 2022-03-28 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 一种基于区块链的数据处理方法、装置及相关设备 |
CN115250277A (zh) * | 2022-08-09 | 2022-10-28 | 西安邮电大学 | 适用于基于联盟链的边缘缓存系统的共识机制 |
CN116257589A (zh) * | 2023-03-01 | 2023-06-13 | 北京奇艺世纪科技有限公司 | 交易数据处理方法、系统、装置、电子设备及存储介质 |
CN115941691A (zh) * | 2023-03-09 | 2023-04-07 | 中国信息通信研究院 | 区块链上数据修改方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117579633A (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11902441B2 (en) | Systems and methods for parallel verification of blockchain transactions | |
CN110084377B (zh) | 用于构建决策树的方法和装置 | |
CN110443704B (zh) | 一种跨链发送资源的方法和装置 | |
CN111629039B (zh) | 一种区块链共识方法及客户端、背书节点、排序节点 | |
CN113395363B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN113570466B (zh) | 一种交易数据处理方法、装置以及可读存储介质 | |
CN108347483B (zh) | 基于双层网络的去中心化计算系统 | |
CN111061735B (zh) | 一种基于单链区块链的扩容方法及装置 | |
CN112559635B (zh) | 以太坊联盟链节点的业务处理方法、装置、设备及介质 | |
CN114372589A (zh) | 一种联邦学习方法及相关装置 | |
CN116669111A (zh) | 一种基于区块链的移动边缘计算任务卸载方法 | |
CN117579633B (zh) | 区块竞选方法、装置、设备及存储介质 | |
CN112995167A (zh) | 基于Kafka机制的用电信息采集方法、区块链网络及用户端 | |
CN116703601A (zh) | 基于区块链网络的数据处理方法、装置、设备及存储介质 | |
CN113487041B (zh) | 横向联邦学习方法、装置及存储介质 | |
CN117009626A (zh) | 游戏场景的业务处理方法、装置、设备及存储介质 | |
CN113722554A (zh) | 数据分类方法、装置及计算设备 | |
CN113434599A (zh) | 一种基于半节点的区块链账本同步方法及装置 | |
CN111242778A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110910091A (zh) | 一种数据处理方法、设备及介质 | |
WO2020058655A1 (en) | Group collaborative decision-making by decentralized network nodes | |
CN114338728B (zh) | 一种基于共享数据的共识方法及系统 | |
Ying et al. | AWI-BS: An adaptive weight incentive for blockchain sharding | |
EP4318375A1 (en) | Graph data processing method and apparatus, computer device, storage medium and computer program product | |
CN116980912A (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 |