交易确定可信度计算方法及区块链网络监控系统与流程

文档序号:15738144发布日期:2018-10-23 21:50阅读:225来源:国知局

本发明涉及一种针对基于区块链的交易的确定可信度计算方法及执行该方法的区块链网络监控系统。具体而言,计算表示在区块链上记录有特定交易数据的区块的位置不会变更的概率的交易确定可信度的方法和为了执行该方法而监控构成区块链网络的多个区块链节点的区块链网络监控系统。



背景技术:

区块链(blockchain)表示,将持续增加的数据记录在特定单位的区块中,并由构成P2P(点对点)网络的各个节点对所述区块以链形态的资料结构进行管理的数据管理技术,或者由所述链形态的资料结构构成的数据本身。此时,对由链形态的资料结构构成的区块链数据而言,如在图1和图2中比较图示的内容所示,无中央系统的状态下在各个节点以分布式账本(distributed ledger)形态运行。

区块链技术为了防止分布式数据管理或数据的伪造、编造而被利用在多样的领域中。例如,在区块链技术被应用在金融领域的情况下,即使没有保证可靠性的中央金融机关,也能够通过分布的各个区块链节点所管理的分布式账本而由交易当事人安全地执行交易。

通过分布式账本而能够执行安全的交易的理由中的一个可以从基于哈希运算来构成的链形态的资料结构中找到。具体地,构成区块链网络的各个区块链节点利用如图3所示的资料结构管理区块,各个区块中记录有针对之前的区块的哈希值,并且可以通过所述哈希值而参照之前的区块。因此,区块堆得越多,记录于区块内的交易数据的伪造、编造变得困难,并且,能够提高记录于各个区块的交易数据的可信度。

然而,目前为止提出过的区块链技术由于具有如下的问题而难以直接应用在需要严格的管制的金融领域或企业环境中。

首先,区块链技术是基于脱中央化的,因此存在当整个系统沿错误的方向移动时,难以进行针对此的观测和应对的问题。尤其,如同51%攻击,可以根据相对于整个网络性能确保特定比率以上的计算能力的节点实现数据的伪造、编造,因此所述区块链技术难以直接应用到要求高级别的安全性的金融领域或企业环境中。

并且,在区块链数据上偶尔会产生分支(branch),因此可能会发生无法确认记录于该区块中的交易信息的情形,但是当前的区块链技术难以针对此进行预测和应对。例如,如图4所示,可能会发生如下的情形:在区块链数据上将第一链20判断为最长的主链而产生区块的第一节点在区块链同步化过程中较迟地发现长度比第一链20更长的第二链10。在如上所示的情况下,所述第一节点将区块链数据更新为最新区块即“区块#5”,此时在所述更新过程中,记录于第一链的区块#3’21的交易数据(例如,交易#1)的区块位置位置可能会变更为区块11。

即,根据分支的产生,为了确认该交易数据而参照的区块信息会变更,从而可能发生预定时间内无法确认该交易数据的问题,但是目前为止所提出的区块链技术由于无法系统地预测基于分支的产生的区块位置变更与否,因此存在难以对其应对的问题。

因此,为了将区块链技术应用到金融领域或企业环境中,要求执行针对分布的各个区块链节点的监控方法,并且要求一种可根据形成于区块链数据上的分支而预测特定交易数据的区块位置变更与否的方法。

[现有技术文献]

[专利文献]

(专利文献0001)韩国公开专利第2016-0150278号(2016.12.29公开)



技术实现要素:

本发明要解决的技术课题是,计算表示记录有特定交易数据的区块的位置不会变更的概率的交易确定可信度的方法和执行该方法的装置。

本发明要解决的另一技术课题是,为了计算所述交易确定可信度而对形成于区块链数据上的分支状态进行监控的方法和执行该方法的装置和系统。

本发明的技术课题不限于以上提到的技术课题,未提及的其他技术课题将能够通过以下的记载而被本发明的技术领域中的普通技术人员明确地理解。

