区块链生成装置、区块链生成方法、区块链验证装置、区块链验证方法以及程序与流程

文档序号:14959145发布日期:2018-07-18 00:10阅读:182来源:国知局

本发明涉及生成区块链数据的区块链生成装置和区块链生成方法、验证区块链数据的区块链验证装置和区块链验证方法以及程序,其中,区块链数据是将包含由多个交易生成装置生成的交易数据的区块连结而得的。



背景技术:

近年来,比特币(注册商标)等数字虚拟货币正在普及。在此种虚拟货币中,导入了一种无需中央集权性的管理就能够保证可靠性的架构。在比特币(注册商标)等虚拟货币中,使用了被称为区块链的技术。在区块链技术中,通过在由所有参与者组成的网络内形成共识的过程来保证参与者间要交换的信息的可靠性。并且,通过在整个系统中防止篡改或重复消费(双重使用)等不正当行为,来保证区块链的完好性。区块链是通过被称为区块的单位将参与者间的虚拟货币的交易信息(交易)汇总而成的。区块链在p2p(peertopeer:端对端)网络中作为参与者共享的一个巨大的总账来发挥作用。

根据非专利文献1,如图2所示,在区块链中使用数字签名通过签名链来表现币的交易信息。

但是,在基于区块链架构的数字虚拟货币中,由参与到网络的一个终端作为代表,将网络内广播的交易数据汇总进行批准,生成包含该交易信息的区块,并通知到其他终端。另外,通过系统整体更具体而言通过生成区块的终端以外的多个终端,来验证该过程中不存在不正当行为。生成区块的终端在生成区块中需要成本,但是可以得到新币作为生成区块的报酬,因此,若要得到生成区块的权利则要在参与者间展开竞争过程。

这里,若多个终端同时生成区块,则区块链可能分支,然后延伸了更长区块的链会成为正式链。即,最花费生成成本的区块链被选为共享的唯一区块链。因此,攻击者为了进行篡改或进行重复消费,不得不连结比其他区块链更长的区块,因此攻击者需要花费大量成本,攻击变得困难。

关于生成区块时参与者提供的成本,提出了多个方法。例如,提出了被称为工作量证明(proofofwork,pow)的方法、被称为权益证明(proofofstake,pos)的方法。在pow中,尽快解决数学问题的参与者生成区块。为了解决问题,参与者提供计算机电力(power)作为成本。而在pow中,是仅为了得到报酬才解决问题这样的非生产力性的,存在浪费电力资源的问题。

