控制方法、服务器及数据结构

文档序号:1957987 发布日期:2021-12-10 浏览:20次 >En<

阅读说明:本技术 控制方法、服务器及数据结构 (Control method, server and data structure ) 是由 海上勇二 道山淳儿 添田纯一郎 广濑雄挥 渊上哲司 大森基司 于 2020-04-16 设计创作,主要内容包括:本公开的控制方法从由第1合同的签订者之一的第1用户进行了操作的终端(40),接收包含与第1合同对应的第1智能合约以及与第1用户建立关联的第1电子签名的第1事务数据(S103);与其他多个服务器一起执行共识算法(S107);将包含第1事务数据的区块记录到分布式账本中。第1智能合约中包含第1合同的内容、为了确定与预计新签订的第2合同对应的第2智能合约而使用的临时决定的变量、以及制作第2智能合约的条件,上述第2合同是以第1合同为主合同的副合同。(The control method of the present disclosure receives 1 st transaction data including a 1 st smart contract corresponding to the 1 st contract and a 1 st electronic signature that establishes association with the 1 st user, from a terminal (40) operated by the 1 st user that is one of the contractors of the 1 st contract (S103); executing a consensus algorithm with the other plurality of servers (S107); and recording the block containing the 1 st transaction data into the distributed ledger. The 1 st intelligent contract includes the content of the 1 st contract, a provisionally determined variable used for specifying the 2 nd intelligent contract corresponding to the 2 nd contract expected to be newly signed, and a condition for creating the 2 nd intelligent contract, and the 2 nd contract is a sub-contract having the 1 st contract as a main contract.)

控制方法、服务器及数据结构

技术领域

本公开涉及控制方法、服务器及数据结构。

背景技术

作为在区块链上将合同进行程序化的机制,已知有智能合约技术。智能合约包含于区块链等的区块中,该区块被记录到分布式账本中,从而能够执行智能合约。因此,通过使用智能合约,只要满足规定的条件,则能够使合同的条件确认或履行为止的合同行动,不篡改合同地自动执行。

例如在专利文献1中公开了如下机制:通过使用智能合约,即使在分布式账本系统中存在多个管理者的状况下,也能够实现在节点间使策略或定时一致的运用管理。

现有技术文献

专利文献

专利文献1:国际公开第2019/021792号

发明内容

发明要解决的课题

但是,在与某合同对应的智能合约运行后,即使发生与该合同中规定的另行协商而签订新的条款,该智能合约也是确定的。即,对于该智能合约不能追加与新的条款的合同行动有关的记述。因此,抑制了与将来有可能发生另行协商的合同对应的智能合约的利用,有可能难以实现由合同行动的自动化带来的好处即不正当防止、以及因不通过中介而带来的时间成本及能量成本的削减。

本公开是鉴于上述的情况而做出的,目的是提供一种使用分布式账本能够进一步降低时间成本和能量成本的控制方法等。

用来解决课题的手段

为了达成上述目的,有关本公开的一技术方案的控制方法,是在具备由用户进行操作的终端、以及分别对分布式账本进行管理并利用上述分布式账本对智能合约进行管理的多个服务器的系统中由上述多个服务器之中的第1服务器执行的控制方法,其中,从由第1合同的签订者之一的第1用户进行了操作的第1终端接收第1事务数据,该第1事务数据包含与上述第1合同对应且利用上述分布式账本将上述第1合同的合同行动可执行地程序化而得到的第1智能合约、以及与上述第1用户建立关联的第1电子签名;将包含上述第1事务数据的区块记录到上述分布式账本中;上述第1智能合约中包含上述第1合同的内容、为了确定与预计新签订的第2合同对应的第2智能合约而使用的临时决定的变量、以及制作上述第2智能合约的条件,上述第2合同是以上述第1合同为主合同的副合同。

另外,这些全局性或具体的技术方案也可以由系统、方法、集成电路、计算机程序或计算机可读取的CD-ROM等的记录介质实现,也可以由系统、方法、集成电路、计算机程序及记录介质的任意的组合来实现。

发明效果

根据本公开的控制方法等,使用分布式账本能够进一步降低时间成本和能量成本。

附图说明

图1是示意地表示实施方式的控制系统的构成的框图。

图2是示意地表示实施方式的服务器的构成的框图。

图3是表示区块链的数据结构的说明图。

图4是表示事务(transaction)数据的数据结构的说明图。

图5是用来说明实施方式的到第1智能合约运行为止的处理的顺序图。

图6是概念性地表示实施方式的第1智能合约的内容的图。

图7是用来说明实施方式的到第2智能合约运行为止的处理的顺序图。

图8是概念性地表示实施方式的第2智能合约的内容的图。

图9是表示实施方式的到第3智能合约运行为止的处理的顺序图。

图10是概念性地表示实施方式的第3智能合约的内容的图。

图11A是用来说明实施方式的变形例1的到第2智能合约运行为止的处理的顺序图。

图11B是用来说明实施方式的变形例1的到第2智能合约运行为止的处理的顺序图。

图12A是用来说明实施方式的变形例2的到第2智能合约运行为止的处理的顺序图。

图12B是用来说明实施方式的变形例2的到第2智能合约运行为止的处理的顺序图。

图13A是用来说明实施方式的变形例3的到第2智能合约运行为止的处理的顺序图。

图13B是用来说明实施方式的变形例3的到第2智能合约运行为止的处理的顺序图。

图14是用来说明实施方式的变形例4的到第3智能合约运行为止的处理的顺序图。

具体实施方式

有关本公开的一技术方案的控制方法,是在具备由用户进行操作的终端、以及分别对分布式账本进行管理并利用上述分布式账本对智能合约进行管理的多个服务器的系统中由上述多个服务器之中的第1服务器执行的控制方法,其中,从由第1合同的签订者之一的第1用户进行了操作的第1终端接收第1事务数据,该第1事务数据包含与上述第1合同对应且利用上述分布式账本将上述第1合同的合同行动可执行地程序化而得到的第1智能合约、以及与上述第1用户建立关联的第1电子签名;将包含上述第1事务数据的区块记录到上述分布式账本中;上述第1智能合约中包含上述第1合同的内容、为了确定与预计新签订的第2合同对应的第2智能合约而使用的临时决定的变量、以及制作上述第2智能合约的条件,上述第2合同是以上述第1合同为主合同的副合同。

由此,能够实现使用分布式账本能够进一步降低时间成本和能量成本的控制方法等。

更具体地讲,在与将来有可能发生另行协商的第1合同对应的第1智能合约中,包含作为与能够通过第1合同中规定的另行协商来签订的第2合同对应的第2智能合约的合约地址的替代的变量。这样,能够用第1智能合约表现将来有可能发生的另行协商。因此,促进了与将来有可能发生另行协商的合同对应的智能合约的利用,能够实现由合同行动的自动化带来的好处即不正当防止、以及因不经由中介而带来的时间成本及能量成本的削减。

这里,例如在将包含上述第1事务数据的区块记录到上述分布式账本中时,与上述多个服务器之中的除了上述第1服务器以外的多个第2服务器一起执行用于关于上述第1事务数据的正当性达成共识的第1共识算法;在通过上述第1共识算法关于上述第1事务数据的正当性达成了共识的情况下,将包含上述第1事务数据的区块记录到上述分布式账本中。

此外,例如上述控制方法中,从上述第1终端接收第2事务数据,该第2事务数据包含与上述第2合同对应且利用上述分布式账本将上述第2合同的合同行动可执行地程序化而得到的上述第2智能合约、以及与上述第1用户建立关联的第2电子签名;将包含上述第2事务数据的区块记录到上述分布式账本中;上述第2智能合约中至少包含上述第2合同的内容、以及作为表示上述第2智能合约的关联目的地的信息的上述第1智能合约的第1合约地址。

