一种基于区块并发执行算法的记账系统及方法与流程

文档序号:11775565阅读:416来源:国知局
一种基于区块并发执行算法的记账系统及方法与流程

本发明属于记账技术领域,尤其涉及一种基于区块并发执行算法的记账系统及方法。



背景技术:

传统的类区块链三重记账模式的交易执行过程主要包括交易发起方、交易目的方、公钥、私钥、签名、哈希函数等组成,交易通讯都是通过链式结构进行交易信息传递的,这种交易流程实现起来相对简单、直接,就像流程图。在这种链式结构的信息传递方法中,只要描述交易区块节点之间的连接、数据传输的方向,以及从一个交易区块向下一个交易区块流转的条件等,就可以设计出交易流程并进行交易记账。

图1示出了现有的交易执行信息流程图,现有的类区块链三重记账交易模式主要包括以下交易流程:交易过程、交易验证以及清算过程。

交易过程主要包括交易发起方、交易目的方、哈希函数、签名等组成,图1中的所有者的公钥,即交易接收方的地址,此数据说明了当前交易的目标是谁;签名,通过发起方将前一次交易数据和接收方公钥连接起来并对其求哈希值,再利用自己的私钥对哈希值加密而得到;私钥,仅供个人所知,他人无从知晓。从图中可以清楚地判断交易发生的顺序,分析交易的货币来源与去向。在交易过程中,每一位所有者a利用他的私钥对前一次交易t1和下一位交易所有者b的公钥签署一个随机散列的数字签名,所有者a将此数据签名制作为交易单t2并将其广播全网,电子货币就发送给下一位所有者。

在交易验证过程中,首先利用交易t2中交易的发起方a的公钥对签名进行解密,得到整数x,再将t1交易数据和所有者b的公钥连接起来,用同样的哈希算法计算哈希值y,若x=y,则说明交易确实是a发起,因为只有用a的私钥才能生成此签名,交易的目的方确实是b,且发起方确实是打算把交易t1中a获得的货币发送给b。

在交易清算过程中,时间戳十分重要,时间戳服务器需要进行交易区块的时间戳散列,并广泛发布哈希算法。每个时间戳都包含以前的时间戳和它的散列哈希算法,通过不断改变区块中的随机数,来尝试碰撞出一个符合要求的区块散列值,一旦找到符合要求的区块散列值,即认为完成了一次工作量证明,该区块中的交易将被记录在账本中,将上一个区块的散列值放入下一个区块中,形成一条链状结构,每个额外的时间戳同样会对本身进行覆盖,可以在不运行完整网络节点的情况下验证交易过程。用户只需要保留他可以通过查询得到的最长的工作证明链接的交易区块头文件的副本即可。

图2示出了交易区块信息,其中包括交易区块的头部,前一个交易的哈希值,随机数值,哈希表泛化后得到的表根,然后将获得的哈希分支连接到该时间戳下的交易块中。用户无法检查自己的交易过程,但通过链接到链中的一个地方,他可以看到一个网络节点已经接受了它,并在其进一步确认网络已经接受之后添加块,在清算完成时执行清算,产生新的交易区块,交易过程结束。

图3示出了现有的交易执行流程,每个交易区块记录了几分钟(例如10分钟)内的交易信息,并在每10分钟后产生一个新的交易区块,进行后续交易操作。以五个交易区块为例,图中包括由交易区块、交易信息、清算过程组成的直链结构,在交易区块1完成交易信息记录之后,过10分钟产生一个新的交易区块2进行后续交易信息的记录,完成5个交易区块的交易流程需要经过至少40分钟的时间,并且在完成所有交易操作后需要采用t+1模式进行日常交易信息清算,效率不高。

图4示出了银行间交易区块执行流程图,传统交易进程模式应用到银行之间的交易信息管理时,不足之处尤为明显。图中对a-f六家银行交易信息流程进行展示。传统交易过程中的链式执行方法有一定的局限性,首先是对资源的利用不足,每一个交易区块在执行交易过程都是单线程模式,经过上一个交易区块执行完交易操作之后经过几分钟(例如10分钟)才会进行下一个交易区块操作。

综上,传统的三重账本根据时间戳进行顺序交易,交易信息存储在交易区块中,交易信息产生的速度是固定的,并且沿着时间戳进行交易的处理和分发,每个交易区块记录了几分钟(例如10分钟)内的交易信息,并在每10分钟后产生一个新的交易区块,然后进行后续的交易操作,其中的清算方式采用t+1模式,时间周期较长,影响交易进行的效率。



技术实现要素:

为解决上述现有技术中的问题,本发明提供了一种基于区块并发执行算法的记账系统及方法,以提高资源利用率和记账效率。

为实现上述目的,本发明的一种基于区块并发执行算法的记账系统及方法的具体技术方案如下:

一种基于区块并发执行算法的记账方法,包括交易过程、交易验证以及清算过程,包括以下步骤:步骤一:在每个交易区块增加并行执行使能,使每个交易区块能够并发地执行交易流,避免等待前一个交易区块的交易记录结果和设定的固定总时间;步骤二,将每个交易区块之间设定为双向信息传递,基于并发执行使能使每个交易区块同时进行交易;步骤三,进行并发执行过程,提前完成账本记录工作的交易区块等待前一个交易区块发起链接,直到所有交易区块完成账本记录;步骤四,所有交易区块完成账本记录后,进行交易验证;步骤五,根据交易验证的结果进行清算过程。

进一步,在步骤三中,每个交易区块完成后,分别执行查询前一交易区块的执行状态,以获知所有交易区块均完成账本记录。

进一步,在步骤四中利用默克尔树进行交易验证,以提高交易验证效率并且验证交易来源的唯一性和真实性。

进一步,步骤四中的默克尔树交易验证包括以下步骤:先从可信的源获得文件的默克尔树树根,从可信的源获得树根后再从不可信的源获取默克尔树,通过从可信的源获得的树根来检查接受到的默克尔树,若默克尔树是损坏的或虚假的,就从其他源获得另一个默克尔树,直到获得一个与可信树根匹配的默克尔树,从而验证交易来源的唯一性和真实性。

进一步,在步骤四的默克尔树生成过程中,把数据分成小的数据块,将相应的哈希和数据块对应,把相邻的两个哈希合并成一个字符串,然后运算字符串的哈希得到子哈希,重复操作得到数目更少的新一级哈希,直到得出根哈希,以提高交易验证效率。

进一步,在步骤四中,所有交易区块均完成账本记录后,前一交易区块利用默克尔树进行交易验证,并向后一交易区块传送,以完成所有交易区块的交易验证。

进一步,在步骤一中,首先使交易信息按照泊松分布规律产生,将交易发生次数设定为服从泊松分布的交易执行,使每个交易区块上的交易信息的产生都服从泊松分布,以便于每个交易区块并行处理交易信息。

本发明还提供了一种基于区块并发执行算法的记账系统,包括多个交易区块,每个交易区块分别与并行执行使能子模块交互连接,并行执行使能子模块使每个交易区块能够并发地执行交易流,避免等待前一个交易区块的交易记录结果和设定的固定总时间。

进一步,每个交易区块之间设置有双向信息传递模块,以确保每两个相邻的交易区块之间可进行双向信息传递,并基于并发执行使能模块使每个交易区块同时进行交易。

进一步,还包括与多个交易区块相连的交易验证模块,所述交易验证模块利用默克尔树对并行完成账本记录的所有交易区块进行验证,以提高交易验证效率并且验证交易来源的唯一性和真实性。

本发明的一种基于区块并发执行算法的记账系统及方法,通过采用并发执行方式对交易区块的产生进行设计,多线程交易流程且相互之间进行信息传递,可有效地控制交易时间,提高清算效率,提供了一种高效率的交易区块的产生机制。由此,将每t分钟(例如10分钟)产生一个交易区块的模式提高到每t分钟产生n个(n大于1)交易区块的模式,进行并发地交易处理,前后区块之间能够通过信息传递进行动态周期调整,并以t分钟为一个周期进行清算,这大大提高了工作效率和降低了清算时间周期。

本发明的基于区块并发执行算法的记账系统及方法主要具有以下优点:

1)资源利用率高;

2)实现非责任化记账方式;

3)相对于传统记账方式,倍数级提高效率;

4)并发执行适用于金融行业的记账发展趋势。

附图说明

图1为现有的交易执行信息流程图;

图2为现有的交易区块信息结构图;

图3为现有的交易执行流程图;

图4示出了一种现有的银行间交易区块执行流程图;

图5为本发明的区块并发执行的交易流程图;

图6为本发明的区块并发执行的交易流程应用在银行之间的交易信息管理流程图;

图7为本发明的默克尔树的生成方式示意图。

具体实施方式

为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明的基于区块并发执行算法的记账系统及方法做进一步详细的描述。

如图5所示,示出了基于区块并发执行算法的记账系统的流程图,在本发明中,在每个交易区块增加并行执行使能en,由于每个交易区块中包含多个交易流程,如果按照串行模式进行单个交易区块,操作占用空间和资源。通过在每个交易区块中增加并发执行使能en,该并发执行使能不仅仅是一种执行信号,同样也是一种类时间戳。在此基础上,每个交易区块能够并发地执行交易流,不需要等待前一个交易区块的交易记录结果和固定的总时间t(10min)的等待时间。

由此,通过增加交易区块的并行执行使能en,在此基础上,每个交易区块能够并发地执行交易流,不需要等待前一个交易区块的交易记录结果和固定的t分钟等待时间,大大提高了资源利用率。

进一步,将交易区块之间设定为双向信息传递。图6示出了区块并发执行的实例化流程,下面以银行之间的交易信息管理过程为例进行说明。

交易区块双向信息传递是指在传统的交易链中增加信息回执功能,传统模式下的资源传递是单向的、有约束的,发起方需要完成交易记录操作才能进行交易区块之间的账本更新和传递,本发明提出的双向信息传递模式不依托于发起方,由于并发执行使能en的存在,每个交易区块可以同时进行交易,没有时间顺序之分。在并发执行过程中,有交易区块提前完成账本记录工作,则等待前一个交易区块k发起链接,直到所有交易区块完成账本记录时,进行清算过程。

