CN114746886A - 控制方法、装置、以及程序 - Google Patents
控制方法、装置、以及程序 Download PDFInfo
- Publication number
- CN114746886A CN114746886A CN202080082894.7A CN202080082894A CN114746886A CN 114746886 A CN114746886 A CN 114746886A CN 202080082894 A CN202080082894 A CN 202080082894A CN 114746886 A CN114746886 A CN 114746886A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- transaction data
- contract
- parent
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000006870 function Effects 0.000 claims description 148
- 238000007726 management method Methods 0.000 description 128
- 238000012545 processing Methods 0.000 description 56
- 238000010586 diagram Methods 0.000 description 33
- 238000004891 communication Methods 0.000 description 23
- 238000004590 computer program Methods 0.000 description 14
- 238000013524 data verification Methods 0.000 description 13
- 239000000470 constituent Substances 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000012795 verification Methods 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
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
在具备保有分散账本的多个装置的管理系统中,多个装置之中的一个装置所执行的控制方法,分散账本储存有父智能合约和管理功能,该父智能合约包含自动生成新的智能合约的自动生成功能,该管理功能选择在多个装置中被生成的多个子智能合约之中的一个子智能合约并进行管理,生成第一子智能合约(S106),将包含所生成的第一子智能合约的第一交易数据发送给其他装置(S112),且储存于一个装置的分散账本(S115),接收包含在其他装置中被生成的第二子智能合约的第二交易数据(S113、S114),且储存于一个装置的分散账本(S115),通过执行管理功能从而将一个子智能合约与父智能合约相对应而管理。
Description
技术领域
本公开涉及控制方法、装置、以及程序。
背景技术
以往,存在在区块链上自动地执行从合同的条件确认到履行的智能合约技术。例如,在专利文献1中,公开了使用智能合约技术自动地使贸易交易的过程执行的方法。
现有技术文献
专利文献
专利文献1:国际公开第2019/003414号
发明内容
发明要解决的课题
但是,在专利文献1中公开的方法中,有以下顾虑:在正在管理分散账本的管理系统的动作中产生不匹配,该管理系统没有正确地进行动作。
本公开是鉴于上述的情况而完成的,其目的在于,提供能够使正在管理分散账本的管理系统正确地进行动作的控制方法、装置、以及程序。
用于解决课题的手段
本公开的一方式所涉及的控制方法是在具备保有分散账本的多个装置的管理系统中,所述多个装置之中的一个装置所执行的控制方法,所述分散账本储存有父智能合约和管理功能,所述父智能合约包含自动生成新的智能合约的自动生成功能,所述管理功能选择通过在所述多个装置中所述自动生成功能被执行从而被生成的多个子智能合约之中的一个子智能合约并进行管理,在所述控制方法中,通过执行所述自动生成功能从而生成第一子智能合约,将包含所生成的所述第一子智能合约的第一交易数据发送给所述多个装置之中的其他装置,且将所述第一交易数据储存于所述一个装置的分散账本,接收包含第二子智能合约的第二交易数据,且将所述第二交易数据储存于所述一个装置的分散账本,第二子智能合约通过在所述其他装置中所述自动生成功能被执行从而被生成,通过执行所述分散账本中储存的所述管理功能,从而将所述第一子智能合约以及所述第二子智能合约之中的一个子智能合约与所述父智能合约相对应而管理。
另外,这些包含性的或者具体的方式也可以由系统、方法、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质来实现,也可以由系统、方法、集成电路、计算机程序以及记录介质的任意的组合来实现。
发明效果
根据本公开所涉及的控制方法等,能够使正在管理分散账本的管理系统正确地进行动作。
附图说明
图1是表示实施方式所涉及的管理系统的结构的一例的图。
图2是表示实施方式所涉及的服务器的结构的一例的图。
图3是示意性地表示实施方式所涉及的第一交易数据的说明图。
图4是表示实施方式所涉及的管理系统的管理处理的一例的时序图。
图5是表示实施方式所涉及的管理系统的管理处理的一例的时序图。
图6是表示实施方式所涉及的通过管理功能执行的设定处理的第一例的图。
图7是表示实施方式所涉及的管理功能的第一例的图。
图8是表示实施方式所涉及的通过管理功能执行的设定处理的第二例的图。
图9是表示实施方式所涉及的管理功能的第二例的图。
图10是表示实施方式所涉及的通过管理功能执行的设定处理的第三例的图。
图11是表示实施方式所涉及的管理功能的第三例的图。
图12是表示实施方式所涉及的通过管理功能执行的设定处理的第四例的图。
图13是表示实施方式所涉及的管理功能的第四例的图。
图14是表示实施方式所涉及的通过管理功能执行的设定处理的第五例的图。
图15是表示实施方式所涉及的管理功能的第五例的图。
图16是表示实施方式所涉及的通过管理功能执行的设定处理的第六例的图。
图17是表示实施方式所涉及的管理功能的第六例的图。
具体实施方式
(成为本公开的基础的知识和见识)
使用专利文献1中公开的智能合约技术,例如在执行某交易的合同的智能合约中,考虑自动生成用于执行与该交易进行关联的新的合同的智能合约这样的迫切希望。
但是,在现有技术中通过智能合约自动生成新的智能合约的情况下,设想以下的课题。
智能合约(程序)被储存于构成管理系统的多个装置的各个所保有的分散账本。在管理系统使用在多个装置的各个分散账本储存的智能合约,自动生成新的智能合约的情况下,在多个装置的各个中自动生成新的智能合约。因此,相同的内容的智能合约被自动生成构成管理系统的多个装置的数量相应量。进而,若被自动生成的全部智能合约通过多个装置的各个所保有的分散账本被共享,则结果上各装置重复保持相同的内容的有效的智能合约。因此,在各装置中,有以下顾虑:相同的内容的多个智能合约被同时执行,在管理系统的动作中产生不匹配,管理系统没有正确地进行动作。
本发明的发明人们为了解决上述的课题,发现了以下的控制方法、装置、以及程序。
本公开的一方式所涉及的控制方法是在具备保有分散账本的多个装置的管理系统中,所述多个装置之中的一个装置所执行的控制方法,所述分散账本储存有父智能合约和管理功能,所述父智能合约包含自动生成新的智能合约的自动生成功能,所述管理功能选择通过在所述多个装置中所述自动生成功能被执行从而被生成的多个子智能合约之中的一个子智能合约并进行管理,在所述控制方法中,通过执行所述自动生成功能从而生成第一子智能合约,将包含所生成的所述第一子智能合约的第一交易数据发送给所述多个装置之中的其他装置,且将所述第一交易数据储存于所述一个装置的分散账本,接收包含第二子智能合约的第二交易数据,且将所述第二交易数据储存于所述一个装置的分散账本,所述第二子智能合约通过在所述其他装置中所述自动生成功能被执行从而被生成,通过执行所述分散账本中储存的所述管理功能,从而将所述第一子智能合约以及所述第二子智能合约之中的一个子智能合约与所述父智能合约相对应而管理。
据此,选择通过在多个装置的各个中执行父智能合约所包含的自动生成功能从而生成的多个子智能合约之中的一个子智能合约,将所选择的一个子智能合约与父智能合约相对应而管理。因此,能够抑制将从同一父智能合约自动生成的相互相同的多个子智能合约重复保持。由此,能够抑制在各装置中执行相同的内容的多个子智能合约,能够抑制在管理系统的动作中产生不匹配。因此,能够使正在管理分散账本的管理系统正确地进行动作。
此外,也可以是所述管理功能被包含于所述父智能合约、或者与所述父智能合约不同的管理智能合约,所述管理智能合约被储存于所述分散账本,所述第一交易数据包含用于对所述第一子智能合约执行所述管理功能的执行信息,所述第二交易数据包含用于对所述第二子智能合约执行所述管理功能的执行信息。
因此,在每次第一交易数据以及第二交易数据分别被储存于分散账本时,能够执行父智能合约或者管理智能合约。由此,在每次第一交易数据以及第二交易数据分别被储存于分散账本时,能够自动地执行管理功能。
此外,在所述管理中,也可以将在所述第一交易数据以及所述第二交易数据之中第n个(n为自然数)被储存于所述一个装置的所述分散账本的第n个交易数据中包含的第n个子智能合约作为所述一个子智能合约与所述父智能合约相对应而管理。
因此,能够将第n个交易数据中包含的第n个子智能合约作为一个子智能合约与父智能合约相对应而管理。
此外,所述n也可以是1。
因此,能够将最初被储存于分散账本的交易数据中包含的最初的子智能合约作为一个子智能合约与父智能合约相对应而管理。
此外,所述n也可以是随机地被决定的值。
因此,能够将以被随机地决定的顺序被储存于分散账本的交易数据中包含的子智能合约作为一个子智能合约与父智能合约相对应而管理。这样,被选择的子智能合约的顺序是随机的,能被变更,所以能够抑制与父智能合约相对应的子智能合约替换为被改变的子智能合约。
此外,在所述管理中,也可以将识别所述第n个子智能合约的标识符作为所述一个子智能合约的标识符来管理,从而将所述第n个子智能合约作为所述一个智能合约与所述父智能合约相对应而管理。
因此,能够容易地将父智能合约和一个子智能合约相对应。
此外,在所述管理中,也可以将以所述第n个以外的顺序被储存于所述一个装置的所述分散账本的交易数据中包含的子智能合约作为所述一个子智能合约来管理。
因此,能够仅将第n个子智能合约与父智能合约相对应。
此外,在所述管理中,也可以将以所述第n个以外的顺序被储存于所述一个装置的所述分散账本的交易数据中包含的子智能合约设为无效。
因此,能够仅将第n个子智能合约与父智能合约相对应。此外,能够抑制产生想要执行无效的子智能合约的处理,能够减少处理负荷。
此外,在所述管理中,也可以对以所述第n个以外的顺序被储存于所述一个装置的所述分散账本的交易数据中包含的子智能合约,执行用于丢弃智能合约的丢弃功能。
因此,能够仅将第n个子智能合约与父智能合约相对应。此外,能够抑制产生想要执行被丢弃的子智能合约的处理,能够减少处理负荷。
此外,本公开的一方式所涉及的装置是在具备保有分散账本的多个装置的管理系统中,所述多个装置之中的一个装置,所述装置具备处理器和存储器,所述分散账本储存有父智能合约和管理功能,所述父智能合约包含自动生成新的智能合约的自动生成功能,所述管理功能选择通过在所述多个装置中所述自动生成功能被执行从而被生成的多个子智能合约之中的一个子智能合约并进行管理,所述处理器使用所述存储器进行如下入理:通过执行所述自动生成功能从而生成第一子智能合约,将包含所生成的所述第一子智能合约的第一交易数据发送给所述多个装置之中的其他装置,且将所述第一交易数据储存于所述一个装置的分散账本,接收包含第二子智能合约的第二交易数据,且将所述第二交易数据储存于所述一个装置的分散账本,所述第二子智能合约通过在所述其他装置中所述自动生成功能被执行从而被生成,通过执行所述分散账本中储存的所述管理功能,从而将所述第一子智能合约以及所述第二子智能合约之中的一个子智能合约与所述父智能合约相对应而管理。
据此,选择通过在多个装置的各个中执行父智能合约所包含的自动生成功能从而生成的多个子智能合约之中的一个子智能合约,将所选择的一个子智能合约与父智能合约相对应而管理。因此,能够抑制将从同一父智能合约自动生成的相互相同的多个子智能合约重复保持。由此,能够抑制在各装置中执行相同的内容的多个子智能合约,能够抑制在管理系统的动作中产生不匹配。因此,能够使正在管理分散账本的管理系统正确地进行动作。
此外,本公开的一方式所涉及的程序是在具备保有分散账本的管理系统中,用于使计算机执行所述多个装置之中的一个装置所执行的控制方法的程序,所述分散账本储存有父智能合约和管理功能,所述父智能合约包含自动生成新的智能合约的自动生成功能,所述管理功能选择通过在所述多个装置中所述自动生成功能被执行从而被生成的多个子智能合约之中的一个子智能合约并进行管理,所述程序用于使计算机执行:通过执行所述自动生成功能从而生成第一子智能合约,将包含所生成的所述第一子智能合约的第一交易数据发送给所述多个装置之中的其他装置,且将所述第一交易数据储存于所述一个装置的分散账本,接收包含第二子智能合约的第二交易数据,且将所述第二交易数据储存于所述一个装置的分散账本,所述第二子智能合约通过在所述其他装置中所述自动生成功能被执行从而被生成,通过执行所述分散账本中储存的所述管理功能,从而将所述第一子智能合约以及所述第二子智能合约之中的一个子智能合约与所述父智能合约相对应而管理。
据此,选择通过在多个装置的各个中执行父智能合约所包含的自动生成功能从而生成的多个子智能合约之中的一个子智能合约,将所选择的一个子智能合约与父智能合约相对应而管理。因此,能够抑制将从同一父智能合约自动生成的相互相同的多个子智能合约重复保持。由此,能够抑制在各装置中执行相同的内容的多个子智能合约,能够抑制在管理系统的动作中产生不匹配。因此,能够使正在管理分散账本的管理系统正确地进行动作。
以下,参考附图,针对实施方式进行说明。另外,在以下说明的实施方式都表示本公开的一具体例。也就是说,以下的实施方式所示的数值、形状、材料、结构元素、结构元素的配置以及连接方式、步骤,步骤的顺序等是一例,并非限定本公开的主旨。此外,就以下的实施方式中的结构元素之中表示最上位概念的独立权利要求中未记载的结构元素而言,为了达成本公开的课题而不一定必要,但作为构成更优选的方式的结构元素来说明。
(实施方式)
首先,针对本公开所涉及的系统结构进行说明。
本公开所涉及的管理系统具备多个服务器,将通过在各服务器中执行父智能合约而自动生成的多个子智能合约储存于分散账本,管理多个子智能合约。在以下,参考附图,进行本实施方式所涉及的管理系统的结构等的说明。
[管理系统]
图1是表示实施方式所涉及的管理系统的结构的一例的图。
本实施方式所涉及的管理系统如图1所示,例如,具备服务器10a~10c。服务器10a~10c也可以全部通过网络被相互连接,也可以全部以可通信的方式被直接连接,也可以一部分通过网络被连接,另一部分以通信的方式被直接连接。网络例如是互联网、便携电话的载波网络等,但也可以由任意通信线路或者网络构成。服务器10a~10c是构成管理系统的多个装置的一例。另外,构成管理系统的多个装置不仅限于服务器10a~10c,也可以包含1个以上的终端,也可以仅包含多个终端。对储存区块链的分散账本进行管理的管理系统也可以是公共型、私有型以及联盟型中的任一方式。
另外,在以下,也将服务器10a~服务器10c的各个称为服务器10,但还有时将服务器10a~服务器10c称为服务器A~服务器C。
以下,针对服务器10进行说明。
[服务器10]
服务器10是保有分散账本的多个装置之中的一个装置的一例。服务器10是由从业者管理的服务器。从业者例如也可以是在与用户之间缔结合同的从业者。合同也可以是与对用户提供物品或者服务以换取规定的对价的事业相关的合同,或向用户支付规定的对价以换取基于该用户的劳动。此外,合同也可以是以赠与、买卖、交换、消费贷、使用贷、租赁贷、雇用、承包、寄存、组合、年金、以及和解等规定的合同。
在此说明的服务器10是服务器10a~10c之中的一个服务器10。将服务器10a~10c之中该一个服务器10以外的服务器称为其他服务器10。作为其他服务器10在本实施方式中为多个进行说明。因此,在以下,简称为其他服务器10的情况下,其他服务器10表示多个其他服务器10。另外,其他服务器10不限于此,也可以是一个。
图2是表示实施方式所涉及的服务器的结构的一例的图。
服务器10如图2所示,具备通信部101、交易数据生成部102、交易数据验证部103、状态存储部104、智能合约执行部105、记录部106、分散账本107。服务器10能通过处理器使用存储器执行规定的程序从而被实现。以下,针对各结构元素进行说明。
<通信部101>
通信部101向其他服务器10发送执行交易数据。执行交易数据是通过基于服务器10a~10c的共识算法被储存于分散账本,从而用于使各服务器10a~10c执行各服务器10a~10c的分散账本中储存的父智能合约的交易数据。在各服务器10a~10c中,通过执行父智能合约,从而生成子智能合约作为新的智能合约。另外,父智能合约是指,被执行从而生成新的智能合约的智能合约。子智能合约是指,父智能合约被执行从而被生成的新的智能合约。
通信部101向其他服务器10发送第一交易数据。第一交易数据包含第一子智能合约。第一子智能合约通过在服务器10中自动生成功能被执行从而被生成。此外,通信部101从其他服务器10接收第二交易数据。第二交易数据包含第二子智能合约。第二子智能合约通过在其他服务器10中自动生成功能被执行从而被生成。
另外,通信部101也可以在与其他服务器10之间,进行上述的交易以外的数据的交换。此外,通信部101也可以在与其他服务器10以外的装置(终端)之间,进行数据的交换。
这样,通信部101在与其他服务器10之间进行通信。另外,该通信也可以通过TLS(传输层安全(Transport Layer Security))而完成,TLS通信用的密码密钥也可以由通信部101保持。
<交易数据生成部102>
交易数据生成部102生成执行交易数据。在本实施方式中,执行交易数据包含用于使智能合约执行部105执行分散账本107中储存的父智能合约的执行信息。该执行信息包含识别父智能合约的标识符、和向父智能合约输入的值(自变量)。另外,识别父智能合约的标识符既可以使储存有父智能合约的分散账本107中的储存地点(地址),也可以是识别号,也可以是父智能合约的名称。
交易数据生成部102也可以将所生成的执行交易数据临时地储存于状态存储部104。交易数据生成部102也可以仅由服务器10a~10c之中的一个服务器10具备。交易数据生成部102经由通信部101,将所生成的执行交易数据发送给其他服务器10。
此外,交易数据生成部102也可以生成包含由后述的智能合约执行部105生成的子智能合约的第一交易数据。交易数据生成部102也可以将所生成的第一交易数据临时地储存于状态存储部104。交易数据生成部102经由通信部101,将所生成的第一交易数据发送给其他服务器10。
在此,针对第一交易数据进行说明。
图3是示意性地表示第一交易数据的说明图。第一交易数据包含第一子智能合约、作为自变量的父智能合约的标识符、生成了第一交易数据的服务器10的签名、第一交易数据的发送日期时间。在图3中,例示了由服务器A生成的第一交易数据,“初始化功能”表示在执行智能合约A时最初被执行的功能。初始化功能包含调用并执行管理智能合约中包含的管理功能的功能。初始化功能包含管理智能合约的标识符。管理智能合约的标识符也可以是管理智能合约的分散账本107中的储存地点(地址),也可以是识别号,也可以是管理智能合约的名称。“父ID”表示父智能合约的标识符。“智能合约A”表示通过服务器A执行父智能合约从而生成的子智能合约。“自身的标识符”表示通过服务器A执行父智能合约从而生成的子智能合约的标识符,具体而言,也可以是储存有子智能合约的分散账本107中的储存地点(地址),也可以是识别号,也可以是子智能合约的名称。
第一交易数据包含用于使智能合约执行部105执行管理智能合约的执行信息。该执行信息包含用于识别管理智能合约的标识符、向管理智能合约输入的值(自变量)。另外,识别管理智能合约的标识符也可以是储存有管理智能合约的分散账本107中的储存地点(地址),也可以是识别号,也可以是管理智能合约的名称。
另外,由其他服务器10生成的第二交易数据也与第一交易数据同样,所以省略说明。
<交易数据验证部103>
交易数据验证部103在通信部101接收到交易数据时,验证该交易数据的合法性。例如,交易数据验证部103对通信部101所接收到的交易数据,验证是否被赋予以正确的方法被生成的电子签名等。另外,该验证也可以被跳过。在此,通信部101所接收的交易数据是第二交易数据。
此外,交易数据验证部103在交易数据生成部102生成交易数据时,验证该交易数据的合法性。例如,交易数据验证部103对交易数据生成部102所生成的交易数据,验证是否被赋予以正确的方法被生成的电子签名等。另外,该验证也可以被跳过。在此,交易数据生成部102所生成的交易数据是执行交易数据或者第一交易数据。
此外,交易数据验证部103,执行用于针对交易数据的合法性而与其他服务器10达成合意的共识算法。
在此,对于共识算法,也可以使用PBFT(实用拜占庭容错算法(PracticalByzantine FaultTolerance)),也可以使用其他公知的共识算法。作为公知的共识算法,例如有PoW(工作量证明(ProofofWork))或者PoS(权益证明(ProofofStake))等。在对共识算法使用PBFT的情况下,交易数据验证部103从其他服务器10的各个收取表示交易数据的验证是否成功的报告,判定该报告的数量是否超过了规定的数量。并且,交易数据验证部103在该报告的数量超过了规定的数量时,判定为通过共识算法而验证了交易数据的合法性即可。
交易数据验证部103在确认了交易数据的合法性的情况下,使记录部106记录该交易数据。
在本实施方式中,交易数据验证部103验证执行交易数据、第一交易数据以及第二交易数据的合法性。
<状态存储部104>
状态存储部104是存储有分散账本107的最新版的数据的存储部。状态存储部104中存储的数据是能够由计算机变更、或删除的数据。状态存储部104也可以存储分散账本107中存储的之前的交易数据。状态存储部104也可以存储由执行交易数据调用的智能合约。此外,状态存储部104也可以存储分散账本107中储存的智能合约的变量。状态存储部104也可以存储由交易数据生成部102生成的交易数据。也就是说,状态存储部104也可以存储执行交易数据以及第一交易数据。状态存储部104也可以存储由通信部101接收到的交易数据。也就是说,状态存储部104也可以存储第二交易数据。
状态存储部104也可以临时地存储上述的各数据。
<智能合约执行部105>
智能合约执行部105基于执行交易数据中包含的第一执行信息,执行分散账本107中储存的父智能合约。智能合约执行部105基于第一执行信息中包含的父智能合约的标识符,调用分散账本107中储存的父智能合约,将所调用的父智能合约储存于状态存储部104。分散账本107中储存的父智能合约包含自动生成新的智能合约(子智能合约)的自动生成功能。智能合约执行部105通过执行状态存储部104中储存的父智能合约,从而执行自动生成功能。由此,智能合约执行部105新生成子智能合约。智能合约执行部105也可以将所生成的子智能合约临时地储存于状态存储部104。
此外,智能合约执行部105基于第一交易数据或者第二交易数据中包含的第二执行信息,执行分散账本107中储存的管理智能合约。智能合约执行部105基于第二执行信息中包含的管理智能合约的标识符,调用分散账本107中储存的管理智能合约,将所调用的管理智能合约储存于状态存储部104。另外,分散账本107中储存的管理智能合约包含用于将通过在多个服务器10中执行自动生成功能而生成的多个子智能合约之中的一个作为有效的子智能合约来管理的管理功能。智能合约执行部105通过执行状态存储部104中储存的管理智能合约,从而执行管理功能。由此,智能合约执行部105选择多个子智能合约之中的一个,将所选择的一个子智能合约与父智能合约相对应而管理。具体而言,智能合约执行部105将父智能合约的标识符、和所选择的一个子智能合约的标识符相对应而存储于状态存储部104。
另外,多个子智能合约包含在服务器10中基于父智能合约而自动生成的第一子智能合约、和在其他服务器10中基于父智能合约而自动生成的第二子智能合约。如上述那样,第二子智能合约被包含于通信部101从其他服务器10接收到的第二交易数据。
<记录部106>
记录部106通过将由交易数据验证部103进行了合法性的验证的交易数据包含于区块而储存于分散账本107,从而记录交易数据。
另外,记录部106也可以在内部构成分散账本107。
<分散账本107>
分散账本107储存有包含父智能合约的交易数据。分散账本107储存有包含包括管理功能的管理智能合约的交易数据。管理智能合约是与父智能合约不同的智能合约。
另外,父智能合约除了自动生成功能外,也可以包含管理功能。在该情况下,分散账本107也可以不将包含管理智能合约的交易数据与父智能合约分别储存。
[管理系统的动作等]
接着,针对以上那样构成的管理系统的动作进行说明。
图4以及图5是表示实施方式所涉及的管理系统的管理处理的一例的时序图。图5表示图4的后面的处理。
首先,服务器A生成执行交易数据,将所生成的执行交易数据发送给服务器B以及服务器C(S101)。
接着,服务器A、服务器B以及服务器C执行共识算法,生成包含执行交易数据的区块,储存于各自的分散账本107(S102)。
若服务器A、服务器B以及服务器C针对执行交易数据而执行共识算法,则在各个中,通过父智能合约而执行自动生成功能(S103~S105)。
接着,服务器A、服务器B以及服务器C生成新智能合约。具体而言,服务器A通过自动生成功能,生成作为子智能合约的新智能合约A(S106)。服务器B通过自动生成功能,生成作为子智能合约的新智能合约B(S107)。服务器C通过自动生成功能,生成作为子智能合约的新智能合约C(S108)。另外,在图4中,新智能合约A被记载为新SC_A,新智能合约B被记载为新SC_B,新智能合约C被记载为新SC_C。
接着,服务器A、服务器B以及服务器C在各个中,生成包含所生成的新智能合约的交易数据。具体而言,服务器A生成包含新智能合约A的交易数据A(S109)。服务器B生成包含新智能合约B的交易数据B(S110)。服务器C生成包含新智能合约C的交易数据C(S111)。另外,在图4中,交易数据A被记载为Tx_A,交易数据B被记载为Tx_B,交易数据C被记载为Tx_C。
接着,服务器A将所生成的交易数据A发送给服务器B以及服务器C(S112)。此外,服务器B将所生成的交易数据B发送给服务器A以及服务器C(S113)。此外,服务器C将所生成的交易数据C发送给服务器A以及服务器B(S114)。
接着,服务器A、服务器B以及服务器C执行共识算法,生成包含交易数据A、交易数据B以及交易数据C的区块,储存于各自的分散账本107(S115)。另外,服务器A、服务器B以及服务器C按每个交易执行共识算法,生成包含各交易数据的区块,储存于各自的分散账本107。
若服务器A、服务器B以及服务器C针对交易数据A而执行共识算法,则在各个中,通过管理智能合约而执行初始化功能(S116~S118)。具体而言,服务器A、服务器B以及服务器C的各个在初始化功能的执行中,执行由交易数据A中包含的第二执行信息中包含的标识符识别的管理智能合约。由此,服务器A、服务器B以及服务器C对交易数据A中包含的新智能合约A执行管理功能。
接着,服务器A、服务器B以及服务器C的各个通过管理功能,设定与父智能合约相对应的子智能合约(S119~S121)。该设定的细节在后面叙述。
同样,若服务器A、服务器B以及服务器C针对交易数据B而执行共识算法,则在各个中,通过管理智能合约执行初始化功能(S122~S124)。具体而言,服务器A、服务器B以及服务器C的各个在初始化功能的执行中,执行由交易数据B中包含的第二执行信息中包含的标识符识别的管理智能合约。由此,服务器A、服务器B以及服务器C对交易数据A中包含的新智能合约A执行管理功能。
接着,服务器A、服务器B以及服务器C的各个通过管理功能,设定与父智能合约相对应的子智能合约(S125~S127)。该设定的细节在后面叙述。
同样,若服务器A、服务器B以及服务器C针对交易数据C执行共识算法,则在各个中,通过管理智能合约执行初始化功能(S128~S130)。具体而言,服务器A、服务器B以及服务器C的各个在初始化功能的执行中,执行由交易数据C中包含的第二执行信息中包含的标识符识别的管理智能合约。由此,服务器A、服务器B以及服务器C对交易数据A中包含的新智能合约A执行管理功能。
接着,服务器A、服务器B以及服务器C的各个通过管理功能,设定与父智能合约相对应的子智能合约(S131~S133)。该设定的细节在后面叙述。
接着,针对步骤S119~S121、S125~S127以及S131~S133的各个中的设定的细节进行说明。
首先,针对设定处理的第一例进行说明。
图6是表示实施方式所涉及的通过管理功能执行的设定处理的第一例的图。图7是表示实施方式所涉及的管理功能的第一例的图。在此,作为服务器A的处理进行说明,但在服务器B以及服务器C中也进行同样的处理。另外,有时将通过管理功能执行的设定处理也称为管理处理。
如图6所示,服务器A判定在从相同的父智能合约生成的多个子智能合约之中最初被储存于分散账本107的交易数据中包含的智能合约是否为处理对象的交易数据中包含的新智能合约(S141)。具体而言,服务器A基于处理对象的交易数据中包含的第二执行信息,调用分散账本107中储存的管理功能,将处理对象的交易数据中包含的父ID作为自变量而执行所调用的管理功能。并且,服务器A如图7所示,判定与父ID相对应的子ID(在图7中,记载为“子ID[父ID]”)是否为不定值。另外,表示父ID和子ID的对应关系的信息被存储于状态存储部104。表示该对应关系的信息在初始状态中对父ID相对应不定值。不定值既可以是0,也可以是null(空),也可以是预先决定的固定值。不定值是表示不对父ID相对应子ID的信息即可。服务器A在与父ID相对应的子ID为不定值的情况下,判定为最初被储存于分散账本107的交易数据中包含的智能合约为处理对象的交易数据中包含的新智能合约。
接着,服务器A在判定为在从相同的父智能合约生成的多个子智能合约之中最初被储存于分散账本107的交易数据中包含的智能合约为处理对象的交易数据中包含的新智能合约的情况下(S141中是(Yes)),将该新智能合约的标识符与父智能合约的标识符相对应而存储(S142)。由此,服务器A将该新智能合约与父智能合约相对应而管理。服务器A例如在状态存储部104中存储的表示对应关系的信息中,将与父ID相对应的不定值更新(置换)为新智能合约的标识符。
另一方面,服务器A在判断为在从相同的父智能合约生成的多个子智能合约之中最初被储存于分散账本107的交易数据中包含的智能合约并非处理对象的交易数据中包含的新智能合约的情况下(S141中否(No)),结束设定处理。也就是说,服务器A不更新状态存储部104中存储的表示对应关系的信息,就结束设定处理。因此,服务器A也可以不将在第2个以后被储存于分散账本107的交易数据中包含的智能合约与父智能合约相对应而管理。
例如,服务器A如图5所示,在新智能合约A、新智能合约B以及新智能合约C之中,由于对新智能合约A最初执行初始化功能,在步骤S119的设定处理中,将新智能合约A与父智能合约相对应。并且,服务器A对于新智能合约B以及新智能合约C,在表示对应关系的信息中父智能合约已经与新智能合约A相对应,所以表示对应关系的信息被维持。
在第一例中的设定处理中,将在第一交易数据以及第二交易数据之中最初被储存于服务器A的分散账本107的最初的交易数据中包含的最初的子智能合约作为一个子智能合约与父智能合约相对应而管理。因此,能够将最初的交易数据中包含的最初的子智能合约作为一个子智能合约与父智能合约相对应而管理。
接着,针对设定处理的第二例进行说明。
图8是表示实施方式所涉及的通过管理功能执行的设定处理的第二例的图。图9是表示实施方式所涉及的管理功能的第二例的图。在此,作为服务器A的处理进行说明,但在服务器B以及服务器C中也进行同样的处理。
如图8所示,服务器A判定在从相同的父智能合约生成的多个子智能合约之中第n个被储存于分散账本107的交易数据中包含的智能合约是否为处理对象的交易数据中包含的新智能合约(S151)。n为自然数,也可以是预先决定的固定值。具体而言,服务器A基于处理对象的交易数据中包含的第二执行信息,调用分散账本107中储存的管理功能,将处理对象的交易数据中包含的父ID作为自变量而执行所调用的管理功能。
另外,若父ID不同,n也可以被设定为不同的值。n也可以是按每个父ID被随机地决定的值。因此,能够将按被随机地决定的顺序被储存于分散账本的交易数据中包含的子智能合约作为一个子智能合约与父智能合约相对应而管理。这样,被选择的子智能合约的顺序是随机的,能被变更,所以能够抑制与父智能合约相对应的子智能合约被替换为被改变的子智能合约。
并且,服务器A如图9所示,判定对与父ID相对应的计数器(在图9中,记载为“计数器[父ID]”)加1后的值是否为n。另外,与父ID相对应的计数器被存储于状态存储部104。该计数器在初始状态中其值被设定为0。服务器A在每次执行步骤S151时,将与父ID相对应的计数器所示的值更新为对该计数器所示的值加上1后的值。
接着,服务器A在判定为在从相同的父智能合约生成的多个子智能合约之中第n个被储存于分散账本107的交易数据中包含的智能合约为处理对象的交易数据中包含的新智能合约的情况下(S151中是(Yes)),将该新智能合约的标识符与父智能合约的标识符相对应而存储(S152)。由此,服务器A将该新智能合约与父智能合约相对应而管理。服务器A例如将父ID、和该新智能合约的标识符相对应而存储。
另一方面,服务器A在判断为在从相同的父智能合约生成的多个子智能合约之中第n个被储存于分散账本107的交易数据中包含的智能合约并非处理对象的交易数据中包含的新智能合约的情况下(S151中否(No)),结束设定处理。也就是说,服务器A不更新状态存储部104中存储的表示对应关系的信息,就结束设定处理。因此,服务器A不将以第n个以外的顺序被储存于分散账本107的交易数据中包含的智能合约与父智能合约相对应而管理。
例如,服务器A在n被设定为2的情况下,如图5所示,对在新智能合约A、新智能合约B以及新智能合约C之中第2个被储存于分散账本107的新智能合约B,第2个执行初始化功能。在步骤S119的设定处理中,不进行新智能合约A和父智能合约的相对应。在步骤S125的设定处理中,进行新智能合约B和父智能合约的相对应。并且,在步骤S131的设定处理中,不进行新智能合约C和父智能合约的相对应。
在第二例中的设定处理中,将在第一交易数据以及第二交易数据之中第n个(n为自然数)被储存于服务器A的分散账本107的第n个交易数据中包含的第n个子智能合约作为一个子智能合约与父智能合约相对应而管理。因此,能够将第n个交易数据中包含的第n个子智能合约作为一个子智能合约与父智能合约相对应而管理。
此外,在第一例以及第二例中的设定处理中,不将以第2个以后的顺序被储存于服务器A的分散账本的交易数据中包含的子智能合约作为一个子智能合约来管理。因此,能够仅将第n个子智能合约与父智能合约相对应。
接着,针对设定处理的第三例进行说明。
图10是表示通过管理功能执行的设定处理的第三例的图。图11是表示管理功能的第三例的图。在此,作为服务器A的处理进行说明,但在服务器B以及服务器C中也进行同样的处理。
如图10所示,服务器A判定在从相同的父智能合约生成的多个子智能合约之中最初被储存于分散账本107的交易数据中包含的智能合约是否为处理对象的交易数据中包含的新智能合约(S161)。步骤S161与步骤S141同样,所以省略详细的说明。
接着,服务器A在判定为在从相同的父智能合约生成的多个子智能合约之中最初被储存于分散账本107的交易数据中包含的智能合约为处理对象的交易数据中包含的新智能合约的情况下(S161中是(Yes)),将该新智能合约的标识符与父智能合约的标识符相对应而存储(S162)。步骤S162与步骤S142同样,所以省略详细的说明。
另一方面,服务器A在判定为在从相同的父智能合约生成的多个子智能合约之中最初被储存于分散账本107的交易数据中包含的智能合约并非处理对象的交易数据中包含的新智能合约的情况下(S161中否(No)),将在第2个以后被储存于分散账本107的交易数据中包含的智能合约设为无效(S163)。服务器A例如也可以对第2个以后被储存于分散账本107的交易数据中包含的智能合约赋予表示该智能合约无效的无效信息,从而将该智能合约设为无效。无效信息例如也可以由表示是有效还是无效的标志来表示。也就是说,无效信息也可以是被设定为表示是无效的值的标志。
另外,服务器A也可以对最初被储存于分散账本107的交易数据中包含的智能合约,赋予表示该智能合约为有效的有效信息,从而将该智能合约设为有效。有效信息例如也可以由表示是有效还是无效的标志来表示。也就是说,有效信息也可以是被设定为表示是有效的值的标志。
例如,服务器A如图5所示,对在新智能合约A、新智能合约B以及新智能合约C之中新智能合约A最初执行初始化功能,所以在步骤S119的设定处理中,将新智能合约A与父智能合约相对应。并且,服务器A将新智能合约B以及新智能合约C设为无效。
在第三例中的设定处理中,将在第一交易数据以及第二交易数据之中最初被储存于服务器A的分散账本107的最初的交易数据中包含的最初的子智能合约作为一个子智能合约与父智能合约相对应而管理。因此,能够将最初的交易数据中包含的最初的子智能合约作为一个子智能合约与父智能合约相对应而管理。
此外,在第三例中的设定处理中,将以第2个以后的顺序被储存于服务器A的分散账本107的交易数据中包含的子智能合约设为无效。因此,能够仅将最初的子智能合约与父智能合约相对应。此外,能够抑制产生想要执行无效的子智能合约的处理,能够减少处理负荷。
接着,针对设定处理的第四例进行说明。
图12是表示通过管理功能执行的设定处理的第四例的图。图13是表示管理功能的第四例的图。在此,作为服务器A的处理进行说明,但在服务器B以及服务器C中也进行同样的处理。
如图12所示,服务器A判定在从相同的父智能合约生成的多个子智能合约之中第n个被储存于分散账本107的交易数据中包含的智能合约是否为处理对象的交易数据中包含的新智能合约(S171)。步骤S171与步骤S151同样,所以省略详细的说明。
接着,服务器A在判定为在从相同的父智能合约生成的多个子智能合约之中第n个被储存于分散账本107的交易数据中包含的智能合约为处理对象的交易数据中包含的新智能合约的情况下(S171中是(Yes)),将该新智能合约的标识符与父智能合约的标识符相对应而存储(S172)。步骤S172与步骤S152同样,所以省略详细的说明。
另一方面,服务器A在判断为在从相同的父智能合约生成的多个子智能合约之中第n个被储存于分散账本107的交易数据中包含的智能合约并非处理对象的交易数据中包含的新智能合约的情况下(S171中否(No)),将以第n个以外的顺序被储存于分散账本107的交易数据中包含的智能合约设为无效(S173)。步骤S173与步骤S163同样,所以省略详细的说明。
例如,服务器A在n被设定为2的情况下,如图5所示,对在新智能合约A、新智能合约B以及新智能合约C之中第2个被储存于分散账本107的新智能合约B,第2个执行初始化功能。在步骤S119的设定处理中,将新智能合约A设为无效。在步骤S125的设定处理中,进行新智能合约B和父智能合约的相对应。并且,在步骤S131的设定处理中,将新智能合约C设为无效。
在第四例中的设定处理中,将在第一交易数据以及第二交易数据之中第n个(n为自然数)被储存于服务器A的分散账本107的第n个交易数据中包含的第n个子智能合约作为一个子智能合约与父智能合约相对应而管理。因此,能够将第n个交易数据中包含的第n个子智能合约作为一个子智能合约与父智能合约相对应而管理。
此外,在第四例中的设定处理中,将以第n个以外的顺序被储存于服务器A的分散账本107的交易数据中包含的子智能合约设为无效。因此,能够仅将第n个子智能合约与父智能合约相对应。此外,能够抑制产生想要执行无效的子智能合约的处理,能够减少处理负荷。
接着,针对设定处理的第五例进行说明。
图14是表示通过管理功能执行的设定处理的第五例的图。图15是表示管理功能的第五例的图。在此,作为服务器A的处理进行说明,但在服务器B以及服务器C中也进行同样的处理。
如图14所示,服务器A判定在从相同的父智能合约生成的多个子智能合约之中最初被储存于分散账本107的交易数据中包含的智能合约是否为处理对象的交易数据中包含的新智能合约(S181)。步骤S181与步骤S141同样,所以省略详细的说明。
接着,服务器A在判定为在从相同的父智能合约生成的多个子智能合约之中最初被储存于分散账本107的交易数据中包含的智能合约为处理对象的交易数据中包含的新智能合约的情况下(S181中是(Yes)),将该新智能合约的标识符与父智能合约的标识符相对应而存储(S182)。步骤S182与步骤S142同样,所以省略详细的说明。
另一方面,服务器A在判定为在从相同的父智能合约生成的多个子智能合约之中最初被储存于分散账本107的交易数据中包含的智能合约并非处理对象的交易数据中包含的新智能合约的情况下(S181中否(No)),对第2个以后被储存于分散账本107的交易数据中包含的智能合约执行丢弃功能(S183)。丢弃功能例如是在Ethereum(以太坊)中表示智能合约的丢弃功能的selfdestruct(自毁),在分散账本107上将成为该功能的处理对象的智能合约设定为无效的状态的功能。例如,服务器A能够通过对智能合约执行丢弃功能从而将储存有该智能合约的区块链的区块去激活。
例如,服务器A如图5所示,对新智能合约A、新智能合约B以及新智能合约C之中的新智能合约A最初执行初始化功能,所以在步骤S119的设定处理中,将新智能合约A与父智能合约相对应。并且,服务器A对新智能合约B以及新智能合约C执行丢弃功能。
在第五例中的设定处理中,将在第一交易数据以及第二交易数据之中最初被储存于服务器A的分散账本107的最初的交易数据中包含的最初的子智能合约作为一个子智能合约与父智能合约相对应而管理。因此,能够将最初的交易数据中包含的最初的子智能合约作为一个子智能合约与父智能合约相对应而管理。
此外,在第五例中的设定处理中,对以第2个以后的顺序被储存于服务器A的分散账本107的交易数据中包含的子智能合约,执行用于丢弃智能合约的丢弃功能。因此,能够仅将第2个以后的子智能合约与父智能合约相对应。此外,能够抑制产生想要执行被丢弃的子智能合约的处理,能够减少处理负荷。
接着,针对设定处理的第六例进行说明。
图16是表示通过管理功能执行的设定处理的第六例的图。图17是表示管理功能的第六例的图。在此,作为服务器A的处理进行说明,但在服务器B以及服务器C中也进行同样的处理。
如图16所示,服务器A判定在从相同的父智能合约生成的多个子智能合约之中第n个被储存于分散账本107的交易数据中包含的智能合约是否为处理对象的交易数据中包含的新智能合约(S191)。步骤S191与步骤S151同样,所以省略详细的说明。
接着,服务器A在判定为在从相同的父智能合约生成的多个子智能合约之中第n个被储存于分散账本107的交易数据中包含的智能合约为处理对象的交易数据中包含的新智能合约的情况下(S191中是(Yes)),将该新智能合约的标识符与父智能合约的标识符相对应而存储(S192)。步骤S192与步骤S152同样,所以省略详细的说明。
另一方面,服务器A在判定为在从相同的父智能合约生成的多个子智能合约之中第n个被储存于分散账本107的交易数据中包含的智能合约并非处理对象的交易数据中包含的新智能合约的情况下(S191中否(No)),对以第n个以外的顺序被储存于分散账本107的交易数据中包含的智能合约执行丢弃功能(S193)。步骤S193与步骤S183同样,所以省略详细的说明。
例如,服务器A在n被设定为2的情况下,如图5所示,对在新智能合约A、新智能合约B以及新智能合约C之中第2个被储存于分散账本107的新智能合约B,第2个执行初始化功能。在步骤S119的设定处理中,对新智能合约A执行丢弃功能。在步骤S125的设定处理中,进行新智能合约B和父智能合约的相对应。并且,在步骤S131的设定处理中,对新智能合约C执行丢弃功能。
在第六例中的设定处理中,将在第一交易数据以及第二交易数据之中第n个(n为自然数)被储存于服务器A的分散账本107的第n个交易数据中包含的第n个子智能合约作为一个子智能合约与父智能合约相对应而管理。因此,能够将第n个交易数据中包含的第n个子智能合约作为一个子智能合约与父智能合约相对应而管理。
此外,在第六例中的设定处理中,对以第n个以外的顺序被储存于服务器A的分散账本107的交易数据中包含的子智能合约,执行用于丢弃智能合约的丢弃功能。因此,能够仅将第n个子智能合约与父智能合约相对应。此外,能够抑制产生想要执行被丢弃的子智能合约的处理,能够减少处理负荷。
另外,服务器A也可以在步骤S141、S161或者S181中,判定在从相同的父智能合约生成的多个子智能合约之中最初执行了管理功能的智能合约是否为处理对象的交易数据中包含的新智能合约。也就是说,服务器A也可以将在从相同的父智能合约生成的多个子智能合约之中最初执行了管理功能的智能合约与父智能合约相对应而管理。
另外,服务器A也可以在步骤S151、S171或者S191中,判定在从相同的父智能合约生成的多个子智能合约之中执行了第n个管理功能的智能合约是否为处理对象的交易数据中包含的新智能合约。也就是说,服务器A也可以将在从相同的父智能合约生成的多个子智能合约之中第n个执行了管理功能的智能合约与父智能合约相对应而管理。
另外,在服务器A中,交易数据A为第一交易数据的一例,交易数据B以及交易数据C为第二交易数据的一例。
[效果等]
以上那样,根据实施方式所涉及的管理系统等,选择在多个服务器10的各个中执行父智能合约所包含的自动生成功能从而生成的多个子智能合约之中的一个子智能合约,将所选择的一个子智能合约与父智能合约相对应而管理。因此,能够抑制将从同一父智能合约自动生成的相互相同的多个子智能合约重复保持。由此,能够抑制在各装置中执行相同的内容的多个子智能合约,能够抑制在管理系统的动作中产生不匹配。因此,能够使正在管理分散账本107的管理系统正确地进行动作。
此外,根据实施方式所涉及的管理系统等,管理功能被包含于父智能合约、或者与父智能合约不同的管理智能合约。管理智能合约被储存于分散账本107。第一交易数据包含用于对第一子智能合约执行管理功能的执行信息。第二交易数据包含用于对第二子智能合约执行管理功能的执行信息。因此,在每次第一交易数据以及第二交易数据分别被储存于分散账本107时,能够执行父智能合约或者管理智能合约。由此,在每次第一交易数据以及第二交易数据分别被储存于分散账本107时,能够自动地执行管理功能。
此外,根据实施方式所涉及的管理系统等,在管理中,将在第一交易数据以及第二交易数据之中第n个(n为自然数)被储存于服务器A的分散账本107的第n个交易数据中包含的第n个子智能合约作为一个子智能合约与父智能合约相对应而管理。因此,能够将第n个交易数据中包含的第n个子智能合约作为一个子智能合约与父智能合约相对应而管理。
[其他实施方式等]
以上那样,针对本公开基于上述的实施方式进行了说明,但本公开当然不限定于上述的实施方式。以下的那样的情况也被包含于本公开。
(1)上述的实施方式中的各装置具体而言是由微处理器、ROM、RAM、硬盘单元、显示器单元、键盘、鼠标等构成的计算机系统。在所述RAM或者硬盘单元中,记录有计算机程序。通过所述微处理器按照所述计算机程序进行动作,各装置达成其功能。在此计算机程序为了达成规定的功能,将表示对于计算机的指令的命令代码组合多个而构成。
(2)就上述的实施方式中的各装置而言,所构成的结构元素的一部分或者全部也可以由一个系统LSI(Large Scale Integration:大规模集成电路)构成。系统LSI是在一个芯片上集成多个结构部而制造的超多功能LSI,具体而言,是包括微处理器、ROM、RAM等的计算机系统。在所述RAM中,记录有计算机程序。通过所述微处理器按照所述计算机程序进行动作,系统LSI达成其功能。
此外,构成上述的各装置的结构元素的各部也可以专用地1芯片化,也可以以包含一部分或者全部的方式1芯片化。
此外,在此,设为系统LSI,但还有时根据集成度的差异,被称呼为IC、LSI、超(super)LSI、超大(Ultra)LSI。此外,集成电路化的方法并非限于LSI,也可以由专用电路或者通用处理器来实现。也可以在LSI制造后,利用能够进行编程的FPGA(现场可编程门阵列(Field Programmable GateArray))、能够重构LSI内部的电路小区的连接、设定的可重构·处理器。
进而,若由于半导体技术的进步或者派生的其他技术而替代LSI的集成电路化的技术出场,则当然也可以使用该技术进行功能块的集成化。生物技术的应用等是可能的。
(3)构成上述的各装置的结构元素的一部分或者全部也可以设为由能够对各装置装卸的IC卡或者单体的模块构成。所述IC卡或者所述模块是由微处理器、ROM、RAM等构成的计算机系统。所述IC卡或者所述模块也可以设为包含上述的超多功能LSI。通过微处理器按照计算机程序进行动作,所述IC卡或者所述模块达成其功能。该IC卡或者该模块也可以设为具有耐篡改性。
(4)本公开也可以设为是上述所示的方法。此外,也可以设为是由计算机实现这些方法的计算机程序,也可以设为是由所述计算机程序构成的数字信号。
此外,本公开也可以设为将所述计算机程序或者所述数字信号记录于计算机可读取的记录介质、例如、软磁盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(蓝光(Blu-ray(注册商标))盘(Disc))、半导体存储器等。此外,也可以设为是被记录于这些记录介质的所述数字信号。
此外,本公开也可以设为将所述计算机程序或者所述数字信号经由以电通信线路、无线或者有线通信线路、互联网为代表的网络、数据播送等进行传输。
此外,本公开也可以设为是具备微处理器和存储器的计算机系统,所述存储器记录上述计算机程序,所述微处理器按照所述计算机程序进行动作。
此外,也可以通过将所述程序或者所述数字信号记录并移送至所述记录介质,或者通过将所述程序或者所述数字信号经由所述网络等移送,由独立的其他计算机系统来实施。
(5)也可以将上述实施方式以及上述变形例分别组合。
产业可利用性
本公开能够利用于控制方法、服务器、以及程序,例如能够利用于能够在交易中恰当地探测非法交易的控制方法、服务器、以及程序等。
标号说明
10、10a~10c 服务器
101 通信部
102 交易数据生成部
103 交易数据验证部
104 状态存储部
105 智能合约执行部
106 记录部
107 分散账本。
Claims (11)
1.一种控制方法,是在具备保有分散账本的多个装置的管理系统中,所述多个装置之中的一个装置所执行的控制方法,
所述分散账本储存有父智能合约和管理功能,所述父智能合约包含自动生成新的智能合约的自动生成功能,所述管理功能选择通过在所述多个装置中所述自动生成功能被执行从而被生成的多个子智能合约之中的一个子智能合约并进行管理,
在所述控制方法中,
通过执行所述自动生成功能从而生成第一子智能合约,
将包含所生成的所述第一子智能合约的第一交易数据发送给所述多个装置之中的其他装置,且将所述第一交易数据储存于所述一个装置的分散账本,
接收包含第二子智能合约的第二交易数据,且将所述第二交易数据储存于所述一个装置的分散账本,所述第二子智能合约通过在所述其他装置中所述自动生成功能被执行从而被生成,
通过执行所述分散账本中储存的所述管理功能,从而将所述第一子智能合约以及所述第二子智能合约之中的一个子智能合约与所述父智能合约相对应而管理。
2.如权利要求1所述的控制方法,
所述管理功能被包含于所述父智能合约、或者与所述父智能合约不同的管理智能合约,
所述管理智能合约被储存于所述分散账本,
所述第一交易数据包含用于对所述第一子智能合约执行所述管理功能的执行信息,
所述第二交易数据包含用于对所述第二子智能合约执行所述管理功能的执行信息。
3.如权利要求1或者2所述的控制方法,
在所述管理中,将在所述第一交易数据以及所述第二交易数据之中第n个被储存于所述一个装置的所述分散账本的第n个交易数据中包含的第n个子智能合约作为所述一个子智能合约与所述父智能合约相对应而管理,其中n为自然数。
4.如权利要求3所述的控制方法,
所述n为1。
5.如权利要求3所述的控制方法,
所述n为被随机地决定的值。
6.如权利要求3至5的任一项所述的控制方法,
在所述管理中,通过将识别所述第n个子智能合约的标识符作为所述一个子智能合约的标识符来管理,从而将所述第n个子智能合约作为所述一个智能合约与所述父智能合约相对应而管理。
7.如权利要求3至6的任一项所述的控制方法,
在所述管理中,不将以所述第n个以外的顺序被储存于所述一个装置的所述分散账本的交易数据中包含的子智能合约作为所述一个子智能合约来管理。
8.如权利要求3至6的任一项所述的控制方法,
在所述管理中,将以所述第n个以外的顺序被储存于所述一个装置的所述分散账本的交易数据中包含的子智能合约设为无效。
9.如权利要求3至6的任一项所述的控制方法,
在所述管理中,对以所述第n个以外的顺序被储存于所述一个装置的所述分散账本的交易数据中包含的子智能合约,执行用于丢弃智能合约的丢弃功能。
10.一种保有分散账本的装置,是在具备保有分散账本的多个装置的管理系统中,所述多个装置之中的一个装置,
所述装置具备处理器和存储器,
所述分散账本储存有父智能合约和管理功能,所述父智能合约包含自动生成新的智能合约的自动生成功能,所述管理功能选择通过在所述多个装置中所述自动生成功能被执行从而被生成的多个子智能合约之中的一个子智能合约并进行管理,
所述处理器使用所述存储器而进行如下处理:
通过执行所述自动生成功能从而生成第一子智能合约,
将包含所生成的所述第一子智能合约的第一交易数据发送给所述多个装置之中的其他装置,且将所述第一交易数据储存于所述一个装置的分散账本,
接收包含第二子智能合约的第二交易数据,且将所述第二交易数据储存于所述一个装置的分散账本,所述第二子智能合约通过在所述其他装置中所述自动生成功能被执行从而被生成,
通过执行所述分散账本中储存的所述管理功能,从而将所述第一子智能合约以及所述第二子智能合约之中的一个子智能合约与所述父智能合约相对应而管理。
11.一种程序,是在具备保有分散账本的多个装置的管理系统中,用于使计算机执行所述多个装置之中的一个装置所执行的控制方法的程序,
所述分散账本储存有父智能合约和管理功能,所述父智能合约包含自动生成新的智能合约的自动生成功能,所述管理功能选择通过在所述多个装置中所述自动生成功能被执行从而被生成的多个子智能合约之中的一个子智能合约并进行管理,
所述程序用于使计算机执行:
通过执行所述自动生成功能从而生成第一子智能合约,
将包含所生成的所述第一子智能合约的第一交易数据发送给所述多个装置之中的其他装置,且将所述第一交易数据储存于所述一个装置的分散账本,
接收包含第二子智能合约的第二交易数据,且将所述第二交易数据储存于所述一个装置的分散账本,所述第二子智能合约通过在所述其他装置中所述自动生成功能被执行从而被生成,
通过执行所述分散账本中储存的所述管理功能,从而将所述第一子智能合约以及所述第二子智能合约之中的一个子智能合约与所述父智能合约相对应而管理。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962950522P | 2019-12-19 | 2019-12-19 | |
US62/950,522 | 2019-12-19 | ||
PCT/JP2020/046402 WO2021125109A1 (ja) | 2019-12-19 | 2020-12-11 | 制御方法、装置、及び、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114746886A true CN114746886A (zh) | 2022-07-12 |
Family
ID=76476602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080082894.7A Pending CN114746886A (zh) | 2019-12-19 | 2020-12-11 | 控制方法、装置、以及程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220300958A1 (zh) |
JP (1) | JPWO2021125109A1 (zh) |
CN (1) | CN114746886A (zh) |
WO (1) | WO2021125109A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210374731A1 (en) * | 2020-05-26 | 2021-12-02 | Coinbase, Inc. | Systems and methods for consensus-based access control for smart contract functions |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6931999B2 (ja) * | 2017-02-06 | 2021-09-08 | 株式会社日立製作所 | 信用度管理システムおよび信用度管理方法 |
WO2018163044A1 (en) * | 2017-03-05 | 2018-09-13 | Tatchell Shona | System and method for provision of supply chain financing of ethically verified product where there has been verification of production processes and products inspection using blockchain smart contracts |
US11429960B2 (en) * | 2017-05-24 | 2022-08-30 | Nxm Labs, Inc. | Network configuration management for networked client devices using a distributed ledger service |
JP7014393B2 (ja) * | 2017-06-15 | 2022-02-01 | 公立大学法人会津大学 | データ処理装置、及びこれにおけるデータ処理方法 |
CN107464148A (zh) * | 2017-08-23 | 2017-12-12 | 众安信息技术服务有限公司 | 一种基于联盟链的智能合约升级方法和系统 |
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 |
CA3094904A1 (en) * | 2018-03-29 | 2019-10-03 | Dlt Labs, Inc. | Updateable smart contracts |
JP6684850B2 (ja) * | 2018-05-16 | 2020-04-22 | 株式会社日立製作所 | 分散台帳システム、分散台帳サブシステム、および、分散台帳ノード |
US20200042971A1 (en) * | 2018-07-31 | 2020-02-06 | American Express Travel Related Services Co., Inc. | System and method for transaction account based micro-payments |
US10855475B1 (en) * | 2018-09-06 | 2020-12-01 | Facebook, Inc. | Systems and methods for securing data to an immutable distributed ledger |
US11341451B2 (en) * | 2018-10-10 | 2022-05-24 | Questaweb Holdings Inc. | Hierarchical blockchain architecture for global trade management |
US11195180B2 (en) * | 2019-01-25 | 2021-12-07 | International Business Machines Corporation | Virtual blockchain |
US11249985B2 (en) * | 2019-06-15 | 2022-02-15 | Facebook, Inc. | Scalable, secure, efficient, and adaptable distributed digital ledger transaction network |
US20210004794A1 (en) * | 2019-07-02 | 2021-01-07 | Wipro Limited | Method and system for automatically generating personalized smart contracts |
-
2020
- 2020-12-11 CN CN202080082894.7A patent/CN114746886A/zh active Pending
- 2020-12-11 WO PCT/JP2020/046402 patent/WO2021125109A1/ja active Application Filing
- 2020-12-11 JP JP2021565562A patent/JPWO2021125109A1/ja active Pending
-
2022
- 2022-06-09 US US17/836,349 patent/US20220300958A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220300958A1 (en) | 2022-09-22 |
JPWO2021125109A1 (zh) | 2021-06-24 |
WO2021125109A1 (ja) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3499789B1 (en) | Primary and secondary blockchain device | |
US11184151B2 (en) | Devices for providing a set of cryptographically secured and filtered and sorted transaction data sets of a block of a blockchain | |
CN110458699B (zh) | 基于分布式帐簿的、实现金融包容性和可持续性的供应链应用的身份和起源 | |
KR20180115727A (ko) | 보안 투표 및 분배에서 사용을 위한 블록체인 구현 카운팅 시스템 및 방법 | |
US20030216927A1 (en) | System and method for automated safe reprogramming of software radios | |
JP2021527279A (ja) | スマートコントラクトベースの投資家のグローバルレジストリを参照するスマートコントラクトベースのコンプライアンス規則を実施する自己執行型証券トークン | |
US20080235665A1 (en) | System and method for automated safe reprogramming of software radios | |
CN111309745B (zh) | 虚拟资源处理方法、装置、电子设备及存储介质 | |
CN112488855B (zh) | 一种基于规则模板的业务校验方法及设备 | |
CN104395880B (zh) | 用于管理数据重新安装的系统、方法和计算机程序产品 | |
US9286049B2 (en) | Systems, methods, and computer program products for managing service installation | |
EP3812997B1 (en) | Blockchain-based data processing method and apparatus, and server | |
CN111492355B (zh) | 用于控制和/或监控装置的方法和控制系统 | |
CN113646764A (zh) | 用于受安全保护地提供数据记录的方法、装置和系统 | |
US20240037093A1 (en) | Control method, server, and data structure | |
US20140351806A1 (en) | Systems, methods, and computer program products for managing service upgrades | |
US20230062776A1 (en) | Supplemental Digital Content Access Control using Nonfungible Tokens (NFTs) | |
US10656939B2 (en) | Modeling lifetime of hybrid software application using application manifest | |
CA3098935A1 (en) | System and method for consensus management | |
CN108897559A (zh) | 一种网络隔离下的软件升级实现系统和方法 | |
CN111340483A (zh) | 一种基于区块链的数据管理方法及相关设备 | |
CN114746886A (zh) | 控制方法、装置、以及程序 | |
CN110648126A (zh) | 支付类型配置方法、装置、服务器及存储介质 | |
EP3584736A1 (en) | Management method, management apparatus, and program | |
CN112015826B (zh) | 基于区块链的智能合约安全性检测方法及相关设备 |
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 |