CN113268322A - 一种拥有资源能力计算的方法、系统、装置以及存储介质 - Google Patents

一种拥有资源能力计算的方法、系统、装置以及存储介质 Download PDF

Info

Publication number
CN113268322A
CN113268322A CN202110533248.4A CN202110533248A CN113268322A CN 113268322 A CN113268322 A CN 113268322A CN 202110533248 A CN202110533248 A CN 202110533248A CN 113268322 A CN113268322 A CN 113268322A
Authority
CN
China
Prior art keywords
resource
node
target
capacity
resources
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110533248.4A
Other languages
English (en)
Other versions
CN113268322B (zh
Inventor
刘祥涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Fandora Information Technology Co ltd
Original Assignee
Shenzhen Fandora Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Fandora Information Technology Co ltd filed Critical Shenzhen Fandora Information Technology Co ltd
Priority to CN202110533248.4A priority Critical patent/CN113268322B/zh
Publication of CN113268322A publication Critical patent/CN113268322A/zh
Application granted granted Critical
Publication of CN113268322B publication Critical patent/CN113268322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种拥有资源能力计算的方法、系统、装置以及存储介质,用于区块链中,减少以往区块链技术因为过多采用PoW(工作量证明,Proof ofWork)带来的资源浪费,提高矿机资源的最大效益利用,从而让矿机更好地服务于链上的生态与应用。本申请方法包括:确定资源节点的计算资源、存储资源、网络资源以及其相应资源在资源能力中所占的权重,分别为第一权重、第二权重以及第三权重;根据计算资源、存储资源、网络资源、第一权重、第二权重以及第三权重计算出资源节点的初始资源能力;根据预设的资源混合比例确定平滑参数,资源混合比例为计算资源、存储资源以及网络资源之间的比例;根据平滑参数以及初始资源能力计算出资源节点的资源能力。

Description

一种拥有资源能力计算的方法、系统、装置以及存储介质
技术领域
本申请涉及区块链技术领域,尤其涉及一种拥有资源能力计算的方法、系统、装置以及存储介质。
背景技术
拥有资源证明(POR,Proof of Owned Resource)是一种新型的基于价值的共识证明机制,定位于基于矿工贡献的节点搭建一个去中心的、P2P(Peer to Peer,对等网络)的真正分布式系统。在这个系统中,每个用户可以贡献节点资源,资节点源包括计算、存储以及网络资源,将支撑未来数以千万计的DApp多元应用场景的经济交易流通。
现有技术提供的方案中,比特币和以太坊主要使用了PoW(工作量证明,Proof ofWork),浪费了绝大部分计算资源进行挖矿,效益较低,而以太坊提出了智能合约,然而Gas费过高,同时,过多的基于智能合约的DApp,导致原本承担了PoW的计算资源进一步紧张,同时存储空间问题出现。
而FileCoin基于IPFS(InterPlanetary File System,星际文件系统)的分布式存储机制,是一种计算能耗大幅度降低的证明方式,同时解决了可信存储空间问题,但是FileCoin在进行拥有资源能力考量时只考虑了已用存储资源,难以满足未来海量并持续增长的DApp对计算资源,存储资源以及高速网络资源的需求。
发明内容
为了解决上述技术问题,本申请提供了一种拥有资源能力计算的方法、系统、装置以及存储介质。
本申请第一方面提供了一种拥有资源能力计算的的方法,包括:
确定资源节点的计算资源、存储资源、网络资源以及其相应资源在资源能力中所占的权重,分别为第一权重、第二权重以及第三权重,所述资源能力为所述资源节点在区块链网络中所拥有的资源的能力;
根据所述计算资源、所述存储资源、所述网络资源、所述第一权重、所述第二权重以及所述第三权重计算出所述资源节点的初始资源能力;
根据预设的资源混合比例确定平滑参数,所述资源混合比例为所述计算资源、所述存储资源以及所述网络资源之间的比例;
根据所述平滑参数以及所述初始资源能力计算出所述资源节点的资源能力。
可选的,根据预设的资源混合比例确定平滑参数包括:
当所述资源混合比例位于第一预设区间内时,确定所述平滑参数为第一预设值;
当所述资源混合比例位于第一预设区间外时,确定所述平滑参数为第二预设值,所述第二预设值小于所述第一预设值。
可选的,在所述输出所述资源能力之后,所述方法还包括:
分别对所述计算资源以及所述存储资源进行验证。
可选的,对所述计算资源进行验证包括:
向所述目标资源节点发送目标基准程序,以使得所述目标资源节点运行所述目标基准程序;
接收所述目标资源节点发送的资源跑分值,并根据所述资源跑分值对所述目标节点的计算资源进行验证,所述资源跑分值为所述资源节点运行所述目标基准程序后得到的数值。
可选的,所述对所述计算资源进行验证包括:
构建数组队列,所述数组队列中包含有多个数组,每一个数组中包含有多个资源节点;
在所述数组队列中挑选目标数组,并在所述目标数组中挑选目标资源节点;
向所述目标资源节点发起跑分测试,所述跑分测试用于测试所述目标资源节点的计算资源;
接收所述目标资源节点发送的资源跑分值,并根据所述资源跑分值对所述目标资源节点的计算资源进行验证。
可选的,所述在所述数组队列中挑选目标数组包括:
按顺序在所述数组队列挑选目标数组。
可选的,所述在所述目标数组中挑选目标资源节点包括:
随机在所述目标数组中挑选目标资源节点。
可选的,在所述接收所述目标资源节点发送的资源跑分值之后,所述方法还包括:
在所述目标数组中移除所述目标资源节点,并将所述目标资源节点放置于所述数组队列尾部的数组中。
可选的,所述对所述存储资源进行验证包括:
将目标资源节点的存储空间划分为多个预设大小的扇区;
通过复制证明PoRep对所述扇区进行封装;
接收所述目标资源节点发送的压缩结果,所述压缩结果为所述目标资源节点生成的简短无交互证明SNARK;
根据所述压缩结果对所述目标资源节点的存储资源进行验证。
可选的,在所述根据所述平滑参数以及所述初始资源能力计算出所述资源节点的资源能力之后,所述方法还包括:
接收所述资源节点发送的反馈信息,所述反馈信息为所述资源节点对计算出的所述资源能力的反馈信息;
根据所述反馈信息调节所述资源混合比例以及所述平滑参数;
可选的,在所述根据所述平滑参数以及所述初始资源能力计算出所述资源节点的资源能力之后,所述方法还包括:
确定所述资源节点的选票信息;
根据所述选票信息以及所述资源能力对所述资源节点进行新区块选举,当所述资源能力以及所述选票信息之间满足预设的选举条件时,将所述资源节点确定为新区块的记账节点。
可选的,所述确定所述资源节点的选票信息包括:
根据所述资源节点的节点ID以及时间戳确定所述资源节点的选票信息。
可选的,将所述资源节点确定为新区块的记账节点之后,所述方法还包括:
接收所述资源节点发送的验证要素,并根据所述验证要素对所述资源节点进行验证;
当在区块链中对所述资源节点验证通过的节点数量满足预设数量时,确定对所述资源节点的选举生效。
可选的,所述根据所述验证要素对所述资源节点进行验证包括:
对所述验证要素中节点签名的合法性进行验证,所述节点签名为私钥签名;
对所述资源节点在目标时刻所对应的资源能力进行验证,所述目标时刻为所述验证要素中时间戳所对应的时刻;
对所述资源能力以及所述选票信息是否满足所述选举条件进行验证。
本申请第二方面提供了一种拥有资源能力计算的系统,所述系统包括相互耦合的:
第一确定单元,用于确定资源节点的计算资源、存储资源、网络资源以及其相应资源在资源能力中所占的权重,分别为第一权重、第二权重以及第三权重,所述资源能力为所述资源节点在区块链网络中所拥有的资源的能力;
第一计算单元,用于根据所述计算资源、所述存储资源、所述网络资源、所述第一权重、所述第二权重以及所述第三权重计算出所述资源节点的初始资源能力;
第二确定单元,用于根据预设的资源混合比例确定平滑参数,所述资源混合比例为所述计算资源、所述存储资源以及所述网络资源之间的比例;
第二计算单元,用于根据所述平滑参数以及所述初始资源能力计算出所述资源节点的资源能力。
本申请第三方面提供了一种拥有资源能力计算的的装置,所述装置包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行第一方面以及第一方面中任一项可选的所述方法。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行第一方面以及第一方面中任一项可选的所述方法。
从以上技术方案可以看出,本申请具有以下优点:
本申请提供的拥有资源能力计算的方法中,在计算资源节点的初始资源能力时,充分考量资源节点的计算资源、存储资源以及网络资源,能够满足更大的资源需求,并且各个资源均被赋予了独立的权重,能够更精准地对资源节点的资源能力进行考量,并且本申请提供的方法中,还需要通过计算资源、存储资源以及网络资源三者的比例来计算资源能力,减少以往区块链技术因为过多采用PoW(工作量证明,Proof of Work)带来的资源浪费,提高矿机资源的最大效益利用,从而让矿机更好地服务于链上的生态与应用。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的拥有能力计算的方法一个实施例流程示意图;
图2为本申请中验证资源节点的计算资源的方法的一个实施例流程示意图;
图3为本申请中验证资源节点的计算资源的方法的另一个实施例流程示意图;
图4为本申请中验证资源节点的存储资源的方法的一个实施例流程示意图;
图5为本申请中选举并验证记账节点的方法的一个实施例流程示意图;
图6为本申请中提供的拥有资源能力计算的系统的一个实施例结构示意图;
图7为本申请中提供的拥有资源能力计算的装置的一个实施例结构示意图。
具体实施方式
拥有资源证明(POR,Proof of Owned Resource)是一种新型的基于价值的共识证明机制,定位于基于矿工贡献的节点搭建一个去中心的、P2P(Peer to Peer,对等网络)的真正分布式系统。在这个系统中,每个用户可以贡献节点资源,资节点源包括计算、存储以及网络资源,将支撑未来数以千万计的DApp多元应用场景的经济交易流通。
现有技术提供的方案中,比特币和以太坊主要使用了PoW(工作量证明,Proof ofWork),浪费了绝大部分计算资源进行挖矿,效益较低,而以太坊提出了智能合约,然而Gas费过高,同时,过多的基于智能合约的DApp,导致原本承担了PoW的计算资源进一步紧张,同时存储空间问题出现。
而FileCoin基于IPFS(InterPlanetary File System,星际文件系统)的分布式存储机制,是一种计算能耗大幅度降低的证明方式,同时解决了可信存储空间问题,但是FileCoin在进行拥有资源能力考量时只考虑了已用存储资源,难以满足未来海量并持续增长的DApp对计算资源,存储资源以及高速网络资源的需求。
基于此,本申请提供了一种拥有能力计算的方法,应用于区块链中,减少以往区块链技术因为过多采用PoW(工作量证明,Proof of Work)带来的资源浪费,提高矿机资源的最大效益利用,从而让矿机更好地服务于链上的生态与应用。
需要说明的是,本申请提供的拥有能力计算的方法,可以应用于终端也可以应用于系统,还可以应用于服务器上,例如终端可以是智能手机或电脑、平板电脑、智能电视、智能手表、便携计算机终端也可以是台式计算机等固定终端。为方便阐述,本申请中以终端为执行主体进行举例说明。
本申请提供的方法,可以应用于区块链中,也可以应用于其它领域,例如可以用在公益性的P2P网络中,用于运行公益性的国际项目,比如Seti@home,全球疫情计算等。在公益性P2P网络中,可以由一个中立的权威机构来记录节点对社会的贡献值(贡献值越高,信用度越高)。
请参阅图1,图1为本申请提供的拥有能力计算的方法一个实施例流程示意图,该方法包括:
101、确定资源节点的计算资源、存储资源、网络资源以及其相应资源在资源能力中所占的权重,分别为第一权重、第二权重以及第三权重,所述资源能力为所述资源节点在区块链网络中所拥有的资源的能力;
本申请提供的方法应用于区块链中,区块链中有资源节点以及验证节点,资源节点向网络贡献资源,验证节点对资源节点的资源能力进行验证。资源节点的资源能力包括计算资源、存储资源以及网络资源,其中计算资源主要体现为CPU以及GPU的计算能力,例如CPU的核心数,存储资源主要体现为资源节点所拥有的存储空间,例如存储资源为100GB,网络资源主要体现为资源节点所拥有的网络带宽,例如带宽为1Mbps,为这三种资源赋予一定的权重,即第一权重、第二权重以及第三权重,需要说明的是,存储资源是资源节点所拥有的资源,不仅包含资源节点的已用的资源,还包含资源节点的未用的资源。
102、根据计算资源、存储资源、网络资源、第一权重、第二权重以及第三权重计算出资源节点的初始资源能力;
确定出计算资源、存储资源以及网络资源之后,根据三者的权重来计算初始资源能力,具体的计算方式可以是对着三者进行加权计算,例如可以是通过如下公式进行计算:
Figure BDA0003068709030000071
需要说明的是,上述公式仅仅的示范性的举例,在实际应用中,还可以有其它的计算方式。在上述公式(1)中,
Figure BDA0003068709030000072
表示资源节点i在t时刻的初始资源能力,
Figure BDA0003068709030000073
表示资源节点i在t时刻的计算资源,
Figure BDA0003068709030000074
表示资源节点i在t时刻的存储资源,
Figure BDA0003068709030000075
表示资源节点i在t时刻的网络资源。Wc表示第一权重,Ws表示第二权重,Wn表示第三权重,需要说明的是初始资源能力并不一定代表着资源节点最终的资源能力,在进行最终的资源能力计算时,还需要进一步考虑这三者的资源混合比例。
103、根据预设的资源混合比例确定平滑参数,所述资源混合比例为所述计算资源、所述存储资源以及所述网络资源之间的比例;
在实际应用中,被赋予的权重较高的资源会更受到用户的重视,用户有可能只关注权重高的资源,例如当计算资源的权重较高时,用户可能只堆砌CPU或者GPU的核心数,而忽略了其它资源的提升和贡献,因此还需要进一步确定资源节点的资源混合比例,资源混合比例可以根据实际情况来确定,例如适应不同的网络运行环境,搭配不同的资源混合比例,以获得最佳的效益,例如当资源混合比例为计算资源:存储资源:网络资源=1核CPU:100GB硬盘:1Mbps时,资源节点能够跑出更高的分。
由于网络运行环境的不断变化,这个资源混合比例可以是不固定的,可以区块链中的节点每隔一定的时间进行刷新,一定的时间可以是一年或者一个月等,可以根据实际情况来确定。
在实际应用中,为了让资源节点能够提供更合理的资源搭配,需要通过平滑参数来对资源混合比例进行一定的约束,资源混合比例不同,平滑参数也有可能不同,具体的可以是当资源混合比例位于第一预设区间内时,确定平滑参数为第一预设值;当资源混合比例位于第一预设区间外时,确定平滑参数为第二预设值,所述第二预设值小于所述第一预设值。例如,当资源混合比例在给定的区间[1/4,1]内时,平滑参数为1,当在这个区间外时,平滑参数为1/2,从而对资源混合比例进行限制。进一步的,合适的资源混合比例以及平滑参数可以根据反馈机制来进行调整和优化,从而让资源节点的资源搭配更适应网络运行环境,具体的可以是验证节点接收所述资源节点发送的反馈信息,所述反馈信息为所述资源节点对计算出的所述资源能力的反馈信息;根据所述反馈信息调节所述资源混合比例以及所述平滑参数。
104、根据平滑参数以及初始资源能力计算出资源节点的资源能力;
根据平滑参数以及初始资源能力计算出资源节点的资源能力,资源混合比例位于给定的区间内时,可以获得较高的平滑参数,而平滑参数越高,则资源能力越高,通过平滑参数对初始资源能力进行进一步的精确计算,最终得到资源节点的资源能力。在计算资源能力时可以有多种方式,例如,可以通过下述公式来计算出资源节点的资源能力:
Figure BDA0003068709030000091
在公式(2)中,
Figure BDA0003068709030000092
表示资源节点i在t时刻的资源能力,
Figure BDA0003068709030000093
表示资源节点i在t时刻的平滑参数,j取值为1到N,其中N为正整数。
本申请提供的拥有资源能力计算的方法中,在计算资源节点的初始资源能力时,充分考量资源节点的计算资源、存储资源以及网络资源,能够满足更大的资源需求,并且各个资源均被赋予了独立的权重,能够更精准地对资源节点的资源能力进行考量,并且本申请提供的方法中,还需要通过计算资源、存储资源以及网络资源三者的比例来计算资源能力,减少以往区块链技术因为过多采用PoW(工作量证明,Proof of Work)带来的资源浪费,提高矿机资源的最大效益利用,从而让矿机更好地服务于链上的生态与应用。
验证节点在对资源节点的资源能力进行验证时,需要对计算资源、存储资源以及网络资源进行验证,在对计算资源进行验证时,可以有两种方式,一种是定期宣称验证,另一种是随机宣称验证。下面将结合附图对这两种方式进行详细说明。
1、定期宣称验证
请参阅图2,图2为本申请中验证资源节点的计算资源的方法的一个实施例流程示意图;
验证资源节点的计算资源的方法可以包括:
201、向目标资源节点发送目标基准程序,以使得目标资源节点运行目标基准程序;
在实际应用中,由于资源节点可能无法精确计算自身的计算资源,并且性能指标可能会不断发生变化,验证节点可以从题库中选取目标基准程序下发给目标资源节点,题库可以是预先构建好的数据库,其中可以包含有多个基准程序,下发方式可以是不定期的,例如每隔时间X*10分钟下发一次,其中X为正整数,目标资源节点运行基准程序,并可以得到资源跑分值,资源跑分值可以用来对计算资源进行验证。
202、接收目标资源节点发送的资源跑分值,并根据资源跑分值对目标节点的计算资源进行验证,资源跑分值为资源节点运行目标基准程序后得到的数值。
目标资源节点在运行目标基准程序之后,可以得到资源跑分值,目标资源节点将资源跑分值上报给验证节点,资源节点再根据该资源跑分值对目标资源节点的计算资源进行验证,在实际应用中,为了提高验证的精确度,可以由多个验证节点向目标资源节点下发不同的基准程序,目标资源节点在得到资源跑分值之后反馈至对应的验证节点,多个验证资源节点可以取几何平均值来作为该目标资源节点的最终资源跑分值。
2、随机宣称验证
请参阅图3,图3为本申请中验证资源节点的计算资源的方法的另一个实施例流程示意图;
验证资源节点的计算资源的方法可以包括:
301、构建数组队列,数组队列中包含有多个数组,每一个数组中包含有多个资源节点;
验证节点构建一个数组队列,一个数组队列中包含有多个数组,每一个数组中包含有多个资源节点,例如为M个,其中M取值区间为[1,10],可以是初始值为1,之后定期增加,直至达到10。该数组队列可以是先进先出(FIFO,First In First Out)队列。
302、在数组队列中挑选目标数组,并在目标数组中挑选目标资源节点;
在进行一次验证时,验证节点在数组队列中挑选目标数组,可以是队列顺序进行挑选,进而再从目标数组中挑选目标资源节点来进行验证,可以是随机挑选。
303、向目标资源节点发起跑分测试,跑分测试用于测试目标资源节点的计算资源;
验证节点向该目标资源节点发起跑分测试,被选取的目标资源节点需要在给定的时间内完成跑分测试,目标资源节点在完成跑分测试之后得到资源跑分值,进而向验证节点上报资源跑分值。在对目标资源节点进行跑分测试时,可以只占据目标资源节点的很小一部分计算资源,例如为计算资源的0.1%,从而能够减少对跑分测试的影响,提高效益。
304、接收目标资源节点发送的资源跑分值,并根据资源跑分值对目标资源节点的计算资源进行验证;
验证节点接收目标资源节点上报的资源跑分值,并根据该资源跑分值对该目标资源节点的计算资源进行验证。
305、在目标数组中移除目标资源节点,并将目标资源节点放置于数组队列尾部的数组中。
当目标资源节点完成跑分测试之后,将该目标资源节点从原来的目标数组中移除,并放置在位于数组队列尾部的数组中,以表示对该目标资源节点的验证完成。
在对资源节点的存储资源进行验证时,可以是基于复制证明(PoRep,Proof ofReplication,复制证明)以及时空证明(PoSt,Proof of Spacetime)来进行验证,下面将结合附图进行详细说明。
请参阅图4,图4为本申请中验证资源节点的存储资源的方法的一个实施例流程示意图;
对资源节点的存储资源进行验证的方法可以包括:
401、将目标资源节点的存储空间划分为多个预设大小的扇区;
在实际应用中,为了更好的对存储资源进行验证,需要对资源节点的存储空间进行封装,封装前,将资源节点的存储空间划分为统一规格的扇区,预设大小可以是32GB,需要说明的是,存储空间包括未用的存储空间以及已用的存储空间。
402、通过复制证明PoRep对扇区进行封装;
通过复制证明PoRep对扇区进行封装,被封装后的扇区,复制证明PoRep,证明数据的一个单独的拷贝已经在一个特定的扇区内创建成功。复制证明由封印(Seal)操作完成,封印操作创建一份数据的拷贝,并产生相应的复制证明,它能够表明数据已经被复制到了资源节点上。复制证明也是一种交互式协议。当证明人P:(a)承诺存储某数据D的n个不同的副本(独立物理副本),然后(b)通过响应协议来说服验证者V,表明P确实已经存储了每个副本,这是复制证明的简化步骤。
403、接收目标资源节点发送的压缩结果,压缩结果为目标资源节点生成的简短无交互证明SNARK;
在对扇区封装完成后,资源节点生成压缩结果,压缩结果是一种简短无交互证明(SNARK,succint non-interactive arguments of knowledge),资源节点将压缩结果发送至验证节点。
404、根据压缩结果对目标资源节点的存储资源进行验证。
验证节点根据压缩结果对存储资源进行验证,资源节点可以在扇区上接受验证节点的时空证明(PoST)挑战以防止资源节点欺骗。
共识机制是区块链需要解决的核心问题,共识机制中涉及如何产生新的区块以及由哪一个节点来对这个区块进行记账,本申请提供的方法可以应用于区块链中,在区块链中,可以通过选举来产生新的记账区块进行记账,记账区块可以接收其它验证节点的验证,当验证通过时,则选举生效。下面将结合附图对该实施例进行详细说明。
请参阅图5,图5为本申请中选举并验证记账节点的方法的一个实施例流程示意图;
在根据所述平滑参数以及所述初始资源能力计算出所述资源节点的资源能力之后,可以通过选举来产生新区块的记账节点,进而验证节点可以对该记账节点进行验证,具体的选举以及验证方法包括:
501、确定资源节点的选票信息;
在实际应用中,每一个资源节点都有一个选票,选票中有选票信息,确定该选票信息可以包括根据资源节点的节点ID以及时间戳确定资源节点的选票信息,例如:
T=节点ID||时间戳(uint64),公式(3)
在公式(3)中,||表示比特串接,T表示该资源节点的选票,时间戳取从1970年1月1日(08:00:00GMT)以来的秒(s)数的64位无符号整数。
502、根据选票信息以及资源能力对资源节点进行新区块选举,当资源能力以及选票信息之间满足预设的选举条件时,将资源节点确定为新区块的记账节点。
根据选票信息以及资源能力对资源节点进行新区块选举,当二者满足预设的选举条件时,将资源节点确定为新区块的记账节点,新区块选举可以是每隔一定的时间进行一次,例如十分钟,如果在该时间间隔内没有选举出新区块的记账节点,则本次记账可以延迟到下一个选举周期。预设的选举条件例如可以是:
Figure BDA0003068709030000131
在公式(4)中,sig(T)表示资源节点用自己的私钥对T签名,签名算法可以采用非对称加密算法,例如RSA1024、RSA2048、椭圆曲线算法等,H表示哈希函数,H可以采用高强度的单向哈希函数,例如SHA1、SHA256等函数;E表示挖矿难度,E越大,则难度越低;这个参数可根据全网资源实际情况进行设置,例如,当在前期全网资源较少时,E可以设置较大;后期随着全网资源的增大,E可以递减,即E与网络中资源节点的数量相关,例如可以是:
2E=N,或者2E=2N,难度降低,其中N表示网络中资源节点的数量。
503、接收资源节点发送的验证要素,并根据验证要素对资源节点进行验证;
当资源节点被选举为记账节点之后,资源节点可以接受其它验证节点的验证,资源节点向验证节点发送验证要素,验证节点根据验证要素对该资源节点进行验证,验证要素可以包括节点签名、时间戳以及资源能力等。具体的对资源节点进行验证包括对验证要素中节点签名的合法性进行验证,节点签名为私钥签名;对资源节点在目标时刻所对应的资源能力进行验证,例如验证资源节点在t时刻是否具有其所宣称的资源能力,目标时刻为验证要素中时间戳所对应的时刻;对资源能力以及选票信息是否满足选举条件进行验证,例如验证该资源节点的选票以及资源能力是否满足公式(4)中的密码学条件。
504、当在区块链中对资源节点验证通过的节点数量满足预设数量时,确定对资源节点的选举生效。
当区块链中对该资源节点验证通过的节点数量满足预设数量是,则可以确定本次选举生效,例如当网络中大于51%的节点对该资源节点的验证通过时,确定本次选举生效,并由选举出来的记账节点进行新区块的记账。
上述实施例对本申请中提供的方法进行了详细阐述,下面将对本申请中提供的拥有资源能力计算的系统、装置以及存储介质进行阐述。
请参阅图6,图6为本申请中提供的拥有资源能力计算的系统的一个实施例结构示意图,该系统包括:
第一确定单元601,用于第一确定单元,用于确定资源节点的计算资源、存储资源、网络资源以及其相应资源在资源能力中所占的权重,分别为第一权重、第二权重以及第三权重,所述资源能力为所述资源节点在区块链网络中所拥有的资源的能力;
第一计算单元602,用于根据所述计算资源、所述存储资源、所述网络资源、所述第一权重、所述第二权重以及所述第三权重计算出所述资源节点的初始资源能力;
第二确定单元603,用于根据预设的资源混合比例确定平滑参数,所述资源混合比例为所述计算资源、所述存储资源以及所述网络资源之间的比例;
第二计算单元604,用于根据平滑参数以及初始资源能力计算出资源节点的资源能力;
可选的,第二确定单元603具体用于:
当资源混合比例位于第一预设区间内时,确定平滑参数为第一预设值;
当资源混合比例位于第一预设区间外时,确定平滑参数为第二预设值,所述第二预设值小于所述第一预设值。
可选的,系统还包括:第一验证单元605,第一验证单元605具体用于:
分别对计算资源以及存储资源进行验证。
可选的,第一验证单元605具体用于:
向目标资源节点发送目标基准程序,以使得目标资源节点运行目标基准程序;
接收目标资源节点发送的资源跑分值,并根据资源跑分值对目标节点的计算资源进行验证,资源跑分值为资源节点运行目标基准程序后得到的数值。
可选的,第一验证单元605具体用于:
构建数组队列,数组队列中包含有多个数组,每一个数组中包含有多个资源节点;
在数组队列中挑选目标数组,并在目标数组中挑选目标资源节点;
向目标资源节点发起跑分测试,跑分测试用于测试目标资源节点的计算资源;
接收目标资源节点发送的资源跑分值,并根据资源跑分值对目标资源节点的计算资源进行验证。
可选的,第一验证单元605具体用于:
按顺序在数组队列挑选目标数组。
可选的,第一验证单元605具体用于:
随机在目标数组中挑选目标资源节点。
可选的,第一验证单元605还用于:
在目标数组中移除目标资源节点,并将目标资源节点放置于数组队列尾部的数组中。
可选的,第一验证单元605具体用于:
将目标资源节点的存储空间划分为多个预设大小的扇区;
通过复制证明PoRep对扇区进行封装;
接收目标资源节点发送的压缩结果,压缩结果为目标资源节点生成的简短无交互证明SNARK;
根据压缩结果对目标资源节点的存储资源进行验证。
可选的,系统还包括:选举单元606,选举单元606具体用于:
确定资源节点的选票信息;
根据选票信息以及资源能力对资源节点进行新区块选举,当资源能力以及选票信息之间满足预设的选举条件时,将资源节点确定为新区块的记账节点。
可选的,选举单元606具体用于:
根据资源节点的节点ID以及时间戳确定资源节点的选票信息。
可选的,系统还包括:第二验证单元607,第二验证单元607具体用于:
接收资源节点发送的验证要素,并根据验证要素对资源节点进行验证;
当在区块链中对资源节点验证通过的节点数量满足预设数量时,确定对资源节点的选举生效。
可选的,第二验证单元607具体用于:
对验证要素中节点签名的合法性进行验证,节点签名为私钥签名;
对资源节点在目标时刻所对应的资源能力进行验证,目标时刻为验证要素中时间戳所对应的时刻;
对资源能力以及选票信息是否满足选举条件进行验证。
可选的,系统还包括:调节单元608,调节单元608用于:
接收资源节点发送的反馈信息,反馈信息为资源节点对计算出的资源能力的反馈信息;
根据反馈信息调节资源混合比例。
请参阅图7,图7为本申请中提供的拥有资源能力计算的装置的一个实施例结构示意图,该拥有资源能力计算的装置,包括:
处理器701、存储器702、输入输出单元703、总线704;
处理器701与存储器702、输入输出单元703以及总线704相连;
存储器702保存有程序,处理器701调用程序以执行如上任一拥有资源能力计算的方法。
本申请还涉及一种计算机可读存储介质,计算机可读存储介质上保存有程序,其特征在于,当程序在计算机上运行时,使得计算机执行如上任一拥有资源能力计算的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (17)

1.一种拥有资源能力计算的方法,其特征在于,所述方法包括:
确定资源节点的计算资源、存储资源、网络资源以及其相应资源在资源能力中所占的权重,分别为第一权重、第二权重以及第三权重,所述资源能力为所述资源节点在区块链网络中所拥有的资源的能力;
根据所述计算资源、所述存储资源、所述网络资源、所述第一权重、所述第二权重以及所述第三权重计算出所述资源节点的初始资源能力;
根据预设的资源混合比例确定平滑参数,所述资源混合比例为所述计算资源、所述存储资源以及所述网络资源之间的比例;
根据所述平滑参数以及所述初始资源能力计算出所述资源节点的资源能力。
2.根据权利要求1中所述的方法,其特征在于,所述根据预设的资源混合比例确定平滑参数包括:
当所述资源混合比例位于第一预设区间内时,确定所述平滑参数为第一预设值;
当所述资源混合比例位于第一预设区间外时,确定所述平滑参数为第二预设值,所述第二预设值小于所述第一预设值。
3.根据权利要求1中所述的方法,其特征在于,在所述输出所述资源能力之后,所述方法还包括:
分别对所述计算资源以及所述存储资源进行验证。
4.根据权利要求3中所述的方法,其特征在于,对所述计算资源进行验证包括:
向所述目标资源节点发送目标基准程序,以使得所述目标资源节点运行所述目标基准程序;
接收所述目标资源节点发送的资源跑分值,并根据所述资源跑分值对所述目标节点的计算资源进行验证,所述资源跑分值为所述资源节点运行所述目标基准程序后得到的数值。
5.根据权利要求3中所述的方法,其特征在于,对所述计算资源进行验证包括:
构建数组队列,所述数组队列中包含有多个数组,每一个数组中包含有多个资源节点;
在所述数组队列中挑选目标数组,并在所述目标数组中挑选目标资源节点;
向所述目标资源节点发起跑分测试,所述跑分测试用于测试所述目标资源节点的计算资源;
接收所述目标资源节点发送的资源跑分值,并根据所述资源跑分值对所述目标资源节点的计算资源进行验证。
6.根据权利要求5中所述的方法,其特征在于,所述在所述数组队列中挑选目标数组包括:
按顺序在所述数组队列挑选目标数组。
7.根据权利要求5中所述的方法,其特征在于,所述在所述目标数组中挑选目标资源节点包括:
随机在所述目标数组中挑选目标资源节点。
8.根据权利要求5中所述的方法,其特征在于,在所述接收所述目标资源节点发送的资源跑分值之后,所述方法还包括:
在所述目标数组中移除所述目标资源节点,并将所述目标资源节点放置于所述数组队列尾部的数组中。
9.根据权利要求3中所述的方法,其特征在于,所述对所述存储资源进行验证包括:
将目标资源节点的存储空间划分为多个预设大小的扇区;
通过复制证明PoRep对所述扇区进行封装;
接收所述目标资源节点发送的压缩结果,所述压缩结果为所述目标资源节点生成的简短无交互证明SNARK;
根据所述压缩结果对所述目标资源节点的存储资源进行验证。
10.根据权利要求1至9中任一项所述的方法,其特征在于,在所述根据所述平滑参数以及所述初始资源能力计算出所述资源节点的资源能力之后,所述方法还包括:
接收所述资源节点发送的反馈信息,所述反馈信息为所述资源节点对计算出的所述资源能力的反馈信息;
根据所述反馈信息调节所述资源混合比例。
11.根据权利要求1至9中任一项所述的方法,其特征在于,在所述根据所述平滑参数以及所述初始资源能力计算出所述资源节点的资源能力之后,所述方法还包括:
确定所述资源节点的选票信息;
根据所述选票信息以及所述资源能力对所述资源节点进行新区块选举,当所述资源能力以及所述选票信息之间满足预设的选举条件时,将所述资源节点确定为新区块的记账节点。
12.根据权利要求11中所述的方法,其特征在于,所述确定所述资源节点的选票信息包括:
根据所述资源节点的节点ID以及时间戳确定所述资源节点的选票信息。
13.根据权利要求11中所述的方法,其特征在于,将所述资源节点确定为新区块的记账节点之后,所述方法还包括:
接收所述资源节点发送的验证要素,并根据所述验证要素对所述资源节点进行验证;
当在区块链中对所述资源节点验证通过的节点数量满足预设数量时,确定对所述资源节点的选举生效。
14.根据权利要求13中所述的方法,其特征在于,所述根据所述验证要素对所述资源节点进行验证包括:
对所述验证要素中节点签名的合法性进行验证,所述节点签名为私钥签名;
对所述资源节点在目标时刻所对应的资源能力进行验证,所述目标时刻为所述验证要素中时间戳所对应的时刻;
对所述资源能力以及所述选票信息是否满足所述选举条件进行验证。
15.一种拥有资源能力计算的系统,其特征在于,所述系统包括相互耦合的:
第一确定单元,用于确定资源节点的计算资源、存储资源、网络资源以及其相应资源在资源能力中所占的权重,分别为第一权重、第二权重以及第三权重,所述资源能力为所述资源节点在区块链网络中所拥有的资源的能力;
第一计算单元,用于根据所述计算资源、所述存储资源、所述网络资源、所述第一权重、所述第二权重以及所述第三权重计算出所述资源节点的初始资源能力;
第二确定单元,用于根据预设的资源混合比例确定平滑参数,所述资源混合比例为所述计算资源、所述存储资源以及所述网络资源之间的比例;
第二计算单元,用于根据所述平滑参数以及所述初始资源能力计算出所述资源节点的资源能力。
16.一种拥有资源能力计算的装置,其特征在于,所述装置包括:
处理器、存储器、输入输出单元以及总线;
所述处理器与所述存储器、所述输入输出单元以及所述总线相连;
所述存储器保存有程序,所述处理器调用所述程序以执行如权利要求1至14任一项所述方法。
17.一种计算机可读存储介质,所述计算机可读存储介质上保存有程序,所述程序在计算机上执行时执行如权利要求1至14中任一项所述方法。
CN202110533248.4A 2021-05-17 2021-05-17 一种拥有资源能力计算的方法、系统、装置以及存储介质 Active CN113268322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110533248.4A CN113268322B (zh) 2021-05-17 2021-05-17 一种拥有资源能力计算的方法、系统、装置以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110533248.4A CN113268322B (zh) 2021-05-17 2021-05-17 一种拥有资源能力计算的方法、系统、装置以及存储介质

Publications (2)

Publication Number Publication Date
CN113268322A true CN113268322A (zh) 2021-08-17
CN113268322B CN113268322B (zh) 2023-11-07

Family

ID=77231109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110533248.4A Active CN113268322B (zh) 2021-05-17 2021-05-17 一种拥有资源能力计算的方法、系统、装置以及存储介质

Country Status (1)

Country Link
CN (1) CN113268322B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292243A (zh) * 2022-06-29 2022-11-04 苏州科技大学 一种基于区块链的非准入分布式文件存储系统及存储方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060223917A1 (en) * 2005-04-05 2006-10-05 Bridgestone Corporation Method of optimizing a tire tread compound, and a tire tread compound made by said method
US20130212270A1 (en) * 2012-02-13 2013-08-15 Anderthan Hsieh Resource Access Throttling
CN107342807A (zh) * 2017-07-05 2017-11-10 西安电子科技大学 基于资源移动性的空间信息网络资源互换方法
CN109547546A (zh) * 2018-11-12 2019-03-29 网宿科技股份有限公司 一种请求任务的调度方法及调度中心服务器
CN110661264A (zh) * 2019-09-03 2020-01-07 吉林大学 基于带惯性权重粒子群算法的安全约束最优潮流计算方法
CN111950858A (zh) * 2020-07-20 2020-11-17 深圳供电局有限公司 一种边云协同计算资源交易方法、计算机设备和存储介质
CN112235425A (zh) * 2020-12-14 2021-01-15 长沙理工大学 一种区块链的矿池形成方法、装置、系统及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060223917A1 (en) * 2005-04-05 2006-10-05 Bridgestone Corporation Method of optimizing a tire tread compound, and a tire tread compound made by said method
US20130212270A1 (en) * 2012-02-13 2013-08-15 Anderthan Hsieh Resource Access Throttling
CN107342807A (zh) * 2017-07-05 2017-11-10 西安电子科技大学 基于资源移动性的空间信息网络资源互换方法
CN109547546A (zh) * 2018-11-12 2019-03-29 网宿科技股份有限公司 一种请求任务的调度方法及调度中心服务器
CN110661264A (zh) * 2019-09-03 2020-01-07 吉林大学 基于带惯性权重粒子群算法的安全约束最优潮流计算方法
CN111950858A (zh) * 2020-07-20 2020-11-17 深圳供电局有限公司 一种边云协同计算资源交易方法、计算机设备和存储介质
CN112235425A (zh) * 2020-12-14 2021-01-15 长沙理工大学 一种区块链的矿池形成方法、装置、系统及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115292243A (zh) * 2022-06-29 2022-11-04 苏州科技大学 一种基于区块链的非准入分布式文件存储系统及存储方法
CN115292243B (zh) * 2022-06-29 2023-10-20 苏州科技大学 一种基于区块链的非准入分布式文件存储系统及存储方法

Also Published As

Publication number Publication date
CN113268322B (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
CN110383279B (zh) 用于检测重放攻击的系统和方法
CN110431577B (zh) 用于检测重放攻击的系统和方法
CN112073483B (zh) 基于信誉与委员会背书机制的权威证明共识方法及系统
CN111095326A (zh) 在分布式账本系统中进行交易的并行执行
CN111095324A (zh) 在分布式账本系统中执行交易的并行执行
Dorsala et al. Fair payments for verifiable cloud services using smart contracts
CN113568974B (zh) 基于区块链系统的分片共识方法、设备以及可读存储介质
CN110247753B (zh) 基于区块链节点网络的出块方法及装置
CN111800274B (zh) 一种基于区块链的可验证计算能耗优化方法
CN110223070B (zh) 基于区块链节点网络的验证方法及装置
CN113114496A (zh) 一种基于分片技术的区块链可扩展性问题解决方法
Buchnik et al. Fireledger: A high throughput blockchain consensus protocol
CN110517029A (zh) 区块链跨链交易验证的方法、装置、设备及区块链系统
CN111385096B (zh) 一种区块链网络系统、签名处理方法、终端及存储介质
JP2022554202A (ja) 対話型集約署名方法、設備および記憶媒体
CN110990790B (zh) 一种数据处理方法及设备
CN110225044B (zh) 在区块链上的验证方法及装置
CN111787034B (zh) 区块生成方法、同步方法、装置、区块链系统和存储介质
CN109921897B (zh) 工作量证明计算的触发方法、装置、计算设备及存储介质
CN113268322A (zh) 一种拥有资源能力计算的方法、系统、装置以及存储介质
EP3520370B1 (en) A decentralised database
CN116896564B (zh) 基于区块链网络的区块生成方法、装置和计算机设备
Hsueh et al. EPoW: Solving blockchain problems economically
CN112995167A (zh) 基于Kafka机制的用电信息采集方法、区块链网络及用户端
CN110222538B (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