CN115066672A - 控制方法、分析装置及程序 - Google Patents

控制方法、分析装置及程序 Download PDF

Info

Publication number
CN115066672A
CN115066672A CN202180013728.6A CN202180013728A CN115066672A CN 115066672 A CN115066672 A CN 115066672A CN 202180013728 A CN202180013728 A CN 202180013728A CN 115066672 A CN115066672 A CN 115066672A
Authority
CN
China
Prior art keywords
contract
information
transaction data
account book
code
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
Application number
CN202180013728.6A
Other languages
English (en)
Inventor
西田直央
道山淳儿
海上勇二
添田纯一郎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of CN115066672A publication Critical patent/CN115066672A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/75Structural analysis for program understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

分析装置的控制方法对第一分散账本中存放的多个智能合约各自的二进制码进行分析(S1),使用分析的结果,取得将多个智能合约各自提供的信息以共通形式表现的多个共通化信息(S2),生成包括所取得的多个共通化信息的事务数据,并进行将生成的事务数据向第二分散账本存放的控制(S3)。

Description

控制方法、分析装置及程序
技术领域
本发明涉及控制方法、分析装置及程序。
背景技术
有使用分散账本对合同所涉及的信息进行管理的技术。分散账本中存放的信息以在实质上不能改写的方式被管理。
公开了在使用分散账本的系统中使运用策略或者运用的定时统一的技术(例如专利文献1)。
在先技术文献
专利文献
专利文献1:国际公开第2019/021792号
发明内容
发明所要解决的课题
本发明提供抑制对合同进行管理的计算机系统的耗电增大的控制方法等。
用于解决课题的手段
本发明的一个方式所涉及的控制方法为:对第一分散账本中存放的多个智能合约各自的二进制码进行分析,使用所述分析的结果,取得将所述多个智能合约各自提供的信息以共通形式表现的多个共通化信息,生成包括所取得的所述多个共通化信息的事务数据,并进行将生成的所述事务数据向第二分散账本存放的控制。
此外,这些概括性或者具体性的方式也可以由系统、装置、集成电路、计算机程序或者能够由计算机读取的CD-ROM等记录介质来实现,也可以由系统、装置、集成电路、计算机程序及记录介质的任意组合来实现。
发明效果
本发明的控制方法能够抑制对合同进行管理的计算机系统的耗电增大。
附图说明
图1是示意性地表示实施方式中的合同的说明图。
图2是表示实施方式中的合约码的第一例的说明图。
图3是表示实施方式中的合约码的第二例的说明图。
图4是示意性地表示实施方式中的合同管理系统的构成的框图。
图5是表示实施方式中的账本服务器的功能构成的框图。
图6是表示实施方式中的分析装置的功能构成的框图。
图7是表示实施方式中的账本服务器的功能构成的框图。
图8是表示实施方式中的函数表的例子的说明图。
图9是表示实施方式中的共通化码的模板的例子的说明图。
图10是表示实施方式中的语言表的例子的说明图。
图11是表示实施方式中的变换表的例子的说明图。
图12是表示实施方式中的共通化信息的例子的说明图。
图13是表示实施方式中的共通化码的第一例的说明图。
图14是表示实施方式中的共通化码的第二例的说明图。
图15是表示实施方式中的地址列表的例子的说明图。
图16是表示实施方式中的用于检索的图像的例子的说明图。
图17是表示实施方式中的用于显示检索结果的图像的第一例的说明图。
图18是表示实施方式中的用于显示检索结果的图像的第二例的说明图。
图19是表示实施方式中的分析装置的处理的流程图。
图20是表示实施方式中的分析装置的详细处理的第一例的流程图。
图21是表示实施方式中的分析装置的详细处理的第二例的流程图。
图22是表示实施方式中的分析装置的详细处理的第三例的流程图。
图23是表示实施方式中的合同管理系统的处理的第一例的时序图。
图24是表示实施方式中的合同管理系统的处理的第二例的时序图。
图25是表示区块链的数据结构的说明图。
图26是表示事务数据的数据结构的说明图。
具体实施方式
(成为本发明的基础的见识)
本发明人关于“背景技术”部分中记载的与合同相关的技术,发现会发生以下的问题。
有使用分散账本对合同所涉及的信息进行管理的技术。分散账本中存放的信息以在实质上不能改写的方式被管理。另外,有使用分散账本执行合同所涉及的处理、并对合同进行管理的技术。这样的技术例如能够通过智能合约实现。
另外,设想如下情况:为了达成用户的目的而能够签订的合同存在多个,用户从这些合同之中选择要签订的合同。
例如,用户想要购买物品的物品销售者有时存在多个。此时,用户为了达成购买物品的目的,与多个销售者中的某一个签订买卖合同。也就是说,用户从多个买卖合同之中选择要签订的买卖合同。
另外,设想如下情况:合同通过基于使用分散账本技术的智能合约的合同签订处理来实现。
图1是示意性地表示本实施方式中的合同的说明图。合同例如是买卖合同。
图1所示的用户设为要选择并签订与A公司的买卖合同或者与B公司的买卖合同中的某一个。与A公司的买卖合同以及与B公司的买卖合同各自通过基于智能合约的合同签订处理来实现。
在物品的买卖合同中,一般而言,与合同相关的事项(例如物品的价格、交付日期、品质、运费或者手续费等)有时按每个销售者而不同。用户对这些与合同相关的事项进行比较探讨,决定对自身而言有利的销售者,并签订买卖合同。例如,关于物品的价格,以处于自身认为恰当的价格范围内的价格销售物品的销售者,是对自身而言有利的销售者。另外,多个销售者之中的以最低的价格销售物品的销售者,也可以是对自身而言有利的销售者。
但是,多个智能合约的内部的算法、以及多个智能合约所涉及的合约码一般而言相互不同。多个智能合约的内部的算法被任意地设计,因此即使提供相同的功能,也有时按每个设计而不同。另外,对于多个智能合约的合约码,描述该合约码的编程语言有时不同,另外,描述买卖合同的函数的名称有时不同。
在该情况下,用户在从多个合同之中选择要签订的合同时,即使对多个合约码进行比照,也有时难以相互进行比较,难以决定应该选择的智能合约。如果用户难以决定应该选择的智能合约,则到用户决定为止的时间变长,有时用户在比较探讨之后最终无法决定,结果使该作业中止。在该情况下,实现分散账本的计算机系统、以及用户所使用的计算机的耗电增大,或者产生多余的电力消耗。
本发明提供抑制对合同进行管理的计算机系统的耗电增大的控制方法等。
本发明的一个方式所涉及的控制方法为:对第一分散账本中存放的多个智能合约各自的二进制码进行分析,使用所述分析的结果,取得将所述多个智能合约各自提供的信息以共通形式表现的多个共通化信息,生成包括所取得的所述多个共通化信息的事务数据,并进行将生成的所述事务数据向第二分散账本存放的控制。
根据上述方式,在多个智能合约的内部的算法不同的情况下,或者在描述多个智能合约的合约码的编程语言不同的情况下,也将通过对它们进行分析而得到的共通化信息存放至分散账本。共通化信息是将智能合约所提供的信息以共通的形式表示的信息。用户如果对关于多个智能合约中的各个智能合约的共通化信息进行阅览,则能够容易地对合同的内容进行比较探讨,能够容易地选择应该签订的合同即智能合约。由此,能够抑制实现分散账本的计算机系统等的耗电增大,另外抑制产生多余的电力消耗。像这样,上述控制方法能够抑制对合同进行管理的计算机系统的耗电增大。
另外也可以是,在所述分析中,使所述多个智能合约各自具有的函数执行,在取得所述多个共通化信息中,取得被执行的所述函数所提供的信息作为所述多个共通化信息。
根据上述方式,使多个智能合约所具有的提供信息的函数实际执行,使用通过该执行而得到的信息来生成共通化信息。由此,更容易生成共通化信息。由此,能够更容易地抑制对合同进行管理的计算机系统的耗电增大。
另外也可以是,在所述分析中,提取所述多个智能合约所具有的函数之中的、具有作为提供所述信息的盖然性较高的函数的名称而预先决定的名称的函数,并使提取的所述函数执行。
根据上述方式,从多个智能合约所具有的函数中,提取提供信息的盖然性较高的函数,并使用通过执行该函数而得到的信息来生成共通化信息。使用提供信息的盖然性较高的函数,因此更高效地生成共通化信息。由此,能够更高效地抑制对合同进行管理的计算机系统的耗电增大。
另外也可以是,在所述分析中,对所述多个智能合约的二进制码进行反汇编,从而取得多个源码,在取得所述多个共通化信息中,取得将取得的所述多个源码以共通形式表现的多个共通化码,作为所述多个共通化信息。
根据上述方式,使用从多个智能合约的二进制码通过反汇编而得到的源码,取得作为共通化信息的共通化码。由此,使用能够从分散账本容易地取得的二进制码,换言之,不需要智能合约的原始的源码,另外,不需要执行智能合约的函数,就能够得到共通化信息。由此,能够更容易地抑制对合同进行管理的计算机系统的耗电增大。
另外也可以是,在取得所述多个共通化信息中,依照规定的码变换规则对取得的所述多个源码进行变换,从而取得所述多个共通化码。
根据上述方式,基于根据能够从分散账本取得的二进制码得到的源码,通过码变换来取得共通化码,因此能够更容易地取得共通化码。由此,能够更容易地抑制对合同进行管理的计算机系统的耗电增大。
另外也可以是,在生成所述事务数据中,以关于所述多个智能合约中的各个智能合约,将该智能合约的标识符与所述多个共通化信息之中的关于该智能合约的共通化信息建立了对应的形式,生成包括所述多个共通化信息的所述事务数据。
根据上述方式,将多个智能合约各自的共通化信息包含在事务数据中并存放至分散账本。由此,共通化信息在能够阅览的状态下而且以在实质上不能篡改的方式被管理。由此,能够恰当地对共通化信息进行管理,并且抑制对合同进行管理的计算机系统的耗电增大。
另外也可以是,在生成所述事务数据中,以关于所述多个智能合约中的各个智能合约,将该智能合约的标识符与所述多个共通化码之中的关于该智能合约的共通化码建立了对应的形式,生成包括所述多个共通化信息的事务数据。
根据上述方式,将多个智能合约各自的共通化码包含在事务数据中并存放至分散账本。由此,共通化码在能够阅览的状态下而且以在实质上不能篡改的方式被管理。另外,在管理分散账本的服务器中,能够执行共通化码所涉及的智能合约。由此,能够恰当地对共通化信息进行管理,并且抑制对合同进行管理的计算机系统的耗电增大。
另外也可以是,所述控制方法进一步进行控制,以使所述第二分散账本中存放的所述事务数据被读出,且关于所述多个智能合约中的各个智能合约的共通化信息被显示。
根据上述方式,显示分散账本中存放的包括共通化信息的事务数据的内容。由此,通过向设备显示来使用户阅览关于多个智能合约中的各个智能合约的共通化信息,能够使用户容易对合同的内容进行比较探讨,能够有助于缩短计算机系统的利用时间。由此,能够进一步抑制对合同进行管理的计算机系统的耗电增大。
另外也可以是,所述多个智能合约中的各个智能合约对应于合同签订处理,所述控制方法进一步进行控制,以使关于所述多个智能合约中的各个智能合约进一步显示按钮,该按钮用于使与该智能合约对应的合同签订处理执行。
根据上述方式,阅览了共通化信息并对合同的内容进行了比较探讨的用户,能够通过该设备进行操作以使合同签订处理执行。决定了恰当的合同的用户能够在该设备上进行该恰当的合同的签订处理,因此能够有助于缩短计算机系统的利用时间。由此,能够进一步抑制对合同进行管理的计算机系统的耗电增大。
另外也可以是,所述控制方法进一步进行控制,以使在取得了表示针对所述按钮进行了操作的操作信息的情况下,与所述按钮建立了对应的所述智能合约所对应的所述合同签订处理被执行。
根据上述方式,基于用户所进行的执行合同签订处理的操作,在实际上执行合同签订处理。由此,根据用户所进行的操作而自动地进行直到合同签订处理的处理,换言之,不用人介入而进行,因此能够抑制信息的篡改并且在更短时间内进行合同签订处理。由此,能够进一步抑制对合同进行管理的计算机系统的耗电增大。
另外,本发明的一个方式所涉及的分析装置具备:分析部,对第一分散账本中存放的多个智能合约各自的二进制码进行分析;共通化部,使用所述分析的结果,取得将所述多个智能合约各自提供的信息以共通形式表现的多个共通化信息;以及输出部,生成包括所取得的所述多个共通化信息的事务数据,并进行将生成的所述事务数据向第二分散账本存放的控制。
通过上述方式,具有与上述控制方法同样的效果。
另外,本发明的一个方式所涉及的程序是用于使计算机执行上述的控制方法的程序。
通过上述方式,具有与上述控制方法同样的效果。
此外,这些概括性或者具体性的方式也可以通过系统、装置、集成电路、计算机程序或者计算机可读取的CD-ROM等记录介质实现,也可以通过系统、装置、集成电路、计算机程序或者记录介质的任意组合实现。
以下,关于实施方式,参照附图具体进行说明。
此外,以下说明的实施方式均示出概括性或者具体性的例子。以下的实施方式所示的数值、形状、材料、构成要素、构成要素的配置位置及连接方式、步骤、步骤的顺序等是一例,并非意在限定本发明。此外,关于以下的实施方式中的构成要素之中表示最上位概念的独立权利要求中没有记载的构成要素,作为任意的构成要素而被说明。
(实施方式)
在本实施方式中,说明抑制对合同进行管理的计算机系统的耗电增大的合同管理系统及其控制方法等。
在本实施方式中,如图1所示,以用户从多个合同(例如与A公司的买卖合同以及与B公司的买卖合同)之中选择并签订应该签订的合同的情况为例进行说明。在此,以用户想要签订合同的对方是作为2个销售者的A公司及B公司中的某一个的情况为例进行说明。其中,销售者也可以是更多的销售者。想要签订合同的对方也可以是更多的销售者。销售者也可以不是公司而是个人。
另外,上述多个合同设为通过利用智能合约执行的处理来进行。描述与A公司的合同所相关的处理的智能合约的合约码和描述与B公司的合同所相关的处理的智能合约的合约码,设为通过相互不同的编程语言被描述。
图2及图3是表示本实施方式中的合约码的例子的说明图。
图2所示的合约码是描述与A公司的合同所相关的处理的合约码的一例,通过Solidity语言被描述。在图2中,包括对变量设定值的函数(setValue函数)、以及读出变量的值并输出的函数(getValue函数)。
图3所示的合约码是描述与B公司的合同所相关的处理的合约码的一例,通过Go语言被描述。在图3中,包括对变量设定值的函数(setValue函数)、以及读出变量的值并输出的函数(getValue函数)。
如图2及图3所示,在描述与A公司的合同所相关的处理的合约码和描述与B公司的合同所相关的处理的合约码间,setValue函数及getValue函数的描述相互不同。另外,函数的描述方法、即函数名之前附加的用语、句末有无记号、有无括号等相互不同。因此,用户即使取得了上述2个合约码,也无法简单地进行比较,难以选择应该签订的合同。
图4是示意性地表示本实施方式中的合同管理系统1的构成的框图。
如图4所示,合同管理系统1具备分析装置10、以及账本网络20、30及40。分析装置10和账本网络20、30及40直接地或者间接地连接至网络N,经由网络N能够相互通信。另外,在合同管理系统1中,经由网络N连接有终端50。
网络N由任意的通信线路或者网络构成皆可,例如可以包括互联网、便携电话的承载网络、互联网提供商的访问网络、或者公众访问网络等。
分析装置10是对多个智能合约进行分析、并输出与多个智能合约相关的共通化信息的装置。作为分析装置10的分析对象的多个智能合约是进行与A公司的合同所相关的处理的智能合约、以及进行与B公司的合同所相关的处理的智能合约。
账本网络20是对分散账本进行存储并管理的P2P网络。账本网络20所管理的分散账本存储有进行与A公司的合同所相关的处理的智能合约。
账本网络20具备账本服务器20A、20B及20C(也称为账本服务器20A等)作为P2P网络的节点。关于账本服务器20A等在后文中详细说明。此外,账本网络20所具备的账本服务器的台数不限于3,也可以更多。
账本网络30是对分散账本进行存储并管理的P2P网络。账本网络30所管理的分散账本存储有进行与B公司的合同所相关的处理的智能合约。
账本网络30具备账本服务器30A、30B及30C(也称为账本服务器30A等)作为P2P网络的节点。关于账本服务器30A等在后文中详细说明。此外,账本网络30所具备的账本服务器的台数不限于3,也可以更多。
账本网络40是对分散账本进行存储并管理的P2P网络。账本网络40所管理的分散账本存储有分析装置10所输出的共通化信息。
账本网络40具备账本服务器40A、40B及40C(也称为账本服务器40A等)作为P2P网络的节点。关于账本服务器40A等在后文中详细说明。此外,账本网络40所具备的账本服务器的台数不限于3,也可以更多。
终端50是提示分析装置10所输出的共通化信息、另外受理用户所进行的与合同的选择有关的操作的终端装置。用户能够使用终端50,阅览与A公司及B公司各自的合同所相关的信息。用户能够基于终端50所提示的信息来选择要签订合同的销售者。
图5是表示本实施方式中的账本服务器20A的功能构成的框图。以后,使用账本服务器20A作为账本服务器20A等的代表来进行说明。账本服务器20B及20C也具有与账本服务器20A同样的功能。
如图5所示,账本服务器20A具备处理部21、账本存储部22和执行部23。
处理部21是执行与事务数据相关的处理的功能部。处理部21可以通过账本服务器20A所具备的处理器(例如CPU(中央处理单元(Central Processing Unit)))使用存储器执行程序来实现。
处理部21执行如下处理:取得事务数据,并将取得的事务数据存放至分散账本。
处理部21在将新的事务数据存放至分散账本时,以与分散账本的类别相应的方式将新的事务数据存放至账本存储部22。另外,处理部21与账本服务器20A等之中的其他账本服务器所具备的账本存储部22收发通信数据,使上述事务数据也存放至其他账本服务器所具备的账本存储部22。例如,处理部21在分散账本是区块链的情况下,生成包含新的事务数据的区块,在与账本服务器20A等之间针对生成的区块通过共识算法达成共识的基础上,将上述区块存放至账本存储部22。
处理部21存放至分散账本的事务数据,包括进行与A公司的合同所相关的处理的智能合约的合约码(也称为“与A公司的合同所对应的合约码”)。
账本存储部22是存储有分散账本的存储部。账本存储部22中存放的分散账本存储有1个以上的事务数据,使用Hash(哈希)值等特性以难以篡改的方式被管理(后述)。账本存储部22将从处理部21提供的包括与A公司的合同所对应的合约码的事务数据存放至分散账本。
在分散账本中,存放着从过去到当前为止的事务数据。基于分散账本中记录的信息难以篡改的特性,上述事务数据以不被篡改的方式被管理。
此外,分散账本例如是区块链,以该情况为例进行说明,但也能够采用其他方式的分散账本(例如IOTA或者哈希图等)。此外,分散账本在存放新的数据时既可以执行共识算法(例如PBFT(实用拜占庭容错算法(Practical Byzantine Fault Tolerance))、PoW(工作量证明(Proof of Work))或者PoS(权益证明(Proof of Stake))),也可以不执行共识算法。作为不执行共识算法的分散账本技术的一例有超级账本结构(Hyperledger fabric)。
执行部23是参照账本存储部22所存储的分散账本中存放的事务数据来执行处理的功能部。执行部23可以通过账本服务器20A所具备的处理器(例如CPU)使用存储器执行程序来实现。执行部23依照分散账本中存放的事务数据所包括的合约码,通过智能合约执行处理。
具体而言,在包括使与A公司的合同所对应的智能合约执行的命令在内的事务数据被存放于分散账本的情况下,执行部23依照该命令,通过智能合约执行与合同相关的处理。
此外,账本服务器30A等各自也具有与账本服务器20A同样的功能。其中,在账本服务器30A等中,处理部21存放至分散账本的事务数据包括进行与B公司的合同所相关的处理的智能合约的合约码(也称为“与B公司的合同所对应的合约码”)。
图6是表示本实施方式中的分析装置10的功能构成的框图。
如图6所示,分析装置10具备分析部11、共通化部12和输出部13。分析装置10也可以还具备服务器功能部15。
分析装置10所具备的各功能部通过分析装置10所具备的处理器(例如CPU)使用存储器执行程序来实现。
分析部11是对分散账本(相当于第一分散账本)中存放的多个智能合约各自的二进制码进行分析的功能部。多个智能合约包括:作为第一分散账本的一例的账本服务器20A的账本存储部22中存放的智能合约、以及作为第一分散账本的一例的账本服务器30A的账本存储部22中存放的智能合约。对二进制码进行分析,有使智能合约各自具有的函数执行的方法、或者使用通过对二进制码进行反汇编而得到的源码的方法。详细在后文中说明。
共通化部12是使用分析部11的分析结果、取得将多个智能合约各自提供的信息以共通形式表现的多个共通化信息的功能部。多个共通化信息是将多个智能合约所提供的信息以规定的共通的形式表示的信息,例如,既可以是将该信息作为一览表表示的形式(也称为一览表形式),也可以是作为包括该信息的合约码表示的形式(也称为码形式)。智能合约所提供的信息,是执行部23通过智能合约执行处理从而输出的信息。详细在后文中说明。
输出部13是将共通化部12所取得的多个共通化信息输出的功能部。具体而言,输出部13生成包括共通化部12所取得的多个共通化信息的事务数据,并将所生成的事务数据向账本服务器40A等所具有的分散账本(也称为第二分散账本)发送。输出部13通过像这样发送事务数据,进行将事务数据向分散账本存放的控制。
服务器功能部15是具有账本服务器的功能的功能部。服务器功能部15具有账本服务器20A等、30A等或者40A等的功能。在服务器功能部15具有账本服务器20A的功能的情况下,分析装置10能够参加账本网络20,能够成为作为账本网络20的P2P网络的一个节点。关于账本服务器30A等及40A等也是同样的。此外,服务器功能部15也可以同时具有多个账本服务器的功能。另外,服务器功能部15不是必须的构成要素。
分析部11及共通化部12更具体而言能够以如下方式动作。
分析部11作为分析的一例,也可以使多个智能合约各自具有的函数执行。在该情况下,共通化部12取得被执行的函数所提供的信息,作为多个共通化信息。在此,分析部11也可以提取多个智能合约所具有的函数之中的、具有作为提供信息的盖然性较高的函数的名称而预先决定的名称的函数,并使提取的函数执行。将上述函数也称为提供函数。
为了执行提供函数,需要生成包括使提供函数执行的命令的事务数据,并将所生成的事务数据向存放有该智能合约的分散账本发送并使其存放。
另外,分析部11作为分析的一例,也可以对多个智能合约的二进制码进行反汇编,从而取得多个源码。在该情况下,共通化部12取得将取得的多个源码以共通形式表现的多个共通化码,作为多个共通化信息。在此,共通化部12也可以依照规定的变换规则对分析部11所取得的多个源码进行变换,从而取得多个共通化码。
另外,输出部13更具体而言能够以如下方式动作。
输出部13也可以作为事务数据的生成的一例,以关于多个智能合约中的各个智能合约,将该智能合约的标识符与多个共通化信息之中的关于该智能合约的共通化信息建立了对应的形式,生成包括多个共通化信息的事务数据。
另外,输出部13也可以作为事务数据的生成的一例,以关于多个智能合约中的各个智能合约,将该智能合约的标识符与多个共通化码之中的关于该智能合约的共通化码建立了对应的形式,生成包括多个共通化信息的事务数据。
进而,输出部13通过将账本服务器40A所生成的显示控制信息向终端50提供,能够进行控制以使终端50上显示各种各样的信息。
例如,输出部13能够进行控制,以使账本服务器40A所拥有的分散账本中存放的事务数据被读出,且关于多个智能合约中的各个智能合约的共通化信息被显示在终端50上。换言之,账本服务器40A(显示控制部44)读出账本存储部42中存放的事务数据,并向终端50发送用于显示关于多个智能合约中的各个智能合约的共通化信息的显示控制信息。终端50接收显示控制信息,基于接收的控制信息显示上述共通化信息。
另外,输出部13能够进行控制,以使关于多个智能合约中的各个智能合约在终端50上进一步显示按钮,该按钮用于使签订与该智能合约对应的合同的处理(也称为合同签订处理)执行。换言之,账本服务器40A(显示控制部44)向终端50发送用于显示上述按钮的显示控制信息。终端50接收显示控制信息,基于接收的显示控制信息显示上述按钮。此时,多个智能合约各自设为对应于合同签订处理。
另外,输出部13能够进行控制,以使在终端50取得了表示针对上述按钮进行了操作的操作信息的情况下,与上述按钮建立了对应的智能合约所对应的合同签订处理被执行。
图7是表示本实施方式中的账本服务器40A的功能构成的框图。以下使用账本服务器40A作为账本服务器40A等的代表进行说明。账本服务器40B及40C也具有与账本服务器40A同样的功能。
如图7所示,账本服务器40A具备处理部41、账本存储部42、执行部43和显示控制部44。
处理部41是执行与事务数据相关的处理的功能部,与账本服务器20A等的处理部21是同样的。处理部41可以通过账本服务器40A所具备的处理器(例如CPU)使用存储器执行程序来实现。
处理部41执行如下处理:取得事务数据,并将取得的事务数据存放至分散账本。处理部41在将新的事务数据存放至分散账本时,以与分散账本的类别相应的方式将新的事务数据存放至账本存储部42。另外,处理部41与账本服务器20A等之中的其他账本服务器所具备的账本存储部42收发通信数据,使上述事务数据也存放至其他账本服务器所具备的账本存储部42。
处理部41存放至分散账本的事务数据包括以一览表形式或者码形式表现的共通化信息。
账本存储部42是存储有分散账本的存储部,与账本服务器20A等的账本存储部22是同样的。在账本存储部42所存储的分散账本中,存放有包括以一览表形式或者码形式表现的共通化信息的事务数据。
执行部43是参照账本存储部42所存储的分散账本中存放的事务数据来执行处理的功能部,与账本服务器20A等的执行部23是同样的。执行部43可以通过账本服务器40A所具备的处理器(例如CPU)使用存储器执行程序来实现。在此,执行部43依照分散账本中存放的事务数据所包括的智能合约的码执行处理。
具体而言,在包括用于使与A公司的合同所相关的处理执行的命令在内的事务数据被存放于分散账本的情况下,执行部43依照该命令执行与合同相关的处理。另外,在包括用于使与B公司的合同所相关的处理执行的命令在内的事务数据被存放于分散账本的情况下,执行部43依照该命令执行与合同相关的处理。
显示控制部44是进行用于显示共通化信息的控制的功能部。显示控制部44如果从终端50接收到用于显示共通化信息的请求信息,则与接收到的请求信息相应地,向终端50发送用于显示共通化信息的控制信息。控制信息例如包括以HTML(超文本标记语言(HyperText Markup Language))描述了显示共通化信息的图像的信息。终端50如果接收到控制信息,则使由接收的控制信息构成的图像显示在终端50所具有的显示画面上。此外,显示控制部44也可以预先向终端50发送显示用于从用户接受检索条件的输入的图像的显示控制信息。
以下说明在分析智能合约及生成共通化信息中使用的信息。
图8是表示本实施方式中的函数表的例子的说明图。
图8所示的函数表在分析部11使智能合约所具有的提供函数执行时被参照。
在函数表中,按智能合约所提供的每个信息,表示了输出该信息的提供函数的名称。
例如,作为提供价格的函数的名称,表示了getValue、getPrice、getReward及getFee。另外,例如作为提供交付日期的函数的名称,表示了getTime及getDate。
此外,函数表所示的提供函数的名称,也可以是作为提供该信息的函数的名称而与智能合约建立关联地提供的名称。在该情况下,分析部11使用函数表所示的提供函数的名称,使智能合约的提供函数执行。
另外,函数表所示的提供函数的名称,也可以是一般作为提供该信息的盖然性较高的函数的名称而预先决定的名称。在该情况下,分析部11从作为智能合约所具有的函数而公开发表的函数之中,提取具有提供函数的名称的一部分或者全部的函数,将提取的函数作为提供函数对待,并使智能合约的提供函数执行。
图9是表示本实施方式中的共通化码的模板的例子的说明图。
图9所示的共通化码的模板在共通化部12生成共通化码时被使用。
图9所示的共通化码的模板是通过向空白(空栏)处填入字符从而能够生成以规定的编程语言描述的合约码的模板。
具体而言,图9中表示该智能合约的名称的字符串,表现为包含空白“%%%”的“Contract%%%”。另外,变量名以空白“$$$”表现。
共通化部12将空白“%%%”置换为能够唯一地识别共通化码的标识符。例如,在对与A公司的合同签订处理的合约码进行分析的结果所对应的合约码中,也可以将空白“%%%”设为“A1”。同样,在对与B公司的合同签订处理的合约码进行分析的结果所对应的合约码中,也可以将空白“%%%”设为“B1”。
共通化部12将空白“$$$”置换为作为分析部11的分析结果而得到的价格的信息。
像这样,共通化部12生成共通化码。
图10是表示本实施方式中的语言表的例子的说明图。
图10所示的语言表在共通化部12对智能合约的二进制码进行反汇编时被参照。
在语言表中,按每个账本网络,表示了在该账本网络中使用的合约码的编程语言。
例如,表示了在账本网络20中使用的合约码的编程语言是Solidity语言。另外,表示了在账本网络30中使用的合约码的编程语言是Go语言。
共通化部12参照语言表来判断合约码的编程语言,并以与该编程语言相应的方法执行反汇编。
图11是表示本实施方式中的变换表的例子的说明图。
图11所示的变换表在共通化部12将分析部11对二进制码进行反汇编而得到的源码变换为共通化码时被使用。
在图11中,将Solidity语言的码与Go语言的码建立对应地表示。
例如,Solidity语言的“Contract###{}”与Go语言的“package###”建立了对应。在此,“###”是表示任意字符串的元字符。
共通化部12通过使用该对应关系,能够将Solidity语言与Go语言相互变换。即,共通化部12在共通化码的语言是Solidity语言的情况下,通过将以Go语言描述的合约码变换为Solidity语言,能够得到共通化码。
图12是表示本实施方式中的共通化信息的例子的说明图。
图12所示的共通化信息表示了共通化部12所取得的一览表形式的共通化信息。
共通化信息按每个销售者,以一览表形式表示了作为与该销售者的合同所涉及的参数的价格、以及与该销售者的合同所对应的智能合约的地址。
在图12中,具体表示了A公司及B公司作为销售者,表示了在与A公司及B公司的合同中向对方支付的金额分别是100日元及110日元。另外,表示了与各合同对应的智能合约的地址。
参照图13及图14说明共通化码。在此,作为共通化码的一例,说明采用了基于Solidity语言的码的情况。在此表示的共通化码,是共通化部12以输出使用提供函数取得的信息的方式生成的共通化码、或者对通过反汇编而得到的源码进行变换从而生成的共通化码。
图13是表示本实施方式中的共通化码的第一例的说明图。
图13所示的共通化码C3是与A公司的合同所相关的处理的共通化码。
共通化码C3是将图2所示的与A公司的合同所相关的处理的合约码C1作为共通化码表现的码。
共通化码C3的合约的名称是“ContractA1”,这点与图2所示的与A公司的合同所相关的处理的合约码C1不同。其他点上与图2所示的与A公司的合同所相关的处理的合约码C1是相同的。
合约码C1通过Solidity语言被描述,因此以相同的Solidity语言描述的共通化码C3与合约码C1相同。
图14是表示本实施方式中的共通化码的第二例的说明图。
图14所示的共通化码C4是与B公司的合同所相关的处理的共通化码。
共通化码C4是将图3所示的与B公司的合同所相关的处理的合约码C2作为共通化码表现的码。
共通化码C4描述了与合约码C2大致相同的算法,但与合约码C2不同。合约码C2通过Go语言被描述,因此以Solidity语言描述的共通化码C4与合约码C2不同。
图15是表示本实施方式中的地址列表的例子的说明图。
图15所示的地址列表是表示与共通化码对应的智能合约的地址的列表。在共通化部12生成共通化码并存放至分散账本的情况下,地址列表表示与该共通化码对应的智能合约的地址。地址列表被包含在账本存储部42所存放的事务数据中。
在图15中表示:与表示与A公司及B公司的合同的共通化码对应的智能合约的地址。
执行部43如果从终端50接收到包括执行与合同相关的处理的智能合约的命令在内的事务数据,则基于接收的事务数据,从地址列表中检索合同对方的销售者。然后,向通过检索而得到的销售者的地址转发合同事务数据。
图16是表示本实施方式中的作为用于检索的图像的例子的图像51的说明图。
图像51是终端50基于显示控制部44所生成的显示控制信息生成并显示的图像。图像51是受理关于与合同相关的事项的条件、换言之受理用于检索恰当的销售者的条件的图像。
图像51包括从用户受理关于与合同相关的事项的条件、具体为物品的名称、价格及交付日期的输入的栏52。用户能够向栏52输入关于与合同相关的事项的条件。
另外,图像51包括用于基于用户所输入的条件执行检索并得到其结果的按钮53。如果按钮53被操作,则终端50生成包含有在被操作的时刻栏52中输入的信息作为检索条件的请求数据,并向账本服务器40A发送。账本服务器40A如果接收到请求数据,则基于接收的请求数据所表示的检索条件,执行针对分散账本中存放的事务数据的检索处理,取得满足检索条件的销售者、以及表示销售的条件的信息。账本服务器40A向终端50发送用于显示销售者和销售的条件的显示控制信息。
图17是表示本实施方式中的作为用于显示检索结果的图像的第一例的图像61的说明图。
图像61是在图16所示的图像51、即作为名称输入了“ABC”的状态下的图像51中操作了检索的按钮53的情况下终端50所显示的图像的例子。
图像61是将表示对名称为“ABC”的物品进行检索的结果的信息作为共通化信息显示的图像。
在图像61中表示:表示销售者的栏62、表示价格的栏63。另外,按每个销售者,显示了用于签订与该销售者的合同的按钮64。
设想用户对图像61进行视觉辨认,决定是否与A公司签订或者是否与B公司签订关于购买物品的买卖合同(也就是说,是否从A公司购买物品或者是否从B公司购买物品),并操作与决定的销售者建立了对应的合同的按钮64。如果操作了合同的按钮64,则终端50生成包括执行如下智能合约的命令在内的事务数据并向账本服务器40A发送,该智能合约是与被操作的按钮64所对应的销售者之间的合同所涉及的智能合约。
此外,检索结果的显示也可以通过作为共通化信息的共通化码来进行。
图18是表示本实施方式中的作为用于显示检索结果的图像的第一例的图像71的说明图。
图像71是将表示对物品进行检索的结果的信息作为共通化码显示的图像。
在图像71中表示:表示销售者的栏72、表示共通化码的栏73。另外,按每个销售者,显示了用于签订与该销售者的合同的按钮74。
设想用户对图像71进行视觉辨认并确认共通化码,决定是否与A公司签订或者是否与B公司签订关于购买物品的买卖合同,并操作与决定的销售者建立了对应的合同的按钮74。操作了合同的按钮74时的处理与图17中的说明是同样的。
说明如上构成的分析装置10的处理。
图19是表示本实施方式中的分析装置10的处理的流程图。
如图19所示,在步骤S1中,分析部11对分散账本中存放的多个智能合约各自的二进制码进行分析。
在步骤S2中,共通化部12使用步骤S1中的分析结果,取得将多个智能合约各自提供的信息以共通形式表现的多个共通化信息。
在步骤S3中,输出部13生成包括步骤S2中取得的多个共通化信息的事务数据,并进行将生成的事务数据向分散账本(相当于第二分散账本)存放的控制。存放事务数据的分散账本例如是账本服务器40A的分散账本,也有时是账本服务器20A及30A的分散账本。
通过图19所示的一系列处理,分析装置10抑制对合同进行管理的计算机系统的耗电增大。
以下更具体地说明图19所示的处理。
图20是表示本实施方式中的分析装置10的详细处理的第一例的流程图。
如图20所示,在步骤S11中,分析部11取得智能合约所具有的提供函数。
在步骤S12中,分析部11生成包括使步骤S11中取得的提供函数执行的命令的事务数据,并将所生成的事务数据向存放有智能合约的账本服务器(即,账本服务器20A及30A)发送。接收到上述事务数据的账本服务器将接收的事务数据存放至分散账本,并执行提供函数。账本服务器将表示提供函数的执行结果的信息(也简称为执行结果)向分析装置10发送。
在步骤S13中,分析部11取得在步骤S12中账本服务器所发送的执行结果。
在步骤S14中,共通化部12保存在步骤S13中取得的执行结果作为共通化信息。
在步骤S15中,输出部13生成包括步骤S2中取得的多个共通化信息的事务数据,并将生成的事务数据存放至账本服务器40A的分散账本(相当于第二分散账本)。
此外,步骤S11~S13相当于图19中的步骤S1,步骤S14相当于图19中的步骤S2,步骤S15相当于图19中的步骤S3。
通过图20所示的一系列处理,分析装置10抑制对合同进行管理的计算机系统的耗电增大。
图21是表示本实施方式中的分析装置10的详细处理的第二例的流程图。
图21所示的步骤S11~步骤S13及S15分别与图20所示的同名的步骤是相同的。
在步骤S21中,共通化部12生成作为输出步骤S13中取得的执行结果的合约码的共通化码。
在步骤S22中,共通化部12保存在步骤S21中取得的共通化码作为共通化信息。
此外,步骤S21~S22相当于图19中的步骤S2。
通过图21所示的一系列处理,分析装置10抑制对合同进行管理的计算机系统的耗电增大。
图22是表示本实施方式中的分析装置10的详细处理的第三例的流程图。
在步骤S31中,分析部11取得智能合约的二进制码。
在步骤S32中,分析部11对步骤S31中取得的二进制码进行反汇编,从而取得源码。
在步骤S33中,共通化部12将步骤S32中取得的源码变换为共通化码。
在步骤S34中,共通化部12保存在步骤S33中取得的共通化码作为共通化信息。
在步骤S35中,输出部13生成包括步骤S34中取得的多个共通化信息的事务数据,并将生成的事务数据存放至账本服务器40A的分散账本(相当于第二分散账本)。
此外,步骤S31~S32相当于图19中的步骤S1,步骤S33~S34相当于图19中的步骤S2,步骤S35相当于图19中的步骤S3。
通过图22所示的一系列处理,分析装置10抑制对合同进行管理的计算机系统的耗电增大。
接下来,说明包括分析装置10的合同管理系统1的处理。
图23是表示本实施方式中的合同管理系统1的处理的第一例的时序图。图23所示的时序图表示了账本服务器40A将码形式的共通化信息(即共通化码)存放至分散账本的情况下的处理。
此外,关于已经说明的处理步骤,附加同样的标记并省略详细的说明。
在步骤S1~S3中,分析装置10进行二进制码的分析、共通化信息的取得、以及向账本服务器40A的分散账本存放事务数据的控制。向账本服务器40A的分散账本存放事务数据的控制,包括向账本服务器40A发送事务数据。
在步骤S101中,账本服务器40A接收在步骤S3中发送的事务数据,并存放至分散账本。
此后,设想终端50向账本服务器40A发送取得共通化信息的请求。此时,账本服务器40A也可以预先向终端50发送用于显示用于检索销售者的信息的显示控制信息,终端50基于该显示控制信息显示用于检索销售者的信息。在该情况下,也可以基于用户对被显示的信息进行视觉辨认并向终端50进行了输入,来由终端50发送请求。
在步骤S102中,账本服务器40A如果从终端50接收到请求,则生成显示控制信息,并将生成的显示控制信息向终端50发送。
在步骤S103中,终端50接收步骤S102中发送的显示控制信息,并基于接收的显示控制信息显示共通化信息。另外,终端50受理针对显示的共通化信息的操作。针对显示的共通化信息的操作,例如是针对与显示的共通化信息所表示的合同建立了对应的合同按钮的操作。
在步骤S104中,终端50基于在步骤S103中受理了操作,向账本服务器40A发送用于执行签订操作所涉及的合同的合同签订处理的合同事务数据。
在步骤S105中,账本服务器40A接收在步骤S104中发送的合同事务数据,并将接收的合同事务数据存放至分散账本。
在步骤S106中,账本服务器40A基于在步骤S105中将合同事务数据存放至分散账本,执行合同签订处理。
图24是表示本实施方式中的合同管理系统1的处理的第一例的时序图。图24所示的时序图表示了账本服务器20A及30A将一览表形式的共通化信息存放至分散账本的情况下的处理。
在图24中,由虚线框表示的处理是与图23不同的处理。以下主要说明与图23不同的处理。此外,关于已经说明的处理步骤,附加同样的标记并省略详细的说明。
在步骤S1~S3中,分析装置10进行二进制码的分析、共通化信息的取得、以及向账本服务器20A及30A的分散账本存放事务数据的控制。向账本服务器20A及30A的分散账本存放事务数据的控制,包括向账本服务器20A及30A发送事务数据。
在步骤S200A中,账本服务器20A接收在步骤S3中发送的事务数据,并存放至分散账本。
在步骤S200B中,账本服务器20B接收在步骤S3中发送的事务数据,并存放至分散账本。
在步骤S201中,分析装置10的输出部13进行向账本服务器40A的分散账本存放执行追加函数的事务数据(也称为追加事务数据)的控制。向账本服务器40A的分散账本存放追加事务数据的控制,包括向账本服务器40A发送追加事务数据。在追加事务数据中,包括将账本服务器20A及30A各自存放的智能合约的地址追加至地址列表的命令。
在步骤S202中,账本服务器40A接收在步骤S201中发送的追加事务数据,并存放至分散账本。
在步骤S203中,账本服务器40A基于在步骤S202中将追加事务数据存放至分散账本,将账本服务器20A及30A各自存放的智能合约的地址追加至地址列表。
在步骤S211中,账本服务器40A接收在步骤S104中发送的合同事务数据。账本服务器40A参照地址列表,对存放有与合同对方的销售者之间的合同签订处理所涉及的智能合约的账本服务器进行检索。在合同对方的销售者是B公司的情况下,通过上述检索得到账本服务器30A的智能合约的地址。账本服务器40A向通过检索而得到的地址,转发所接收的合同事务数据。
在步骤S212中,账本服务器30A接收在步骤S211中发送的合同事务数据,并将接收的合同事务数据存放至分散账本。
在步骤S213中,账本服务器30A基于在步骤S212中将合同事务数据存放至分散账本,执行合同所涉及的智能合约,从而执行合同签订处理。
(补充)
针对上述各实施方式或者变形例中的区块链补充地进行说明。
图25是表示区块链的数据结构的说明图。
区块链通过作为其记录单位的区块被以链(chain)状连接而成。各个区块具有多个事务数据、以及紧前的区块的哈希(Hash)值。具体而言,在区块B2中,包含其之前的区块B1的哈希(Hash)值。另外,根据区块B2中包含的多个事务数据和区块B1的哈希(Hash)值被运算出的哈希(Hash)值,作为区块B2的哈希(Hash)值被包含于区块B3。像这样,将之前的区块的内容作为哈希(Hash)值来包含,并且将区块以链状连接,从而有效地防止被记录的事务数据的篡改。
假设过去的事务数据被变更,则区块的哈希(Hash)值成为与变更前不同的值,要想使篡改后的区块伪装成正确的区块,必须重新制作其后的全部区块,该作业在现实中非常困难。利用该性质,在区块链中确保了篡改困难性。
图26是表示事务数据的数据结构的说明图。
图26所示的事务数据包括事务主体P1和电子签名P2。事务主体P1是该事务数据中包含的数据主体。电子签名P2是通过对于事务主体P1的哈希(Hash)值,由该事务数据的制作者的签名密钥进行签名、更具体而言由制作者的秘密密钥进行加密而生成的签名。
事务数据具有电子签名P2,因此篡改在实质上是不可能的。由此,防止了事务主体的篡改。
此外,在上述实施方式中,各构成要素既可以由专用的硬件构成,也可以通过执行适于各构成要素的软件程序来实现。各构成要素也可以通过CPU或处理器等程序执行部读出并执行在硬盘或半导体存储器等记录介质中记录的软件程序来实现。在此,用于实现上述实施方式的内容管理系统等的软件是如下的程序。
即,该程序是使计算机执行如下控制方法的程序,该控制方法是在具备拥有分散账本的多个装置的合同管理系统中由该多个装置之中的一个装置执行的控制方法,其中,取得包括第一变量和第二变量的第一事务数据,该第一变量表示第一用户与第二用户的第一合同所相关的第一信息,该第二变量表示与所述第一合同所相关的所述第一信息不同的第二信息,而且被设定有表示所述第二信息未定的规定值;执行将取得的所述第一事务数据存放至所述分散账本、并读出所述分散账本中存放的所述第一事务数据所包括的所述第二变量并存放至所述一个装置的能够改写的存储部的存放处理;取得包括第三变量和变更命令的第二事务数据,该第三变量表示所述第一用户与第三用户的第二合同所相关的第三信息,该变更命令基于所述第三变量对所述第二变量进行变更;将取得的所述第二事务数据存放至所述分散账本;在将所述第二事务数据存放至所述分散账本之后,执行依照所述变更命令将所述存储部中存放的所述第二变量从所述规定值变更的变更处理。
以上基于实施方式说明了一个或者多个方式所涉及的合同管理系统等,但本发明不限定于该实施方式。只要不脱离本发明的主旨,对本实施方式实施了本领域技术人员想到的各种变形而得到的方式、组合了不同实施方式中的构成要素而构筑的方式,也都包含在一个或者多个方式的范围内。
工业实用性
本发明能够利用于对合同进行管理的合同管理系统。
附图标记说明:
1 合同管理系统
10 分析装置
11 分析部
12 共通化部
13 输出部
15 服务器功能部
20、30、40 账本网络
20A、20B、20C、30A、30B、30C、40A、40B、40C 账本服务器
21、41 处理部
22、42 账本存储部
23、43 执行部
44 显示控制部
50 终端
51、61、71 图像
52、62、63、72、73 栏
53、64、74 按钮
B0、B1、B2、B3 区块
C1、C2 合约码
C3、C4 共通化码
N 网络
P1 事务主体
P2 电子签名

