在区块链网络中验证交易的方法以及构成该网络的节点技术

技术编号:26429460 阅读:18 留言:0更新日期:2020-11-20 14:28
在用于在区块链网络中验证交易的方法中,实现验证速度的高速化。第一节点(101)接收交易(tx)(S201)。第一节点(101)提供接收到的tx作为对布隆过滤器的输入(S202)。布隆过滤器基于区块链中包含的过去的一个或多个tx而生成。在上述布隆过滤器返回真的情况下,第一节点(101)以成为验证对象的tx的txid为关键字来检索字典,并判定其有无(S203)。字典基于过去达成共识的区块中包含的一个或多个tx而生成。在字典的检索结果为假时,将验证对象的交易判定为有效,并且在上述布隆过滤器返回假时,也同样将验证对象的tx判定为有效(S204)。

【技术实现步骤摘要】
【国外来华专利技术】在区块链网络中验证交易的方法以及构成该网络的节点
本专利技术涉及用于在区块链网络中验证交易的方法以及用于构成该网络的节点。
技术介绍
在具有多个节点的区块链网络中,各节点具有针对选择形成了共识的区块相连而成的区块链。各区块具有区块头和包括一个或多个交易的区块体。各交易可以将该交易的哈希值作为其标识符,该标识符有时被称为“交易id(txid)”。txid在参照过去的交易时使用,根据需要,有时在一个或多个或所有节点中保持其字典(ディクショナリ)。作为使用txid的场景之一,可以举出防止同一交易的双重执行。对于实现了针对选择的共识形成的区块,任意一个节点从积攒在内存池中的交易中选择一个或多个交易来生成,但在将交易存储在内存池中时,有时进行是否是过去达成共识的区块中包含的交易的验证(validation)。另外,有时对在其他节点中生成的区块中包含的交易进行验证。
技术实现思路
专利技术要解决的问题但是,为了进行验证,必须保持针对过去达成共识的区块中包含的所有交易的txid的字典,在每次接收新的交易时参照该字典,来进行过去不存在的确认,这成为导致区块高度的增大并且需要时间或存储区域的处理。本专利技术是鉴于这样的问题而完成的,其目的在于,在用于在区块链网络中验证交易的方法以及用于构成该网络的节点中,实现验证速度的高速化或存储区域增大的抑制。解决问题的技术手段为了实现这样的目的,本专利技术的第1方式是一种用于在区块链网络中验证交易的方法,该方法的特征在于,包括:接收成为验证对象的交易的步骤;对布隆过滤器输入所述交易的步骤,所述布隆过滤器基于过去在所述区块链网络中达成共识的区块中包含的一个或多个交易而生成;以及在所述布隆过滤器的输出为假的情况下,将所述交易判定为有效的步骤。另外,本专利技术的第2方式的特征在于,在第1方式中,包括:在所述布隆过滤器的输出为真的情况下,以所述交易的txid为关键字,对字典进行检索的步骤,所述字典基于过去在所述区块链网络中达成共识的区块中包含的一个或多个交易而生成;以及在所述字典的检索结果为假的情况下,将所述交易判定为有效的步骤。另外,本专利技术的第3方式的特征在于,在第2方式中,还包括:在所述字典的检索结果为真的情况下,将所述交易判定为无效的步骤。另外,本专利技术的第4方式的特征在于,在第1至第3方式中的任一方式中,用于构成所述布隆过滤器的数据被存储在存储器中。另外,本专利技术的第5方式的特征在于,在第4方式中,所述数据是根据与过去达成共识的所述区块中包含的一个或多个交易对应的一个或多个txid而生成的数据串。另外,本专利技术的第6方式的特征在于,在第5方式中,所述数据串的位长比所述交易的txid的位长长。另外,本专利技术的第7方式的特征在于,在第1至第6方式中的任一方式中,所述成为验证对象的交易是成为共识形成的对象的区块中包含的一个或多个交易中的某一个。另外,本专利技术的第8方式的特征在于,在第7方式中,还包括:以所述成为验证对象的交易的txid为关键字,对临时字典进行检索的步骤,所述临时字典保持与所述区块中包含的一个或多个交易对应的一个或多个txid。另外,本专利技术的第9方式是一种程序,用于使计算机执行用于在区块链网络中验证交易的方法,所述程序的特征在于,所述方法包括:接收成为验证对象的交易的步骤;对布隆过滤器输入所述交易的步骤,所述布隆过滤器基于过去在所述区块链网络中达成共识的区块中包含的一个或多个交易而生成;以及在所述布隆过滤器的输出为假的情况下,将所述交易判定为有效的步骤。另外,本专利技术的第10方式是构成用于在区块链网络中验证交易的所述区块链网络的节点,其特征在于,接收成为验证对象的交易,对布隆过滤器输入所述交易,所述布隆过滤器基于过去在所述区块链网络中达成共识的区块中包含的一个或多个交易而生成,在所述布隆过滤器的输出为假的情况下,将所述交易判定为有效。专利技术的效果根据本专利技术的一方式,通过将成为验证对象的交易输入到基于过去在区块链网络中达成共识的区块中包含的一个或多个交易而生成的布隆过滤器中,并且仅在得到“真”的输出的情况下访问字典,由此可以抑制需要时间的对字典的访问,使交易的验证高速化。附图说明图1是表示本专利技术的第1实施方式的区块链网络的图。图2是本专利技术的第1实施方式的交易的验证方法的流程图。具体实施方式以下,参照附图详细说明本专利技术的实施方式。(第1实施方式)图1表示本专利技术的第1实施方式的区块链网络。网络100包括第一节点101、第二节点102、第三节点103和第四节点104。这些节点分别具有区块链,参与新的区块的选择所涉及的共识形成。在图1中,示出了4个的例子,但这只不过是例示。此外,网络100可以包括不参与共识形成的节点。以下,着眼于第一节点101进行说明。对于其他节点,也可以具有以下所述的构成。第一节点101具备通信接口等通信部101-1、处理器、CPU等处理部101-2、存储器等主存储装置101-3、以及硬盘等辅助存储装置101-4,能够通过执行用于进行各处理的程序而构成。第一节点101有时包含一个或多个装置或服务器,并且该程序有时包含一个或多个程序,并且,能够记录在计算机可读存储介质中而成为非暂时性的程序产品。另外,虽然分别说明主存储装置101-3和辅助存储装置101-4,但也可以考虑将它们作为同一存储装置或存储介质,或者将包含它们的存储装置或存储介质视为存储部。另外,主存储装置101-3和辅助存储装置101-4也可以分别包含多个存储装置或存储介质。另外,作为存储在主存储装置101-3中的数据,以下说明的数据有时也存储在CPU等处理部101-2所具有的L1、L2、L3等高速缓冲存储器中。在该情况下,也可以包含主存储装置101-3和处理部101-2所具有的高速缓冲存储器而称为“第一存储装置”,包含辅助存储装置101-4而称为“第二存储装置”。第一节点101首先接收在区块链网络100内或外部生成的交易(tx)(S201)。在此,有时在网络100中生成交易并自己接收。在图1的示例中,第一节点接收在网络100外部生成的交易。成为验证对象的交易的接收除了直接接收一个或多个交易的情况以外,还有通过接收在其他节点中生成的区块来接收该区块中包含的一个或多个交易的情况。第一节点101提供所接收的交易作为对布隆过滤器的输入(S202)。关于布隆过滤器,可以将具有用于构成该过滤器的程序及数据的模块存储在主存储装置101-3或第一存储装置中,并通过执行该程序来使布隆过滤器动作。该数据是基于构成网络100的各节点所具有的区块链中包含的过去的一个或多个交易而生成的,更具体地说,能够基于与该过去的一个或多个交易对应的一个或多个txid而生成。txid可以是32字节的哈希值,但作为一例,说明其为4位的情况。假设作为第一txid的0101作为与过去的交易对应的txid而存在,作为第二txid的1001作为与过去的交易本文档来自技高网...

