CN114450686A - 事务管理装置、事务管理程序和事务管理方法 - Google Patents
事务管理装置、事务管理程序和事务管理方法 Download PDFInfo
- Publication number
- CN114450686A CN114450686A CN201980100757.9A CN201980100757A CN114450686A CN 114450686 A CN114450686 A CN 114450686A CN 201980100757 A CN201980100757 A CN 201980100757A CN 114450686 A CN114450686 A CN 114450686A
- Authority
- CN
- China
- Prior art keywords
- information
- block chain
- transaction
- data
- registration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 29
- 238000012545 processing Methods 0.000 claims description 44
- 238000012795 verification Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 4
- 238000013508 migration Methods 0.000 description 283
- 230000005012 migration Effects 0.000 description 282
- 238000000034 method Methods 0.000 description 47
- 230000008569 process Effects 0.000 description 37
- 230000005540 biological transmission Effects 0.000 description 30
- 230000015654 memory Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 238000013144 data compression Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3821—Electronic credentials
- G06Q20/38215—Use of certificates or encrypted proofs of transaction rights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4016—Transaction verification involving fraud or risk level assessment in transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/405—Establishing or using transaction specific rules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
事务管理装置具有:第一登记部(52、53),其针对保存多个关联了第一信息和第二信息的事务的第一区块链(2),以基于所述第一信息的组为单位将多个所述事务中的多个所述第二信息登记到数据库(4)中;以及第二登记部(51、52),其将以所述组为单位对所述多个第二信息进行散列化而得到的散列值登记到第二区块链(3)中。
Description
技术领域
本发明涉及事务管理装置、事务管理程序和事务管理方法。
背景技术
利用区块链(Blockchain)技术的服务正在多种多样的行业中普及。
在尝试区块链的长期应用时,设想由于在各节点蓄积区块信息而使得数据量庞大化。作为用于消除数据量庞大化的方法之一,例如可举出如下的方法:定期地将区块链的数据汇总迁移到其他系统,每次迁移都重新启动迁移源的区块链。
在迁移目的地的系统中,具备登记各事务数据(transaction data)的散列(hash)值的区块链和登记各事务数据的数据库(DB;Database)。
当参考迁移目的地系统的数据时,可以通过将参考数据与登记在区块链中的散列值进行比较来检测数据库上的数据篡改。参考数据例如是参考(检索)数据库而得到的事务数据。在对该参考数据进行散列运算而得到的散列值与登记在区块链上的散列值一致的情况下,能够判断为数据库上的数据是未被篡改的数据,在不一致的情况下,能够判断为数据库上的数据是被篡改过的数据。
现有技术文献
专利文献
专利文献1:日本特表2018-537022号公报
专利文献2:日本特开2018-147016号公报
专利文献3:国际公开第2017/170912号小册子
发明内容
发明所要解决的课题
在迁移目的地的系统中,由于针对每个事务数据进行散列化,因此以事务为单位进行数据库上的数据的篡改验证,处理效率差。此外,与对具有大尺寸的数据进行散列化的情况相比,由于针对每个事务数据进行散列化,因此在迁移目的地系统中的容量的压缩效率低。如上所述,关于事务的篡改验证,验证的处理效率和散列数据压缩效率是低效的。
在1个方面中,本发明的目的之一在于使迁移后的事务的篡改验证高效化。
用于解决课题的手段
在1个方面中,事务管理装置可以具备第一登记部和第二登记部。所述第一登记部可以针对保存多个关联了第一信息和第二信息的事务的第一区块链,以基于所述第一信息的组为单位将多个所述事务中的多个所述第二信息登记到数据库中。所述第二登记部可以将以所述组为单位对所述多个第二信息进行散列化而得到的散列值登记到第二区块链中。
发明效果
在1个方面中,能够使迁移后的事务的篡改验证高效化。
附图说明
图1是示出区块链系统的一例的图。
图2是表示迁移目的地系统的一例的图。
图3是示出从迁移目的地系统检索数据A的更新历史作为参考数据的动作例的图。
图4是示出从旧区块链向迁移目的地区块链进行数据迁移的情况下的动作例的图。
图5是示出作为一个实施方式的一例的区块链系统的功能结构例的框图。
图6是表示关于迁移源区块链的关键字A、B、C,按每3件更新历史将关键字相同的数据汇总为更新历史群的例子的图。
图7是示出登记在迁移目的地的区块链和DB中的数据的一例的图。
图8是示出在初始化之后登记在迁移源区块链中的数据的一例的图。
图9是表示获取对象数据的日期时间范围与取得目的地的关系的一例的图。
图10是表示数据迁移进程的动作例的流程图。
图11是表示数据登记进程的动作例的流程图。
图12是表示数据参考进程的动作例的流程图。
图13是表示数据参考进程的动作例的流程图。
图14是示出作为一个实施方式的一例的计算机的硬件结构例的框图。
具体实施方式
以下,参考附图对本发明的实施方式进行说明。但是,以下说明的实施方式只不过是例示,能够在不脱离其主旨的范围内进行各种变形来实施。需要说明的是,在以下的实施方式中使用的附图中,只要没有特别说明,标注了相同标号的部分表示相同或同样的部分。
〔1〕一实施方式
图1是示出区块链系统100的一例的图。参考图1,对消除区块链系统100中的数据量庞大化的方法的一例进行说明。例如,将迁移源系统110中的迁移源区块链111的数据定期地(例如1年1次)汇总迁移到迁移目的地系统120(参考符号(i)),并重新启动迁移源区块链111(参考符号(ii))。迁移源区块链111通过重新启动而使得保存的区块变化(例如被初始化),因此为了区别重新启动前后(迁移前后),方便起见,将重新启动后的迁移源区块链标记为迁移源区块链112。
被迁移的数据是迁移源区块链111内的1个以上的区块,迁移后的数据在迁移源区块链112中被保存(保持)为未迁移的区块,直到迁移源区块链112下次被重新启动为止。
迁移源区块链112用于对迁移源系统110的新数据登记、未迁移的数据参考等的应用。另一方面,迁移目的地系统120用于迁移后的数据,换言之存档数据的参考。
以下,有时将重新启动前的迁移源区块链111表述为“旧区块链111”,将重新启动后用于应用的迁移源区块链112表述为“应用区块链112”。
图2是示出迁移目的地系统120的一例的图。如图2所示,迁移目的地系统120包括区块链121和数据库(DB)122。在区块链121中登记各事务数据的散列(hash)值,在DB122中以能够参考区块链121中登记的散列值的形式登记数据本身。例如,在DB122中,对各事务数据附加登记将其散列值登记到区块链121中时的事务ID。事务ID是唯一地确定事务数据的标识信息的一例。
区块链121包含像区块121a、121b、121c、……那样连接成链状的1个以上的区块。在区块121a、121b、121c中,分别登记有1个以上的事务数据的散列值。在图2的例子中,在区块121a中登记Tx1/Hash(data1)以及Tx2/Hash(data2)这2个散列值。Tx1和Tx2是事务ID(以下,有时记载为“TxID”)。各散列值意味着是对通过Tx1的事务的处理更新后的数据(data1)进行散列化而得到的散列值、以及对通过Tx2的事务的处理更新后的数据(data2)进行散列化而得到的散列值。
图3是示出从迁移目的地系统120检索数据A的更新历史作为参考数据的动作例的图。如图3所示,用户从DB122取得数据A的更新历史(A0、A1、A2)和它们的TxID(Tx1、Tx2、Tx3)(参考符号(i))。另外,在图3中,将TxID以及更新历史表示为Tx1/A0、Tx2/A1、Tx3/A2。
此外,用户使用从DB122获取的TxID作为关键字,从迁移目的地区块链121获取事务数据的散列值(参见符号(ii))。然后,用户通过将从DB122取得的各数据(更新历史)与从区块链121取得的各散列值一个一个地比较,验证DB122上的数据篡改(参考符号(iii))。由此,通过将DB122中登记的数据与区块链121中登记的难以篡改的散列值进行比较,能够进行DB122中登记的有可能被篡改的数据的篡改验证。
然而,在图2所示的迁移目的地系统120中,由于事务数据被逐个地散列化并且被登记在区块链121中,因此在针对登记在DB122中的数据的篡改检测处理中,对数据和散列值逐个地进行比较,效率很低。
图4是示出从旧区块链111向迁移目的地区块链121进行数据迁移的情况下的动作例的图。如图4所示,在迁移目的地系统120中,针对旧区块链111中的每个事务,对数据进行散列化,并且登记在迁移目的地区块链121中。在图4的示例中,Tx1/A0至Tx5/A4分别被散列化为Tx1′/Hash(A0)至Tx5′/Hash(A4)。
但是,如图4所示,由于以事务数据为单位进行散列化,因此登记在区块链121中的事务数与区块链111相比不会减少。因此,与例如将多个事务汇总地压缩的情况相比,在迁移目的地区块链121中的数据量的压缩效率差,并且迁移目的地系统120(迁移目的地区块链121)的存储区域的容量减少的效果较小。
此外,在执行迁移处理之后,用户(客户端)意识(判定)从下述中的哪一方来参考事务数据:迁移源(应用)区块链112;DB122及迁移目的地区块链121。然而,用户难以确定要参考的数据存在于迁移源系统110和迁移目的地系统120中的哪一个中。
因此,在一个实施方式中,说明能够以减少区块链中管理的数据量并且有效地执行篡改验证的方式来实现区块链数据的迁移(存档)的方法。
〔1-1〕一实施方式的功能结构例
图5是示出作为一个实施方式的一例的区块链系统1的功能结构例的框图。如图5所示,区块链系统1作为功能结构,例如可以具备迁移源区块链2、迁移目的地区块链3、迁移目的地DB4、数据迁移部5、数据登记部6以及数据参考部7。另外,在图5中,将区块链标记为“Chain”,将区块标记为“Blc”,将事务标记为“Trans”。
迁移源区块链2是存储多个与关键字和值相关联的事务的第一区块链的一例。“关键字(key)”可以是事务的处理对象,是第一信息的一例。“值”可以是通过事务的处理而更新的关键字的值(例如,更新值),是第二信息的一例。
事务是交易的记录,迁移源区块链2所保存的事务的数据能够换言之为关键字的更新历史。事务中可以不包含关键字以及值本身,也可以根据针对相同关键字的1个以上的事务的记录来计算值。
另外,在一个实施方式中,为了消除通过应用而蓄积的迁移源区块链2的数据的庞大化,设想将迁移源区块链2的数据迁移到迁移目的地区块链3以及迁移目的地DB4,对迁移源区块链2进行初始化的动作。在初始化后的迁移源区块链2中,预先登记迁移了的数据的一部分和与迁移目的地有关的信息,然后重新开始应用。初始化之后的迁移源区块链2是第三区块链的一例。
如图5所例示,迁移源区块链2具备区块链控制部21及账本22。
区块链控制部21对针对账本22的事务的登记、参考等处理进行控制。区块链控制部21可以具备收发部21a。收发部21a进行针对账本22的更新以及参考(取得)、与数据迁移部5、数据登记部6、以及数据参考部7之间的数据的收发等。
账本22具备将1个以上的区块连结并存储的区块链。区块可以包含1个以上的事务。账本22也可以具备将值(value)与唯一的关键字建立关联地保存的关键字-值形式的DB。
例如,在账本22中,也可以通过收发部21a将事务的执行历史写入区块链,将执行事务的结果的最新的状态写入DB。另外,事务也可以包含时间戳。时间戳能够通过已知的方法取得以及附加。存储于账本22中的事务可以是散列值以及非散列值中的一方或者双方。此外,在区块链中保存有事务的散列值的情况下,账本22例如也可以还存储非散列值的事务的记录。
迁移目的地区块链3是来自迁移源区块链2的事务数据的迁移目的地之一,是第二区块链的一例。如图5所例示,迁移目的地区块链3具备区块链控制部31及账本32。
区块链控制部31对针对账本32的事务的登记、参考等处理进行控制。区块链控制部31可以具备收发部31a。收发部31a进行针对账本32的更新以及参考(取得)、与数据迁移部5以及数据参考部7之间的数据的收发等。
账本32具备将1个以上的区块连结并存储的区块链。区块可以包含1个以上的事务。账本32也可以具备将值(value)与唯一的关键字建立关联地保存的关键字-值形式的DB。
例如,在账本32中,也可以通过收发部31a将事务的执行历史写入到区块链,将执行事务的结果的最新的状态写入到DB。另外,事务也可以包含时间戳。时间戳能够通过已知的方法取得以及附加。存储于账本32中的事务可以是散列值。
迁移目的地DB4是来自迁移源区块链2的事务数据的迁移目的地之一,是数据库的一例。如图5所示,迁移目的地DB4可以包括DB控制部41和DB42。
DB控制部41控制针对DB42的数据的登记、参考等处理。DB控制部41可以具备数据收发部41a。数据收发部41a进行针对DB42的更新以及参考(取得)、与数据迁移部5以及数据参考部7之间的数据的收发等。
DB42存储迁移源区块链2的关键字的更新历史以及登记在迁移目的地区块链3中的事务ID(TxID)。例如,在DB42中,可以通过数据收发部41a写入关键字的更新历史以及TxID。不将数据直接登记在迁移目的地区块链3中而使用迁移目的地DB4是为了减少数据量。
数据迁移部5、数据登记部6以及数据参考部7例如可以分别作为计算机的处理器的处理单位即进程(数据迁移进程、数据登记进程以及数据参考进程)来执行。数据迁移部5、数据登记部6以及数据参考部7的各进程可以由相互不同的计算机执行,也可以由共同的计算机来执行2个以上的进程。计算机也可以被称为信息处理装置或者事务管理装置。
另外,在一实施方式中,作为前提,在迁移源区块链2中按每个关键字来管理各顾客的钱包余额(值)。另外,设为在迁移目的地区块链3中,通过智能合约等定义了向区块链的数据迁移信息的读写,在迁移源以及迁移目的地的数据参考时能够指定日期时间范围来参考。此外,设为在进行数据的迁移的期间,迁移源区块链2中不接受新数据的登记和参考。
(数据迁移部5的配置示例)
数据迁移部5将迁移源区块链2的事务数据按照通过事务更新后的关键字相同的数据进行汇总,并迁移到迁移目的地区块链3以及迁移目的地DB4。
如图5所示,数据迁移部5可以包括区块链通信部51、区块数据处理部52和DB通信部53。
区块链通信部51在与迁移源区块链2以及迁移目的地区块链3之间进行数据的通信,具备区块取得部51a以及事务收发部51b。
区块数据处理部52基于从区块链通信部51接收到的数据,生成数据迁移的事务数据以及散列值,其具备数据汇总部52a以及数据压缩部52b。
DB通信部53与迁移目的地DB4之间进行数据通信,其具备数据收发部53a。
以下,在数据迁移部5进行的处理的说明中进行数据迁移部5所具备的上述功能块的说明。数据迁移部5例如可以执行以下的(i)~(iv)(与图5的符号(i)~(iv)对应)的处理。
(i)区块取得部51a从迁移源区块链2的收发部21a一并取得迁移源区块链2的区块信息,换言之,一并取得事务数据。
另外,区块取得部51a将取得的区块信息向数据汇总部52a发送(输出)。
另外,区块取得部51a例如可以按照时间序列的升序从迁移源区块链2取得从第一个(最早的)区块到最后的(最新的)区块,换言之,按照多个事务各自的登记顺序来取得事务数据。
(ii)数据汇总部52a针对在上述(i)中取得的全部事务数据,以基于关键字的组为单位进行划分,汇总为更新历史群。组例如可以是按照规定条件将关联有相同的关键字的数据(值)彼此汇总而成的组。
作为规定条件,可以包括将每个组中包含的值的件数设为以下件数中的至少一个:规定的件数;使得组中包含的值的合计数据尺寸小于等于规定的数据尺寸的件数;以及规定数量的区块中包含的件数。此外,规定的件数、规定的数据尺寸以及(区块的)规定数量分别能够预先设定。
图6是表示针对迁移源区块链2的关键字A、B、C,将关键字相同的数据按每3件更新历史而汇总为更新历史群的例子的图。在图6中,示出规定条件是将组中包含的值的件数设为“分别为规定的件数”、且规定的件数被设定为“3”的情况。另外,在图6中,示出区块链20是账本22内的区块链,至少登记有区块20a~20c(区块1~3)。
如图6所例示,在区块20a中,在Tx2中,将关键字C的值(顾客C的余额)更新为“40”,将关键字A的值(顾客A的余额)更新为“200”。数据汇总部52a按照各关键字(顾客)的更新历史将事务Tx1~Tx5的各值(余额)按每3件汇总为更新历史群50a~50d。
作为一例,更新历史群50a以及50b表示顾客A的余额更新历史为100日元、200日元、300日元、400日元、500日元的顺序(最后为最新值)。在图6的例子中,在上述(i)中,按照事务的登记顺序取得事务数据,所以余额的更新顺序被适当地反映到更新历史群50a以及50b。
另外,在图6中,更新历史群50a~50d例如可以由执行数据迁移进程的计算机的存储器等存储区域50管理。
(iii)数据迁移部5对各更新历史群50a至50d的散列值附加用于访问各个迁移目的地的DB42(或迁移目的地DB4)的访问信息,并且将其登记在迁移目的地区块链3中。作为访问信息,例如可以举出迁移目的地的DB42或迁移目的地DB4的URL(Uniform ResourceLocator:统一资源定位符)和IP(Internet Protocol:互联网协议)地址的URI(UniformResource Identifier:统一资源标识符)。
例如,数据压缩部52b通过对数据汇总部52a汇总的更新历史群50a~50d分别进行散列运算来计算散列值。散列值的计算可以通过已知的方法来实现。
另外,在迁移目的地区块链3中,可以针对1个散列值分配1个区块,也可以按照更新历史群50a~50d的顺序连结各区块。
区块数据处理部52将对数据压缩部52b计算出的散列值附加了访问信息后的迁移事务发送到(输出到)事务收发部51b。
当从区块数据处理部52接收到(受取到)迁移事务时,事务收发部51b将迁移事务与向账本32的登记指示一起发送到迁移目的地区块链3的收发部31a。另外,事务收发部51b从收发部31a接收迁移事务被登记到账本32时的TxID(迁移TxID),并发送到DB通信部53。
图7是示出登记在迁移目的地的区块链30和DB42中的数据的一例的图。另外,在图7中,迁移目的地的区块链30是迁移目的地区块链3的账本32内的区块链。
作为一例,如图7所示,区块数据处理部52将访问信息(DB1)附加到通过对更新历史群50a进行散列化而获得的散列值(Hash({A:[100,200,300]}))。事务收发部51b通过收发部31a将迁移事务登记到区块链30的区块30a。该迁移事务在区块链30中是迁移TxID:Tx1的事务,因此事务收发部51b向数据收发部53a通知迁移TxID:Tx1。
此外,例如,区块数据处理部52将访问信息(DB1)附加到通过对更新历史群50b进行散列化而获得的散列值(Hash({A:[400,500]}))。事务收发部51b通过收发部31a将迁移事务登记到与区块30a连结的区块30b。该迁移事务在区块链30中是迁移TxID:Tx2的事务,因此事务收发部51b向数据收发部53a通知迁移TxID:Tx2。
这样,在区块链30中,将以组为单位汇总的散列值登记到区块(在图7的例子中为区块30a~30d)。因此,例如,在参考关键字B的值的情况下,通过区块30c的事务数据的取得,能够汇总地验证相同关键字B的更新历史,与图3的例子相比,能够提高处理效率。
如上,区块链通信部51和区块数据处理部52是将以基于关键字的组为单位对多个值进行散列化而获得的散列值登记在迁移目的地区块链3中的第二登记部的一例。
(iv)数据迁移部5对各更新历史群50a至50d附加在将各散列值登记在区块链30中时的TxID和用于访问迁移目的地区块链3或区块链30的访问信息,并登记在迁移目的地DB4中。作为访问信息,例如可举出迁移目的地区块链3或区块链30的URL、IP地址等URI。
作为一例,区块数据处理部52将更新历史群50a的关键字A及更新历史群50a的值[100、200、300],换言之,将事务数据发送至数据收发部53a。
数据收发部53a将从区块数据处理部52接收到的事务数据和从事务收发部51b接收到的迁移TxID连同向DB42的登记指令一起发送到迁移目的地DB4的数据收发部41a。
作为一例,如图7所示,数据收发部53a通过数据收发部41a,将更新历史群50a的关键字A登记到DB42的关键字42a中,将更新历史群50a的值[100、200、300]登记到DB42的更新历史42c中。此外,数据收发部53a通过数据收发部41a将在将更新历史群50a的散列值登记在区块30a中时的TxID(Tx1)登记在DB42的迁移TxID42d中。此外,数据收发部53a通过数据收发部41a将区块链30的访问信息(Chain1)登记在DB42的参考目的地URL42e中。
迁移TxID42d是能够识别区块链30中的散列值的登记位置的信息,是散列值的登记位置信息的一例。除了TxID之外,还可以在迁移TxID42d中登记与TxID对应的更新历史。
另外,如图7所示,数据收发部53a在DB42中存在与更新历史群50b的关键字A一致的条目的情况下,通过数据收发部41a,在该条目的更新历史42c中登记(追加)更新历史群50b的值[400,500]。此外,如图7所示,数据收发部53a通过数据收发部41a将在将更新历史群50b的散列值登记在区块30b中时的TxID(Tx2)登记(附加)到与更新历史群50b的关键字A一致的条目的迁移TxID42d中。
此外,如图7所例示,数据收发部53a也可以通过收发部31a,针对每个关键字42a,将更新历史42c中的最新的值(例如在关键字A的情况下为“500”)登记为该关键字的条目的最新值42b。
如上,区块数据处理部52和DB通信部53是第一登记部的一例,其关于迁移源区块链2,将多个事务中的多个值以基于关键字的组为单位登记在迁移目的地DB4中。
如上所述,数据迁移部5执行将事务数据从迁移源区块链2迁移到迁移目的地区块链3和迁移目的地DB4的迁移处理。
例如,当处理器从用户接收到执行迁移处理的请求时,可以启动数据迁移处理,并且可以由所启动的数据迁移进程(数据迁移部5)来执行上述迁移处理。
(数据登记部6的说明)
在迁移处理结束后,处理器可以启动数据登记进程。已经启动的数据登记进程(数据登记部6)可以初始化迁移源区块链2,并且可以通过数据迁移进程来接管存储区域50中保持的更新历史群50a至50d的信息。
如图5所例示,数据登记部6可以具备请求发送部61。
请求发送部61发送针对迁移源区块链2的各关键字的更新值的登记请求等请求。作为一个例子,请求发送部61可以在从用户(客户端)接收到关键字的更新值的情况下,生成以及发送登记请求。
数据登记部6例如可以执行以下的(v)(与图5的符号(v)对应)的处理。
(v)请求发送部61在迁移源区块链2中登记更新历史群50a至50d的最新值。
例如,请求发送部61待机直到在数据迁移部5的迁移处理中将数据登记在区块链30和DB42中以及迁移源区块链2的初始化完成为止。
在迁移处理和初始化结束之后,请求发送部61从数据汇总部52a获取登记在DB42中的更新历史群50a至50d的最新值。数据汇总部52a可以从保存在存储区域50中的各更新历史群50a~50d取得各自的最新值,也可以经由DB通信部53取得迁移目的地的DB42中的各关键字42a的最新值42b(参考图7)。
此外,请求发送部61在迁移源区块链中登记将各更新历史群50a至50d的最新值与在迁移目的地DB4中存在各更新历史群50a至50d的关键字的更新历史的标志相关联起来的事务。标志(存档标志)是表示在迁移目的地DB4中存在比1以上的值(更新历史)中的最新值更早的值的第三信息的一例。
图8是示出在初始化之后登记在迁移源区块链2中的数据的一例的图。另外,在迁移源区块链2中,通过初始化,删除初始化前的区块20a~20c(参考图6)。
在初始化后的迁移源区块链2中,更新历史群50b至50d的关键字(关键字A、B和C)的最新值(500、3和90)分别被登记在区块20a至20c中。另外,在区块20a至20c中,分别在关键字Archive中登记表示存档标志为ON的“真”。另外,如图8所示,可以在各区块20a~20c(各事务Tx1~Tx3)中登记时间戳。
如上所述,请求发送部61是在第三区块链中登记将第一信息、第二信息和第三信息彼此相关联起来的事务的第三登记部的一例。通过使用标志来参考迁移源区块链2,可以容易地检测(判别)在迁移目的地DB4中存在比最新的更新值更早的更新值。
另外,请求发送部61是在登记了包含标志的事务后,根据新的事务的登记请求,接续于包含标志的事务,登记登记请求所涉及的事务的第四登记部的一例。由此,能够确保迁移源区块链2中的迁移前后的事务的匹配性。
另外,至此,以在迁移源区块链2的数据迁移后,将作为对迁移源区块链2进行初始化的结果的数据库作为新的迁移源区块链2来利用(再利用)的情况为例进行了说明,但并不限定于此。作为“新的迁移源区块链”,也可以利用与迁移源区块链2不同的其他区块链。作为新的迁移源区块链的迁移源区块链2、或者与迁移源区块链2不同的其他区块链是第三区块链的一例。
(数据参考部7的说明)
如果数据迁移进程和数据登记进程不工作并且迁移源区块链2、迁移目的地区块链3和迁移目的地DB4启动,则数据参考进程能够工作。例如,数据参考进程(数据参考部7)根据来自用户(客户端)的数据参考的请求,指定日期时间范围而取得与关键字对应的更新历史群。用户可以在没有意识到数据的存储目的地的情况下从迁移源区块链2和迁移目的地区块链3及迁移目的地DB4中的一方或双方参考更新历史群。
另外,数据参考部7对根据数据参考请求从参考目的地接收到的数据进行篡改验证处理。
如图5所例示,数据参考部7可以具备请求目的地控制部71、请求发送部72以及篡改验证部73。
请求目的地控制部71控制数据参考时的请求目的地。
在请求目的地控制部71的控制下,请求发送部72向迁移源区块链2和迁移目的地区块链3及迁移目的地DB4中的一方或双方发送数据参考请求。
图9是表示获取对象数据的日期时间范围与取得目的地的关系的一例的图。获取对象数据例如是与从用户请求的数据参考的条件(例如获取对象的关键字以及日期时间范围等)一致的数据。
例如,请求目的地控制部71利用日期时间范围来指定针对获取对象的关键字的更新历史群,并且通过请求发送部72从迁移源区块链2参考获取对象的关键字的最早更新历史数据。在图8的例子中,在对象关键字是关键字A的情况下,请求目的地控制部71参考区块20a的数据。另外,在以下的说明中,所取得(参考)的数据的日期时间(最早的事务日期时间)是根据区块20a中登记的时间戳求出的。
如图9所示,当获取对象的日期时间范围中的最新日期时间比获取的数据的日期时间新时,请求目的地控制部71将迁移源区块链2确定为更新历史数据的参考目的地。
请求目的地控制部71在获取对象的日期时间范围中的最早日期时间比迁移源区块链2的最早日期时间新的情况下,决定为从参考目的地参考“获取对象的最早日期时间~获取对象的最新日期时间”的范围的数据(相当于图9的(I)的例子)。
另一方面,在获取对象的日期时间范围中的最早的日期时间比迁移源区块链2的最早的日期时间早的情况下,请求目的地控制部71决定为从参考目的地参考“迁移源区块链2的最早的日期时间~获取对象的最新日期时间”的第一范围的数据。第一范围的数据相当于图9的(III)的例子中的(III-1)的范围的数据。
此外,当获取对象的最早的日期时间比迁移源区块链2的最早的日期时间早并且所获取的数据被附加有存档标志时,请求目的地控制部71将迁移目的地区块链3和迁移目的地DB4决定为更新历史数据的参考目的地。
请求目的地控制部71在获取对象的最新日期时间比取得的数据的日期时间早的情况下,决定为从参考目的地(迁移目的地)参考“获取对象的最早日期时间~获取对象的最新日期时间”的范围的数据(相当于图9的(II)的例子)。
另一方面,请求目的地控制部71在获取对象的最新日期时间比迁移源区块链2的最早日期时间新的情况下,决定为从参考目的地(迁移目的地)参考“获取对象的最早日期时间~迁移源区块链2的最早日期时间”的第二范围的数据。第二范围的数据相当于图9的(III)的例子中的(III-2)的范围的数据。
如上所述,请求目的地控制部71和请求发送部72是参考部的一例。该参考部基于请求发送部61所登记的多个事务所包含的关键字而从迁移源区块链2参考事务数据。而且,当在数据参考中请求比所参考的数据更早的数据时,该参考部基于与所参考的数据的事务相关联的标志而从迁移目的地DB4参考过去的数据。由此,能够从迁移目的地区块链3以及迁移目的地DB4进行过去的事务数据的参考。
篡改验证部73对响应于由请求发送部72发送的参考请求而获取(参考)的数据执行篡改验证。
例如,篡改验证部73使用与在图9的(II)或(III-2)的示例中获取的更新历史数据相关联的1个以上的TxID,经由请求发送部72参考迁移目的地区块链3的更新历史数据,取得散列值。
篡改验证部73计算上述更新历史数据的散列值,将所计算的散列值与从迁移目的地区块链3获取的散列值进行比较,并且基于比较结果验证从迁移目的地DB4获取的数据的篡改。例如,篡改验证部73可以在比较结果一致的情况下判定为从迁移目的地DB4获取的数据未被篡改,并且在比较结果不一致的情况下判定为从迁移目的地DB4获取的数据已被篡改。
如上所述,篡改验证部73是从迁移目的地DB4获取被附加了规定的TxID的1个以上的数据的第一取得部的一例。篡改验证部73是从迁移目的地区块链3获取与规定的TxID对应的散列值的第二取得部的一例。此外,篡改验证部73是验证部的一例,其基于通过对作为第一取得部获取的一个以上的数据进行散列化而获得的散列值和作为第二取得部获取的散列值,对从迁移目的地DB4获取的一个以上的数据执行篡改验证。以这种方式,篡改验证部73能够使对迁移的事务的篡改验证变得高效。
〔1-2〕一实施方式的动作例
接下来,参考图10~图13,对一实施方式所涉及的区块链系统1的动作例进行说明。
[1-2-1]数据迁移进程的动作例
如图10所例示的那样,区块取得部51a从开头的区块开始按升序一并取得迁移源区块链2的事务数据(步骤S1)。
数据汇总部52a将区块取得部51a取得的全部事务数据按照通过事务而更新的关键字相同的数据分别汇总,设为更新历史群(步骤S2)。
数据压缩部52b计算各更新历史群的散列值,并且事务收发部51b将所计算的散列值登记在迁移目的地区块链3中(步骤S3)。
事务收发部51b从迁移目的地区块链3取得迁移TxID,区块数据处理部52对各更新历史群附加迁移TxID。然后,数据收发部53a将附加了迁移TxID的各更新历史群登记在迁移目的地数据库4中(步骤S4),处理结束。
在完成步骤S4的处理之后,数据迁移部5或数据登记部6可以初始化迁移源区块链2。
[1-2-2]数据登记进程的动作例
如图11所示,数据登记部6待机直到数据迁移进程结束并且迁移源区块链2的初始化结束为止(步骤S11)。
请求发送部61获取各更新历史群的最新值,将存档标志附加到最新值,并登记在迁移源区块链2中(步骤S12),处理结束。
[1-2-3]数据参考进程的动作例
如图12所例示的那样,请求目的地控制部71利用日期时间范围指定针对获取对象的关键字的更新历史群(步骤S21)。
此外,请求目的地控制部71从迁移源区块链2获取该关键字的最早更新历史数据(步骤S22)。然后,请求目的地控制部71判定获取对象的最新日期时间是否比迁移源区块链2的最早的事务日期时间大(新)(步骤S23)。
在步骤S23中为“否”的情况下,处理转移到图13的步骤S27。另一方面,在步骤S23中为“是”的情况下,请求目的地控制部71判定获取对象的最早日期时间是否比迁移源区块链2的最早的事务日期时间大(步骤S24)。
在步骤S24中为否的情况下,请求目的地控制部71通过请求发送部72从迁移源区块链2获取最早事务日期时间~获取对象的最新日期时间的范围内的更新历史数据(步骤S25)。然后,处理转移到步骤S27。
在步骤S24中的“是”的情况下,请求目的地控制部71通过请求发送部72从迁移源区块链2获取在获取对象的最早日期时间~获取对象的最新日期时间的范围内的更新历史数据(步骤S26),处理转移到步骤S27。
如图13所例示的那样,在步骤S27中,请求目的地控制部71判定获取对象的最早日期时间是否比迁移源区块链2的最早的事务日期时间小(早)。
在步骤S27中为“否”的情况下,处理结束。另一方面,在步骤S27中为“是”的情况下,请求目的地控制部71判定获取对象的最新日期时间是否比迁移源区块链2的最早的事务日期时间小(步骤S28)。
在步骤S28中为“否”的情况下,请求目的地控制部71通过请求发送部72从迁移目的地DB4取得获取对象的最早日期时间~迁移源区块链2的最早事务日期时间的范围内的更新历史数据(步骤S29)。然后,处理转移到步骤S31。
在步骤S28中的“是”的情况下,请求目的地控制部71通过请求发送部72从迁移目的地DB4获取在获取对象的最早的日期时间~获取对象的最新的日期时间的范围内的更新历史数据(步骤S30),处理转移到步骤S31。
在步骤S31中,篡改验证部73根据与所获取的事务数据相关联的TxID而参考迁移目的地区块链3的更新历史数据,从更新历史数据中获取散列值。
而且,篡改验证部73比较从迁移目的地DB4和迁移目的地区块链3获取的更新历史数据的散列值,验证数据的篡改(步骤S32),并且处理结束。
如上所述,根据一个实施方式所涉及的区块链系统1,第一登记部针对保存多个将第一信息以及第二信息关联起来的事务的迁移源区块链2,以基于第一信息的组为单位将多个事务中的多个第二信息登记到迁移目的地DB4。此外,第二登记部将通过以组为单位对多个第二信息进行散列化而获得的散列值登记在迁移目的地区块链3中。
由此,能够削减在迁移目的地区块链3上管理的数据量。例如,在将100个事务数据汇总进行散列化的情况下,与一个一个地进行散列化的情况相比,能够使区块链的数据量为1/100以下(压缩率为100倍以上),能够使数据参考时的散列验证次数为1/100以下。因此,能够容易地验证迁移目的地处的数据的篡改,能够提高篡改验证的效率。
另外,组可以是按照规定条件将关联有相同的第一信息的第二信息彼此汇总而成的组。由此,能够削减由迁移目的地区块链3管理的散列值的数量,能够使迁移目的地区块链3的参考变得容易。
并且,规定条件可以包括将每个组中包含的第二信息的数量设为以下的数量中的至少一个:规定的数量;使得组中包含的第二信息的合计数据尺寸小于等于规定的数据尺寸的数量;以及规定数量的区块中包含的第二信息的数量。
由此,通过限制汇总地进行散列化的数据的件数,能够抑制篡改验证时的处理负荷(例如参考数据的散列运算负荷)的增加。
此外,当将多个第二信息登记到迁移目的地DB4中时,第一登记部可以将在迁移目的地区块链3中登记的以组为单位的散列值的迁移TxID附加到与散列值对应的组所包含的第二信息中。由此,能够高效地进行与参考数据对应的散列值的获取。
进而,第一取得部从迁移目的地DB4取得附加了规定的迁移TxID的1个以上的第二信息,第二取得部从迁移目的地区块链3取得与规定的迁移TxID对应的散列值。另外,验证部可以基于通过对由第一取得部获取的一个以上的第二信息进行散列化而获得的散列值和由第二取得部获取的散列值来验证从迁移目的地DB4获取的一个以上的第二信息的篡改。由此,能够高效地进行迁移目的地区块链3和迁移目的地DB4中的数据的篡改检测。
另外,参考部也可以基于第三登记部登记的多个事务所包含的第一信息而从重新启动后的迁移源区块链2参考第二信息,在被请求比所参考的第二信息更早的第二信息的情况下,基于与所参考的第二信息的事务相关联的第三信息,从迁移目的地DB4参考过去的第二信息。
这样,通过对迁移源区块链2进行初始化并登记更新历史群的最新值,在数据参考时,基于区块链将参考目的地划分为以下两类:迁移源区块链2;迁移目的地区块链3以及迁移目的地DB4,从而客户端能够在不意识到数据的参考目的地的情况下进行参考。
〔1-3〕一实施方式的硬件结构例
图14是示出实现区块链系统1的功能的计算机10的HW(Hardware:硬件)结构例的框图。在使用多个计算机作为实现区块链系统1的功能的HW资源的情况下,各计算机可以具备图14所例示的HW结构。
如图14所示,作为HW结构,计算机10例如可以具备处理器10a、存储器10b、存储部10c、IF(Interface:接口)部10d、I/O(Input/Output:输入/输出)部10e以及读取部10f。
处理器10a是进行各种控制、运算的运算处理装置的一例。处理器10a可以通过总线10i与计算机10内的各模块连接成能够相互通信。另外,处理器10a可以是包含多个处理器的多处理器,也可以是具有多个处理器核的多核处理器,或者也可以是具有多个多核处理器的结构。
作为处理器10a,例如可举出CPU、MPU、GPU、APU、DSP、ASIC、FPGA等集成电路(IC;IntegratedCircuit)。另外,作为处理器10a,也可以使用这些集成电路的2个以上的组合。CPU是中央处理单元(Central Processing Unit)的缩写,MPU是微处理单元(MicroProcessing Unit)的缩写。GPU是图形处理单元(Graphics Processing Unit)的缩写,APU是加速处理单元(Accelerated Processing Unit)的缩写。DSP是数字信号处理器(DigitalSignal Processor)的缩写,ASIC是专用IC(Application Specific Integrated Circuit)的缩写,FPGA是现场可编程门阵列(Field-Programmable Gate Array)的缩写。
存储器10b是存储各种数据、程序等信息的HW的一例。作为存储器10b,例如可举出DRAM(Dynamic RAM:动态RAM)等易失性存储器。
存储部10c是保存各种数据、程序等信息的HW的一例。作为存储部10c,可举出HDD(Hard Disk Drive:硬盘驱动器)等磁盘装置、SSD(Solid State Drive:固态硬盘)等半导体驱动装置、非易失性存储器等各种存储装置。作为非易失性存储器,例如可举出闪存、SCM(Storage Class Memory:存储类存储器)、ROM(Read Only Memory:只读存储器)等。
图5所例示的账本22及32、DB42、以及数据迁移部5所具有的存储区域50(参考图6)可以分别利用存储器10b或存储部10c所具有的存储区域的至少一部分。
另外,存储部10c可以存储实现计算机10的各种功能的全部或一部分的程序10g(事务管理程序)。
例如,处理器10a通过将存储部10c中保存的程序10g在存储器10b中展开并执行,能够执行由程序10g提供的数据迁移进程、数据登记进程以及数据参考进程中的至少1个。另外,区块链控制部21、区块链控制部31及DB控制部41的至少一方的功能也可以由程序10g提供。
换言之,计算机10能够作为基于迁移源区块链2、迁移目的地区块链3、迁移目的地DB4、数据迁移部5、数据登记部6以及数据参考部7中的至少1个或者各种组合的事务管理装置进行工作。作为非限定性的一例,迁移源区块链2及数据迁移部5可以通过1台计算机10来实现,或者,迁移源区块链2、数据迁移部5、数据登记部6及数据参考部7可以通过1台计算机10来实现。另外,迁移目的地区块链3以及迁移目的地DB4也可以分别通过1台计算机10来实现。
IF部10d是进行与网络之间的连接以及通信的控制等的通信IF的一例。例如,IF部10d可以包括基于LAN(Local Area Network:局域网)或光通信(例如FC(Fibre Channel:光纤信道))等的适配器。该适配器可以对应于无线和有线中的一方或双方的通信方式。例如,程序10g也可以经由该通信IF从网络下载到计算机10,并保存在存储部10c中。
此外,在区块链系统1由多个计算机10实现的情况下,计算机10间也可以通过上述网络连接。
I/O部10e可以包括输入装置和输出装置中的一方或双方。作为输入装置,例如可举出键盘、鼠标、触摸面板等。作为输出装置,例如可以举出监视器、投影仪、打印机等。
读取部10f是读出记录于记录介质10h的数据、程序的信息的读取器的一例。读取部10f可以包括能够连接或插入记录介质10h的连接端子或装置。作为读取部10f,例如可举出依据USB(Universal Serial Bus:通用串行总线)等的适配器、进行对记录盘的访问的驱动装置、进行对SD卡等闪存的访问的读卡器等。另外,在记录介质10h中可以存储程序10g,读取部10f也可以从记录介质10h读出程序10g并存储在存储部10c中。
作为记录介质10h,例如可举出磁/光盘、闪存等非暂时性的计算机可读取的记录介质。作为磁/光盘,例如可举出软盘、CD(Compact Disc)、DVD(Digital Versatile Disc)、蓝光盘、HVD(Holographic Versatile Disc:全息多功能光盘)等。作为闪存,例如可以举出USB存储器、SD卡等半导体存储器。
上述的计算机10的HW结构是例示。因此,也可以适当地进行计算机10内的HW的增减(例如任意的模块的追加或删除)、分割、任意的组合下的合并、或者总线的追加或删除等。例如,在计算机10中,也可以省略I/O部10e以及读取部10f中的至少一方。
此外,也可以通过由通过未图示的网络连接成能够相互通信的多个计算机10构成的HW资源以及NW(Network:网络)资源,构成例如作为云系统的区块链系统1。
在该情况下,区块链系统1所具备的迁移源区块链2、迁移目的地区块链3、迁移目的地DB4、数据迁移部5、数据登记部6以及数据参考部7等节点分别可以通过将由多个计算机10构成的HW资源以及NW资源在逻辑上(虚拟地)或者物理上分割并分配给节点来实现。
换言之,区块链系统1也可以理解为是具备作为由多个计算机10提供的HW资源以及NW资源的处理器资源(处理器)、存储器资源(存储器)、存储资源(存储部)、IF资源(IF部)的1个事务管理装置。作为事务管理装置(计算机)的区块链系统1能够通过扩展处理,将处理器资源、存储器资源、存储资源以及IF资源分配给用于实现特定的功能块的节点,或者释放对节点的分配。
另外,在作为云系统的区块链系统1中,也可以将用于实现作为区块链系统1的功能的程序10g分割为多个节点各自的执行单位,将分割后的程序分散配置于多个节点。另外,多个节点(图5的功能块2~7)可以是多个物理机、多个虚拟机(VM;VirtualMachine)、以及1个以上的物理机和1个以上的虚拟机的组合中的任一方。
即,即使将程序10g分散配置于多个节点,也能够将程序10g理解为使事务管理装置(计算机)或者事务管理系统执行区块链系统1的功能的1个程序。
〔2〕其他
上述的一个实施方式所涉及的技术能够以如下方式进行变形、变更而实施。
例如,图5所示的区块链系统1所具备的各功能块可以按照任意的组合合并,也可以分别分割。
标号说明
1 区块链系统
2 迁移源区块链
20、30 区块链
20a~20c、30a~30d 区块
21、31 区块链控制部
21a、31a 收发部
22、32 账本
4 迁移目的地数据库
41 数据库控制部
41a、53a 数据收发部
42 数据库
5 数据迁移部
51 区块链通信部
51a 区块取得部
51b 事务收发部
52 区块数据处理部
52a 数据汇总部
52b 数据压缩部
53 数据库通信部
50 存储区
50a~50e 更新历史群
6 数据登录部
61、72 请求发送部
7 数据参考部
71 请求目的地控制部
73 篡改验证部
Claims (20)
1.一种事务管理装置,其具备:
第一登记部,其针对保存多个关联了第一信息和第二信息的事务的第一区块链,将多个所述事务中的多个所述第二信息以基于所述第一信息的组为单位登记到数据库中;以及
第二登记部,其将以所述组为单位对多个所述第二信息进行散列化而得到的散列值登记到第二区块链中。
2.根据权利要求1所述的事务管理装置,其中,
所述组是按照规定条件将关联有相同的第一信息的第二信息彼此汇总而成的组。
3.根据权利要求2所述的事务管理装置,其中,
所述规定条件包括将每个所述组中包含的第二信息的数量设为以下的数量中的至少一个:规定的数量:使得所述组中包含的第二信息的合计数据尺寸小于等于规定的数据尺寸的数量;以及规定数量的区块中包含的第二信息的数量。
4.根据权利要求1至3中任一项所述的事务管理装置,其中,
所述第一登记部在将多个所述第二信息登记到所述数据库中时,将登记于所述第二区块链中的以所述组为单位的散列值的登记位置信息附加到与该散列值对应的组所包含的第二信息中。
5.根据权利要求4所述的事务管理装置,其中,所述事务管理装置具备:
第一取得部,其从所述数据库取得附加有规定的登记位置信息的1个以上的第二信息;
第二取得部,其从所述第二区块链取得与所述规定的登记位置信息对应的散列值;以及
验证部,其根据对所述第一取得部取得的所述1个以上的第二信息进行散列化而得到的散列值和所述第二取得部取得的所述散列值,进行从所述数据库取得的所述1个以上的第二信息的篡改验证。
6.根据权利要求1至5中任一项所述的事务管理装置,其中,
所述事务管理装置具备第三登记部,所述第三登记部在由所述第一登记部进行所述登记后且由所述第二登记部进行所述登记后,在第三区块链中登记将所述多个事务中包含的所述第一信息、与所述第一信息相关联的1个以上的第二信息中的最新的第二信息、以及第三信息相关联起来的事务,其中所述第三信息表示在所述数据库中存在比所述1个以上的第二信息中的所述最新的第二信息更早的第二信息。
7.根据权利要求6所述的事务管理装置,其中,
所述事务管理装置具备第四登记部,所述第四登记部在由所述第三登记部进行所述登记后,根据关联了第一信息和第二信息的新组合的事务的登记请求,接续于由所述第三登记部登记的所述事务,将与所述登记请求相关的事务登记到所述第三区块链中。
8.根据权利要求6或7所述的事务管理装置,其中,
所述事务管理装置具备参考部,所述参考部基于所述第三登记部进行了所述登记的多个所述事务所包含的所述第一信息而从所述第三区块链参考所述第二信息,在被请求比所参考的所述第二信息更早的第二信息的情况下,基于与所参考的所述第二信息的事务相关联的所述第三信息,从所述数据库参考所述更早的第二信息。
9.根据权利要求6至8中任一项所述的事务管理装置,其中,
所述第三区块链是将所述第一区块链初始化后的结果的区块链。
10.根据权利要求1至9中任一项所述的事务管理装置,其中,
与所述事务相关联的所述第一信息是所述事务的处理对象的关键字,
与所述事务相关联的所述第二信息是通过所述事务的处理而更新的所述关键字的值。
11.一种事务管理程序,其使计算机执行如下处理:
针对保存多个关联了第一信息和第二信息的事务的第一区块链,将多个所述事务中的多个所述第二信息以基于所述第一信息的组为单位登记到数据库中;以及
将以所述组为单位对多个所述第二信息进行散列化而得到的散列值登记到第二区块链中。
12.根据权利要求11所述的事务管理程序,其中,
所述组是按照规定条件将关联有相同的第一信息的第二信息彼此汇总而成的组。
13.根据权利要求12所述的事务管理程序,其中,
所述规定条件包括将每个所述组中包含的第二信息的数量设为以下的数量中的至少一个:规定的数量:使得所述组中包含的第二信息的合计数据尺寸小于等于规定的数据尺寸的数量;以及规定数量的区块中包含的第二信息的数量。
14.根据权利要求11至13中的任意一项所述的事务管理程序,其特征在于,使所述计算机执行如下处理:
在将多个所述第二信息登记到所述数据库中时,将登记于所述第二区块链中的以所述组为单位的散列值的登记位置信息附加到与该散列值对应的组所包含的第二信息中。
15.根据权利要求14所述的事务管理程序,其中,使所述计算机执行如下处理:
从所述数据库取得附加有规定的登记位置信息的1个以上的第二信息;
从所述第二区块链取得与所述规定的登记位置信息对应的散列值;
根据对所取得的所述1个以上的第二信息进行散列化而得到的散列值和从所述第二区块链取得的所述散列值,进行从所述数据库取得的所述1个以上的第二信息的篡改验证。
16.根据权利要求11至15中的任意一项所述的事务管理程序,其中,使所述计算机执行如下处理:
在针对所述数据库的所述登记后且针对所述第二区块链的所述登记后,在第三区块链中登记将所述多个事务中包含的所述第一信息、与所述第一信息相关联的1个以上的第二信息中的最新的第二信息、以及第三信息相关联起来的事务,其中所述第三信息表示在所述数据库中存在比所述1个以上的第二信息中的所述最新的第二信息更早的第二信息。
17.根据权利要求16所述的事务管理程序,其中,使所述计算机执行如下处理:
在针对所述第三区块链的所述登记后,根据关联了第一信息和第二信息的新组合的事务的登记请求,接续于进行了所述登记的所述事务,将与所述登记请求相关的事务登记到所述第三区块链中。
18.根据权利要求16或17所述的事务管理程序,其中,使所述计算机执行如下处理:
基于进行了所述登记的多个所述事务所包含的所述第一信息而从所述第三区块链参考所述第二信息,在被请求比所参考的所述第二信息更早的第二信息的情况下,基于与所参考的所述第二信息的事务相关联的所述第三信息,从所述数据库参考所述更早的第二信息。
19.一种事务管理方法,在该事务管理方法中,由计算机执行如下处理:
针对保存多个关联了第一信息和第二信息的事务的第一区块链,将多个所述事务中的多个所述第二信息以基于所述第一信息的组为单位登记到数据库中;以及
将以所述组为单位对多个所述第二信息进行散列化而得到的散列值登记到第二区块链中。
20.根据权利要求19所述的事务管理方法,其中,
所述组是按照规定条件将关联有相同的第一信息的第二信息彼此汇总而成的组。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/038699 WO2021064852A1 (ja) | 2019-10-01 | 2019-10-01 | トランザクション管理装置、トランザクション管理プログラム、及びトランザクション管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114450686A true CN114450686A (zh) | 2022-05-06 |
Family
ID=75337810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980100757.9A Pending CN114450686A (zh) | 2019-10-01 | 2019-10-01 | 事务管理装置、事务管理程序和事务管理方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220215386A1 (zh) |
EP (1) | EP4040323A4 (zh) |
JP (1) | JPWO2021064852A1 (zh) |
CN (1) | CN114450686A (zh) |
WO (1) | WO2021064852A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11669772B2 (en) | 2019-11-05 | 2023-06-06 | Vmware, Inc. | 3D printer device management using machine learning |
US20220011743A1 (en) * | 2020-07-08 | 2022-01-13 | Vmware, Inc. | Malicious object detection in 3d printer device management |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180293280A1 (en) * | 2017-04-07 | 2018-10-11 | Salesforce.Com, Inc. | Time series database search system |
US20180323963A1 (en) * | 2017-05-05 | 2018-11-08 | Jeff STOLLMAN | Systems and Methods for Extending the Utility of Blockchains Through Use of Related Child Blockchains |
CN110023944A (zh) * | 2017-01-03 | 2019-07-16 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
US10769135B1 (en) * | 2019-08-20 | 2020-09-08 | Alibaba Group Holding Limited | Blockchain data storage based on shared nodes and error correction code |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017066715A1 (en) | 2015-10-14 | 2017-04-20 | Cambridge Blockchain, LLC | Systems and methods for managing digital identities |
JP6389350B2 (ja) | 2016-03-31 | 2018-09-12 | 株式会社bitFlyer | トランザクション処理装置、トランザクション処理方法、及びそのためのプログラム |
US10177908B2 (en) * | 2016-08-30 | 2019-01-08 | Workday, Inc. | Secure storage decryption system |
JP6674401B2 (ja) | 2017-03-01 | 2020-04-01 | Kddi株式会社 | 検出システム、検出方法及び検出プログラム |
US11210369B2 (en) * | 2018-01-19 | 2021-12-28 | Nasdaq, Inc. | Systems and methods of digital content certification and verification using cryptography and blockchain |
US10956075B2 (en) * | 2018-02-02 | 2021-03-23 | Bank Of America Corporation | Blockchain architecture for optimizing system performance and data storage |
US10698892B2 (en) * | 2018-04-10 | 2020-06-30 | Sap Se | Order-independent multi-record hash generation and data filtering |
CN110909073B (zh) * | 2018-09-14 | 2023-06-13 | 宏达国际电子股份有限公司 | 基于智能合约分享隐私数据的方法及系统 |
JP6816300B2 (ja) * | 2018-12-28 | 2021-01-20 | アドバンスド ニュー テクノロジーズ カンパニー リミテッド | ブロックチェーンネットワークにおけるトランザクションの並列実行 |
KR20200088995A (ko) * | 2019-01-16 | 2020-07-24 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 화상 형성 장치에서 블록체인을 기반한 문서의 보안 및 무결성 검증 |
-
2019
- 2019-10-01 WO PCT/JP2019/038699 patent/WO2021064852A1/ja unknown
- 2019-10-01 CN CN201980100757.9A patent/CN114450686A/zh active Pending
- 2019-10-01 JP JP2021550803A patent/JPWO2021064852A1/ja not_active Ceased
- 2019-10-01 EP EP19947813.2A patent/EP4040323A4/en not_active Withdrawn
-
2022
- 2022-03-25 US US17/704,215 patent/US20220215386A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110023944A (zh) * | 2017-01-03 | 2019-07-16 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
US20180293280A1 (en) * | 2017-04-07 | 2018-10-11 | Salesforce.Com, Inc. | Time series database search system |
US20180323963A1 (en) * | 2017-05-05 | 2018-11-08 | Jeff STOLLMAN | Systems and Methods for Extending the Utility of Blockchains Through Use of Related Child Blockchains |
US10769135B1 (en) * | 2019-08-20 | 2020-09-08 | Alibaba Group Holding Limited | Blockchain data storage based on shared nodes and error correction code |
Also Published As
Publication number | Publication date |
---|---|
WO2021064852A1 (ja) | 2021-04-08 |
EP4040323A1 (en) | 2022-08-10 |
US20220215386A1 (en) | 2022-07-07 |
JPWO2021064852A1 (zh) | 2021-04-08 |
EP4040323A4 (en) | 2022-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461027B2 (en) | Deduplication-aware load balancing in distributed storage systems | |
US9015131B2 (en) | Information management method, and computer for providing information | |
US9558203B2 (en) | Data mover discovery of object extent | |
CN111356996B (zh) | 用于版本验证的系统和计算机实现的方法 | |
US8626765B2 (en) | Processing database operation requests | |
US20120278580A1 (en) | Data storage reclamation systems and methods | |
US10515078B2 (en) | Database management apparatus, database management method, and storage medium | |
JP2018516409A (ja) | ファイルストレージにおけるインデックス付け実施方法及びシステム | |
US20220215386A1 (en) | Transaction management device, non-transitory computer-readable recording medium having stored therein transaction management program, and transaction management method | |
US11593213B2 (en) | Classifying snapshot image processing | |
JP2016517605A (ja) | ビザンチン故障耐性データ複製を行う方法およびシステム | |
CN110851474A (zh) | 数据查询方法、数据库中间件、数据查询设备及存储介质 | |
CN110352410A (zh) | 跟踪索引节点的访问模式以及预提取索引节点 | |
US9122402B2 (en) | Increasing efficiency of block-level processes using data relocation awareness | |
CN109947730A (zh) | 元数据恢复方法、装置、分布式文件系统及可读存储介质 | |
CN114556320A (zh) | 切换到最终一致的数据库副本 | |
CN111081258B (zh) | 一种声纹模型管理方法、系统、存储介质及装置 | |
CN113486025B (zh) | 数据存储方法、数据查询方法及装置 | |
US9870404B2 (en) | Computer system, data management method, and recording medium storing program | |
WO2018070211A1 (ja) | 管理サーバ、管理方法及びそのプログラム | |
CN107818136B (zh) | 用于回收垃圾对象数据的方法和装置 | |
CN112783711A (zh) | NodeJS上程序内存分析的方法、存储介质 | |
US10685046B2 (en) | Data processing system and data processing method | |
EP3591529B1 (en) | System and method for backup storage garbage collection | |
JP5772527B2 (ja) | データ管理システム及び情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |