一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的支付、交易方法、系统和计算机存储介质与流程

2022-07-13 17:34:22 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,特别是涉及一种分布式交易的支付方法。


背景技术:

2.传统的大规模交易所都发生在集中化交易所,自从有了区块链技术后,由于其账本公开、防篡改等特性,使得分布式的点对点(p2p)交易所成为可能。分布式交易平台,又称去中心化交易所、分散式交易平台。分布式交易平台基于区块链创造的不依赖第三方信任的数字信息交换方式,提供了一种全新的信用机制和价值交换模式。
3.p2p能源交易作为智能电网中能源管理的一种新方式,促进了大量小型生产者和消费者主动融入市场,同时有效提高了电力能源的利用率。因此近年来不断涌现基于区块链的电力能源交易框架。
4.但是,由于在区块链这一虚拟平台上进行交易,可能出现消费者完成支付动作,但生产者不履行交接商品的情况,导致消费者付款但未收到商品;也可能出现生产者完成交接商品的动作,但消费者不履行支付动作的情况,导致生产者付出了商品但未收到货款。现有技术中,引入第三方,不仅无法保障交易双方的隐私,而且交易效率低而繁琐。因此,如何提供一种简单高效、对交易双方互相牵制的支付方法,是区块链交易中亟待解决的技术问题。


技术实现要素:

5.本发明提供一种基于区块链的支付方法,包括:
6.e1:消费者cj根据交易协议,广播货款支付消息,该货款支付消息包括交易协议、货款和附加金,所述货款被锁定;
7.e2:生产者pi收到货款支付消息后,若确认无误,则广播商品转移消息;所述商品转移消息包括交易协议、附加金和返回金;所述返回金等于附加金,且被锁定货款相同的方式锁定;
8.e3:消费者cj收到广播商品转移消息后,若确认无误,则得到商品,并解锁返回金,公开解锁方式;
9.e4:生产者pi获得解锁方式,进而解锁货款,得到货款;
10.其中,pi∈p={p1,

,p
p
}(生产者集合),cj∈c={c1,

,cc}(消费者集合);i、j、p、c为正整数,分别代表生产者的编号、消费者的编号、生产者的数量和消费者的数量,1≤i≤p,1≤j≤c。
11.进一步地,货款支付消息,表示为:
12.token_transfer=《tx
id
,nego
confirm
.tx
id
,utxo
out1
,utxo
out2
,sigj》
13.其中,token_transfer,为货款支付消息;tx_id为交易协议的索引地址,nego_confirm.tx_id为交易协议;utxo
out1
为消费者cj需要向生产者pi支付的货款;utxo
out2
为消费者cj需要向生产者pi支付的附加金;sigj为消费者cj的签名。
14.进一步地,货款支付消息还包括消费者cj持有的资产,表示为:
15.token_transfer=《tx_id,nego_confirm.tx_id,utxo
in
,utxo
out1
,utxo
out2
,sigj》
16.其中,utxo
in
为消费者cj持有的资产。
17.进一步地,所述商品转移消息,表示为:
18.goods_transfer=《nego_confirm.tx_id,utxoo
ut2
,utxoo
ut3
,e
ij
,sigi》
19.其中,utxo
out3
为返回金,e
ij
生产者pi与消费者cj之间的交易数量;sigi为生产者pi的签名。
20.进一步地,所述货款,采用哈希算法h=hash(s)锁定;生产者pi需要提供消费者cj所提供的s才能解锁货款utxo
out1

21.其中,s为消费者cj生成的随机秘密字符串。
22.进一步地,本发明还提供一种基于区块链的交易方法,包括:
23.s1:生产者pi发布供给侧广告、消费者cj发布需求侧广告,至区块链平台
24.s2:根据供给侧广告和需求侧广告,确定交易数量和交易单价;
25.s3:生产者pi和消费者cj根据交易数量和交易单价,签署交易协议,广播至区块链平台;
26.s4:消费者根据交易协议支付货款,生产者根据交易协议交付商品,并更新供给侧广告和需求侧广告;步骤s4,根据权利要求1-5任意一项所述的支付方法,完成支付货款和交付商品的步骤;
27.其中,pi∈p={p1,

,p
p
}(生产者集合),cj∈c={c1,

,cc}(消费者集合);i、j、p、c为正整数,分别代表生产者的编号、消费者的编号、生产者的数量和消费者的数量,1≤i≤p,1≤j≤c。
28.进一步地,步骤s2,包括:
29.c1:消费者cj对生产者pi广播交易请求消息;令r=0;
30.c2:生产者pi收到交易请求消息后,以为约束条件,求解得到并广播交易答复消息;
31.c3:消费者cj收到交易答复消息后,以为约束条件,求解得到并广播更新后的交易请求消息;
32.c4:判断和是否达到收敛条件;
33.c5:若否,则令r=r 1,返回步骤c1;若是,则将和设定为交易数量e
ij
和交易单价λ
ij

