一种公平的基于区块链的双向组合云资源分配方法及系统与流程

文档序号:16471757发布日期:2019-01-02 23:10阅读:196来源:国知局
一种公平的基于区块链的双向组合云资源分配方法及系统与流程

本发明涉及网络与信息安全技术领域,尤其涉及一种公平的基于区块链的双向组合云资源分配方法及系统。



背景技术:

云计算是一种通过因特网提供服务的流行范例,以互联网为媒介,为云用户提供虚拟化资源。随着云计算的发展,全球各大企业开始为用户提供云计算服务,如亚马逊,国内的阿里巴巴。目前这些企业采用的都是基于固定价格模式提供服务,随着云计算机市场规模不断扩大,由于这种交易模式缺乏灵活性,无法满足卖家日益增加的多源异构需求,不能反映市场的供需变化,同时也不是经济有效型的。为了解决这个问题,研究人员将传统的拍卖技术与云计算结合,弥补固定价格带来的缺陷。

但是目前云拍卖方式并未对买家和卖家的报价信息进行保护,对方可以通过窃听攻击,了解对方的报价,可以针对具体的拍卖规则提出报价,从而最大化自己的利益。同时目前大部分云拍卖方式集中于云拍卖分配策略和定价策略的研究,而并未对云用户购买云供应商产品的保护,云用户可能支付但是没有收到相应产品又或者云供应商发送了产品但是并没有收到付款。

为了解决这两个问题,引入了新的技术和方法-区块链和承诺机制。区块链保证了信息的不可篡改性,同时保证了没有第三方能够随意改动数据。同时将承诺机制与区块链结合,实现了云用户和云用户、云供应商和云供应商、云用户和云供应商之间的公平,保证了即使云用户之间、云供应商之间看到了对方的报价,仍然只能公开自己最原始的报价,同时也保证了云用户和云供应商之间交易的公平性,云用户在购买过程中利益不会受损、发送了合格产品的云供应商一定会获得对应的收费。本发明不同于以往区块链实现公平性交易的时间消耗o(mn)方式,本发明借助智能合约这项新技术,实现了即使在交易数量为o(mn)级别的情况下,依然保证了执行时间为常数级,极大地提高了执行过程的效率。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供了一种公平的基于区块链的双向组合云资源分配方法及系统,通过区块链实现了云用户和云用户之间、云供应商和云供应商之间、云用户和云供应商之间的公平性,同时保证了交易的有效性,以及该过程的稳定性。

本发明是通过以下技术方案实现的:一种公平的基于区块链的双向组合云资源分配方法,涉及到n个云用户u={u1,…,un},m个云供应商p={p1,…,pm},其中ui表示第i个用户,1≤i≤n;pj表示第j个用户,1≤j≤m;该分配方法包括:

s1、初始化阶段:云用户ui、云供应商pj和裁定者a基于椭圆曲线签名算法生成自己的公私钥和(pka,ska);云用户和云供应商各准备一个价值为未赎回的交易

s2、报价阶段:云用户和云供应商基于承诺机制,隐藏自己的报价信息,并将隐藏后报价和含有一定金额未赎回的交易一同发送至智能合约;云用户和云供应商要在规定的时间内公开自己的报价,否则不能拿回自己发送至智能合约的资金;

s3、匹配和定价阶段:智能合约根据云用户和云供应商的报价匹配云用户和云供应商,并为他们定价;

s4、支付阶段:云用户ui发送一笔与定价相符的交易txpayment,并发送一个可以消耗txpayment交易的txfee交易的签名给云供应商云供应商发送云产品给云用户,云用户收到产品,并确认是否合格;云供应商提取费用;

s5、争端阶段:如果支付过程出现争端,裁定者出现解决争端,帮助云用户获取合格产品,如果未收到合格产品帮助云用户拿回费用。

作为本发明的优选方式之一,所述的报价阶段中具体包括:

(1)报价承诺阶段:每个用户都将自己的资源属性、资源数量、出价和时间哈希计算出承诺值;