Claims (12)

1.一种控制方法,
对第一分散账本中存放的多个智能合约各自的二进制码进行分析,
使用所述分析的结果,取得将所述多个智能合约各自提供的信息以共通形式表现的多个共通化信息,
生成包括所取得的所述多个共通化信息的事务数据,并进行将生成的所述事务数据向第二分散账本存放的控制。
2.如权利要求1所述的控制方法,
在所述分析中,
使所述多个智能合约各自具有的函数执行,
在取得所述多个共通化信息中,
取得被执行的所述函数所提供的信息,作为所述多个共通化信息。
3.如权利要求2所述的控制方法,
在所述分析中,
提取所述多个智能合约所具有的函数之中的、具有作为提供所述信息的盖然性较高的函数的名称而预先决定的名称的函数,并使提取的所述函数执行。
4.如权利要求1所述的控制方法,
在所述分析中,
对所述多个智能合约的二进制码进行反汇编,从而取得多个源码,
在取得所述多个共通化信息中,
取得将取得的所述多个源码以共通形式表现的多个共通化码,作为所述多个共通化信息。
5.如权利要求4所述的控制方法,
在取得所述多个共通化信息中,
依照规定的码变换规则对取得的所述多个源码进行变换,从而取得所述多个共通化码。
6.如权利要求1~5中任一项所述的控制方法,
在生成所述事务数据中,
以关于所述多个智能合约中的各个智能合约,将该智能合约的标识符与所述多个共通化信息之中的关于该智能合约的共通化信息建立了对应的形式,生成包括所述多个共通化信息的所述事务数据。
7.如权利要求4或者5所述的控制方法,
在生成所述事务数据中,
以关于所述多个智能合约中的各个智能合约,将该智能合约的标识符与所述多个共通化码之中的关于该智能合约的共通化码建立了对应的形式,生成包括所述多个共通化信息的事务数据。
8.如权利要求6或者7所述的控制方法,
所述控制方法进一步进行控制以使:
所述第二分散账本中存放的所述事务数据被读出,
关于所述多个智能合约中的各个智能合约的共通化信息被显示。
9.如权利要求8所述的控制方法,
所述多个智能合约中的各个智能合约对应于合同签订处理,
所述控制方法进一步进行控制,以使关于所述多个智能合约中的各个智能合约进一步显示按钮,该按钮用于使与该智能合约对应的合同签订处理执行。
10.如权利要求9所述的控制方法,
所述控制方法进一步进行控制,以使在取得了表示针对所述按钮进行了操作的操作信息的情况下,与所述按钮建立了对应的所述智能合约所对应的所述合同签订处理被执行。
11.一种分析装置,具备:
分析部,对第一分散账本中存放的多个智能合约各自的二进制码进行分析;
共通化部,使用所述分析的结果,取得将所述多个智能合约各自提供的信息以共通形式表现的多个共通化信息;以及
输出部,生成包括所取得的所述多个共通化信息的事务数据,并进行将生成的所述事务数据向第二分散账本存放的控制。
12.一种使计算机执行如权利要求1~10中任一项所述的控制方法的程序。
CN202180013728.6A 2020-02-21 2021-02-10 控制方法、分析装置及程序 Pending CN115066672A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062979680P 2020-02-21 2020-02-21
US62/979,680 2020-02-21
PCT/JP2021/005118 WO2021166782A1 (ja) 2020-02-21 2021-02-10 制御方法、分析装置、および、プログラム