用于实现所述技术课题的根据本发明的一实施例的交易确定可信度计算方法为借助交易确定可信度计算装置执行的针对基于区块链的交易的交易确定可信度计算方法,其特征在于,包括如下的步骤:获取与形成于区块链上的分支相关的信息;基于与所述分支(branch)相关的信息,计算所述区块链的当前的区块高度所对应的对象区块与非分支状态区块之间的区块高度差;以及基于所述区块高度差,计算针对记录于所述对象区块的交易数据的交易确定可信度,此时,所述交易确定可信度表示,随着在所述对象区块之后进一步连接k个(在此,k为1以上的自然数)区块,记录有所述交易数据的区块的位置不会变更的概率。

在一实施例中,与所述分支相关的信息可以包括各个区块的哈希值和各个区块的区块高度信息,确定所述对象区块与所述非分支状态区块之间的区块高度差的步骤可以包括如下的步骤:针对各个区块高度,对具有彼此不同的哈希值的区块的数量进行计数;在所述对象区块的之前区块中,将所述区块的数量连续地为1的至少一个区块识别为第一区块区间;以及在包含于所述第一区块区间的所述至少一个区块中,将具有最高的区块高度的区块确定为所述非分支状态区块。

计算针对记录于所述对象区块的交易数据的交易确定可信度的步骤可以包括如下的步骤:基于所述区块高度差,利用泊松分布(poission distribution)来预测所述交易确定可信度。

在一实施例中,所述区块链是可以第一区块链,与所述分支相关的信息是与第一分支相关的信息,并且还可以包括如下的步骤:获取与在第二区块链上形成的第二分支相关的信息,其中所述第二区块链还包括所述第一区块链和所述k个区块;以及基于与所述第二分支想干的信息,确定计算出的所述交易确定可信度。

在一实施例中,计算所述交易确定可信度的步骤包括如下的步骤:在变更着k的值的同时连接k个区块的情况下,计算各个区块的交易确定可信度,并且还包括如下的步骤:确定使所述交易确定可信度成为预定的值以上的k值。

用于实现所述技术课题的根据本发明的领一实施例的交易确定可信度计算装置包括:一个以上的处理器、网络接口、装载借助所述处理器执行的计算机程序的内存和存储所述计算机程序的存储器,所述计算机程序包括如下的操作:获取与形成于区块链上的分支相关的信息;基于与所述分支(branch)相关的信息,计算所述区块链的当前的区块高度所对应的对象区块与非分支状态区块之间的区块高度差;以及基于所述区块高度差,计算针对记录于所述对象区块的交易数据的交易确定可信度,此时,所述交易确定可信度表示,随着在所述对象区块之后进一步连接k个(在此,k为1以上的自然数)区块,记录有所述交易数据的区块的位置不会变更的概率。

用于实现上述课题的根据本发明的又一实施例的计算机程序与计算装置结合而执行如下的步骤:获取与形成于区块链上的分支相关的信息;基于与所述分支(branch)相关的信息,计算所述区块链的当前的区块高度所对应的对象区块与非分支状态区块之间的区块高度差;以及基于所述区块高度差,计算针对记录于所述对象区块的交易数据的交易确定可信度,此时,所述交易确定可信度表示,随着在所述对象区块之后进一步连接k个(在此,k为1以上的自然数)区块,记录有所述交易数据的区块的位置不会变更的概率。

用于实现上述技术课题的根据本发明的又一实施例的区块链网络监控系统包括:多个区块链节点,构成区块链网络,对区块链进行分布式管理,并生成新的区块,且使所述新的区块在所述区块链网络上传播;监控节点,构成所述区块链网络,并实时地监控在所述区块链网络上传播的新的区块;以及区块链网络监控装置,从所述监控节点实时地接收针对新的区块的信息,并基于针对所述新的区块的信息来对所述区块链上的分支产生状态进行监控。

根据上述的本发明,能够基于泊松分布来计算表示记录有特定交易数据的区块位置不会变更的概率的交易确定可信度。因此,能够针对特定交易数据的记录位置变更与否进行系统的预测和应对。

并且,利用仅执行监控功能的特殊节点,能够提供针对构成区块链网络的各个区块链节点的监控功能。因此,基于区块链的系统能够执行观察是否朝向错误的方向前进,并且能够提供金融领域或企业领域所要求的详细的监控功能。