此外,例如在将包含上述第2事务数据的区块记录到上述分布式账本中时,与上述多个服务器之中的除了上述第1服务器以外的多个第2服务器一起执行用于关于上述第2事务数据的正当性达成共识的第2共识算法,在通过上述第2共识算法关于上述第2事务数据的正当性达成了共识的情况下,将包含上述第2事务数据的区块记录到上述分布式账本中。

此外,例如上述控制方法中,进一步,在接收到上述第2事务数据的情况下,参照上述第1合约地址,确定上述第1智能合约中包含的上述条件;在接收到第2事务数据的情况下,进一步在满足上述条件时执行上述第2共识算法。

此外,例如在上述第2智能合约中,除了上述第2合同的内容和上述第1合约地址以外,还包含上述变量。

此外,例如上述控制方法中,进一步,在包含上述第2事务数据的区块被记录在上述分布式账本中的情况下,参照上述第2事务数据中包含的上述第1合约地址,确定上述第1智能合约,从所确定的上述第1智能合约取得上述第1合同的内容、上述变量以及上述条件,制作第3智能合约,该第3智能合约包含上述第1合同的内容、上述条件、以及作为上述变量的替代的上述第2事务数据的第2合约地址,并且与上述第1合同对应;生成包含所制作的上述第3智能合约以及与上述第1服务器建立关联的第3电子签名的第3事务数据;将包含上述第3事务数据的区块记录到上述分布式账本中。

此外,例如在将包含上述第3事务数据的区块记录到上述分布式账本中时,与上述多个服务器之中的除了上述第1服务器以外的多个第2服务器一起执行用于关于上述第3事务数据的正当性达成共识的第3共识算法,在通过上述第3共识算法关于上述第3事务数据的正当性达成了共识的情况下,将包含上述第3事务数据的区块记录到上述分布式账本中。

此外,例如上述控制方法进一步,使上述第1服务器的工作存储器保持表示与上述第1合同对应的最新的智能合约是上述第3智能合约之意的信息。

此外,有关本公开的一技术方案的服务器,是具备由用户进行操作的终端、以及分别对分布式账本进行管理并利用上述分布式账本对智能合约进行管理的多个服务器的系统中的上述多个服务器之中的一个服务器,其中,具备:处理器;存储器,存储有使上述处理器执行处理的程序;以及存储装置,存储有保存了智能合约的上述分布式账本,上述处理器从由第1合同的签订者之一的第1用户进行了操作的第1终端接收第1事务数据,该第1事务数据包含与上述第1合同对应且利用上述分布式账本将上述第1合同的合同行动可执行地程序化而得到的第1智能合约、以及与上述第1用户建立关联的第1电子签名,上述处理器将包含上述第1事务数据的区块记录到上述分布式账本中,上述第1智能合约中包含上述第1合同的内容、为了确定与预计新签订的第2合同对应的第2智能合约而使用的临时决定的变量、以及制作上述第2智能合约的条件,上述第2合同是以上述第1合同为主合同的副合同。

以下,参照附图对实施方式进行说明。另外,以下说明的实施方式都表示本公开的优选的一具体例。即,在以下的实施方式中表示的数值、形状、材料、构成要素、构成要素的配置及连接形态、步骤、步骤的顺序等是一例,不是限定本公开的意思。本公开是基于权利要求书的记载而确定的。因而,以下的实施方式的构成要素中的、在表示本公开的最上位概念的独立权利要求中没有记载的构成要素,虽然不是为了达成本公开的课题而必定需要的,但作为构成更优选的形态的构成要素而进行说明。

(实施方式)

以下,参照附图对实施方式的控制系统1进行说明。

[控制系统1的构成]

本公开的控制系统1能够使分布式账本所保存的与第1合同对应的智能合约包含即使将来发生由该第1合同规定的另行协商也能够应对的机制。由此,能够促进与将来有可能发生另行协商的第1合同对应的智能合约的使用。

图1是示意地表示本实施方式的控制系统1的构成的框图。

如图1所示,控制系统1具备服务器10A、10B及10C和由用户进行操作的终端40及41。它们经由网络N可通信地连接。网络N由怎样的通信线路线路或网络构成都可以,例如包括因特网、移动电话的载波网络等。将服务器10A、10B及10C也称作“服务器10A等”,将终端40及41也称作“终端40等”。另外,在图1中,表示了控制系统1具备3个服务器和2个终端的情况下的例子,但并不限于此。即,控制系统1也可以具备4个以上的服务器,也可以具备3个以上的终端。

[终端40等]

终端40及41分别独立地动作,由各自的用户进行操作。

终端40是由第1用户进行操作的终端。在本实施方式中,终端40是由作为将来有可能发生另行协商的合同的第1合同的签订者之一的第1用户进行操作的第1终端。终端40例如是个人计算机、智能电话、平板电脑等。在图1所示的例子中,终端40是能够经由网络N与服务器10A等进行通信的终端,并且是作为第1用户的用户A使用并操作的终端。

此外,终端40按照用户的操作来制作智能合约。终端40如果制作智能合约,则生成包括所制作的智能合约的事务数据,将所生成的事务数据发送给服务器10A等。

例如,终端40通过作为第1用户的用户A的操作,制作与第1合同对应、并且通过利用分布式账本将第1合同的合同行动可执行地程序化而得到的第1智能合约。这里,所制作的第1智能合约中包括:第1合同的内容;为了确定与预计新签订的第2合同对应的第2智能合约而使用的临时决定的变量,上述第2合同是以第1合同为主合同的副合同;以及制作第2智能合约的条件。这里,第2合同是通过进行第1合同中决定的另行协商而签订的以第1合同为主合同的副合同。

进而,终端40如果受理作为第1用户的用户A的电子签名的输入和生成事务数据之意的指示,则生成包括用户A的电子签名和所制作的第1智能合约的第1事务数据。换言之,终端40生成包括所制作的第1智能合约以及与第1用户建立关联的第1电子签名的第1事务数据。并且,终端40将所生成的第1事务数据发送给服务器10A等。

此外,例如终端40通过用户A的操作而制作第2智能合约,该第2智能合约是与通过另行协商而签订的第2合同对应、并且利用分布式账本将第2合同的合同行动可执行地程序化而得到的智能合约。这里,所制作的第2智能合约中至少包括第2合同的内容、以及作为表示第2智能合约的关联目的地的信息的第1智能合约的第1合约地址。另外,在第2智能合约中,除了第2合同的内容和第1合约地址以外,也可以还包括上述变量。

进而,终端40如果受理作为第1用户的用户A的电子签名的输入和生成事务数据之意的指示,则生成包含用户A的电子签名和所制作的第2智能合约的第2事务数据。换言之,终端40生成包含所制作的第2智能合约以及与第1用户建立关联的第2电子签名的第1事务数据。接着,终端40将所生成的第2事务数据发送给服务器10A等。另外,第1电子签名和第2电子签名只要与第1用户建立关联,则既可以相同也可以不同。

终端41是由第2用户进行操作的终端。在本实施方式中,是由第1合同的签订者之一的与第1用户进行另行协商的第2用户进行操作的第2终端。终端41例如是个人计算机、智能电话、平板电脑等。在图1所示的例子中,终端41是能够经由网络N与服务器10A等进行通信的终端,并且是作为第2用户的用户B使用并操作的终端。