34.其中,r为循环计数;e
ij
为生产者pi和消费者cj之间的交易数量,e
ij
=e
ji
;ei为生产者pi总计出售的交易数量;λ
ij
为生产者pi和消费者cj之间的交易单价;li为生产者pi的净收益函数,lj为消费者cj的净收益函数。
35.进一步地,所述生产者pi和消费者cj所提供的地址,为模糊地址;生成所述模糊地
址的步骤,包括:
36.b1:为用户a分配物理标识、交易标识,并对应物理标识标注物理地址;
37.b2:根据物理地址生成模糊地址,并根据物理标识、交易标识、物理地址和模糊地址,为用户a构造模糊地址验证请求;
38.b3:用户b收到模糊地址验证请求后,根据物理标识和模糊地址,向管理端发送用户a的用户认证请求;
39.b4:管理端根据用户a的用户认证请求对用户a进行验证,并将用户a的用户认证结果反馈给用户b;
40.b5:用户b收到用户a认证成功的结果后,对用户a的用户认证结果做签名,并构造用户a的模糊地址验证答复,发送给用户a;
41.b6:用户a收到模糊地址验证答复后,为模糊地址构造位置证明;
42.其中,a、b为生产者和消费者中的任意用户;a可以为b,也可以不为b。
43.进一步地,本发明还提供一种基于区块链的交易系统,包括:生产者和消费者,根据上述任意的支付方法完成支付;或根据上述任意的交易方法进行交易。
44.进一步地,本发明还提供一种计算机存储介质,存储有计算机程序;所述计算机程序,用于执行上述任意的支付方法;或执行上述任意的交易方法。
45.本发明提供的基于区块链的支付、交易方法、系统和计算机存储介质,通过锁定货款,并附上小面值的附加金,使得:一方面采用锁定货款的方式,使得消费者能够在未得到交易商品前锁定货款,并在确认收到商品后,才解锁货款,保障消费者的合法权益,避免付款确未收到商品的情况;另一方面,设定携带与锁定货款同样锁定方式的附加金的支付方式,使得消费者在要拿回这部分附加金时,解锁该附加金,该解锁方式即在链上公开,生产者可及时获取该解锁方式,而解锁货款,得到货款,保障生产者的合法权益,避免交付商品但未收到货款的情况。因此,锁定货款和解锁附加金相辅相成,保障交易双方的合法权益,确保交易环境良性发展。
附图说明
46.图1为本发明基于区块链的交易方法的一个实施例的流程图;
47.图2为本发明电力交易系统的一个实施例的结构框图;
48.图3为本发明基于区块链的交易方法的步骤s1的流程图;
49.图4为本发明的生成模糊地址的方法的流程图;
50.图5为本发明基于区块链的支付方法的一个实施例的流程图。
具体实施方式
51.如图1所示,本发明提供一种基于区块链的交易方法,包括:
52.s1:生产者pi发布供给侧广告、消费者cj发布需求侧广告,至区块链平台。其中,pi∈p={p1,

,p
p
}(生产者集合),cj∈c={c1,

,cc}(消费者集合);i、j、p、c为正整数,分别代表生产者的编号、消费者的编号、生产者的数量和消费者的数量,1≤i≤p,1≤j≤c。优选的,可选但不仅限于为每个生产者分配pki,ski,pki,ski,locationi,分别是生产者pi的物理标识(可选但不仅限于为物理公钥、物理私钥)、交易标识(可选但不仅限于为交易公钥、交
易私钥)和位置,是对生产者pi基本信息的唯一标识;可选但不仅限于为每个消费者cj分配pkj,skj,pkj,skj,locationj,分别是消费者cj的物理标识(可选但不仅限于为物理公钥、物理私钥)、交易标识(可选但不仅限于为交易公钥、交易私钥)和位置,是对消费者cj基本信息的唯一标识。供给侧广告,可选但不仅限于表示为息的唯一标识。供给侧广告,可选但不仅限于表示为需求侧广告,可选但不仅限于表示为:侧广告,可选但不仅限于表示为:更为具体的,以电力交易系统为例,如图2所示,该交易的总架构,可选但不仅限于包括设备层和信息层。电网公司可选但不仅限于为每个用户(生产者或消费者,以a表示)安装智能电表(该智能电表合法,认定为诚实且不可篡改的),将设备层连接到信息层,并在其中部署密钥对《pka,ska》作为物理标识,对每个用户的智能电表附上唯一标识加以区分,部署密钥对《pka,ska》作为交易标识,对交易中的每个用户加以区分,并运行ca服务记录《pka,locationa》标注其对应的物理地址(实际地址)。更为具体的,供给侧广告adi发布至区块链平台,存储在中心数据库上,以分别向消费者cj宣传自身的出售信息、需求侧广告adj发布至区块链平台,存储在中心数据库上,以向生产者pi宣传自身的购买信息。其中,为生产者pi待出售商品(待出售电力)上限,为待购入商品(待购入电力)上限,locationi、locationj为生产者和消费者的地址(该地址可以为实际的物理地址,也可为后续方法生成的模糊地址)。值得注意的,该电力交易仅为本发明的适应性举例,本发明背景技术从电力交易系统中所出现的技术问题出发,提出该交易方法,具有广泛适用性,本领域技术人员可以理解的其它任何实体或虚拟物品的交易也可适用本发明的技术构思,在本发明的保护范围之内。
53.s2:根据供给侧广告adi和需求侧广告adj,基于市场利益最大化原则,确定交易数量e
ij
和交易单价λ
ij
,即看如何确定所有生产者和消费者之间的交易情况,谁和谁交易,具体交易数量和交易单价是多少,使得市场利益最大化。优选的,可选但不仅限于将上述基于市场利益最大化原则,转化为求解公式(1)所确定的市场结算总优化问题,使得交易双方净收益最大。
[0054][0055]
约束条件为:e
ij-e
ji
=0
ꢀꢀꢀ
(1)
[0056]
其中,ei,表示生产者pi总计出售的商品数量、待出售的商品数量的最小值和最大值;ej,表示消费者cj总计购入的商品数量、待购入商品数量的最小值和最大值;一般最小值取0;e
ij
/e
ji
表示生产者pi与消费者cj间的交易数量,λ
ij
表示生产者pi与消费者cj间的交易单价。li为生产者pi的净收益函数,lj为消费者cj的净收益函数。
[0057]
更为优选的,li为生产者pi的净收益函数,可选但不仅限于定义为公式(2):
[0058][0059]
lj为消费者cj的净收益函数,可选但不仅限于定义为公式(3):
[0060][0061]
其中,λ
ij
表示生产者pi与消费者cj间的交易单价;ci(ei)为生产者pi的成本函数(如电力交易中的发电成本,商品交易中的进价成本等);uj(ej)为效用函数(如电力交易中消费者cj的电力效用,商品交易中的出价成本等)。
[0062]
更为优选的,交易中还可选但不仅限于考虑到手续费缴纳问题,如以μ
ij
表示生产者pi与消费者cj间的手续费单价(中间商手续费,如电力交易中的电网公司,一般由消费者cj支付);此时消费者cj的净收益函数lj定义为公式(5):
[0063][0064]
更为优选的,在求解公式(1)时,可选但仅限于通过对偶变量消除上述约束,其中以γ
i1