并且,通过作为提供彼此不同的网络之间的数据交换功能的特殊节点的查询节点(broker node),在位于异构网络上的节点之间可以构成有一个区块链网络。因此,能够在多个企业环境中构建基于相同的区块链的系统,因此能够在更为多样的领域中应用区块链技术。

本发明的效果并不局限于以上提到的效果,未提及的其他效果能够通过以下的记载而被本领域普通技术人员明确地理解。

附图说明

图1是表示现有的中央总账(centralized ledger)的示意图。

图2是表示基于区块链的分布式账本的示意图。

图3是用于说明借助构成区块链网络的各个区块链节点而维持的区块链数据的结构的图。

图4是用于说明随着在区块链数据中形成分支而导致记录有交易数据的区块位置变更的问题的图。

图5是根据本发明的第一实施例的区块链网络监控系统的构成图。

图6是根据本发明的第二实施例的区块链网络监控系统的构成图。

图7是示出根据本发明的另一实施例的交易确定可信度计算装置的框图。

图8是根据本发明的又一实施例的交易确定可信度计算装置的硬件构成图。

图9是根据本发明的又一实施例的交易确定可信度计算方法流程图。

图10是用于比较说明可在本发明的多个实施例中参照的区块高度和区块深度的概念的图。

图11和图12是用于说明图示于图9的交易确定可信度预测步骤S300的图。

图13是图示于图9的交易确定可信度确定步骤S500的详细顺序图。

具体实施方式

以下,参照附图对本发明的优选的实施例进行详细的说明。如果与附图一同参照详细地后述的实施例,则本发明的优点和特征以及用于实现此的方法将会更加明确。然而本发明并不局限于以下公开的实施例,其可以体现为彼此不同的多样的形态,只不过本实施例是为了使本发明的公开变得完整,并向本发明所属的技术领域中具有普通知识水平的人完整地告知本发明的范围而被提供的实施例,本发明仅通过权利要求书的范围来定义。在整个说明书中,同一个附图标号指代同一个构成要素。

除非有其他定义,否则本说明书中使用的所有的术语(包括技术和科学术语)可以被使用为能够被在本发明所属的技术领域中具有普通知识水平的人共同理解的含义。此外,在通常使用的词典中被定义的术语除非有明确的定义,否则不会被异常或过度地解释。在本说明书中使用的术语是用于说明实施例的,而并非用于限定本发明。在本说明书中,除非在文章中被特别地提到,否则单数的表述还包括复数的表述。

说明书中使用的“包括(comprises)”和/或“包括……的(comprising)”表示,所提到的构成要素、步骤、操作和/或元件不排除一个以上的其他构成要素、步骤、操作和/或元件的存在或追加可能性。

在针对本说明书进行说明之前,预先明确本说明书中使用的多个术语。

在本说明书中,区块链或区块链数据表示构成区块链网络的各个区块链节点所维持的数据,其表示至少一个区块构成链形态的资料结构的数据。在记录于各个区块中的数据为交易数据的情况下,所述区块链数据可被利用为分布式账本。只不过,记录于各个区块中的数据不妨为任何的种类。所述区块链数据的结构将参照图3。

在本说明书中,区块链网络表示利用根据区块链算法操作的多个区块链节点构成的P2P结构的网络。

在本说明书中,区块链节点表示构成区块链网络且基于区块链算法来维持区块链数据并管理的主体。所述区块链节点可由单个计算装置实现,并且还可以由虚拟机(virtual machine)等实现。在由虚拟机实现的情况下,单个计算装置中可以存在多个区块链节点。

在本说明书中,区块生成节点表示构成区块链网络的区块链节点中的通过挖掘(mining)而生成新的区块的节点。

在本说明书中,交易确定可信度表示,随着在当前的区块高度所对应的对象区块之后进一步连接k个(在此,k为1以上的自然数)的区块,记录于所述对象区块的交易数据的区块位置不会变更的概率。即,所述交易确定可信度可以被理解为如下的含义:即使新的区块被追加到所述对象区块,也不会形成分支而以主链维持的概率。

以下,根据附图而对针对本发明的多个实施例进行详细的说明。

首先,参照图5和图6,对根据本发明的多个实施例的区块链网络监控系统进行说明。

图5是根据本发明的第一实施例的区块链网络监控系统的构成图。