[服务器10A等]

多个服务器10A、10B及10C分别对分布式账本进行管理,并且使用分布式账本对智能合约进行管理。

服务器10A、10B、10C分别经由网络N可通信地连接,并独立地动作。由于服务器10A、10B、10C是同样的构成,所以以下以服务器10A为例进行说明。另外,也可以是其他服务器(服务器10B或10C)进行上述的处理。

图2是示意地表示本实施方式的服务器10A的构成的框图。

服务器10A是第1服务器的一例。在本实施方式中,如图2所示,服务器10A具备处理部11、账本管理部12、控制部13和工作存储器17。服务器10A具备的这些功能部例如可以通过由CPU(Central Processing Unit)使用存储器执行程序来实现。

<处理部11>

处理部11是通过分布式账本进行各种信息的管理的处理部。处理部11在从控制系统1内的装置接收到事务数据的情况下、或取得了控制部13生成的事务数据的情况下,通过将接收或取得的事务数据提供给账本管理部12而保存到分布式账本中。在该事务数据中,包含后述的第1事务数据~第7事务数据。

<账本管理部12>

账本管理部12是对分布式账本进行管理的处理部。具体而言,账本管理部12在接收到事务数据的情况下,将接收到的事务数据转送给其他多个服务器,并且将接收到的事务数据保存到分布式账本中。

这样,账本管理部12将从处理部11提供的事务数据保存到分布式账本中。在分布式账本中,保存从过去到现在的事务数据。在分布式账本中,基于记录在分布式账本中的信息的篡改较困难的特性,管理上述的事务数据以使其不被篡改。

如图2所示,账本管理部12具有保存部15和账本存储部16。

保存部15是将应保存到分布式账本中的新的事务数据向账本存储部16保存的处理部。保存部15生成包含新的事务数据的区块,并将所生成的区块在服务器10A等之间取得同步后,将上述区块保存到账本存储部16。

更具体地讲,保存部15如果从处理部11接收到事务数据,则进行接收到的事务数据中包含的电子签名的验证和事务数据的正当性的验证。另外,也可以跳过该验证。保存部15在电子签名的验证及事务数据的正当性的验证成功的情况下,将事务数据转送给多个其他服务器10B及10C。接着,保存部15与多个其他服务器10B及10C一起执行用来关于该事务数据的正当性达成共识的共识算法。保存部15在通过共识算法关于该事务数据的正当性达成了共识的情况下,将包含该事务数据的区块记录到分布式账本中。

另外,保存部15在从处理部11接收到包含与基于另行协商的第2合同对应的第2智能合约的第2事务数据的情况下,确定与第1合同对应的第1智能合约中包含的条件,第1合同是基于另行协商的副合同即第2合同的主合同。在此情况下,保存部15在接收到的第2事务数据中包含的电子签名的验证和第2事务数据的正当性的验证成功的情况下,也可以还在满足该条件时执行共识算法。另外,在第2事务数据的验证被跳过的情况下,保存部15也可以接收第2事务数据,在满足该条件时执行共识算法。

在本实施方式中,保存部15将包含与第1合同对应的第1智能合约的区块和包含与第2合同对应的第2智能合约的区块独立地处理,记录到分布式账本中。此外,保存部15如果接收到包含控制部13生成的作为与第1合同对应的新的智能合约的第3智能合约的区块,则将包含第3智能合约的区块记录到分布式账本中。

账本存储部16是存储有分布式账本的存储装置。账本存储部16由HDD(Hard DiskDrive)或SSD(Solid State Drive)等实现。

对于保存在账本存储部16中的分布式账本,将1个以上的事务数据包含到区块中而进行电子记录,利用哈希值等的特性进行管理以使得难以篡改。关于其详细情况后述。此外,在保存于账本存储部16中的分布式账本中,存储有1个以上的智能合约。在该分布式账本中,存储有例如被称作合约代码的程序代码,也可以通过执行该合约代码来实现智能合约。合约代码是为了执行记述在智能合约中的合同行动而执行的代码。

另外,在本实施方式中,假设在保存于账本存储部16中的分布式账本中,作为实现分布式的账本管理的区块链安装基础而例如采用区块链方式来进行说明,但并不限于此。也可以采用IOTA或哈希图等的其他方式。

此外,以下也假设在新的事务数据被保存到分布式账本中时执行共识算法而进行说明,但也可以不执行。

在新的事务数据被保存到分布式账本中时执行的共识算法中,既可以使用PBFT(Practical Byzantine Fault Tolerance:实用拜占庭容错算法),也可以使用其他周知的共识算法。作为周知的共识算法,例如有POW(Proof Of Work:工作量证明)或POS(Proof OfStake:权益证明)等。在共识算法中使用PBFT的情况下,首先,保存部15从多个其他服务器10B及10C分别接受表示事务的验证是否成功的报告,判定该报告的数量是否超过了规定的数量。并且,保存部15在该报告的数量超过了规定的数量时,判定为是通过共识算法验证了事务数据的正当性的情况即可。

在新的事务数据被保存到分布式账本中时不执行共识算法的情况下,使用Hyperledger fabric等的分布式账本技术即可。

<控制部13>

控制部13是控制各种处理的处理部。

控制部13的处理的一部分或全部也可以通过执行在存储于账本存储部16中的智能合约中记述的合同行动来进行。另外,控制部13也可以通过执行存储在账本存储部16中的合约代码来实现智能合约,即执行智能合约中记述的合同行动作为上述的处理。

此外,控制部13制作反映了与主合同的通过另行协商而签订的副合同所对应的智能合约有关的信息的、与主合同对应的新的智能合约。控制部13生成包含所制作的新的智能合约的事务数据,并发送给处理部11。

在本实施方式中,控制部13在包含第2事务数据的区块被记录在分布式账本中的情况下,首先,参照包含在第2事务数据中的第1合约地址,确定与第1合同对应的第1智能合约。接着,控制部13从所确定的第1智能合约,取得第1合同的内容、变量和条件。接着,控制部13制作与第1合同对应的第3智能合约,该第3智能合约是包含第1合同的内容、条件、以及作为变量的替代的第2事务数据的第2合约地址的新的智能合约。并且,控制部13生成包含所制作的第3智能合约以及与服务器10A建立关联的第3电子签名的第3事务数据,并发送给处理部11。

<工作存储器17>

工作存储器17是作为服务器10A的内存发挥功能的存储器。工作存储器17读出记录在分布式账本中的区块,保持与第1合同对应的最新的智能合约。另外,工作存储器17也可以保持指示与第1合同对应的最新的智能合约的信息。例如,在第3智能合约是最新的智能合约的情况下,工作存储器17也可以保持表示与第1合同对应的最新的智能合约是第3智能合约之意的信息。

[数据结构]

对区块链的数据结构和事务数据的数据结构进行说明。

图3是表示区块链的数据结构的说明图。

区块链通过作为其记录单位的区块被以链(chain)状连接而成。各个区块具有多个事务数据、以及紧前的区块的哈希值。具体而言,在区块B2中包含其之前的区块B1的哈希值。并且,根据区块B2中包含的多个事务数据和区块B1的哈希值运算出的哈希值作为区块B2的哈希值被包含于区块B3。像这样,将之前的区块的内容作为哈希值来包含,并且将区块以链状连接,从而有效地防止所记录的事务数据的篡改。

假设过去的事务数据被变更,则区块的哈希值成为与变更前不同的值,要想使篡改后的区块伪装成正确的区块,必须重新制作其以后的全部区块,该作业在现实中是非常困难的。利用该性质,在区块链中确保了篡改困难性。