Publications (1)

Publication Number Publication Date
CN115066672A true CN115066672A (zh) 2022-09-16

Family

ID=77391964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180013728.6A Pending CN115066672A (zh) 2020-02-21 2021-02-10 控制方法、分析装置及程序

Country Status (4)

Country Link
US (1) US20220365925A1 (zh)
JP (1) JPWO2021166782A1 (zh)
CN (1) CN115066672A (zh)
WO (1) WO2021166782A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508981A (zh) * 2017-09-15 2019-03-22 富士通株式会社 用于测试智能合约的方法和装置
US11144893B2 (en) * 2017-10-30 2021-10-12 Nec Corporation Method and system for securing smart contracts in blockchains
EP3707855A1 (en) * 2017-11-09 2020-09-16 Nchain Holdings Limited System for securing verification key from alteration and verifying validity of a proof of correctness
US11669914B2 (en) * 2018-05-06 2023-06-06 Strong Force TX Portfolio 2018, LLC Adaptive intelligence and shared infrastructure lending transaction enablement platform responsive to crowd sourced information
US20190392138A1 (en) * 2018-06-26 2019-12-26 bootstrap legal Inc. System and Method for Protecting Unknown Vulnerabilities in Smart Contracts
CA3160192A1 (en) * 2019-11-05 2021-05-14 Strong Force Vcn Portfolio 2019, Llc Control tower and enterprise management platform for value chain networks
AU2020379834A1 (en) * 2019-11-05 2022-06-09 Strong Force Vcn Portfolio 2019, Llc Control tower and enterprise management platform for value chain networks