参照图5,根据所述第一实施例的区块链网络监控系统可以构成为包括区块链网络监控装置100和区块链网络200。只不过,这仅仅是为了实现本发明的目的的优选的实施例,显然,可以根据需求,可以添加或删除部分构成要素。并且,图示于图5的区块链网络监控系统的各个构成要素表示按功能划分的功能要素,需要注意的是,至少一个构成要素在实际的物理环境下还可以由彼此整合的形态实现。

在所述第一实施例中,区块链网络监控装置100是用于对构成区块链网络的多个区块链节点的状态和操作、区块链数据等各种信息进行监控的计算装置。在此,所述计算装置可以是笔记本电脑、台式电脑(desktop)、膝上型计算机(laptop)等,然而并不局限于此,可以包括具备运算手段和通信手段的所有种类的装置。

区块链网络监控装置100例如可以从搭载于各个区块链节点的监控代理接收针对各个区块链节点的状态和操作、保管在各个区块链节点的区块链数据的信息。所述监控代理可以被理解成以守护进程(daemon)形态监控各个区块链节点的软件模块。

并且,区块链网络监控装置100可以从作为构成区块链网络200的节点中的一个的监控节点210实时地接收网络上传播的交易数据和新的区块。在此,监控节点210是特殊的类型的区块链节点,可以被理解为将在区块链网络200上传播的各种数据截获(intercept)而实时地传递的节点。

区块链网络监控装置100可以将如上所述地收集到的各种信息通过多样的用户接口而以可视化的形态提供。

根据本发明的实施例,区块链网络监控装置100可以从监控代理实时地接收各个区块链节点所管理的区块链数据的链结构信息,并按各个区块链节点比较区块链数据的链结构信息,从而实时地监控区块链数据上的分支产生状态。

或者,区块链网络监控装置100可以从监控节点210接收在区块链网络上传播的新的区块,并比较所述新的区块的号码和哈希值的一致与否,从而实时地监控区块链数据上的分支产生状态。

根据本发明的实施例,区块链网络监控装置100可基于形成于所述区块链数据上的分支状态来计算针对记录在对象区块的交易数据的交易确定可信度。限于如上所述的实施例,区块链网络监控装置100可被命名为交易确定可信度计算装置100。在此,所述对象区块表示与当前的区块高度对应的最新区块。在以下内容中,同样地,除非有其他提及的内容,否则所述对象区块被使用为表示最新区块的含义,并且所述区块高度的概念将参照图10。根据本实施例,能够针对原本记录于对象区块中的特定交易数据的区块位置变更与否进行系统的预测和对应。针对交易确定可信度计算装置100计算交易确定可信度的方法的详细的说明将在下文中参照图9至图13而进行。

在所述第一实施例中,区块链网络200是由多个区块链节点构成的P2P结构的网络。构成区块链网络200的区块链节点基于区块链算法来执行区块的生成、传播、验证、记录等操作。并且,各个区块链节点维持相同的区块链数据。

根据本发明的实施例,区块链网络200可以构成为包括监控节点210。如上所述,监控节点210是特殊类型的节点,并且可以实时地收集区块链网络上传播的交易数据和新的区块而向区块链网络监控装置100传递。

在根据本发明的多个实施例的区块链网络监控系统中,各个构成要素可以通过网络进行通信。在此,所述网络可以由局域网络(Local Area Network;LAN)、广域网络(Wide Area Network;WAN)、移动通信网络(mobile radio communication network)、无线宽带网络(Wibro;Wireless Broadband Internet)等所有种类的有线/无线网络来实现。

目前为止,已对根据本发明的第一实施例的区块链网络监控系统进行了说明。接着,参照图6,对根据本发明的第二实施例的区块链网络监控系统进行说明。

图6是根据本发明的第二实施例的区块链网络监控系统的构成图。

参照图6,在所述第二实施例中,区块链网络200可基于彼此不同的网络环境来构建。具体地,在多个区块链节点包括多个第一区块链节点和多个第二区块链节点时,所述多个第一区块链节点位于第一网络上,所述多个第二区块链节点位于所述第二网络上,从而所述第一网络和所述第二网络可以构成为异构网络环境。

