一种基于区块链与概率支付的流媒体平台实现方法

文档序号:27322269发布日期:2021-11-10 00:49阅读:94来源:国知局
一种基于区块链与概率支付的流媒体平台实现方法

1.本发明属于网络空间安全技术领域,具体涉及一种基于区块链与概率支付的流媒体平台实现方法。


背景技术:

2.近年来出现了大量的流媒体平台,然而传统的流媒体平台存在各种问题,可能会降低用户的参与性。
3.首先,许多流媒体平台的计费方式都不灵活,具体来说,现在主要有两种计费模式,第一种是基于订阅的计费模式,该模式下用户必须订阅一段时间的平台服务后才能进行流媒体的使用,而在这段时间内,即使用户对平台内容或服务不满也无法退款。第二种是基于单项收费的计费模式,该模式下用户在消费平台提供的流媒体内容时,其只需要对自己消费的单个或多个流媒体信息付费。然而,该收费模式仍然没有达到所期望的灵活性,当用户付款进行流媒体内容消费时,如果他在中途退出,该消费模式也没有办法对未消费的内容进行退款。
4.其次,当前流媒体平台的激励机制都不够有效,现今流媒体平台最常见激励用户参与的机制是发放优惠卷。然而该机制的发放时间与发放数量是有一定限制条件的,不能很好地达到激励目标。
5.最后,当前流媒体平台都是中心化的管理方式,存在着一定的问题;比如容易缺少监管而导致用户隐私泄露、流媒体平台的中心管理方式使得一些机制流程无法公开化以及中心化流媒体平台一般使用单一或数量较少的服务器提供相关服务,容易导致流媒体平台遭受恶意攻击等。


技术实现要素:

6.本发明的主要目的在于克服现有技术的缺点与不足,提出一种基于区块链与概率支付的流媒体平台实现方法,方法具有更灵活的收费模式与更有效的激励用户参与机制,并且去中心化能避免中心化管理方式所带来的问题。
7.为了达到上述目的,本发明采用以下技术方案:
8.一种基于区块链与概率支付的流媒体平台实现方法,流媒体平台包括商家、用户以及智能合约,方法包括以下步骤:
9.s1、平台初始化及账户注册阶段,商家和用户调用智能合约进行注册,商家进行流媒体信息的提交,当用户决定消费时,提交押金以及付款金额;
10.s2、链下彩票游戏协议阶段,当一次交易完成后,用户和商家在链下执行彩票游戏协议,判断用户是否需要付款,根据判断结果在链下记录双方的金额变化;
11.s3、提交链下资金变化阶段,用户或商家想结束消费时,将最新的双方链下金额记录提交到智能合约上,智能合约根据记录进行退款。
12.进一步的,步骤s1具体包括:
13.商家调用智能合约提交出售的流媒体内容信息m=(name,description,price,r),并以交易的形式公示在区块链上,供用户们选择;
14.其中,name为流媒体内容的名称,description为流媒体的详细描述,price为流媒体的收费金额,r为一个256长度的二进制数,其值与用户付款的概率相关;
15.在用户决定消费后,商家与用户在区块链钱包中各自生成公私钥对(pk
m
/pk
u
,sk
m
/sk
u
),然后将公钥pk
m
/pk
u
提交到智能合约上;同时,商家提交押金d
m
,用户提交押金d
u
和用于付款的金额d
c
,d
m
≥d
u
>>d
c

16.进一步的,步骤s2具体包括:
17.当一次交易开始时,商家创建信息x
m
=(txid+1,com),并对其进行签名后发送给用户;
18.其中,txid为当前交易的会话号,初始值为0,com为承诺,为商家选取随机数r1∈{0,1}
256
之后对其做的承诺,即com=h(r1),h为一个哈希函数,h:{0,1}
*

{0,1}
256

