CN113785316A - 控制方法、服务器及数据结构 - Google Patents
控制方法、服务器及数据结构 Download PDFInfo
- Publication number
- CN113785316A CN113785316A CN202080027819.0A CN202080027819A CN113785316A CN 113785316 A CN113785316 A CN 113785316A CN 202080027819 A CN202080027819 A CN 202080027819A CN 113785316 A CN113785316 A CN 113785316A
- Authority
- CN
- China
- Prior art keywords
- contract
- transaction data
- server
- smart
- distributed ledger
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012545 processing Methods 0.000 claims description 35
- 238000003860 storage Methods 0.000 claims description 26
- 230000009471 action Effects 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 50
- 238000012795 verification Methods 0.000 description 34
- 238000012986 modification Methods 0.000 description 28
- 230000004048 modification Effects 0.000 description 25
- 230000008569 process Effects 0.000 description 19
- 238000012546 transfer Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 14
- 238000012790 confirmation Methods 0.000 description 10
- 239000000470 constituent Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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
- G06Q10/00—Administration; Management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开的控制方法从由第1合同的签订者之一的第1用户进行了操作的终端(40),接收包含与第1合同对应的第1智能合约以及与第1用户建立关联的第1电子签名的第1事务数据(S103);与其他多个服务器一起执行共识算法(S107);将包含第1事务数据的区块记录到分布式账本中。第1智能合约中包含第1合同的内容、为了确定与预计新签订的第2合同对应的第2智能合约而使用的临时决定的变量、以及制作第2智能合约的条件,上述第2合同是以第1合同为主合同的副合同。
Description
技术领域
本公开涉及控制方法、服务器及数据结构。
背景技术
作为在区块链上将合同进行程序化的机制,已知有智能合约技术。智能合约包含于区块链等的区块中,该区块被记录到分布式账本中,从而能够执行智能合约。因此,通过使用智能合约,只要满足规定的条件,则能够使合同的条件确认或履行为止的合同行动,不篡改合同地自动执行。
例如在专利文献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 网络。
Claims (11)
1.一种控制方法,是在具备由用户进行操作的终端、以及分别对分布式账本进行管理并利用上述分布式账本对智能合约进行管理的多个服务器的系统中由上述多个服务器之中的第1服务器执行的控制方法,其中,
从由第1合同的签订者之一的第1用户进行了操作的第1终端接收第1事务数据,该第1事务数据包含与上述第1合同对应且利用上述分布式账本将上述第1合同的合同行动可执行地程序化而得到的第1智能合约、以及与上述第1用户建立关联的第1电子签名,
将包含上述第1事务数据的区块记录到上述分布式账本中,
上述第1智能合约中包含上述第1合同的内容、为了确定与预计新签订的第2合同对应的第2智能合约而使用的临时决定的变量、以及制作上述第2智能合约的条件,上述第2合同是以上述第1合同为主合同的副合同。
2.如权利要求1所述的控制方法,其中,
在将包含上述第1事务数据的区块记录到上述分布式账本中时,
与上述多个服务器之中的除了上述第1服务器以外的多个第2服务器一起执行用于关于上述第1事务数据的正当性达成共识的第1共识算法,
在通过上述第1共识算法关于上述第1事务数据的正当性达成了共识的情况下,将包含上述第1事务数据的区块记录到上述分布式账本中。
3.如权利要求1或2所述的控制方法,其中,
在上述控制方法中,
从上述第1终端接收第2事务数据,该第2事务数据包含与上述第2合同对应且利用上述分布式账本将上述第2合同的合同行动可执行地程序化而得到的上述第2智能合约、以及与上述第1用户建立关联的第2电子签名,
将包含上述第2事务数据的区块记录到上述分布式账本中,
上述第2智能合约中至少包含上述第2合同的内容、以及作为表示上述第2智能合约的关联目的地的信息的上述第1智能合约的第1合约地址。
4.如权利要求3所述的控制方法,其中,
在将包含上述第2事务数据的区块记录到上述分布式账本中时,
与上述多个服务器之中的除了上述第1服务器以外的多个第2服务器一起执行用于关于上述第2事务数据的正当性达成共识的第2共识算法,
在通过上述第2共识算法关于上述第2事务数据的正当性达成了共识的情况下,将包含上述第2事务数据的区块记录到上述分布式账本中。
5.如权利要求4所述的控制方法,其中,
在上述控制方法中,进一步,
在接收到上述第2事务数据的情况下,参照上述第1合约地址,确定上述第1智能合约中包含的上述条件,
在接收到第2事务数据的情况下,进一步在满足上述条件时执行上述第2共识算法。
6.如权利要求3~5中任一项所述的控制方法,其中,
在上述第2智能合约中,除了上述第2合同的内容和上述第1合约地址以外,还包含上述变量。
7.如权利要求3~6中任一项所述的控制方法,其中,
在上述控制方法中,进一步,
在包含上述第2事务数据的区块被记录在上述分布式账本中的情况下,参照上述第2事务数据中包含的上述第1合约地址,确定上述第1智能合约,
从所确定的上述第1智能合约取得上述第1合同的内容、上述变量以及上述条件,制作第3智能合约,该第3智能合约包含上述第1合同的内容、上述条件、以及作为上述变量的替代的上述第2事务数据的第2合约地址,并且与上述第1合同对应,
生成包含所制作的上述第3智能合约以及与上述第1服务器建立关联的第3电子签名的第3事务数据,
将包含上述第3事务数据的区块记录到上述分布式账本中。
8.如权利要求7所述的控制方法,其中,
在将包含上述第3事务数据的区块记录到上述分布式账本中时,
与上述多个服务器之中的除了上述第1服务器以外的多个第2服务器一起执行用于关于上述第3事务数据的正当性达成共识的第3共识算法,
在通过上述第3共识算法关于上述第3事务数据的正当性达成了共识的情况下,将包含上述第3事务数据的区块记录到上述分布式账本中。
9.如权利要求7或8所述的控制方法,其中,
在上述控制方法中,进一步,使上述第1服务器的工作存储器保持表示与上述第1合同对应的最新的智能合约是上述第3智能合约之意的信息。
10.一种服务器,是具备由用户进行操作的终端、以及分别对分布式账本进行管理并利用上述分布式账本对智能合约进行管理的多个服务器的系统中的上述多个服务器之中的一个服务器,其中,具备:
处理器;
存储器,存储有使上述处理器执行处理的程序;以及
存储装置,存储有保存了智能合约的上述分布式账本,
上述处理器从由第1合同的签订者之一的第1用户进行了操作的第1终端接收第1事务数据,该第1事务数据包含与上述第1合同对应且利用上述分布式账本将上述第1合同的合同行动可执行地程序化而得到的第1智能合约、以及与上述第1用户建立关联的第1电子签名,
上述处理器将包含上述第1事务数据的区块记录到上述分布式账本中,
上述第1智能合约中包含上述第1合同的内容、为了确定与预计新签订的第2合同对应的第2智能合约而使用的临时决定的变量、以及制作上述第2智能合约的条件,上述第2合同是以上述第1合同为主合同的副合同。
11.一种数据结构,是在具备由用户进行操作的终端、以及分别对分布式账本进行管理并利用上述分布式账本对智能合约进行管理的多个服务器的系统中,在上述分布式账本所记录的区块中使用的数据结构,其中,
上述数据结构包含从由第1合同的签订者之一的第1用户进行了操作的第1终端接收而得到的第1事务数据,该第1事务数据包含与第1合同对应且利用上述分布式账本将上述第1合同的合同行动可执行地程序化而得到的第1智能合约、以及与上述第1用户建立关联的第1电子签名,
上述第1智能合约中包含上述第1合同的内容、为了确定与预计新签订的第2合同对应的第2智能合约而使用的临时决定的变量、以及制作上述第2智能合约的条件,上述第2合同是以上述第1合同为主合同的副合同。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962834728P | 2019-04-16 | 2019-04-16 | |
US62/834,728 | 2019-04-16 | ||
PCT/JP2020/016705 WO2020213678A1 (ja) | 2019-04-16 | 2020-04-16 | 制御方法、サーバ、及び、データ構造 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113785316A true CN113785316A (zh) | 2021-12-10 |
CN113785316B CN113785316B (zh) | 2024-08-02 |
Family
ID=72837261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080027819.0A Active CN113785316B (zh) | 2019-04-16 | 2020-04-16 | 控制方法以及服务器 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11809413B2 (zh) |
JP (1) | JP7524165B2 (zh) |
CN (1) | CN113785316B (zh) |
WO (1) | WO2020213678A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116724324A (zh) * | 2021-01-28 | 2023-09-08 | 松下电器(美国)知识产权公司 | 控制方法、服务器和程序 |
JPWO2022224907A1 (zh) * | 2021-04-22 | 2022-10-27 | ||
JP7366981B2 (ja) | 2021-11-17 | 2023-10-23 | 本田技研工業株式会社 | 契約管理システムおよび契約管理方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109155035A (zh) * | 2016-02-23 | 2019-01-04 | 区块链控股有限公司 | 用于使用区块链在点对点分布式账簿上有效转移实体的方法及系统 |
JP6500158B1 (ja) * | 2018-11-28 | 2019-04-10 | 太郎 西村 | プログラム及び生成装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58121392A (ja) * | 1982-01-13 | 1983-07-19 | 大成建設株式会社 | 材質の異なる長管の接続方法 |
SG10202011641RA (en) * | 2016-02-23 | 2021-01-28 | Nchain Holdings Ltd | Tokenisation method and system for implementing exchanges on a blockchain |
US11250439B2 (en) * | 2016-09-19 | 2022-02-15 | Thomson Reuters Enterprise Centre Gmbh | Systems and methods for smart contract intervention |
JP6900266B2 (ja) | 2017-07-26 | 2021-07-07 | 株式会社日立製作所 | 運用管理方法、運用管理システム、および、運用管理プログラム |
US10476847B1 (en) * | 2017-12-08 | 2019-11-12 | Symbiont.Io, Inc. | Systems, methods, and devices for implementing a smart contract on a distributed ledger technology platform |
EP3557496A1 (en) * | 2018-04-18 | 2019-10-23 | Chain IP Holdings, Inc. | Multiple layer smart-contract |
US10095888B1 (en) * | 2018-06-04 | 2018-10-09 | Capital One Services, Llc | Secure decentralized system utilizing smart contracts, a blockchain, and/or a distributed file system |
US10839107B2 (en) * | 2019-05-30 | 2020-11-17 | Advanced New Technologies Co., Ltd. | Managing a smart contract on a blockchain |
-
2020
- 2020-04-16 CN CN202080027819.0A patent/CN113785316B/zh active Active
- 2020-04-16 JP JP2021514213A patent/JP7524165B2/ja active Active
- 2020-04-16 WO PCT/JP2020/016705 patent/WO2020213678A1/ja active Application Filing
-
2021
- 2021-10-08 US US17/497,302 patent/US11809413B2/en active Active
-
2023
- 2023-10-05 US US18/377,085 patent/US12056115B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109155035A (zh) * | 2016-02-23 | 2019-01-04 | 区块链控股有限公司 | 用于使用区块链在点对点分布式账簿上有效转移实体的方法及系统 |
JP6500158B1 (ja) * | 2018-11-28 | 2019-04-10 | 太郎 西村 | プログラム及び生成装置 |
Also Published As
Publication number | Publication date |
---|---|
US20240037093A1 (en) | 2024-02-01 |
US12056115B2 (en) | 2024-08-06 |
JPWO2020213678A1 (zh) | 2020-10-22 |
JP7524165B2 (ja) | 2024-07-29 |
US20220027357A1 (en) | 2022-01-27 |
US11809413B2 (en) | 2023-11-07 |
CN113785316B (zh) | 2024-08-02 |
WO2020213678A1 (ja) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113785316B (zh) | 控制方法以及服务器 | |
CN110442652B (zh) | 一种基于区块链的跨链数据处理方法及装置 | |
CN108573737B (zh) | 一种电子病历的存储方法、装置、设备和存储介质 | |
TWI270017B (en) | Data management apparatus, data management method and computer program | |
WO2009157133A1 (ja) | 情報処理装置、情報処理方法、これらを実現するコンピュータプログラム及び集積回路 | |
EP4050542B1 (en) | Blockchain-based data processing method and apparatus, and device and readable storage medium | |
JP2017505048A (ja) | 電子署名方法、システムおよび装置 | |
CN113474804A (zh) | 数字货币的交易和账户验证方法,装置及存储介质 | |
CN110598375A (zh) | 一种数据处理方法、装置及存储介质 | |
CN111818087B (zh) | 区块链的节点接入方法、装置、设备及可读存储介质 | |
US20220300957A1 (en) | Control method, device, and recording medium | |
CN108197937B (zh) | 一种数字货币钱包的同步方法、终端和系统 | |
CN104503849A (zh) | 系统数据的设置方法、系统数据的设置装置和终端 | |
JP6901373B2 (ja) | ユーザ管理装置、ユーザ管理システム | |
CN111859041A (zh) | 数据报送方法及装置 | |
CN114127773A (zh) | 控制方法、服务器及程序 | |
CN114245976B (zh) | 初始设置机器数据通信网络的方法和替换硬件部件的方法 | |
CN113259128B (zh) | 基于区块链的通证提取方法、装置、电子设备及存储介质 | |
CN111611587A (zh) | 安全数据处理设备 | |
JP7468682B2 (ja) | 識別子変更管理装置、識別子変更管理方法及び識別子変更管理プログラム | |
WO2022163457A1 (ja) | 制御方法、サーバ、及びプログラム | |
JP7467435B2 (ja) | 情報取引方法、情報利用者端末、及び、プログラム | |
JP6515850B2 (ja) | 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム | |
WO2022074772A1 (ja) | 識別子変更管理装置、識別子変更管理方法及び識別子変更管理プログラム | |
US20220301086A1 (en) | Control method, device, and recording medium |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |