工程科学与技术   2018, Vol. 50 Issue (4): 135-143
基于DCPN的区块链小额实时交易策略
佘维1,2, 刘琦1, 杨晓宇1, 胡跃2, 刘炜1,2     
1. 郑州大学 软件技术学院,河南 郑州 450000;
2. 郑州大学 互联网医疗与健康服务河南省协同创新中心,河南 郑州 450000
基金项目: 国家自然科学基金资助项目(61602422);河南省科技攻关计划资助项目(162102310536);河南省基础与前沿技术研究项目资助(152300410047)
摘要: 在目前的区块数据生成方式下,小额交易场景容易遭遇效率瓶颈。针对区块链应用中的小额交易等待时间过长的问题,提出一种区块链小额实时交易策略(real-time micro trading strategy with blockchain, RMTSB)。首先,构造一种时延控制Petri网(delay control Petri nets, DCPN)模型用于描述、分析和控制带有时延信息的系统;其次,为了记录和评估交易过程,给出了一种含个人信用指标的交易数据区块结构和面向小额交易的个人信用度评价方法;然后,在信用度分析的基础上,采用DCPN建模设计了RMTSB策略;最后,从全节点和轻节点两个角度分别建立了区块链的小额实时交易过程。为了验证策略的有效性,对常规区块链交易过程、RMTSB策略下的交易过程及含有网络时延变量的RMTSB策略下的交易过程进行了仿真,并通过多轮交易的时延累积消除单次实验的偶然性。仿真结果表明,与区块链常规交易过程相比,RMTSB策略以支付方信用度为参考,有效提高了交易验证的效率,其交易时延与常规交易过程相比可降低50%~75%。因此,该策略可在一定程度上简化认证过程,从而提高区块链环境下小额交易的支付速度,使区块链真正成为小额交易应用场景中的支撑技术。
关键词: 区块链    小额交易    时延控制Petri网    信用    
Real-time Micro Trading Strategy with Blockchain Based on DCPN
SHE Wei1,2, LIU Qi1, YANG Xiaoyu1, HU Yue2, LIU Wei1,2     
1. School of Software Technol., Zhengzhou Univ., Zhengzhou 450000, China;
2. Cooperative Innovation Center of Internet Healthcare, Zhengzhou Univ., Zhengzhou 450000, China
Abstract: In the current way of generating block data, the scenarios of micro trading are easy to encounter the efficiency bottleneck. In order to solve the problem of long waiting time for micro trading in blockchain, a novel strategy called real-time micro trading strategy with blockchain (RMTSB) was proposed in this paper. Firstly, a delay control Petri net model(DCPN) was constructed to describe, analyze and control the system that has delay information. Secondly, in order to record and evaluate the transaction process, a transaction data block structure with personal credit index and a personal credit evaluation method for micro trading were proposed. Then, on the basis of credit analysis and DCPN model, the paper presented the RMTSB strategy. Finally, the real-time micro trading strategy with blockchain is established from both the full node and SPV. To verify the validity of the proposed strategy, three kinds of transaction process were simulated, namely the conventional blockchain transaction process, the trading process under RMTSB strategy and the trading process under RMTSB strategy with network delay variables. The contingency of a single experiment was eliminated by the delay accumulation of multi-round transactions. The simulation results demonstrated that, compared with the conventional blockchain trading models, the RMTSB strategy improved the efficiency of transaction verification,Specifically, the transaction delay can be reduced by 50%~75%. Therefore, this strategy can simplify the certification process to a certain extent, and thus improve the payment speed of micro trading in blockchain, making blockchain really become a supporting technology in micro trading application scenarios.
Key words: blockchain    micro trading    delay control Petri net    credit    

小额支付是指在一定时间内对多笔支付业务进行轧差处理,净额清算资金[1]。小额支付系统的广泛使用为社会提供了低成本的支付清算服务,但由于小额支付系统具有交易金额小、时效性强、交易频次高等特点[2],其对于交易安全性和支付效率都提出了比较高的要求。为此,张红等[3]利用混沌系统迭代过程的单向性构造出Hash支付链,实现了信息服务的逐单位释放,保证了整个交易过程的公平性;陈莉等[4]设计了一种基于自更新Hash链机制的小额支付协议,解决了用户恶意透支和协议执行时限问题;邹嘉等[5]提出了一种新的充分利用P2P系统特性的小额支付协议CPay,利用P2P系统异构性实现负载均衡。但上述方案均采用中心式交易数据处理结构,一旦数据中被攻陷,交易数据的安全性、隐私性均难以保障。