图4是表示事务数据的数据结构的说明图。

图4所示的事务数据包括事务主体P1和电子签名P2。事务主体P1是该事务数据中包含的数据主体。电子签名P2是对于事务主体P1的哈希值以该事务数据的制作者的签名密钥进行签名而生成的、更具体地讲是通过以制作者的秘密密钥进行加密而生成的电子签名。

事务数据具有电子签名P2,所以篡改实质上是不可能的。由此,防止事务主体的篡改。

[动作]

接着,在如以上那样构成的控制系统1中,使用顺序图对到第1智能合约、第2智能合约及第3智能合约运行为止的处理进行说明。以下,将第1智能合约表述为第1智能合约Xver1,将第2智能合约表述为第2智能合约Yn,将第3智能合约表述为第3智能合约Xver2

[到第1智能合约Xver1运行为止的处理]

图5是用来说明本实施方式的到第1智能合约Xver1运行为止的处理的顺序图。图6是概念性地表示本实施方式的第1智能合约Xver1的内容的图。

首先,终端40通过将来有可能发生另行协商的第1合同的签订者之一的第1用户即用户A的操作,制作与第1合同对应的第1智能合约Xver1(S101)。这里,第1智能合约Xver1是通过利用分布式账本而将第1合同的合同行动可执行地程序化的智能合约。第1智能合约Xver1例如被输入图6所示的内容。即,第1智能合约Xver1中被输入第1合同的内容、另行协商的跳转目的地和制作第2智能合约的条件。在图6所示的例子中,作为另行协商的跳转目的地,例如表示了“变量xx”等为了确定与第2合同对应的第2智能合约而使用的临时决定的变量。另外,变量xx也可以不是临时决定的变量,也可以是临时决定的特定地址,也可以是临时决定的值。即,只要能够用于确定将来制作的第2智能合约,则其形态不受限定。另外,“跳转目的地Xver1=”的“Xver1=”是为了表示从第1智能合约的跳转目的地而添加的。

接着,终端40生成包含步骤S101中制作的第1智能合约Xver1以及与作为第1用户的用户A建立关联的第1电子签名的第1事务数据(S102)。

接着,终端40将在步骤S102中生成的第1事务数据例如发送给服务器10A(S103)。另外,终端40也可以将在步骤S102中生成的第1事务数据发送给服务器10B或服务器10C。在此情况下,以下说明的服务器10A的动作即为服务器10B或服务器10C的动作。

接着,服务器10A进行从终端40接收到的第1事务数据的验证(S104)。更具体地讲,服务器10A进行从终端40接收到的第1事务数据中包含的第1电子签名的验证和第1事务数据的正当性的验证。另外,步骤S104也可以跳过。

在步骤S104中,服务器10A在第1事务数据的验证不成功的情况下(S104中否),对终端40进行错误通知(S105),结束本处理。

另一方面,在步骤S104中,服务器10A在第1事务数据的验证成功的情况下(S104中是),向多个其他服务器10B、10C转送第1事务数据(S106)。另外,在步骤S104被跳过的情况下,服务器10A只要将从终端40接收到的第1事务数据转送给多个其他服务器10B、10C即可。于是,在服务器10B、10C中,分别进行被转送来而接收到的第1事务数据的验证。

接着,服务器10A、服务器10B和服务器10C执行共识算法(S107)。这里,步骤S107的共识算法对应于用来关于第1事务数据的正当性达成共识的第1共识算法。服务器10A、服务器10B和服务器10C执行共识算法,如果验证了接收到的第1事务数据是正当的事务数据(即正当性),则分别生成包含第1事务数据的区块。并且,服务器10A、10B、10C将包含第1事务数据的区块记录到分布式账本中。

这样,终端40制作的第1智能合约Xver1被记录到分布式账本中。

并且,第1智能合约Xver1通过被记录到分布式账本中而成为能够执行即运行(S108)。另外,记录在分布式账本中的第1智能合约Xver1也可以在从其他设备等接收到包含该第1智能合约Xver1的第1合约地址的事务数据并记录到分布式账本中的情况下执行。

[到第2智能合约Yn运行为止的处理]

接着,说明在第1合同签订后,通过由第1合同规定的另行协商而签订了以第1合同为主合同的副合同即第2合同的情况下,与签订的第2合同对应的第2智能合约Yn被制作并运行为止的处理。在本实施方式中,假设由终端40的用户即用户A和终端41的用户即用户B进行另行协商而签订了第2合同。

图7是用来说明本实施方式的到第2智能合约Yn运行为止的处理的顺序图。图8是概念性地表示本实施方式的第2智能合约Yn的内容的图。

首先,终端40如果通过用户A的操作而被输入了存在由第1合同规定的另行协商(S201中是),则确认是否能够制作与通过另行协商签订的第2合同对应的第2智能合约Yn(S202)。终端40在作为第1合同的副合同的第2合同的数量即第2智能合约Yn的数量为规定值以下的情况下,判定为也可以制作第2智能合约Yn。这是为了对作为第1合同的副合同(另订合同)的第2合同的数量设置限制。

在步骤S202中,终端40在确认到能够制作第2智能合约Yn的情况下(S202中是),根据通过另行协商签订的第2合同的签订者之一的用户A的操作,制作与第2合同对应的第2智能合约Yn(S203)。这里,第2智能合约Yn是通过利用分布式账本而将第2合同的合同行动可执行地程序化的智能合约。第2智能合约Yn例如被输入图8所示的内容。即,第2智能合约Yn中被输入第2合同的内容和关联目的地。在图8所示的例子中,如例如用“=Xver1”表示那样,表示关联目的地是第1智能合约Xver1。在本实施方式中,为了表示关联目的地是第1智能合约Xver1,关联目的地中被输入第1智能合约Xver1的第1合约地址。此外,在关联目的地中,除了第1智能合约Xver1的第1合约地址以外,也可以还输入第1智能合约Xver1中包含的变量xx。另外,作为关联目的地被输入的内容只要能够确定第1智能合约Xver1中包含的变量xx,则其形态不受限定。

接着,终端40生成包含步骤S203中制作的第2智能合约Yn、以及与作为第1用户的用户A建立关联的第2电子签名的第2事务数据(S204)。

接着,终端40将在步骤S204中生成的第2事务数据Yn例如发送给服务器10A(S205)。另外,终端40也可以将在步骤S204中生成的第2事务数据发送给服务器10B或服务器10C。在此情况下,以下说明的服务器10A的动作即为服务器10B或服务器10C的动作。

接着,服务器10A进行从终端40接收到的第2事务数据的验证(S206)。更具体地讲,服务器10A进行从终端40接收到的第2事务数据中包含的第2电子签名的验证和第2事务数据的正当性的验证。另外,步骤S206也可以跳过。

在步骤S206中,服务器10A在第2事务数据的验证不成功的情况下(S206中否),向终端40进行错误通知(S207),结束本处理。

另一方面,在步骤S206中,服务器10A在第2事务数据的验证成功的情况下(S206中是),向多个其他服务器10B、10C转送第2事务数据(S208)。另外,在步骤S206被跳过的情况下,服务器10A只要将从终端40接收到的第2事务数据转送给多个其他服务器10B、10C即可。于是,在服务器10B、10C中分别进行被转送来而接收到的第2事务数据的验证。

接着,服务器10A、服务器10B和服务器10C执行共识算法(S209)。这里,步骤S209的共识算法对应于用来关于第2事务数据的正当性达成共识的第2共识算法。服务器10A、服务器10B和服务器10C执行共识算法,如果验证了接收到的第2事务数据是正当的事务数据(即正当性),则分别生成包含第2事务数据的区块。并且,服务器10A、10B、10C将包含第2事务数据的区块记录到分布式账本中。