为了解决此种问题,提出了pos作为代替pow的方法。pos赋予适合于数学条件的参与者生成区块的权利。已知根据参与者所持币的保存量来调整决定是否适合于条件的难易度(kouroshdavarpanah,dankaufman,opheliepubellier“neucoin:thefirstsecure,cost-efficientanddecentralizedcryptocurrency”、[online]、2015年6月15日、2015年10月20日检索、因特网<url:http://www.neucoin.org/en/whitepaper/download>)。具体而言,在pos中赋予适合于数学条件的参与者生成区块的权利(资格)。根据参与者的币持有量来调整条件的难易度,因此币的保存量越多越容易生成区块。具体而言,包含参与者的地址、前一区块的哈希值和当前时刻在内取哈希值,在该哈希值小于与币保存量成比例的值的条件时,该参与者具有生成区块的权利。通过在参数中包含当前时刻,1秒1次地实施条件判定。在这种pos中,参与者将保持大量币的风险提供为成本。

另一方面,在区块链中为了进行不正当支付或者篡改过去的历史记录,存在一种被称为“51%攻击”的攻击方法。通过该攻击方法,若具有恶意的攻击者支配整体的区块生成速度的51%以上,由于超出正规的区块生成速度,理论上认为不正当行为成功。区块生成速度与pow或pos的提供资源的大小成比例。例如,通过在pow中独占计算机电力的51%以上,在pos中独占全币量的51%以上,则认为攻击实现。

现有技术文献

非专利文献

非专利文献1:齐藤贤尔,比特币-无人的数字巨石货币,wide技术报告



技术实现要素:

发明要解决的课题

近来,以出现了集结计算机电力并有组织地进行区块生成的采矿池、使用asic等的pow专用集成电路为背景,在pow中独占计算机资源的51%以上的情况越来越具有现实意味。

另一方面,在后续算法的pos中,独占币资产所需的成本是远高于独占计算机资源的高成本,另外,还预测币价格会因攻击而暴跌。因此,在pos中,由于花费成本且独占的币价值消失的风险较大,因而认为攻击者实施51%攻击的动机较弱,从而具有威慑力。

在此,若将区块链视为记录所有参与者交易内容的一个总账,则想到能够应用于货币以外的各种的交易中。例如,可以想到一种将区块链用作在多方间交换合约书时的证据的方法。将合约书的内容作为元数据,将币的交易紧密相连地包含于交易数据中来进行交易,由此能够将交换合约的证据写入区块链。

然而,在将合约证据记录到区块链的方法中,在采用pos时有时会产生问题。在以往的虚拟货币的pos中,若攻击者以币的不正当交易或篡改历史记录为目的发起攻击,则因该攻击反而使独占的币价值暴跌的风险作为攻击的威慑力而发挥作用。但是,在记录合约证据的方法中,可以想到与币的不正当利用相比,攻击者的目的在于删除写入到区块链的合约或改写内容。即,在此种方法中导入了pos时,即使币的价值暴跌,只要能够删除合约,则也能够得到超出因暴跌而损失的币价值的利益,因此,以往那样的威慑力发挥不出作用,有可能产生攻击的动机。

因此,本发明的目的在于提供一种能够更安全地生成可靠性高的数字虚拟货币的区块链数据的、生成区块链数据的区块链生成装置和区块链生成方法、验证区块链数据的区块链验证装置和区块链验证方法以及程序。

用于解决课题的手段

为了解决上述课题,本发明的第1特征涉及一种区块链生成装置,其对连结区块而得的区块链数据连结新区块来生成新区块链数据,该区块包含由多个交易生成装置生成的交易数据。本发明的第1特征涉及的区块链生成装置具备:同步单元,其取得共享数据,该共享数据包括区块链数据和未包含于区块链数据中的交易数据;参数算出单元,其基于用于确定多个参数类别的混合模式的区块批准方法数据,来确定连结新区块时使用的参数类别,该多个参数类别的混合模式是在判定区块链数据中有无连结多个区块的资格时使用的,参数算出单元根据区块链数据的交易数据中与使用该区块链生成装置的生成者的标识符相关联的交易数据,来算出确定出的参数类别的值;区块生成条件确认单元,其基于参数算出单元算出的值,来判定生成者是否具有生成新区块链数据的资格;区块链生成单元,当区块生成条件确认单元判定为具有资格时,区块链生成单元参照共享数据尝试生成新区块链。这里由区块批准方法数据中包含的混合模式的标识符确定彼此相反的多个参数类别的组合。

可以是,由区块批准方法数据确定混合模式,该混合模式是以第1数量重复第1参数类别后、以第2数量重复与第1参数类别相反的第2参数类别。

可以是,由区块批准方法数据确定混合模式,该混合模式是在连续的预定数量的参数类别的组合中第1参数类别以及第2参数类别分别至少含有1个。

这里可以是,预定数量是针对预定区块保证完成完整交易所需要的区块数量。

本发明的第2特征涉及一种区块链生成方法,用于对连结区块而得的区块链数据连结新区块来生成新区块链数据,该区块包含由多个交易生成装置生成的交易数据。本发明的第2特征涉及的区块链生成方法具备以下步骤:计算机取得共享数据,该共享数据包括区块链数据和未包含于区块链数据中的交易数据;计算机基于用于确定多个参数类别的混合模式的区块批准方法数据,来确定连结新区块时使用的参数类别,该多个参数类别的混合模式是在判定区块链数据中有无连结多个区块的资格时使用的;计算机根据区块链数据的交易数据中与使用该计算机的生成者的标识符相关联的交易数据,来算出确定出的参数类别的值;计算机基于算出步骤算出的值,来判定生成者是否具有生成新区块链数据的资格;当计算机判定为具有资格时,参照共享数据尝试生成新区块链。这里由区块批准方法数据中包含的混合模式的标识符确定彼此相反的多个参数类别的组合。

本发明的第3特征涉及一种区块链验证装置,其对连结区块而得的区块链数据进行验证,该区块包含由多个交易生成装置生成的交易数据。本发明的第3特征涉及的区块链验证装置具备:同步单元,其取得包含区块链数据的共享数据;区块批准方法验证单元,其基于用于确定多个参数类别的混合模式的区块批准方法数据,来确定出连结区块时使用的参数类别,该多个参数类别的混合模式是在判定区块链数据中有无连结多个区块的资格时使用的,区块批准方法验证单元判定区块链数据是否是基于确定出的参数类别而生成的;参数算出单元,其根据区块链数据的交易数据中与使用生成了区块链数据的装置的生成者的标识符相关联的交易数据,来算出由区块批准方法验证单元确定出的参数类别的值;区块生成条件验证单元,其基于参数算出单元算出的值,来判定生成者是否具有生成区块链数据的资格;区块链验证单元,当区块批准方法验证单元判定为区块链数据是基于确定出的参数类别而生成的、且区块生成条件验证单元判定为生成者具有生成区块链数据的资格时,区块链验证单元批准区块链数据。这里由区块批准方法数据中包含的混合模式的标识符确定彼此相反的多个参数类别的组合。

本发明的第4特征涉及一种区块链验证方法,用于对连结区块而得的区块链数据进行验证,该区块包含由多个交易生成装置生成的交易数据。本发明的第4特征涉及的区块链验证方法具备以下步骤:计算机取得包含区块链数据的共享数据;计算机基于用于确定多个参数类别的混合模式的区块批准方法数据,来确定出连接区块时使用的参数类别,该多个参数类别的混合模式是在判定区块链数据中有无连结多个区块的资格时使用的,计算机判定区块链数据是否是基于确定出的参数类别而生成的;计算机根据区块链数据的交易数据中与使用生成了区块链数据的装置的生成者的标识符相关联的交易数据,来算出确定出的参数类别的值;计算机基于确定出的参数类别的值,来判定生成者是否具有生成区块链数据的资格;当判定为区块链数据是基于确定出的参数类别而生成的、且判定为生成者具有生成区块链数据的资格时,计算机批准区块链数据。这里由区块批准方法数据中包含的混合模式的标识符确定彼此相反的多个参数类别的组合。

本发明的第5特征涉及一种程序,程序用于使计算机作为本发明的第1特征和第3特征中记载的各单元发挥功能。

发明效果

根据本发明,能够提供一种可以更安全的方式生成可靠性高的数字虚拟货币的区块链数据的、生成区块链数据的区块链生成装置和区块链生成方法、验证区块链数据的区块链验证装置和区块链验证方法以及程序。

附图说明

图1是说明本发明的实施方式涉及的交易辅助系统的系统结构的图。

图2是说明一般的虚拟货币中的签名的图。

图3是说明一般的虚拟货币中的区块链的图。

图4是说明本发明的实施方式涉及的交易生成装置的硬件结构和功能区块的图。

图5是说明本发明的实施方式涉及的区块链生成装置的硬件结构和功能区块的图。

图6是说明本发明的实施方式涉及的区块链生成装置涉及的区块链生成处理的流程图。

图7是说明本发明的实施方式涉及的区块链验证装置的硬件结构和功能区块的图。

图8是说明本发明的实施方式涉及的区块链验证装置涉及的区块链验证处理的流程图。

图9是说明在本发明的实施方式涉及的交易辅助系统中使用的区块批准方法数据的混合模式的一例的图。

图10是说明本发明的实施方式涉及的交易辅助系统中的算出交易模式量的一例的图。

图11是说明本发明的实施方式涉及的交易辅助系统中交易模式量算出单元的交易模式量算出处理的流程图。

具体实施方式

接着,参照附图说明本发明的实施方式。在以下附图的记载中对相同或者类似的部分添加相同或者类似的符号。

(交易辅助系统)

参照图1说明本发明的实施方式涉及的交易辅助系统5。交易辅助系统5具备多个计算机,各计算机经由设置于各计算机的通信控制装置以及p2p网络4自主分散地进行连接。另外,在图1所示的交易辅助系统5中,连接的计算机数量仅为一例,并不限定于该例子。

在构成交易辅助系统5的各计算机中安装有用于实现数字虚拟货币中的交易的程序。各计算机分别经由p2p网络4取得区块链数据和交易数据,在网络中参与的终端组整体对不正当行为进行监视,并且共享唯一的区块链。

各计算机根据交易辅助系统5的各场景中的职责,作为区块链生成装置1发挥功能,或者作为区块链验证装置2发挥功能,或者作为交易生成装置3发挥功能。

在本发明的实施方式中,将使用交易辅助系统5中的虚拟货币的人记载为“参与者”。将使用区块链生成装置的参与者记载为“生成者”。

区块链生成装置1在满足预定条件的情况下,对连结区块而得的已有的区块链数据连结新区块来生成新区块链数据,该区块包含由多个交易生成装置3生成的交易数据。新区块包括在已有的区块链的生成后产生的交易数据。区块链生成装置1生成的新区块链数据经由p2p网络4被其他终端共享。

区块链验证装置2对区块链生成装置1生成的区块链数据进行验证。区块链验证装置2对连结了区块而得的区块链数据进行验证,该区块包括由多个交易生成装置3生成的交易数据。区块链验证装置2验证的结果经由p2p网络4被其他终端共享。

在本发明的实施方式涉及的交易辅助系统5中,在完成预定区块的完整交易时,需要连结预定区块且在被批准后继续一定数量的区块,连结这些各区块且进行验证。例如,某一区块a被批准且被连结到区块链后,当5个连续的区块被认证且被连结时,即,当6个连续的区块被认证且被连结时,视为针对该6个区块的先头区块即区块a完整地结束交易。在此,承认完整交易结束的区块数量“6”被称为“批准区块数”。这是基于已证明了随着区块差扩大而攻击成功概率呈指数函数下降(satoshinakamoto,“bitocoin:apeer-to-peerelectroniccashsystem,”、[online]、2008年、2015年10月20日检索、因特网<url:https://bitcoin.org/bitcoin.pdf>)。最终,为了使通过攻击而制成的链能够被网络接受,则需要超过正规的链长度,在攻击者生成区块期间,由于正规的链长度会延长,所以攻击者若没有系统中过半数以上(即正规的链以上)的区块生成速度则不能缩小差。

交易生成装置3通过虚拟货币或合约等交易,生成各区块中包含的交易数据。交易生成装置3生成的交易数据经由p2p网络4被其他终端共享。

参照图2,说明在本发明的实施方式的交易辅助系统5中第2参与者向第3参与者支付币时的交易(transaction)。交易生成装置3对将最新的交易(第1交易t1)的数据与第3参与者的公钥组合而得的数据应用密码学的哈希函数,使用第2参与者的私钥实施签名,生成第2交易t2的数据。接收币的第3参与者使用前一个交易(第1交易t1)中的接受方(第2参与者)的公钥验证第2交易t2的签名,并且对哈希值进行再计算,由此确认币是从正当的所有者转移。另外,在各交易数据中包括被交易的虚拟货币值等交易内容、与生成交易的参与者的公钥相对应的地址。

如图3所示,图2示出的生成的多个交易数据在预定条件下通过区块链生成装置1汇总到区块中,并且连结到已有的区块链,被各计算机共享。此时,区块链生成装置1生成新区块(第n+1区块)时,收集未包含于区块链的交易数据,在新区块(第n+1区块)中包括收集到的交易数据和当前区块链的末尾区块(第n区块)的哈希值(256比特)。并且,区块链生成装置1搜索当前生成中的区块(第n+1区块)中包含的适当值,以便使对当前生成中的区块(第n+1区块)应用密码学的哈希函数(sha-256)时的哈希值先头的k比特全部为“0”。若发现适当值,则将包含该适当值的区块(第n+1区块)连结到当前的区块链的末尾,进行广播。在此,通过变更成为适当值的算出条件的“k比特”的k数值,酌情决定求解适当值的难易度。

之后,区块链验证装置2对从区块链生成装置1发送的区块链数据进行验证,与其他终端共享该验证结果。

(交易生成装置)

参照图4说明交易生成装置3。交易生成装置3是具备存储装置310、处理装置320以及通信控制装置330的一般的计算机。交易生成装置3通过一般的计算机执行用于实现预定功能的程序,实现图4示出的各功能。

存储装置310存储共享数据311。共享数据311包括:区块链数据312、区块链中未包含的交易数据313。共享数据311是在图1示出的交易辅助系统5中共享的数据。

处理装置320具备同步单元321以及交易生成单元322。

同步单元321经由p2p网络4取得包含区块链数据312和区块链中未包含的交易数据313的共享数据311。同步单元321经由p2p网络4与其他装置进行通信,取得共享数据311,并同步到最新数据中进行共享。

当在该计算机内更新区块链数据312或交易数据313时,同步单元321还经由p2p网络4向其他装置广播更新后的数据。由此,在该计算机内生成的最新数据在其他计算机之间进行共享。

交易生成单元322执行与虚拟货币或合约相关的交易,生成与该交易相关的交易数据。生成的交易数据也经由p2p网络4被发送到其他计算机进行共享。

(区块链生成装置)

参照图5,说明区块链生成装置1。区块链生成装置1是具备存储装置110、处理装置120以及通信控制装置130的一般的计算机。区块链生成装置1通过一般的计算机执行用于实现预定功能的程序,实现图4示出的各功能。

存储装置110存储共享数据111、区块批准方法数据114以及参数数据115。共享数据111与参照图4说明的交易生成装置3的共享数据311相同,包含区块链数据112以及交易数据113。

区块批准方法数据114确定多个参数类别的混合模式,该多个参数类别的混合模式是在判定区块链数据112中有无连结多个区块的资格时使用的。区块批准方法数据114能够将区块链数据112中连续的多个区块分别与用于连结各区块的参数类别对应起来。在本发明的实施方式中,由区块批准方法数据确定的多个参数类别彼此相反。

区块批准方法数据114例如被记载于为了实现本发明的实施方式涉及的区块链生成装置1以及区块链验证装置2而使用的程序等,由此在区块链生成装置1以及区块链验证装置2之间进行共享。

在本发明的实施方式中,生成且连结区块时的区块链生成装置1中的生成者有无资格并不是通过单一的参数类别进行判定的,而是优选通过多个参数类别种的某参数类别进行判定。在本发明的实施方式中,连续区块种各区块的批准方法混合了多个参数类别,区块批准方法数据114在生成各区块时确定使用哪个参数类别。

在本发明的实施方式中,在多个区块的批准方法中使用的“多个参数类别”是相反的参数类别。“相反的参数类别”是具有即使独占单方资源也不会给独占其他单方资源带来影响的关系的参数类别。例如,“币的保存量”和“币的消耗量”难以满足两者的条件,因此是相反的参数类别。

另外,关于pow和pos,pow是与外在资源相关的参数,而pos是与内在资源相关的参数。因此,就pow和pos而言,一个区块生成者难以满足两者的条件,因而是相反的参数类别。

另外,在本发明的实施方式中,虽然说明了相反的参数类别为2种,但是当在3种参数类别间成立彼此相反的关系时,相反的参数类别也可以是3种。

另外,在本发明的实施方式中,考虑将“币的保存量”和“交易路径模式的量”作为相反的参数类别。“交易路径模式的量”是表示生成者通过使用币以何种程度进行多种交易的指标。与此相对,“币的保存量”是通过保有币而得到的。因此,“币的保存量”和“交易路径模式的量”由于具有币的保有和使用的相反的性质,因此一个区块生成者难以在同时独占这两个参数。因此,“币的保存量”和“交易路径模式的量”的各参数类别相反。

区块批准方法数据114的具体例在后面详细叙述。

参数数据115设定用于批准区块链生成装置1新生成的区块的参数类别的值。参数数据115被参数算出单元122算出,存储于存储装置110中。

处理装置120具备:同步单元121、参数算出单元122、区块生成条件确认单元125以及区块链生成单元126。同步单元121与参照图4说明的交易生成装置3的同步单元321相同。

参数算出单元122基于区块链数据112以及区块批准方法数据114,来确定在连结新区块时使用的参数类别。参数算出单元122参照区块批准方法数据114,确定新连结的区块的批准方法(参数类别),以使区块链数据112中的各区块的批准方法以及新连结的区块的批准方法与由区块批准方法数据114确定出的混合模式相匹配。此时,参数算出单元122参考在已经连结的区块中的、在新连结区块时确定参数类别所需要的各区块的预定比特的数据,确定在各区块的连结时使用的参数类别。

参数算出单元122还根据区块链数据112的交易数据中与使用该区块链生成装置1的生成者的标识符相关联的交易数据,来算出确定出的参数类别的值。

在后面详细叙述在参数算出单元122中确定在新追加区块的生成者的资格批准中使用的参数类别的方法。

在此参数算出单元122具有用于算出混合模式确定出的各参数类别的各算出单元。例如,当区块批准方法数据114的混合模式将币保存量和交易模式量设定为相反的参数类别时,参数算出单元122具备算出币保存量的币保存量算出单元123、交易模式量算出单元124。还可以具备根据区块批准方法数据114的混合模式指定的参数类别来算出其他参数类别的算出单元。

区块生成条件确认单元125基于参数算出单元122算出的值,判定新区块链的生成者是否具有生成新区块链数据的资格。当参数算出单元122算出币的保存量、币的消耗量、pow、pos等一般的参数类别的值时,区块生成条件确认单元125通过一般的方法来判定是否具有生成新区块链数据的资格。

在此,将在后面详细叙述交易模式量算出单元124的处理、基于交易模式量来判定是否具有生成新区块链数据的资格的处理。

当区块生成条件确认单元125判定为具有资格时,区块链生成单元126参照共享数据111,尝试生成新区块链。具体而言,区块链生成单元126使用用参数数据115设定的值,尝试搜索图3示出的“适当值”。当发现适当值时,使用该适当值来生成新区块。此时,区块链生成单元126在生成的新区块的预定比特中设定在生成该区块时使用的参数类别的标识符。区块链生成单元126在已有的区块链数据112的末尾连结生成的新区块,生成新区块链数据,并更新共享数据111。在成功生成新区块链时,为了与其他终端共享,而在p2p网络中广播新区块链的数据。

还存在区块链生成单元126在搜索适当值期间由其他装置生成区块且共享新区块链的情况。此时,区块链生成单元126中止旧区块链中的适当值的搜索,针对新共享的区块链重复进行适当值的搜索。

参照图6,对区块链生成装置1涉及的区块链生成方法进行说明。

首先,步骤s101中,区块链生成装置1参照区块批准方法数据114,确定在新生成区块时的批准中使用的参数类别。在步骤s102中,区块链生成装置1参照共享数据111,算出与在步骤s101中确定出的参数类别相对应的值。

在步骤s103中,区块链生成装置1基于在步骤s102中算出的值,判定该区块链生成装置1的生成者是否具有生成区块的资格。当判定为不具有区块的生成资格时,以该状态结束处理。

另一方面,当在步骤s103中判定为具有区块的生成资格时,在步骤s104中,区块链生成装置1基于在步骤s103中算出的参数开始算出适当值。当成功算出适当值时,区块链生成装置1使用算出的适当值生成新区块,并存储连结到已有的区块链的新区块链数据。

(区块链验证装置)

参照图7,说明区块链验证装置2。区块链验证装置2是具备存储装置210、处理装置220以及通信控制装置230的一般的计算机。区块链生成装置1通过一般的计算机执行用于实现预定功能的程序,实现图4示出的各功能。

存储装置210存储共享数据211、区块批准方法数据214以及参数数据215。共享数据211与参照图4说明的交易生成装置3的共享数据311相同,包含区块链数据212以及交易数据213。另外,区块链验证装置2由于是验证已有的区块链数据212的装置,所以与有无交易数据213无关。

区块批准方法数据214以及参数数据215与参照图5说明的区块批准方法数据114以及参数数据115相同。

处理装置220具备:同步单元221、区块批准方法验证单元222、参数算出单元223、区块生成条件验证单元226以及区块链验证单元227。同步单元221与参照图4说明的交易生成装置3的同步单元321相同。

区块批准方法验证单元222基于区块批准方法数据214,确定连结区块时使用的参数类别,判定区块链数据212是否是基于确定出的参数类别而生成的。区块批准方法验证单元222判定区块链数据212中的各区块的批准方法是否适用于区块批准方法数据214确定出的混合模式。此时,区块批准方法验证单元222在验证对象的区块链数据212中,为了确认混合模式的适应性而参考需要的各区块的预定比特的数据,确定在各区块的连结时使用的参数类别。

在后面详细叙述判断在区块链数据212的区块的生成中使用的参数类别是否是区块批准方法数据214确定出的参数类别的处理。

参数算出单元223根据区块链数据212的交易数据中与使用生成了区块链数据212的装置的生成者的标识符相关联的交易数据,算出区块批准方法验证单元222确定出的参数类别的值。算出的值作为参数数据215被存储于存储装置210中。

参数算出单元223与参照图5说明的区块链生成装置1的参数算出单元122相同,具备币保存量算出单元224、交易模式量算出单元225等用于算出各参数类别的值的算出单元。

区块生成条件验证单元226基于参数算出单元223算出的值,判断区块链的生成者是否具有生成区块链数据212的资格。

当参数算出单元223算出币的保存量、币的消耗量、pow、pos等一般的参数类别的值时,区块生成条件验证单元226通过一般的方法判定是否具有生成新区块链数据的资格。

在此,将在后面详细叙述交易模式量算出单元225的处理、基于交易模式量来判定是否具有生成新区块链数据的资格的处理。

区块链验证单元227基于区块批准方法验证单元222、区块生成条件验证单元226的结果来验证区块。具体而言,当区块批准方法验证单元222判定为基于确定出的参数类别来生成区块链数据212、且区块生成条件验证单元226判定为生成者具有生成区块链数据212的资格时,区块链验证单元227批准区块链数据212。区块链验证单元227将验证结果通知到其他终端。在此,接受到表示未被批准的验证结果的终端进行作为不正当的区块链而向周围终端进行通知等处理。

参照图8,对区块链验证装置2涉及的区块链验证方法进行说明。

首先,在步骤s201中,区块链验证装置2参照区块批准方法数据214,确定新生成区块时中使用的参数类别。

在步骤s202中,区块链验证装置2判定是否由在步骤s201中确定出的参数类别批准区块链数据212中的区块。当判定为没有由确定出的参数类别批准时,在步骤s206中,区块链验证装置2决定不批准该区块链数据。

另一方面,当判定为由确定出的参数类别批准时,在步骤s203中,区块链验证装置2参照共享数据111,算出与在步骤s201中确定出的参数类别相对应的值。

在步骤s204中,区块链生成装置1基于在步骤s203中算出的值,判定生成区块链数据212的区块的终端的生成者是否具有生成区块的资格。判定为不具有区块的生成资格时,在步骤s206中,区块链验证装置2决定不批准该区块链数据。

另一方面,当判定为具有区块的生成资格时,在步骤s205中,区块链验证装置2决定批准该区块链数据。并且,在步骤s207中,区块链验证装置2将验证结果通知到其他终端。

(混合模式)

区块链生成装置1参照的区块批准方法数据114与区块链验证装置2参照的区块批准方法数据214是同样的数据。该区块批准方法数据例如确定图6所示的某批准方法的混合模式。

图9示出的例子中的方形的连结表示在区块链数据中连续的区块的连结。白格的矩形表示,在生成并连结各区块时使用的参数类别是“第1参数类别”,斜线阴影线的矩形表示是“第2参数类别”。在此,第1参数类别和第2参数类别具有彼此相反的关系。

参照图9,对区块批准方法数据114确定出的混合模式进行详细叙述。图9表示的各混合模式的例子大致如下。

混合模式a:以第1数量重复第1参数类别后,以第2数量重复第2参数类别(图9的(a)至(c))

混合模式b:在重复连续的预定数量的参数类别中,第1参数类别以及第2参数类别至少分别包含1个(图9的(d)以及(e))

图9的(a)的混合模式以第1数量(1)重复第1参数类别后,以第2数量(1)重复第2参数类别。此时,在区块批准方法数据114中包含图9的(a)的混合模式的标识符。区块链中各区块交互重复基于第1参数类别的批准和基于第2参数类别的批准,生成各个新区块且连结到区块链中。

在设定为图9的(a)表示的区块批准方法时,区块链生成装置1使用与生成最后尾的区块中使用的参数类别不同的参数类别,判定有无区块的生成资格。另外,当最近的2个区块与图9的(a)的混合模式一致时,区块链验证装置2判定为基于区块批准方法数据214批准最后尾的区块。

图9的(b)的混合模式在以第1数量(n=3)重复第1参数类别后,以第2数(1)重复第2参数类别。此时,在区块批准方法数据114中除了包含图9的(b)的混合模式的标识符之外,还包含第1数量(n)。区块链中的各区块在重复n次基于第1参数类别的批准后,经过基于第2参数类别的批准,分别生成新区块并连结到区块链中。

设定图9的(b)示出的区块批准方法时,当最近的n个区块的生成中使用的参数类别全部为第1参数类别时,在新区块的生成中,区块链生成装置1使用第2参数类别。此外的情况下,即在最后尾的区块的生成中使用的参数类别为第2参数类别时、或者在最近的n个区块的生成中使用的参数类别中包含第2参数类别时,区块链生成装置1在新区块的生成中使用第1参数类别。另外,当最近的n+1个的区块与图9的(b)的混合模式一致时,区块链验证装置2判定为基于区块批准方法数据214批准最后尾的区块。

图9的(c)的混合模式为以第1数量(n=3)重复第1参数类别后,以第2数(m=2)重复第2参数类别。此时,在区块批准方法数据114中除了图9的(c)的混合模式的标识符之外,还包含第1数量(n)以及第2数量(m)。区块链中的各区块重复n次基于第1参数类别的批准后,重复m次基于第2参数类别的批准,分别生成新区块且连结到区块链中。

当设定为图9的(c)示出的区块批准方法时,当最近的m个区块的生成中使用的参数类别全部为第2参数类别时,区块链生成装置1在新区块的生成中使用第1参数类别。当最近的n个区块的生成中使用的参数类别全部为第1参数类别时,区块链生成装置1在新区块的生成中使用第2参数类别。此外的情况下,区块链生成装置1使用在最近的区块的生成中使用的参数类别。另外,在最近的n+m个区块为与图9的(c)的混合模式一致时,区块链验证装置2判定为基于区块批准方法数据214批准最后尾的区块。

图9的(d)的混合模式在重复连续的预定数量(n=6)的参数类别中,至少第1参数类别以及第2参数类别各包含1个。此时,在区块批准方法数据114中,除了图9的(d)的混合模式的标识符之外,还包含预定数量(n)。区块链中的各区块的参数类别参考最近的n-1个各区块的生成时使用的参数类别来进行决定,由决定出的参数类别生成的新区块被连结到区块链中。

设定为图9的(d)示出的区块批准方法时,当在最近的n-1个区块的生成中使用的参数类别全部为第1参数类别时,区块链生成装置1在新区块的生成中使用第2参数类别。当最近的n-1个的区块的生成中使用的参数类别全部为第2参数类别时,区块链生成装置1在新区块的生成中使用第1参数类别。此外的情况下,区块链生成装置1基于由随机数而产生的抽选等预定算法,选择第1参数类别以及第2参数类别中的某一个,并且通过选择出的参数类别来生成新区块,并连结到区块链中。另外,当在最近的n个区块中至少包含各一个相反的参数类别时,区块链验证装置2判定为基于区块批准方法数据214批准最后尾的区块。

图9的(e)是图9的(d)示出的例子的变形例,是在连续的预定数量(n)中设定批准区块数的方法。批准区块数是用于确认某一区块的完整交易结束的连续区块的生成数。即,生成某一区块a且进行连结后,在分别连结5个区块时针对区块a确认完整交易结束的情况下,批准区块数为“6”。对于连续的预定数量(n)设定批准区块数时,为了确认为区块a完全结束交易,要保证必须混合基于彼此相反的多个参数类别的批准,因此,能够进一步适当地避免有恶意的参与者进行的攻击。

另外,优选在区块链内的各区块中确定在生成区块链数据112中的各区块时使用的参数类别。例如,对区块内的预定比特设定在生成该区块时使用的参数类别的标识符。区块链生成装置1在已经连结的区块中,参考需要在新连结区块时确定参数类别的各区块的预定比特的数据,确定在各区块的连结时使用的参数类别。在此,“需要在新连结区块时确定参数类别的各区块”因在区块批准方法数据中被指定的混合模式的标识符或n、m等设定信息等不同而不同。另外,区块链验证装置2在验证对象的区块链数据212中,参考为了确定混合模式的适应性而需要的各区块的预定比特的数据,确定在各区块的连结时使用的参数类别,判定是否适合混合模式。在此,“为了确认混合模式的适应性而需要的各区块”根据在区块批准方法数据中被指定的混合模式的标识符或n、m等设定信息等不同而不同。

(交易模式量算出单元)

说明图5的区块链生成装置1的交易模式量算出单元124以及图6的区块链验证装置2的交易模式量算出单元225。

交易模式量算出单元124(交易模式量算出单元225)根据在区块链数据112的交易数据中与使用区块链生成装置1的生成者的标识符相关联的交易数据,来算出生成者的交易模式量。在此,“交易模式量”是生成者的信用指标。

交易模式量是着眼于在交易明确彼此的底细、掌握对方是怎样的人物的基础上信任对方进行交易而算出的,相当于信用评分。与各种节点进行过交易的参与者被推定为被较多节点信任而进行交易,若该信用较高的批准者实施51%攻击,则该人物被确定且在社会上失去信用。因此,可以认为此种参与者的信用暴跌成为攻击的威慑力。“交易路径模式的量”是参照区块链数据112,通过评价与各种节点以何种程度进行交易来进行评分而得到的。另外,“交易路径模式的量”是在交易中通过使用币而得到的值,因此被用作与“币的保存量”相反的参数类别。

在此,“交易”是通过交易生成装置3生成的交易数据而确定的,“交易”当然包括虚拟货币的转让,也包括将区块链应用为多方间交换合约书时的证据时的合约。应用区块链作为证据时的合约是指物品或劳务等买卖合约、转让、申请书、许诺使用等,在两人以上的个人或者机关之间进行交换。

当为pos时,“币的保存量”成为成本。因此,当在区块链中残留有证据的合约价值具有区块生成者的币保存量以上的价值的状况下,通过pos生成区块的生成者被批准时,会产生即使浪费成本的保存量也要发起攻击的动机。因此,在本发明的实施方式中,采用交易路径模式的量作为用于批准生成区块的生成者的参数类别。由此,为了增加交易模式的量,必须使用币进行各种交易来得到信用,对得到这样信用的区块生成者带来进行攻击的威慑力。

参照图10,说明本发明的实施方式涉及的交易模式量。如图10的(a)所示,在将某一参与者过去发行的路径模式的集合设为a,将该a中包含的路径模式p中含有的节点数设为np、a的情况下,a的全部路径模式的节点数之和(交易模式量:评分(score))以公式(1)表现。

此时,交易模式量是与区块生成者(使用区块链生成装置1的生成者)的标识符相关联的交易数据中的、交易对方的标识符的各组合中的交易对方的标识符的总和。具体而言,如图10的(b)所示,考虑参与者a在过去进行仅将b作为对方的交易、仅将c作为对方的交易、仅将b以及c作为对方的交易的情况。各交易中节点数(交易对方的标识符的总和)由于分别为1、1、2,因此此时的交易模式量为“4”。

另外,作为其他方法,交易模式量也可以是与区块生成者的标识符相关联的交易数据中的、交易对方的标识符的唯一数。具体而言,如图10的(b)所示,当参与者a在过去进行仅将b作为对方的交易、仅将c作为对方的交易、仅将b以及c作为对方的交易时,参与者a的交易对方由于是a、b以及c,此时的交易模式量为“3”。

另外,当算出交易模式量时,即使与相同的交易对方、或者相同的交易对方的组合数次进行交易,也计算为不增加交易模式量。由此,能够避免恶意的多个参与者协作来增加交易模式量的不正当行为。

图10的(c)表示基于如此算出的交易模式量(score(a))能够成为区块生成者的地址的条件式的一例。图10的(c)在基于pos能够成为区块生成者的地址的条件式中,将币的保存量变换成交易模式量。

参照图11,说明算出交易模式量算出单元124的处理的交易模式量算出处理。另外,交易模式量算出单元225的处理也是相同的。

首先,在步骤s151中,区块链生成装置1从区块链数据112的过去的交易中提取与区块生成者(使用区块链生成装置1的参与者)相关联的交易。

在步骤s152中,区块链生成装置1通过在步骤s151中提取出的交易来确定交易对方的标识符。在步骤s153中,基于在步骤s152中确定出的交易对方的标识符来算出区块生成者的交易模式量。

如上述,本发明的实施方式涉及的区块链生成装置1基于多个相反的参数类别中的一个参数类别,来判定是否具有在区块链中连结新区块的资格。在本发明的实施方式中,基于混合多个相反的参数类别的混合模式来生成各区块,生成区块链。该“多个相反的参数类别”是具有即使独占单方的资源也不会给独占其他单方的资源带来影响的关系、同一个人难以两全地满足条件的关系。

并且,当在区块链中的多个区块的生成中使用的各参数类别与混合多个相反的参数类别的混合模式一致时,本发明的实施方式涉及的区块链验证装置2批准该区块链数据。

由此,本发明的实施方式能够避免恶意的生成者连续连结区块进行攻击。

另外,在区块链中,基于多个相反的参数类别生成连续的批准区块数的区块,由此能够避免在恶意的生成者连续连结区块的状态下保证完成完整交易。

并且,在本发明的实施方式中,为了判定是否具有连结新区块的资格,使用与生成者的信用评分相对应的交易模式量。交易模式量由于是基于长时间积累的实际成绩而得的,其信用的暴跌会成为攻击的威慑力。并且,基于交易模式量的区块生成的批准当然适用于虚拟货币的转让,还能够适用于将区块链应用作多方间交换合约书时的证据的情况。

另外,作为相反的参数类别,通过设定交易模式量、与交易模式量相反的币的保存量,能够避免恶意的生成者连续连结区块进行攻击。

(其他实施方式)

如上所述,通过本发明的实施方式进行了描述,但是不应理解为构成本公开的一部分的论述以及附图会限制本发明。本领域技术人员根据本公开会明白各种代替实施方式、实施例以及应用技术。

例如,本发明的实施方式中记载的区块链生成装置1以及区块链验证装置2可以如图5以及图7分别所示在一个硬件上构成,也可以根据其功能或处理量而在多个硬件上构成。另外,也可以在已有的信息处理系统上实现。

本发明当然包含在此未记载的各种实施方式等。因此,本发明的技术范围根据上述说明仅由适当的权利要求范围涉及的发明特定事项来限定。

符号说明

1-区块链生成装置

2-区块链验证装置

3-交易生成装置

4-p2p网络

5-交易辅助系统

110、210、310-存储装置

111、211、311-共享数据

112、212、312-区块链数据

113、213、313-交易数据

114、214-区块批准方法数据

115、215-参数数据

120、220、320-处理装置

121、221、321-同步单元

122、223-参数算出单元

123、224-币保存量算出单元

124、225-交易模式量算出单元

125-区块生成条件确认单元

126-区块链生成单元

130、230、330-通信控制装置

222-区块批准方法验证单元

226-区块生成条件验证单元

227-区块链验证单元。

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