19.用户交易结束后,创建信息x
u
=(t
c
,r2)并对其进行签名后发送给商家;
20.其中,t
c
为用户消费的时长,r2为用户选取的随机数,r2∈{0,1}
256

21.商家在用户交易结束后,使用选取的r1和用户发送过来的r2判断公式:
[0022][0023]
是否为真,为真则商家会创建记录金额变化的链下交易发送给用户,同时解开承诺com,发送r1供用户验证;不为真则商家不需要解开承诺以及发送r1,等待用户开始下一次交易。
[0024]
进一步的,步骤s2中,一次交易包括以下步骤:
[0025]
s21、在用户链下的一轮交易开始时,商家随机选取一个256位的二进制数r1∈{0,1}
256
,使用哈希函数h对其进行加密得到一个承诺com=h(r1),再将这个承诺与当前交易的会话序号txid进行打包,得到交易tx
m1
=(txid=txid+1,com);
[0026]
商家使用自己的私钥sk
m
对交易tx
m1
进行签名,得到sign为数据签名函数,商家将(tx
m1

m1
)通过链下交易通道发送给用户;
[0027]
s22、在用户链下的一轮交易结束时,用户使用商家的公钥pk
m
对商家发送过来的信息(tx
m1

m1
)进行验证,确保信息为商家发送且正确;
[0028]
用户选取一个随机数r2∈{0,1}
256
,将它与当前的交易序号以及自己的消费时长t
c
打包生成信息tx
u
=(txid=txid,r2,t
c
),并使用自己的私钥sk
u
对这个信息进行签名,得到最后用户将(tx
u

u
)发送给商家;
[0029]
s23、当商家收到用户的回应时,使用用户的公钥pk
u
对其发送的交易进行验证,确认无误后,商家计算公式的真假,如果为真则商家输了彩票,用户获得免单机会,用户回到步骤s21进行新一轮的交易;
[0030]
反之则商家获胜用户需要支付消费金额t为当前流媒体的总时长,商家创建记录链下金额变化的交易tx
rem
=(txid=txid,c
m
=c
m
+c,c
u
=c
u

c);
[0031]
其中,c
m
和c
u
分别为商家和用户的链下拥有金额,c
m
初始值为0,c
u
初始值为用户提交的付款存款d
c

[0032]
商家使用自己的私钥对交易tx
rem
和自己一开始选的随机数r1进行签名得到σ
rem
,并将(tx
rem

rem
,r1)发送给用户;
[0033]
s24、用户在收到商家发送的信息后,首先使用商家的公钥对签名σ
rem
进行验证确认它的有效性;
[0034]
计算一个承诺com

=h(r1)并比较商家一开始发的承诺com确认他们一致以确定商家没有修改r1的值;
[0035]
用户进行式子的验证,确认为真后,用户使用自己的私钥对商家发送的交易tx
rem
进行签名得到σ
reu
,最后将(tx
rem

reu
)发送给商家。
[0036]
进一步的,步骤s3具体包括:
[0037]
当任何一方想要结束本次消费时,调用智能合约,提交最新的链下交易,智能合约将根据链下交易的内容对用户提交的d
c
进行分配,分配完成后双方的存款将被锁定,智能合约将发送事件,通知另一方消费结束,等待另一方的回应;
[0038]
另一方如发现提交智能合约的链下交易不是最新的,进行上诉并把最新的链下交易提交到智能合约上,智能合约根据两个链下交易的txid判断哪一方是作弊的,并对其进行惩罚,即将智能合约上的存款全部扣除,转账给另一方。
[0039]
进一步的,还包括补偿阶段,在步骤s2中,当用户连续两次付款后,进入补偿阶段,调用补偿机制,用户提交相关的链下证据以要求商家进行第二次付款的返还。
[0040]
进一步的,补偿阶段包括:
[0041]
当用户连续两次支付后,用户将商家连续发给自己的两个链下交易信息打包,作为证据发回给商家,同时创建一个退款的链下交易发给商家;
[0042]
商家收到用户发送的证据后,会检测证据里包含的两个链下交易的txid值相减是否为1;为1则证明用户确实进行了连续两次付款,然后会验证用户创建的链下交易是否合理,合理则签名通过退款的请求。
[0043]
进一步的,补偿阶段具体包括以下步骤:
[0044]
当用户发现当前的交易是自己连续的第二次付款时,用户将自己签订的这两次链下交易和商家对其的签名作为证据,即证据x=(tx

rem
,tx
rem


rem

rem
),然后创建链下交易tx
refu
=(txid=txid+1,c
m
=c
m

c

,c
u
=c
u
+c

)请求商家退款给自己,其中c