区块链技术[6]的出现为安全、稳定的去中心化小额交易提供了新的解决方案。它是一种融合了去中心化计算、共识机制、分布式数据存储和点对点传输的新型密码学系统,在数字资产交易、股权清算、跨境支付、保密文档存储、公证等众多领域不断获得开创性的应用。但在目前的区块数据生成方式下[7],小额交易场景很容易遭遇瓶颈。具体原因是,一个数据区块的形成要汇集众多节点的多笔交易数据,并由一个遴选的记账节点进行记录,每个区块间存在一个定长的时间间隔 $Inv$ [8](比特币需要10 min)。此外,该数据区块还需等待 $g$ 个区块写入后才能完全确认[9](比特币为6个),因此,一笔交易总的确认时间约为 $Inv$ $ \times $ $g$ min。如此漫长的确认和等待时间,虽然最大程度保障了交易的安全性,但明显不符合小额实时交易的时效性要求,这也是目前在高频次小额交易中没有广泛应用区块链技术的重要原因[10]

在文献[11]的基础上,作者构造了一种时延控制Petri网(delay control Petri nets,DCPN)模型,并以此为基础,提出一种区块链小额实时交易策略(real-time micro trading strategy with blockchain, RMTSB),从整体上提高了区块链应用中小额交易的时效性。

1 区块链技术相关知识 1.1 区块链的技术原理

区块链技术起源于化名为“中本聪”(Satoshi Nakamoto)的学者在2008年发表的奠基性论文《比特币: 一种点对点电子现金系统》[12]。简单来说,区块链是一种由任意多的节点通过密码学方法,以去中心化、去信任化的方式集体维护一个可靠数据库的技术方案。区块链的数据结构主要分为两个部分[13]:1)区块头。主要包含上一个区块的哈希散列值,用于连接前一区块,保证区块链的完整性。2)区块主体。包含本区块的主要信息(如交易信息),这些信息和上一个区块的哈希散列值以及随机数共同构成本区块的哈希散列值。

区块链的数据结构(图1)使得链上每个区块的信息都可以由前驱节点追溯,并影响后继节点的信息构成。其密码学方法保证了恶意攻击无法篡改信息,从而确保数据的安全性和完整性。区块链的构建遵循一整套共识和协议机制[14],全网每个节点都可验证或写入记录,但只有当全网大部分节点(甚至全部节点)一致确认某个记录的正确性,相应数据才允许被写入区块中。

图1 区块链数据结构 Fig. 1 Blockchain data structure

1.2 全节点验证和轻节点验证

区块链验证交易数据的方法主要有两种[13]:全节点验证和轻节点验证。其中,全节点验证(full node verification,FNV)[6]是应用最为广泛的一种模式。以比特币为例,全节点中记录了从创世区块[13]至今的所有交易信息,包括交易方、交易金额以及所有用于交易的比特币的来源等。通过全节点可以准确无误地验证任何一笔交易,但全节点也存在一个明显的弊端:数据量过于庞大。现阶段比特币的数据量已经超过100 GB,且随着区块链技术的普及,数据增量将越来越大。

轻节点验证(simplified payment verification, SPV)[12]是一种代替全节点验证的方式。轻节点只在初始同步过程中下载区块头,并根据需要从全节点中下载历史数据。不论总区块的数据量有多大,轻节点模式仅需存储每个区块头的约80字节数据,大大减少了数据存储量。区块头中的Merkle root连同Merkle branch可以向SPV客户端证明区块中是否嵌入了有问题的交易,因此,轻节点只需下载整个区块链的一小部分就可以安全地确定任何一笔比特币交易的状态和账户的当前余额。这种利用轻节点进行验证的方式应用非常广泛,如文献[15]的VP(validation peer)就是一种专门用来验证交易的节点,由于仅需验证peer leader block中的信息,从而有效地缩短了验证处理时间。

2 时延控制Petri网

交易系统本质上是一种异步并发的信息系统,小额实时交易则对时间属性提出了更高要求。作者在文献[11]的基础上构造一种时延控制Petri网(delay control Petri nets,DCPN),用于对带有时延控制信息的系统进行描述和分析评估。

定义1 (时延控制Petri网) 它是一个十元组,即

${DCPN} = (S,T,F,R,C,DI,DC,CF,OP,{M_0}){\text{。}}$

其中:

1) $S = {S\!_N} \cup {S\!_F}$ ,其中, ${S\!_N} = \{ s_n\} $ 为常规离散库所的有限集, ${S\!_F} = \{s_f\} $ 为一类模糊库所的有限集;

2) $T = {T\!_{{O}}} \cup {T\!_{{D}}}$ ,其中, ${T\!_{{O}}} = \{ {t_{{o}}}\} $ 为常规变迁的有限集, ${T\!_{{D}}} = \left\{ {{t_{{d}}}} \right\}$ 为一类时延变迁的有限集;

3) $F \subset (S \times T) \cup (T \times S)$ ,为弧的有限集;

4) $R \subset {S\!_{{N}}} \times {T\!_{{D}}}$ ,为抑止弧的有限集;

5) $C \subset {S\!_{{F}}} \times {T\!_{{D}}}$ ,为一类控制弧的有限集;

6) $DI:{T_{{D}}} \to {\mathbb{R}}^ +$ ,为定义在 ${T\!_{{D}}}$ 上的时延函数, $DI(t) = \lambda $ 表示变迁 $t$ 的发生需要 $\lambda $ 个时间单位完成;

7) $DC:C \to \{ 0,1\} $ ,为定义在 $C$ 上的时延控制函数,详见定义3;

8) $CF:{T_{{O}}} \times {S\!_{{F}}} \to (0,1)$ ,为定义在 ${T_{{N}}} \times {S\!_{{F}}}$ 上的置信度函数,详见定义4;

9) $OP:T \times {S\!_{{N}}} \to {\mathbb{N}}_0^ + $ ,为定义在 $T \times {S\!_{{N}}}$ 上的输出函数,详见定义5;

10) ${M_0}:{S\!_{{N}}} \to {\mathbb{N}}_0^ + $ ,为DCPN的初始标志, $M$ 的定义详见定义2。

DCPN的示例如图2所示。其中,常规库所 ${s_{{n}}}$ 用实线圆圈 表示,模糊库所 ${s_{{f}}}$ 用虚线圆圈 表示;常规变迁 ${t_{{o}}}$ 用白底黑线矩形 表示,时延变迁 ${t_{{d}}}$ 用空心矩形 表示,控制弧 $c$ 用爪型箭头 表示,抑止弧 $r$ 用空心圆箭头 表示。

图2 DCPN示例模型 Fig. 2 DCPN example model

定义2(DCPN的状态标志集 ${M}$ 系统状态标志 ${M_{{i}}}$ 是对系统动态行为的描述,系统的每一个状态对应于库所的一个标志向量,所有系统状态的集合记为 $M$

由于在DCPN中涉及两类库所,对于常规库所 ${s_{{n}}} \in {S\!_{{N}}}$ ${M_{{i}}}({s_{{n}}}) \to \mathbb{N}_0^ + $ 为非负整数;对于模糊库所 ${s_{{f}}} \in {S\!_{{F}}}$ ${M_{{i}}}({s_{{f}}})$ 为一模糊数(其值在0到1之间)。若 ${M_{{i}}}$ 通过变迁 $t$ 的发生直接可达 ${M_{{j}}}$ ,记为 ${M_{{i}}}[t > $ ${M_{{j}}}$

性质1(DCPN的运行规则)

1)对 ${t_{{o}}} \in {T_{{O}}}$ ,若 $\forall s \in {}^ \bullet {t_{{o}}}:{M_{{i}}}(s) > 0$ ,则变迁 ${t_{{o}}}$ 在标志 ${M_{{i}}}$ 有发生权,记为 ${M_{{i}}}[{t_{{o}}} > $

2)对 ${t_{{d}}} \in {T_{{D}}}$ ,若

$\forall s \in {}^ \bullet{t_{{d}}}\;\&\;(s,{t_{{d}}}) \in F \to M{}_{{i}}(s) > 0$

$\forall s \in {}^ \bullet {t_{{d}}}\;\& \;(s,{t_{{d}}}) \in R \to M{}_{{i}}(s) = 0$

则变迁 ${t_{{d}}}$ 在标志 ${M_{{i}}}$ 有发生权,记为 ${M_{{i}}}[{t_{{d}}} > $

3)若 ${M_{{i}}}$ 状态下,变迁 $t \in T$ 的发生产生新的标志 ${M_{{i} + 1}}$ ,记为 ${M_{{i}}}[t > {M_{{i} + 1}}$

${M_{{i} + 1}}(s) = \left\{ \begin{aligned}& 0,t \in T \wedge s \in {S\!_{N}} \wedge s \in {}^ \bullet t \wedge (s,t) \in F;\\& {\rm max}({M_{{i}}}(s),CF(t,s)),t \in {T_{{O}}} \wedge \\& \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;s \in {S\!_{F}} \wedge s \in t{}^ \bullet ;\\& {M_i}(s) + OP(t,s),t \in T \wedge s \in {S\!_{N}} \wedge s \in t{}^ \bullet ;\\& {M_i}(s),{\text{其他}}\end{aligned} \right.$ (1)

定义3 (时延控制函数 ${ {DC}}$ 设DCPN的某个状态 ${M_{{i}}}$ 下, $\exists s \in {S\!_{F}} \wedge t \in {T_{{D}}}$ ,且 $c = (s,t)$ $c \in C$ ,有 ${M_{{i}}}(s) = \alpha $ $\alpha \in (0,1)$ ,则时延控制函数 $DC$ 定义为:

$DC(\alpha ) = \left\lfloor {\frac{{ - 1}}{{1 + {{\rm{e}}^{\omega {\rm{ \times }}\alpha - \xi }}}} + \sigma } \right\rfloor $ (2)

式中, $\left\lfloor {\;} \right\rfloor $ 为下取整算符, $\omega {\text{、}}\xi {\text{、}}\sigma $ 为常数。

定义4(置信度函数 ${ {CF}}$ 设DCPN的某个状态 ${M_{{i}}}$ 下, $\exists t \in {T_{{O}}} \wedge s \in {S\!_{{F}}}$ $(t,s) \in F$ ,且 $\forall s \in {}^ \bullet {t_{{o}}}:{M_{{i}}}(s) > 0$ ,则置信度函数 $CF$ 定义为:

$CF(t,s) = \frac{2}{{\text{π}} }(\arctan \frac{{\prod {{M_{{i}}}{(^ \bullet }t} )}}{\rho })$ (3)

式中, $\rho $ 为常数, $\prod {{M_{{i}}}{(^ \bullet }t} )$ 为所有 $t$ 前置库所的状态分量的积。

定义5 (输出函数 ${ {OP}}$ 设DCPN的某个状态 ${M_{{i}}}$ 下, $\exists t \in T \wedge s \in {S\!_{{N}}}$ $(t,s) \in F$ ,且 $\forall s \in {}^ \bullet t:{M_{{i}}}(s) > 0$ ,则输出函数 $OP$ 定义为:

$OP(t,s) = \left\{ \begin{aligned}& \psi ,\exists t' \in T \wedge t' \ne t \wedge (s,t') \in {\mathbb{R}};\\& 1,{\text{其他}}\end{aligned} \right.$ (4)

式中, $\psi $ 根据实际情况确定。

3 基于DCPN的区块链小额实时交易策略

在使用比特币、莱特币[16]等基于区块链的支付工具进行小额实时交易时,交易等待时间过长的问题已成为区块链技术在小额交易应用中的瓶颈。针对该问题,作者基于DCPN提出一种区块链小额实时交易策略(real-time micro trading strategy with blockchain, RMTSB)。

3.1 数据区块结构及信用度评估方法

为了记录和评估交易过程,首先,给出一种含个人信用指标的交易数据区块结构(如图3所示),每笔交易都包括支付方账号(payer identity, PID)、收款方账号(receiver identity, RID)、当前交易金额(current transactions amount, CTA)、支付方的正常交易记录集(normal transactions set, NDS)及不良交易记录集(bad transactions set, BDS)。

图3 含个人信用指标的交易数据区块结构 Fig. 3 Transaction block structure with personal credit indicators

文中提到的“高频次、低额度交易”,一般需要满足以下两个条件:1) $cta \in (0,200)$ ,即当前交易的金额在0~200元人民币范围内(也可根据业务场景适当调整上限值)。2) $\displaystyle\sum\limits_{{i} = 1}^K {\frac{{Count(nd\!{s_{{i}}} + bd\!{s_{{i}}})}}{{period}}} > {\rm{5}}0$ ,即每分钟的交易总次数>50。其中: $Count$ 为集合的计数函数; $nd\!{s_{{i}}}$ 为第 $i$ 个支付方的正常交易集; $bd\!{s_{{i}}}$ 为第 $i$ 个支付方的不良交易集; $period$ 为交易完成所用的时间, $\min $ $K$ 为参与交易的支付方总数。

在该种情况下可通过支付方的交易次数、交易金额和不良交易记录集共同刻画该支付方一贯的交易特点和信用情况。采用信用度 $\alpha $ 体现这一动态信用状况,并使用如下数学策略评估 $\alpha $

$\varepsilon {\rm{ = }}Amount(nd\!s) - \eta \times Amount(bd\!s)$ (5)
$\phi {\rm{ = }}Count(nd\!s) - \kappa \times Count(bd\!s)$ (6)
$\alpha = \frac{2}{{\text{π}} }(\arctan \frac{{\varepsilon \times \phi }}{\rho })$ (7)

式中, $Amount$ 为集合中元素的求和函数, $\eta $ $\kappa $ 为相应的不良交易惩罚系数,可根据实际问题进行动态调整。

3.2 基于区块链和信用度评估的交易策略

在使用基于区块链的支付方式进行交易时,由于收款方需在区块形成后方可确认该笔交易,因此往往存在交易等待时间过长的问题。作者在信用度 $\alpha $ 分析的基础上,提出的一种RMTSB策略,其算法框架如图4所示。

图4 RMTSB策略 Fig. 4 RMTSB strategy

具体步骤如下:

1)支付方使用基于区块链的支付工具进行支付,若为大额,则转至步骤9);若为小额,根据实际问题为置信度函数 $CF$ 和时延控制函数 $DC$ 设置参数 $\rho $ $\omega {\text{、}}\!\!\xi {\text{、}}\!\!\sigma $

2)若收款方本地拥有支付方以往的交易数据区块,则使用该数据进行历史交易验证,转到步骤4);否则将广播至网络;

3)若网内其他节点保存了支付方以往的交易数据区块,则使用该数据进行历史交易验证,并反馈至当前收款方节点,转至步骤4),否则,转至步骤9);

4)根据 $CF$ 函数及式(5)~(7)进行信用度评价,得到信用度 $\alpha $

5)以 $\alpha $ 为输入,通过时延控制函数 $DC$ 和抑止机制 $C$ 进行控制,若符合实时交易处理标准,转到步骤6),否则转到步骤9);

6)进行交易的实时处理(交易时延 $DI = 0$ ),并将完成的交易广播至网络,同时在当前所有节点中遴选记账节点;

7)记账节点对交易进行合法性验证,若通过验证,则转到步骤10);若未通过验证,则转到步骤8);

8)向支付方的不良交易记录集中加入本次交易信息,转到步骤10);

9)根据区块产生的时延,等待处理(交易时延 $DI = \lambda $ $\lambda $ 为形成当前区块还需等待的时间);

10)记账节点形成新的区块;

11)结束。

3.3 全节点的区块链小额实时交易过程

在RMTSB策略中,如果收款方是一类区块链交易的全节点(FNV),则其必拥有支付方以往的全部交易数据区块,则可根据该信息进行信用度评价并实施时延控制。其交易过程相对简单(如图5所示),相应库所及变迁的含义如表1所示。

图5 基于DCPN的全节点的小额实时交易过程 Fig. 5 Real-time micro trading with FNV based on DCPN

表1 全节点小额实时交易的库所/变迁含义 Tab. 1 Meaning of each place/transition inreal-time micro trading with FNV

3.4 轻节点的区块链小额实时交易过程

在RMTSB策略中,若收款方为一类区块链交易的轻节点(SPV),则收款方不一定拥有支付方以往的全部历史交易数据。该情况下必须借助其他验证节点对支付方进行信用度评估,并在交易结束后根据全网节点的验证最终核实交易。在验证过程中,只有拥有支付方全部历史数据的验证节点才可以对其进行验证。如果收款方在下一区块形成前没有收到验证反馈,则按照未优化的情形处理交易。其交易过程如图6所示,相应库所及变迁的含义如表2所示。

图6 基于DCPN的轻节点小额实时交易过程 Fig. 6 Real-time micro tradingwith SPV based on DCPN

表2 轻节点小额实时交易过程的库所/变迁含义 Tab. 2 Meaning of each place/transition in real-time micro trading with SPV

3.5 交易过程分析

对上述过程做如下分析:

1)由于收款方是交易后果的第一影响人,交易合法性的验证对其收益的保障至关重要。RMTSB策略对小额交易给出一种快速处理方法,运用支付方的历史交易记录作为信用背书,以期加快区块链应用中小额交易处理速度,并在交易完成后进行基于共识方法的验证和不良记录的追加,在一定程度上可降低非验证环节的交易风险。

2)当收款方为全节点时,该节点将利用本地数据进行历史交易验证。此类节点使用 $CF$ 函数及式(6)~(8)进行支付方的信用度评价,通过时延控制函数 $DC$ 和抑止机制 $C$ 控制交易时延,并将交易广播至网络,完成最终验证和记账。对于大多数无不良消费记录的支付方来说,此类情形下将基于其良好信用而获得时延为0的即时支付速度,可满足区块链小额实时交易的要求;而经由 $CF$ 函数判定为低信用度的支付方则采用以往的交易方式,忍受一定的时延,等到下一区块形成后方可确认交易。

3)当收款方为轻节点时,则该节点不一定拥有支付方的全部历史交易数据。此类节点将支付方ID广播至网络,由其他拥有支付方历史记录的节点对其进行验证,每个节点的验证方式同2)中所述。此类情形下,不具备本地验证能力的轻节点也能通过网络节点反馈达到加快支付速度的效果。由于在区块链网络中,轻节点的数量占到了绝大多数,此类策略也为小额实时交易在所有节点中的实现提供了有效方法。

4)上述过程基于支付方的历史信用进行交易确认,在提高支付效率的同时,也不可避免地会遭遇非法交易(例如,双花问题)。但通过合理设置小额交易额度上限,设计相应惩罚机制,以及与公民个人信用等级绑定等措施,将会有效抑制非法交易的出现。在本文策略中,设置了交易额的上限,约定了只有小额交易才能使用上述信用策略。此外,还引入了一定的信用惩罚机制,当出现非法交易时,记账节点将向支付方的不良交易记录集加入本次交易信息。

4 仿真实验 4.1 仿真实验

为了验证RMTSB策略的有效性,作者使用MATLAB构建了仿真程序,并以一个小额交易过程为例进行仿真实验和对比分析。

设零售商Bob与支付方Alice、Bill等5人正在进行小额交易,交易金额均小于200人民币(约为0.020 833 3比特币),交易的验证由Bob及其他9个零售商(共10个节点)作为验证节点完成。其中,这10个验证节点所拥有的支付方历史交易数据如表3所示,K为交易总次数,M为交易总金额,NULL表示节点未存储该信息。对5笔交易进行10轮仿真,各交易启动时距下一区块形成的时间如表4所示。

表3 Bob和验证节点存储的支付方信息 Tab. 3 Payer information stored in the Bob and authentication nodes

表4 各交易距离下一区块形成的时间 Tab. 4 Time to wait for each transaction when the next block is formed