i2
对应以γ
j1

j2
对应特别地,对于e
ij-e
ji
=0,引入的对偶变量,将市场结算总优化问题分解为局部子优化问题(生产者pi需处理的变量为{e
ij

ij
,ei,γ
i1

i2
},消费者cj需处理的变量为{e
ji
,ej,γ
j1

j2
})。更为具体的,可选但不仅限于采用投影次梯度法求解上述变量,以求解交易数量e
ij
=e
ji
(生产者和消费者之间的交易数量,以电力交易为例,即为生产者pi出售给消费者cj的电力=消费者cj在生产者pi处购入的电力)和交易单价λ
ij
=λ
ji
(以电力交易为例,即为生产者pi和消费者cj之间的电力单价)。
[0065]
s3:生产者和消费者根据交易数量和交易单价,签署交易协议,广播至区块链平台。具体的,可选但不仅限于包括:s31:消费者cj根据交易数量e
ij
和交易单价λ
ij
,广播预交易消息nego_pre_confirm。具体的,该预交易消息,可选但不仅限于表示为:nego_pre_confirm=《tx_id,pkj,pki,e
ij

ij
,sigj》,其中,tx_id为交易id,sigj为消费者cj对交易前段tx_id||pkj||pki||e
ij
||λ
ij
的签名(可选但不仅限于采用其交易私钥ska进行签名),并将其发布在电网公司维护的中心化站点上;s32:生产者pi收到预交易消息后(在中心化站点上检测到相关的预交易消息),若确认无误(可选但不仅限于确认e
ij

ij
,sigj均无误),则广播交易确认消息(正式的多签交易),即在预交易后添加自己对tx_id||pkj||pki||e
ij
||λ
ij
的签名sigi,在区块链网络中广播。具体的,该交易确认消息,可选但不仅限于表示为:nego_confirm=《tx_id,pkj,pki,e
ij