具体地,所述第一网络和所述第二网络可以是物理划分的网络或逻辑划分的网络。例如,所述第一网络和所述第二网络可以是利用彼此不同的通信协议执行通信的网络、利用彼此不同的虚拟专用网络(VPN:virtual private network)构建的网络等。在图6中,将所述第一网络和所述第二网络分别由彼此不同的VPN 200a、200b构建的情形作为一例而示出。

尤其在安全性重要的金融领域或企业环境中,位于第一企业的内部网络上的第一区块链节点和位于第二企业的内部网络上的第二区块链节点而言,即便两者构成同一个区块链网络,也有可能无法进行通信。为了解决上述的问题,根据所述第二实施例的区块链网络监控系统可以构成为还包括查询节点(Broker Node)220。

查询节点220可以执行位于彼此不同的网络200a、200b上的区块链节点之间的数据交换。例如,查询节点220可以转换数据格式以使数据格式适于各个通信协议。或者,查询节点200还可以单纯地执行对数据进行中继的作用。或者,查询节点200还可以根据预定的安全政策而执行数据检查、访问控制等。

目前为止,参照图6而对根据本发明的第二实施例的区块链网络监控系统进行了说明。接着,参照图7和图8对根据本发明的另一实施例的交易确定可信度计算装置100的构成和操作进行说明。

图7是表示本发明的实施例的交易确定可信度计算装置100的框图。

参照图7,交易确定可信度计算装置100可以构成为包括监控部110、交易确定可信度预测部130和交易确定可信度确定部150。只不过,在图7中,仅图示了与本发明的实施例相关的构成要素。因此,只要是本发明所属的技术领域中的普通技术人员,则能够理解除了图示于图7的构成要素以外还可以包括其他通用的构成要素。并且,图示于图7的交易确定可信度计算装置的各个构成要素表示按功能划分的功能要素,至少一个构成要素在实际的物理环境中还可以体现为彼此整合的形态。

若观察各个构成要素,监控部110实时地获取针对构成区块链网络的各个区块链节点的区块链数据的监控信息。此时,所述监控信息可以包括针对形成于区块链数据上的分支的信息。

交易确定可信度预测部130基于与监控部110所提供的第一时刻的分支相关的信息来预测针对记录于对象区块的交易数据的交易确定可信度。针对交易确定可信度预测部130的操作的详细说明将参照图9、图11和图12而在下文中进行。

交易确定可信度确定部150基于与监控部110所提供的第二时刻的分支相关的信息来调整或确定由交易确定可信度预测部130预测的交易确定可信度。即,交易确定可信度确定部150将基于与所述第一时刻的分支相关的信息来预测的分支产生与否的值和所述第二时刻的实际的观测信息进行比较而调整或确定预测的所述交易确定可信度。针对交易确定可信度确定部150的操作的详细的说明将参照图13而在下文中进行。

图示于图7的交易确定可信度计算装置100的各个构成要素可以表示软件(Software),或者现场可编程门阵列(FPGA;Field Programmable Gate Array)或专用集成电路(ASIC;Application-Specific Integrated Circuit)等硬件(Hardware)。但是,所述构成要素并不局限于软件或硬件,还可以构成为处于可编址(Addressing)的存储介质,或者还可以构成为运行一个以上的处理器。在所述构成要素内提供的功能可以通过更为细分化的构成要素来实现,并且还可以将多个构成要素合在一起而体现为执行特定的功能的一个构成要素。

图8是根据本发明的实施例的交易确定可信度计算装置100的硬件构成图。

参照图8,交易确定可信度计算装置100可以包括一个以上的处理器101、总线105、网络接口107、装载(load)借助处理器101执行的计算机程序的内存(memory)103和存储交易确定可信度计算软件109a的存储器(storage)109。只不过,在图8中,仅图示了与本发明的实施例相关的构成要素。因此,只要是本发明所属的技术领域中的普通技术人员,则能够理解除了图示于图8的构成要素以外还可以包括其他通用的构成要素。