是用户第二次付款的金额;
[0045]
用户使用自己的私钥对证据和链下交易进行签名,分别得到σ
pro
和σ
refu
,将(x,σ
pro

refu
)发送给商家;
[0046]
当商家接受到用户发送的信息后,先验证签名的有效性,确认有效后,商家计算用户发来的证据中的交易序号是否相差为1,确保是连续的交易,并且验证证据中的签名是否正确,验证通过后,商家如果同意退钱则会使用自己的私钥对交易tx
refu
进行签名得到σ
refm
,然后将(tx
refu

refm
)发送给用户;
[0047]
如果商家不同意退回用户的第二次付款,用户调用智能合约由智能合约判断是否需要退款;用户将之前发给商家的证据信息(x,σ
pro

refu
)提交给智能合约;
[0048]
智能合约通知商家用户已经进行了上诉,商家提交其收到的用户发送的交易信息(x



pro


refu
);
[0049]
智能合约对比两个证据信息是否相同,防止用户进行伪造信息的证据;不相同则
是用户作弊,用户的所有存款和押金将转给商家,证据相同智能合约则计算证据里面的交易序号相差是否为1,是则证明是商家作弊,然后智能合约将商家的全部押金转给用户。
[0050]
本发明与现有技术相比,具有如下优点和有益效果:
[0051]
1、本发明所采用的收费模式是即用即付型的收费模式,即用户只需要对自己消费过的部分内容进行付费,该收费模式相比于现今流媒体平台的收费模式更为灵活。
[0052]
2、本发明的激励机制是概率支付和连续两次付款金额退还,即用户的每次链下交易都有一定的概率可以免单,并且当用户连续两次付款后,其可以把第二次付款的金额进行退还,该激励机制相比于当前流媒体平台采用的激励机制更为有效,因为无论是概率支付还是连续两次退款都是在用户正常消费流程中加入的,而非当前的消费卷形式需要用户额外进行消费。
[0053]
3、本发明是在区块链上搭建的,即本发明的流媒体平台方案是去中心化的,相比于当前的流媒体平台,本发明可以避免许多因为中心化而出现的平台与用户的纠纷以及避免许多由于中心化而遭受的恶意攻击,如单点故障攻击等。
附图说明
[0054]
图1是本发明的流媒体平台实现方法的流程图;
[0055]
图2是本发明实施例的流媒体平台的结构图。
具体实施方式
[0056]
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0057]
实施例
[0058]
本发明基于区块链与概率支付的流媒体平台实现方法,提供一个更灵活且更能吸引用户参与的流媒体平台收费模式,同时流媒体服务以是去中心化的形式所提供的,这避免了许多传统流媒体平台会出现的中心化管理问题。
[0059]
如图2所示,为本实施例中流媒体平台的结构示意图。
[0060]
基于区块链与支付概率的流媒体平台包括平台的初始化和账户注册阶段、链下彩票游戏协议阶段、非必要的补偿机制阶段和提交链下资金变化阶段。平台的初始化和账户注册阶段是在消费发生前,确保方案正确性;链下彩票游戏阶段是消费的主要进行阶段,每次交易结束时,用户与商家都需要在链下执行该协议;非必要的补偿阶段在消费中不一定会出现,只有在用户连续两次付款时才会进入该阶段,该阶段也是在链下完成;最后的提交链下资金变化阶段是在消费结束后,由任一方调用智能合约在链上完成;如图1所示,基于区块链与支付概率的流媒体平台实现方法包含以下步骤:
[0061]
s1、商家和用户先调用智能合约完成账号注册。然后商家调用智能合约进行流媒体信息的提交,当用户决定消费后,商家需要调用智能合约进行押金的提交,用户则提交押金及用于付款的存款。
[0062]
在本实施例中,步骤s1的具体过程为:
[0063]
首先,商家调用智能合约提交自己出售的流媒体内容信息m=(name,description,price,r),并以交易的形式公示在区块链上,供用户们选择。其中,name是指
该流媒体内容的名称,description是指该流媒体的详细描述,price是该流媒体的收费金额,而r的值是一个256长度的二进制数,其值与用户付款的概率相关,用户可以通过观察该值知道自己付款的概率而自行选择是否消费该流媒体;
[0064]
在用户决定消费后,商家与用户在区块链钱包中各自生成公私钥对(pk
m
/pk
u
,sk
m
/sk
u
),然后将公钥pk
m
/pk
u
提交到智能合约上。除此之外,商家还需要提交押金d
m
,用户也需要提交押金d
u
和用于付款的金额d
c
,d
m
≥d
u
>>d
c