令DCPN模型中、 $\xi $ $\sigma $ 分别取值为8、5、1.5。根据式(1)~(8),计算可获得各节点给出的支付方信用度 $\alpha $ 评价,如表5所示。

表5 各支付方的信用度 Tab. 5 Credit of each payment party

运用RMTSB策略进行小额交易,每轮仿真的交易时延值如表6所示。

表6 RMTSB的交易时延 Tab. 6 Transaction delay of RMTSB

为了进一步模拟真实交易中存在网络延迟的情况,可在对交易处理过程进行仿真时,引入网络传输时延变量。各轮仿真的网络时延分别取随机数为0.215 87、0.768 17、0.169 67、0.578 92、0.820 71、0.680 45、1.260 64、0.776 01、0.553 35、0.341 81。运用RMTSB策略进行含网络传输时延变量的小额交易,每轮仿真的交易时延值如表7所示。

表7 含网络传输时延的RMTSB的交易时延 Tab. 7 Transaction delay of RMTSB with network transmission delay

4.2 对比分析

根据文献[17]所述的区块链常规交易方式,每轮交易后应等待新的区块形成后方可确认。因此,各笔交易的确认等待时间为表4中各交易距离下一区块形成时间。而第4.1节中,运用RMTSB策略进行小额交易(简称 RMTSB(A)),会将大量拥有较高信用度的交易提前完成确认,避免了大多数无谓的等待(如表6所示);进一步,将网络传输时延变量融入RMTSB策略(简称为RMTSB(B)),则刻画出真实交易环境中,RMTSB策略对实际交易数据的进一步拟合(如表7所示)。

表47进一步对比和分析可知:

$\forall t \in T \to \max (D{I_{\rm{A}}}(t),D{I_{\rm{B}}}(t)) \le D{I_{\rm{ref}17}}(t){\text{。}}$

式中, $T$ 为一轮交易中所有交易项的集合, $D{I_{\rm{A}}}$ $D{I_{\rm{B}}}$ $D{I_{\rm{ref}17}}$ 分别为RMTSB(A)、RMTSB(B)及文献[17]方法中的交易时延。即在运用DCPN模型后的小额交易中(RMTSB(A)和RMTSB(B)),无论是否考虑网络时延,其每笔交易的时延必不大于文献[17]方法中的交易时延。

对每轮交易的时延累计情况进行对比分析可知:

$\sum\limits_{t \in T} {D{I_{\rm{A}}}(t)} \le \sum\limits_{t \in T} {D{I_{\rm{B}}}(t)} \le \sum\limits_{t \in T} {D{I_{\rm{ref}17}}(t)}{\text{。}}$

多轮交易的总时延对比如图7所示。与区块链常规交易过程相比,RMTSB策略以支付方信用度为背书,有效提高了交易验证的效率。其交易时延与常规交易过程相比可降低50%~75%。

图7 交易总时延对比 Fig. 7 Comparison of total delay

5 结 论

构造了一种DCPN模型,并以此为基础,提出了RMTSB策略,通过对支付方信用进行量化评估,有选择地为区块链框架下的交易进行信用背书,在“高频率、低额度”的交易中可有效控制交易时延,从整体上提高小额交易认证效率。仿真实验验证了方法的有效性。

目前,RMTSB策略还处于理论研究阶段,尚有需进一步研究和完善之处:1)DCPN模型中的置信度函数CF和时延控制函数DC的确定还需要大量数据进行拟合,以满足实际商业交易的需求;2)区块链技术目前大多应用于金融方面,在零售业、城市服务业等小额交易的典型领域,可考虑使用“区块链+物联网”或“区块链+位置服务”的结构对RMTSB策略进行改进,以期进一步减少计算量、增强安全性。

参考文献
[1]
Song W,Framkom,Kou W,Tan C J.An investigation on multiple e-payments and micro-payment:A technical and market view[C]//Proceedings of the 16th International Parallel and Distributed Processing Symposium.Ft. Lauderdale:IEEE,2002:8
[2]
Patil V,Shyamasundar R K.An efficient,secure and delegable micro-payment system[C]//Proceedings of the 2004 IEEE International Conference on e-Technology,e-Commerce and e-Service.Taipei:IEEE,2004:394–404.
[3]
Zhang Hong,Li Bo,Xiao Di. A chaos-based scheme for Web fair micro-payment[J]. Computer Engineering, 2005, 31(17): 124-125. [张红,李波,肖迪. 一个基于混沌理论的Web公平小额支付方案[J]. 计算机工程, 2005, 31(17): 124-125. DOI:10.3969/j.issn.1000-3428.2005.17.045]
[4]
Chen Li,Zhang Haojun,Zhu Yuefei. New micro-payment protocol for mobile commerce[J]. Journal of Computer Applications, 2007, 27(8): 2059-2061. [陈莉,张浩军,祝跃飞. 一种新的移动商务小额支付协议[J]. 计算机应用, 2007, 27(8): 2059-2061.]
[5]
Zou Jia,Si Tiange,Huang Liansheng,et al. Micropayment model based on P2P systems[J]. Journal of Tsinghua University(Science & Technology), 2006, 46(4): 563-567. [邹嘉,司天歌,黄连生,等. 一种新的基于P2P系统的小额支付协议[J]. 清华大学学报(自然科学版), 2006, 46(4): 563-567. DOI:10.3321/j.issn:1000-0054.2006.04.030]
[6]
Swan M.Blockchain:Blueprint for a new economy[M].Sebastopol:O’Reilly Media,Inc.,2015.
[7]
Kishigami J,Fujimura S,Watanabe H,et al.The blockchain-based digital content distribution system[C]//Proceedings of the 2015 IEEE Fifth International Conference on Big Data and Cloud Computing (BD Cloud).Dalian:IEEE,2015:187–190.
[8]
Yasaweerasinghelage R,Staples M,Weber I.Predicting latency of blockchain-based systems using architectural modelling and simulation[C]//Proceedings of the 2017 IEEE International Conference on Software Architecture (ICSA).Gothenburg:IEEE,2017:253–256.
[9]
Alqassem I,Svetinovic D.Towards reference architecture for cryptocurrencies:Bitcoin architectural analysis[C]//Proceedings of the 2014 IEEE International Conference on Internet of Things (iThings),and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber,Physical and Social Computing (CPSCom).Taipei:IEEE,2014:436–443.
[10]
Lundqvist T,Blanche A D,Andersson H R H.Thing-to-thing electricity micro payments using blockchain technology[C]//Proceedings of the 2017 Global Internet of Things Summit(GIoTS).Geneva:IEEE,2017:1–6.
[11]
Zheng Shu Wen.Credit model based on P2P electronic cash system bitcoin[D].Shanghai:Shanghai Jiao Tong University,2012.
郑书雯.P2P网络基于Bitcoin虚拟货币的信用策略[D].上海:上海交通大学,2012.
[12]
Nakamoto S.Bitcoin:A peer-to-peer electronic cash system[EB/OL].(2008-10-31)[2017-04-20]. https://nakamotoinstitute.org/bitcoin.
[13]
Yuan Yong,Wang Feiyue. Blockchain:The state of the Art and future trends[J]. Acta Automatica Sinica, 2016, 42(4): 481-494. [袁勇,王飞跃. 区块链技术发展现状与展望[J]. 自动化学报, 2016, 42(4): 481-494. DOI:10.16383/j.aas.2016.c160158]
[14]
Antonopoulos A M.Mastering bitcoin:Unlocking digital cryptocurrencies[M].Sebastopol:O’Reilly Media Inc,2014.
[15]
Min Xinping,Li Qingzhong,Liu Lei,et al.A permissioned blockchain framework for supporting instant transaction and dynamic block size[C]//Proceedings of the 2016 IEEE Trustcom/BigDataSE/ISPA.Tianjin:IEEE,2016:90–96.
[16]
谭磊,陈刚.区块链2.0[M].北京:电子工业出版社,2015.
[17]
He Pu,Yu Ge,Zhang Yanfeng,et al. Survey on blockchain and its application prospect[J]. Computer Science, 2017, 44(4): 1-7. [何蒲,于戈,张岩峰,等. 区块链技术与应用前瞻综述[J]. 计算机科学, 2017, 44(4): 1-7. DOI:10.11896/j.issn.1002-137X.2017.04.001]