由此,机制的改进充分利用了传统交易流程中的10分钟等待时延,在该时延过程中并发地执行多个交易区块账本操作,并在多个交易区块执行完成时进行清算过程,整体耗时10分钟,这大大提高了工作效率与资源利用率。在10分钟的时间周期内,每个交易区块并发执行交易过程,所有节点完成时进行链式串联,并进行清算过程,在n个交易区块参与的情况下,效率提高n倍。

利用默克尔树改进验证流程,图7示出了默克尔树的生成方式,默克尔树可以看做是哈希表的泛化(哈希表可以看作是一种特殊的默克尔树,即树高为2的多叉默克尔树)。

图7中,最底层和哈希列表一样,我们把数据分成小的数据块,有相应的哈希和数据块对应。但是往上走,并不是直接去运算根哈希,而是把相邻的两个哈希合并成一个字符串,然后运算这个字符串的哈希,得到了一个子哈希。如果最底层的哈希总数是单数,那到最后必然出现一个单哈希。这种情况就直接对它进行哈希运算,所以也能得到它的子哈希。于是往上推,依然是一样的方式,可以得到数目更少的新一级哈希,最终必然形成一棵倒挂的树,到了树根的这个位置,这一代就剩下一个根哈希。

由于交易区块的区块头部主要包括时间戳、随机数、来源哈希、目标哈希和默克尔树根,其中默克尔树根是由每层交易信息所生成的不同哈希值向上做哈希运算得到并生成的,默克尔树根是唯一的,放入交易区块的区块头。利用默克尔树的可信比较过程的特性,以确保每一比交易都不可伪造和没有重复交易,每一个交易区块默克尔根的来源是上一个可信区块中交易信息的哈希运算,先从可信的源获得文件的默克尔树树根,然后通过和其他来源处获取的默克尔树进行比较,获得一个与可信树根匹配的默克尔树,通过这种方式能够验证之前的一些交易来源的唯一性和真实性。

例如,在p2p网络下载网络之前,先从可信的源获得文件的默克尔树树根。一旦获得了树根,就可以从其他不可信的源获取默克尔树。通过可信的树根来检查接受到的默克尔树。如果默克尔树是损坏的或者虚假的,就从其他源获得另一个默克尔树,直到获得一个与可信树根匹配的默克尔树。

默克尔树和哈希表的主要区别是,可以直接下载并立即验证默克尔树的一个分支。因为可以将文件切分成小的数据块,这样如果有一块数据损坏,仅仅重新下载这个数据块就行了。如果文件非常大,那么默克尔树和哈希表都很大,但是默克尔树可以一次下载一个分支,然后立即验证这个分支,如果分支验证通过,就可以下载数据了,而哈希表则只有下载整个哈希表才能验证。

由于泊松过程是一种应用广泛的随机过程,在传统记账系统模式下,新交易区块的产生时间系统定义为10分钟,交易区块产生的方式服从泊松分布,但是每10分钟产生区块的方式无法忽视在交易过程中产生的不可预测的延迟,造成总体交易流程的时间滞后或影响清算过程。

为此,在本发明中,使交易信息按照一定的规律产生,应用泊松分布来表示交易信息到达的过程。具体地,将交易发生次数设定为服从泊松分布的交易执行,当交易发生的次数服从泊松分布时,假定交易发生的时间常数是τ=1/λ,一个交易发生所需要的时间,就服从指数分布λe-λt。那么,在总时间t(例如10min)里,发生k次交易的概率,就满足泊松分布:k~pois(λt),显而易见,k的平均值就是λt。泊松过程具有平稳独立增量性,更新过程的特例,参数不受时间影响。

由此,若将清算周期定义为10分钟,在总时间周期为10分钟的情况下,交易区块的产生不再服从泊松分布,而是通过并发的方式产生若干区块,并行处理交易信息。在此基础上,每个交易区块上的交易信息的产生服从泊松分布,具有平稳独立增量性的优点,即在区块并发执行的基础上,使交易信息的产生服从泊松分布。

另一方面,本发明还提供了一种基于区块并发执行算法的记账系统,记账系统中包括多个交易区块,每个交易区块分别与并行执行使能子模块交互连接,并行执行使能子模块使每个交易区块能够并发地执行交易流,避免等待前一个交易区块的交易记录结果和设定的固定总时间,从而提高了资源利用率和记账效率。

进一步,在每个交易区块之间设置双向信息传递模块,以确保每两个相邻的交易区块之间可进行双向信息传递,在此基础上,利用并发执行使能模块使每个交易区块同时进行交易。

此外,记账系统中还包括与多个交易区块相连的交易验证模块和清算模块,所述交易验证模块利用默克尔树对并行完成账本记录的所有交易区块进行验证,以提高交易验证效率并且验证交易来源的唯一性和真实性。清算模块对完成交易验证的交易信息进行清算。

可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

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