[0065]
s2、当消费中的一次交易结束后,用户和商家会在链下执行彩票游戏协议,判断用户是否需要付款,进而根据结果在链下记录双方的金额变化;
[0066]
在本实施例中,该步骤具体包括:
[0067]
根据步骤s1,当双方都完成注册操作,用户会阅览流媒体信息,选择需要消费的目标。当消费开始,双方都已经提交了押金后,双方会在链下打开交易通道,进行这次消费中一轮的交易。每轮的交易分为以下几个步骤:
[0068]
s21、在用户链下的一轮交易开始时,商家会随机选取一个256位的二进制数r1∈{0,1}
256
,然后使用哈希函数h对其进行加密得到一个承诺com=h(r1),再将这个承诺与当前交易的会话序号txid一起进行打包,得到交易tx
m1
=(txid=txid+1,com);
[0069]
商家使用自己的私钥sk
m
对交易tx
m1
进行签名,得到sign为数据签名函数,商家将(tx
m1

m1
)通过链下交易通道发送给用户;
[0070]
s22、在用户链下的一轮交易结束时,用户使用商家的公钥pk
m
对商家发送过来的信息(tx
m1

m1
)进行验证,确保信息是商家发送且正确;
[0071]
用户选取一个随机数r2∈{0,1}
256
,将它与当前的交易序号以及自己的消费时长t
c
打包生成信息tx
u
=(txid=txid,r2,t
c
),并使用自己的私钥sk
u
对这个信息进行签名,得到最后用户将(tx
u

u
)发送给商家;
[0072]
s23、当商家收到用户的回应时,使用用户的公钥pk
u
对其发送的交易进行验证,确认无误后,商家会计算公式的真假,如果为真则商家输了彩票,用户获得免单机会,用户回到步骤s21进行新一轮的交易;
[0073]
反之则商家获胜用户需要支付消费金额t为当前流媒体的总时长,商家会创建记录链下金额变化的交易tx
rem
=(txid=txid,c
m
=c
m
+c,c
u
=c
u

c);
[0074]
其中,c
m
和c
u
分别为商家和用户的链下拥有金额,c
m
初始值为0,c
u
初始值为用户提交的付款存款d
c

[0075]
商家使用自己的私钥对交易tx
rem
和自己一开始选的随机数r1进行签名得到σ
rem
,并将(tx
rem

rem
,r1)发送给用户;
[0076]
s24、用户在收到商家发送的信息后,首先使用商家的公钥对签名σ
rem
进行验证确认它的有效性;
[0077]
计算一个承诺com