这样,终端40制作的第2智能合约Yn被记录到分布式账本中。

并且,第2智能合约Yn通过被记录到分布式账本中而成为能够执行即运行(S210)。另外,记录在分布式账本中的第2智能合约Yn也可以在从其他设备等接收到包含该第2智能合约Yn的第2合约地址的事务数据并记录到分布式账本中的情况下执行。

[到第3智能合约Xver2运行为止的处理]

接着,说明在第2智能合约Yn的运行后,第3智能合约Xver2被制作并运行为止的处理。在本实施方式中,对服务器10A制作第3智能合约Xver2的情况进行说明,但其他服务器10B及10C制作也为同样的说明。

图9是用来说明本实施方式的到第3智能合约Xver2运行为止的处理的顺序图。图10是概念性地表示本实施方式的第3智能合约Xver2的内容的图。

首先,服务器10A如果确认到是否制作了第2智能合约Yn(S301中是),则确认第2智能合约Yn是否与其他智能合约建立了关联(S302)。在本实施方式中,首先,服务器10A确认自身管理的分布式账本,确认是否记录有第2智能合约Yn。接着,服务器10A确认记录在分布式账本中的第2智能合约Yn,确认是否包含有表示与其他智能合约建立了关联的部位。

在步骤S302中,服务器10A如果确认到第2智能合约Yn与其他智能合约建立了关联(S302中是),则确定与第2智能合约Yn建立了关联的智能合约(S303)。在本实施方式中,首先,服务器10A参照如图8所示的第2智能合约Yn的内容,确定第2事务数据Yn中包含的第1合约地址。接着,服务器10A参照所确定的第1合约地址,确定第1智能合约Xver1。另外,在步骤S302中,服务器10A如果确认到第2智能合约Yn没有与其他智能合约建立关联(S302中否),则结束本处理。

接着,服务器10A从所确定的第1智能合约Xver1,取得第1合同的内容等(S304)。在本实施方式中,服务器10A从所确定的第1智能合约Xver1,取得第1合同的内容、为了确定第2智能合约Yn而使用的临时决定的变量、以及制作第2智能合约Yn的条件。

接着,服务器10A制作与第1合同对应的第3智能合约Xver2(S305)。这里,第3智能合约Xver2是通过利用分布式账本而将在另行协商中签订的第2合同和第1合同的合同行动可执行地程序化的智能合约。在第3智能合约Xver2中,与第2合同对应的第2智能合约Yn被表现为跳转目的地,通过跳转到第2智能合约Yn而能够执行第2合同的合同行动。在本实施方式中,第3智能合约Xver2例如被输入图10所示的内容。即,第3智能合约Xver2中被输入第1合同的内容、另订合同的跳转目的地和制作第2智能合约Yn的条件。在图10所示的例子中,作为另行协商的跳转目的地,如例如用“Xver2=Yn”表示那样,表示跳转目的地是与第2合同对应的第2智能合约Yn。为了表示跳转目的地是第2智能合约Yn,跳转目的地中被输入第2智能合约Yn的第2合约地址。另外,关于向另行协商的跳转目的地输入的内容,只要能够用于确定第2智能合约Yn,其形态不受限定。

接着,服务器10A生成包含步骤S305中制作的第3智能合约Xver2、以及与服务器10A建立关联的第3电子签名的第3事务数据(S306)。

接着,服务器10A将在步骤S306中生成的第3事务数据转送给多个其他服务器10B、10C(S307)。于是,在服务器10B、10C中,分别进行被转送来并接收到的第3事务数据的验证。

接着,服务器10A、服务器10B和服务器10C执行共识算法(S308)。这里,步骤S308的共识算法对应于用来关于第3事务数据的正当性达成共识的第3共识算法。服务器10A、服务器10B和服务器10C执行共识算法,如果验证了接收到的第3事务数据是正当的事务数据(即正当性),则分别生成包含第3事务数据的区块。并且,服务器10A、10B、10C将包含第3事务数据的区块记录到分布式账本中。

这样,服务器10A制作反映了向与第2合同对应的第2智能合约的跳转目的地的第3智能合约Xver2,并记录到分布式账本中,第2合同是对于第1智能合约Xver1通过另行协商签订的以第1合同为主合同的副合同。

并且,第3智能合约Xver2通过被记录到分布式账本中而成为能够执行即运行(S309)。由此,能够执行第1合同和在另行协商中签订的第2合同的合同行动。

[效果等]

如以上这样,根据本公开的控制方法等,在与将来有可能发生另行协商的第1合同对应的第1智能合约中,包含作为与能够通过第1合同中规定的另行协商来签订的第2合同对应的第2智能合约的合约地址的替代的变量。在制作第1智能合约时,第2智能合约没有被制作,合约地址也没有被决定,所以包含有作为替代的变量。由此,能够用第1智能合约来表现将来有可能发生的另行协商。

并且,假设在第1合同中实际发生了另行协商,与通过该另行协商而签订的以第1合同为主合同的副合同即第2合同对应的第2智能合约被制作并运行。在此情况下,本公开的控制方法等新制作反映了向与第2合同对应的第2智能合约的跳转目的地的与第1合同对应的第3智能合约,记录到分布式账本中,上述第2合同是对于第1智能合约通过另行协商签订的合同。

这样,能够用第1智能合约来表现将来有可能发生的另行协商,所以可促进与将来有可能发生另行协商的合同对应的智能合约的利用。结果,能够实现由合同行动的自动化带来的好处即不正当防止、以及由不经由中介带来的时间成本及能量成本的削减。

即,根据本公开的控制方法等,使用分布式账本能够进一步减少时间成本和能量成本。

另外,在上述的实施方式中,假设制作第2智能合约的条件是通过另行协商签订了作为以第1合同为主合同的副合同的第2合同的情况,但并不限于此。该条件中也可以还包括:获得对制作了第2智能合约的终端40以外的终端41进行操作的用户的共识。此外,该条件中也可以还包括:获得对制作了第2智能合约的终端40进行操作的用户的共识及对终端41进行操作的用户的共识。

此外,在上述的实施方式中,对通过第1合同中规定的另行协商而签订的作为以第1合同为主合同的副合同的第2合同的数量为1个的情况进行了说明,但并不限于此。通过第1合同中规定的另行协商签订的第2合同的数量也可以是多个,只要对通过另行协商签订的第2合同的数量设置限制即可。在此情况下,服务器10A制作反映了向多个第2智能合约的跳转目的地的第3智能合约并记录到分布式账本中即可,多个第2智能合约是对于第1智能合约通过另行协商而签订的智能合约。

(变形例1)

在变形例1中,对以下情况进行说明:作为制作第2智能合约的条件,除了通过另行协商签订了第2合同的情况以外,还包括获得对制作了第2智能合约的终端40以外的终端41进行操作的用户的共识。

图11A及图11B是用来说明本实施方式的变形例1的到第2智能合约Yn运行为止的处理的顺序图。以下,也将第1智能合约表述为第1智能合约Xver1,将第2智能合约表述为第2智能合约Yn。另外,本变形例中的第2智能合约Yn的内容如使用图8说明的那样。

图11A所示的顺序图与图7所示的顺序图相比,在确认是否也可以制作第2智能合约Yn的主体被变更为服务器10A这一点、以及对终端41进行达成共识确认委托这一点上不同。图11B所示的顺序图与图7所示的顺序图相比,还在将表示用户B的达成共识确认结果的事务数据记录到分布式账本中这一点上不同。

在图11A中,首先,假设终端40与图7同样,通过用户A的操作,被输入存在第1合同中规定的另行协商的内容(S301中是)。在此情况下,终端40根据通过另行协商签订的第2合同的签订者之一的用户A的操作,制作与第2合同对应的第2智能合约Yn(S304)。这里,服务器10A在步骤S302中,判定是否也可以制作与能够通过另行协商签订的第2合同对应的第2智能合约Yn。在本变形例中,假设终端40在步骤S304中制作的第2智能合约Yn是第n个被制作的第2智能合约,n为规定值以下。因此,服务器10A在步骤S302中判定为也可以制作第2智能合约Yn(S302中是),将表示制作OK之意的通知发送给终端40(S303)。另外,步骤S302及S303只要在步骤S304之前进行,则既可以在步骤S301之前进行,也可以在步骤S301与步骤S304之间进行。

接着,终端40生成包含步骤S304中制作的第2智能合约Yn、以及与作为第1用户的用户A建立关联的第2电子签名的第2事务数据(S305)。

接着,终端40将在步骤S305中生成的第2事务数据例如发送给服务器10A(S306)。另外,终端40也可以将在步骤S305中生成的第2事务数据发送给服务器10B或服务器10C。在此情况下,以下说明的服务器10A的动作即为服务器10B或服务器10C的动作。

接着,服务器10A进行从终端40接收到的第2事务数据的验证(S307)。关于步骤S307及S308,由于是与图7的步骤S206及S207同样的处理,所以省略具体的说明。

在步骤S307中,服务器10A在第2事务数据的验证成功的情况下(S307中是),参照自身的分布式账本,确定制作第2智能合约Yn的条件(S309)。更具体地讲,服务器10A参照记录在自身的分布式账本中的第1智能合约Xver1,确定第1智能合约Xver1中包含的制作第2智能合约Yn的条件。在本变形例中,该条件中,除了通过另行协商签订了第2合同的情况以外,还包括:获得对制作了第2智能合约Yn的终端40以外的终端41进行操作的用户的共识。

接着,服务器10A按照在步骤S309中确定的条件,向终端41发送关于所制作的第2智能合约Yn的达成共识确认委托(S310)。

接着,通过作为通过另行协商而签订的第2合同的当事人的用户B的操作,终端41中被输入关于所制作的第2智能合约Yn的达成共识确认结果。于是,终端41生成包含该达成共识确认结果以及与用户B建立关联的电子签名的第4事务数据(S311)。

接着,终端41将在步骤S311中生成的第4事务数据例如发送给服务器10A(S312)。另外,终端41也可以将在步骤S311中生成的第4事务数据发送给服务器10B或服务器10C。在此情况下,以下说明的服务器10A的动作即为服务器10B或服务器10C的动作。

接着,服务器10A参照从终端41接收到的第4事务数据中包含的用户B的达成共识确认结果,确认用户B是否达成了共识(S313)。

在步骤S313中,服务器10A如果确认到用户B没有达成共识(S313中否),则回到S302。即,在此情况下,服务器10A由于没有将第4事务数据及第2事务数据记录在分布式账本中,所以将本处理结束或再次生成第2智能合约Yn

另一方面,在步骤S313中,服务器10A如果确认到用户B达成了共识(S313中是),则将第2事务数据转送给多个其他服务器10B、10C(S314)。另外,步骤S314~S316与在图7中说明的步骤S208~S210是同样的,所以省略说明。

在步骤S317中,服务器10A进行从终端41接收到的第4事务数据的验证。更具体地讲,服务器10A进行从终端41接收到的第4事务数据中包含的电子签名的验证和第4事务数据的正当性的验证。另外,步骤S317也可以跳过。

在步骤S317中,服务器10A在第4事务数据的验证不成功的情况下(S317中否),向终端41进行错误通知(S318),结束本处理。

另一方面,在步骤S317中,服务器10A在第4事务数据的验证成功的情况下(S317中是),向多个其他服务器10B、10C转送第4事务数据(S319)。另外,在步骤S317被跳过的情况下,服务器10A只要将从终端41接收到的第4事务数据转送给多个其他服务器10B、10C即可。于是,在服务器10B、10C中分别进行被转送来并接收到的第4事务数据的验证。

接着,服务器10A、服务器10B和服务器10C执行用来关于第4事务数据的正当性达成共识的共识算法(S320)。服务器10A、服务器10B和服务器10C执行共识算法,如果验证了接收到的第4事务数据是正当的事务数据(即正当性),则分别生成包含第4事务数据的区块。并且,服务器10A、10B、10C将包含第2事务数据的区块记录到分布式账本中。

这样,终端40制作的第2智能合约Yn和由终端41发送的用户B的达成共识确认结果被记录到分布式账本中。

(变形例2)

在变形例2中,对以下情况进行说明:作为制作第2智能合约的条件,除了通过另行协商签订了第2合同的情况以外,还包括获得对制作了第2智能合约的终端40进行操作的用户的共识及对终端41进行操作的用户的共识。

图12A及图12B是用来说明本实施方式的变形例2的到第2智能合约Yn运行为止的处理的顺序图。以下,也将第1智能合约表述为第1智能合约Xver1,将第2智能合约表述为第2智能合约Yn。另外,本变形例中的第2智能合约Yn的内容如使用图8说明的那样。

图12A所示的顺序图与图11A所示的顺序图相比,在确认是否也可以制作第2智能合约Yn的主体从服务器10A变更为终端40这一点、以及除了终端41以外对于终端40也进行达成共识确认这一点上不同。此外,图12B所示的顺序图与图11B所示的顺序图相比,还在将表示用户A的达成共识确认结果的事务数据也记录到分布式账本中这一点上不同。

在图12A中,首先,终端40在步骤S400中,判定是否也可以制作与能够通过另行协商签订的第2合同对应的第2智能合约(S400)。在本变形例中,假设终端40接下来制作的第2智能合约Yn是第n个制作的第2智能合约,n为规定值以下。因此,终端40在步骤S400中,判定为也可以制作第2智能合约Yn(S400中为制作OK)。

接着,终端40如果通过用户A的操作而被输入了存在第1合同中规定的另行协商(S401中是),则终端40通过用户A的操作,制作与第2合同对应的第2智能合约Yn(S402)。另外,步骤S400只要在步骤S402之前进行,则也可以在步骤S401之后进行。

接着,终端40生成第2事务数据(S403),并发送给服务器10A(S404)。另外,步骤S402~S406由于与在图11A中说明的步骤S304~S308是同样的,所以省略说明。

在步骤S405中,服务器10A在第2事务数据的验证成功的情况下(S405中是),参照自身的分布式账本,确定制作第2智能合约Yn的条件(S407)。更具体地讲,服务器10A参照记录在自身的分布式账本中的第1智能合约Xver1,确定第1智能合约Xver1中包含的制作第2智能合约Yn的条件。在本变形例中,该条件中,除了通过另行协商签订第2合同的情况以外,还包括:获得对制作了第2智能合约Yn的终端40进行操作的用户的共识以及对该终端40以外的终端41进行操作的用户的共识。

接着,服务器10A按照在步骤S407中确定的条件,向终端40及终端41发送关于所制作的第2智能合约Yn的达成共识确认委托(S408)。

