CN115136178A - 控制方法、控制装置及程序 - Google Patents
控制方法、控制装置及程序 Download PDFInfo
- Publication number
- CN115136178A CN115136178A CN202180015126.4A CN202180015126A CN115136178A CN 115136178 A CN115136178 A CN 115136178A CN 202180015126 A CN202180015126 A CN 202180015126A CN 115136178 A CN115136178 A CN 115136178A
- Authority
- CN
- China
- Prior art keywords
- transaction data
- mobile
- block
- mobile device
- reservation
- 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
- 238000000034 method Methods 0.000 title claims abstract description 112
- 230000005540 biological transmission Effects 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 155
- 238000004422 calculation algorithm Methods 0.000 claims description 90
- 238000010586 diagram Methods 0.000 description 103
- 238000004891 communication Methods 0.000 description 92
- 230000000052 comparative effect Effects 0.000 description 72
- 230000008569 process Effects 0.000 description 67
- 238000003860 storage Methods 0.000 description 64
- 238000007726 management method Methods 0.000 description 38
- 238000001514 detection method Methods 0.000 description 36
- 238000012795 verification Methods 0.000 description 34
- 238000004364 calculation method Methods 0.000 description 26
- 238000004590 computer program Methods 0.000 description 14
- 238000013524 data verification Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 11
- 230000001960 triggered effect Effects 0.000 description 10
- 230000006399 behavior Effects 0.000 description 8
- 239000000470 constituent Substances 0.000 description 8
- 102220515663 Zinc finger protein Helios_S13A_mutation Human genes 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000026676 system process Effects 0.000 description 4
- 230000002860 competitive effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 241000206601 Carnobacterium mobile Species 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 241000599985 Beijerinckia mobilis Species 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/02—Reservations, e.g. for tickets, services or events
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- 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/08—Payment architectures
- G06Q20/14—Payment architectures specially adapted for billing systems
- G06Q20/145—Payments according to the detected use or quantity
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/0042—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for hiring of objects
- G07F17/0057—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for hiring of objects for the hiring or rent of vehicles, e.g. cars, bicycles or wheelchairs
-
- 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)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Primary Health Care (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种控制方法,其是包括第1节点和多个第2节点、并且用于服务对象的使用的系统中的第1节点的控制方法,第1节点持有第1分布式账本,多个第2节点分别持有第2分布式账本,其中,执行向多个第2节点分别发送第1事务数据的发送处理(S103D),将在发送处理中与第1节点进行了通信的第2节点的数量进行计数,在所计数的数量比规定数量多的情况下,将第1事务数据保存到第1分布式账本,在所计数的数量为规定数量以下的情况下,不将第1事务数据保存到第1分布式账本(S107D)。
Description
技术领域
本公开涉及控制方法、控制装置及程序。
背景技术
例如在专利文献1中,公开了通过区块链适当地管理在车辆终端与用户终端之间收发的关于使用预约的信息的技术。
现有技术文献
专利文献
专利文献1:日本特开2019-253130号公报
发明内容
发明要解决的课题
但是,在物体的使用预约等的合同或交易的管理中使用区块链的情况下,在专利文献1所公开的技术中,有恶意利用发生了分叉(fork)时的区块链的行为而不正当地使用物体的问题。
本公开是鉴于上述的情况而做出的,目的是提供能够抑制恶意利用区块链的服务对象的不正当使用的控制方法、控制装置及程序。
用来解决课题的手段
本公开的一技术方案的控制方法,其是包括第1节点和多个第2节点、并且用于服务对象的使用的系统中的上述第1节点的控制方法,上述第1节点持有第1分布式账本,上述多个第2节点分别持有第2分布式账本,其中,执行向上述多个第2节点分别发送第1事务数据的发送处理,将在上述发送处理中与上述第1节点进行了通信的第2节点的数量进行计数,在所计数的上述数量比规定数量多的情况下,将上述第1事务数据保存到上述第1分布式账本,在所计数的上述数量为上述规定数量以下的情况下,不将上述第1事务数据保存到上述第1分布式账本。
另外,这些包含性或具体的技术方案也可以由系统、方法、集成电路、计算机程序或计算机可读取的CD-ROM等的记录介质实现,也可以由系统、方法、集成电路、计算机程序及记录介质的任意的组合来实现。
发明效果
根据本公开,能够抑制恶意利用区块链的服务对象的不正当使用。
附图说明
图1是用来说明进行不正当使用的方法的次序的图。
图2A是表示进行图1所示的步骤1的场景的一例的图。
图2B是表示进行图1所示的步骤2、3的场景的一例的图。
图2C是表示进行图1所示的步骤4的场景的一例的图。
图2D是表示进行图1所示的步骤5的场景的一例的图。
图2E是表示进行图1所示的步骤6的场景的一例的图。
图2F是表示进行图1所示的步骤6后进行的场景的一例的图。
图3A是用来说明发生了分叉时的区块链的行为的图。
图3B是用来说明发生了分叉时的区块链的行为的图。
图3C是用来说明发生了分叉时的区块链的行为的图。
图4是表示有关实施方式的系统的构成的一例的图。
图5A是表示有关实施方式的系统的构成的另一例的图。
图5B是表示有关实施方式的系统的构成的另一例的图。
图5C是表示有关实施方式的系统的构成的另一例的图。
图6是表示有关实施方式的移动体装置的构成的一例的图。
图7是表示有关实施方式的终端的构成的一例的图。
图8是表示有关比较例的第1例的系统的正常处理的动作概要的流程图。
图9A是概念性地表示通过图8的步骤S1的动作而保存于账本A及账本B中的区块链的区块的图。
图9B是概念性地表示通过图8的步骤S3的动作而保存于账本A及账本B中的区块链的区块的图。
图9C是用来概念性地说明图通过8的步骤S5的动作而保存于账本A及账本B中的区块链的区块的图。
图10是表示有关比较例的第1例的系统的预约处理的顺序图。
图11是表示有关比较例的第1例的系统的借出处理的顺序图。
图12是表示有关比较例的第1例的系统的返还处理的顺序图。
图13是用来说明有关比较例的系统的费用计算处理的详细情况的流程图。
图14是表示有关比较例的第2例的系统的正常处理的动作概要的流程图。
图15A是概念性地表示通过图14的步骤S1A的动作而保存于账本A中的区块链的区块的图。
图15B是概念性地表示通过图14的步骤S3A的动作而保存于账本A中的区块链的区块的图。
图15C是概念性地表示通过图14的步骤S5A的动作而保存于账本A中的区块链的区块的图。
图16是用来概念性地说明通过图14的步骤S6A的动作而保存于账本A及账本B中的区块链的区块的图。
图17是用来概念性地说明通过图14的步骤S6A的动作而保存于账本A及账本B中的区块链的区块的图。
图18是表示有关比较例的第2例的系统的预约处理的顺序图。
图19是表示有关比较例的第2例的系统的借出处理的顺序图。
图20是表示有关比较例的第2例的系统的返还处理的顺序图。
图21是表示有关比较例的第2例的在移动体装置A的通信恢复时进行的系统的处理的顺序图。
图22是用来说明有关比较例的系统的区块连结处理的流程图。
图23是表示有关比较例的第3例的系统的不正当处理的动作概要的流程图。
图24A是概念性地表示通过图23的步骤S10的动作而保存于账本A中的区块链的区块的图。
图24B是概念性地表示通过图23的步骤S11的动作而保存于账本A中的区块链的区块的图。
图24C是概念性地表示通过图23的步骤S12的动作而保存于账本A中的区块链的区块的图。
图25是用来概念性地说明通过图23的步骤S13的动作而保存于账本A及账本B中的区块链的区块的图。
图26是用来概念性地说明通过图23的步骤S13的动作而保存于账本A及账本B中的区块链的区块的图。
图27是概念性地表示通过图23的步骤S14的动作而保存于账本A及账本B中的区块链的区块的图。
图28是表示有关比较例的第3例的系统的进行本地预约的情况下的处理的顺序图。
图29是表示有关比较例的第3例的系统的进行竞争预约的情况下的处理的顺序图。
图30是表示有关比较例的第3例的系统的进行本地借出的处理的顺序图。
图31是表示有关比较例的第3例的在移动体装置A的通信恢复时进行的系统的处理的顺序图。
图32是表示有关比较例的第3例的系统的返还处理的顺序图。
图33是表示有关比较例的第4例的系统的不正当处理的动作概要的流程图。
图34A是概念性地表示通过图33的步骤S10的动作而保存于账本A中的区块链的区块的图。
图34B是概念性地表示通过图33的步骤S11的动作而保存于账本A中的区块链的区块的图。
图34C是概念性地表示通过图33的步骤S12的动作而保存于账本A中的区块链的区块的图。
图34D是概念性地表示通过图33的步骤S13A的动作而保存于账本A中的区块链的区块的图。
图35是用来概念性地说明通过图33的步骤S14A的动作而保存于账本A及账本B中的区块链的区块的图。
图36是用来概念性地说明通过图33的步骤S14A的动作而保存于账本A及账本B中的区块链的区块的图。
图37是表示有关比较例的第4例的系统的本地返还的处理的顺序图。
图38是表示有关比较例的第4例的在移动体装置A的通信恢复时进行的系统的处理的顺序图。
图39是表示有关实施方式的系统的不能本地预约的处理的顺序图。
图40是表示有关实施方式的区块保存对象决定处理的流程图。
图41是表示有关实施方式的系统的本地借出的处理的顺序图。
具体实施方式
(得到本公开的一技术方案的经过)
如上述那样,在专利文献1中公开了通过区块链适当地管理在车辆终端与用户终端之间收发关于使用预约的信息的技术。
但是,专利文献1所公开的技术中能够恶意利用区块链的机制而不正当使用。以下,举例进行说明。
图1是用来说明进行不正当使用的方法的次序的图。图2A~图2F是表示进行图1所示的次序的场景的一例的图。在图1中表示了进行共享多个机动单车的服务中的对于机动单车A的使用预约,将机动单车A不正当使用的情况下的次序。另外,箭头表示当前时刻。此外,假设多个机动单车分别具有通过区块链管理预约的账本。图2A是表示进行图1所示的步骤1的场景的一例的图,图2B是表示进行图1所示的步骤2、3的场景的一例的图。图2C是表示进行图1所示的步骤4的场景的一例的图,图2D是表示进行图1所示的步骤5的场景的一例的图。图2E是表示进行图1所示的步骤6的场景的一例的图,图2F是表示在图1所示的步骤6之后进行的步骤7的场景的一例的图。
企图进行不正当使用的用户如图2A所示,在步骤1中例如进行在12:00~12:15之间的15分钟使用机动单车A的第1预约。于是,由于机动单车A的账本A是能够与其他机动单车的账本B、C进行通信的(在线)状态,所以如图1的步骤1所示,由黑色表示的第1预约Tx被保存到全部的账本(账本A、B及C)中。结果,将机动单车A解锁,用户能够在12:00~12:15之间的15分钟使用。
接着,企图进行不正当使用的用户如图2B所示,在步骤2及3中,使机动单车A的账本A成为不能与其他机动单车的账本B、C进行通信的(离线)状态。接着,企图进行不正当使用的用户例如对其他机动单车的账本B、C进行在16:00~16:15之间的15分钟使用机动单车A的第2预约。于是,由于机动单车A的账本A是离线状态,所以如图1的步骤3所示,由黑色表示的第2预约Tx仅被保存到在线状态的账本B及C中。
接着,企图进行不正当使用的用户如图2C所示,在步骤4中,例如对机动单车A的账本A进行在12:15~16:15的期间使用机动单车A的不正当预约。于是,由于机动单车A的账本A是不能与其他机动单车的账本B、C进行通信的(离线)状态,所以如图1的步骤4所示,由阴影表示的不正当预约Tx仅被保存到机动单车A的账本A中。结果,在12:15机动单车A被解锁,所以如图2D所示的步骤5所示,该用户在12:15~16:15的期间能够在保持离线状态的状态下不正当使用机动单车A。在此情况下,如图1的步骤5所示,由黑色表示的第2预约Tx仅被保存到在线状态的账本B及C中。
接着,该用户如图2E所示,在步骤6中,在16:00~16:15的期间,使机动单车A的账本A恢复为能够与其他机动单车的账本B、C进行通信的(在线)状态。于是,在账本A、B、C的区块链中发生分叉,如图1的步骤6所示,在账本A的区块链中,与账本B、C的区块链同样被保存第2预约Tx,详细情况后述。并且,不正当预约Tx被保存到第2预约Tx之后。
这里,说明如果在步骤6中机动单车A的账本A恢复为在线状态,则如不正当预约Tx比第2预约Tx靠后被保存到账本A、B、C中那样发生了分叉时的区块链的行为。
图3A~图3C是用来说明发生了分叉时的区块链的行为的图。在图3A~图3C中概念性地表示了保存于移动体A的账本A和移动体B的账本B中的事务数据。Tx表示事务数据。移动体A例如也可以是机动单车A。
首先,如图3A的左侧所示,在移动体A的账本A和移动体B的账本B是能够与其他移动体(未图示)进行通信的(在线)状态的情况下,在账本A及账本B中,保存包含相同的Tx1的区块1以及与该区块1连结并包含Tx2的区块2。Tx2例如可以相当于上述的第1预约Tx。
这样,在账本A及账本B中,如果生成包含Tx2的区块2,则其被连结于上次生成的区块1。在账本A及账本B中构成了相同的区块链。
接着,如图3A的右侧所示,在移动体A的账本A成为与其他移动体的通信断绝的(离线)状态的情况下,在账本A及账本B中保存包含不同的Tx的区块。在图3A的右侧所示的例子中,在账本A中保存有与该区块2连结的包含Txα的区块α,而在账本B中保存有与该区块2连结的包含Tx3的区块3以及与该区块3连结的包含Tx4的区块4。也可以是,Tx3例如相当于上述的第2预约Tx,Txα例如相当于上述的不正当预约Tx。
这样,如果账本A成为离线状态,则账本A及账本B的通信被断绝,所以账本A及账本B单独地更新区块链。
接着,如图3B的左侧所示,如果移动体A的账本A恢复为能够与其他移动体进行通信的状态(离线恢复),则账本A及账本B相互共享不同的区块链。在图3B的左侧所示的例子中的账本A及账本B中,与该区块2连结的区块分支,在该区块2上连结包含Txα的区块α,并且在该区块2上连结包含Tx3的区块3和包含Tx4的区块4。以下,将分支而连结在区块上的区块链中的最长的区块链称作主链,将其以外的区块链称作侧链。在图3B的左侧所示的例子中,包含Tx3的区块3和包含Tx4的区块4相当于区块2的主链,包含Txα的区块α相当于区块2的侧链。
这样,如果账本A再次成为在线状态,则与区块2连结的区块链分支,发生分叉。
接着,如图3B的右侧所示,将作为区块2的侧链的包含Txα的区块α删除,消除了分叉。此时,包含在区块α中的Txα不被删除,而被保存到搭载于各移动体上的移动体装置的事务池中。在图3B的右侧所示的例子中,Txα被保存到移动体装置A和移动体装置B的事务池中。
接着,如图3C所示,在账本A及账本B中,在生成新的区块的定时,包含Txα而保存。在图3C所示的例子中,在账本A及账本B中,将包含相同的Txα的区块5与该区块4连结并保存。
这样,在账本A及账本B中,分叉被消除而成为具有相同的区块链。以下,回到图2F继续说明。
最后,企图进行不正当使用的用户如图2F所示,在步骤7中返还机动单车A。然后,执行费用征收算法,征收机动单车A的使用费用。但是,仅征收第1预约量和第2预约量的费用,不征收对于12:15~16:15期间的使用量即不正当使用量的费用。
这是因为,如果在步骤6中机动单车A的账本A恢复为在线状态,则不正当预约Tx比第2预约Tx靠后被保存到账本A、B、C中,进而第2预约Tx的预约时间段和不正当预约Tx的预约时间段为预订(booking)中。此外,费用征收算法不进行对作为预订中的预约(即竞争预约)、且靠后的预约的不正当预约的费用征收。这样,该用户能够不支付费用而将机动单车A使用4小时。
如以上这样,在物体的使用预约等的管理中使用区块链的情况下,有恶意利用发生了分叉时的区块链的行为而能够将物体不正当地使用的问题。
对此,有关本发明的一技术方案的控制方法,其是包括第1节点和多个第2节点、并且用于服务对象的使用的系统中的上述第1节点的控制方法,上述第1节点持有第1分布式账本,上述多个第2节点分别持有第2分布式账本,其中,执行向上述多个第2节点分别发送第1事务数据的发送处理,将在上述发送处理中与上述第1节点进行了通信的第2节点的数量进行计数,在所计数的上述数量比规定数量多的情况下,将上述第1事务数据保存到上述第1分布式账本,在所计数的上述数量为上述规定数量以下的情况下,不将上述第1事务数据保存到上述第1分布式账本。
由此,第1节点如果不能与超过规定数量的数量的其他移动体装置即第2节点进行通信,则不将例如用来使用移动体的预约事务数据保存到第1分布式账本。由此,能够抑制使第1节点成为不能与第2节点进行通信的状态而使第1事务数据仅保存到第1分布式账本中这样的与服务对象的不正当使用相关联的处理。因此,能够抑制恶意利用分布式账本的服务对象的不正当使用。
此外,例如也可以是,在上述保存中,在所计数的上述数量比规定数量多的情况下,生成包含上述第1事务数据的第1区块,在所计数的上述数量为上述规定数量以下的情况下,不生成上述第1区块。
因此,如果不能与超过规定数量的第2节点进行通信,则不能生成包含所取得的第1事务数据的区块。由此,能够抑制使第1节点成为不能与第2节点进行通信的状态而使包含第1事务数据的区块仅保存到第1分布式账本中这样的与服务对象的不正当使用相关联的处理。因此,能够抑制恶意利用分布式账本的服务对象的不正当使用。
此外,例如也可以是,上述第1事务包含与进行上述服务对象的使用的第1合同有关的合同信息。
因此,能够抑制使第1节点成为不能与第2节点进行通信的状态而使包含与第1合同有关的合同信息的第1事务数据仅保存到第1分布式账本中这样的与服务对象的不正当使用相关联的处理。
此外,例如也可以是,上述第1节点用上述第1分布式账本对第1区块链进行管理,与在上述发送处理中与上述第1节点进行了通信的多个第2节点之间执行共识算法,将所生成的上述第1区块保存到上述第1区块链。
此外,例如也可以是,进一步,履行保存在上述第1区块链中的上述第1事务数据中包含的上述第1合同。
即,不履行没有被保存到第1区块链中的事务数据中包含的合同。因此,能够抑制恶意利用分布式账本的服务对象的不正当使用。
此外,例如也可以是,在所计数的上述数量为上述规定数量以下的情况下,一边持续进行上述计数,一边在一个以上的定时再执行上述发送处理,直到满足规定的条件。
因此,如果在再执行的发送处理中计数的数量比规定数量大,则能够将第1事务数据保存到第1分布式账本中。因此,能够抑制因为暂时性的通信不良而第1事务数据不被保存到第1分布式账本中的不良状况。
此外,例如也可以是,上述规定的条件是所计数的上述数量比上述规定数量多、或从开始上述计数起经过规定时间,在因满足从开始上述计数起经过上述规定时间的条件而停止了上述发送处理的再执行的情况下,删除上述第1事务数据。
因此,能够将即使排除暂时性的通信不良,所计数的数量也为规定数以下的情况下的第1事务数据判定为不正当的事务数据并删除。
此外,例如也可以是,上述系统用于共享多个移动体的服务,上述服务对象是上述多个移动体,上述第1合同是第1移动体的使用预约,上述第1事务数据是用于用户经由上述第1节点进行上述第1移动体的使用预约的预约事务数据,并且包含上述用户的ID、表示上述用户使用上述第1移动体的时间段的信息、以及预约号。
此外,例如也可以是,进一步,上述第1节点从上述用户接收上述第1移动体的解锁请求作为用来开始上述第1移动体的使用的请求,上述第1节点确认在上述第1区块链中是否保存有与上述解锁请求对应的上述预约事务数据,在保存有上述预约事务数据的情况下,许可上述用户在上述时间段解锁上述第1移动体。
由此,能够抑制使第1节点成为不能与第2节点进行通信的状态而使包含预约事务数据的区块仅保存到第1分布式账本中的处理。因此,能够抑制以通过使第1节点成为不能与第2节点进行通信的状态而进行的预约许可用户解锁第1移动体。
此外,例如也可以是,进一步,取得借出事务数据,该借出事务数据表示向上述用户借出了上述第1移动体,并且包含上述用户的ID、上述预约号、以及向上述用户借出了上述第1移动体的时刻的时间戳,将包含上述借出事务数据的第2区块保存到上述第1区块链,取得返还事务数据,该返还事务数据表示上述用户返还了上述第1移动体,并且包含上述用户的ID、上述预约号、以及上述用户返还了上述第1移动体的时刻的时间戳,将包含上述返还事务数据的第3区块保存到上述第1区块链,对于上述预约事务数据中包含的上述用户的ID,执行上述第1移动体的使用费用的征收。
有关本发明的一技术方案的控制装置,其是用于服务对象的使用的系统中的控制装置,上述系统具备持有第1分布式账本的控制装置、以及分别持有第2分布式账本的多个其他控制装置,其中,上述控制装置具备:处理器;以及存储器,上述处理器执行向上述多个其他控制装置分别发送第1事务数据的发送处理,上述处理器将在上述发送处理中与上述控制装置进行了通信的其他控制装置的数量进行计数,上述处理器在所计数的上述数量比规定数量多的情况下,将上述第1事务数据保存到上述第1分布式账本,在所计数的上述数量为上述规定数量以下的情况下,不将上述第1事务数据保存到上述第1分布式账本。
有关本发明的一技术方案的程序,用来使计算机执行包括第1节点和多个第2节点、并且用于服务对象的使用的系统中的上述第1节点的控制方法,上述第1节点持有第1分布式账本,上述多个第2节点分别持有第2分布式账本,其中,上述程序用来使计算机执行:执行向上述多个第2节点分别发送第1事务数据的发送处理;将在上述发送处理中与上述第1节点进行了通信的第2节点的数量进行计数;以及在所计数的上述数量比规定数量多的情况下,将上述第1事务数据保存到上述第1分布式账本,在所计数的上述数量为上述规定数量以下的情况下,不将上述第1事务数据保存到上述第1分布式账本。
以下,参照附图对实施方式进行说明。另外,以下说明的实施方式都表示本公开的一具体例。即,在以下的实施方式中表示的数值、形状、材料、构成要素、构成要素的配置及连接形态、步骤、步骤的顺序等是一例,不是限定本公开的意思。此外,以下的实施方式的构成要素中的、在表示最上位概念的独立权利要求中没有记载的构成要素,虽然不是为了达成本公开的课题而必定需要的,但作为构成更优选的形态的构成要素进行说明。
(实施方式)
首先,对有关本公开的系统构成进行说明。系统包括通过第1分布式账本对第1区块链进行管理的第1节点、以及分别通过第2分布式账本对第2区块链进行管理的多个第2节点,并且用于服务对象的使用。系统例如也可以用于共享多个移动体的服务,该情况下的服务对象是多个移动体。在本实施方式中,系统经由终端(或移动体)从用户受理特定的移动体的使用预约,根据所受理的使用预约向用户借出特定的移动体。系统在所受理的使用预约中的预约时间段,如果经由终端(或移动体)从用户受理对于已被预约的特定的移动体的借出请求,则许可向用户借出特定的移动体。具体而言,系统如果从用户受理特定的移动体的解锁请求,则确认事前进行的使用预约,根据确认结果许可用户在预约时间段将特定的移动体解锁。
另外,共享的服务中的移动体例如包括自行车、机动单车、汽车、船舶、飞行体等。
图4是表示有关实施方式的系统的构成的一例的图。
如图4所示,系统1例如具备移动体10A~10C和终端11A~11C。在该例中,移动体10A~10C分别持有用来共享相同内容的数据的分布式账本。在这些分布式账本中,例如共享相同构成的区块链。
移动体10A~10C和终端11A~11C通过网络连接。网络例如是因特网、移动电话的载波网络等,但由怎样的通信线路或网络构成都可以。
另外,以下将移动体10A~10C分别也称作移动体10,但也有将移动体10A~10C称作移动体A~移动体C的情况。此外,将终端11A~11C分别也称作终端11,但也有将终端11A~11C称作终端A~终端C的情况。此外,也有将移动体10A~10C分别具备的分布式账本称作账本A~账本C的情况。
另外,对保存区块链的分布式账本进行管理的系统是公有型、私有型及联盟型的哪种形态都可以。
图5A是表示有关实施方式的系统的构成的另一例的图。
在图5A中,例如表示了移动体10A、10B、终端11A、11B和管理服务器20。在该例中,移动体10A、10B和管理服务器20分别持有用来共享相同内容的数据的分布式账本。在这些分布式账本中,例如共享了相同构成的区块链。
移动体10A、10B、终端11A、11B和管理服务器20通过网络连接。网络例如是因特网、移动电话的载波网络等,但由怎样的通信线路或网络构成都可以。
图5B是表示有关实施方式的系统的构成的另一例的图。
在图5B中,例如表示了移动体10A~10C和终端11A~11C。在该例中,终端11A~11C分别持有用来共享相同内容的数据的分布式账本。在这些分布式账本中,例如共享相同构成的区块链。
移动体10A~10C和终端11A~11C通过网络连接。网络例如是因特网、移动电话的载波网络等,但由怎样的通信线路或网络构成都可以。
图5C是表示有关实施方式的系统的构成的另一例的图。
在图5C中,例如表示了移动体10A~10C和终端11A~11C。在该例中,移动体10A~10C和终端11A~11C分别持有用来共享相同内容的数据的分布式账本。在这些分布式账本中,例如共享相同构成的区块链。
移动体10A~10C和终端11A~11C通过网络连接。网络例如是因特网、移动电话的载波网络等,但由怎样的通信线路或网络构成都可以。
以下,对图4的系统的各构成进行说明。另外,关于图5A~图5C的系统的构成,与图4的系统相比只是持有分布式账本的装置或终端不同,能够同样地应用。
首先,对设置在移动体10A~10C上的移动体装置进行说明。另外,以下也有将设置在移动体10A~10C上的移动体装置分别称作移动体装置A~移动体装置C的情况。
[移动体装置100]
移动体装置100是通过分布式账本对区块链进行管理的节点的一例。另外,节点可以改称作控制装置。
移动体装置100是搭载在移动体10上的信息处理装置,持有分布式账本。移动体装置100也可以是智能电话及平板电脑等的便携终端。
图6是表示有关实施方式的移动体装置100的构成的一例的图。
有关本实施方式的移动体装置100具备输入部101、事务数据生成部102、事务数据验证部103、区块生成部104、同步部105、智能合约执行部106、区块链管理部107、分布式账本存储部108、状态存储部109、不正当检测部110、通信部111和显示部112。
<输入部101>
输入部101受理来自用户的输入。输入部101将所受理的信息输入显示在显示部112上,或发送给事务数据生成部102,或发送给通信部111。例如,输入部101也可以从用户受理表示返还的信息输入。
<事务数据生成部102>
事务数据生成部102生成事务数据。
在本实施方式中,事务数据生成部102生成表示向用户借出了移动体10的借出事务数据。具体而言,事务数据生成部102在进行了向用户的移动体10的借出的情况下,生成表示向用户借出了移动体10的借出事务数据。事务数据生成部102例如在受理来自用户的解锁请求而进行了移动体的解锁的情况下,生成借出事务数据。借出事务数据包含用户ID、用来识别使用预约的预约号(预约ID)和向用户借出了移动体10的时刻的时间戳。
此外,事务数据生成部102生成表示用户返还了移动体10的返还事务数据。具体而言,事务数据生成部102在由用户进行了移动体10的返还的情况下,生成表示用户返还了移动体10的返还事务数据。由用户进行了移动体10的返还的情况既可以通过输入部101从用户受理表示返还的信息输入来判断,也可以通过经由终端11从用户受理表示返还的信息输入(即,通信部111从终端11接收信息输入)来判断,也可以通过由用户对移动体10进行了上锁来判断,也可以通过通信部111接收在预先设定的移动体10的返还施设中受理了移动体的返还时从返还施设发送的通知来判断。返还事务数据包含用户ID、预约号(预约ID)和用户返还了移动体10的时刻的时间戳。
另外,预约事务数据由终端11A生成,但在移动体装置100从用户受理使用预约的情况下,事务数据生成部102也可以生成用来进行使用预约的预约事务数据。具体而言,事务数据生成部102在由用户对输入部101进行了用于使用预约的输入的情况下,生成包含表示使用预约的预约信息的预约事务数据。预约信息包含用户ID、用来识别使用预约的预约号(预约ID)、用来识别预定向用户借出的移动体装置100的装置ID、以及预约时间段。
<事务数据验证部103>
事务数据验证部103在通信部111接收到事务数据时执行验证算法,验证该事务数据的正当性。接着,事务数据验证部103将被验证了正当性的事务数据保存到状态存储部109的事务池的区域。保存在状态存储部109中的被验证了正当性的事务数据由通信部111作为应向接下来生成的区块保存的事务数据的信息,被发送至其他移动体装置100。
例如,事务数据验证部103验证通信部111接收到的事务数据是否被赋予了用正确的方法生成的电子签名等。这里,通信部111接收的事务数据是预约事务数据、借出事务数据及返还事务数据中的任一个。即,事务数据验证部103验证预约事务数据、借出事务数据及返还事务数据的正当性。
另外,事务数据验证部103在由事务数据生成部102生成事务数据的情况下,也可以不进行事务数据的正当性的验证。
<区块生成部104>
区块生成部104生成包含由事务数据验证部103验证了正当性的事务数据的区块。区块生成部104生成从存储在状态存储部109中的已验证的多个事务数据中包含规定的数量的事务数据的区块。区块生成部104从多个事务数据中的还没有成为区块生成的对象的多个事务数据中,选择作为区块生成的对象的多个区块。区块生成部104也可以从状态存储部109删除已经成为区块生成的对象的多个事务数据。
另外,由移动体装置100的区块生成部104生成的区块和由其他移动体装置100的区块生成部104生成的区块也可以不同。这是因为,根据各移动体装置100的通信状态,保存在状态存储部109中的已验证的事务数据按每个移动体装置100而不同,或区块生成部104中的区块生成的判断基准不同。
另外,区块生成的判断基准(关于应向区块保存的事务数据的规则)也可以由各移动体装置100保持。区块生成部104基于具备区块生成部104的移动体装置100所保持的区块生成的判断基准,从保存在状态存储部109中的已验证的多个事务数据中选择多个事务数据,生成包含所选择的多个事务数据的区块。
<同步部105>
同步部105在与其他移动体装置100之间进行在区块生成部104中生成的区块的同步。
在本实施方式中,同步部105经由通信部111向其他移动体装置100发送在区块生成部104中生成的区块。并且,同步部105关于所发送的区块,在与其他移动体装置100之间共同执行共识算法。在共识算法中,既可以使用被称作PBFT(Practical Byzantine FaultTolerance:实用拜占庭容错)的共识算法,也可以使用其他的公知的共识算法。作为公知的共识算法,例如有POW(Proof Of Work:工作量证明)或POS(Proof Of Stake:权益证明)等。另外,在使用PBFT的情况下,同步部105首先从其他移动体装置100分别接受表示事务数据的验证是否成功的报告,判定该报告的数量是否超过了规定的数量。并且,同步部105也可以在该报告的数量超过了规定的数量时,判定为是通过共识算法验证了事务数据的正当性的情况。这样,同步部105基于从其他移动体装置100分别通知的报告,对事务数据是正当的事务数据(即正当性)达成共识,对区块的正当性达成共识。
此外,同步部105将已达成共识的区块连结到通过存储在分布式账本存储部108中的分布式账本进行管理的第1区块链上。
<智能合约执行部106>
智能合约执行部106通过执行保存在分布式账本存储部108的分布式账本中的事务数据中包含的合约代码等,使智能合约动作。
<<预约SC>>
在本实施方式中,智能合约执行部106也可以通过使预约智能合约动作,来执行进行作为服务对象的移动体的使用预约的预约处理。智能合约执行部106也可以在存储在分布式账本存储部108中的分布式账本内的区块链上被追加了包含预约事务数据的区块的情况下进行预约处理。
<<费用征收SC>>
在本实施方式中,智能合约执行部106也可以通过使费用征收智能合约动作来进行费用计算处理。智能合约执行部106在存储在分布式账本存储部108中的分布式账本内的区块链上被追加了包含返还事务数据的区块的情况下,进行费用计算处理。另外,费用计算处理与由后述的区块链管理部107进行的处理相同。
<<不正当检测SC>>
此外,在本实施方式中,智能合约执行部106也可以通过使不正当检测智能合约动作来进行不正当检测处理。智能合约执行部106在对分布式账本存储部108的第1区块链追加了包含预约事务数据的区块的情况下,进行不正当检测处理。另外,不正当检测处理与由后述的不正当检测部110进行的处理相同。
<<不正当列表生成SC>>
此外,在本实施方式中,智能合约执行部106也可以通过使不正当列表生成智能合约动作来进行不正当列表生成处理。智能合约执行部106在存储在分布式账本存储部108中的分布式账本内的区块链上被追加了包含不正事务数据或不正当检测事务数据的区块的情况下,进行将在不正当检测处理中被判定为不正当的不正当事务数据或识别该不正当事务数据的事务数据ID追加到不正当列表中的处理。
这里,不正当检测事务数据是在通过不正当检测处理检测到不正当事务数据的情况下生成的事务数据,是用来执行不正当列表生成处理的事务数据。不正当列表除了被判定为不正当的不正当事务数据的事务数据ID以外,也可以还包括签订了该不正当事务数据的合同(例如使用预约)的用户的用户ID、生成了不正当事务数据的时刻等。不正当列表既可以存储在状态信息存储部109中,也可以存储在外部的装置所具备的存储器中。由此,用户例如能够通过对终端11进行操作,来检索被判定为是不正当事务数据的事务数据。
这样,智能合约执行部106通过使智能合约动作,能够用分布式账本管理使用费用的征收、不正当预约的检测、不正当列表的生成等。另外,假设费用征收智能合约、不正当检测智能合约及不正当列表生成智能合约例如由用户通过终端11的应用生成,包含这些智能合约的区块预先被保存在区块链中。
<区块链管理部107>
区块链管理部107管理由存储在分布式账本存储部108中的分布式账本(以下称作第1分布式账本)管理的区块链(以下称作第1区块链)。
<<主链、侧链>>
在本实施方式中,区块链管理部107经由通信部111取得由其他移动体装置100持有的分布式账本(以下称作第2分布式账本)管理的区块链(以下称作第2区块链),将由分布式账本存储部108的第1分布式账本管理的第1区块链与所取得的第2区块链比较。区块链管理部107通过比较,判定构成第1区块链的多个区块与构成第2区块链的多个区块是否相同。区块链管理部107在构成第1区块链的多个区块与构成第2区块链的多个区块不同的情况下,判定包含在第1区块链中并且不包含在第2区块链中的一个以上的第1差异区块的数量和包含在第2区块链中并且不包含在第1区块链中的一个以上的第2差异区块的数量中哪个较多(较长)。即,区块链管理部107通过将一个以上的第1差异区块的数量与一个以上的第2差异区块的数量比较,决定哪个是主链区块以及哪个是侧链区块。另外,该决定在第1区块链及第2区块链的比较结果为第1区块链具有一个以上的第1差异区块、并且第2区块链具有一个以上的第2差异区块的情况下进行。
区块链管理部107将一个以上的第1差异区块及一个以上的第2差异区块中的较多的(较长的)差异区块追加到在第1区块链及第2区块链中相互共同的一个以上的共同区块之后。接着,区块链管理部107还在所追加的较多的差异区块之后,追加包含一个以上的第1差异区块及一个以上的第2差异区块中的较少的(较短的)差异区块中包含的一个以上的事务数据的一个以上的区块。即,区块链管理部107将一个以上的第1差异区块及一个以上的第2差异区块中的较多的差异区块决定为主链区块,将一个以上的第1差异区块及一个以上的第2差异区块中的较少的差异区块决定为侧链区块。并且,区块链管理部107在一个以上的共同区块之后,以主链区块、根据侧链区块中包含的一个以上的事务数据生成的追加区块的顺序,追加主链区块及追加区块。
这样,区块链管理部107更新由分布式账本存储部108的第1分布式账本管理的第1区块链。即,区块链管理部107将第1区块链与由其他移动体装置100持有的第2分布式账本管理的第2区块链比较,在这些区块链的构成不同的情况下更新第1区块链,以使构成相互相同。
另外,区块链管理部107在第1区块链及第2区块链的比较结果为第1区块链不具有一个以上的第1差异区块的情况下,通过对第1区块链追加一个以上的第2差异区块,来更新第1区块链。
这里,一个以上的第1差异区块例如是通过移动体装置100在不能与其他移动体装置100进行通信的状态下向第1区块链追加而产生的、没有包含在第2区块链中的区块。另外,在多个其他移动体装置100是可相互通信的状态的情况下,一个以上的第1差异区块的数量比一个以上的第2差异区块的数量少的可能性较高。这是因为,第2区块链由比对第1区块链进行管理的移动体装置100多的台数的多个其他移动体装置100分别所持有的第2分布式账本同步地管理,并且因为,认为在多个其他移动体装置100中与1台移动体装置100相比发生更多的生成区块的机会。因此,由不能与其他移动体装置100之间进行通信的1台移动体装置100产生的一个以上的第1差异区块成为侧链区块的可能性比成为主链区块的可能性更高。
一个以上的第1差异区块也可以具有包含如下事务数据的区块,该事务数据包含关于合同的信息。合同例如是移动体10的使用预约。包含关于合同的信息的事务数据例如是预约事务数据、返还完成事务数据、借出事务数据及返还事务数据。
另外,区块链管理部107也可以不是取得第2区块链的全部,只要取得一部分即可。例如,这里由区块链管理部107取得的第2区块链的一部分,是指比执行上次的第1区块链的更新后的最后的区块靠后的区块以后的一个以上的区块。
<<借出处理>>
此外,区块链管理部107也可以进行用来向用户借出移动体10的借出处理。在此情况下,区块链管理部107如果通信部111接收到解锁请求,则通过参照存储在分布式账本存储部108中的第1分布式账本内的第1区块链,确认是否进行了基于解锁请求的预约。具体而言,区块链管理部107判定在第1区块链中是否保存有包含与解锁请求中包含的预约号相同的预约号的预约事务数据。区块链管理部107在第1区块链中保存有包含与解锁请求中包含的预约号相同的预约号的预约事务数据的情况下,判断为进行了基于解锁请求的预约,向移动体10进行解锁指示。通过进行解锁指示,区块链管理部107向用户许可移动体10的解锁。移动体10如果取得解锁指示,则基于解锁指示使进行了上锁的致动器动作,解除(解锁)移动体10的上锁。
解锁请求是用于解除用户在使用预约中预约了使用的移动体装置100的锁定的信息。解锁请求为了确定使用预约而只要至少包含预约号即可。解锁请求也可以还包含表示进行了使用预约的用户的用户ID、使用预约的对象的移动体10的移动体ID、预约了移动体10的移动体装置100的装置ID、预约时间段等。
另外,区块链管理部107也可以代替接收解锁请求,而在到了保存在第1区块链中的使用预约的预约时间段的开始时刻的情况下,向设有移动体装置100的移动体进行解锁指示。
<<费用计算处理>>
此外,区块链管理部107也可以代替由智能合约执行部106执行的智能合约而进行费用计算处理。区块链管理部107以从上次的处理的执行起经过了一定间隔、或在存储在分布式账本存储部108中的第1分布式账本内的第1区块链上新连结的区块中包含有返还事务数据为触发,进行费用计算处理。区块链管理部107检索分布式账本存储部108的第1区块链,判定在由第1分布式账本管理的第1区块链中是否包含分别包含相互不能并存的两个以上的合同信息的两个以上的事务数据。相互不能并存的两个以上的合同信息,具体而言是相互不能并存的两个以上的预约信息。相互不能并存的两个以上的预约信息例如是包含相互相同的装置ID和一部分时间段相互重复的两个以上的预约时间段的重复预约。另外,该判定与后述的不正当检测部110中的第1不正当判定相同,所以在有不正当检测部110中的第1不正当判定的判定结果的情况下,也可以使用该判定结果。区块链管理部107在第1区块链中包含相互不能并存的预约信息的情况下,履行包含这两个以上的预约信息的两个以上的事务数据中的、最先被追加到第1区块链中的一个事务数据中包含的合同信息所对应的合同。即,区块链管理部107在有重复预约时,对于重复预约中最前的使用预约计算费用,执行从用户征收计算出的费用的费用征收处理。换言之,区块链管理部107对于在重复预约中最前的使用预约以外的使用预约,为了防止从相同用户的双重征收,不进行费用计算,不执行费用征收处理。
另外,作为费用计算的对象的使用预约是保存在第1区块链中的返还事务数据中包含的预约号的使用预约,并且是还没有进行费用的计算的使用预约。即,将已经进行了费用的计算的使用预约从费用计算的对象中排除。此外,假如在与返还事务数据中包含的预约号对应的使用预约没有保存在第1区块链中的情况下,不进行对于返还事务数据的费用计算。
<分布式账本存储部108>
分布式账本存储部108存储有由第1区块链管理的第1分布式账本。在本实施方式中,第1分布式账本保存预约事务数据、借出事务数据及返还事务数据。
<状态存储部109>
状态存储部109是存储有分布式账本的最新版的数据的存储部。存储在状态存储部109中的数据是能够由计算机变更或删除的数据。状态存储部109包含保存例如用来执行智能合约的变量、函数等的内存的区域、以及保存事务数据的事务池的区域。状态存储部109也可以存储由事务数据验证部103验证了正当性的事务数据。状态存储部109也可以存储经由通信部111取得的第2区块链。状态存储部109也可以存储第2区块链中的一个以上的第2差异区块。状态存储部109也可以存储分布式账本存储部108中存储的第1区块链。状态存储部109也可以存储向分布式账本保存前的事务数据。状态存储部109也可以存储被事务数据调出的智能合约。此外,状态存储部109也可以存储保存在分布式账本中的智能合约的变量。状态存储部109也可以存储由事务数据生成部102生成的事务数据。状态存储部109也可以存储由通信部111接收到的事务数据。
状态存储部109也可以暂时地存储上述的各数据。
<不正当检测部110>
不正当检测部110如果已由事务数据验证部103验证的事务数据被保存到状态存储部109的事务池的区域中,则进行区块保存对象决定处理。不正当检测部110也可以通过执行预先保存在状态存储部109的在存储器上的区域或分布式账本存储部108的第1分布式账本中的区块保存对象决定算法,进行区块保存对象决定处理。不正当检测部110将能够与自身的移动体装置100进行通信的其他移动体装置100的数量进行计数,判定计数的数量是否比规定数量多。不正当检测部110在所计数的数量比规定数量多的情况下许可区块生成,在所计数的数量为处置值以下的情况下不许可区块生成。即,不正当检测部110进行仅在所计数的数量比规定数量多的情况下许可区块生成的不正当检测处理。
另外,不正当检测部110仅在所计数的数量比规定数量多的情况下许可区块生成,但并不限于区块生成的许可,也可以许可向第1分布式账本的保存。即,也可以不是使用区块链由各移动体装置100进行事务数据的共享,只要由分布式账本进行即可。
另外,不正当检测部110也可以向多个其他移动体装置100执行事务数据的发送处理,将在该发送处理中没有发生错误的其他移动体装置100判定为能够通信。在此情况下,不正当检测部110只要通过没有发生错误的其他移动体装置100的数量比规定数量多,来判定为与自身的移动体装置100进行了通信的其他移动体装置100的数量比规定数量多即可。
此外,多个其他移动体装置100如果接收到事务数据,则将接收完成的通知返送给发送了事务数据的移动体装置100。也可以利用这一点,不正当检测部110执行事务数据的发送处理,将在该发送处理中发送了接收完成的通知的其他移动体装置判定为能够通信。在此情况下,不正当检测部110只要通过发送了接收完成的通知的其他移动体装置100的数量比规定数量多,来判定为与自身的移动体装置100进行了通信的其他移动体装置100的数量比规定数量多即可。
另外,不正当检测部110也可以在所计数的与自身的移动体装置100进行了通信的其他移动体装置100的数量为规定数量以下的情况下,一边持续进行计数,一边在一个以上的定时再执行事务数据的发送处理,直到满足规定的条件。规定的条件是所计数的数量比规定数量多,或从开始计数起经过规定时间。即,不正当检测部110在检测到计数数量变得比规定数量大时,或从开始计数起经过了规定时间时,停止发送处理的再执行。不正当检测部110在因检测到计数数量变得比规定数量大而停止了发送处理的再执行的情况下,许可包含作为发送处理的对象的事务数据的区块的生成。不正当检测部110在通过满足从开始计数起经过规定时间而停止了发送处理的再执行的情况下,由于不满足计数数量的条件,所以删除作为发送处理的对象的事务数据。
这样,如果未能与超过规定数量的其他移动体装置100进行通信,则不生成包含在发送处理中发送的事务数据的区块,所以能够使得与移动体10的不正当使用相关联那样的事务数据不保存到区块链中。由此,即使与移动体10的不正当使用相关联的预约事务数据被保存在事务池中,也不被保存到区块链,能够使得移动体10不被使用。因此,能够使得通过费用计算算法不被征收费用的不正当预约本身不被进行。
<<其他>>
此外,不正当检测部110也可以仅在通信部111从与其他移动体装置100之间不能通信的状态成为能够通信时进行不正当检测处理。此外,不正当检测部110也可以仅在通信部111从与其他移动体装置100之间不能通信的状态成为能够通信时、并且在区块链管理部107中将第1区块链与第2区块链进行比较的结果产生了主链区块和侧链区块时进行不正当检测处理。
<通信部111>
通信部111经由网络向其他移动体装置100或终端11发送信息,或从其他移动体装置100或终端11接收信息。通信部111经由网络与其他移动体装置100或终端11之间进行通信。另外,该通信也可以由TLS(Transport Layer Security:传输层安全协议)进行,TLS通信用的加密秘钥也可以由通信部111保持。
在本实施方式中,通信部111从终端11接收预约事务数据。此外,通信部111从终端11接收解锁请求。此外,通信部111从其他移动体装置100接收在其他移动体装置100中已验证的事务数据。通信部111在与其他移动体装置100之间为了共同执行共识算法而进行区块的收发。
<显示部112>
显示部112显示输入部101所受理的信息输入。显示部112也可以显示从终端11发送的信息。显示部112也可以显示用来从用户受理移动体装置100的返还的显示(UI:UserInterface,用户接口)。
接着,对终端11A~11C进行说明。另外,由于终端11A~终端11C的构成共通,所以称作终端11而进行说明。
[终端11]
终端11是由用户使用的终端的一例。终端11例如可以是个人计算机,也可以是智能电话及平板电脑等的便携终端。
图7是表示有关实施方式1的终端11的构成的一例的图。
有关本实施方式的终端11具备输入部1101、显示部1102和通信部1103。
<输入部1101>
输入部1101受理通过用户的操作进行的信息输入。输入部1101将受理的信息输入显示在显示部1102上或发送给通信部1103。
例如,输入部1101被导入用来进行使用预约的应用,受理向用来进行使用预约的显示(UI)的输入。该显示(UI)由显示部1102显示。输入部1101受理持有终端11的用户的电子签名,生成包含所受理的用于使用预约的输入和电子签名的预约事务数据。
此外,输入部1101受理向用于对所预约的移动体装置100的解锁请求的显示(UI:User Interface)的输入。该显示(UI)由显示部1102显示。输入部1101受理用于解锁请求的输入,生成解锁请求。
<显示部1102>
显示部1102显示输入部1101所受理的信息输入。显示部1102显示用来进行使用预约的显示(UI)。此外,显示部1102显示用于解锁请求的显示(UI)。
<通信部1103>
通信部1103经由网络向移动体装置100发送信息,或从移动体装置100接收或通知信息。此外,通信部1103也可以经由网络向其他终端11发送信息或接收来自其他终端11的信息。
这样,通信部1103经由网络在与移动体装置100或其他终端11之间进行通信。另外,该通信也可以通过TLS进行,TLS通信用的加密秘钥也可以由通信部1103保持。
例如,通信部1103将预约事务数据发送给移动体装置100。此外,通信部1103将解锁请求发送给所预约的移动体装置100。
[系统的动作等]
接着,对如以上这样构成的系统的动作进行说明。
首先,作为比较例,说明正常地进行共享多个移动体的服务中的对移动体A的处理的正常处理,并说明恶意利用区块链的机制而将移动体A不正当使用的情况下的该处理即不正当处理。然后,对采取了不正当对策的本公开的该处理进行说明。
[比较例的第1例]
将移动体A总是处于在线状态的情况下的处理作为比较例的第1例进行说明。
图8是表示有关比较例的第1例的系统的正常处理的动作概要的流程图。在图8中,表示了在移动体装置A、B、C为在线状态下正常地进行对移动体A的处理的正常处理的动作的概要。图9A~图9C是用来概念性地说明而保存于移动体装置A的账本A及移动体装置B的账本B中的区块链的区块的图。图9A是概念性地表示通过图8的步骤S1的动作而保存于账本A及账本B中的区块链的区块的图。图9B是概念性地表示通过图8的步骤S3的动作而保存于账本A及账本B中的区块链的区块的图。图9C是概念性地表示通过图8的步骤S5的动作而保存于账本A及账本B中的区块链的区块的图。以下,假设想要使用移动体A的用户使用终端A对搭载在移动体A上的移动体装置A进行处理而说明。
如图8所示,首先,例如终端A与移动体装置A进行通信,进行搭载有移动体装置A的移动体A的预约处理(S1)。更具体地讲,终端A与移动体装置A进行通信,生成用来对移动体A进行使用预约的预约事务数据Trsv,发送给移动体装置A。在此情况下,例如如图9A所示,由于移动体装置A和移动体装置B是能够与其他移动体装置进行通信的(在线)状态,所以在账本A及账本B中都保存包含用来对移动体A进行使用预约的预约事务数据Trsv的区块。
接着,例如终端A与移动体装置A进行通信,进行移动体A的借出处理(S3)。更具体地讲,终端A与移动体装置A进行通信,为了使用移动体A而发送移动体A的解锁请求。于是,移动体装置A使移动体A解锁,以移动体A被解锁为触发,生成表示移动体A的借出开始的借出事务数据Trnt。在此情况下,例如如图9B所示,由于移动体装置A和移动体装置B是能够与其他移动体装置进行通信的(在线)状态,所以在账本A及账本B中都保存包含表示移动体A的借出开始的借出事务数据Trnt的区块。
接着,例如终端A与移动体装置A进行通信,进行移动体A的返还处理(S5)。更具体地讲,操作了终端A的用户将被解锁后的移动体A使用进行了使用预约的时间,然后返还。移动体装置A如果移动体A被返还,则生成表示移动体A的返还完成的返还事务数据Trtn。在此情况下,例如如图9C所示,由于移动体装置A和移动体装置B是能够与其他移动体装置进行通信的(在线)状态,所以在账本A及账本B中都保存包含表示移动体A的返还完成的返还事务数据Trtn的区块。
接着,在移动体装置A等中,进行费用计算处理(S7)。更具体地讲,在移动体装置A等中,执行费用计算算法,对于用户已进行的移动体A的使用预约征收使用了移动体A的费用。
接着,使用顺序图对图8所示的步骤S1~S5的处理详细情况即预约处理、借出处理及返还处理的详细情况进行说明。以下,也假设想要使用移动体A的用户使用终端A对搭载在移动体A上的移动体装置A进行移动体A的预约处理、借出处理及返还处理而说明。
[有关比较例的第1例的预约处理]
图10是表示有关比较例的第1例的系统的预约处理的顺序图。
首先,终端A基于想要使用移动体A的用户的操作,生成用来对移动体A进行使用预约的预约事务数据Trsv(S101)。这里,也可以是,在终端A即终端11A中,作为输入部1101被导入了应用,应用基于用户的操作来生成预约事务数据Trsv。
接着,终端A与移动体A的移动体装置A进行通信,将在步骤S101中生成的预约事务数据Trsv发送给移动体装置A(S102)。
接着,移动体装置A如果接收到在步骤S102中发送的预约事务数据Trsv,则向作为其他移动体装置的移动体装置B、C转送预约事务数据Trsv(S103)。由此,移动体装置B、C取得预约事务数据Trsv。
接着,移动体装置A、B、C分别执行进行包括所取得的预约事务数据Trsv的正当性在内的验证的验证算法(S104)。另外,在预约事务数据Trsv的验证没有成功的情况下,结束预约处理。
接着,移动体装置A、B、C分别将通过在步骤S104中执行的验证算法已验证的预约事务数据Trsv保存到事务池(S105)。更具体地讲,移动体装置A将已验证的预约事务数据Trsv保存到事务池a,移动体装置B将已验证的预约事务数据Trsv保存到事务池b。移动体装置C将已验证的预约事务数据Trsv保存到事务池c。
接着,移动体装置A、B、C由于是能够相互通信的状态,所以交换应向接下来生成的区块保存的事务数据的信息(S106)。在图10所示的例子中,移动体装置A、B、C确认在应向接下来生成的区块保存的事务数据中有已验证的预约事务数据Trsv。
接着,移动体装置A、B、C分别生成包含已验证的预约事务数据Trsv的区块Blc(Trsv)(S107)。
接着,移动体装置A、B、C分别向其他移动体装置发送在步骤S107中生成的区块Blc(Trsv)(S108)。由此,移动体装置A、B、C分别能够向其他移动体装置通知区块Blc(Trsv)中包含的预约事务数据Trsv的正当性的验证成功的报告。
接着,移动体装置A、B、C共同执行共识算法(S109)。具体而言,移动体装置A、B、C分别基于在步骤S108中被通知的报告,对预约事务数据Trsv是正当的事务数据(即正当性)达成共识,对区块Blc(Trsv)的正当性达成共识。在图10所示的例子中,对区块Blc(Trsv)中包含的预约事务数据Trsv是正当的事务数据(即正当性)达成了共识,对区块Blc(Trsv)的正当性也达成了共识。另外,步骤S107及步骤S108的处理也可以在由步骤S109执行共识算法时进行。
接着,移动体装置A、B、C分别将在步骤S109中已达成共识的区块Blc(Trsv)连结到分布式账本内的区块链上(S110)。更具体地讲,移动体装置A将已达成共识的区块Blc(Trsv)连结到账本A内的区块链上,移动体装置B将已达成共识的区块Blc(Trsv)连结到账本B内的区块链上。移动体装置C将已达成共识的区块Blc(Trsv)连结到账本C内的区块链上。
由此,如图9A所示,在账本A、账本B及账本C中都保存包含用来对移动体A进行使用预约的预约事务数据Trsv的区块。
[有关比较例的第1例的借出处理]
图11是表示有关比较例的第1例的系统的借出处理的顺序图。
首先,终端A基于想要使用移动体A的用户的操作,向移动体装置A发送移动体A的解锁请求(S301)。这里,也可以是,在终端A即终端11A中作为输入部1101而被导入了应用,应用基于用户的操作来生成移动体A的解锁请求并发送。移动体A的解锁请求中包含用户的预约ID等能够识别对于对应的移动体A的预约的信息。
接着,移动体装置A如果接收到在步骤S301中发送的解锁请求,则确认在账本A的区块链中是否有与解锁请求对应的预约(S302)。这里,移动体装置A也可以通过确认在账本A的区块链中是否有预约事务数据Trsv,来确认是否有与解锁请求对应的预约。在图10所示的例子中,由于在账本A的区块链中包含有预约事务数据Trsv,所以移动体装置A能够确认到在账本A的区块链中有与解锁请求对应的预约。
接着,移动体装置A解除移动体A的锁定(S303)。这里,移动体装置A既可以通过对管理移动体A的锁定的设备发出解除指示而解除移动体A的锁定,也可以直接解除移动体A的锁定。
接着,移动体装置A以移动体A的锁定被解除为触发,生成表示移动体A的借出开始的借出事务数据Trnt(S304)。借出事务数据Trnt中包含使用移动体A的用户ID和借出开始时刻。借出开始时刻例如是锁定被解除的时刻。
接着,移动体装置A将借出事务数据Trnt转送给作为其他移动体装置的移动体装置B、C(S305)。由此,移动体装置B、C取得借出事务数据Trnt。
接着,移动体装置A、B、C分别执行进行包括借出事务数据Trnt的正当性在内的验证的验证算法(S306)。
接着,移动体装置A、B、C分别将通过在步骤S306中执行的验证算法已验证的借出事务数据Trnt保存到事务池(S307)。更具体地讲,移动体装置A将已验证的借出事务数据Trnt保存到事务池a,移动体装置B将已验证的借出事务数据Trnt保存到事务池b。移动体装置C将已验证的借出事务数据Trnt保存到事务池c。
接着,移动体装置A、B、C由于是能够相互通信的状态,所以交换应向接下来生成的区块保存的事务数据的信息(S308)。在图11所示的例子中,移动体装置A、B、C确认在应向接下来生成的区块保存的事务数据中有已验证的借出事务数据Trnt。
接着,移动体装置A、B、C分别生成包含已验证的借出事务数据Trnt的区块Blc(Trnt)(S309)。
接着,移动体装置A、B、C分别向其他移动体装置发送在步骤S309中生成的区块Blc(Trnt)(S310)。由此,移动体装置A、B、C分别能够向其他移动体装置通知区块Blc(Trnt)中包含的借出事务数据Trnt的正当性的验证成功的报告。
接着,移动体装置A、B、C共同执行共识算法(S311)。具体而言,移动体装置A、B、C分别基于在步骤S310中通知的报告,对借出事务数据Trnt是正当的事务数据(即正当性)达成共识,对区块Blc(Trnt)的正当性达成共识。在图11所示的例子中,对区块Blc(Trnt)中包含的借出事务数据Trnt是正当的事务数据(即正当性)达成了共识,对区块Blc(Trnt)的正当性也达成了共识。另外,步骤S309及步骤S310的处理也可以在步骤S311中执行共识算法时进行。
接着,移动体装置A、B、C分别将在步骤S311中已达成共识的区块Blc(Trnt)连结到分布式账本内的区块链上(S312)。更具体地讲,移动体装置A将已达成共识的区块Blc(Trnt)连结到账本A内的区块链上,移动体装置B将已达成共识的区块Blc(Trnt)连结到账本B内的区块链上。移动体装置C将已达成共识的区块Blc(Trnt)连结到账本C内的区块链上。
由此,如图9B所示,在账本A、账本B及账本C中都保存包含借出事务数据Trnt的区块,记录移动体A被开始借出。
[有关比较例的第1例的返还处理]
图12是表示有关比较例的第1例的系统的返还处理的顺序图。
首先,如果由使用了移动体A的用户返还移动体A,则移动体装置A确认移动体A被返还(S501)。这里,例如用户A能够通过将移动体A放置到规定的返还设施、或将移动体A放置到规定的位置并按下移动体装置A的UI的返还按钮,来返还移动体A。用户A也可以按下显示在终端A上的UI的返还按钮来返还移动体A。移动体装置A既可以通过由规定的返还设施或终端A输入移动体A已被返还之意的消息来确认移动体A被返还,也可以通过移动体装置A的UI的返还按钮被按下来确认移动体A已被返还。
接着,移动体装置A以确认了移动体A已被返还为触发,生成表示移动体A的返还完成的返还事务数据Trtn(S502)。返还事务数据Trtn中包含使用移动体A的用户ID、返还时刻和使用了移动体A时的预约ID。返还时刻例如是移动体装置A确认了移动体A已被返还的时刻。另外,并不限于在返还事务数据Trtn中包含预约ID的情况,只要包含有能够计算用户的移动体A的使用费用的信息即可。
接着,移动体装置A将返还事务数据Trtn转送给作为其他移动体装置的移动体装置B、C(S503)。由此,移动体装置B、C取得返还事务数据Trtn。
接着,移动体装置A、B、C分别执行进行包括所取得的返还事务数据Trtn的正当性在内的验证的验证算法(S504)。
接着,移动体装置A、B、C分别将通过在步骤S504中执行的验证算法已验证的返还事务数据Trtn保存到事务池(S505)。更具体地讲,移动体装置A将已验证的返还事务数据Trtn保存到事务池a,移动体装置B将已验证的返还事务数据Trtn保存到事务池b。移动体装置C将已验证的返还事务数据Trtn保存到事务池c。另外,虽然没有图示,但移动体装置A、B、C由于是能够相互通信的状态,所以交换应向接下来生成的区块保存的事务数据的信息。在图12所示的例子中,移动体装置A、B、C确认在应向接下来生成的区块保存的事务数据中有已验证的返还事务数据Trtn。
接着,移动体装置A、B、C分别生成包含已验证的返还事务数据Trtn的区块Blc(Trtn)(S506)。
接着,移动体装置A、B、C分别向其他移动体装置发送在步骤S506中生成的区块Blc(Trtn)(S507)。由此,移动体装置A、B、C分别能够向其他移动体装置通知区块Blc(Trtn)中包含的返还事务数据Trtn的正当性的验证成功的报告。
接着,移动体装置A、B、C共同执行共识算法(S508)。具体而言,移动体装置A、B、C分别基于在步骤S507中通知的报告,对返还事务数据Trtn是正当的事务数据(即正当性)达成共识,对区块Blc(Trtn)的正当性达成共识。在图12所示的例子中,对区块Blc(Trtn)中包含的返还事务数据Trtn是正当的事务数据(即正当性)达成了共识,对区块Blc(Trtn)的正当性也达成了共识。另外,步骤S506及步骤S507的处理也可以在由步骤S508执行共识算法时进行。
接着,移动体装置A、B、C分别将在步骤S508中已达成共识的区块Blc(Trnt)连结到分布式账本内的区块链上(S509)。更具体地讲,移动体装置A将已达成共识的区块Blc(Trtn)连结到账本A内的区块链上,移动体装置B将已达成共识的区块Blc(Trtn)连结到账本B内的区块链上。移动体装置C将已达成共识的区块Blc(Trtn)连结到账本C内的区块链上。由此,如图9C所示,在账本A、账本B及账本C中都保存包含返还事务数据Trtn的区块,记录移动体A的返还完成。
接着,移动体装置A、B、C分别检查保存在区块链中的预约信息(S510)。更具体地讲,移动体装置A、B、C分别通过包含返还事务数据Trtn的区块被连结到自身的账本内的区块链上,使预约智能合约执行,确认作为保存在区块链中的预约信息而存在预约事务数据Trsv。
接着,移动体装置A、B、C分别执行费用计算算法(S511)。在图12所示的例子中,执行使用了移动体A的费用的征收。这里,费用计算算法既可以包含在预约智能合约中,也可以包含在费用征收智能合约中。移动体装置A、B、C也可以分别使费用征收智能合约或预约智能合约执行,对预约事务数据Trsv中包含的移动体A的使用预约进行征收费用的处理。另外,在图12所示的例子中将费用计算算法的执行作为返还处理的一部分进行了说明,但并不限于此。也可以由图8所示的费用计算处理进行。
[有关比较例的费用计算处理]
接着,使用流程图对图8所示的步骤S7的费用计算处理的详细情况进行说明。
图13是用来说明有关比较例的系统的费用计算处理的详细情况的流程图。以下,作为代表而说明由移动体装置A进行该处理的情况。
在图8所示的步骤S7中,首先,移动体装置A确认是否有费用征收的触发(S71)。该触发既可以是经过了一定间隔,也可以是在新连结到账本A的区块链上的区块中包含有返还事务数据Trtn。
在步骤S71中,当有触发时(S71中为“是”),移动体装置A对账本A的区块链内进行检索(S72)。另外,在步骤S71中,当没有触发时(S71中为“否”),移动体装置A向步骤S71返回。
接着,移动体装置A确认在账本A的区块链内除此以外是否还有预约(即重复预约)(S73)。
在步骤S73中,当有重复预约时(S73中为“是”),确认预约即返还事务数据Trtn中包含的预约ID在重复预约中是否为最前(S74)。另外,在步骤S73中,当没有重复预约时(S73中为“否”),向步骤S75前进。
在步骤S74中,当在重复预约中为最前时(S74中为“是”),移动体装置A执行费用计算算法(S75)。由此,计算对于预约即返还事务数据Trtn中包含的表示移动体A的使用预约的预约ID的费用。另外,在步骤S74中,当在重复预约中不是最前时(S74中为“否”),结束费用计算处理。
接着,移动体装置A执行费用征收处理(S76)。由此,对于表示用户所进行的移动体A的使用预约的预约ID征收使用了移动体A的费用。也可以对预约事务数据Trsv中包含的移动体A的使用预约进行征收费用的处理。
[比较例的第2例]
在比较例的第1例中,说明了在移动体A是在线状态的情况下,正常地进行共享多个移动体的服务中的对移动体A的预约处理、借出处理及返还处理的情况。接着,作为比较例的第2例,说明在移动体装置A是离线状态的情况下正常地进行对移动体A的预约处理、借出处理及返还处理,然后移动体装置A恢复为在线状态的情况下进行的处理。
图14是表示有关比较例的第2例的系统的正常处理的动作概要的流程图。在图14中,表示了移动体装置A是离线状态,而移动体装置B、C是在线状态的情况下的正常地进行对移动体A的预约处理、借出处理及返还处理的正常处理的动作的概要。图15A~图17是用来概念性地说明而保存于移动体装置A的账本A及移动体装置B的账本B中的区块链的图。图15A是概念性地表示通过图14的步骤S1A的动作而保存于账本A中的区块链的区块的图。图15B是概念性地表示通过图14的步骤S3A的动作而保存于账本A中的区块链的区块的图。图15C是概念性地表示通过图14的步骤S5A的动作而保存于账本A中的区块链的区块的图。图16及图17是用来概念性地说明通过图14的步骤S6A的动作而保存于账本A及账本B中的区块链的区块的图。以下,假设想要使用移动体A的用户使用终端A对搭载在移动体A上的移动体装置A进行处理而说明。
如图14所示,首先,例如终端A与不能与其他移动体装置B、C进行通信的(离线)状态的移动体装置A进行通信,进行搭载有离线状态的移动体装置A的移动体A的预约处理(S1A)。即,终端A对离线状态的移动体装置A进行将移动体A本地预约的预约处理。更具体地讲,终端A与移动体装置A进行通信,生成用来对移动体A进行使用预约的预约事务数据Trsv,发送给移动体装置A。在此情况下,例如如图15A所示,由于移动体装置A是不能与移动体装置B进行通信的(离线)状态,所以仅在账本A中保存包含用来对移动体A进行使用预约的预约事务数据Trsv的区块。
接着,例如终端A与离线状态的移动体装置A进行通信,进行移动体A的借出处理(S3A)。即,终端A对离线状态的移动体装置A进行将移动体A本地借出的借出处理。更具体地讲,终端A与移动体装置A进行通信,能够为了使用移动体A而发送移动体A的解锁请求。于是,移动体装置A使移动体A解锁,移动体A被解锁而生成表示移动体A的借出开始的借出事务数据Trnt。在此情况下,例如如图15B所示,由于移动体装置A是离线状态,所以仅在账本A中保存包含表示移动体A的借出开始的借出事务数据Trnt的区块。
接着,例如终端A与离线状态的移动体装置A进行通信,进行移动体A的返还处理(S5A)。即,终端A对离线状态的移动体装置A进行将移动体A本地返还的返还处理。更具体地讲,操作了终端A的用户将被解锁的移动体A使用进行了使用预约的时间,然后返还。移动体装置A如果移动体A被返还,则生成表示移动体A的返还完成的返还事务数据Trtn。在此情况下,例如如图15C所示,由于移动体装置A是离线状态,所以仅在账本A中保存包含表示移动体A的返还完成的返还事务数据Trtn的区块。
然后,假设移动体装置A恢复为在线状态。于是,当移动体装置A恢复为在线状态时,在系统中进行恢复时处理(S6A)。更具体地讲,在步骤S1A~步骤S5A中,如上述那样,移动体装置A为不能与移动体装置B进行通信的(离线)状态。因此,如图16的(a)所示,在移动体装置A恢复为在线状态的时间点,在账本A及账本B的区块链上连结着不同的区块。接着,如果移动体装置A恢复为在线状态,则如图16的(b)所示,在移动体装置A的账本A及移动体装置B的账本B中,相互共享不同的区块链,发生分叉。这里,连结在离线状态的移动体装置A的账本A的区块链上的区块相当于侧链区块,连结在在线状态的移动体装置B的账本B的区块链上的区块相当于主链区块。因此,如图17的(a)及(b)所示,在移动体装置A的账本A及移动体装置B的账本B中,侧链区块被删除,侧链区块中包含的事务数据被保存到事务池中,从而分叉被消除。另外,在图17的(b)中,预约事务数据Trsv、借出事务数据Trnt和返还事务数据Trtn被保存在事务池中。然后,如图17的(c)所示,在移动体装置A的账本A及移动体装置B的账本B的区块链中,在生成新的区块的定时,生成包含保存在事务池中的事务数据的区块并连结。
接着,在移动体装置A等中,进行费用计算处理(S7)。步骤S7的费用计算处理如上所述,所以省略说明。
接着,使用顺序图说明图14所示的步骤S1A的预约处理、步骤S3A的借出处理及S5A的返还处理的详细情况,即本地预约、本地借出及本地返还的详细处理。此外,使用顺序图还说明图14所示的步骤S6A的移动体装置A的通信恢复时的处理的详细情况。以下,假设想要使用移动体A的用户使用终端A对搭载在移动体A上的移动体装置A进行移动体A的预约处理、借出处理及返还处理而说明。
[有关比较例的第2例的预约处理]
图18是表示有关比较例的第2例的系统的预约处理即本地预约的处理的顺序图。对于与图10同样的要素赋予相同的标号,并省略详细的说明。
首先,终端A基于想要使用移动体A的用户的操作,生成用来对移动体A进行使用预约的预约事务数据Trsv(S101),将所生成的预约事务数据Trsv发送给移动体装置A(S102)。
接着,移动体装置A如果接收到在步骤S102中发送的预约事务数据Trsv,则尝试向作为其他移动体装置的移动体装置B、C转送预约事务数据Trsv,但失败(S103A)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C转送预约事务数据Trsv。因此,移动体装置B、C没有取得预约事务数据Trsv。
接着,移动体装置A执行进行包括所取得的预约事务数据Trsv的正当性在内的验证的验证算法(S104)。另外,在预约事务数据Trsv的验证不成功的情况下,结束预约处理。
接着,移动体装置A将通过在步骤S104中执行的验证算法已验证的预约事务数据Trsv保存到事务池a(S105)。
接着,移动体装置A生成包含已验证的预约事务数据Trsv的区块Blc(Trsv)(S107)。另外,移动体装置A由于是离线状态,所以不与移动体装置B、C交换应向接下来生成的区块保存的事务数据的信息,而生成区块Blc(Trsv)。
接着,移动体装置A尝试向作为其他移动体装置的移动体装置B、C发送在步骤S107中生成的区块Blc(Trsv),但失败(S108A)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C发送区块Blc(Trsv)。
接着,移动体装置A单独执行共识算法(S109A)。具体而言,移动体装置A单独对预约事务数据Trsv是正当的事务数据(即正当性)达成共识,单独对区块Blc(Trsv)的正当性达成共识。在图18所示的例子中,移动体装置A通过对区块Blc(Trsv)中包含的预约事务数据Trsv是正当的事务数据(即正当性)达成共识,对区块Blc(Trsv)的正当性也达成共识。另外,步骤S107的处理也可以在步骤S109A中单独执行共识算法时进行。
接着,移动体装置A将在步骤S109A中已达成共识的区块Blc(Trsv)连结到账本A内的区块链上(S110)。
由此,如图15A所示,仅在账本A中保存包含用来对移动体A进行使用预约的预约事务数据Trsv的区块,预约被确定。这样,以下将仅在离线状态的账本A中自我完结而预约被确定的情况称作本地预约。
[有关比较例的第2例的借出处理]
图19是表示有关比较例的第2例的系统的借出处理即本地借出的处理的顺序图。对于与图11同样的要素赋予相同的标号,并省略详细的说明。
首先,终端A基于想要使用移动体A的用户的操作,向移动体装置A发送移动体A的解锁请求(S301)。
接着,移动体装置A如果接收到在步骤S301中发送的解锁请求,则确认在账本A的区块链中是否有与解锁请求对应的预约(S302),解除移动体A的锁定(S303)。
接着,移动体装置A以移动体A的锁定被解除为触发,生成表示移动体A的借出开始的借出事务数据Trnt(S304)。
接着,移动体装置A尝试向作为其他移动体装置的移动体装置B、C转送借出事务数据Trnt,但失败(S305A)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C转送借出事务数据Trnt。因此,移动体装置B、C没有取得借出事务数据Trnt。
接着,移动体装置A执行进行包括借出事务数据Trnt的正当性在内的验证的验证算法(S306)。
接着,移动体装置A将通过在步骤S306中执行的验证算法已验证的借出事务数据Trnt保存到事务池a(S307)。
接着,移动体装置A分别生成包含已验证的借出事务数据Trnt的区块Blc(Trnt)(S309)。另外,移动体装置A由于是离线状态,所以不与移动体装置B、C交换应向接下来生成的区块保存的事务数据的信息,而生成区块Blc(Trnt)。
接着,移动体装置A尝试向作为其他移动体装置的移动体装置B、C发送在步骤S309生成的区块Blc(Trnt),但失败(S310A)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C发送区块Blc(Trnt)。
接着,移动体装置A单独执行共识算法(S311A)。具体而言,移动体装置A单独对借出事务数据Trnt是正当的事务数据(即正当性)达成共识,单独对区块Blc(Trnt)的正当性达成共识。在图19所示的例子中,移动体装置A通过对区块Blc(Trnt)中包含的借出事务数据Trnt是正当的事务数据(即正当性)达成共识,来对区块Blc(Trnt)的正当性也达成共识。另外,步骤S309的处理也可以在由步骤S311执行共识算法时进行。
接着,移动体装置A将在步骤S311A中已达成共识的区块Blc(Trnt)连结到账本A内的区块链上(S312)。
由此,如图15B所示,仅在账本A中保存包含借出事务数据Trnt的区块,记录移动体A被开始借出。这样,以下将仅在离线状态的账本A中自我完结而记录移动体A被开始借出的情况称作本地借出。
[有关比较例的第2例的返还处理]
图20是表示有关比较例的第2例的系统的返还处理的顺序图。对于与图12同样的要素赋予相同的标号,并省略详细的说明。
首先,如果由使用了移动体A的用户返还移动体A,则移动体装置A确认移动体A已被返还(S501)。
接着,移动体装置A以确认了移动体A已被返还为触发,生成表示移动体A的返还完成的返还事务数据Trtn(S502)。
接着,移动体装置A尝试向作为其他移动体装置的移动体装置B、C转送返还事务数据Trtn,但失败(S503A)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C转送返还事务数据Trtn。因此,移动体装置B、C没有取得返还事务数据Trtn。
接着,移动体装置A执行进行包括所取得的返还事务数据Trtn的正当性在内的验证的验证算法(S504)。
接着,移动体装置A将通过在步骤S504中执行的验证算法已验证的返还事务数据Trtn保存到事务池a(S505)。
接着,移动体装置A生成包含已验证的返还事务数据Trtn的区块Blc(Trtn)(S506)。另外,移动体装置A由于是离线状态,所以不与移动体装置B、C交换应向接下来生成的区块保存的事务数据的信息,而生成区块Blc(Trtn)。
接着,移动体装置A尝试向作为其他移动体装置的移动体装置B、C发送在步骤S506中生成的区块Blc(Trtn),但失败(S507A)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C发送区块Blc(Trtn)。
接着,移动体装置A单独执行共识算法(S508A)。具体而言,移动体装置A单独对返还事务数据Trtn是正当的事务数据(即正当性)达成共识,单独对区块Blc(Trtn)的正当性达成共识。在图20所示的例子中,移动体装置A通过对区块Blc(Trtn)中包含的返还事务数据Trtn是正当的事务数据(即正当性)达成共识,来对区块Blc(Trtn)的正当性也达成共识。另外,步骤S506的处理也可以在由步骤S508A执行共识算法时进行。
接着,移动体装置A将在步骤S508A中已达成共识的区块Blc(Trtn)连结到账本A内的区块链上(S509)。由此,如图15C所示,仅在账本A中保存包含返还事务数据Trtn的区块,记录移动体A的返还完成。这样,以下将仅在离线状态的账本A中自我完结而记录移动体A的返还完成的情况称作本地返还。
接着,移动体装置A对保存在区块链中的预约信息进行检查(S510)。更具体地讲,移动体装置A、B、C分别通过返还事务数据Trtn被连结到自身的账本内的区块链上而使预约智能合约执行,确认作为保存在区块链中的预约信息而存在预约事务数据Trsv。
接着,移动体装置A执行费用计算算法(S511)。
[有关比较例的第2例的移动体装置A的通信恢复时的处理]
接着,对图14所示的步骤S6A的移动体装置A的通信恢复时的处理的详细情况进行说明。
图21是表示有关比较例的第2例的在移动体装置A的通信恢复时进行的系统的处理的顺序图。
首先,假设移动体装置A恢复为能够与作为其他移动体装置的移动体装置B、C进行通信(在线状态)(S601)。移动体装置A由于搭载在移动体A上,所以根据移动体A的所在位置而可能成为离线状态或成为在线状态。
于是,移动体装置A向作为其他移动体装置的移动体装置B、C发送信号(S602)。信号只要是能够通知移动体装置A成为了在线状态的某种信号即可。
接着,移动体装置A、B、C进行各账本内的区块链的异同判定(S603)。更具体地讲,移动体装置A判定账本A内的区块链与作为其他移动体装置的移动体装置B、C的账本B、C内的区块链的异同。移动体装置B、C判定账本B、C内的区块链与作为其他移动体装置的移动体装置A的账本A内的区块链的异同。这里,如图16的(a)所示的例子那样,在账本A和账本B、C的区块链上连结着不同的区块,账本A内的区块链与账本B、C内的区块链不同。因此,如图16的(b)所示的例子那样,在移动体装置A、B、C中,由于在账本A、B、C中相互共享不同的区块链,所以发生分叉。
接着,移动体装置A、B、C相互发送关于相当于侧链区块和主链区块的区块的信息(S604,S605)。在本比较例中,在一定时间处于离线状态的移动体装置A的账本A的区块链上连结的区块相当于侧链区块。在移动体装置B、C的账本B、C的区块链上连结的区块相当于主链区块。
接着,移动体装置A、B、C分别将在步骤S604中得到的侧链区块的事务数据Tpol保存到事务池(S606)。更具体地讲,移动体装置A将连结在账本A的区块链上的侧链区块的事务数据Tpol的副本保存到事务池a。移动体装置B将侧链区块的事务数据Tpol保存到事务池b,移动体装置C将侧链区块的事务数据Tpol保存到事务池c。
接着,移动体装置A、B、C分别进行更新,以与账本A、B、C的区块链相同(S607)。更具体地讲,移动体装置A通过将连结在账本A的区块链上的侧链区块删除、保留主链区块,来将账本A的区块链更新为与账本B、C的区块链相同。移动体装置B通过将连结在账本B的区块链上的侧链区块删除、保留主链区块,来将账本B的区块链更新为与账本A、C的区块链相同。移动体装置C通过将连结在账本C的区块链上的侧链区块删除、保留主链区块,来将账本C的区块链更新为与账本A、B的区块链相同。
接着,在规定时间后的区块生成定时,移动体装置A、B、C分别生成包含保存在事务池中的事务数据Tpol的区块Blc(Tpol)(S614)。
接着,移动体装置A、B、C分别向其他移动体装置发送在步骤S614中生成的区块Blc(Tpol)(S615)。
接着,移动体装置A、B、C共同执行共识算法(S616)。具体而言,移动体装置A、B、C分别对事务数据Tpol是正当的事务数据(即正当性)达成共识,对区块Blc(Tpol)的正当性达成共识。在图21所示的例子中,对区块Blc(Tpol)中包含的事务数据Tpol是正当的事务数据(即正当性)达成了共识,对区块Blc(Tpol)的正当性也达成了共识。另外,步骤S614及步骤S615的处理也可以在由步骤S616执行共识算法时进行。
接着,移动体装置A、B、C分别将在步骤S616中已达成共识的区块Blc(Tpol)连结到分布式账本内的区块链上(S617)。更具体地讲,移动体装置A将已达成共识的区块Blc(Tpol)连结到账本A内的区块链上,移动体装置B将已达成共识的区块Blc(Tpol)连结到账本B内的区块链上。移动体装置C将已达成共识的区块Blc(Tpol)连结到账本C内的区块链上。由此,如图17的(c)所示,保存包含预约事务数据Trsv、借出事务数据Trnt和返还事务数据Trtn的区块,记录移动体A的本地预约、本地借出及本地返还。
接着,移动体装置A对保存在区块链中的预约信息进行检查(S620)。更具体地讲,移动体装置A、B、C分别通过包含返还事务数据Trtn的区块被连结到自身的账本内的区块链上,来使预约智能合约执行,确认作为保存在区块链中的预约信息而存在预约事务数据Trsv。
接着,移动体装置A、B、C分别执行费用计算算法(S621)。另外,步骤S621的处理与上述的步骤S511的处理相同,所以省略说明。
[有关比较例的区块连结处理]
接着,对将所生成的区块连结到区块链上的区块连结处理的比较例进行说明。
图22是用来说明有关比较例的系统的区块连结处理的流程图。以下,作为代表对由移动体装置A进行区块连结处理的情况进行说明。
首先,移动体装置A在取得或生成了事务数据的情况下(S1001),执行进行所取得或生成的事务数据的验证的验证算法(S1002)。
接着,移动体装置A将通过在步骤S1002中执行的验证算法已验证的事务数据保存到事务池(S1003)。
接着,移动体装置A确认是否有将区块连结到账本A的区块链上的触发(S1004)。这里的触发,例如是经过了几分钟等一定间隔的情况。
在步骤S1004中,当有触发时(S1004中为“是”),移动体装置A确认是否能够与其他移动体进行通信(S1005)。另外,在步骤S1004中,当没有触发时(S1004中为“否”),从步骤S1001起反复进行处理。
在步骤S1005中,在移动体装置A不能与其他移动体进行通信的情况下即是离线状态的情况下(S1005中为“否”),移动体装置A单独执行共识算法(S1006)。移动体装置A生成包含所取得或生成的事务数据的区块链的区块,通过执行共识算法而形成共识。另外,移动体装置A也可以验证所取得或生成的事务数据的正当性,生成包含该事务数据的区块。
接着,移动体装置A将所生成的区块连结到账本A的区块链上(S1007)。
另一方面,在步骤S1005中,在移动体装置A能够与其他移动体进行通信的情况下(S1005中为“是”),移动体装置A与其他移动体共同执行共识算法(S1008)。移动体装置A及其他移动体分别生成包含该事务数据的区块链的区块,通过执行共识算法,进行对于所生成的区块的共识形成。
接着,移动体装置A判定账本A的区块链与其他移动体的账本内的区块链是否相同(S1009)。
在步骤S1009中相同的情况下(S1009中为“是”),移动体装置A将已达成共识的区块连结到账本A的区块链上(S1010)。
另一方面,在步骤S1009中不同的情况下(S1009中为“否”),将作为侧链的区块即侧链区块的该事务数据保存到事务池(S1011)。
接着,移动体装置A更新账本A的区块链,以使其与其他移动体的账本内的区块链相同(S1012)。
接着,移动体装置A将在步骤S1009中已达成共识的区块连结到账本A的区块链上(S1013)。
[比较例的第3例]
接着,对恶意利用区块链的机制而将移动体A不正当使用的不正当处理进行说明。在比较例的第3例中,说明在移动体装置A是离线状态的情况下,对移动体A进行不正当的预约处理和正常的借出处理,然后使移动体装置A恢复为在线状态而进行返还处理的情况。
图23是表示有关比较例的第3例的系统的不正当处理的动作概要的流程图。图24A~图27是用来概念性地说明而保存于移动体装置A的账本A及移动体装置B的账本B中的区块链的图。图24A是概念性地表示通过图23的步骤S10的动作而保存于账本A中的区块链的区块的图。图24B是概念性地表示通过图23的步骤S11的动作而保存于账本A中的区块链的区块的图。图24C是概念性地表示通过图23的步骤S12的动作而保存于账本A中的区块链的区块的图。图25及图26是用来概念性地说明通过图23的步骤S13的动作而保存于账本A及账本B中的区块链的区块的图。图27是概念性地表示通过图23的步骤S14的动作而保存于账本A及账本B中的区块链的区块的图。以下,假设想要使用移动体A的用户使用终端A对搭载在移动体A上的移动体装置A进行不正当处理而说明。
如图23所示,首先,例如终端A对离线状态的移动体装置A进行搭载有该移动体装置A的移动体A的预约处理(S10)。这里,如上述那样,终端A对离线状态的移动体装置A进行将移动体A本地预约的预约处理。更具体地讲,终端A可以与移动体装置A进行通信,生成用来对移动体A进行使用预约的预约事务数据TrsvA,并发送给移动体装置A。在此情况下,例如,如图24A所示,由于移动体装置A是离线状态,所以仅在账本A中保存包含用来对移动体A进行使用预约的预约事务数据TrsvA的区块。
接着,通过使用终端A或使用用户个人的智能电话等某种手段,对在线状态的移动体装置B以覆盖在步骤S10中进行的移动体A的本地预约的时间段的方式进行移动体A的预约处理(S11)。即,对在线状态的移动体装置B以与移动体A的本地预约竞争的方式进行移动体A的竞争预约处理。在本比较例中,用户使用终端A,生成用来将移动体A竞争预约的预约事务数据TrsvB,并发送给在线状态的移动体装置B。在此情况下,例如如图24B所示,移动体装置B等在除了离线的移动体装置A的账本A以外的账本B等中,保存包含用来将移动体A竞争预约的预约事务数据TrsvB的区块。
接着,例如终端A与离线状态的移动体装置A进行通信,进行移动体A的借出处理(S12)。即,如在前面叙述的那样,终端A对离线状态的移动体装置A进行将移动体A本地借出的借出处理。更具体地讲,终端A与移动体装置A进行通信,为了使用移动体A而发送移动体A的解锁请求,从而使移动体装置A将移动体A解锁,以移动体A被解锁为触发,生成表示移动体A的借出开始的借出事务数据TrntA。在此情况下,例如如图24C所示,由于移动体装置A是离线状态,所以仅在账本A中保存包含表示移动体A的借出开始的借出事务数据TrntA的区块。
接着,假设用户使移动体装置A恢复为在线状态。于是,当移动体装置A恢复为在线状态时,在系统中进行恢复时处理(S13)。
更具体地讲,在步骤S10~步骤S12中,如上述那样,由于移动体装置A是离线状态,所以如图25的(a)所示,在移动体装置A恢复为在线状态的时间点,在账本A及账本B的区块链上连结着不同的区块。接着,如果移动体装置A恢复为在线状态,则如图25的(b)所示,在移动体装置A的账本A及移动体装置B的账本B中相互共享不同的区块链,发生分叉。这里,连结在离线状态的移动体装置A的账本A的区块链上的区块相当于侧链区块,连结在在线状态的移动体装置B的账本B的区块链上的区块相当于主链区块。因此,如图26的(a)及(b)所示,在移动体装置A的账本A及移动体装置B的账本B中,侧链区块被删除,侧链区块中包含的事务数据被保存到事务池中,从而分叉被消除。另外,在图26的(b)中,预约事务数据TrsvA和借出事务数据TrntA被保存在事务池中。然后,如图26的(c)所示,在移动体装置A的账本A及移动体装置B的账本B的区块链中,在生成新的区块的定时,生成包含保存在事务池中的事务数据的区块并连结。
接着,例如终端A与在线状态的移动体装置A进行通信,进行移动体A的返还处理(S14)。更具体地讲,操作了终端A的用户将被解锁的移动体A使用进行了使用预约的时间,然后返还。移动体装置A如果移动体A被返还,则生成表示移动体A的返还完成的返还事务数据TrtnA。在此情况下,例如如图27所示,由于移动体装置A是在线状态,所以在账本A、B等全部中保存包含表示移动体A的返还完成的返还事务数据TrtnA的区块。
接着,在移动体装置A等中,进行费用计算处理(S15)。步骤S15的费用计算处理是与步骤S7的费用计算处理相同的处理,所以省略说明。预约事务数据TrsvA与预约事务数据TrsvB竞争,包含预约事务数据TrsvA的区块被连结到在时间上比包含预约事务数据TrsvB的区块靠后的后方。结果,对于与预约事务数据TrsvA对应的预约的费用不被征收,所以导致在与预约事务数据TrsvA对应的预约中,不支付使用了移动体A的费用的不正当行为成立。
接着,使用顺序图对图23所示的步骤S10的本地预约的处理、步骤S11的竞争预约的处理及步骤S12的本地借出的处理的详细情况进行说明。
[有关比较例的第3例的预约处理]
图28是表示有关比较例的第3例的系统的进行本地预约的情况下的处理的顺序图。对于与图18同样的要素赋予同样的标号,并省略详细的说明。
首先,终端A基于想要使用移动体A的用户的操作,生成用来对移动体A进行使用预约的预约事务数据TrsvA(S101B),将所生成的预约事务数据TrsvA发送给移动体装置A(S102B)。
接着,移动体装置A如果接收到在步骤S102B中发送的预约事务数据TrsvA,则尝试向作为其他移动体装置的移动体装置B、C转送预约事务数据TrsvA,但失败(S103B)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C转送预约事务数据TrsvA。
接着,移动体装置A执行进行包括所取得的预约事务数据TrsvA的正当性在内的验证的验证算法(S104B)。
接着,移动体装置A将通过在步骤S104B中执行的验证算法已验证的预约事务数据TrsvA保存到事务池a(S105B)。
接着,移动体装置A生成包含已验证的预约事务数据TrsvA的区块Blc(TrsvA)(S107B)。
接着,移动体装置A尝试向作为其他移动体装置的移动体装置B、C发送在步骤S107B中生成的区块Blc(TrsvA),但失败(S108B)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C发送区块Blc(TrsvA)。
接着,移动体装置A单独执行共识算法(S109B)。另外,步骤S107B的处理也可以在由步骤S109B单独执行共识算法时进行。
接着,移动体装置A将在步骤S109B中已达成共识的区块Blc(TrsvA)连结到账本A内的区块链上(S110B)。
由此,如图24A所示,仅在账本A中保存包含用来对移动体A进行使用预约的预约事务数据TrsvA的区块,本地预约被确定。
图29是表示有关比较例的第3例的系统的进行竞争预约的情况下的处理的顺序图。
首先,用户例如使用终端A,生成用来将移动体A竞争预约的预约事务数据TrsvB(S101C)。
接着,用户例如使用终端A,对移动体装置B发送在步骤S101C中生成的预约事务数据TrsvB(S102C)。
接着,移动体装置B由于是在线状态,所以如果接收到在步骤S102C中发送的预约事务数据TrsvB,则将预约事务数据TrsvB转送给作为其他移动体装置的移动体装置C(S103C)。由此,除了移动体装置A以外的移动体装置C取得预约事务数据TrsvB。
接着,移动体装置B、C分别执行进行包括所取得的预约事务数据TrsvB的正当性在内的验证的验证算法(S104C)。
接着,移动体装置B、C分别将通过在步骤S104C中执行的验证算法已验证的预约事务数据TrsvB保持到事务池(S105C)。更具体地讲,移动体装置B将已验证的预约事务数据TrsvB保存到事务池b,移动体装置C将已验证的预约事务数据TrsvB保存到事务池c。
接着,移动体装置B、C由于是能够相互通信的状态,所以交换应向接下来生成的区块保存的事务数据的信息(S106C)。在图29所示的例子中,移动体装置B、C确认在应向接下来生成的区块保存的事务数据中有已验证的预约事务数据TrsvB。
接着,移动体装置B、C分别生成包含已验证的预约事务数据TrsvB的区块Blc(TrsvB)(S107C)。
接着,移动体装置B、C分别向除了移动体装置A以外的其他移动体装置发送在步骤S107C中生成的区块Blc(TrsvB)(S108C)。由此,移动体装置B、C分别能够向除了移动体装置A以外的其他移动体装置通知区块Blc(TrsvB)中包含的预约事务数据TrsvB的正当性的验证成功的报告。
接着,移动体装置B、C共同执行共识算法(S109C)。具体而言,移动体装置B、C分别基于在步骤S108C中通知的报告,对预约事务数据TrsvB是正当的事务数据(即正当性)达成共识,对区块Blc(TrsvB)的正当性达成共识。另外,步骤S107C及步骤S108C的处理也可以在由步骤S109C执行共识算法时进行。
接着,移动体装置B、C分别将在步骤S109C中已达成共识的区块Blc(TrsvB)连结到分布式账本内的区块链上(S110C)。更具体地讲,移动体装置B将已达成共识的区块Blc(TrsvB)连结到账本B内的区块链上,移动体装置C将已达成共识的区块Blc(TrsvB)连结到账本C内的区块链上。
由此,如图24B所示,在账本B及账本C中都保存包含预约事务数据TrsvB的区块。
[有关比较例的第3例的借出处理]
图30是表示有关比较例的第3例的系统的本地借出的处理的顺序图。对于与图19同样的要素赋予同样的标号,并省略详细的说明。
首先,终端A基于使用移动体A的用户的操作,向移动体装置A发送移动体A的解锁请求(S301B)。
接着,移动体装置A如果接收到在步骤S301B中发送的解锁请求,则确认在账本A的区块链中是否有与解锁请求对应的预约(S302B),解除移动体A的锁定(S303B)。
接着,移动体装置A以移动体A的锁定被解除为触发,生成表示移动体A的借出开始的借出事务数据TrntA(S304B)。
接着,移动体装置A尝试向作为其他移动体装置的移动体装置B、C转送借出事务数据TrntA,但失败(S305B)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C转送借出事务数据TrntA。
接着,移动体装置A执行进行包括借出事务数据TrntA的正当性在内的验证的验证算法(S306B)。
接着,移动体装置A将通过在步骤S306B中执行的验证算法已验证的借出事务数据TrntA保存到事务池a(S307B)。
接着,移动体装置A分别生成包含已验证的借出事务数据TrntA的区块Blc(TrntA)(S309B)。
接着,移动体装置A向作为其他移动体装置的移动体装置B、C发送在步骤S309B中生成的区块Blc(TrntA),但失败(S310B)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C发送区块Blc(TrntA)。
接着,移动体装置A单独执行共识算法(S311B)。具体而言,移动体装置A单独对借出事务数据TrntA是正当的事务数据(即正当性)达成共识,单独对区块Blc(TrntA)的正当性达成共识。另外,步骤S309B的处理也可以在由步骤S311B执行共识算法时进行。
接着,移动体装置A将在步骤S311B中已达成共识的区块Blc(TrntA)连结到账本A内的区块链上(S312B)。
由此,如图24C所示,仅在账本A中保存包含借出事务数据TrntA的区块,记录进行了移动体A的本地借出。
[有关比较例的第3例的移动体装置A的通信恢复时的处理]
接着,对图23所示的步骤S13的移动体装置A的通信恢复时的处理的详细情况进行说明。
图31是表示有关比较例的第3例的在移动体装置A的通信恢复时进行的系统的处理的顺序图。对于与图21同样的要素赋予同样的标号,并省略详细的说明。
首先,假设移动体装置A恢复为能够与作为其他移动体装置的移动体装置B、C进行通信(在线状态)(S601B)。
于是,移动体装置A向作为其他移动体装置的移动体装置B、C发送表示移动体装置A成为了在线状态的信号(S602B)。
接着,移动体装置A、B、C进行各账本内的区块链的异同判定(S603B)。更具体地讲,移动体装置A判定账本A内的区块链与作为其他移动体装置的移动体装置B、C的账本B、C内的区块链的异同。移动体装置B、C判定账本B、C内的区块链与作为其他移动体装置的移动体装置A的账本A内的区块链的异同。这里,如图25的(a)所示的例子那样,在账本A和账本B、C的区块链上连结着不同的区块,账本A内的区块链与账本B、C内的区块链不同。因此,如图25的(b)所示的例子那样,在移动体装置A、B、C中,由于在账本A、B、C中相互共享不同的区块链,所以发生分叉。
接着,移动体装置A、B、C相互发送关于相当于侧链区块和主链区块的区块的信息(S604B、S605B)。在本比较例中,连结在一定时间处于离线状态的移动体装置A的账本A的区块链上的区块相当于侧链区块Blc(TrsvA、TrntA)。连结在移动体装置B、C的账本B、C的区块链上的区块相当于主链区块Blc(TrsvB)。
接着,移动体装置A、B、C分别将在步骤S604B中得到的侧链区块中包含的预约事务数据TrsvA、借出事务数据TrntA保存到事务池(S606B)。更具体地讲,移动体装置A将连结在账本A的区块链上的侧链区块的事务数据TrsvA、TrntA的副本保存到事务池a。移动体装置B将侧链区块的事务数据TrsvA、TrntA保存到事务池b,移动体装置C将侧链区块的事务数据TrsvA、TrntA保存到事务池c。
接着,移动体装置A、B、C分别进行更新,以与账本A、B、C的区块链相同(S607B)。更具体地讲,移动体装置A通过将连结在账本A的区块链上的侧链区块删除、而保留主链区块,来更新账本A的区块链以使其与账本B、C的区块链相同。移动体装置B通过将连结在账本B的区块链上的侧链区块删除、而保留主链区块,来更新账本B的区块链以使其与账本A、C的区块链相同。移动体装置C通过将连结在账本C的区块链上的侧链区块删除、而保留主链区块,来更新账本C的区块链以使其与账本A、B的区块链相同。
接着,在规定时间后的区块生成定时,移动体装置A、B、C分别生成包含保存在事务池中的事务数据TrsvA、TrntA的区块Blc(TrsvA、TrntA)(S614B)。
接着,移动体装置A、B、C分别向其他移动体装置发送在步骤S614B中生成的区块Blc(TrsvA、TrntA)(S615B)。由此,移动体装置A、B、C分别能够向其他移动体装置通知区块Blc(TrsvA、TrntA)中包含的事务数据TrsvA、TrntA的正当性的验证成功的报告。
接着,移动体装置A、B、C共同执行共识算法(S616B)。具体而言,移动体装置A、B、C分别基于在步骤S615B中通知的报告,对事务数据TrsvA、TrntA是正当的事务数据(即正当性)达成共识,对区块Blc(TrsvA、TrntA)的正当性达成共识。另外,步骤S614B及步骤S615B的处理也可以在由步骤S616B执行共识算法时进行。
接着,移动体装置A、B、C分别将在步骤S616B中已达成共识的区块Blc(TrsvA、TrntA)连结到分布式账本内的区块链上(S617B)。更具体地讲,移动体装置A将已达成共识的区块Blc(TrsvA、TrntA)连结到账本A内的区块链上,移动体装置B将已达成共识的区块Blc(TrsvA、TrntA)连结到账本B内的区块链上。移动体装置C将已达成共识的区块Blc(TrsvA、TrntA)连结到账本C内的区块链上。由此,如图26的(c)所示,包含预约事务数据TrsvA、预约事务数据TrsvB和借出事务数据TrntA的区块被保存,移动体A的本地预约、竞争预约及本地借出被记录。
[有关比较例的第3例的返还处理]
接着,对图23所示的步骤S14的移动体装置A的返还处理的详细情况进行说明。
图32是表示有关比较例的第3例的系统的返还处理的顺序图。对于与图12同样的要素赋予同样的标号,并省略详细的说明。
首先,如果由使用了移动体A的用户返还移动体A,则移动体装置A确认移动体A已被返还(S501B)。
接着,移动体装置A以确认了移动体A已被返还为触发,生成表示移动体A的返还完成的返还事务数据TrtnA(S502B)。
接着,移动体装置A向作为其他移动体装置的移动体装置B、C转送返还事务数据TrtnA(S503B)。由此,移动体装置B、C取得返还事务数据TrtnA。
接着,移动体装置A、B、C分别执行进行包括所取得的返还事务数据TrtnA的正当性在内的验证的验证算法(S504B)。
接着,移动体装置A、B、C分别将通过在步骤S504B中执行的验证算法已验证的返还事务数据TrtnA保存到事务池(S505B)。更具体地讲,移动体装置A将已验证的返还事务数据TrtnA保存到事务池a,移动体装置B将已验证的返还事务数据TrtnA保存到事务池b。移动体装置C将已验证的返还事务数据TrtnA保存到事务池c。另外,虽然没有图示,但移动体装置A、B、C由于是能够相互通信的状态,所以交换应向接下来生成的区块保存的事务数据的信息。在图32所示的例子中,移动体装置A、B、C确认在应向接下来生成的区块保存的事务数据中有已验证的返还事务数据TrtnA。
接着,移动体装置A、B、C分别生成包含已验证的返还事务数据TrtnA的区块Blc(TrtnA)(S506B)。
接着,移动体装置A、B、C分别向其他移动体装置发送在步骤S506B中生成的区块Blc(TrtnA)(S507B)。由此,移动体装置A、B、C分别向其他移动体装置通知区块Blc(TrtnA)中包含的返还事务数据TrtnA的正当性的验证成功的报告。
接着,移动体装置A、B、C共同执行共识算法(S508B)。具体而言,移动体装置A、B、C分别基于在步骤S507B中通知的报告,对返还事务数据TrtnA是正当的事务数据(即正当性)达成共识,对区块Blc(TrtnA)的正当性达成共识。另外,步骤S506B及步骤S507B的处理也可以在由步骤S508B执行共识算法时进行。
接着,移动体装置A、B、C分别将在步骤S508B中已达成共识的区块Blc(TrntA)连结到分布式账本内的区块链上(S509B)。更具体地讲,移动体装置A将已达成共识的区块Blc(TrtnA)连结到账本A内的区块链上,移动体装置B将已达成共识的区块Blc(TrtnA)连结到账本B内的区块链上。移动体装置C将已达成共识的区块Blc(TrtnA)连结到账本C内的区块链上。由此,如图27所示,在账本A、账本B及账本C中都保存包含返还事务数据TrtnA的区块,记录移动体A的返还完成。
接着,移动体装置A、B、C分别检查保存在区块链中的预约信息(S510B)。更具体地讲,移动体装置A、B、C分别通过包含有包含返还事务数据TrtnA的区块的区块被连结到自身的账本内的区块链上,使预约智能合约执行,确认作为保存在区块链中的预约信息而有预约事务数据Trsv。
接着,移动体装置A、B、C分别执行费用计算算法(S511B)。这里,例如如图27所示,预约事务数据TrsvA与预约事务数据TrsvB竞争,包含预约事务数据TrsvA的区块被连结到在时间上比包含预约事务数据TrsvB的区块靠后的后方。因此,即使执行费用计算算法,对于与预约事务数据TrsvA对应的预约的费用不被征收,仅被征收对于与预约事务数据TrsvB对应的预约的费用。
这样,由于对于与预约事务数据TrsvA对应的预约的费用不被征收,所以在与预约事务数据TrsvA对应的预约中没有支付使用了移动体A的费用的不正当行为成立。
[比较例的第4例]
在比较例的第3例中,对使移动体装置A恢复为在线状态后进行返还处理的情况下的不正当处理进行了说明,但并不限于此。也可以在移动体装置A是离线状态的情况下,在进行返还处理后使移动体装置A恢复为在线状态。以下将该情况下的不正当处理设为比较例的第4例进行说明。
图33是表示有关比较例的第4例的系统的不正当处理的动作概要的流程图。图34A~图36是用来概念性地说明而保存于移动体装置A的账本A及移动体装置B的账本B中的区块链的图。图34A是概念性地表示通过图33的步骤S10的动作而保存于账本A中的区块链的区块的图。图34B是概念性地表示通过图33的步骤S11的动作而保存于账本A中的区块链的区块的图。图34C是概念性地表示通过图33的步骤S12的动作而保存于账本A中的区块链的区块的图。图34D是概念性地表示通过图33的步骤S13A的动作而保存于账本A中的区块链的区块的图。图35及图36是用来概念性地说明通过图33的步骤S14A的动作而保存于账本A及账本B中的区块链的区块的图。以下,也假设想要使用移动体A的用户使用终端A对搭载在移动体A上的移动体装置A进行不正当处理而说明。
图33所示的步骤S10~步骤S12是与在图23中说明的步骤S10~步骤S12相同的处理,所以省略说明。此外,图34A~图34C是与图24A~图24C相同的图,所以省略说明。
接着,在步骤S13A中,例如终端A与离线状态的移动体装置A进行通信,进行移动体A的返还处理。即,终端A对离线状态的移动体装置A进行将移动体A本地返还的返还处理。更具体地讲,操作了终端A的用户将被解锁的移动体A使用进行了使用预约的时间,然后返还。移动体装置A如果移动体A被返还,则生成表示移动体A的返还完成的返还事务数据TrtnA。在此情况下,例如如图34D所示,由于移动体装置A是离线状态,所以仅在账本A中保存包含表示移动体A的返还完成的返还事务数据TrtnA的区块。
接着,假设用户使移动体装置A恢复为在线状态。于是,当移动体装置A恢复为在线状态时,在系统中进行恢复时处理(S14A)。更具体地讲,在步骤S10~步骤S13A中,由于移动体装置A是离线状态,所以在移动体装置A恢复为在线状态的时间点,例如如图34D所示,在账本A及账本B的区块链上连结着不同的区块。接着,如果移动体装置A恢复为在线状态,则如图35所示,在移动体装置A的账本A及移动体装置B的账本B中相互共享不同的区块链,发生分叉。这里,连结在离线状态的移动体装置A的账本A的区块链上的区块较短,所以相当于侧链区块,连结在在线状态的移动体装置B的账本B的区块链上的区块较长,所以相当于主链区块。因此,如图36的(a)及(b)所示,在移动体装置A的账本A及移动体装置B的账本B中,侧链区块被删除,侧链区块中包含的事务数据被保存到事务池中,从而分叉被消除。另外,在图36的(b)中,预约事务数据TrsvA、借出事务数据TrntA和返还事务数据TrtnA被保存到事务池中。然后,如图36的(c)所示,在移动体装置A的账本A及移动体装置B的账本B的区块链中,在生成新的区块的定时,生成包含保存在事务池中的事务数据的区块并连结。
接着,在移动体装置A等中,进行费用计算处理(S15)。与比较例的第3例同样,预约事务数据TrsvA与预约事务数据TrsvB竞争,包含预约事务数据TrsvA的区块被连结到比包含预约事务数据TrsvB的区块靠后方。结果,对于与预约事务数据TrsvA对应的预约的费用不被征收,所以在与预约事务数据TrsvA对应的预约中不支付使用了移动体A的费用的不正当行为成立。
接着,使用顺序图对图33所示的步骤S13A的本地返还的处理、步骤S14A的移动体装置A的通信恢复时的处理的详细情况进行说明。
[有关比较例的第4例的返还处理]
图37是表示有关比较例的第4例的系统的本地返还的处理的顺序图。对于与图20同样的要素赋予同样的标号,并省略详细的说明。
首先,如果由使用了移动体A的用户返还移动体A,则移动体装置A确认移动体A已被返还(S501C)。
接着,移动体装置A以确认了移动体A已被返还为触发,生成表示移动体A的返还完成的返还事务数据TrtnA(S502C)。
接着,移动体装置A尝试向作为其他移动体装置的移动体装置B、C转送返还事务数据TrtnA,但失败(S503C)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C转送返还事务数据TrtnA。
接着,移动体装置A执行进行包括所取得的返还事务数据TrtnA的正当性在内的验证的验证算法(S504C)。
接着,移动体装置A将通过在步骤S504C中执行的验证算法已验证的返还事务数据TrtnA保存到事务池a(S505C)。
接着,移动体装置A生成包含已验证的返还事务数据TrtnA的区块Blc(TrtnA)(S506C)。
接着,移动体装置A尝试向作为其他移动体装置的移动体装置B、C发送在步骤S506C中生成的区块Blc(TrtnA),但失败(S507C)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C发送区块Blc(TrtnA)。
接着,移动体装置A单独执行共识算法(S508C)。具体而言,移动体装置A单独对返还事务数据TrtnA是正当的事务数据(即正当性)达成共识,单独对区块Blc(TrtnA)的正当性达成共识。另外,步骤S506C的处理也可以在由步骤S508C执行共识算法时进行。
接着,移动体装置A将在步骤S508C中已达成共识的区块Blc(TrtnA)连结到账本A内的区块链上(S509C)。由此,如图34D所示,仅在账本A中保存包含返还事务数据TrtnA的区块,记录移动体A的本地返还。
接着,移动体装置A对保存在区块链中的预约信息进行检查(S510C)。更具体地讲,移动体装置A、B、C分别通过返还事务数据TrtnA被连结到自身的账本内的区块链上,使预约智能合约执行,确认作为保存在区块链中的预约信息而有预约事务数据TrsvA。
接着,移动体装置A分别执行费用计算算法(S511C)。由于移动体装置A是离线状态,所以通过费用计算算法计算对于与预约事务数据TrsvA对应的预约的费用。
[有关比较例的第4例的移动体装置A的通信恢复时的处理]
接着,对图33所示的步骤S14A的移动体装置A的通信恢复时的处理的详细情况进行说明。
图38是表示有关比较例的第4例的在移动体装置A的通信恢复时进行的系统的处理的顺序图。对于与图21同样的要素赋予同样的标号,并省略详细的说明。
首先,假设移动体装置A恢复为了能够与作为其他移动体装置的移动体装置B、C进行通信(在线状态)(S601C)。
于是,移动体装置A向作为其他移动体装置的移动体装置B、C发送表示移动体装置A成为了在线状态的信号(S602C)。
接着,移动体装置A、B、C进行各账本内的区块链的异同判定(S603C)。在移动体装置A的通信恢复之前,例如如图34D所示的例子那样,在账本A和账本B、C的区块链上连结着不同的区块,所以账本A内的区块链与账本B、C内的区块链不同。因此,在移动体装置A的通信恢复时,例如如图35所示的例子那样,在移动体装置A、B、C的账本A、B、C中,相互共享不同的区块链,所以发生分叉。
接着,移动体装置A、B、C相互发送关于相当于侧链区块和主链区块的区块的信息(S604C、S605C)。在本比较例中,连结在一定时间处于离线状态的移动体装置A的账本A的区块链上的区块相当于侧链区块Blc(TrsvA、TrntA、TrtnA)。另一方面,连结在移动体装置B、C的账本B、C的区块链上的区块相当于主链区块Blc(TrsvB)。
接着,移动体装置A、B、C分别将在步骤S604C中得到的侧链区块的事务数据TrsvA、TrntA、TrtnA保存到事务池(S606C)。
接着,移动体装置A、B、C分别进行更新以与账本A、B、C的区块链相同(S607C)。更具体地讲,移动体装置A、B、C分别通过将连结在区块链上的侧链区块删除、而保留主链区块,来更新账本A的区块链以使账本A、B、C的区块链相同。
接着,在规定时间后的区块生成定时,移动体装置A、B、C分别生成包含保存在事务池中的事务数据TrsvA、TrntA、TrtnA的区块Blc(TrsvA、TrntA、TrtnA)(S614C)。
接着,移动体装置A、B、C分别向其他移动体装置发送在步骤S614C中生成的区块Blc(TrsvA、TrntA、TrtnA)(S615C)。由此,移动体装置A、B、C分别能够向其他移动体装置通知区块Blc(TrsvA、TrntA、TrtnA)中包含的事务数据TrsvA、TrntA、TrtnA的正当性的验证成功的报告。
接着,移动体装置A、B、C共同执行共识算法(S616C)。具体而言,移动体装置A、B、C分别基于在步骤S615C中通知的报告,对事务数据TrsvA、TrntA、TrtnA是正当的事务数据(即正当性)达成共识。并且,对区块Blc(TrsvA、TrntA、TrtnA)的正当性达成共识。另外,步骤S614C及步骤S615C的处理也可以在由步骤S616C执行共识算法时进行。
接着,移动体装置A、B、C分别将在步骤S616中已达成共识的区块Blc(TrsvA、TrntA、TrtnA)连结到分布式账本内的区块链上(S617C)。更具体地讲,移动体装置A将已达成共识的区块Blc(TrsvA、TrntA、TrtnA)连结到账本A内的区块链上,移动体装置B将已达成共识的区块Blc(TrsvA、TrntA、TrtnA)连结到账本B内的区块链上。移动体装置C将已达成共识的区块Blc(TrsvA、TrntA、TrtnA)连结到账本C内的区块链上。由此,如图36的(c)所示,保存包含预约事务数据TrsvA、借出事务数据TrntA和返还事务数据TrtnA的区块,记录移动体A的本地预约、本地借出及本地返还。
接着,移动体装置A对保存在区块链中的预约信息进行检查(S620C)。更具体地讲,移动体装置A、B、C分别通过包含返还事务数据TrtnA的区块被连结到自身的账本内的区块链上,使预约智能合约执行,确认作为保存在区块链中的预约信息而有预约事务数据TrsvA和预约事务数据TrsvB。
并且,移动体装置A、B、C分别不执行费用计算算法(S621C)。更具体地讲,移动体装置A、B、C分别执行费用计算算法,但对于与预约事务数据TrsvA对应的预约的费用不被征收。另外,步骤S621C的处理与上述的步骤S511B的处理相同,所以省略说明。
这里,例如如图36的(c)所示,对应于预约事务数据TrsvA的预约与对应于预约事务数据TrsvB的预约竞争。此外,包含预约事务数据TrsvA的区块被连结到比包含预约事务数据TrsvB的区块靠后方。因此,即使执行费用计算算法,对于与预约事务数据TrsvA对应的预约的费用也不被征收,仅征收对于与预约事务数据TrsvB对应的预约的费用。
这样,对于与预约事务数据TrsvA对应的预约的费用不被征收,所以在与预约事务数据TrsvA对应的预约中不支付使用了移动体A的费用的不正当行为成立。
[有关本实施方式的不正当对策后的处理]
接着,对进行了不正当处理的对策的有关本实施方式的不正当对策处理进行说明。
在图23及图33所示的不正当处理中,通过在步骤S11中进行竞争预约,对于在步骤S10中被预约处理的本地预约的费用没有被征收。因此,在本实施方式中,使得不将包含由步骤S10的本地预约生成的预约事务数据的区块保存到账本中。如果包含由本地预约生成的预约事务数据的区块不保存到账本中,则因为没有进行预约,所以不能进行基于本地预约的移动体A的使用。即,通过抑制与作为服务对象的移动体A的不正当使用相关联的处理,能够抑制恶意利用了区块链的服务对象的不正当使用。
以下,对本地预约进行说明。
图39是表示有关实施方式的系统的不能本地预约的处理的顺序图。对于与图28同样的要素赋予相同的标号,并省略详细的说明。以下,作为代表对由移动体装置A进行本地预约对策的处理的情况进行说明。
首先,终端A基于想要使用移动体A的用户的操作,生成用来对移动体A进行使用预约的预约事务数据TrsvA(S101D),将所生成的预约事务数据TrsvA发送给移动体装置A(S102D)。
接着,移动体装置A如果接收到在步骤S102D中发送的预约事务数据TrsvA,则尝试向作为其他移动体装置的移动体装置B、C转送预约事务数据TrsvA,但失败(S103D)。这是因为,由于移动体装置A是离线状态,所以不能向移动体装置B、C转送预约事务数据TrsvA。
接着,移动体装置A执行进行包括所取得的预约事务数据TrsvA的正当性在内的验证的验证算法(S104D)。
接着,移动体装置A通过对预约事务数据TrsvA执行区块保存对象决定算法,进行区块保存对象决定处理(S105D)。此时,移动体装置A由于是离线状态,所以在后述的区块保存对象决定处理中,决定为处理对象的预约事务数据TrsvA不是区块保存对象,将被赋予给预约事务数据TrsvA的标志的值设定为表示不是区块保存对象的第2值。另外,移动体装置A如果是在线状态,则在区块保存对象决定处理中,决定为处理对象的预约事务数据TrsvA是区块保存对象,将被赋予给预约事务数据TrsvA的标志的值设定为表示是区块保存对象的第1值。
接着,移动体装置A将已由在步骤S104D中执行的验证算法验证、并且没有设立标志(即,标志的值被设定为第2值)的预约事务数据TrsvA保存到事务池a(S106D)。
接着,移动体装置A生成包含已由在步骤S104D中执行的验证算法验证、并且设立有标志(即,标志的值被设定为第1值)的事务数据的区块Blc(S107D)。此时,由于预约事务数据TrsvA的标志的值被设定为第2值,所以在生成的区块Blc中不包含预约事务数据TrsvA。
接着,移动体装置A尝试向作为其他移动体装置的移动体装置B、C发送在步骤S107B中生成的区块Blc(TrsvA),但失败(S108D)。这是因为,移动体装置A由于是离线状态,所以不能向移动体装置B、C发送区块Blc(TrsvA)。
接着,移动体装置A单独执行共识算法(S109D)。另外,步骤S107D的处理也可以在由步骤S109D单独执行共识算法时进行。
接着,移动体装置A将在步骤S109D中已同意的区块Blc(不包含TrsvA)连结到账本A内的区块链上(S110D)。
图40是表示有关实施方式的区块保存对象决定处理的流程图。图40所示的有关本实施方式的区块保存对象决定处理在图39的步骤S105D中执行。以下,对由移动体装置A进行区块保存对象决定处理的情况进行说明。
在本实施方式中,在图39的步骤S105D中,首先,移动体装置A判定步骤S102D的预约事务数据TrsvA的发送处理的结果是否为将预约事务数据TrsvA发送给了比规定数量多的其他移动体装置(S1051D)。
移动体装置A在判定为将预约事务数据TrsvA发送给了比规定数量多的其他移动体装置的情况下(S1051D中为“是”),决定为处理对象的预约事务数据TrsvA是区块保存对象,将被赋予给预约事务数据TrsvA的标志的值设定为表示是区块保存对象的第1值(S1052D)。另外,假设标志的值作为初始值被设定为表示不是区块保存对象的第2值。
移动体装置A在判定为未能将预约事务数据TrsvA发送给比规定数量多的其他移动体装置的情况下(S1051D中为“否”),不做任何处理而结束处理。
另外,关于标志的值,设定表示不是区块保存对象的第2值作为了初始值,但也可以不是设定第2值。在此情况下,移动体装置A也可以在判定为未能将预约事务数据TrsvA发送给比规定数量多的其他移动体装置的情况下(S1051D中为“否”),决定为处理对象的预约事务数据TrsvA不是区块保存对象,将被赋予给预约事务数据TrsvA的标志的值设定为表示不是区块保存对象的第2值。
图41是表示有关实施方式的系统的本地借出的处理的顺序图。
首先,终端A基于使用移动体A的用户的操作,向移动体装置A发送移动体A的解锁请求(S301D)。
接着,移动体装置如果接收到在步骤S101D中发送的解锁请求,则确认在账本A的区块链中是否有与解锁请求对应的预约(S302D)。
但是,由于在移动体装置A的账本A内的区块链上没有连结着包含预约事务数据TrsvA的区块,所以不许可解除移动体A的锁定(S303D)。
这样,如果不能与超过规定数量的其他移动体装置进行通信,则不能生成包含所取得的预约事务数据TrsvA的区块。由此,能够抑制仅在账本A中保存包含用来对移动体A进行使用预约的预约事务数据TrsvA的区块来确定本地预约。此外,由此能够抑制通过对被设为离线状态的移动体装置A的预约进行搭载有移动体装置A的移动体A的借出。
[效果等]
如以上这样,根据本实施方式,例如如果作为移动体装置A的第1节点不能与超过规定数量的数量的作为其他移动体装置的第2节点进行通信,则不能生成包含用来使用移动体A的预约事务数据的区块。由此,即使使第1节点和第2节点成为不能通信的状态,也不使包含预约事务数据的区块仅保存到账本A中,所以能够抑制移动体A的借出本身。因此,能够使得与共享服务中的移动体的不正当使用相关联那样的移动体的使用本身不被进行。
另外,移动体A如上述那样是服务对象的一例,移动体A的使用预约是服务对象的合同的一例。如果不能与超过规定数量的第2节点进行通信,则不能生成包含所取得的第1事务数据的区块。由此,能够抑制使第1节点成为不能与第2节点进行通信的状态而使包含第1事务数据的区块仅保存到第1分布式账本中这样的与服务对象的不正当使用相关联的处理。因此,能够抑制恶意利用区块链的服务对象的不正当使用。
[其他实施方式等]
如以上这样,基于上述的实施方式对本公开进行了说明,但本公开当然并不限定于上述的实施方式。以下这样的情况也包含在本公开中。
(1)在上述的实施方式中,作为服务对象而以移动体为例进行了说明,但并不限于此。服务对象只要是在服务没有被使用时被锁定以使其他用户不能使用,在使用服务时锁定被解除的对象即可,例如也可以是旅馆的房间、电子储物柜。此外,合同并不限于例如移动体10的使用预约,例如也可以是旅馆的房间的使用预约、电子储物柜的使用预约。
(2)上述的实施方式的各装置具体而言是由微处理器、ROM、RAM、硬盘单元、显示器单元、键盘、鼠标等构成的计算机系统。在上述RAM或硬盘单元中记录有计算机程序。通过由上述微处理器按照上述计算机程序动作,各装置达成其功能。这里,计算机程序是为了达成规定的功能将表示对于计算机的指令的命令代码组合多个而构成的。
(3)构成上述的实施方式的各装置的构成要素的一部分或全部也可以由一个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是将多个构成部集成到一个芯片上而制造出的超多功能LSI,具体而言,是包括微处理器、ROM、RAM等而构成的计算机系统。在上述RAM中存储有计算机程序。通过由微处理器按照计算机程序动作,系统LSI实现其功能。
此外,构成上述各装置的构成要素的各部既可以单独地形成一个芯片,也可以包含一部分或全部而形成一个芯片。
此外,这里设为系统LSI,但根据集成度的差异,也有称作IC、LSI、超级LSI、超大规模LSI的情况。此外,集成电路化的方法并不限于LSI,也可以由专用电路或通用处理器实现。也可以利用在LSI制造后能够编程的FPGA(Field Programmable Gate Array)、或能够重构LSI内部的电路单元的连接或设定的可重构处理器。
进而,如果因半导体技术的进步或派生的其他技术而出现替代LSI的集成电路化的技术,则当然也可以使用其技术进行功能块的集成化。有可能是生物技术的应用等。
(4)构成上述各装置的构成要素的一部分或全部也可以由相对于各装置能够拆装的IC卡或单体的模块构成。上述IC卡或上述模块是由微处理器、ROM、RAM等构成的计算机系统。上述IC卡或上述模块也可以包括上述的超多功能LSI。通过由微处理器按照计算机程序动作,上述IC卡或上述模块达成其功能。该IC卡或该模块也可以具有耐篡改性。
(5)本公开也可以是上述所示的方法。此外,也可以是将这些方法通过计算机实现的计算机程序,也可以是由上述计算机程序构成的数字信号。
此外,本公开也可以将上述计算机程序或上述数字信号记录到能够由计算机读取的记录介质,例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc(注册商标))、半导体存储器等中。此外,也可以是记录在这些记录介质中的上述数字信号。
此外,本公开也可以将上述计算机程序或上述数字信号经由电气通信线路、无线或有线通信线路、以因特网为代表的网络、数据广播等传送。
此外,本公开也可以是具备微处理器和存储器的计算机系统,上述存储器记录有上述计算机程序,上述微处理器按照上述计算机程序动作。
此外,也可以通过将上述程序或上述数字信号记录在上述记录介质中并移送、或通过将上述程序或上述数字信号经由上述网络等移送,由独立的其他的计算机系统实施。
(6)也可以将上述实施方式及上述变形例分别组合。
工业实用性
本公开能够利用于控制方法、控制装置及程序,例如能够利用于在自行车、自动二轮车等移动体的共享服务等中用户签订用于移动体使用的合同的情况下,能够抑制不支付费用的不正当使用的控制方法、控制装置及程序等。
标号说明
1 系统
10、10A、10B、10C 移动体
11、11A、11B、11C 终端
20 管理服务器
100 移动体装置
101、1101 输入部
102 事务数据生成部
103 事务数据验证部
104 区块生成部
105 同步部
106 智能合约执行部
107 区块链管理部
108 分布式账本存储部
109 状态存储部
110 不正当检测部
111、1103 通信部
112、1102 显示部
Claims (12)
1.一种控制方法,其是包括第1节点和多个第2节点、并且用于服务对象的使用的系统中的上述第1节点的控制方法,上述第1节点持有第1分布式账本,上述多个第2节点分别持有第2分布式账本,其中,
执行向上述多个第2节点分别发送第1事务数据的发送处理,
将在上述发送处理中与上述第1节点进行了通信的第2节点的数量进行计数,
在所计数的上述数量比规定数量多的情况下,将上述第1事务数据保存到上述第1分布式账本,在所计数的上述数量为上述规定数量以下的情况下,不将上述第1事务数据保存到上述第1分布式账本。
2.如权利要求1所述的控制方法,其中,
在上述保存中,在所计数的上述数量比规定数量多的情况下,生成包含上述第1事务数据的第1区块,在所计数的上述数量为上述规定数量以下的情况下,不生成上述第1区块。
3.如权利要求1或2所述的控制方法,其中,
上述第1事务包含与进行上述服务对象的使用的第1合同有关的合同信息。
4.如权利要求3所述的控制方法,其中,
上述第1节点用上述第1分布式账本对第1区块链进行管理,
与在上述发送处理中与上述第1节点进行了通信的多个第2节点之间执行共识算法,将所生成的上述第1区块保存到上述第1区块链。
5.如权利要求4所述的控制方法,其中,
进一步,履行保存在上述第1区块链中的上述第1事务数据中包含的上述第1合同。
6.如权利要求1至5中任一项所述的控制方法,其中,
在所计数的上述数量为上述规定数量以下的情况下,一边持续进行上述计数,一边在一个以上的定时再执行上述发送处理,直到满足规定的条件。
7.如权利要求6所述的控制方法,其中,
上述规定的条件是所计数的上述数量比上述规定数量多,或从开始上述计数起经过规定时间,
在因满足从开始上述计数起经过上述规定时间的条件而停止了上述发送处理的再执行的情况下,删除上述第1事务数据。
8.如权利要求4或5所述的控制方法,其中,
上述系统用于共享多个移动体的服务,
上述服务对象是上述多个移动体,
上述第1合同是第1移动体的使用预约,
上述第1事务数据是用于用户经由上述第1节点进行上述第1移动体的使用预约的预约事务数据,并且包含上述用户的ID、表示上述用户使用上述第1移动体的时间段的信息、以及预约号。
9.如权利要求8所述的控制方法,其中,
进一步,
上述第1节点从上述用户接收上述第1移动体的解锁请求作为用来开始上述第1移动体的使用的请求,
上述第1节点确认在上述第1区块链中是否保存有与上述解锁请求对应的上述预约事务数据,
在保存有上述预约事务数据的情况下,许可上述用户在上述时间段解锁上述第1移动体。
10.如权利要求9所述的控制方法,其中,
进一步,
取得借出事务数据,该借出事务数据表示向上述用户借出了上述第1移动体,并且包含上述用户的ID、上述预约号、以及向上述用户借出了上述第1移动体的时刻的时间戳,
将包含上述借出事务数据的第2区块保存到上述第1区块链,
取得返还事务数据,该返还事务数据表示上述用户返还了上述第1移动体,并且包含上述用户的ID、上述预约号、以及上述用户返还了上述第1移动体的时刻的时间戳,
将包含上述返还事务数据的第3区块保存到上述第1区块链,
对于上述预约事务数据中包含的上述用户的ID,执行上述第1移动体的使用费用的征收。
11.一种控制装置,其是用于服务对象的使用的系统中的控制装置,上述系统具备持有第1分布式账本的控制装置、以及分别持有第2分布式账本的多个其他控制装置,其中,
上述控制装置具备:
处理器;以及
存储器,
上述处理器执行向上述多个其他控制装置分别发送第1事务数据的发送处理,
上述处理器将在上述发送处理中与上述控制装置进行了通信的其他控制装置的数量进行计数,
上述处理器在所计数的上述数量比规定数量多的情况下,将上述第1事务数据保存到上述第1分布式账本,在所计数的上述数量为上述规定数量以下的情况下,不将上述第1事务数据保存到上述第1分布式账本。
12.一种程序,用来使计算机执行包括第1节点和多个第2节点、并且用于服务对象的使用的系统中的上述第1节点的控制方法,上述第1节点持有第1分布式账本,上述多个第2节点分别持有第2分布式账本,其中,
上述程序用来使计算机执行:
执行向上述多个第2节点分别发送第1事务数据的发送处理;
将在上述发送处理中与上述第1节点进行了通信的第2节点的数量进行计数;以及
在所计数的上述数量比规定数量多的情况下,将上述第1事务数据保存到上述第1分布式账本,在所计数的上述数量为上述规定数量以下的情况下,不将上述第1事务数据保存到上述第1分布式账本。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062979645P | 2020-02-21 | 2020-02-21 | |
US62/979,645 | 2020-02-21 | ||
PCT/JP2021/005827 WO2021166928A1 (ja) | 2020-02-21 | 2021-02-17 | 制御方法、制御装置、及び、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115136178A true CN115136178A (zh) | 2022-09-30 |
Family
ID=77391939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180015126.4A Pending CN115136178A (zh) | 2020-02-21 | 2021-02-17 | 控制方法、控制装置及程序 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12118549B2 (zh) |
CN (1) | CN115136178A (zh) |
WO (1) | WO2021166928A1 (zh) |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6409348B2 (ja) * | 2014-06-06 | 2018-10-24 | 株式会社リコー | 設備情報管理装置、設備情報管理システム、設備情報管理方法、及びプログラム |
CN107391320B (zh) * | 2017-03-10 | 2020-07-10 | 创新先进技术有限公司 | 一种共识方法及装置 |
US20210264362A1 (en) * | 2017-05-02 | 2021-08-26 | State Farm Mutual Automobile Insurance Company | Distributed ledger system for claim payouts |
JP6900266B2 (ja) * | 2017-07-26 | 2021-07-07 | 株式会社日立製作所 | 運用管理方法、運用管理システム、および、運用管理プログラム |
GB201715423D0 (en) * | 2017-09-22 | 2017-11-08 | Nchain Holdings Ltd | Computer-implemented system and method |
JP2019153130A (ja) * | 2018-03-05 | 2019-09-12 | 株式会社Luftホールディングス | データ管理システム及びデータ管理アプリケーション |
WO2019204599A1 (en) * | 2018-04-19 | 2019-10-24 | Carrier Corporation | Peer to peer rental reservations |
JP6469920B1 (ja) * | 2018-05-11 | 2019-02-13 | 株式会社 ディー・エヌ・エー | 対象物の利用を管理するためのシステム、方法、及びプログラム |
US11328347B2 (en) * | 2018-06-28 | 2022-05-10 | International Business Machines Corporation | Rental asset processing for blockchain |
US20200136829A1 (en) * | 2018-10-25 | 2020-04-30 | American CryptoCoupon, Inc. | Data Management System Using Multiple Blockchains |
JP6731123B1 (ja) * | 2019-03-18 | 2020-07-29 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | 合意システムのダウンタイムの回復 |
CN110365768B (zh) * | 2019-07-15 | 2021-07-06 | 腾讯科技(深圳)有限公司 | 分布式系统的数据同步方法、装置、介质、电子设备 |
-
2021
- 2021-02-17 CN CN202180015126.4A patent/CN115136178A/zh active Pending
- 2021-02-17 WO PCT/JP2021/005827 patent/WO2021166928A1/ja active Application Filing
-
2022
- 2022-08-16 US US17/888,657 patent/US12118549B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2021166928A8 (ja) | 2021-12-02 |
US12118549B2 (en) | 2024-10-15 |
US20220391782A1 (en) | 2022-12-08 |
JPWO2021166928A1 (zh) | 2021-08-26 |
WO2021166928A1 (ja) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114866543B (zh) | 信息的传输方法、装置和系统 | |
EP3491778B1 (en) | Blockchain-implemented system and method | |
DK171320B1 (da) | Fremgangsmåde til afsendelse af hemmelige nøgler til sikkerhedsmoduler og brugerkort i et databehandlingsnet, samt anvendelse af fremgangsmåden i et databehandlingsnet | |
US20190172057A1 (en) | Blockchain-implemented method and system | |
EP3557459B1 (en) | Method, information processing device, management system, and program to control locking and unlocking of storage | |
CN101720074A (zh) | 充值处理方法与系统、通信装置 | |
US8762240B2 (en) | Electronic value exchange system, terminal device, recovery device and method of exchanging electronic value adoptable thereto | |
JP6786119B2 (ja) | 取引装置、取引方法及び取引プログラム | |
CN106408702A (zh) | 虚拟钥匙的授权方法、服务器及授权系统 | |
JP2010071009A (ja) | 開錠システム及び開錠方法 | |
EP3965039A1 (en) | Electronic currency offline payment method and payment collection method | |
JP7325725B2 (ja) | MaaSネットワークへのセキュアなアクセスのための発行者ノードのアクセス管理 | |
WO2020213522A1 (ja) | 期限管理サーバー、エージェント・プログラム及び端末貸出システム | |
CN115104117A (zh) | 控制方法、控制装置及程序 | |
US20230410101A1 (en) | Blockchain | |
JP2003233874A (ja) | 決済システム | |
CN115136178A (zh) | 控制方法、控制装置及程序 | |
CN115136177A (zh) | 控制方法、控制装置及程序 | |
CN115104111A (zh) | 控制方法、控制装置及程序 | |
JP7573592B2 (ja) | 制御方法、制御装置、及び、プログラム | |
EP3321874A1 (en) | System and method for processing a rental of a secured asset | |
CN101883143A (zh) | 一种实现一卡通漫游的方法、装置及系统 | |
EP3340157A1 (en) | Systems and methods for automated leasing of unattended assets | |
CN105022950A (zh) | 信息处理方法及电子设备 | |
CN110648235A (zh) | 一种基于可信计算环境tee的跨链资产转移方法 |
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 |