处理器101控制交易确定可信度计算装置100的各个构成的整体的操作。处理器101可以构成为包括中央处理单元(CPU:Central Processing Unit)、微处理器单元(MPU:Micro Processor Unit)、单片机(MCU:Micro Controller Unit)、图像处理单元(GPU:Graphic Processing Unit)或本发明的技术领域中周知的任意形态的处理器。并且,处理器101可以运行针对用于执行根据本发明的实施例的方法的至少一个应用或程序的运算。交易确定可信度计算装置100可以配备一个以上的处理器。

内存103存储各种数据、指令和/或信息。内存103为了执行根据本发明的实施例的交易确定可信度计算方法而从存储器109装载一个以上的程序109a。在图8中,作为内存103的示例而示出了随机存取存储器(RAM)。

总线105提供交易确定可信度计算装置100的构成要素之间的通信。总线105可以由地址总线(Address Bus)、数据总线(Data Bus)和控制总线(Control Bus)等多样的形态的总线实现。

网络接口107支持交易确定可信度计算装置100有线互联网通信和无线互联网通信。并且,网络接口107还可以支持除了互联网通信以外的多样的通信方式。为此,网络接口107可以构成为包括本发明的技术领域中周知的通信模块。

存储器109可以非临时性地存储所述一个以上的程序109a。在图8中,作为所述一个以上的程序109a的示例而示出了交易确定可信度计算软件109a。

存储器109可以构成为包括只读存储器(ROM:Read Only Memory)、可擦除可编程只读存储器(EPROM:Erasable Programmable ROM)、电可擦除可编程只读存储器(EEPROM:Electrically Erasable Programmable ROM),闪存等非易失性内存、硬盘、可拆装硬盘或在本发明所属的技术领域中周知的任意的形态的可通过计算机读取的记录介质。

交易确定可信度计算软件109a可执行后述的交易确定可信度计算方法。具体地,交易确定可信度计算软件109a装载于内存103,从而通过一个以上的处理器101执行如下的操作:获取与形成于区块链数据上的分支(branch)相关的信息;基于与所述分支相关的信息,计算所述区块链数据的当前的区块高度所对应的对象区块和未处于分支状态的非分支状态区块之间的区块高度差;以及基于所述区块高度差,计算针对记录于所述对象区块的交易数据的交易确定可信度。

目前为止,参照图7和图8而对根据本发明的实施例的交易确定可信度计算装置100的构成和操作进行了说明。接着,参照图9至图13对根据本发明的又一实施例的交易确定可信度计算方法进行详细的说明。

后述的根据本发明的实施例的交易确定可信度计算方法的各个步骤可通过计算装置执行。例如,所述计算装置可以是交易确定可信度计算装置100。只不过,为了便于说明,所述交易确定可信度计算方法所包含的各个步骤的操作主体的记载也可能被省略。并且,交易确定可信度计算方法的各个步骤可以是由交易确定可信度计算软件109a通过处理器101执行,从而在交易确定可信度计算装置100执行的操作。

图9是交易确定可信度计算方法的流程图。只不过,这仅仅是为了实现本发明的目的的优选的实施例,根据需求,显然可以追加或删除一部分步骤。

首先,交易确定可信度计算装置100获取针对区块链数据的第一监控信息(S100)。在此,所述第一监控信息包括与形成于区块链数据上的分支相关的信息。具体地,与所述分支相关的信息可以包括各个区块的哈希值、各个区块的区块高度、各个区块的号码。或者,与所述分支相关的信息可以包括基于所述区块的哈希值和所述区块的区块高度来加工的信息(例如,图示于图11的各个区块的分支状态信息、分支产生地点等)。获取与所述分支相关的信息的方法采用何种方法均无妨。例如,交易确定可信度计算装置100从在区块链网络上搭载于各个区块链节点的监控代理接收区块链数据的链结构信息,并检查所述区块链数据的链结构信息的一致与否,从而获取与所述分支相关的信息。或者,可以从监控节点实时地收集区块链网络上传播的新的区块,并比较所述新的区块的号码和哈希值,从而获取与所述分支相关的信息。

接着,交易确定可信度计算装置100基于与所述分支相关的信息来计算对象区块与非分支状态区块之间的区块高度差(S200)。在此,所述区块高度差可以理解为,从对象区块开始到位于不再产生分支的位置的之前的区块(即,非分支状态区块)为止的距离。区块高度的概念将操作图10而说明,其为本技术领域的普通技术人员周知的概念,因此省略对此的详细的说明。