接着,终端40通过作为通过另行协商签订的第2合同的当事人的用户A的操作,被输入关于所制作的第2智能合约Yn的达成共识结果。终端40在由用户A输入了表示达成共识的达成共识结果的情况下(S409中是),生成包括该达成共识结果以及与用户A建立关联的电子签名的第5事务数据(S410)。另外,终端40在由用户A输入了表示没有达成共识的达成共识结果的情况下(S409中否),回到最初即步骤S400。

接着,终端40将在步骤S410中生成的第5事务数据例如发送给服务器10A(S411)。另外,终端40也可以将在步骤S410中生成的第5事务数据发送给服务器10B或服务器10C。在此情况下,以下说明的服务器10A的动作即为服务器10B或服务器10C的动作。

此外,终端41通过作为通过另行协商签订的第2合同的当事人的用户B的操作,被输入关于所制作的第2智能合约Yn的达成共识结果。终端41在由用户B输入了表示达成共识的达成共识结果的情况下(S412中是),生成包含该达成共识结果以及与用户B建立关联的电子签名的第6事务数据(S413)。另外,终端41在由用户B输入了表示没有达成共识的达成共识结果的情况下(S413中否),回到最初即步骤S400。

接着,终端41将在步骤S413中生成的第6事务数据例如发送给服务器10A(S414)。另外,终端41也可以将在步骤S413中生成的第6事务数据发送给服务器10B或服务器10C。在此情况下,以下说明的服务器10A的动作即为服务器10B或服务器10C的动作。另外,步骤S409和S412哪个先被处理都可以。

接着,服务器10A参照从终端40及终端41接收到的第5及第6事务数据中包含的用户A及用户B的达成共识结果,确认是否满足条件,即用户A及用户B是否达成了共识(S415)。

在步骤S415中,服务器10A在确认到用户A及用户B达成共识而满足条件的情况下(S415中是),进行从终端40、41接收到的第5、第6事务数据的验证(S416)。更具体地讲,服务器10A进行从终端40、41接收到的第5、第6事务数据中包含的电子签名的验证和第5、第6事务数据的正当性的验证。另外,步骤S416也可以跳过。

另一方面,在步骤S415中,服务器10A在确认到用户A或用户B没有达成共识而不满足条件的情况下(S415中否),回到最初即步骤S400。在此情况下,服务器10A不将第2事务数据、第5事务数据及第6事务数据记录到分布式账本中,所以结束本处理或再次生成第2智能合约Yn

在步骤S416中,服务器10A在第5或第6事务数据的验证不成功的情况下(S416中否),向终端40、终端41进行错误通知(S417),结束本处理。

另一方面,在步骤S416中,服务器10A在第5及第6事务数据的验证成功的情况下(S416中是),向多个其他服务器10B、10C转送第2、第5及第6事务数据(S418)。

接着,服务器10A、服务器10B和服务器10C执行共识算法(S419)。这里,步骤S419的共识算法执行:用来关于第2事务数据的正当性达成共识的共识算法、以及用来关于第5及第6事务数据的正当性达成共识的共识算法。它们既可以作为独立的共识算法执行,也可以作为一个共识算法执行。

这样,终端40制作的第2智能合约Yn和由终端40及终端41发送的用户A及用户B的达成共识结果被记录到分布式账本中。

并且,第2智能合约Yn通过被记录到分布式账本中,成为能够执行即运行(S420)。

(变形例3)

在变形例3中,对以下情况进行说明:作为制作第2智能合约的条件,除了通过另行协商签订了第2合同的情况以外,还包括仅获得对制作了第2智能合约的终端40以外的终端41进行操作的用户的共识。

图13A及图13B是用来说明本实施方式的变形例3的到第2智能合约Yn运行为止的处理的顺序图。以下,也将第1智能合约表述为第1智能合约Xver1,将第2智能合约表述为第2智能合约Yn。另外,本变形例中的第2智能合约Yn的内容如使用图8说明的那样。

图13A及图13B所示的顺序图与图11A及图11B所示的顺序图相比,在对终端41进行达成共识确认委托并仅在对终端41进行操作的用户B达成了共识的情况下推进其后的处理这一点上不同。

图13A所示的步骤S501~S507由于是与图11A所示的步骤S301~S307同样的处理,所以省略说明。

在步骤S507中,服务器10A在第2事务数据的验证成功的情况下(S507中是),参照自身的分布式账本,确定制作第2智能合约Yn的条件(S509)。更具体地讲,服务器10A参照记录在自身的分布式账本中的第1智能合约Xver1,确定第1智能合约Xver1中包含的制作第2智能合约Yn的条件。在本变形例中,该条件中,除了通过另行协商签订了第2合同的情况以外,还包括获得对制作了第2智能合约的终端40以外的终端41进行操作的用户的共识。

接着,服务器10A按照在步骤S509中确定的条件,向终端41发送关于所制作的第2智能合约Yn的达成共识确认委托(S510)。

接着,假设通过用户B的操作向终端41输入了关于所制作的第2智能合约Yn的达成共识结果。在此情况下,终端41确认由用户B输入了表示达成共识的达成共识结果(S511中是),生成包含该达成共识结果以及与用户B建立关联的电子签名的第7事务数据(S512)。

接着,终端41将在步骤S512中生成的第7事务数据例如发送给服务器10A(S513)。另外,终端41也可以将在步骤S512中生成的第7事务数据发送给服务器10B或服务器10C。在此情况下,以下说明的服务器10A的动作即为服务器10B或服务器10C的动作。

接着,服务器10A如果从终端41接收到第7事务数据(S514中是),则进行从终端41接收到的第7事务数据的验证(S515)。更具体地讲,服务器10A如果从终端41接收到第7事务数据,则进行接收到的第7事务数据中包含的电子签名的验证和第7事务数据的正当性的验证。另外,步骤S515也可以跳过。

在步骤S515中,服务器10A在第7事务数据的验证不成功的情况下(S515中否),向终端41进行错误通知(S516),结束本处理。

另一方面,在步骤S515中,服务器10A在第7事务数据的验证成功的情况下(S515中是),将第2事务数据转送给多个其他服务器10B、10C(S517)。另外,在步骤S515被跳过的情况下,服务器10A只要将从终端40接收到的第2事务数据和从终端41接收到的第7事务数据转送给多个其他服务器10B、10C即可。于是,在服务器10B、10C中,分别独立地进行被转送来而接收到的第4事务数据的验证和第7事务数据的验证。

接着,服务器10A、服务器10B和服务器10C执行用来关于第2事务数据的正当性达成共识的共识算法(S518)。使第2智能合约Yn通过被记录到分布式账本中而运行(S519)。另外,步骤S518及519的处理由于是与图11A所示的步骤S315及S316同样的处理,所以省略说明。

此外,服务器10A在第7事务数据的验证成功的情况下(S515中是),将第7事务数据转送给多个其他服务器10B、10C(S520)。

接着,服务器10A、服务器10B和服务器10C执行用来关于第7事务数据的正当性达成共识的共识算法(S521)。另外,步骤S521的处理由于与图11A所示的步骤S318是同样的,所以省略具体的说明。

这样,终端40制作的第2智能合约Yn和包含由终端41发送的用户B的达成共识结果的第7事务数据被记录到分布式账本中。

(变形例4)

在上述的实施方式中,设为第3智能合约由服务器10A制作而进行了说明,但并不限于此。也可以是由用户A操作的终端40制作。

在变形例4中,对终端40通过用户A的操作来制作第3智能合约的情况进行说明。以下,将第2智能合约表述为第2智能合约Yn,将第3智能合约表述为第3智能合约Xver2

图14是用来说明本实施方式的变形例4的到第3智能合约Xver2运行为止的处理的顺序图。