=h(r1)并比较商家一开始发的承诺com确认他们一致,以确定商家没有修改r1的值;
[0078]
用户进行式子的验证,确认为真后,用户使用自己的私钥对商家发送的交易tx
rem
进行签名得到σ
reu
,最后将(tx
rem

reu
)发送给商家。
[0079]
s3、在本实施例中,当用户连续两次付款后,进入补偿阶段,可以调用补偿机制,提交相关的链下证据要求商家进行第二次付款的返还;补偿阶段在消费中不一定会出现,只有在用户连续两次付款时才会进入该阶段,如无需进行该阶段,则直接进行步骤s4;补偿阶段是为了避免用户以极低概率地连续两次输掉彩票游戏而导致用户的参与欲望减少。
[0080]
在本实施例中,具体包括:
[0081]
s31、当用户发现当前的交易是自己连续的第二次付款时,用户将自己签订的这两次链下交易和商家对其的签名作为证据,即证据x=(tx

rem
,tx
rem


rem
,
rem
),然后创建链下交易tx
refu
=(txid=txid+1,c
m
=c
m

c

,
u
=c
u
+c

)请求商家退款给自己,其中c

是用户第二次付款的金额;
[0082]
用户使用自己的私钥对证据和链下交易进行签名,分别得到σ
pro
和σ
refu
,将(x,σ
pro

refu
)发送给商家;
[0083]
s32、当商家接受到用户发送的信息后,先验证签名的有效性,确认有效后,商家会计算用户发来的证据中的交易序号是否相差为1,确保是连续的交易,并且验证证据中的签名是否正确,验证通过后,商家如果同意退钱则会使用自己的私钥对交易tx
refu
进行签名得到σ
refm
,然后将(tx
refu

refm
)发送给用户;
[0084]
s33、如果商家不同意退回用户的第二次付款,用户调用智能合约由智能合约来判断是否需要退款;用户会将之前发给商家的证据信息(x,σ
pro

refu
)提交给智能合约;
[0085]
智能合约通知商家用户已经进行了上诉,商家提交其收到的用户发送的交易信息(x



pro


refu
);智能合约对比这两个证据信息是否相同,防止用户进行伪造信息的证据;不相同则是用户作弊,用户的所有存款和押金都将转给商家,证据相同智能合约则会计算证据里面的交易序号相差是否为1,是则证明是商家作弊,然后智能合约将商家的全部押金转给用户。
[0086]
s4、任一方想结束消费时,可以将最新的双方链下金额记录提交到智能合约上,智能合约根据记录进行退钱;
[0087]
在本实施例中,具体为:
[0088]
根据步骤s2和步骤s3,可知用户和商家最后都会获得一个记录双方最新余额分布的链下交易,并且双方都拥有自己对它的签名与另一方对它的签名。如果任何一方想结束当前的消费时,其可以将最新的交易和双方对其的签名提交到智能合约上,其中签名是证明了双方都对当前的交易进行了确认和认可。然而,为了防止恶意的一方在结束消费时,上交的链下交易不是最新的链下交易,我们还需要另一方进行确认。
[0089]
智能合约在收到一方的结束消费请求时,会通知另一方这个消息,并把收到提交的最新交易公式给另一方让其审核。如果在一段时间内另一方没有任何的回应,则默认另一方赞同该交易为最新的交易。如果不是最新的交易,另一方可以上传最新的交易和双方对其的签名给智能合约,智能合约对签名进行验证后,会对比两个交易的交易序号,如果原来的交易序号小于新提交的交易,则证明发起结束消费的一方作弊,作为惩罚智能合约将其在智能合约上的全部存款转账给另一方。
[0090]
在本实施例中,步骤s3与步骤s4的最后智能合约进行的惩罚行为是非必须的。
[0091]
还需要说明的是,在本说明书中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那
些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0092]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1