所述非分支状态区块表示不处于分支状态的区块,对于处于分支状态的区块而言,如图11所示,当具有相同的区块高度或号码的区块为多个时,所述多个区块分别可以被理解成处于分支状态的区块。在图11中,各个虚线所贯通的区块表示具有相同的区块高度或号码的区块。

参照图11,对步骤S200进行附加说明。

为了计算对象区块与非分支状态区块之间的区块高度差,首先需要确定所述非分支状态区块的位置。为此,交易确定可信度计算装置100以对象区块321为基准而沿之前区块的方向进行探索,并判断各个区块处于分支状态还是非分支状态。所述判断可以通过将具有相同区块高度或号码的区块的哈希值进行比较的方式执行。具体地,在具有不同的哈希值的区块的数量超过1的情况下,与该区块高度对应的区块可以被判断为处于分支状态。作为具体的一例,对于对象区块321的前一个区块而言,具有不同的哈希值的区块数为“2”,所以可以判断为处于分支状态,并且对于区块311而言,具有不同的哈希值的区块数为“1”,因此可以判断为处于非分支状态。在此,例如,所述哈希值利用包含在各个区块的之前区块的哈希值或记录于梅克尔根域(Merkel Root Field)的哈希值等任意的哈希值也无妨。

交易确定可信度计算装置100将探索进行到发现在相同高度的区块中具有不同的哈希值的区块的数量以预定的次数以上连续地成为“1”的区块区间310为止。并且,交易确定可信度计算装置100计算包含于区块区间310中的区块中的最初探索到的非分支状态区块311(或者,区块区间310中具有最高的区块高度的区块)与对象区块之间的区块高度差。

换言之,交易确定可信度计算装置100针对各个区块高度,对具有彼此不同的哈希值的区块的数量进行计数,并在对象区块321的之前区块中将区块的数量连续地成为“1”的一系列区块识别为区块区间310,并可以将区块区间310所包含的至少一个区块中具有最高的区块高度的区块确定为非分支状态区块311。

重新参照图9,交易确定可信度计算装置100基于在步骤S200中计算出的区块高度差来预测交易确定可信度(S300)。

根据本发明的实施例,所述交易确定可信度可基于泊松分布(poisson distribution)来预测。在区块链网络中,根据各个区块生成节点执行的新的区块的生成为相互独立的事件,并遵循泊松分布。基于相同的理由,以对象区块为基准,到不再产生分支的非分支状态区块为止的区块高度差也遵循泊松分布。

因此,交易确定可信度计算装置100利用表示泊松分布的下述的数学式1和表示累积泊松分布的数学式2,可以预测基于从对象区块之后添加新的区块的交易确定可信度。具体地,在添加k个新的区块的情况下,针对记录于对象区块的交易数据的交易确定可信度将会是基于一个新的区块的添加的第一交易确定概率至基于k个新的区块的添加的第k交易确定概率的累积值,因此,将会基于下述的数学式2的累积泊松分布来计算出交易确定可信度。并且,各个交易确定概率会根据下述的数学式1来计算出。

在下述的数学式1和2中,λ表示泊松分布的参数,n表示所述对象区块之后添加的区块的数量。

[数学式1]

[数学式2]

为了利用所述数学式1和所述数学式2来预测交易确定可信度,需要在先确定泊松分布的参数。

在一实施例中,交易确定可信度计算装置100可将在步骤S200中计算出的区块高度差作为参数而计算交易确定可信度。

在另一实施例中,交易确定可信度计算装置100可以如图12所示地将区块序列号的平均值作为参数而预测交易确定可信度。在此,所述区块序列号表示以对象区块为基准而向之前区块的方向赋予的区块号。

若参照图12而具体地观察,则交易确定可信度计算装置100以在步骤S200中计算出的区块高度差为基础而对从对象区块321到非分支状态311为止的区块区间所包含的各个区块分别赋予区块序列号。所述区块序列号表示在图12的上端。接着,交易确定可信度计算装置100计算向各个所述区块分别赋予的区块序列号的平均值,并可以将计算出的平均值作为泊松分布的参数而利用。对图12的情况而言,可以确认区块序列号的平均值(AVG)被计算为“3”。