Also Published As

Publication number Publication date
JPWO2021166782A1 (zh) 2021-08-26
WO2021166782A1 (ja) 2021-08-26
US20220365925A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
Platenius-Mohr et al. File-and API-based interoperability of digital twins by model transformation: An IIoT case study using asset administration shell
CN101960423B (zh) 应用开发辅助装置
US8850454B2 (en) Method and computer program product for integrating a first application providing a B2B gateway and one or more second applications
US8504981B2 (en) Application development support device, program, and recording medium
US20050204281A1 (en) Dynamic web storefront technology
US20080288471A1 (en) Apparatus and method for providing a data marketplace
CA2561355A1 (en) System and method for generating tasks related to electronic image files
CN111694565A (zh) 数据可视化应用开发方法及系统
US20230130670A1 (en) System and method for carbon management lifecycle management and extensible carbon markup machine language
CN117174272A (zh) 一种基于大数据模型的药品控制方法、设备及介质
CN115066672A (zh) 控制方法、分析装置及程序
US20230196459A1 (en) System and method for generating, processing, and ledgering extensible carbon objects for carbon offset and transfer and carbon application programming interface
JP5852999B2 (ja) 電子レシート管理サーバ、電子レシートシステムおよびプログラム
JP6944603B1 (ja) データ処理装置、データ処理方法及びプログラム
WO2022018899A1 (ja) Kpiツリーから部分ツリーを抽出するシステム
JP2019095850A (ja) 文書処理装置およびプログラム
JP7253344B2 (ja) 情報処理装置、情報処理方法およびプログラム
KR100370753B1 (ko) 서버에서 실행되는 데이타베이스 연동 페이지 생성방법
JP2020017322A (ja) 電子レシート管理サーバ、プログラムおよび電子レシートシステム
JP2019096362A (ja) 販売データ処理装置、プログラムおよび電子レシートシステム
KR20190122462A (ko) 계약 관리 서비스 제공 방법 및 장치
JP6944581B2 (ja) 電子レシート管理サーバ、プログラム、電子レシートシステムおよび家計簿データ出力方法
JP6921267B2 (ja) 販売データ処理装置、プログラムおよび電子レシートシステム
JP7471602B2 (ja) 情報処理装置及び情報処理方法
Ilgner et al. An implementation to transform business collaboration models to executable process specifications

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