图14所示的顺序图与图9所示的顺序图相比,制作第3智能合约Xver2的主体变更为终端40这一点不同。

即,首先,终端40通过用户A的操作来制作与第1合同对应的第3智能合约Xver2(S601)。这里,用户A是第1合同的当事人,并且是通过第1合同中规定的另行协商签订的第2合同的当事人。因此,用户A能够容易地取得自己制作的第2事务数据Yn中包含的第1合约地址。此外,用户A能够容易地从第1智能合约Xver1取得第1合同的内容、为了确定第2智能合约Yn而使用的临时决定的变量、以及制作第2智能合约Yn的条件。即,如果用户A确认了制作第2智能合约Yn并记录到分布式账本中,则通过用户A的操作,能够容易地使终端40制作第3智能合约Xver2。另外,在第3智能合约Xver2中,如使用图10说明那样,被输入了第1合同的内容、作为另订合同的跳转目的地的第2智能合约Yn、以及制作第2智能合约Yn的条件。

接着,终端40生成包含步骤S601中制作的第3智能合约Xver2、以及与作为第1用户的用户A建立关联的第1电子签名的第3事务数据(S602)。

接着,终端40将在步骤S602中生成的第3事务数据例如发送给服务器10A(S603)。另外,终端40也可以将在步骤S602中生成的第3事务数据发送给服务器10B或服务器10C。在此情况下,以下说明的服务器10A的动作即为服务器10B或服务器10C的动作。

接着,服务器10A进行从终端40接收到的第3事务数据的验证(S604)。更具体地讲,服务器10A进行从终端40接收到的第3事务数据中包含的第1电子签名的验证和第3事务数据的正当性的验证。另外,步骤S604也可以跳过。

在步骤S604中,服务器10A在第3事务数据的验证不成功的情况下(S604中否),向终端40进行错误通知(S605),结束本处理。

另一方面,在步骤S604中,服务器10A在第3事务数据的验证成功的情况下(S604中是),将第1事务数据转送给多个其他服务器10B、10C(S606)。

另外,步骤S606以后的处理即步骤S606~S608的处理由于与图9所示的步骤S307~S309的处理是同样的,所以省略说明。

这样,也可以由终端40制作与第1合同对应的第3智能合约Xver2

[其他实施方式等]

如以上这样,基于上述的实施方式对本公开进行了说明,但本公开当然并不限定于上述的实施方式。以下这样的情况也包含在本公开中。

(1)例如,在本公开中,也包括在上述实施方式的控制系统1中在作为区块链记录的区块中使用的数据结构。更具体地讲,本公开的数据结构,是在具备由用户进行操作的终端、以及分别对分布式账本进行管理并利用上述分布式账本对智能合约进行管理的多个服务器的系统中,在上述分布式账本所记录的区块中使用的数据结构,上述数据结构包含从由第1合同的签订者之一的第1用户进行了操作的第1终端接收而得到的第1事务数据,该第1事务数据包含与第1合同对应且利用上述分布式账本将上述第1合同的合同行动可执行地程序化而得到的第1智能合约、以及与上述第1用户建立关联的第1电子签名,上述第1智能合约中包含上述第1合同的内容、为了确定与预计新签订的第2合同对应的第2智能合约而使用的临时决定的变量、以及制作上述第2智能合约的条件,上述第2合同是以上述第1合同为主合同的副合同。

(2)另外,在上述实施方式中,举出了当将与通过另行协商签订的第2合同对应的第2智能合约记录到分布式账本时,确认关于第2智能合约是否获得了共识的情况的例子,但本公开并不限定于该例。也可以是服务器10A或终端40在制作第3智能合约时确认是否获得了关于第2智能合约的共识,也可以在第3智能合约运行时确认是否获得了关于第2智能合约的共识。

(3)此外,在本公开中,在用来将包含第1~第3智能合约的事务数据记录到分布式账本中的共识形成中,也可以使用多签(multisig)。这里,多签是多重签名(multisignature)的简称,是在事务数据的签名中需要多个秘密密钥的技术。

(4)此外,在上述实施方式中,设为与通过另行协商签订的第2合同对应的第2智能合约与一个作为主合同的第1合同建立关联而进行了说明,但并不限于此。在本公开中,第2智能合约也可以与多个第1合同建立关联。

(5)上述实施方式的各装置具体而言是由微处理器、ROM、RAM、SSD、硬盘单元、显示器单元、键盘、鼠标等构成的计算机系统。在上述RAM或硬盘单元中记录有计算机程序。通过由上述微处理器按照上述计算机程序动作,各装置达成其功能。这里,计算机程序是为了达成规定的功能而将多个表示对于计算机的指令的命令代码组合而构成的。

(6)构成上述实施方式的各装置的构成要素的一部分或全部也可以由1个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是将多个构成部集成到1个芯片上而制造出的超多功能LSI,具体而言,是包括微处理器、ROM、RAM等而构成的计算机系统。在上述RAM中记录有计算机程序。通过由上述微处理器按照上述计算机程序动作,系统LSI达成其功能。

此外,构成上述各装置的构成要素的各部既可以单独地被单芯片化,也可以以包含一部分或者全部的方式被单芯片化。

此外,这里设为系统LSI,但根据集成度的差异,有时也称为IC、LSI、超级LSI、特级LSI。另外,集成电路化的方法不限于LSI,也可以由专用电路或者通用处理器实现。也可以利用在LSI制造后能够编程的FPGA(Field Programmable Gate Array:现场可编程逻辑门阵列)或能够重构LSI内部的电路单元的连接或设定的可重构处理器。

进而,如果因半导体技术的进步或派生的其他技术而出现替代LSI的集成电路化的技术,则当然也可以使用该技术进行功能块的集成化。有可能是生物技术的应用等。

(7)构成上述各装置的构成要素的一部分或全部也可以由相对于各装置可拆装的IC卡或单体的模块构成。上述IC卡或上述模块是由微处理器、ROM、RAM等构成的计算机系统。上述IC卡或上述模块也可以包括上述的超多功能LSI。通过由微处理器按照计算机程序动作,上述IC卡或上述模块达成其功能。该IC卡或该模块也可以具有耐篡改性。

(8)本公开也可以是上述所示的方法。此外,也可以是通过计算机实现这些方法的计算机程序,也可以是由上述计算机程序构成的数字信号。

此外,本公开也可以将上述计算机程序或上述数字信号记录到能够由计算机读取的记录介质,例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(注册商标)Disc)、半导体存储器等中。此外,也可以是记录在这些记录介质中的上述数字信号。

此外,本公开也可以将上述计算机程序或上述数字信号经由电气通信线路、无线或有线通信线路、以因特网为代表的网络、数据广播等传送。

此外,本公开也可以是具备微处理器和存储器的计算机系统,上述存储器记录有上述计算机程序,上述微处理器按照上述计算机程序动作。

此外,也可以通过将上述程序或上述数字信号记录到上述记录介质中并移送,或通过将上述程序或上述数字信号经由上述网络等移送,来由独立的其他的计算机系统实施。

(9)也可以将上述实施方式及上述变形例分别组合。

工业实用性

本公开能够利用于控制方法、服务器及数据结构,例如能够利用于将与将来有可能发生另行协商的合同对应的智能合约记录到分布式账本中而使用的控制方法、服务器及数据结构等。

标号说明

1 控制系统

10A、10B、10C 服务器

11 处理部

12 账本管理部

13 控制部

15 保存部

16 账本存储部

17 工作存储器

40、41 终端

B1、B2、B3 区块

N 网络。

40页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用因领域而异的建模来进行反馈挖掘

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!