【技术保护点】
1.一种方法,用于在区块链网络中验证交易,所述方法的特征在于,包括:/n接收成为验证对象的交易的步骤;/n对布隆过滤器输入所述交易的步骤,所述布隆过滤器基于过去在所述区块链网络中达成共识的区块中包含的一个或多个交易而生成;以及/n在所述布隆过滤器的输出为假的情况下,将所述交易判定为有效的步骤。/n

【技术特征摘要】
【国外来华专利技术】20180216 JP 2018-0265291.一种方法,用于在区块链网络中验证交易,所述方法的特征在于,包括:
接收成为验证对象的交易的步骤;
对布隆过滤器输入所述交易的步骤,所述布隆过滤器基于过去在所述区块链网络中达成共识的区块中包含的一个或多个交易而生成;以及
在所述布隆过滤器的输出为假的情况下,将所述交易判定为有效的步骤。


2.根据权利要求1所述的方法,其特征在于,包括:
在所述布隆过滤器的输出为真的情况下,以所述交易的txid为关键字,对字典进行检索的步骤,所述字典基于过去在所述区块链网络中达成共识的区块中包含的一个或多个交易而生成;以及
在所述字典的检索结果为假的情况下,将所述交易判定为有效的步骤。


3.根据权利要求2所述的方法,其特征在于,还包括:
在所述字典的检索结果为真的情况下,将所述交易判定为无效的步骤。


4.根据权利要求1~3中任一项所述的方法,其特征在于,
用于构成所述布隆过滤器的数据存储在存储器中。


5.根据权利要求4所述的方法,其特征在于,
所述数据是根据与过去达成共识的所述区块中包含的一个或多个交易对应的一个或多个txid而生成的数据串。

【专利技术属性】
技术研发人员:加纳裕三小宫山峰史
申请(专利权)人:比特飞翔区块链株式会社
类型:发明
国别省市:日本;JP

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1