ij
,sigj,sigi》。
[0066]
s4:消费者根据交易协议支付货款,生产者根据交易协议交付商品,并更新供给侧广告和需求侧广告。
[0067]
在该实施例中,提出了一种基于区块链的交易方法,其不仅充分利用区块链技术去中心化、不可篡改和匿名性等显著特点,能够促使交易双方形成一个覆盖网络,保障交易双方的合法权益和安全性能,而且能够基于市场利益最大化原则,确定交易数量e
ij
和交易单价λ
ij
,相对于传统的拍卖机制或分布式优化机制,其将市场结算问题表述为优化问题,使交易双方能够灵活的自主议价、确定交易数量,在经济利益最大化的基础上完成完整交易,使得市场结算的参与方利益最大化,且保障交易效率。
[0068]
更为优选的,步骤s1中,供给侧广告adi,还可选但不仅限于包括其信誉度fi(可由管理者、消费者等按照交易记录、商家等级等进行评定,以供消费者判断选择),格式化为
需求侧广告adj,还可选但不仅限于包括其信誉度fj(可由管理者、生产者等按照交易记录、商家等级等进行评定,以供生产者判断选择),格式化为
[0069]
更为具体的,步骤s1中,可选但不仅限于根据供给侧广告和需求侧广告(信誉度(fi、fj)和距离(dis
ij
,可为物理地址locationi与locationj的距离,也可以是后续模糊地址的距离)),将生产者、消费者分别划分为x组优先级。具体的,如图3所示,步骤s1,还可选但不仅限于包括:
[0070]
a1:根据公式(6),计算生产者pi的优先级排序影响因子scorei;
[0071][0072]
其中,fi为生产者pi的信誉度;dis
ij
为生产者pi与消费者cj的距离(可为物理地址locationi与locationj的距离,也可以是后续模糊地址的距离);max_f为信誉度最大值(如按照一定规则,将信誉度评分定为1-100,max_f即等于100);max_dis为所有生产者和消费者间距离的最大值;α和β分别为信誉度和距离的影响权重,满足α β=1。
[0073]
a2:根据公式(7),计算消费者cj的优先级排序影响因子scorej;
[0074][0075]
其中,fj为消费者cj的信誉度;max_f为信誉度的最大值。
[0076]
a3:根据公式(8)将消费者和生产者优先级划分为x组,
[0077]
第x组的影响因子score落在上,x=1,...,x。
ꢀꢀꢀ
(8)
[0078]
更为优选的,步骤s1,还包括:
[0079]
a4:设置信誉度临界值f_bound,若消费者cj的信誉度fj低于信誉度临界值(fj<f_bound),则将该消费者cj列入黑名单。具体的,若fj<f_bound,则生产者pi不与该消费者cj发生交易,表明该消费者信誉度太低,为不可信任消费者,能够进一步提高交易安全性,保障生产者的合法权益。
[0080]
在该实施例中,步骤a1-a3,根据生产者和消费者的信用度、距离等信息,将生产者和消费者划分为x组,以供双方选择性交易,能够提高交易安全性和交易效率。进一步地,步骤a4能够区别不可信任的消费者,将其拦截,进一步提高交易安全性,保障生产者的合法权益。
[0081]
更为优选的,步骤s1中,为保障生产者p和消费者c的隐私安全,供给侧广告adi中的location可选但不仅限于为模糊地址approx_location(可用于身份验证、合法性识别、判断生产者和消费者距离等),定义为通过πa来验证,格式化为需求侧广告adj还可选但不仅限于包括模糊地址πj,格式化为需求侧广告二者交易时提供的地址信息,可选但不仅限于以模糊地址πi、πj代替,具体的可在交易前根据用户a(生产者或消费者)的实际地址locationa生成各用户的模糊地址,以在实际交易时仅提供模糊地址做身份验证。基于此,如图4所示,本发明提出一种生成模糊地址的方法,包括:
[0082]
b1:为用户a(系统中的所有用户,可为交易双方的任意对象,用a表示)分配物理标识、交易标识,并对应物理标识标注物理地址。优选的,该物理标识和交易标识可选但不仅限于用密钥对表示。具体的,物理标识用物理公钥和物理私钥,表示为《pka,ska》;交易标识用交易公钥和交易私钥,表示为《pka,ska》;并以映射方式存储与公钥pka对应的物理地址locationa(实际地址),表示为《pka,locationa》。
[0083]
b2:根据物理地址locationa生成模糊地址approx_locationa,并根据物理标识、交易标识、物理地址和模糊地址,为用户a(待生成模糊地址的用户)构造模糊地址验证请求loc_req,发送给用户b(系统中的任意用户,可以是任意其它用户,也可以是用户a本身)。具体的,该模糊地址验证请求loc_reqa,可选但不仅限于表示为:
[0084]
loc_reqa=《pka,approx_locationa,vrf(ska,secret),siga》
[0085]
其中,pka为用户a的物理公钥(ca记录的用户a的公钥);approx_locationa为比用户a的实际位置(ca服务记录的locationa)范围更大的模糊地址(如街区等);ska为用户a的交易私钥(交易公私钥(交易标识)与ca记录的公私钥(物理标识)不同,用大小写区分表示),secret为秘密生成的随机数,与交易私钥ska通过加密函数vrf计算出加密结果;siga为用户a对模糊地址验证请求loc_reqa的签名(可选但不仅限于使用用户a的物理私钥ska签名)。值得注意的,物理标识、交易标识可用本领域可以理解的哈希等方式代替、其加密函数vrf可用其他加密方式代替。
[0086]
更为具体的,步骤b2中,关于发送模糊地址验证请求,用户a可选但不仅限于将模糊地址验证请求发送至b(b可以是任意合法安装智能电表的用户,甚至包括a本身)。当用户b在本地路由表缓存中时,可直接发送,否则使用p2p链上通信协议(均不上链),可进一步减少链上存储。
[0087]
b3:用户b收到模糊地址验证请求loc_reqa后,根据物理标识和模糊地址,向管理端发送用户a的用户认证请求loc_auta(用于认证用户a的合法性和准确性,其物理标识是否为注册的合法物理标识等)。具体的,用户b(证明者)收到loc_req后,将生成用户a的用户认证请求loc_auta,可选但不仅限于表示为:二元组(pka,approx_locationa),将loc_auta=(pka,approx_locationa)交与ca验证(以电力交易为例,可选但不仅限于为电网公司)。
[0088]
b4:管理端根据用户a的用户认证请求loc_auta对用户a进行验证,并将用户a的用户认证结果反馈给用户b。具体的,步骤b4,可选但不仅限于包括:
[0089]
b41:认证用户a是否注册合法;
[0090]
b42:若否,则给用户b反馈用户a认证失败的结果;
[0091]
b43:若是,则继续认证用户a的物理地址是否落入模糊地址的预设范围内;
[0092]
b44:若否,则给用户b反馈用户a认证失败的结果;
[0093]
b45:若是,则给用户b反馈用户a认证成功的结果。
[0094]
具体的,在用户认证请求loc_auta,以二元组(pka,approx_locationa)表示时,步骤b4的用户认证过程,可选但不仅限于包括:步骤b41,可选但不仅限于在用户认证请求中提取其物理标识(智能电表内部署的物理公钥pka),判断其是否为合法注册的用户(以电力交易为例,电力公司提取其物理公钥pka,看是否为合法注册的智能电表)。步骤b43,可选但不仅限于在用户认证请求中提取approx_location,判断在ca中pka对应的物理地址location,是否在模糊地址approx_location的预设范围内,若是则认证通过。更为具体的,
该预设范围的具体大小,可由本领域技术人员根据实际情况而任意设定。
[0095]
b5:用户b(证明者)收到用户a认证成功的结果后,对用户a的用户认证结果做签名,并构造用户a的模糊地址验证答复loc_reply
ab
(用户b对用户a的模糊地址验证请求的答复),发送给用户a。具体的,模糊地址验证答复loc_reply
ab
,可选但不仅限于表示为:
[0096]
loc_reply
ab
=《pkb,sigb(hash(approx._location||vrf(ska,secret))),sigb》
[0097]
其中,sigb(hash(approx._location||vrf(ska,secret))为对模糊地址的验证,sigb,可选但不仅限于使用用户b的物理私钥skb对模糊地址验证答复进行签名。
[0098]
b6:用户a收到模糊地址验证答复loc_reply
ab
后,为模糊地址构造位置证明πa。具体的位置证明πa,可选但不仅限于表示为:
[0099]
πa=《loc_reply
ab
,approx_location,vrf(ska,secret),pka,secret,siga》
[0100]
其中,siga为使用a的交易私钥ska对位置证明做的签名(值得注意的,siga表示用户a的签名,其具体是用物理私钥ska签名,还是用交易私钥ska进行签名,要看其应用情况)。用户a可通过πa向用户c(任意用户)提供具备隐私保护的证明,证明其所在位置。
[0101]
本发明生成模糊地址的方法,能够在交易开始前,生成模糊地址以代替实际地址,一方面其与实际地址相关,能够证明该生产者/消费者的合法性、位置距离等,达到验证用户合法性和准确性的目的;另一方面其提供的仅是大致模糊的地址,可能为其街区、小区等,无法精确定位用户的精准物理地址,不泄露交易时模糊地址与实际地址的关联,无法将用户的精确位置和交易记录构建联系(谁何时向谁出售/购买了多少电量,单价如何等),保障交易双方的信息安全性和隐私安全。具体的,当步骤s1中提供模糊地址时,可不再提供物理地址location,。更为具体的,优选的vrf(verifiable random function可验证随机函数)函数,是一种将输入(secret)映射为可验证的伪随机输出的加密方案,具备可验证性、唯一性和随机性(分布均匀)等特点,证明者(用户b)可根据输入(secret),通过用户a的物理私钥ska生成随机值hash和对应的非交互性证明π。
[0102]
进一步地,生成模糊地址的方法,还包括:
[0103]
b7:将位置证明πa发送给用户c(系统中的任意用户),以验证位置证明是否正确。具体的,可选但不仅限于对πa进行验证,包括其中的签名siga、随机函数secret、交易私钥pka、加密函数vrf(ska,secret)、模糊地址approx_location进行验证,判断各环节是否正确;还可选但不仅限于对loc_reply
ab
进行验证,sigb是否为b的签名、根据加密函数vrf的输入secret,通过验证端的物理公钥pkb确定(hash,π)的合法性等。
[0104]
在该实施例中,给出了用户生成模糊地址的验证步骤,用户a的模糊地址,可以首先通过用户b向管理端获取确认证明,再通过用户c做验证,保护用户a模糊地址的准确性和合法性,进一步提高交易安全性。
[0105]
更为优选的,步骤s2,可选但不仅限于包括:
[0106]
c1:消费者cj对生产者pi广播交易请求消息r表示迭代次数,初始化为0。具体的,该交易请求消息可选但不仅限于表示为:
[0107][0108]
其中,pkj是每个消费者cj的唯一标识,可选但不仅限于为其交易公钥;pki是每个生产者pi的唯一标识,可选但不仅限于为其交易公钥;为第r次迭代时生产者pi与消费者cj
的交易数量(示例的,为初始交易数量,可选但不仅限于为);sigj为消费者cj对交易申请的签名,可选但不仅限于用其交易私钥skj对其进行签名。
[0109]
c2:生产者pi收到交易请求消息后,以为约束条件,求解得到并广播交易答复消息具体的,该交易答复消息可选但不仅限于表示为:
[0110][0111]
c3:消费者cj收到交易答复消息后,则以为约束条件,求解得到并广播更新后的交易请求消息。具体的,该更新后的交易请求消息,可选但不仅限于表示为:
[0112][0113]
c4:判断和是否达到收敛条件;
[0114]
c5:若否,则令r=r 1,返回步骤c1;若是,则将和设定为交易数量e
ij
和交易单价λ
ij

[0115]
在该实施例中,给出了步骤s2,如何确定交易数量eij和交易单价λij的一个具体实施例,其基于投影次梯度法,将总优化问题转化为局部子优化问题,通过多次迭代,以获得收敛结果,大大降低了迭代协商的耦合度,不仅能够充分保障交易双方的合法权益,而且计算精准度高、效率快,是一种高效高质的优化算法。更为优选的,本发明的交易方法可选为,不直接将交易记录上链,无需引入ttp(可信第三方,trusted third party),能提高用户的隐私保护。
[0116]
优选的,在步骤s1包括a1-a3的优先级划分步骤时,步骤s2可选但不仅限于优选为包括:
[0117]
d1:令x=1,x为1至x的正整数,表示对优先级组的特定指代。具体的,优先级组按照降序排列,x=1表示第一组优先级,其优先等级最高;x=x表示第x组优先级,其优先等级最低。
[0118]
d2:消费者cj对第x组优先级的生产者p
i∈x
广播交易请求消息同样的,r表示迭代次数,初始化为0。具体的,该交易申请可选但不仅限于表示为:
[0119][0120]
其中,pkj是每个消费者cj的唯一标识,可选但不仅限于为其交易公钥;pk
i∈x
是每个x组优先级的生产者pi的唯一标识,可选但不仅限于为其交易公钥;为第r次迭代时生产者p
i∈x
与消费者cj的交易数量(为初始交易数量,可选但不仅限于为);sigj为对交易申请的签名。
[0121]
d3:生产者pi收到交易请求消息后,初始化计数器cnt=0(用于完成生产者pi对其第x组优先级的消费者cj的遍历);
[0122]
d4:判断生产者pi是否属于p
i∈x
(即生产者pi是否在当前优先级等级p
i∈x
内),消费者cj是否属于c
j∈x
(即消费者是否在当前优先级等级c
j∈x
内);
[0123]
得到四种判断结果:
[0124]
(1):若生产者pi不属于p
i∈x
,且消费者cj也不属于c
j∈x
,则不广播交易消息,也不对cnt做改变。表示:生产者pi不在消费者cj的当前优先级等级内,不是消费者的预选商家,消费者cj没有与该生产者pi发生交易;消费者cj也不在生产者pi的当前优先级等级内,没有完成该组优先级消费者的一次判断;
[0125]
(2):若生产者pi不属于p
i∈x
,但消费者cj属于c
j∈x
,则不广播交易消息,设定cnt=cnt 1。表示:生产者pi不在消费者cj的当前优先级等级内,不是消费者的预选商家,消费者cj没有与该生产者pi发生交易,但是消费者cj在生产者pi的当前优先级等级内,完成了该组优先级消费者的一次判断;
[0126]
(3):若生产者pi属于p
i∈x
,但消费者cj不属于c
j∈x
,则广播交易等待消息,不对cnt做改变。表示:生产者pi在消费者cj的当前优先级等级内,是消费者的预选商家,但是消费者cj不在生产者pi的当前优先级等级内,生产者pi暂时没有与消费者cj发生电力交易,也没有完成其内优先级消费者的一次判断。
[0127]
(4):若生产者pi属于p
i∈x
,且消费者cj属于c
j∈x
,则记录该交易请求消息(此时的pi和cj交易双方达成初始协议),将cj计入集合m(每达成一次初始协议,则记录该消费者cj),pi计入集合k(每达成一次初始协议,则记录该消费者pi),设定cnt=cnt 1。
[0128]
d5:判断cnt是否等于第x组优先级的消费者的数量,即cnt是否达到第x组优先级消费者的最大容量,是否完成对第x组优先级的消费者的遍历,若未达到,则还有消费者没有完成上述遍历过程,若达到,则消费者已全部完成上述遍历过程。
[0129]
d6:若否,则返回步骤d2;继续完成对第x组优先级的消费者的遍历动作;
[0130]
d7:若是(表明该组优先级的消费者已经全部判断完毕),则生产者以为约束条件,求解得到并广播交易答复消息具体的可选但不仅限于为:
[0131]
d8:消费者cj收到交易答复消息后,则以为约束条件,求解得到并广播更新后的交易请求消息,表示为:
[0132]
d9:判断和是否达到收敛条件;
[0133]
d10:若否,则令r=r 1,返回步骤d7;若是,则将和设定为交易数量e
ij
和交易单价λ
ij

[0134]
在该实施例中,给出了步骤s2的另一优选实施例,其增设对消费者和生产者的优先级划定环节,从信誉、距离、经济等方面综合考虑,基于市场最优化原则,确定交易数量e
ij
和交易单价λ
ij
,交易方案更优,更有益于保障交易双方的合法权益,促进交易良性发展。
[0135]
优选的,还包括d11:判断生产者pi是否还有待售商品或消费者cj是否还有待购商品,若是则令x=x 1(优先级x组,下降至优先级x 1组进行交易判断),返回步骤d2;若否,则结束。
[0136]
更为优选的,步骤d4,还包括:
[0137]
判断消费者cj的信誉度fj是否低于信誉度临界值;
[0138]
若生产者pi属于p
i∈x
,且消费者cj属于c
j∈x
,但消费者cj的信誉度fj低于信誉度临界值,则广播交易拒绝消息;
[0139]
若生产者pi属于p
i∈x
,且消费者cj属于c
j∈x
,且消费者cj的信誉度fj不低于信誉度临界值,则记录该交易请求消息(此时的pi和cj交易双方达成初始协议),将cj计入集合m(每达成一次初始协议,则记录该消费者cj),pi计入集合k(每达成一次初始协议,则记录该消费者pi),设定cnt=cnt 1。
[0140]
在该实施例中,给出了步骤s2的另一实施例,其为消费者的信誉度设置信誉度临界值(信誉度最低值,阈值),以设立黑名单机制,一方面能够限制信誉度不高的消费者参与交易,保障生产者的合法权益;另一方面能够督促消费者树立良好的信誉度,保障交易的良性发展。
[0141]
更为具体的,如图5所示,步骤s4中,为提高生产者和消费者的交易安全性,尤其是保障消费者的合法权益,避免因已支付货币,但未收到商品的情况,本发明还提供一种基于区块链的支付方法,可选但不仅限于包括:
[0142]
e1:消费者cj根据交易协议,广播货款支付消息token_transfer,该货款支付消息包括交易协议、货款和附加金,所述货款被锁定。优选的,该货款支付消息,还可选但不仅限于包括消费者的资产(可选但不仅限于为代币,可以是广播至区块链中被存储的金额面值。其可提供也可不提供,优选为提供给生产者,以表示消费者的消费能力和支付能力,是对生产者能够收到货款的一种保障)。具体的,该货款支付消息token_transfer,可选但不仅限于表示为:
[0143]
token_transfer=《tx_id,nego_confirm.tx_id,utxo
in
,utxo
out1
,utxo
out2
,sigj》
[0144]
其中,tx_id为交易协议的索引地址,nego_confirm.tx_id为对步骤s3的交易确认消息的签名,代表步骤s3中的交易协议,utxo
in
为消费者cj持有的资产,utxo
out1
为消费者cj需要向生产者pi支付的货款,面值金额为e
ij
λ
ij
,重点在于该货款被锁定;utxo
out2
为消费者cj需要向生产者pi支付的附加金,面值可为很小的数值(如1或其他小常量),用于后续生产者的支付消息返回。优选的,货款utxo
out1
被哈希锁定,即有h=hash(s)(s为消费者cj生成的随机秘密字符串,生产者pi需要提供消费者cj所提供的s才能解锁货款utxo
out1

[0145]
e2:生产者pi收到货款支付消息token_transfer后,若确认交易协议、货款和附加金无误,则广播商品转移消息goods_transfer,该商品转移消息包括交易协议、附加金、返回金和交易数量;所述返回金等于附加金,且被锁定货款相同的方式锁定。具体的,该商品
转移消息,可选但不仅限于表示为:
[0146]
goods_transfer=《nego_confirm.tx_id,utxo
out2
,utxo
out3
,e
ij
,sigi》
[0147]
其中,utxo
out3
为返回金,sigi为生产者签名。具体的,若确定token_transfer中的信息无误,则广播商品转移消息(以电力交易为例,生产者pi向消费者cj转移电力e
ij
)。更为具体的,该utxo
out3
返回金被步骤e1中相同的锁定方法锁定,可选但不仅限于被哈希锁定,即有h=hash(s)(s为消费者cj生成的随机秘密字符串),消费者pi通过自己已知的s可以解锁该返回金utxo
out3
,收回步骤e1中多支付的附加金。
[0148]
e3:消费者cj收到广播商品转移消息goods_transfer后,若确认无误,则得到商品,并解锁返回金utxo
out3
,公开解锁方式。具体的,通过之前哈希锁定时使用的随机密码字符串s解锁返回金,由于该解锁过程在链上是公开的,因此同时公开了该解锁方式。
[0149]
e4:生产者pi获得解锁方式,如随机密码字符串s,进而解锁货款utxo
out1
,得到货款。
[0150]
在该实施例中,公开了一种基于区块链的支付方法,通过锁定货款,并附上小面值的附加金,使得:一方面采用锁定货款的方式,使得消费者能够在未得到交易商品前锁定货款,并在确认收到商品后,才解锁货款,保障消费者的合法权益,避免付款确未收到商品的情况;另一方面,设定携带与锁定货款同样锁定方式的附加金的支付方式,使得消费者在要拿回这部分附加金时,解锁该附加金,该解锁方式即在链上公开,生产者可及时获取该解锁方式,而解锁货款,得到货款,保障生产者的合法权益,避免交付商品但未收到货款的情况。因此,锁定货款和解锁附加金相辅相成,保障交易双方的合法权益,确保交易环境良性发展。该支付方法,可应用于上述交易方法,其技术效果和组合在此不再赘述。
[0151]
另一方面,本发明还提供一种系统,包括:设备层和信息层;生产者和消费者之间的交易采用上述任意的方法。
[0152]
另一方面,本发明还提供一种计算机存储介质,存储有计算机程序;所述计算机程序,用于执行上述任意的方法。
[0153]
上述系统和计算机存储介质基于上述方法创造,其技术作用和有益效果在此不再赘述。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围,尤其是交易方法、生成模糊地址的方法以及支付方法可任意组合,构成完整交易。值得注意的,为避免单一性问题,本发明的交易方法、生成模糊地址的方法以及支付方法,以系列申请进行保护。
[0154]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献