重新参照图9,交易确定可信度计算装置100获取针对区块链数据的第二监控信息,并基于所述第二监控信息来调整或确定交易确定可信度(S400、S500)。此时,所述第二监控信息包括与从获取第一监控信息的时刻以后形成于区块链数据上的分支相关的信息。

即,交易确定可信度计算装置100在步骤S500中基于包含在所述第二监控信息中的实际的观测信息来调整或确定在步骤S300中预测的交易确定可信度值。以下,参照图13而对步骤S500进行附加的说明。

图13是交易确定可信度调整步骤S500的详细流程图。

参照图13,在交易确定可靠性的预测值不是“100%”的情况下,交易确定可信度计算装置100与分支产生与否无关地直接按预测值确定交易确定可信度(S510、S570)。

与此相反地,在交易确定可信度的预测值为“100%”的情况下,交易确定可信度计算装置100根据所述第二监控信息确认区块链数据上是否发生了分支,而且在发生了分支的情况下,将交易确定可信度调整并确定为低于原预测值的值(S530、S550)。更具体地,在添加了k个新的区块时,如果交易确定可信度的预测值为“100%”,则根据第二监控信息而在添加k个新的区块的期间内发生分支的情况下,将交易确定可信度的预测值调整为更低的值。即,步骤S530、S550的操作可以理解为,在预测为概率上不会产生分支的情况(即,交易确定可信度为“100%”)下,实际的观测结果产生了分支时适当地调整交易确定可信度的操作。

在交易确定可靠度的预测值为“100%”,且与预测结果相同地未产生分支的情况下,由于预测值正确,所以交易确定可靠性计算装置100按照预测值直接确定交易确定可信度(S530、S570)。

另外,根据本发明的实施例,交易确定可信度计算装置100可以针对记录于对象区块的交易数据提供关于如下的信息:在欲要逆向地使交易确定可信度成为基准值以上的值的情况下,需要添加多少个新的区块。例如,交易确定可信度计算装置100在变更着新的区块的数量k的值的同时连接k个区块的情况下,针对各个区块预测交易确定可信度,并确定预测到的交易确定可信度成为所述基准值以上的k值,从而提供需要添加的新的区块的数量即k值。

目前为止,参照图9至图13而对根据本发明的又一实施例的交易确定可信度计算方法进行了说明。根据上述的方法,可以基于泊松分布来计算出表示表示记录有特定交易数据的区块位置不会变更的概率的交易确定可信度。因此,针对特定交易数据的记录位置变更与否能够进行系统的预测和应对。例如,在交易确定可信度为阈值以下的情况下,直至所述交易确定可信度达到所述阈值以上为止,将对应的交易数据存储在独立的贮存空间,并在所述独立的贮存空间中查询该交易数据,据此能够事先防止根据区块位置的变更而无法确认交易信息的情况。

以上,参照图5至图13进行说明的本发明的概念可以在计算机可读介质上体现为计算机可读代码。所述计算机可读介质例如可以是移动式记录介质(CD、DVD、蓝光光盘、USB存储装置、移动硬盘)或者固态记录介质(ROM、RAM、计算机配备型硬盘)。记录于所述计算机可读记录介质中的所述计算机程序可以通过互联网等网络而被传输到另一计算装置,并设置于所述另一计算装置中,据此能够在所述另一计算装置中使用。

在附图中,以特定的顺序图示了操作,然而并不一定要理解为这些操作必须以图示的特定的顺序或按序地执行或者必须将所有的图示的操作全部执行才能得到所需要的结果。在特殊情况下,多任务处理(Multitasking)和并行处理可能会更有利。进而,在上文中说明的实施例中,多样的构成要素之间的分离不能被理解为这样的分离是必须需要的,应当理解为,所说明的程序组件和系统通常被整合为单个软件产品或者以多个软件产品形式被包装。

以上,参照附图对本发明的实施例进行了说明,但是本发明所属的技术领域中具有普通知识水平的人将理解,本发明可以不改变其技术思想或必要技术特征而实施为其他具体的形态。因此,以上描述的实施例在所有方面均未示例性的,而非限定性的。

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