(2)公开报价阶段:云用户和云供应商在规定时间t1前公开自己的报价,否则不能取回自己的承诺金。

作为本发明的优选方式之一,在所述报价承诺阶段中:对于云用户ui,有如下操作:将资源属性资源数量出价bi和时间ti级联后哈希计算出承诺并将承诺hi和承诺金打包生成txcommitment交易发送至智能合约。

作为本发明的优选方式之一,在所述报价承诺阶段中:对于云供应商dj,有如下操作:将资源属性资源数量和出价bj级联后哈希计算出承诺并将承诺hj和承诺金打包生成txcommitment交易发送至智能合约。

作为本发明的优选方式之一,在所述的公开报价阶段中:对于云用户ui,有如下操作:将原始出价数据在规定时间t1内通过交易txopen发送至智能合约,满足智能合约指定条件:h(x)=hi,就可以拿回自己的承诺金;如果没有在t1时间内发送至智能合约,智能合约就可以自动生成交易,将未公开秘密的云用户的承诺金补偿给公开秘密的云用户;公开秘密的云用户可以在t1时间之后,通过发送交易txcompensation获得补偿金,用于补偿未公开秘密的用户查看公开秘密用户的秘密。

作为本发明的优选方式之一,在所述的公开报价阶段中:对于公开秘密的云供应商pj,有如下操作:将原始出价数据在规定时间t1内通过交易txopen发送至区块链,满足智能合约指定条件:h(x)=hj,就可以拿回自己的承诺金;如果未在t1时间内发送txopen交易至智能合约,其他公开秘密的云供应商就可以通过txcompensation获得补偿。

作为本发明的优选方式之一,在所述的匹配和定价阶段中:匹配阶段包括:

云用户排序:

计算每个云用户ui的总数量其中可以是cpu的处理性能、存储容量、带宽或者内存,然后计算出价密度各个云用户按照降序排序后的结果为(u1,…,ui),有更高出价密度的代理人会有更高的优先级;i∈{1,…,n};

云供应商排序:

计算每个供应商pj的总数量然后计算出价密度各个供应商按照升序排序后的结果为(p1,…,pi),有较低出价密度的供应商会有更高的优先级;j∈{1,…,m};

资源分配:

从用户(u1,…,ui)列表中选取第一个云用户,同时从供应商(p1,…,pi)列表中选取第一个供应商,确认供应商是否能解决用户的请求;具体操作如下:云用户的第一个属性与供应商的第一个属性aj1比较,如果供应商的属性大于等于代理人的属性并且数量满足要求如果满足条件,查看下一个用户要求,如果第一个供应商不能满足用户所有需求,查看第二个供应商是否满足用户全部需求;对于下一个云用户,也采取同样的方式;

定价阶段具体包括:

云用户平均价格:

计算云用户ui总的请求总数量然后计算云用户ui的平均价格

云供应商平均价格:

计算供应商dj总的请求总数量然后计算供应商dj的平均价格

平均交易价格:

计算云用户ui和供应商dj之间的平均价格供应商dj提供给云用户ui所有的分配数量等于ui请求的总数量云用户ui和供应商dj之间支付价格为其中i∈{1,…,n},j∈{1,…,m}。

作为本发明的优选方式之一,所述支付阶段具体包括:

支付:

每个成功匹配上的云用户准备一个价值为最终交易价格的交易;对于用户ui准备一个价值为的交易用于支付云产品;云用户ui将txpayment交易发送至智能合约上;并签署交易发送给云供应商pj;

产品发送:

pj查看在时间t2之前txpayment交易是否发送至智能合约上,金额正确,并且收到对应的取钱签名并在t3时刻之前发送产品给云用户ui;如果云供应商未在t3时刻之前发送产品给云用户,转至阶段s5;

产品验证:

云用户ui收到产品,验证可用;如果产品不合格,转至阶段s5;

收取费用:

云供应商在时间t5之后,发送txfee交易,收取费用。

