1.本公开涉及控制方法、控制装置及程序。
背景技术:2.例如在专利文献1中,公开了通过区块链适当地管理在车辆终端与用户终端之间收发的关于使用预约的信息的技术。
3.现有技术文献
4.专利文献
5.专利文献1:日本特开2019-253130号公报
技术实现要素:6.发明要解决的课题
7.但是,在物体的使用预约等的合同或交易的管理中使用区块链的情况下,在专利文献1所公开的技术中,有恶意利用发生了分叉(fork)时的区块链的行为而不正当地使用物体的问题。
8.本公开是鉴于上述的情况而做出的,目的是提供能够抑制恶意利用区块链的服务对象的不正当使用的控制方法、控制装置及程序。
9.用来解决课题的手段
10.有关本公开的一技术方案的控制方法,其是包括第1节点和多个第2节点、并且用于服务对象的使用的系统中的上述第1节点的控制方法,上述第1节点用第1分布式账本对第1区块链进行管理,上述多个第2节点分别用第2分布式账本对第2区块链进行管理,其中,生成第1事务数据,该第1事务数据表示在上述服务对象的使用时解除了上述服务对象的锁定,并且包含唯一地识别进行上述服务对象的使用的第1合同的第1合同id,将包含上述第1事务数据的区块保存到上述第1区块链。
11.另外,这些包含性或具体的技术方案也可以由系统、方法、集成电路、计算机程序或计算机可读取的cd-rom等的记录介质实现,也可以由系统、方法、集成电路、计算机程序及记录介质的任意的组合来实现。
12.发明效果
13.根据本公开,能够抑制恶意利用区块链的服务对象的不正当使用。
附图说明
14.图1是用来说明进行不正当使用的方法的次序的图。
15.图2a是表示进行图1所示的步骤1的场景的一例的图。
16.图2b是表示进行图1所示的步骤2、3的场景的一例的图。
17.图2c是表示进行图1所示的步骤4的场景的一例的图。
18.图2d是表示进行图1所示的步骤5的场景的一例的图。
19.图2e是表示进行图1所示的步骤6的场景的一例的图。
20.图2f是表示进行图1所示的步骤6后进行的场景的一例的图。
21.图3a是用来说明发生了分叉时的区块链的行为的图。
22.图3b是用来说明发生了分叉时的区块链的行为的图。
23.图3c是用来说明发生了分叉时的区块链的行为的图。
24.图4是表示有关实施方式的系统的构成的一例的图。
25.图5a是表示有关实施方式的系统的构成的另一例的图。
26.图5b是表示有关实施方式的系统的构成的另一例的图。
27.图5c是表示有关实施方式的系统的构成的另一例的图。
28.图6是表示有关实施方式的移动体装置的构成的一例的图。
29.图7是表示有关实施方式的终端的构成的一例的图。
30.图8是表示有关比较例的第1例的系统的正常处理的动作概要的流程图。
31.图9a是概念性地表示通过图8的步骤s1的动作而保存于账本a及账本b中的区块链的区块的图。
32.图9b是概念性地表示通过图8的步骤s3的动作而保存于账本a及账本b中的区块链的区块的图。
33.图9c是用来概念性地说明图通过8的步骤s5的动作而保存于账本a及账本b中的区块链的区块的图。
34.图10是表示有关比较例的第1例的系统的预约处理的顺序图。
35.图11是表示有关比较例的第1例的系统的借出处理的顺序图。
36.图12是表示有关比较例的第1例的系统的返还处理的顺序图。
37.图13是用来说明有关比较例的系统的费用计算处理的详细情况的流程图。
38.图14是表示有关比较例的第2例的系统的正常处理的动作概要的流程图。
39.图15a是概念性地表示通过图14的步骤s1a的动作而保存于账本a中的区块链的区块的图。
40.图15b是概念性地表示通过图14的步骤s3a的动作而保存于账本a中的区块链的区块的图。
41.图15c是概念性地表示通过图14的步骤s5a的动作而保存于账本a中的区块链的区块的图。
42.图16是用来概念性地说明通过图14的步骤s6a的动作而保存于账本a及账本b中的区块链的区块的图。
43.图17是用来概念性地说明通过图14的步骤s6a的动作而保存于账本a及账本b中的区块链的区块的图。
44.图18是表示有关比较例的第2例的系统的预约处理的顺序图。
45.图19是表示有关比较例的第2例的系统的借出处理的顺序图。
46.图20是表示有关比较例的第2例的系统的返还处理的顺序图。
47.图21是表示有关比较例的第2例的在移动体装置a的通信恢复时进行的系统的处理的顺序图。
48.图22是用来说明有关比较例的系统的区块连结处理的流程图。
49.图23是表示有关比较例的第3例的系统的不正当处理的动作概要的流程图。
50.图24a是概念性地表示通过图23的步骤s10的动作而保存于账本a中的区块链的区块的图。
51.图24b是概念性地表示通过图23的步骤s11的动作而保存于账本a中的区块链的区块的图。
52.图24c是概念性地表示通过图23的步骤s12的动作而保存于账本a中的区块链的区块的图。
53.图25是用来概念性地说明通过图23的步骤s13的动作而保存于账本a及账本b中的区块链的区块的图。
54.图26是用来概念性地说明通过图23的步骤s13的动作而保存于账本a及账本b中的区块链的区块的图。
55.图27是概念性地表示通过图23的步骤s14的动作而保存于账本a及账本b中的区块链的区块的图。
56.图28是表示有关比较例的第3例的系统的进行本地预约的情况下的处理的顺序图。
57.图29是表示有关比较例的第3例的系统的进行竞争预约的情况下的处理的顺序图。
58.图30是表示有关比较例的第3例的系统的进行本地借出的处理的顺序图。
59.图31是表示有关比较例的第3例的在移动体装置a的通信恢复时进行的系统的处理的顺序图。
60.图32是表示有关比较例的第3例的系统的返还处理的顺序图。
61.图33是表示有关比较例的第4例的系统的不正当处理的动作概要的流程图。
62.图34a是概念性地表示通过图33的步骤s10的动作而保存于账本a中的区块链的区块的图。
63.图34b是概念性地表示通过图33的步骤s11的动作而保存于账本a中的区块链的区块的图。
64.图34c是概念性地表示通过图33的步骤s12的动作而保存于账本a中的区块链的区块的图。
65.图34d是概念性地表示通过图33的步骤s13a的动作而保存于账本a中的区块链的区块的图。
66.图35是用来概念性地说明通过图33的步骤s14a的动作而保存于账本a及账本b中的区块链的区块的图。
67.图36是用来概念性地说明通过图33的步骤s14a的动作而保存于账本a及账本b中的区块链的区块的图。
68.图37是表示有关比较例的第4例的系统的本地返还的处理的顺序图。
69.图38是表示有关比较例的第4例的在移动体装置a的通信恢复时进行的系统的处理的顺序图。
70.图39是表示有关实施方式的系统的本地借出的处理的顺序图。
71.图40是概念性地表示通过图39的本地借出的处理而保存于账本a中的区块链的区
块的图。
72.图41是概念性地表示有关实施方式的在进行费用计算处理时保存在账本a及账本b中的区块链的区块的图。
73.图42是用来说明有关本实施方式的费用计算处理的详细情况的流程图。
74.图43是表示有关实施方式的变形例的在移动体装置a的通信恢复时进行的系统的处理的顺序图。
75.图44是表示有关实施方式的变形例的不正当预约检测处理的流程图。
76.图45是表示有关实施方式的变形例的在执行不正当预约检测处理而制作了事件报告时进行的系统的处理的顺序图。
具体实施方式
77.(得到本公开的一技术方案的经过)
78.如上述那样,在专利文献1中公开了通过区块链适当地管理在车辆终端与用户终端之间收发关于使用预约的信息的技术。
79.但是,专利文献1所公开的技术中能够恶意利用区块链的机制而不正当使用。以下,举例进行说明。
80.图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的场景的一例的图。
81.企图进行不正当使用的用户如图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分钟使用。
82.接着,企图进行不正当使用的用户如图2b所示,在步骤2及3中,使机动单车a的账本a成为不能与其他机动单车的账本b、c进行通信的(离线)状态。接着,企图进行不正当使用的用户例如对其他机动单车的账本b、c进行在16:00~16:15之间的15分钟使用机动单车a的第2预约。于是,由于机动单车a的账本a是离线状态,所以如图1的步骤3所示,由黑色表示的第2预约tx仅被保存到在线状态的账本b及c中。
83.接着,企图进行不正当使用的用户如图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中。
84.接着,该用户如图2e所示,在步骤6中,在16:00~16:15的期间,使机动单车a的账本a恢复为能够与其他机动单车的账本b、c进行通信的(在线)状态。于是,在账本a、b、c的区块链中发生分叉,如图1的步骤6所示,在账本a的区块链中,与账本b、c的区块链同样被保存第2预约tx,详细情况后述。并且,不正当预约tx被保存到第2预约tx之后。
85.这里,说明如果在步骤6中机动单车a的账本a恢复为在线状态,则如不正当预约tx比第2预约tx靠后被保存到账本a、b、c中那样发生了分叉时的区块链的行为。
86.图3a~图3c是用来说明发生了分叉时的区块链的行为的图。在图3a~图3c中概念性地表示了保存于移动体a的账本a和移动体b的账本b中的事务数据。tx表示事务数据。移动体a例如也可以是机动单车a。
87.首先,如图3a的左侧所示,在移动体a的账本a和移动体b的账本b是能够与其他移动体(未图示)进行通信的(在线)状态的情况下,在账本a及账本b中,保存包含相同的tx1的区块1以及与该区块1连结并包含tx2的区块2。tx2例如可以相当于上述的第1预约tx。
88.这样,在账本a及账本b中,如果生成包含tx2的区块2,则其被连结于上次生成的区块1。在账本a及账本b中构成了相同的区块链。
89.接着,如图3a的右侧所示,在移动体a的账本a成为与其他移动体的通信断绝的(离线)状态的情况下,在账本a及账本b中保存包含不同的tx的区块。在图3a的右侧所示的例子中,在账本a中保存有与该区块2连结的包含txα的区块α,而在账本b中保存有与该区块2连结的包含tx3的区块3以及与该区块3连结的包含tx4的区块4。也可以是,tx3例如相当于上述的第2预约tx,txα例如相当于上述的不正当预约tx。
90.这样,如果账本a成为离线状态,则账本a及账本b的通信被断绝,所以账本a及账本b单独地更新区块链。
91.接着,如图3b的左侧所示,如果移动体a的账本a恢复为能够与其他移动体进行通信的状态(离线恢复),则账本a及账本b相互共享不同的区块链。在图3b的左侧所示的例子中的账本a及账本b中,与该区块2连结的区块分支,在该区块2上连结包含txα的区块α,并且在该区块2上连结包含tx3的区块3和包含tx4的区块4。以下,将分支而连结在区块上的区块链中的最长的区块链称作主链,将其以外的区块链称作侧链。在图3b的左侧所示的例子中,包含tx3的区块3和包含tx4的区块4相当于区块2的主链,包含txα的区块α相当于区块2的侧链。
92.这样,如果账本a再次成为在线状态,则与区块2连结的区块链分支,发生分叉。
93.接着,如图3b的右侧所示,将作为区块2的侧链的包含txα的区块α删除,消除了分叉。此时,包含在区块α中的txα不被删除,而被保存到搭载于各移动体上的移动体装置的事务池中。在图3b的右侧所示的例子中,txα被保存到移动体装置a和移动体装置b的事务池中。
94.接着,如图3c所示,在账本a及账本b中,在生成新的区块的定时,包含txα而保存。在图3c所示的例子中,在账本a及账本b中,将包含相同的txα的区块5与该区块4连结并保存。
95.这样,在账本a及账本b中,分叉被消除而成为具有相同的区块链。以下,回到图2f
继续说明。
96.最后,企图进行不正当使用的用户如图2f所示,在步骤7中返还机动单车a。然后,执行费用征收算法,征收机动单车a的使用费用。但是,仅征收第1预约量和第2预约量的费用,不征收对于12:15~16:15期间的使用量即不正当使用量的费用。
97.这是因为,如果在步骤6中机动单车a的账本a恢复为在线状态,则不正当预约tx比第2预约tx靠后被保存到账本a、b、c中,进而第2预约tx的预约时间段和不正当预约tx的预约时间段为预订(booking)中。此外,费用征收算法不进行对作为预订中的预约(即竞争预约)、且靠后的预约的不正当预约的费用征收。这样,该用户能够不支付费用而将机动单车a使用4小时。
98.如以上这样,在物体的使用预约等的管理中使用区块链的情况下,有恶意利用发生了分叉时的区块链的行为而能够将物体不正当地使用的问题。
99.对此,有关本公开的一技术方案的控制方法,其是包括第1节点和多个第2节点、并且用于服务对象的使用的系统中的上述第1节点的控制方法,上述第1节点用第1分布式账本对第1区块链进行管理,上述多个第2节点分别用第2分布式账本对第2区块链进行管理,其中,生成第1事务数据,该第1事务数据表示在上述服务对象的使用时解除了上述服务对象的锁定,并且包含唯一地识别进行上述服务对象的使用的第1合同的第1合同id,将包含上述第1事务数据的区块保存到上述第1区块链。
100.这样,表示解除了服务对象的锁定的第1事务数据被保存到第1区块链中。由此,即使与第1事务数据对应的服务对象的第1合同竞争,也能够以保存于第1区块链及第2区块链中的第1事务数据为触发,征收使用了服务对象的费用。因此,能够抑制恶意利用区块链的服务对象的不正当使用。
101.此外,例如也可以是,进一步执行用来进行上述服务对象的使用费用的征收的费用征收智能合约,在执行上述费用征收智能合约时,使上述费用征收智能合约确认是否在上述第1区块链及上述第2区块链中保存有上述第1事务数据、并且对于上述服务对象的使用中的上述第1合同的使用费用是未征收,上述第1合同是由上述第1事务数据中包含的上述第1合同id识别的合同,在保存有上述第1事务数据并且是上述未征收的情况下,使上述费用征收智能合约执行对于上述第1合同的使用费用的征收。
102.这样,通过执行费用征收智能合约,即使与第1事务数据对应的服务对象的第1合同竞争,也能够征收第1合同中的使用了服务对象的费用。
103.此外,例如也可以是,上述未征收的情况是指如下情况:在上述第1区块链及上述第2区块链中保存有用来签订上述第1合同的第2事务数据和用来签订进行上述服务对象的使用的第2合同的第3事务数据,进而进行上述第1合同中包含的上述服务对象的使用的时间段与进行上述第2合同中包含的上述服务对象的使用的时间段一部分重复。
104.此外,例如也可以是,进一步使上述费用征收智能合约制作事件报告,该事件报告表示在上述第1合同中包含的上述服务对象的使用中存在不正当的意思。
105.此外,例如也可以是,进一步,使不正当检测智能合约确认是否在上述第1区块链及上述第2区块链中保存有用来签订上述第1合同的第2事务数据和用来签订进行上述服务对象的使用的第2合同的第3事务数据、并且存在竞争合同,上述竞争合同是指进行上述第1合同中包含的上述服务对象的使用的时间段与进行上述第2合同中包含的上述服务对象的
使用的时间段一部分重复,在存在上述竞争合同的情况下,使上述不正当检测智能合约对上述第1合同赋予使用费的征收是未征收的意思的标志,使用来进行上述服务对象的使用费用的征收的费用征收智能合约执行对于被赋予了上述标志的上述第1合同的费用征收。
106.这样,通过执行费用征收智能合约,即使与第1事务数据对应的服务对象的第1合同竞争,也能够征收第1合同中的使用了服务对象的费用。
107.此外,例如也可以是,上述系统用于共享多个移动体的服务,上述服务对象是上述多个移动体,上述第1合同及上述第2合同是第1移动体的使用预约,上述第2事务数据及上述第3事务数据是用于用户经由上述第1节点进行上述第1移动体的使用预约的预约事务数据,并且包含上述用户的id、表示上述用户使用上述第1移动体的时间段的预约时间段、以及用来识别上述使用预约的预约号。
108.这样,即使与第1事务数据对应的服务对象的使用预约竞争,也能够以保存于第1区块链及第2区块链中的第1事务数据为触发,征收第1合同中的使用了服务对象的费用。因此,能够抑制恶意利用区块链的服务对象的不正当使用。
109.此外,例如也可以是,进一步,上述第1节点从上述用户接收上述第1移动体的解锁请求作为用来开始上述第1移动体的使用的请求,上述第1节点确认在上述第1区块链中是否保存有与上述解锁请求对应的上述预约事务数据,在保存有上述预约事务数据的情况下,许可上述用户在上述时间段解锁上述第1移动体,生成上述第1事务数据。
110.此外,例如也可以是,进一步,取得借出事务数据,该借出事务数据表示向上述用户借出了上述第1移动体,并且包含上述用户的id、上述预约号、以及向上述用户借出了上述第1移动体的时刻的时间戳,将包含上述借出事务数据的第2区块保存到上述第1区块链,取得返还事务数据,该返还事务数据表示上述用户返还了上述第1移动体,并且包含上述用户的id、上述预约号、以及上述用户返还了上述第1移动体的时刻的时间戳,将包含上述返还事务数据的第3区块保存到上述第1区块链,对于上述预约事务数据中包含的上述用户的id,执行上述第1移动体的使用费用的征收。
111.有关本公开的一技术方案的控制装置,其是用于服务对象的使用的系统中的控制装置,上述系统具备用第1分布式账本对第1区块链进行管理的控制装置、以及分别用第2分布式账本对第2区块链进行管理的多个其他控制装置,其中,上述控制装置具备:处理器;以及存储器,上述处理器生成第1事务数据,该第1事务数据表示在上述服务对象的使用时解除了上述服务对象的锁定,并且包含唯一地识别进行上述服务对象的使用的第1合同的第1合同id,上述处理器将包含上述第1事务数据的区块保存到上述第1区块链。
112.有关本公开的一技术方案的程序,用来使计算机执行包括第1节点和多个第2节点、并且用于服务对象的使用的系统中的上述第1节点的控制方法,上述第1节点通过第1分布式账本对第1区块链进行管理,上述多个第2节点分别通过第2分布式账本对第2区块链进行管理,其中,上述程序用来使计算机执行:生成第1事务数据,该第1事务数据表示在上述服务对象的使用时解除了上述服务对象的锁定,并且包含唯一地识别进行上述服务对象的使用的第1合同的第1合同id;以及将包含上述第1事务数据的区块保存到上述第1区块链。
113.以下,参照附图对实施方式进行说明。另外,以下说明的实施方式都表示本公开的一具体例。即,在以下的实施方式中表示的数值、形状、材料、构成要素、构成要素的配置及连接形态、步骤、步骤的顺序等是一例,不是限定本公开的意思。此外,以下的实施方式的构
成要素中的、在表示最上位概念的独立权利要求中没有记载的构成要素,虽然不是为了达成本公开的课题而必定需要的,但作为构成更优选的形态的构成要素进行说明。
114.(实施方式)
115.首先,对有关本公开的系统构成进行说明。系统包括通过第1分布式账本对第1区块链进行管理的第1节点、以及分别通过第2分布式账本对第2区块链进行管理的多个第2节点,并且用于服务对象的使用。系统例如也可以用于共享多个移动体的服务,该情况下的服务对象是多个移动体。在本实施方式中,系统经由终端(或移动体)从用户受理特定的移动体的使用预约,根据所受理的使用预约向用户借出特定的移动体。系统在所受理的使用预约中的预约时间段,如果经由终端(或移动体)从用户受理对于已被预约的特定的移动体的借出请求,则许可向用户借出特定的移动体。具体而言,系统如果从用户受理特定的移动体的解锁请求,则确认事前进行的使用预约,根据确认结果许可用户在预约时间段将特定的移动体解锁。
116.另外,共享的服务中的移动体例如包括自行车、机动单车、汽车、船舶、飞行体等。
117.图4是表示有关实施方式的系统的构成的一例的图。
118.如图4所示,系统1例如具备移动体10a~10c和终端11a~11c。在该例中,移动体10a~10c分别持有用来共享相同内容的数据的分布式账本。在这些分布式账本中,例如共享相同构成的区块链。
119.移动体10a~10c和终端11a~11c通过网络连接。网络例如是因特网、移动电话的载波网络等,但由怎样的通信线路或网络构成都可以。
120.另外,以下将移动体10a~10c分别也称作移动体10,但也有将移动体10a~10c称作移动体a~移动体c的情况。此外,将终端11a~11c分别也称作终端11,但也有将终端11a~11c称作终端a~终端c的情况。此外,也有将移动体10a~10c分别具备的分布式账本称作账本a~账本c的情况。
121.另外,对保存区块链的分布式账本进行管理的系统是公有型、私有型及联盟型的哪种形态都可以。
122.图5a是表示有关实施方式的系统的构成的另一例的图。
123.在图5a中,例如表示了移动体10a、10b、终端11a、11b和管理服务器20。在该例中,移动体10a、10b和管理服务器20分别持有用来共享相同内容的数据的分布式账本。在这些分布式账本中,例如共享了相同构成的区块链。
124.移动体10a、10b、终端11a、11b和管理服务器20通过网络连接。网络例如是因特网、移动电话的载波网络等,但由怎样的通信线路或网络构成都可以。
125.图5b是表示有关实施方式的系统的构成的另一例的图。
126.在图5b中,例如表示了移动体10a~10c和终端11a~11c。在该例中,终端11a~11c分别持有用来共享相同内容的数据的分布式账本。在这些分布式账本中,例如共享相同构成的区块链。
127.移动体10a~10c和终端11a~11c通过网络连接。网络例如是因特网、移动电话的载波网络等,但由怎样的通信线路或网络构成都可以。
128.图5c是表示有关实施方式的系统的构成的另一例的图。
129.在图5c中,例如表示了移动体10a~10c和终端11a~11c。在该例中,移动体10a~
10c和终端11a~11c分别持有用来共享相同内容的数据的分布式账本。在这些分布式账本中,例如共享相同构成的区块链。
130.移动体10a~10c和终端11a~11c通过网络连接。网络例如是因特网、移动电话的载波网络等,但由怎样的通信线路或网络构成都可以。
131.以下,对图4的系统的各构成进行说明。另外,关于图5a~图5c的系统的构成,与图4的系统相比只是持有分布式账本的装置或终端不同,能够同样地应用。
132.首先,对搭载在移动体10a~10c上的移动体装置进行说明。另外,以下也有将搭载在移动体10a~10c上的移动体装置分别称作移动体装置a~移动体装置c的情况。
133.[移动体装置100]
[0134]
移动体装置100是通过分布式账本对区块链进行管理的节点的一例。另外,节点可以改称作控制装置。
[0135]
移动体装置100是搭载在移动体10上的信息处理装置,持有分布式账本。移动体装置100也可以是智能电话及平板电脑等的便携终端。
[0136]
图6是表示有关实施方式的移动体装置100的构成的一例的图。
[0137]
有关本实施方式的移动体装置100具备输入部101、事务数据生成部102、事务数据验证部103、区块生成部104、同步部105、智能合约执行部106、区块链管理部107、分布式账本存储部108、状态存储部109、不正当检测部110、通信部111和显示部112。
[0138]
《输入部101》
[0139]
输入部101受理来自用户的输入。输入部101将所受理的信息输入显示在显示部112上,或发送给事务数据生成部102,或发送给通信部111。例如,输入部101也可以从用户受理表示返还的信息输入。
[0140]
《事务数据生成部102》
[0141]
事务数据生成部102生成事务数据。
[0142]
在本实施方式中,事务数据生成部102生成表示向用户借出了移动体10的借出事务数据。具体而言,事务数据生成部102在进行了向用户的移动体10的借出的情况下,生成表示向用户借出了移动体10的借出事务数据。事务数据生成部102例如在受理来自用户的解锁请求而进行了移动体的解锁的情况下,生成借出事务数据。借出事务数据包含用户id、用来识别使用预约的预约号(预约id)和向用户借出了移动体10的时刻的时间戳。
[0143]
此外,在本实施方式中,事务数据生成部102生成表示向用户完成了移动体10的解锁的解锁完成事务数据。具体而言,事务数据生成部102例如在受理来自用户的解锁请求而进行了移动体10的解锁的情况下,生成解锁完成事务数据。解锁完成事务数据包含解锁了移动体10的用户id、解锁了移动体10的移动体装置100的装置id、对应的预约号(预约id)、以及移动体10被解锁的日期时间。移动体10被解锁的日期事件也可以是移动体10被解锁的时刻的时间戳。
[0144]
即,在本实施方式中,事务数据生成部102例如在受理来自用户的解锁请求而进行了移动体10的解锁的情况下,生成解锁完成事务数据,然后生成借出事务数据。
[0145]
此外,事务数据生成部102生成表示用户返还了移动体10的返还事务数据。具体而言,事务数据生成部102在由用户进行了移动体10的返还的情况下,生成表示用户返还了移动体10的返还事务数据。由用户进行了移动体10的返还的情况既可以通过输入部101从用
户受理表示返还的信息输入来判断,也可以通过经由终端11从用户受理表示返还的信息输入(即,通信部111从终端11接收信息输入)来判断,也可以通过由用户对移动体10进行了上锁来判断,也可以通过通信部111接收在预先设定的移动体10的返还施设中受理了移动体的返还时从返还施设发送的通知来判断。返还事务数据包含用户id、预约号(预约id)和用户返还了移动体10的时刻的时间戳。
[0146]
另外,预约事务数据由终端11a生成,但在移动体装置100从用户受理使用预约的情况下,事务数据生成部102也可以生成用来进行使用预约的预约事务数据。具体而言,事务数据生成部102在由用户对输入部101进行了用于使用预约的输入的情况下,生成包含表示使用预约的预约信息的预约事务数据。预约信息包含用户id、用来识别使用预约的预约号(预约id)和表示用户使用移动体10的时间段的预约时间段。预约信息中也可以还包含用来识别被进行了使用预约的移动体10的装置id。
[0147]
此外,事务数据生成部102也可以在由不正当检测部110检测到满足规定条件的解锁完成事务数据的情况下,生成包含事件报告的事务数据,事件报告表示在作为服务对象的移动体10的使用中存在不正当的意思。
[0148]
《事务数据验证部103》
[0149]
事务数据验证部103在通信部111接收到事务数据时执行验证算法,验证该事务数据的正当性。接着,事务数据验证部103将被验证了正当性的事务数据保存到状态存储部109的事务池的区域。保存在状态存储部109中的被验证了正当性的事务数据由通信部111作为应向接下来生成的区块保存的事务数据的信息,被发送至其他移动体装置100。
[0150]
例如,事务数据验证部103验证通信部111接收到的事务数据是否被赋予了用正确的方法生成的电子签名等。这里,通信部111接收的事务数据是预约事务数据、解锁完成事务数据、借出事务数据及返还事务数据中的任一个。即,事务数据验证部103验证预约事务数据、解锁完成事务数据、借出事务数据及返还事务数据的正当性。
[0151]
另外,事务数据验证部103在由事务数据生成部102生成事务数据的情况下,也可以不进行事务数据的正当性的验证。
[0152]
《区块生成部104》
[0153]
区块生成部104生成包含由事务数据验证部103验证了正当性的事务数据的区块。区块生成部104生成从存储在状态存储部109中的已验证的多个事务数据中包含规定的数量的事务数据的区块。区块生成部104从多个事务数据中的还没有成为区块生成的对象的多个事务数据中,选择作为区块生成的对象的多个区块。区块生成部104也可以从状态存储部109删除已经成为区块生成的对象的多个事务数据。
[0154]
另外,由移动体装置100的区块生成部104生成的区块和由其他移动体装置100的区块生成部104生成的区块也可以不同。这是因为,根据各移动体装置100的通信状态,保存在状态存储部109中的已验证的事务数据按每个移动体装置100而不同,或区块生成部104中的区块生成的判断基准不同。
[0155]
另外,区块生成的判断基准(关于应向区块保存的事务数据的规则)也可以由各移动体装置100保持。区块生成部104基于具备区块生成部104的移动体装置100所保持的区块生成的判断基准,从保存在状态存储部109中的已验证的多个事务数据中选择多个事务数据,生成包含所选择的多个事务数据的区块。
[0156]
《同步部105》
[0157]
同步部105在与其他移动体装置100之间进行在区块生成部104中生成的区块的同步。
[0158]
在本实施方式中,同步部105经由通信部111向其他移动体装置100发送在区块生成部104中生成的区块。并且,同步部105关于所发送的区块,在与其他移动体装置100之间共同执行共识算法。在共识算法中,既可以使用被称作pbft(practical byzantine fault tolerance:实用拜占庭容错)的共识算法,也可以使用其他的公知的共识算法。作为公知的共识算法,例如有pow(proof of work:工作量证明)或pos(proof of stake:权益证明)等。另外,在使用pbft的情况下,同步部105首先从其他移动体装置100分别接受表示事务数据的验证是否成功的报告,判定该报告的数量是否超过了规定的数量。并且,同步部105也可以在该报告的数量超过了规定的数量时,判定为是通过共识算法验证了事务数据的正当性的情况。这样,同步部105基于从其他移动体装置100分别通知的报告,对事务数据是正当的事务数据(即正当性)达成共识,对区块的正当性达成共识。
[0159]
此外,同步部105将已达成共识的区块连结到通过存储在分布式账本存储部108中的分布式账本进行管理的第1区块链上。
[0160]
《智能合约执行部106》
[0161]
智能合约执行部106通过执行保存在分布式账本存储部108的分布式账本中的事务数据中包含的合约代码等,使智能合约动作。
[0162]
《《预约sc》》
[0163]
在本实施方式中,智能合约执行部106也可以通过使预约智能合约动作,来执行进行作为服务对象的移动体的使用预约的预约处理。智能合约执行部106也可以在存储在分布式账本存储部108中的分布式账本内的区块链上被追加了包含预约事务数据的区块的情况下进行预约处理。
[0164]
《《费用征收sc》》
[0165]
在本实施方式中,智能合约执行部106也可以通过使费用征收智能合约动作来进行费用计算处理。智能合约执行部106在存储在分布式账本存储部108中的分布式账本内的区块链上被追加了包含返还事务数据的区块的情况下,进行费用计算处理。另外,费用计算处理与由后述的区块链管理部107进行的处理相同。
[0166]
此外,智能合约执行部106也可以使费用征收智能合约确认是否在分布式账本内的区块链中保存了解锁完成事务数据、并且未征收对于与解锁完成事务数据中包含的预约id对应的预约的使用费用。进而,智能合约执行部106也可以在保存了解锁完成事务数据并且未征收的情况下,使费用征收智能合约执行对于该预约的使用费用的征收。
[0167]
《《不正当检测sc》》
[0168]
此外,在本实施方式中,智能合约执行部106也可以通过使不正当检测智能合约动作来进行不正当检测处理。智能合约执行部106在对存储在分布式账本存储部108中的分布式账本内的区块链追加了包含预约事务数据的区块的情况下,进行不正当检测处理。另外,不正当检测处理与由后述的不正当检测部110进行的处理相同。
[0169]
这样,智能合约执行部106通过使智能合约动作,能够用分布式账本管理使用费用的征收、不正当预约的检测等。另外,假设费用征收智能合约及不正当检测智能合约例如由
用户通过终端11的应用生成,包含这些智能合约的区块预先被保存在区块链中。
[0170]
《区块链管理部107》
[0171]
区块链管理部107管理由存储在分布式账本存储部108中的分布式账本(以下称作第1分布式账本)管理的区块链(以下称作第1区块链)。
[0172]
《《主链、侧链》》
[0173]
在本实施方式中,区块链管理部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差异区块的情况下进行。
[0174]
区块链管理部107将一个以上的第1差异区块及一个以上的第2差异区块中的较多的(较长的)差异区块追加到在第1区块链及第2区块链中相互共同的一个以上的共同区块之后。接着,区块链管理部107还在所追加的较多的差异区块之后,追加包含一个以上的第1差异区块及一个以上的第2差异区块中的较少的(较短的)差异区块中包含的一个以上的事务数据的一个以上的区块。即,区块链管理部107将一个以上的第1差异区块及一个以上的第2差异区块中的较多的差异区块决定为主链区块,将一个以上的第1差异区块及一个以上的第2差异区块中的较少的差异区块决定为侧链区块。并且,区块链管理部107在一个以上的共同区块之后,以主链区块、根据侧链区块中包含的一个以上的事务数据生成的追加区块的顺序,追加主链区块及追加区块。
[0175]
这样,区块链管理部107更新由分布式账本存储部108的第1分布式账本管理的第1区块链。即,区块链管理部107将第1区块链与由其他移动体装置100持有的第2分布式账本管理的第2区块链比较,在这些区块链的构成不同的情况下更新第1区块链,以使构成相互相同。
[0176]
另外,区块链管理部107在第1区块链及第2区块链的比较结果为第1区块链不具有一个以上的第1差异区块的情况下,通过对第1区块链追加一个以上的第2差异区块,来更新第1区块链。
[0177]
这里,一个以上的第1差异区块例如是通过移动体装置100在不能与其他移动体装置100进行通信的状态下向第1区块链追加而产生的、没有包含在第2区块链中的区块。另外,在多个其他移动体装置100是可相互通信的状态的情况下,一个以上的第1差异区块的数量比一个以上的第2差异区块的数量少的可能性较高。这是因为,第2区块链由比对第1区块链进行管理的移动体装置100多的台数的多个其他移动体装置100分别所持有的第2分布式账本同步地管理,并且因为,认为在多个其他移动体装置100中与1台移动体装置100相比发生更多的生成区块的机会。因此,由不能与其他移动体装置100之间进行通信的1台移动
体装置100产生的一个以上的第1差异区块成为侧链区块的可能性比成为主链区块的可能性更高。
[0178]
一个以上的第1差异区块也可以具有包含如下事务数据的区块,该事务数据包含关于合同的信息。合同例如是移动体10的使用预约。包含关于合同的信息的事务数据例如是预约事务数据、解锁完成事务数据、借出事务数据及返还事务数据。
[0179]
另外,区块链管理部107也可以不是取得第2区块链的全部,只要取得一部分即可。例如,这里由区块链管理部107取得的第2区块链的一部分,是指比执行上次的第1区块链的更新后的最后的区块靠后的区块以后的一个以上的区块。
[0180]
《《借出处理》》
[0181]
此外,区块链管理部107也可以进行用来向用户借出移动体10的借出处理。在此情况下,区块链管理部107如果通信部111接收到解锁请求,则通过参照存储在分布式账本存储部108中的第1分布式账本内的第1区块链,确认是否进行了基于解锁请求的预约。具体而言,区块链管理部107判定在第1区块链中是否保存有包含与解锁请求中包含的预约号相同的预约号的预约事务数据。区块链管理部107在第1区块链中保存有包含与解锁请求中包含的预约号相同的预约号的预约事务数据的情况下,判断为进行了基于解锁请求的预约,向移动体10进行解锁指示。移动体10如果取得解锁指示,则基于解锁指示使进行了上锁的致动器动作,解除(解锁)移动体的上锁。
[0182]
解锁请求是用于解除用户在使用预约中预约了使用的移动体10的锁定的信息。解锁请求为了确定使用预约而只要至少包含预约号即可。解锁请求也可以还包含表示进行了使用预约的用户的用户id、使用预约的对象的移动体10的移动体id、预约了移动体10的移动体装置100的装置id、预约时间段等。
[0183]
另外,区块链管理部107也可以代替接收解锁请求,而在到了保存在第1区块链中的使用预约的预约时间段的开始时刻的情况下,向设有移动体装置100的移动体进行解锁指示。
[0184]
《《费用计算处理》》
[0185]
此外,区块链管理部107也可以代替由智能合约执行部106执行的智能合约而进行费用计算处理。区块链管理部107以从上次的处理的执行起经过了一定间隔、或在存储在分布式账本存储部108中的第1分布式账本内的第1区块链上新连结的区块中包含有返还事务数据为触发,进行费用计算处理。区块链管理部107检索分布式账本存储部108的第1区块链,判定在由第1分布式账本管理的第1区块链中是否包含分别包含相互竞争的合同的两个以上的事务数据。相互竞争的合同,例如是指进行第1合同中包含的服务对象的使用的时间段与进行第2合同中包含的服务对象的使用的时间段一部分重复的合同。在本实施方式中,作为相互竞争的合同,例如可以列举出存在包含相互相同的移动体id和相互一部分时间段重复的两个以上的预约时间段的第1预约以及与第1预约竞争的第2预约的情况。区块链管理部107在第1区块链中包含竞争预约的情况下,履行包含第1预约的事务数据和包含竞争预约的事务数据中的、先被追加到第1区块链中的事务数据中包含的第1预约或竞争预约。即,区块链管理部107在有重复预约时,对于重复预约中最前的使用预约计算费用,执行从用户征收计算出的费用的费用征收处理。换言之,区块链管理部107对于在重复预约中最前的使用预约以外的使用预约,为了防止从相同用户的双重征收,不进行费用计算,不执行费
用征收处理。
[0186]
在本实施方式中,区块链管理部107如果在第1区块链中有满足规定条件的解锁完成事务数据,则根据解锁完成事务数据而征收未征收费用的第1预约或竞争预约的费用。由于解锁完成事务数据存在于第1区块链中,所以即便有第1预约或竞争预约,由于知道由未征收费用的第1预约或竞争预约确实使用了移动体10,所以即使征收费用也不会成为双重征收。
[0187]
另外,作为费用计算的对象的使用预约是保存在第1区块链中的返还事务数据中包含的预约号的使用预约,并且是还没有进行费用的计算的使用预约。即,将已经进行了费用的计算的使用预约从费用计算的对象中排除。此外,假如在与返还事务数据中包含的预约号对应的使用预约没有保存在第1区块链中的情况下,不进行对于返还事务数据的费用计算。
[0188]
《分布式账本存储部108》
[0189]
分布式账本存储部108存储有由第1区块链管理的第1分布式账本。在本实施方式中,第1分布式账本将包含预约事务数据、解锁完成事务数据、借出事务数据及返还事务数据的区块保存在第1区块链中。
[0190]
《状态存储部109》
[0191]
状态存储部109是存储有分布式账本的最新版的数据的存储部。存储在状态存储部109中的数据是能够由计算机变更或删除的数据。状态存储部109包含保存例如用来执行智能合约的变量、函数等的内存的区域、以及保存事务数据的事务池的区域。状态存储部109也可以存储由事务数据验证部103验证了正当性的事务数据。状态存储部109也可以存储经由通信部111取得的第2区块链。状态存储部109也可以存储第2区块链中的一个以上的第2差异区块。状态存储部109也可以存储分布式账本存储部108中存储的第1区块链。状态存储部109也可以存储向分布式账本保存前的事务数据。状态存储部109也可以存储被事务数据调出的智能合约。此外,状态存储部109也可以存储保存在分布式账本中的智能合约的变量。状态存储部109也可以存储由事务数据生成部102生成的事务数据。状态存储部109也可以存储由通信部111接收到的事务数据。
[0192]
状态存储部109也可以暂时地存储上述的各数据。
[0193]
《不正当检测部110》
[0194]
不正当检测部110也可以代替由智能合约执行部106执行的智能合约,进行不正当预约检测处理,该不正当预约检测处理中检测在由存储在分布式账本存储部108中的第1分布式账本管理的第1区块链中是否保存有满足规定条件的解锁完成事务数据。满足规定条件的解锁完成事务数据例如可以是包含被认为没有对应的预约的预约id的解锁完成事务数据,也可以是在没有预约的时间发出的解锁完成事务数据。不正当检测部110在不正当预约检测处理中,通过检测保存有满足规定条件的解锁完成事务数据,能够检测出存在通过既有的费用计算算法不会被征收费用的不正当预约。
[0195]
《《事件报告》》
[0196]
此外,不正当检测部110也可以在判断为保存有满足规定条件的解锁完成事务数据的情况下,制作事件报告,并向事务数据生成部102通知,上述事件报告表示在作为服务对象的移动体10的使用中有不正当的意思。事件报告中也可以记载有判定为有不正当的理
由、检测到的解锁完成事务数据或包含解锁完成事务数据的区块。作为判定为有不正当的理由,有预约存在竞争、区块生成时间与区块被连结的时间差较大、以及有多个与返还事务数据对应的预约、解锁完成事务数据满足规定条件等。解锁完成事务数据或包含它的区块也可以包含与该解锁完成事务数据关联的一个以上的事务数据。关联的事务数据是指具有解锁完成事务数据所包含的预约id的借出事务数据、预约事务数据等。
[0197]
在事件报告中,也可以还包含检测时间、对象用户的用户id及搭载在对象移动体上的终端id中的任一个。检测时间表示不正当检测部110判定为在第1区块链中保存有解锁完成事务数据的时刻、或生成了解锁完成事务数据的时刻。对象用户表示进行了相竞争的预约事务数据中包含的预约的用户。终端id表示进行了解锁完成事务数据中包含的移动体10的预约的移动体装置100。
[0198]
《《不正当标志》》
[0199]
此外,不正当检测部110也可以在检测到有不正当预约的情况下,对不正当预约或相当于不正当预约的预约事务数据赋予使用费的征收为未征收的标志。不正当检测部110也可以对不正当预约或相当于不正当预约的预约事务数据还赋予检测到有不正当预约的移动体装置100的装置id或检测到不正当的终端11的终端id、以及检测到有不正当预约的时刻。不正当检测部110将赋予了标志等的带有标志的不正当预约或相当于不正当预约的预约事务数据向同步部105通知。由此,对于带有标志的不正当预约或相当于不正当预约的预约事务数据,在与其他移动体装置100之间执行共识算法,并保存到各移动体装置100的区块链中。结果,能够使后述的费用征收智能合约执行对于被赋予了标志的不正当预约的费用征收。
[0200]
《通信部111》
[0201]
通信部111经由网络向其他移动体装置100或终端11发送信息,或从其他移动体装置100或终端11接收信息。通信部111经由网络与其他移动体装置100或终端11之间进行通信。另外,该通信也可以由tls(transport layer security:传输层安全协议)进行,tls通信用的加密秘钥也可以由通信部111保持。
[0202]
在本实施方式中,通信部111从终端11接收预约事务数据。此外,通信部111从终端11接收解锁请求。此外,通信部111从其他移动体装置100接收在其他移动体装置100中已验证的事务数据。通信部111在与其他移动体装置100之间为了共同执行共识算法而进行区块的收发。
[0203]
《显示部112》
[0204]
显示部112显示输入部101所受理的信息输入。显示部112也可以显示从终端11发送的信息。显示部112也可以显示用来从用户受理移动体装置100的返还的显示(ui:user interface,用户接口)。
[0205]
接着,对终端11a~11c进行说明。另外,由于终端11a~终端11c的构成共通,所以称作终端11而进行说明。
[0206]
[终端11]
[0207]
终端11是由用户使用的终端的一例。终端11例如可以是个人计算机,也可以是智能电话及平板电脑等的便携终端。
[0208]
图7是表示有关实施方式1的终端11的构成的一例的图。
[0209]
有关本实施方式的终端11具备输入部1101、显示部1102和通信部1103。
[0210]
《输入部1101》
[0211]
输入部1101受理通过用户的操作进行的信息输入。输入部1101将受理的信息输入显示在显示部1102上或发送给通信部1103。
[0212]
例如,输入部1101被导入用来进行使用预约的应用,受理向用来进行使用预约的显示(ui)的输入。该显示(ui)由显示部1102显示。输入部1101受理持有终端11的用户的电子签名,生成包含所受理的用于使用预约的输入和电子签名的预约事务数据。
[0213]
此外,输入部1101受理向用于对所预约的移动体装置100的解锁请求的显示(ui)的输入。该显示(ui)由显示部1102显示。输入部1101受理用于解锁请求的输入,生成解锁请求。
[0214]
《显示部1102》
[0215]
显示部1102显示输入部1101所受理的信息输入。显示部1102显示用来进行使用预约的显示(ui)。此外,显示部1102显示用于解锁请求的显示(ui)。
[0216]
《通信部1103》
[0217]
通信部1103经由网络向移动体装置100发送信息,或从移动体装置100接收或通知信息。此外,通信部1103也可以经由网络向其他终端11发送信息或接收来自其他终端11的信息。
[0218]
这样,通信部1103经由网络在与移动体装置100或其他终端11之间进行通信。另外,该通信也可以通过tls进行,tls通信用的加密秘钥也可以由通信部1103保持。
[0219]
例如,通信部1103将预约事务数据发送给移动体装置100。此外,通信部1103将解锁请求发送给所预约的移动体装置100。
[0220]
[系统的动作等]
[0221]
接着,对如以上这样构成的系统的动作进行说明。
[0222]
首先,作为比较例,说明正常地进行共享多个移动体的服务中的对移动体a的处理的正常处理,并说明恶意利用区块链的机制而将移动体a不正当使用的情况下的该处理即不正当处理。然后,对采取了不正当对策的本公开的该处理进行说明。
[0223]
[比较例的第1例]
[0224]
将移动体a总是处于在线状态的情况下的处理作为比较例的第1例进行说明。
[0225]
图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进行处理而说明。
[0226]
如图8所示,首先,例如终端a与移动体装置a进行通信,进行搭载有移动体装置a的移动体a的预约处理(s1)。更具体地讲,终端a与移动体装置a进行通信,生成用来对移动体a进行使用预约的预约事务数据trsv,发送给移动体装置a。在此情况下,例如如图9a所示,由
于移动体装置a和移动体装置b是能够与其他移动体装置进行通信的(在线)状态,所以在账本a及账本b中都保存包含用来对移动体a进行使用预约的预约事务数据trsv的区块。
[0227]
接着,例如终端a与移动体装置a进行通信,进行移动体a的借出处理(s3)。更具体地讲,终端a与移动体装置a进行通信,为了使用移动体a而发送移动体a的解锁请求。于是,移动体装置a使移动体a解锁,以移动体a被解锁为触发,生成表示移动体a的借出开始的借出事务数据trnt。在此情况下,例如如图9b所示,由于移动体装置a和移动体装置b是能够与其他移动体装置进行通信的(在线)状态,所以在账本a及账本b中都保存包含表示移动体a的借出开始的借出事务数据trnt的区块。
[0228]
接着,例如终端a与移动体装置a进行通信,进行移动体a的返还处理(s5)。更具体地讲,操作了终端a的用户将被解锁后的移动体a使用进行了使用预约的时间,然后返还。移动体装置a如果移动体a被返还,则生成表示移动体a的返还完成的返还事务数据trtn。在此情况下,例如如图9c所示,由于移动体装置a和移动体装置b是能够与其他移动体装置进行通信的(在线)状态,所以在账本a及账本b中都保存包含表示移动体a的返还完成的返还事务数据trtn的区块。
[0229]
接着,在移动体装置a等中,进行费用计算处理(s7)。更具体地讲,在移动体装置a等中,执行费用计算算法,对于用户已进行的移动体a的使用预约征收使用了移动体a的费用。
[0230]
接着,使用顺序图对图8所示的步骤s1~s5的处理详细情况即预约处理、借出处理及返还处理的详细情况进行说明。以下,也假设想要使用移动体a的用户使用终端a对搭载在移动体a上的移动体装置a进行移动体a的预约处理、借出处理及返还处理而说明。
[0231]
[有关比较例的第1例的预约处理]
[0232]
图10是表示有关比较例的第1例的系统的预约处理的顺序图。
[0233]
首先,终端a基于想要使用移动体a的用户的操作,生成用来对移动体a进行使用预约的预约事务数据trsv(s101)。这里,也可以是,在终端a即终端11a中,作为输入部1101被导入了应用,应用基于用户的操作来生成预约事务数据trsv。
[0234]
接着,终端a与移动体a的移动体装置a进行通信,将在步骤s101中生成的预约事务数据trsv发送给移动体装置a(s102)。
[0235]
接着,移动体装置a如果接收到在步骤s102中发送的预约事务数据trsv,则向作为其他移动体装置的移动体装置b、c转送预约事务数据trsv(s103)。由此,移动体装置b、c取得预约事务数据trsv。
[0236]
接着,移动体装置a、b、c分别执行进行包括所取得的预约事务数据trsv的正当性在内的验证的验证算法(s104)。另外,在预约事务数据trsv的验证没有成功的情况下,结束预约处理。
[0237]
接着,移动体装置a、b、c分别将通过在步骤s104中执行的验证算法已验证的预约事务数据trsv保存到事务池(s105)。更具体地讲,移动体装置a将已验证的预约事务数据trsv保存到事务池a,移动体装置b将已验证的预约事务数据trsv保存到事务池b。移动体装置c将已验证的预约事务数据trsv保存到事务池c。
[0238]
接着,移动体装置a、b、c由于是能够相互通信的状态,所以交换应向接下来生成的区块保存的事务数据的信息(s106)。在图10所示的例子中,移动体装置a、b、c确认在应向接
下来生成的区块保存的事务数据中有已验证的预约事务数据trsv。
[0239]
接着,移动体装置a、b、c分别生成包含已验证的预约事务数据trsv的区块blc(trsv)(s107)。
[0240]
接着,移动体装置a、b、c分别向其他移动体装置发送在步骤s107中生成的区块blc(trsv)(s108)。由此,移动体装置a、b、c分别能够向其他移动体装置通知区块blc(trsv)中包含的预约事务数据trsv的正当性的验证成功的报告。
[0241]
接着,移动体装置a、b、c共同执行共识算法(s109)。具体而言,移动体装置a、b、c分别基于在步骤s108中被通知的报告,对预约事务数据trsv是正当的事务数据(即正当性)达成共识,对区块blc(trsv)的正当性达成共识。在图10所示的例子中,对区块blc(trsv)中包含的预约事务数据trsv是正当的事务数据(即正当性)达成了共识,对区块blc(trsv)的正当性也达成了共识。另外,步骤s107及步骤s108的处理也可以在由步骤s109执行共识算法时进行。
[0242]
接着,移动体装置a、b、c分别将在步骤s109中已达成共识的区块blc(trsv)连结到分布式账本内的区块链上(s110)。更具体地讲,移动体装置a将已达成共识的区块blc(trsv)连结到账本a内的区块链上,移动体装置b将已达成共识的区块blc(trsv)连结到账本b内的区块链上。移动体装置c将已达成共识的区块blc(trsv)连结到账本c内的区块链上。
[0243]
由此,如图9a所示,在账本a、账本b及账本c中都保存包含用来对移动体a进行使用预约的预约事务数据trsv的区块。
[0244]
[有关比较例的第1例的借出处理]
[0245]
图11是表示有关比较例的第1例的系统的借出处理的顺序图。
[0246]
首先,终端a基于想要使用移动体a的用户的操作,向移动体装置a发送移动体a的解锁请求(s301)。这里,也可以是,在终端a即终端11a中作为输入部1101而被导入了应用,应用基于用户的操作来生成移动体a的解锁请求并发送。移动体a的解锁请求中包含用户的预约id等能够识别对于对应的移动体a的预约的信息。
[0247]
接着,移动体装置a如果接收到在步骤s301中发送的解锁请求,则确认在账本a的区块链中是否有与解锁请求对应的预约(s302)。这里,移动体装置a也可以通过确认在账本a的区块链中是否有预约事务数据trsv,来确认是否有与解锁请求对应的预约。在图10所示的例子中,由于在账本a的区块链中包含有预约事务数据trsv,所以移动体装置a能够确认到在账本a的区块链中有与解锁请求对应的预约。
[0248]
接着,移动体装置a解除移动体a的锁定(s303)。这里,移动体装置a既可以通过对管理移动体a的锁定的设备发出解除指示而解除移动体a的锁定,也可以直接解除移动体a的锁定。
[0249]
接着,移动体装置a以移动体a的锁定被解除为触发,生成表示移动体a的借出开始的借出事务数据trnt(s304)。借出事务数据trnt中包含使用移动体a的用户id和借出开始时刻。借出开始时刻例如是锁定被解除的时刻。
[0250]
接着,移动体装置a将借出事务数据trnt转送给作为其他移动体装置的移动体装置b、c(s305)。由此,移动体装置b、c取得借出事务数据trnt。
[0251]
接着,移动体装置a、b、c分别执行进行包括借出事务数据trnt的正当性在内的验
证的验证算法(s306)。
[0252]
接着,移动体装置a、b、c分别将通过在步骤s306中执行的验证算法已验证的借出事务数据trnt保存到事务池(s307)。更具体地讲,移动体装置a将已验证的借出事务数据trnt保存到事务池a,移动体装置b将已验证的借出事务数据trnt保存到事务池b。移动体装置c将已验证的借出事务数据trnt保存到事务池c。
[0253]
接着,移动体装置a、b、c由于是能够相互通信的状态,所以交换应向接下来生成的区块保存的事务数据的信息(s308)。在图11所示的例子中,移动体装置a、b、c确认在应向接下来生成的区块保存的事务数据中有已验证的借出事务数据trnt。
[0254]
接着,移动体装置a、b、c分别生成包含已验证的借出事务数据trnt的区块blc(trnt)(s309)。
[0255]
接着,移动体装置a、b、c分别向其他移动体装置发送在步骤s309中生成的区块blc(trnt)(s310)。由此,移动体装置a、b、c分别能够向其他移动体装置通知区块blc(trnt)中包含的借出事务数据trnt的正当性的验证成功的报告。
[0256]
接着,移动体装置a、b、c共同执行共识算法(s311)。具体而言,移动体装置a、b、c分别基于在步骤s310中通知的报告,对借出事务数据trnt是正当的事务数据(即正当性)达成共识,对区块blc(trnt)的正当性达成共识。在图11所示的例子中,对区块blc(trnt)中包含的借出事务数据trnt是正当的事务数据(即正当性)达成了共识,对区块blc(trnt)的正当性也达成了共识。另外,步骤s309及步骤s310的处理也可以在步骤s311中执行共识算法时进行。
[0257]
接着,移动体装置a、b、c分别将在步骤s311中已达成共识的区块blc(trnt)连结到分布式账本内的区块链上(s312)。更具体地讲,移动体装置a将已达成共识的区块blc(trnt)连结到账本a内的区块链上,移动体装置b将已达成共识的区块blc(trnt)连结到账本b内的区块链上。移动体装置c将已达成共识的区块blc(trnt)连结到账本c内的区块链上。
[0258]
由此,如图9b所示,在账本a、账本b及账本c中都保存包含借出事务数据trnt的区块,记录移动体a被开始借出。
[0259]
[有关比较例的第1例的返还处理]
[0260]
图12是表示有关比较例的第1例的系统的返还处理的顺序图。
[0261]
首先,如果由使用了移动体a的用户返还移动体a,则移动体装置a确认移动体a被返还(s501)。这里,例如用户a能够通过将移动体a放置到规定的返还设施、或将移动体a放置到规定的位置并按下移动体装置a的ui的返还按钮,来返还移动体a。用户a也可以按下显示在终端a上的ui的返还按钮来返还移动体a。移动体装置a既可以通过由规定的返还设施或终端a输入移动体a已被返还之意的消息来确认移动体a被返还,也可以通过移动体装置a的ui的返还按钮被按下来确认移动体a已被返还。
[0262]
接着,移动体装置a以确认了移动体a已被返还为触发,生成表示移动体a的返还完成的返还事务数据trtn(s502)。返还事务数据trtn中包含使用移动体a的用户id、返还时刻和使用了移动体a时的预约id。返还时刻例如是移动体装置a确认了移动体a已被返还的时刻。另外,并不限于在返还事务数据trtn中包含预约id的情况,只要包含有能够计算用户的移动体a的使用费用的信息即可。
[0263]
接着,移动体装置a将返还事务数据trtn转送给作为其他移动体装置的移动体装置b、c(s503)。由此,移动体装置b、c取得返还事务数据trtn。
[0264]
接着,移动体装置a、b、c分别执行进行包括所取得的返还事务数据trtn的正当性在内的验证的验证算法(s504)。
[0265]
接着,移动体装置a、b、c分别将通过在步骤s504中执行的验证算法已验证的返还事务数据trtn保存到事务池(s505)。更具体地讲,移动体装置a将已验证的返还事务数据trtn保存到事务池a,移动体装置b将已验证的返还事务数据trtn保存到事务池b。移动体装置c将已验证的返还事务数据trtn保存到事务池c。另外,虽然没有图示,但移动体装置a、b、c由于是能够相互通信的状态,所以交换应向接下来生成的区块保存的事务数据的信息。在图12所示的例子中,移动体装置a、b、c确认在应向接下来生成的区块保存的事务数据中有已验证的返还事务数据trtn。
[0266]
接着,移动体装置a、b、c分别生成包含已验证的返还事务数据trtn的区块blc(trtn)(s506)。
[0267]
接着,移动体装置a、b、c分别向其他移动体装置发送在步骤s506中生成的区块blc(trtn)(s507)。由此,移动体装置a、b、c分别能够向其他移动体装置通知区块blc(trtn)中包含的返还事务数据trtn的正当性的验证成功的报告。
[0268]
接着,移动体装置a、b、c共同执行共识算法(s508)。具体而言,移动体装置a、b、c分别基于在步骤s507中通知的报告,对返还事务数据trtn是正当的事务数据(即正当性)达成共识,对区块blc(trtn)的正当性达成共识。在图12所示的例子中,对区块blc(trtn)中包含的返还事务数据trtn是正当的事务数据(即正当性)达成了共识,对区块blc(trtn)的正当性也达成了共识。另外,步骤s506及步骤s507的处理也可以在由步骤s508执行共识算法时进行。
[0269]
接着,移动体装置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的返还完成。
[0270]
接着,移动体装置a、b、c分别检查保存在区块链中的预约信息(s510)。更具体地讲,移动体装置a、b、c分别通过包含返还事务数据trtn的区块被连结到自身的账本内的区块链上,使预约智能合约执行,确认作为保存在区块链中的预约信息而存在预约事务数据trsv。
[0271]
接着,移动体装置a、b、c分别执行费用计算算法(s511)。在图12所示的例子中,执行使用了移动体a的费用的征收。这里,费用计算算法既可以包含在预约智能合约中,也可以包含在费用征收智能合约中。移动体装置a、b、c也可以分别使费用征收智能合约或预约智能合约执行,对预约事务数据trsv中包含的移动体a的使用预约进行征收费用的处理。另外,在图12所示的例子中将费用计算算法的执行作为返还处理的一部分进行了说明,但并不限于此。也可以由图8所示的费用计算处理进行。
[0272]
[有关比较例的费用计算处理]
[0273]
接着,使用流程图对图8所示的步骤s7的费用计算处理的详细情况进行说明。
[0274]
图13是用来说明有关比较例的系统的费用计算处理的详细情况的流程图。以下,作为代表而说明由移动体装置a进行该处理的情况。
[0275]
在图8所示的步骤s7中,首先,移动体装置a确认是否有费用征收的触发(s71)。该触发既可以是经过了一定间隔,也可以是在新连结到账本a的区块链上的区块中包含有返还事务数据trtn。
[0276]
在步骤s71中,当有触发时(s71中为“是”),移动体装置a对账本a的区块链内进行检索(s72)。另外,在步骤s71中,当没有触发时(s71中为“否”),移动体装置a向步骤s71返回。
[0277]
接着,移动体装置a确认在账本a的区块链内除此以外是否还有预约(即重复预约)(s73)。
[0278]
在步骤s73中,当有重复预约时(s73中为“是”),确认预约即返还事务数据trtn中包含的预约id在重复预约中是否为最前(s74)。另外,在步骤s73中,当没有重复预约时(s73中为“否”),向步骤s75前进。
[0279]
在步骤s74中,当在重复预约中为最前时(s74中为“是”),移动体装置a执行费用计算算法(s75)。由此,计算对于预约即返还事务数据trtn中包含的表示移动体a的使用预约的预约id的费用。另外,在步骤s74中,当在重复预约中不是最前时(s74中为“否”),结束费用计算处理。
[0280]
接着,移动体装置a执行费用征收处理(s76)。由此,对于表示用户所进行的移动体a的使用预约的预约id征收使用了移动体a的费用。也可以对预约事务数据trsv中包含的移动体a的使用预约进行征收费用的处理。
[0281]
[比较例的第2例]
[0282]
在比较例的第1例中,说明了在移动体a是在线状态的情况下,正常地进行共享多个移动体的服务中的对移动体a的预约处理、借出处理及返还处理的情况。接着,作为比较例的第2例,说明在移动体装置a是离线状态的情况下正常地进行对移动体a的预约处理、借出处理及返还处理,然后移动体装置a恢复为在线状态的情况下进行的处理。
[0283]
图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进行处理而说明。
[0284]
如图14所示,首先,例如终端a与不能与其他移动体装置b、c进行通信的(离线)状态的移动体装置a进行通信,进行搭载有离线状态的移动体装置a的移动体a的预约处理(s1a)。即,终端a对离线状态的移动体装置a进行将移动体a本地预约的预约处理。更具体地
讲,终端a与移动体装置a进行通信,生成用来对移动体a进行使用预约的预约事务数据trsv,发送给移动体装置a。在此情况下,例如如图15a所示,由于移动体装置a是不能与移动体装置b进行通信的(离线)状态,所以仅在账本a中保存包含用来对移动体a进行使用预约的预约事务数据trsv的区块。
[0285]
接着,例如终端a与离线状态的移动体装置a进行通信,进行移动体a的借出处理(s3a)。即,终端a对离线状态的移动体装置a进行将移动体a本地借出的借出处理。更具体地讲,终端a与移动体装置a进行通信,能够为了使用移动体a而发送移动体a的解锁请求。于是,移动体装置a使移动体a解锁,移动体a被解锁而生成表示移动体a的借出开始的借出事务数据trnt。在此情况下,例如如图15b所示,由于移动体装置a是离线状态,所以仅在账本a中保存包含表示移动体a的借出开始的借出事务数据trnt的区块。
[0286]
接着,例如终端a与离线状态的移动体装置a进行通信,进行移动体a的返还处理(s5a)。即,终端a对离线状态的移动体装置a进行将移动体a本地返还的返还处理。更具体地讲,操作了终端a的用户将被解锁的移动体a使用进行了使用预约的时间,然后返还。移动体装置a如果移动体a被返还,则生成表示移动体a的返还完成的返还事务数据trtn。在此情况下,例如如图15c所示,由于移动体装置a是离线状态,所以仅在账本a中保存包含表示移动体a的返还完成的返还事务数据trtn的区块。
[0287]
然后,假设移动体装置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的区块链中,在生成新的区块的定时,生成包含保存在事务池中的事务数据的区块并连结。
[0288]
接着,在移动体装置a等中,进行费用计算处理(s7)。步骤s7的费用计算处理如上所述,所以省略说明。
[0289]
接着,使用顺序图说明图14所示的步骤s1a的预约处理、步骤s3a的借出处理及s5a的返还处理的详细情况,即本地预约、本地借出及本地返还的详细处理。此外,使用顺序图还说明图14所示的步骤s6a的移动体装置a的通信恢复时的处理的详细情况。以下,假设想要使用移动体a的用户使用终端a对搭载在移动体a上的移动体装置a进行移动体a的预约处理、借出处理及返还处理而说明。
[0290]
[有关比较例的第2例的预约处理]
[0291]
图18是表示有关比较例的第2例的系统的预约处理即本地预约的处理的顺序图。对于与图10同样的要素赋予相同的标号,并省略详细的说明。
[0292]
首先,终端a基于想要使用移动体a的用户的操作,生成用来对移动体a进行使用预约的预约事务数据trsv(s101),将所生成的预约事务数据trsv发送给移动体装置a(s102)。
[0293]
接着,移动体装置a如果接收到在步骤s102中发送的预约事务数据trsv,则尝试向作为其他移动体装置的移动体装置b、c转送预约事务数据trsv,但失败(s103a)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c转送预约事务数据trsv。因此,移动体装置b、c没有取得预约事务数据trsv。
[0294]
接着,移动体装置a执行进行包括所取得的预约事务数据trsv的正当性在内的验证的验证算法(s104)。另外,在预约事务数据trsv的验证不成功的情况下,结束预约处理。
[0295]
接着,移动体装置a将通过在步骤s104中执行的验证算法已验证的预约事务数据trsv保存到事务池a(s105)。
[0296]
接着,移动体装置a生成包含已验证的预约事务数据trsv的区块blc(trsv)(s107)。另外,移动体装置a由于是离线状态,所以不与移动体装置b、c交换应向接下来生成的区块保存的事务数据的信息,而生成区块blc(trsv)。
[0297]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c发送在步骤s107中生成的区块blc(trsv),但失败(s108a)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c发送区块blc(trsv)。
[0298]
接着,移动体装置a单独执行共识算法(s109a)。具体而言,移动体装置a单独对预约事务数据trsv是正当的事务数据(即正当性)达成共识,单独对区块blc(trsv)的正当性达成共识。在图18所示的例子中,移动体装置a通过对区块blc(trsv)中包含的预约事务数据trsv是正当的事务数据(即正当性)达成共识,对区块blc(trsv)的正当性也达成共识。另外,步骤s107的处理也可以在步骤s109a中单独执行共识算法时进行。
[0299]
接着,移动体装置a将在步骤s109a中已达成共识的区块blc(trsv)连结到账本a内的区块链上(s110)。
[0300]
由此,如图15a所示,仅在账本a中保存包含用来对移动体a进行使用预约的预约事务数据trsv的区块,预约被确定。这样,以下将仅在离线状态的账本a中自我完结而预约被确定的情况称作本地预约。
[0301]
[有关比较例的第2例的借出处理]
[0302]
图19是表示有关比较例的第2例的系统的借出处理即本地借出的处理的顺序图。对于与图11同样的要素赋予相同的标号,并省略详细的说明。
[0303]
首先,终端a基于想要使用移动体a的用户的操作,向移动体装置a发送移动体a的解锁请求(s301)。
[0304]
接着,移动体装置a如果接收到在步骤s301中发送的解锁请求,则确认在账本a的区块链中是否有与解锁请求对应的预约(s302),解除移动体a的锁定(s303)。
[0305]
接着,移动体装置a以移动体a的锁定被解除为触发,生成表示移动体a的借出开始的借出事务数据trnt(s304)。
[0306]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c转送借出事务数据trnt,但失败(s305a)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c转送借出事务数据trnt。因此,移动体装置b、c没有取得借出事务数据trnt。
[0307]
接着,移动体装置a执行进行包括借出事务数据trnt的正当性在内的验证的验证
算法(s306)。
[0308]
接着,移动体装置a将通过在步骤s306中执行的验证算法已验证的借出事务数据trnt保存到事务池a(s307)。
[0309]
接着,移动体装置a分别生成包含已验证的借出事务数据trnt的区块blc(trnt)(s309)。另外,移动体装置a由于是离线状态,所以不与移动体装置b、c交换应向接下来生成的区块保存的事务数据的信息,而生成区块blc(trnt)。
[0310]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c发送在步骤s309生成的区块blc(trnt),但失败(s310a)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c发送区块blc(trnt)。
[0311]
接着,移动体装置a单独执行共识算法(s311a)。具体而言,移动体装置a单独对借出事务数据trnt是正当的事务数据(即正当性)达成共识,单独对区块blc(trnt)的正当性达成共识。在图19所示的例子中,移动体装置a通过对区块blc(trnt)中包含的借出事务数据trnt是正当的事务数据(即正当性)达成共识,来对区块blc(trnt)的正当性也达成共识。另外,步骤s309的处理也可以在由步骤s311执行共识算法时进行。
[0312]
接着,移动体装置a将在步骤s311a中已达成共识的区块blc(trnt)连结到账本a内的区块链上(s312)。
[0313]
由此,如图15b所示,仅在账本a中保存包含借出事务数据trnt的区块,记录移动体a被开始借出。这样,以下将仅在离线状态的账本a中自我完结而记录移动体a被开始借出的情况称作本地借出。
[0314]
[有关比较例的第2例的返还处理]
[0315]
图20是表示有关比较例的第2例的系统的返还处理的顺序图。对于与图12同样的要素赋予相同的标号,并省略详细的说明。
[0316]
首先,如果由使用了移动体a的用户返还移动体a,则移动体装置a确认移动体a已被返还(s501)。
[0317]
接着,移动体装置a以确认了移动体a已被返还为触发,生成表示移动体a的返还完成的返还事务数据trtn(s502)。
[0318]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c转送返还事务数据trtn,但失败(s503a)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c转送返还事务数据trtn。因此,移动体装置b、c没有取得返还事务数据trtn。
[0319]
接着,移动体装置a执行进行包括所取得的返还事务数据trtn的正当性在内的验证的验证算法(s504)。
[0320]
接着,移动体装置a将通过在步骤s504中执行的验证算法已验证的返还事务数据trtn保存到事务池a(s505)。
[0321]
接着,移动体装置a生成包含已验证的返还事务数据trtn的区块blc(trtn)(s506)。另外,移动体装置a由于是离线状态,所以不与移动体装置b、c交换应向接下来生成的区块保存的事务数据的信息,而生成区块blc(trtn)。
[0322]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c发送在步骤s506中生成的区块blc(trtn),但失败(s507a)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c发送区块blc(trtn)。
[0323]
接着,移动体装置a单独执行共识算法(s508a)。具体而言,移动体装置a单独对返还事务数据trtn是正当的事务数据(即正当性)达成共识,单独对区块blc(trtn)的正当性达成共识。在图20所示的例子中,移动体装置a通过对区块blc(trtn)中包含的返还事务数据trtn是正当的事务数据(即正当性)达成共识,来对区块blc(trtn)的正当性也达成共识。另外,步骤s506的处理也可以在由步骤s508a执行共识算法时进行。
[0324]
接着,移动体装置a将在步骤s508a中已达成共识的区块blc(trtn)连结到账本a内的区块链上(s509)。由此,如图15c所示,仅在账本a中保存包含返还事务数据trtn的区块,记录移动体a的返还完成。这样,以下将仅在离线状态的账本a中自我完结而记录移动体a的返还完成的情况称作本地返还。
[0325]
接着,移动体装置a对保存在区块链中的预约信息进行检查(s510)。更具体地讲,移动体装置a、b、c分别通过返还事务数据trtn被连结到自身的账本内的区块链上而使预约智能合约执行,确认作为保存在区块链中的预约信息而存在预约事务数据trsv。
[0326]
接着,移动体装置a执行费用计算算法(s511)。
[0327]
[有关比较例的第2例的移动体装置a的通信恢复时的处理]
[0328]
接着,对图14所示的步骤s6a的移动体装置a的通信恢复时的处理的详细情况进行说明。
[0329]
图21是表示有关比较例的第2例的在移动体装置a的通信恢复时进行的系统的处理的顺序图。
[0330]
首先,假设移动体装置a恢复为能够与作为其他移动体装置的移动体装置b、c进行通信(在线状态)(s601)。移动体装置a由于搭载在移动体a上,所以根据移动体a的所在位置而可能成为离线状态或成为在线状态。
[0331]
于是,移动体装置a向作为其他移动体装置的移动体装置b、c发送信号(s602)。信号只要是能够通知移动体装置a成为了在线状态的某种信号即可。
[0332]
接着,移动体装置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中相互共享不同的区块链,所以发生分叉。
[0333]
接着,移动体装置a、b、c相互发送关于相当于侧链区块和主链区块的区块的信息(s604,s605)。在本比较例中,在一定时间处于离线状态的移动体装置a的账本a的区块链上连结的区块相当于侧链区块。在移动体装置b、c的账本b、c的区块链上连结的区块相当于主链区块。
[0334]
接着,移动体装置a、b、c分别将在步骤s604中得到的侧链区块的事务数据tpol保存到事务池(s606)。更具体地讲,移动体装置a将连结在账本a的区块链上的侧链区块的事务数据tpol的副本保存到事务池a。移动体装置b将侧链区块的事务数据tpol保存到事务池b,移动体装置c将侧链区块的事务数据tpol保存到事务池c。
[0335]
接着,移动体装置a、b、c分别进行更新,以与账本a、b、c的区块链相同(s607)。更具
体地讲,移动体装置a通过将连结在账本a的区块链上的侧链区块删除、保留主链区块,来将账本a的区块链更新为与账本b、c的区块链相同。移动体装置b通过将连结在账本b的区块链上的侧链区块删除、保留主链区块,来将账本b的区块链更新为与账本a、c的区块链相同。移动体装置c通过将连结在账本c的区块链上的侧链区块删除、保留主链区块,来将账本c的区块链更新为与账本a、b的区块链相同。
[0336]
接着,在规定时间后的区块生成定时,移动体装置a、b、c分别生成包含保存在事务池中的事务数据tpol的区块blc(tpol)(s614)。
[0337]
接着,移动体装置a、b、c分别向其他移动体装置发送在步骤s614中生成的区块blc(tpol)(s615)。
[0338]
接着,移动体装置a、b、c共同执行共识算法(s616)。具体而言,移动体装置a、b、c分别对事务数据tpol是正当的事务数据(即正当性)达成共识,对区块blc(tpol)的正当性达成共识。在图21所示的例子中,对区块blc(tpol)中包含的事务数据tpol是正当的事务数据(即正当性)达成了共识,对区块blc(tpol)的正当性也达成了共识。另外,步骤s614及步骤s615的处理也可以在由步骤s616执行共识算法时进行。
[0339]
接着,移动体装置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的本地预约、本地借出及本地返还。
[0340]
接着,移动体装置a对保存在区块链中的预约信息进行检查(s620)。更具体地讲,移动体装置a、b、c分别通过包含返还事务数据trtn的区块被连结到自身的账本内的区块链上,来使预约智能合约执行,确认作为保存在区块链中的预约信息而存在预约事务数据trsv。
[0341]
接着,移动体装置a、b、c分别执行费用计算算法(s621)。另外,步骤s621的处理与上述的步骤s511的处理相同,所以省略说明。
[0342]
[有关比较例的区块连结处理]
[0343]
接着,对将所生成的区块连结到区块链上的区块连结处理的比较例进行说明。
[0344]
图22是用来说明有关比较例的系统的区块连结处理的流程图。以下,作为代表对由移动体装置a进行区块连结处理的情况进行说明。
[0345]
首先,移动体装置a在取得或生成了事务数据的情况下(s1001),执行进行所取得或生成的事务数据的验证的验证算法(s1002)。
[0346]
接着,移动体装置a将通过在步骤s1002中执行的验证算法已验证的事务数据保存到事务池(s1003)。
[0347]
接着,移动体装置a确认是否有将区块连结到账本a的区块链上的触发(s1004)。这里的触发,例如是经过了几分钟等一定间隔的情况。
[0348]
在步骤s1004中,当有触发时(s1004中为“是”),移动体装置a确认是否能够与其他移动体进行通信(s1005)。另外,在步骤s1004中,当没有触发时(s1004中为“否”),从步骤s1001起反复进行处理。
[0349]
在步骤s1005中,在移动体装置a不能与其他移动体进行通信的情况下即是离线状态的情况下(s1005中为“否”),移动体装置a单独执行共识算法(s1006)。移动体装置a生成包含所取得或生成的事务数据的区块链的区块,通过执行共识算法而形成共识。另外,移动体装置a也可以验证所取得或生成的事务数据的正当性,生成包含该事务数据的区块。
[0350]
接着,移动体装置a将所生成的区块连结到账本a的区块链上(s1007)。
[0351]
另一方面,在步骤s1005中,在移动体装置a能够与其他移动体进行通信的情况下(s1005中为“是”),移动体装置a与其他移动体共同执行共识算法(s1008)。移动体装置a及其他移动体分别生成包含该事务数据的区块链的区块,通过执行共识算法,进行对于所生成的区块的共识形成。
[0352]
接着,移动体装置a判定账本a的区块链与其他移动体的账本内的区块链是否相同(s1009)。
[0353]
在步骤s1009中相同的情况下(s1009中为“是”),移动体装置a将已达成共识的区块连结到账本a的区块链上(s1010)。
[0354]
另一方面,在步骤s1009中不同的情况下(s1009中为“否”),将作为侧链的区块即侧链区块的该事务数据保存到事务池(s1011)。
[0355]
接着,移动体装置a更新账本a的区块链,以使其与其他移动体的账本内的区块链相同(s1012)。
[0356]
接着,移动体装置a将在步骤s1009中已达成共识的区块连结到账本a的区块链上(s1013)。
[0357]
[比较例的第3例]
[0358]
接着,对恶意利用区块链的机制而将移动体a不正当使用的不正当处理进行说明。在比较例的第3例中,说明在移动体装置a是离线状态的情况下,对移动体a进行不正当的预约处理和正常的借出处理,然后使移动体装置a恢复为在线状态而进行返还处理的情况。
[0359]
图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进行不正当处理而说明。
[0360]
如图23所示,首先,例如终端a对离线状态的移动体装置a进行搭载有该移动体装置a的移动体a的预约处理(s10)。这里,如上述那样,终端a对离线状态的移动体装置a进行将移动体a本地预约的预约处理。更具体地讲,终端a可以与移动体装置a进行通信,生成用来对移动体a进行使用预约的预约事务数据trsva,并发送给移动体装置a。在此情况下,例如,如图24a所示,由于移动体装置a是离线状态,所以仅在账本a中保存包含用来对移动体a进行使用预约的预约事务数据trsva的区块。
[0361]
接着,通过使用终端a或使用用户个人的智能电话等某种手段,对在线状态的移动
体装置b以覆盖在步骤s10中进行的移动体a的本地预约的时间段的方式进行移动体a的预约处理(s11)。即,对在线状态的移动体装置b以与移动体a的本地预约竞争的方式进行移动体a的竞争预约处理。在本比较例中,用户使用终端a,生成用来将移动体a竞争预约的预约事务数据trsvb,并发送给在线状态的移动体装置b。在此情况下,例如如图24b所示,移动体装置b等在除了离线的移动体装置a的账本a以外的账本b等中,保存包含用来将移动体a竞争预约的预约事务数据trsvb的区块。
[0362]
接着,例如终端a与离线状态的移动体装置a进行通信,进行移动体a的借出处理(s12)。即,如在前面叙述的那样,终端a对离线状态的移动体装置a进行将移动体a本地借出的借出处理。更具体地讲,终端a与移动体装置a进行通信,为了使用移动体a而发送移动体a的解锁请求,从而使移动体装置a将移动体a解锁,以移动体a被解锁为触发,生成表示移动体a的借出开始的借出事务数据trnta。在此情况下,例如如图24c所示,由于移动体装置a是离线状态,所以仅在账本a中保存包含表示移动体a的借出开始的借出事务数据trnta的区块。
[0363]
接着,假设用户使移动体装置a恢复为在线状态。于是,当移动体装置a恢复为在线状态时,在系统中进行恢复时处理(s13)。
[0364]
更具体地讲,在步骤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的区块链中,在生成新的区块的定时,生成包含保存在事务池中的事务数据的区块并连结。
[0365]
接着,例如终端a与在线状态的移动体装置a进行通信,进行移动体a的返还处理(s14)。更具体地讲,操作了终端a的用户将被解锁的移动体a使用进行了使用预约的时间,然后返还。移动体装置a如果移动体a被返还,则生成表示移动体a的返还完成的返还事务数据trtna。在此情况下,例如如图27所示,由于移动体装置a是在线状态,所以在账本a、b等全部中保存包含表示移动体a的返还完成的返还事务数据trtna的区块。
[0366]
接着,在移动体装置a等中,进行费用计算处理(s15)。步骤s15的费用计算处理是与步骤s7的费用计算处理相同的处理,所以省略说明。预约事务数据trsva与预约事务数据trsvb竞争,包含预约事务数据trsva的区块被连结到在时间上比包含预约事务数据trsvb的区块靠后的后方。结果,对于与预约事务数据trsva对应的预约的费用不被征收,所以导致在与预约事务数据trsva对应的预约中,不支付使用了移动体a的费用的不正当行为成立。
[0367]
接着,使用顺序图对图23所示的步骤s10的本地预约的处理、步骤s11的竞争预约的处理及步骤s12的本地借出的处理的详细情况进行说明。
[0368]
[有关比较例的第3例的预约处理]
[0369]
图28是表示有关比较例的第3例的系统的进行本地预约的情况下的处理的顺序图。对于与图18同样的要素赋予同样的标号,并省略详细的说明。
[0370]
首先,终端a基于想要使用移动体a的用户的操作,生成用来对移动体a进行使用预约的预约事务数据trsva(s101b),将所生成的预约事务数据trsva发送给移动体装置a(s102b)。
[0371]
接着,移动体装置a如果接收到在步骤s102b中发送的预约事务数据trsva,则尝试向作为其他移动体装置的移动体装置b、c转送预约事务数据trsva,但失败(s103b)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c转送预约事务数据trsva。
[0372]
接着,移动体装置a执行进行包括所取得的预约事务数据trsva的正当性在内的验证的验证算法(s104b)。
[0373]
接着,移动体装置a将通过在步骤s104b中执行的验证算法已验证的预约事务数据trsva保存到事务池a(s105b)。
[0374]
接着,移动体装置a生成包含已验证的预约事务数据trsva的区块blc(trsva)(s107b)。
[0375]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c发送在步骤s107b中生成的区块blc(trsva),但失败(s108b)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c发送区块blc(trsva)。
[0376]
接着,移动体装置a单独执行共识算法(s109b)。另外,步骤s107b的处理也可以在由步骤s109b单独执行共识算法时进行。
[0377]
接着,移动体装置a将在步骤s109b中已达成共识的区块blc(trsva)连结到账本a内的区块链上(s110b)。
[0378]
由此,如图24a所示,仅在账本a中保存包含用来对移动体a进行使用预约的预约事务数据trsva的区块,本地预约被确定。
[0379]
图29是表示有关比较例的第3例的系统的进行竞争预约的情况下的处理的顺序图。
[0380]
首先,用户例如使用终端a,生成用来将移动体a竞争预约的预约事务数据trsvb(s101c)。
[0381]
接着,用户例如使用终端a,对移动体装置b发送在步骤s101c中生成的预约事务数据trsvb(s102c)。
[0382]
接着,移动体装置b由于是在线状态,所以如果接收到在步骤s102c中发送的预约事务数据trsvb,则将预约事务数据trsvb转送给作为其他移动体装置的移动体装置c(s103c)。由此,除了移动体装置a以外的移动体装置c取得预约事务数据trsvb。
[0383]
接着,移动体装置b、c分别执行进行包括所取得的预约事务数据trsvb的正当性在内的验证的验证算法(s104c)。
[0384]
接着,移动体装置b、c分别将通过在步骤s104c中执行的验证算法已验证的预约事务数据trsvb保持到事务池(s105c)。更具体地讲,移动体装置b将已验证的预约事务数据trsvb保存到事务池b,移动体装置c将已验证的预约事务数据trsvb保存到事务池c。
[0385]
接着,移动体装置b、c由于是能够相互通信的状态,所以交换应向接下来生成的区
块保存的事务数据的信息(s106c)。在图29所示的例子中,移动体装置b、c确认在应向接下来生成的区块保存的事务数据中有已验证的预约事务数据trsvb。
[0386]
接着,移动体装置b、c分别生成包含已验证的预约事务数据trsvb的区块blc(trsvb)(s107c)。
[0387]
接着,移动体装置b、c分别向除了移动体装置a以外的其他移动体装置发送在步骤s107c中生成的区块blc(trsvb)(s108c)。由此,移动体装置b、c分别能够向除了移动体装置a以外的其他移动体装置通知区块blc(trsvb)中包含的预约事务数据trsvb的正当性的验证成功的报告。
[0388]
接着,移动体装置b、c共同执行共识算法(s109c)。具体而言,移动体装置b、c分别基于在步骤s108c中通知的报告,对预约事务数据trsvb是正当的事务数据(即正当性)达成共识,对区块blc(trsvb)的正当性达成共识。另外,步骤s107c及步骤s108c的处理也可以在由步骤s109c执行共识算法时进行。
[0389]
接着,移动体装置b、c分别将在步骤s109c中已达成共识的区块blc(trsvb)连结到分布式账本内的区块链上(s110c)。更具体地讲,移动体装置b将已达成共识的区块blc(trsvb)连结到账本b内的区块链上,移动体装置c将已达成共识的区块blc(trsvb)连结到账本c内的区块链上。
[0390]
由此,如图24b所示,在账本b及账本c中都保存包含预约事务数据trsvb的区块。
[0391]
[有关比较例的第3例的借出处理]
[0392]
图30是表示有关比较例的第3例的系统的本地借出的处理的顺序图。对于与图19同样的要素赋予同样的标号,并省略详细的说明。
[0393]
首先,终端a基于使用移动体a的用户的操作,向移动体装置a发送移动体a的解锁请求(s301b)。
[0394]
接着,移动体装置a如果接收到在步骤s301b中发送的解锁请求,则确认在账本a的区块链中是否有与解锁请求对应的预约(s302b),解除移动体a的锁定(s303b)。
[0395]
接着,移动体装置a以移动体a的锁定被解除为触发,生成表示移动体a的借出开始的借出事务数据trnta(s304b)。
[0396]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c转送借出事务数据trnta,但失败(s305b)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c转送借出事务数据trnta。
[0397]
接着,移动体装置a执行进行包括借出事务数据trnta的正当性在内的验证的验证算法(s306b)。
[0398]
接着,移动体装置a将通过在步骤s306b中执行的验证算法已验证的借出事务数据trnta保存到事务池a(s307b)。
[0399]
接着,移动体装置a分别生成包含已验证的借出事务数据trnta的区块blc(trnta)(s309b)。
[0400]
接着,移动体装置a向作为其他移动体装置的移动体装置b、c发送在步骤s309b中生成的区块blc(trnta),但失败(s310b)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c发送区块blc(trnta)。
[0401]
接着,移动体装置a单独执行共识算法(s311b)。具体而言,移动体装置a单独对借
出事务数据trnta是正当的事务数据(即正当性)达成共识,单独对区块blc(trnta)的正当性达成共识。另外,步骤s309b的处理也可以在由步骤s311b执行共识算法时进行。
[0402]
接着,移动体装置a将在步骤s311b中已达成共识的区块blc(trnta)连结到账本a内的区块链上(s312b)。
[0403]
由此,如图24c所示,仅在账本a中保存包含借出事务数据trnta的区块,记录进行了移动体a的本地借出。
[0404]
[有关比较例的第3例的移动体装置a的通信恢复时的处理]
[0405]
接着,对图23所示的步骤s13的移动体装置a的通信恢复时的处理的详细情况进行说明。
[0406]
图31是表示有关比较例的第3例的在移动体装置a的通信恢复时进行的系统的处理的顺序图。对于与图21同样的要素赋予同样的标号,并省略详细的说明。
[0407]
首先,假设移动体装置a恢复为能够与作为其他移动体装置的移动体装置b、c进行通信(在线状态)(s601b)。
[0408]
于是,移动体装置a向作为其他移动体装置的移动体装置b、c发送表示移动体装置a成为了在线状态的信号(s602b)。
[0409]
接着,移动体装置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中相互共享不同的区块链,所以发生分叉。
[0410]
接着,移动体装置a、b、c相互发送关于相当于侧链区块和主链区块的区块的信息(s604b、s605b)。在本比较例中,连结在一定时间处于离线状态的移动体装置a的账本a的区块链上的区块相当于侧链区块blc(trsva、trnta)。连结在移动体装置b、c的账本b、c的区块链上的区块相当于主链区块blc(trsvb)。
[0411]
接着,移动体装置a、b、c分别将在步骤s604b中得到的侧链区块中包含的预约事务数据trsva、借出事务数据trnta保存到事务池(s606b)。更具体地讲,移动体装置a将连结在账本a的区块链上的侧链区块的事务数据trsva、trnta的副本保存到事务池a。移动体装置b将侧链区块的事务数据trsva、trnta保存到事务池b,移动体装置c将侧链区块的事务数据trsva、trnta保存到事务池c。
[0412]
接着,移动体装置a、b、c分别进行更新,以与账本a、b、c的区块链相同(s607b)。更具体地讲,移动体装置a通过将连结在账本a的区块链上的侧链区块删除、而保留主链区块,来更新账本a的区块链以使其与账本b、c的区块链相同。移动体装置b通过将连结在账本b的区块链上的侧链区块删除、而保留主链区块,来更新账本b的区块链以使其与账本a、c的区块链相同。移动体装置c通过将连结在账本c的区块链上的侧链区块删除、而保留主链区块,来更新账本c的区块链以使其与账本a、b的区块链相同。
[0413]
接着,在规定时间后的区块生成定时,移动体装置a、b、c分别生成包含保存在事务池中的事务数据trsva、trnta的区块blc(trsva、trnta)(s614b)。
[0414]
接着,移动体装置a、b、c分别向其他移动体装置发送在步骤s614b中生成的区块blc(trsva、trnta)(s615b)。由此,移动体装置a、b、c分别能够向其他移动体装置通知区块blc(trsva、trnta)中包含的事务数据trsva、trnta的正当性的验证成功的报告。
[0415]
接着,移动体装置a、b、c共同执行共识算法(s616b)。具体而言,移动体装置a、b、c分别基于在步骤s615b中通知的报告,对事务数据trsva、trnta是正当的事务数据(即正当性)达成共识,对区块blc(trsva、trnta)的正当性达成共识。另外,步骤s614b及步骤s615b的处理也可以在由步骤s616b执行共识算法时进行。
[0416]
接着,移动体装置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的本地预约、竞争预约及本地借出被记录。
[0417]
[有关比较例的第3例的返还处理]
[0418]
接着,对图23所示的步骤s14的移动体装置a的返还处理的详细情况进行说明。
[0419]
图32是表示有关比较例的第3例的系统的返还处理的顺序图。对于与图12同样的要素赋予同样的标号,并省略详细的说明。
[0420]
首先,如果由使用了移动体a的用户返还移动体a,则移动体装置a确认移动体a已被返还(s501b)。
[0421]
接着,移动体装置a以确认了移动体a已被返还为触发,生成表示移动体a的返还完成的返还事务数据trtna(s502b)。
[0422]
接着,移动体装置a向作为其他移动体装置的移动体装置b、c转送返还事务数据trtna(s503b)。由此,移动体装置b、c取得返还事务数据trtna。
[0423]
接着,移动体装置a、b、c分别执行进行包括所取得的返还事务数据trtna的正当性在内的验证的验证算法(s504b)。
[0424]
接着,移动体装置a、b、c分别将通过在步骤s504b中执行的验证算法已验证的返还事务数据trtna保存到事务池(s505b)。更具体地讲,移动体装置a将已验证的返还事务数据trtna保存到事务池a,移动体装置b将已验证的返还事务数据trtna保存到事务池b。移动体装置c将已验证的返还事务数据trtna保存到事务池c。另外,虽然没有图示,但移动体装置a、b、c由于是能够相互通信的状态,所以交换应向接下来生成的区块保存的事务数据的信息。在图32所示的例子中,移动体装置a、b、c确认在应向接下来生成的区块保存的事务数据中有已验证的返还事务数据trtna。
[0425]
接着,移动体装置a、b、c分别生成包含已验证的返还事务数据trtna的区块blc(trtna)(s506b)。
[0426]
接着,移动体装置a、b、c分别向其他移动体装置发送在步骤s506b中生成的区块blc(trtna)(s507b)。由此,移动体装置a、b、c分别向其他移动体装置通知区块blc(trtna)中包含的返还事务数据trtna的正当性的验证成功的报告。
[0427]
接着,移动体装置a、b、c共同执行共识算法(s508b)。具体而言,移动体装置a、b、c
分别基于在步骤s507b中通知的报告,对返还事务数据trtna是正当的事务数据(即正当性)达成共识,对区块blc(trtna)的正当性达成共识。另外,步骤s506b及步骤s507b的处理也可以在由步骤s508b执行共识算法时进行。
[0428]
接着,移动体装置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的返还完成。
[0429]
接着,移动体装置a、b、c分别检查保存在区块链中的预约信息(s510b)。更具体地讲,移动体装置a、b、c分别通过包含有包含返还事务数据trtna的区块的区块被连结到自身的账本内的区块链上,使预约智能合约执行,确认作为保存在区块链中的预约信息而有预约事务数据trsv。
[0430]
接着,移动体装置a、b、c分别执行费用计算算法(s511b)。这里,例如如图27所示,预约事务数据trsva与预约事务数据trsvb竞争,包含预约事务数据trsva的区块被连结到在时间上比包含预约事务数据trsvb的区块靠后的后方。因此,即使执行费用计算算法,对于与预约事务数据trsva对应的预约的费用不被征收,仅被征收对于与预约事务数据trsvb对应的预约的费用。
[0431]
这样,由于对于与预约事务数据trsva对应的预约的费用不被征收,所以在与预约事务数据trsva对应的预约中没有支付使用了移动体a的费用的不正当行为成立。
[0432]
[比较例的第4例]
[0433]
在比较例的第3例中,对使移动体装置a恢复为在线状态后进行返还处理的情况下的不正当处理进行了说明,但并不限于此。也可以在移动体装置a是离线状态的情况下,在进行返还处理后使移动体装置a恢复为在线状态。以下将该情况下的不正当处理设为比较例的第4例进行说明。
[0434]
图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进行不正当处理而说明。
[0435]
图33所示的步骤s10~步骤s12是与在图23中说明的步骤s10~步骤s12相同的处理,所以省略说明。此外,图34a~图34c是与图24a~图24c相同的图,所以省略说明。
[0436]
接着,在步骤s13a中,例如终端a与离线状态的移动体装置a进行通信,进行移动体a的返还处理。即,终端a对离线状态的移动体装置a进行将移动体a本地返还的返还处理。更具体地讲,操作了终端a的用户将被解锁的移动体a使用进行了使用预约的时间,然后返还。
移动体装置a如果移动体a被返还,则生成表示移动体a的返还完成的返还事务数据trtna。在此情况下,例如如图34d所示,由于移动体装置a是离线状态,所以仅在账本a中保存包含表示移动体a的返还完成的返还事务数据trtna的区块。
[0437]
接着,假设用户使移动体装置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的区块链中,在生成新的区块的定时,生成包含保存在事务池中的事务数据的区块并连结。
[0438]
接着,在移动体装置a等中,进行费用计算处理(s15)。与比较例的第3例同样,预约事务数据trsva与预约事务数据trsvb竞争,包含预约事务数据trsva的区块被连结到比包含预约事务数据trsvb的区块靠后方。结果,对于与预约事务数据trsva对应的预约的费用不被征收,所以在与预约事务数据trsva对应的预约中不支付使用了移动体a的费用的不正当行为成立。
[0439]
接着,使用顺序图对图33所示的步骤s13a的本地返还的处理、步骤s14a的移动体装置a的通信恢复时的处理的详细情况进行说明。
[0440]
[有关比较例的第4例的返还处理]
[0441]
图37是表示有关比较例的第4例的系统的本地返还的处理的顺序图。对于与图20同样的要素赋予同样的标号,并省略详细的说明。
[0442]
首先,如果由使用了移动体a的用户返还移动体a,则移动体装置a确认移动体a已被返还(s501c)。
[0443]
接着,移动体装置a以确认了移动体a已被返还为触发,生成表示移动体a的返还完成的返还事务数据trtna(s502c)。
[0444]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c转送返还事务数据trtna,但失败(s503c)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c转送返还事务数据trtna。
[0445]
接着,移动体装置a执行进行包括所取得的返还事务数据trtna的正当性在内的验证的验证算法(s504c)。
[0446]
接着,移动体装置a将通过在步骤s504c中执行的验证算法已验证的返还事务数据trtna保存到事务池a(s505c)。
[0447]
接着,移动体装置a生成包含已验证的返还事务数据trtna的区块blc(trtna)(s506c)。
[0448]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c发送在步骤
s506c中生成的区块blc(trtna),但失败(s507c)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c发送区块blc(trtna)。
[0449]
接着,移动体装置a单独执行共识算法(s508c)。具体而言,移动体装置a单独对返还事务数据trtna是正当的事务数据(即正当性)达成共识,单独对区块blc(trtna)的正当性达成共识。另外,步骤s506c的处理也可以在由步骤s508c执行共识算法时进行。
[0450]
接着,移动体装置a将在步骤s508c中已达成共识的区块blc(trtna)连结到账本a内的区块链上(s509c)。由此,如图34d所示,仅在账本a中保存包含返还事务数据trtna的区块,记录移动体a的本地返还。
[0451]
接着,移动体装置a对保存在区块链中的预约信息进行检查(s510c)。更具体地讲,移动体装置a、b、c分别通过返还事务数据trtna被连结到自身的账本内的区块链上,使预约智能合约执行,确认作为保存在区块链中的预约信息而有预约事务数据trsva。
[0452]
接着,移动体装置a分别执行费用计算算法(s511c)。由于移动体装置a是离线状态,所以通过费用计算算法计算对于与预约事务数据trsva对应的预约的费用。
[0453]
[有关比较例的第4例的移动体装置a的通信恢复时的处理]
[0454]
接着,对图33所示的步骤s14a的移动体装置a的通信恢复时的处理的详细情况进行说明。
[0455]
图38是表示有关比较例的第4例的在移动体装置a的通信恢复时进行的系统的处理的顺序图。对于与图21同样的要素赋予同样的标号,并省略详细的说明。
[0456]
首先,假设移动体装置a恢复为了能够与作为其他移动体装置的移动体装置b、c进行通信(在线状态)(s601c)。
[0457]
于是,移动体装置a向作为其他移动体装置的移动体装置b、c发送表示移动体装置a成为了在线状态的信号(s602c)。
[0458]
接着,移动体装置a、b、c进行各账本内的区块链的异同判定(s603c)。在移动体装置a的通信恢复之前,例如如图34d所示的例子那样,在账本a和账本b、c的区块链上连结着不同的区块,所以账本a内的区块链与账本b、c内的区块链不同。因此,在移动体装置a的通信恢复时,例如如图35所示的例子那样,在移动体装置a、b、c的账本a、b、c中,相互共享不同的区块链,所以发生分叉。
[0459]
接着,移动体装置a、b、c相互发送关于相当于侧链区块和主链区块的区块的信息(s604c、s605c)。在本比较例中,连结在一定时间处于离线状态的移动体装置a的账本a的区块链上的区块相当于侧链区块blc(trsva、trnta、trtna)。另一方面,连结在移动体装置b、c的账本b、c的区块链上的区块相当于主链区块blc(trsvb)。
[0460]
接着,移动体装置a、b、c分别将在步骤s604c中得到的侧链区块的事务数据trsva、trnta、trtna保存到事务池(s606c)。
[0461]
接着,移动体装置a、b、c分别进行更新以与账本a、b、c的区块链相同(s607c)。更具体地讲,移动体装置a、b、c分别通过将连结在区块链上的侧链区块删除、而保留主链区块,来更新账本a的区块链以使账本a、b、c的区块链相同。
[0462]
接着,在规定时间后的区块生成定时,移动体装置a、b、c分别生成包含保存在事务池中的事务数据trsva、trnta、trtna的区块blc(trsva、trnta、trtna)(s614c)。
[0463]
接着,移动体装置a、b、c分别向其他移动体装置发送在步骤s614c中生成的区块
blc(trsva、trnta、trtna)(s615c)。由此,移动体装置a、b、c分别能够向其他移动体装置通知区块blc(trsva、trnta、trtna)中包含的事务数据trsva、trnta、trtna的正当性的验证成功的报告。
[0464]
接着,移动体装置a、b、c共同执行共识算法(s616c)。具体而言,移动体装置a、b、c分别基于在步骤s615c中通知的报告,对事务数据trsva、trnta、trtna是正当的事务数据(即正当性)达成共识。并且,对区块blc(trsva、trnta、trtna)的正当性达成共识。另外,步骤s614c及步骤s615c的处理也可以在由步骤s616c执行共识算法时进行。
[0465]
接着,移动体装置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的本地预约、本地借出及本地返还。
[0466]
接着,移动体装置a对保存在区块链中的预约信息进行检查(s620c)。更具体地讲,移动体装置a、b、c分别通过包含返还事务数据trtna的区块被连结到自身的账本内的区块链上,使预约智能合约执行,确认作为保存在区块链中的预约信息而有预约事务数据trsva和预约事务数据trsvb。
[0467]
并且,移动体装置a、b、c分别不执行费用计算算法(s621c)。更具体地讲,移动体装置a、b、c分别执行费用计算算法,但对于与预约事务数据trsva对应的预约的费用不被征收。另外,步骤s621c的处理与上述的步骤s511b的处理相同,所以省略说明。
[0468]
这里,例如如图36的(c)所示,对应于预约事务数据trsva的预约与对应于预约事务数据trsvb的预约竞争。此外,包含预约事务数据trsva的区块被连结到比包含预约事务数据trsvb的区块靠后方。因此,即使执行费用计算算法,对于与预约事务数据trsva对应的预约的费用也不被征收,仅征收对于与预约事务数据trsvb对应的预约的费用。
[0469]
这样,对于与预约事务数据trsva对应的预约的费用不被征收,所以在与预约事务数据trsva对应的预约中不支付使用了移动体a的费用的不正当行为成立。
[0470]
[有关本实施方式的不正当对策后的处理]
[0471]
接着,对进行了不正当处理的对策的有关本实施方式的不正当对策处理进行说明。
[0472]
在图23及图33所示的不正当处理中,通过在步骤s11中进行竞争预约,对于在步骤s10中被预约处理的本地预约的费用没有被征收。
[0473]
所以,在本实施方式中,在图23及图33的步骤s12中,当移动体a被解锁时,生成表示移动体a的解锁完成的解锁完成事务数据,并保存到离线的账本a的区块链中,以使得即使在步骤s11中进行了竞争预约,对于在步骤s10中进行了预约处理的本地预约也可靠地征收费用。并且,即使因在步骤s11中进行竞争预约而在比较例的方法中不能征收对于在步骤s10中进行了预约处理的本地预约本身的费用,也根据解锁完成事务数据,征收在本地预约中使用了移动体a的费用。这是因为,即使有竞争预约和本地预约而看起来重复征收,由于在区块链中存在解锁完成事务数据,所以也知道由在比较例的方法中未征收的本地预约确
实使用了移动体a。
[0474]
以下,作为不正当对策处理对生成解锁事务数据的处理进行说明。
[0475]
图39是表示有关实施方式的系统的本地借出的处理的顺序图。对于与图30同样的要素赋予同样的标号,并省略详细的说明。图40是概念性地表示通过图39的本地借出的处理而保存于账本a中的区块链的区块的图。
[0476]
首先,终端a基于使用移动体a的用户的操作,向移动体装置a发送移动体a的解锁请求(s301d)。
[0477]
接着,移动体装置a如果接收到在步骤s301d中发送的解锁请求,则确认在账本a的区块链中是否有与解锁请求对应的预约(s302d),解除移动体a的锁定(s303d)。
[0478]
接着,移动体装置a以移动体a的锁定被解除为触发,生成表示移动体a的解锁完成的解锁完成事务数据tunl(s3031)。在该解锁完成事务数据tunl中,至少包含解锁了移动体a的用户id、解锁了移动体a的移动体装置a的装置id、对应的预约id及解锁的日期时间。另外,也可以代替用户id及装置id而使用能够确定用户id及装置id的区块链id。此外,也可以代替对应的预约id而使用能够识别出包含该预约id的预约事务数据的预约事务数据id。
[0479]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c转送解锁完成事务数据tunl,但失败(s3032)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c转送借出事务数据tunl。
[0480]
此外,移动体装置a以移动体a的锁定被解除为触发,生成表示移动体a的借出开始的借出事务数据trnta(s304d)。
[0481]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c转送借出事务数据trnta,但失败(s305d)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c转送借出事务数据trnta。
[0482]
接着,移动体装置a执行进行包括解锁完成事务数据tunl及借出事务数据trnta即事务数据tunl、trnta的正当性在内的验证的验证算法(s306d)。
[0483]
接着,移动体装置a将通过在步骤s306d中执行的验证算法已验证的事务数据tunl、trnta保存到事务池a(s307d)。
[0484]
接着,移动体装置a分别生成包含已验证的事务数据tunl、trnta的区块blc(tunl、trnta)(s309d)。
[0485]
接着,移动体装置a尝试向作为其他移动体装置的移动体装置b、c发送在步骤s309d中生成的区块blc(tunl、trnta),但失败(s310d)。这是因为,由于移动体装置a是离线状态,所以不能向移动体装置b、c发送区块blc(tunl、trnta)。
[0486]
接着,移动体装置a单独执行共识算法(s311d)。具体而言,移动体装置a单独对事务数据tunl、trnta是正当的事务数据(即正当性)达成共识,单独对区块blc(tunl、trnta)的正当性达成共识。另外,步骤s309d的处理也可以在由步骤s311d执行共识算法时进行。
[0487]
接着,移动体装置a将在步骤s311d中已达成共识的区块blc(tunl、trnta)连结到账本a内的区块链上(s312d)。
[0488]
由此,如图40所示,在包含预约事务数据trsva的区块上,连结包含借出事务数据trnta和解锁完成事务数据tunl的区块。
[0489]
图41是概念性地表示在进行有关实施方式的费用计算处理时保存在账本a及账本
b中的区块链的区块的图。在图41中表示在图23及图33的步骤s15的动作时保存在账本a及账本b中的区块链的区块。
[0490]
如图41所示,为了如上述那样消除分叉的发生,包含事务数据tunl、trnta的区块被连结到比包含借出事务数据trntb的区块靠后方。即,通过图39所示的离线借出的处理被连结到离线状态的移动体装置a的账本a的区块链上的区块被连结到比通过竞争预约的处理被连结在账本b的区块链上的区块靠后方。
[0491]
在比较例中,在预约事务数据trsva与预约事务数据trsvb竞争,被连结到比包含预约事务数据trsvb的区块靠后方的情况下,对于与预约事务数据trsva对应的预约的费用不被征收。另一方面,在本实施方式中,虽然不能征收对于与预约事务数据trsva对应的预约的费用,但根据在区块链中保存有解锁完成事务数据tunl而征收通过本地预约使用了移动体a的费用。这是因为,如上述那样,由于解锁完成事务数据存在于区块链中,所以即使有竞争预约和本地预约、看起来重复征收了,也知道通过在比较例的方法中为未征收的本地预约的确使用了移动体a。
[0492]
图42是用来说明有关实施方式的费用计算处理的详细的流程图。图42所示的有关本实施方式的费用计算处理在图23及图33的步骤s15中被执行。以下,作为代表而对由移动体装置a进行费用计算处理的情况进行说明。
[0493]
在本实施方式中,在图23及图33的步骤s15中,首先,移动体装置a确认是否有费用征收的触发(s6211)。该触发既可以是经过了一定间隔,也可以是在新连结在账本a的区块链上的区块中包含有返还事务数据trtna。
[0494]
在步骤s6211中,当有触发时(s6211中为“是”),移动体装置a在账本a的区块链内进行检索(s6212)。另外,在步骤s6211中,当没有触发时(s6211中为“否”),移动体装置a向步骤s6211返回。
[0495]
接着,移动体装置a判定是否在账本a的区块链内有解锁完成事务数据、但有未征收的预约事务数据(s6213)。在本实施方式中,在预约事务数据trsva与预约事务数据trsvb竞争而被连结到比包含预约事务数据trsvb的区块靠后方的情况下,能够判定为有未征收的预约事务数据。
[0496]
在步骤s6213中,当有重复预约时(s6213中为“是”),移动体装置a执行费用计算算法(s6214)。由此,计算对于表示解锁完成事务数据中包含的预约即预约事务数据trsva中包含的移动体a的使用预约的预约id的费用。
[0497]
接着,移动体装置a执行费用征收处理(s6215)。由此,征收在预约事务数据trsva中包含的预约中使用了移动体a的费用。
[0498]
[效果等]
[0499]
如以上这样,根据本实施方式,表示解除了移动体a的锁定的解锁完成事务数据被保存到分布式账本各自的区块链中。由此,即使与解锁完成事务数据对应的移动体a的使用预约发生竞争,也能够以而保存于分布式账本各自的区块链中的解锁完成事务数据为触发而征收使用了移动体a的费用。
[0500]
另外,如上述那样,移动体a是服务对象的一例,移动体a的使用预约是服务对象的合同的一例。表示解除了服务对象的锁定的解锁完成事务数据被保存到第1区块链中。由此,即使与解锁完成事务数据对应的服务对象的合同发生竞争,也能够以而保存于分布式
账本各自的区块链中的解锁完成事务数据为触发而征收使用了服务对象的费用。因此,能够抑制恶意利用了区块链的服务对象的不正当使用。
[0501]
(变形例)
[0502]
另外,作为不正当对策处理,并不限于进行生成解锁事务数据的处理的情况。进而,在移动体终端a的通信恢复时的处理中,也可以执行不正当预约检测处理。在本变形例中,对在移动体终端a的通信恢复时的处理中的共识算法的执行时执行不正当预约检测处理的情况进行说明。
[0503]
图43是表示在有关实施方式的变形例的移动体装置a的通信恢复时进行的系统的处理的顺序图。对于与图21同样的要素赋予同样的标号,并省略详细的说明。图43所示的顺序图与图21所示的顺序图相比,在执行共识算法时执行不正当预约检测处理这一点不同。即,图43所示的步骤601e~步骤s615e的处理与图21所示的步骤601~步骤s615的处理是同样的,所以省略这里的说明。
[0504]
在步骤s616e中,移动体装置a、b、c共同执行共识算法。在本实施方式中,移动体装置a、b、c分别基于在步骤s615中通知的报告,在执行对事务数据tpol是正当的事务数据(即正当性)达成共识的共识算法时,执行不正当预约检测处理。
[0505]
在不正当预约检测处理中,移动体装置a、b、c分别在自身的账本的区块链内进行检索,检索是否有包含被认为没有对应的预约的预约id的解锁完成事务数据。如果有如上述那样有竞争预约、包含被认为没有对应的预约的预约id的解锁完成事务数据,则能够检测出存在通过既有的费用计算算法不进行费用征收的不正当预约。
[0506]
另外,在不正当预约检测处理中,移动体装置a、b、c也可以分别在自身的账本的区块链内进行检索,检测是否有在没有预约的时间发出的解锁完成事务数据。如上述那样,在对离线状态的移动体装置a进行本地预约,在进行本地借出后,使移动体装置a恢复为了在线状态的情况下,使区块链产生分叉。因此,与本地预约对应的预约事务数据和随着本地借出而发出的解锁完成事务数据在使移动体装置a恢复为在线状态后的时间被保存到分布式账本的区块链中。即,预约事务数据和解锁完成事务数据比本地预约及本地借出的时间靠后被保存到分布式账本的区块链中。并且,通过预约事务数据和解锁完成事务数据比本地预约及本地借出的时间靠后被保存到分布式账本的区块链中,看起来在没有预约的时间发出了解锁完成事务数据。结果,通过在没有预约的时间检测解锁完成事务数据,能够检测到进行了不正当处理。
[0507]
接着,在执行共识算法时没有检测到不正当预约的情况下,移动体装置a、b、c分别将在步骤s616e中已达成共识的区块blc(tpolv)连结到分布式账本内的区块链上(s617e)。
[0508]
另外,在检测到有不正当预约的情况下,也可以制作表示检测到不正当的事务数据的不正当信息(事件报告)并保存。
[0509]
图44是表示有关实施方式的变形例的不正当预约检测处理的流程图。以下,也列举在移动体装置a中进行不正当预约检测处理的情况为例进行说明。另外,有关实施方式的不正当预约检测处理并不限于如上述那样在执行共识算法时进行的情况,也可以独立地执行。
[0510]
如图44所示,首先,移动体装置a确认是否有不正当检查的触发(s6161)。该触发既可以是如上述那样执行了共识算法,也可以是经过了10分钟等一定间隔,也可以是新生成
区块的定时。
[0511]
在步骤s6161中有触发时(s6161中为“是”),移动体装置a在账本a的区块链内进行检索(s6162)。另外,在步骤s6161中没有触发时(s6161中为“否”),移动体装置a向步骤s6161返回。
[0512]
接着,移动体装置a确认在账本a的区块链内是否有在没有预约的时间连结的解锁完成事务数据(s6163)。
[0513]
在步骤s6163中有在没有预约的时间连结的解锁完成事务数据时(s6163中为“是”),制作事件报告并保存(s6164)。另外,在步骤s6163中没有在没有预约的时间连结的解锁完成事务数据时(s6163中为“否”),结束该不正当预约检测处理。
[0514]
图45是表示有关实施方式的变形例的在执行不正当预约检测处理而制作事件报告时进行的系统的处理的顺序图。对于与图43相同的动作赋予相同的标号,省略详细的说明。在图45中,表示了在步骤s616e中在移动体装置a、b、c共同执行了共识算法时进行的不正当预约检测处理中制作事件报告后的处理。
[0515]
即,如图45所示,在步骤s616e中,移动体装置a、b、c共同执行共识算法。在本变形例中,移动体装置a、b、c分别在执行共识算法时执行不正当预约检测处理。在图45所示的例子中,假设如果执行不正当预约检测处理,则检测出在没有预约的时间发出的解锁完成事务数据,检测出有不正当预约。因此,移动体装置a、b、c制作表示检测出了解锁完成事务数据的事件报告。
[0516]
接着,例如移动体终端b作为代表而生成用来记录所制作的事件报告的事务数据tinc(s622e)。另外,并不限于移动体终端b生成事务数据tinc的情况,也可以是移动体终端a或移动体终端c生成事务数据tinc。
[0517]
接着,移动体装置b向作为其他移动体装置的移动体装置a、c转送事务数据tinc(s623e)。由此,移动体装置a、c取得事务数据tinc。
[0518]
接着,移动体装置a、b、c分别执行进行事务数据tinc的验证的验证算法(s624e)。
[0519]
接着,移动体装置a、b、c分别将在步骤s624e中已验证的事务数据tinc保存到账本(s625e)。更具体地讲,移动体装置a将已验证的事务数据tinc保存到账本a,移动体装置b将已验证的事务数据tinc保存到账本b。移动体装置c将已验证的事务数据tinc保存到账本c内。
[0520]
由此,在账本a、账本b及账本c中都保存事务数据tinc,并记录事件报告。
[0521]
[其他实施方式等]
[0522]
如以上这样,基于上述的实施方式对本公开进行了说明,但本公开当然并不限定于上述的实施方式。以下这样的情况也包含在本公开中。
[0523]
(1)在上述的实施方式中,作为服务对象而以移动体为例进行了说明,但并不限于此。服务对象只要是在服务没有被使用时被锁定以使其他用户不能使用,在使用服务时锁定被解除的对象即可,例如也可以是旅馆的房间、电子储物柜。此外,合同并不限于例如移动体10的使用预约,例如也可以是旅馆的房间的使用预约、电子储物柜的使用预约。在此情况下,解锁完成事务数据只要是表示在服务对象的使用时解除了服务对象的锁定的事务数据、并且包含唯一地识别进行服务对象的使用的第1合同的第1合同id的事务数据就可以。此外,解锁完成事务数据在预约事务数据被保存到区块链中、且许可了用户在预约时间段
解锁服务对象的锁定时生成。
[0524]
此外,也可以执行用来进行服务对象的使用费用的征收的费用征收智能合约。此时,例如也可以使费用征收智能合约确认是否在分布式账本内的区块链中保存有解锁完成事务数据、并且对于由解锁完成事务数据中包含的第1合同id识别的第1合同的使用费用是未征收。进而,智能合约执行部106也可以在保存有解锁完成事务数据并且是未征收的情况下,使费用征收智能合约执行对于该第1合同的使用费用的征收。另外,未征收的情况是,在第1区块链及第2区块链中保存有用来签订第1合同的第2事务数据和用来签订服务对象的使用的第2合同的第3事务数据的情况。并且,未征收的情况是进行第1合同中包含的服务对象的使用的时间段与进行第2合同中包含的服务对象的使用的时间段一部分重复的情况。
[0525]
(2)上述的实施方式的各装置具体而言是由微处理器、rom、ram、硬盘单元、显示器单元、键盘、鼠标等构成的计算机系统。在上述ram或硬盘单元中记录有计算机程序。通过由上述微处理器按照上述计算机程序动作,各装置达成其功能。这里,计算机程序是为了达成规定的功能将表示对于计算机的指令的命令代码组合多个而构成的。
[0526]
(3)构成上述的实施方式的各装置的构成要素的一部分或全部也可以由一个系统lsi(large scale integration:大规模集成电路)构成。系统lsi是将多个构成部集成到一个芯片上而制造出的超多功能lsi,具体而言,是包括微处理器、rom、ram等而构成的计算机系统。在上述ram中存储有计算机程序。通过由微处理器按照计算机程序动作,系统lsi实现其功能。
[0527]
此外,构成上述各装置的构成要素的各部既可以单独地形成一个芯片,也可以包含一部分或全部而形成一个芯片。
[0528]
此外,这里设为系统lsi,但根据集成度的差异,也有称作ic、lsi、超级lsi、超大规模lsi的情况。此外,集成电路化的方法并不限于lsi,也可以由专用电路或通用处理器实现。也可以利用在lsi制造后能够编程的fpga(field programmable gate array)、或能够重构lsi内部的电路单元的连接或设定的可重构处理器。
[0529]
进而,如果因半导体技术的进步或派生的其他技术而出现替代lsi的集成电路化的技术,则当然也可以使用其技术进行功能块的集成化。有可能是生物技术的应用等。
[0530]
(4)构成上述各装置的构成要素的一部分或全部也可以由相对于各装置能够拆装的ic卡或单体的模块构成。上述ic卡或上述模块是由微处理器、rom、ram等构成的计算机系统。上述ic卡或上述模块也可以包括上述的超多功能lsi。通过由微处理器按照计算机程序动作,上述ic卡或上述模块达成其功能。该ic卡或该模块也可以具有耐篡改性。
[0531]
(5)本公开也可以是上述所示的方法。此外,也可以是将这些方法通过计算机实现的计算机程序,也可以是由上述计算机程序构成的数字信号。
[0532]
此外,本公开也可以将上述计算机程序或上述数字信号记录到能够由计算机读取的记录介质,例如软盘、硬盘、cd-rom、mo、dvd、dvd-rom、dvd-ram、bd(blu-ray disc(注册商标))、半导体存储器等中。此外,也可以是记录在这些记录介质中的上述数字信号。
[0533]
此外,本公开也可以将上述计算机程序或上述数字信号经由电气通信线路、无线或有线通信线路、以因特网为代表的网络、数据广播等传送。
[0534]
此外,本公开也可以是具备微处理器和存储器的计算机系统,上述存储器记录有上述计算机程序,上述微处理器按照上述计算机程序动作。
[0535]
此外,也可以通过将上述程序或上述数字信号记录在上述记录介质中并移送、或通过将上述程序或上述数字信号经由上述网络等移送,由独立的其他的计算机系统实施。
[0536]
(6)也可以将上述实施方式及上述变形例分别组合。
[0537]
工业实用性
[0538]
本公开能够利用于控制方法、控制装置及程序,例如能够利用于在自行车、自动二轮车等移动体的共享服务等中用户签订用于移动体使用的合同的情况下,能够抑制不支付费用的不正当使用的控制方法、控制装置及程序等。
[0539]
标号说明
[0540]
1 系统
[0541]
10、10a、10b、10c 移动体
[0542]
11、11a、11b、11c 终端
[0543]
20 管理服务器
[0544]
100 移动体装置
[0545]
101、1101 输入部
[0546]
102 事务数据生成部
[0547]
103 事务数据验证部
[0548]
104 区块生成部
[0549]
105 同步部
[0550]
106 智能合约执行部
[0551]
107 区块链管理部
[0552]
108 分布式账本存储部
[0553]
109 状态存储部
[0554]
110 不正当检测部
[0555]
111、1103 通信部
[0556]
112、1102 显示部