作为本发明的优选方式之一,所述的争端阶段中具体为:云用户发送签名和合约地址txpayment地址至裁定者a;裁定者a首先判断交易金额是否正确,如果不正确,裁定者发送交易txrefund至智能合约;如果正确,通知云供应商pj重新发送一份产品;a核对产品是否合格,如果合格发送至云用户;如果产品不合格或者未在时间t4之前发送产品给a,则云供应商发送交易txrefund至智能合约,帮助云用户拿回费用。

本发明还公开了一种公平的基于区块链的双向组合云资源分配系统,涉及到n个云用户u={u1,…,un},m个云供应商p={p1,…,pm},其中ui表示第i个用户,1≤i≤n;pj表示第j个用户,1≤j≤m;该分配系统包括:

初始化模块:用于云用户ui、云供应商pj和裁定者a基于椭圆曲线签名算法生成自己的公私钥和(pka,ska);并为云用户和云供应商各准备一个价值为未赎回的交易

报价模块:用于为云用户和云供应商基于承诺机制,隐藏自己的报价信息,并将隐藏后报价和含有一定金额未赎回的交易一同发送至智能合约;云用户和云供应商要在规定的时间内公开自己的报价,否则不能拿回自己发送至智能合约的资金;

匹配和定价模块:用于通过智能合约为云用户和云供应商的报价匹配云用户和云供应商,并为他们定价;

支付模块:用于云用户ui发送一笔与定价相符的交易txpayment,并发送一个可以消耗txpayment交易的txfee交易的签名给云供应商云供应商发送云产品给云用户,云用户收到产品,并确认是否合格;云供应商提取费用;

争端模块:用于当支付过程出现争端,裁定者出现解决争端,帮助云用户获取合格产品,如果未收到合格产品帮助云用户拿回费用。

本发明相比现有技术的优点在于:(1)本发明首次将云资源分配与区块链技术结合,保证了云拍卖过程中的公平性。传统云资源分配借助云拍卖提高了云资源分配的灵活性,但是不能保证云资源分配的公平性,云用户可以监听到其他用户出价,以此改动自己的出价,获得最大利益,云供应商同样如此。为此,本发明采用传统密码学中的承诺机制与区块链技术结合,即使云用户之间、云供应商之间可以监听到对方公开的秘密,但是依然不能根据对方的出价信息更改自己的出价信息,承诺机制保证了在公开的秘密和之前承诺的秘密是同一个秘密,同时因为承诺机制带来隐藏的效果,保证承诺时期,用户之间、云供应商之间不能查看各自的出价信息,很好的保护了云用户和云供应商的利益。(2)相比传统区块链实现公平性交易的技术方法,本发明更具有有效性。传统区块链实现公平性的技术方法,至少需要ο(mn)数量级的交易,本发明借助智能合约实现了在云用户数量为n、云供应商数量为m的情况下,交易数量依然为常数的效果,相比传统区块链实现公平性的技术方法,本发明极大提高了执行过程的有效性。

附图说明

图1是根据本发明实施例1的双向组合云拍卖的具体场景模拟示意图;

图2是本发明实施例1的云用户报价承诺及公开承诺的交易实现图;

图3是本发明实施例1的云供应商报价承诺及公开承诺的交易实现图;

图4是本发明实施例1的合约与云供应商之间购买支付的交易实现图。

具体实施方式

下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图1:展示了云资源分配的具体过程。云用户和云供应商之间借助区块链上的智能合约完成投标承诺、公开投标操作;接着根据智能合约中已经书写好云拍卖中的匹配算法和定价算法完成云用户和云供应商之间的匹配和定价;最后云用户和云供应商通过智能合约完成交易;如果在最后的交易阶段出现争端,可以借助裁定者完成公平交易。

实施例1

参见图1-4:本实施例一种公平的基于区块链的双向组合云资源分配方法,涉及到n个云用户u={u1,…,un},m个云供应商p={p1,…,pm},其中ui表示第i个用户,1≤i≤n;pj表示第j个用户,1≤j≤m;该分配方法包括:

s1、初始化阶段:云用户ui、云供应商pj和裁定者a基于椭圆曲线签名算法生成自己的公私钥和(pka,ska);云用户和云供应商各准备一个价值为未赎回的交易交易只能由各自的私钥解密,这些为赎回的交易用于下一阶段的承诺金;

s2、报价阶段:云用户和云供应商基于承诺机制,隐藏自己的报价信息,并将隐藏后报价和含有一定金额未赎回的交易一同发送至智能合约;云用户和云供应商要在规定的时间内公开自己的报价,否则不能拿回自己发送至智能合约的资金;其具体包括报价承诺阶段、公开报价阶段;这两个阶段借助承诺机制的特性,实现了一下两个功能:(1)隐藏:借助承诺机制可以隐藏云用户和云供应商的原始报价,防止其他参与者查看;(2)绑定:隐藏后的值只能与原始报价相对应,这保证了即使查看到了其他参与者的报价信息也只能公开自己的原始报价信息,保证了前后的一致性。报价承诺阶段实现了隐藏的特性,公开报价阶段借助了承诺机制的绑定的特性;具体为:

(1)报价承诺阶段:每个用户都将自己的资源属性、资源数量、出价和时间哈希计算出承诺值;对于云用户ui,有如下操作:将资源属性资源数量出价bi和时间ti级联后哈希计算出承诺并将承诺hi和承诺金打包生成txcommitment交易发送至智能合约;对于云供应商dj,有如下操作:将资源属性资源数量和出价bj级联后哈希计算出承诺并将承诺hj和承诺金打包生成txcommitment交易发送至智能合约;

(2)公开报价阶段:云用户和云供应商在规定时间t1前公开自己的报价,否则不能取回自己的承诺金;对于云用户ui,有如下操作:将原始出价数据在规定时间t1内通过交易txopen发送至智能合约,满足智能合约指定条件:h(x)=hi,就可以拿回自己的承诺金;如果没有在t1时间内发送至智能合约,智能合约就可以自动生成交易,将未公开秘密的云用户的承诺金补偿给公开秘密的云用户;公开秘密的云用户可以在t1时间之后,通过发送交易txcompensation获得补偿金,用于补偿未公开秘密的用户查看公开秘密用户的秘密;在所述的公开报价阶段中:对于公开秘密的云供应商pj,有如下操作:将原始出价数据在规定时间t1内通过交易txopen发送至区块链,满足智能合约指定条件:h(x)=hj,就可以拿回自己的承诺金;如果未在t1时间内发送txopen交易至智能合约,其他公开秘密的云供应商就可以通过txcompensation获得补偿,整体交易过程如图3所示;

s3、匹配和定价阶段:智能合约根据云用户和云供应商的报价匹配云用户和云供应商,并为他们定价;该阶段的算法已经书写在智能合约中,智能合约执行是公开的,保证了执行过程的公平、公正,且借助区块链这一去中心化的平台保证了没有第三方可以篡改结果,结果完全按照算法规定执行;匹配阶段具体包括:

云用户排序:

计算每个云用户ui的总数量其中可以是cpu的处理性能、存储容量、带宽或者内存,然后计算出价密度各个云用户按照降序排序后的结果为(u1,…,ui),有更高出价密度的代理人会有更高的优先级。i∈{1,…,n}。

云供应商排序:

计算每个供应商pj的总数量然后计算出价密度各个供应商按照升序排序后的结果为(p1,…,pi),有较低出价密度的供应商会有更高的优先级。j∈{1,…,m}。

资源分配:

从用户(u1,…,ui)列表中选取第一个云用户,同时从供应商(p1,…,pi)列表中选取第一个供应商,确认供应商是否能解决用户的请求。具体操作如下:云用户的第一个属性与供应商的第一个属性比较,如果供应商的属性大于等于代理人的属性并且数量满足要求如果满足条件,查看下一个用户要求,如果第一个供应商不能满足用户所有需求,查看第二个供应商是否满足用户全部需求。对于下一个云用户,也采取同样的方式。

定价阶段具体包括:

云用户平均价格:

计算云用户ui总的请求总数量然后计算云用户ui的平均价格

云供应商平均价格:

计算供应商dj总的请求总数量然后计算供应商dj的平均价格

平均交易价格:

计算云用户ui和供应商dj之间的平均价格供应商dj提供给云用户ui所有的分配数量等于ui请求的总数量云用户ui和供应商dj之间支付价格为其中i∈{1,…,n},j∈{1,…,m}。

s4、支付阶段:云用户ui发送一笔与定价相符的交易txpayment,并发送一个可以消耗txpayment交易的txfee交易的签名给云供应商云供应商发送云产品给云用户,云用户收到产品,并确认是否合格;云供应商提取费用;云用户支付的交易借助了区块链交易的可延迟性,给予云用户和云供应商足够的处理时间。这笔交易发送在区块链上,保证了交易的不可篡改,不会被随意赎回,也不会突然消失,只有在满足一定条件下才执行交易;具体包括:

支付:

每个成功匹配上的云用户准备一个价值为最终交易价格的交易。对于用户ui准备一个价值为的交易用于支付云产品。云用户ui将txpayment交易发送至智能合约上。并签署交易发送给云供应商pj。

产品发送:

pj查看在时间t2之前txpayment交易是否发送至智能合约上,金额正确,并且收到对应的取钱签名并在t3时刻之前发送产品给云用户ui。如果云供应商未在t3时刻之前发送产品给云用户,转至阶段s5。

产品验证:

云用户ui收到产品,验证可用。如果产品不合格,转至阶段s5。

收取费用:

云供应商在时间t5之后,发送txfee交易,收取费用。

s5、争端阶段:如果支付过程出现争端,裁定者出现解决争端,帮助云用户获取合格产品,如果未收到合格产品帮助云用户拿回费用;包括以下四种情况:用户u未在时间t3内收到产品;用户u在时间t3收到不可用产品;用户u假装未在t3内收到产品;用户u未发送正确的金额;都可以通过以下方式完成公平交易。具体为:云用户发送签名和合约地址txpayment地址至裁定者a;裁定者a首先判断交易金额是否正确,如果不正确,裁定者发送交易txrefund至智能合约;如果正确,通知云供应商pj重新发送一份产品;a核对产品是否合格,如果合格发送至云用户;如果产品不合格或者未在时间t4之前发送产品给a,则云供应商发送交易txrefund至智能合约,帮助云用户拿回费用。整体交易如图4所示。

本发明还公开了一种公平的基于区块链的双向组合云资源分配系统,涉及到n个云用户u={u1,…,un},m个云供应商p={p1,…,pm},其中ui表示第i个用户,1≤i≤n;pj表示第j个用户,1≤j≤m;该分配系统包括:

初始化模块:用于云用户ui、云供应商pj和裁定者a基于椭圆曲线签名算法生成自己的公私钥和(pka,ska);并为云用户和云供应商各准备一个价值为未赎回的交易

报价模块:用于为云用户和云供应商基于承诺机制,隐藏自己的报价信息,并将隐藏后报价和含有一定金额未赎回的交易一同发送至智能合约;云用户和云供应商要在规定的时间内公开自己的报价,否则不能拿回自己发送至智能合约的资金;

匹配和定价模块:用于通过智能合约为云用户和云供应商的报价匹配云用户和云供应商,并为他们定价;

支付模块:用于云用户ui发送一笔与定价相符的交易txpayment,并发送一个可以消耗txpayment交易的txfee交易的签名给云供应商云供应商发送云产品给云用户,云用户收到产品,并确认是否合格;云供应商提取费用;

争端模块:用于当支付过程出现争端,裁定者出现解决争端,帮助云用户获取合格产品,如果未收到合格产品帮助云用户拿回费用。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1