CN114846497A - 控制方法、装置以及程序 - Google Patents
控制方法、装置以及程序 Download PDFInfo
- Publication number
- CN114846497A CN114846497A CN202080086752.8A CN202080086752A CN114846497A CN 114846497 A CN114846497 A CN 114846497A CN 202080086752 A CN202080086752 A CN 202080086752A CN 114846497 A CN114846497 A CN 114846497A
- Authority
- CN
- China
- Prior art keywords
- transaction data
- contract
- variable
- signature
- stored
- 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
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
-
- 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/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- 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/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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)
- Physics & Mathematics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
将包含第一变量的第一事务数据储存于分散账本,所述第一变量表示具有将第一用户与第二用户之间的第一合约认定为有效的权限的权限者,所述第一变量被设定为表示权限者待定的规定值,执行将所述规定值储存于能够改写的存储部的储存处理,取得包含变更命令的第二事务数据,所述变更命令将第一变量变更为第三用户的识别信息(S122),将第二事务数据储存于分散账本(S124),执行按照变更命令对被储存于存储部的第一变量进行变更的变更处理(S125),取得包含履行命令的第三事务数据,所述履行命令执行履行第一合约的履行处理(S126),将第三事务数据储存于分散账本,在判断为储存于存储部的第一变量为规定值以外的情况下,按照履行命令执行履行处理(S130)。
Description
技术领域
本发明涉及控制方法、装置以及程序。
背景技术
存在使用分散账本来管理合约所涉及的信息的技术。被储存于分散账本的信息以实质上不能够改写的方式被管理。
公开了即使在使用了分散账本的系统中存在多个管理者的状况下,也使运用方针或者运用的定时一致的技术。
现有技术文献
专利文献
专利文献1:国际公开第2019/021792号
发明内容
发明要解决的课题
本发明提供对管理合约的计算机系统的消耗电力的增大进行抑制的控制方法等。
用于解决课题的手段
本发明一形态的控制方法,是在具备保有分散账本的多个装置的合约管理系统中,该多个装置中的一个装置所执行的控制方法,在所述控制方法中,取得包含第一变量的第一事务数据,所述第一变量表示具有将第一用户与第二用户之间的第一合约认定为有效的权限的权限者,所述第一变量被设定为表示所述权限者待定的规定值,将取得的所述第一事务数据储存于所述分散账本,执行读出在储存于所述分散账本的所述第一事务数据中作为所述第一变量而被包含的所述规定值,并将所述规定值储存于所述一个装置的能够改写的存储部的储存处理,取得包含变更命令的第二事务数据,所述变更命令将所述第一变量变更为第三用户的识别信息,将取得的所述第二事务数据储存于所述分散账本,在将所述第二事务数据储存于所述分散账本之后,执行按照所述变更命令对被储存于所述存储部的所述第一变量进行变更的变更处理,取得包含履行命令的第三事务数据,所述履行命令执行履行所述第一合约的履行处理,将取得的所述第三事务数据储存于所述分散账本,在将所述第三事务数据储存于所述分散账本之后,在判断为储存于所述存储部的所述第一变量为所述规定值以外的情况下,按照所述履行命令执行所述履行处理。
另外,这些总括性或具体形态,也可以由系统、装置、集成电路、计算机程序或计算机可读取的CD-ROM等的记录介质实现,也可以由系统、装置、集成电路、计算机程序以及记录介质的任意组合实现。
发明效果
本发明的控制方法能够对管理合约的计算机系统的消耗电力的增大进行抑制。
附图说明
图1是示意性地示出实施方式1的合约的流程的一个例子的说明图。
图2是示意性地示出实施方式1的合约管理系统的结构的方框图。
图3是示出实施方式1的账本服务器的功能结构的方框图。
图4是示出实施方式1的事务数据的第一例子的说明图。
图5是示出实施方式1的事务数据的第二例子的说明图。
图6是示出实施方式1的事务数据的第三例子的说明图。
图7是示出实施方式1的事务数据的第四例子的说明图。
图8是示出实施方式1的合约管理系统的处理的第一序列图。
图9是示出实施方式1的合约管理系统的处理的第二序列图。
图10是示出实施方式2的事务数据的第一例子的说明图。
图11是示出实施方式2的事务数据的第二例子的说明图。
图12是示出实施方式2的账本服务器的处理的流程图。
图13是示出实施方式3的事务数据的例子的说明图。
图14是示出实施方式3的合约管理系统的处理的序列图。
图15是示出供应链的变形例的说明图。
图16是示出区块链的数据构造的说明图。
图17是示出事务数据的数据构造的说明图。
具体实施方式
(作为本发明的基础的知识)
本发明人发现关于在“背景技术”栏中记载的与合约有关的技术会发生以下的问题。
存在使用分散账本来管理合约的信息的技术。储存于分散账本的信息以实质上不能被改写的方式被管理。此外,存在使用分散账本执行与合约相关的处理,并管理合约的技术。这样的技术例如可以由智能合约(smart contact)实现。
然而,存在如下合约,在合约被签订之后,在认定了被签订的该合约有效的情况下,该合约被履行。上述合约不以签订最初的状态原样地被履行,换言之,可以认为签订最初为无效的状态。
在使用分散账本来管理这样的合约的情况下,假定合约的内容被储存于分散账本,之后,表示是否被认定为有效的信息被储存于分散账本。但是,如上所述,被储存于分散账本的信息的改写以实质上不可能的方式被管理,因此在认定为合约有效的时间点,无法变更合约的内容。
因此,存在如下方法:在对在认定为签订的合约有效的情况下该合约被履行这样的合约进行管理的情况下,在合约被认定为有效之后,通过分散账本来管理追加了后述信息的新的合约内容,所述信息表示所述合约是被认定为有效的合约。
假设,若通过人工来决定新的合约的内容并使用分散账本管理,则需要向人提示信息、从人受理信息的输入的处理,存在上述处理所使用的计算机的消耗电力增大这一问题。此外,还存在需要较多的上述处理所需要的计算机资源,例如用于提示信息的输出器件(显示装置或者扬声器等)、或者用于受理信息的输入的器件(触摸板、键盘、鼠标等)这一问题。
而且,由于人介入,因此存在耗费人的劳力和时间这一问题。此外,还会发生人生成不正确的合约内容并存储于分散账本这一问题。
本发明提供对管理合约的计算机系统的消耗电力的增大进行抑制的控制方法等。
为了解决这样的问题,本发明一形态的控制方法,是在具备保有分散账本的多个装置的合约管理系统中,该多个装置中的一个装置所执行的控制方法,在所述控制方法中,取得包含第一变量的第一事务数据,所述第一变量表示具有将第一用户与第二用户之间的第一合约认定为有效的权限的权限者,所述第一变量被设定为表示所述权限者待定的规定值,将取得的所述第一事务数据储存于所述分散账本,执行读出在储存于所述分散账本的所述第一事务数据中作为所述第一变量而被包含的所述规定值,并将所述规定值储存于所述一个装置的能够改写的存储部的储存处理,取得包含变更命令的第二事务数据,所述变更命令将所述第一变量变更为第三用户的识别信息,将取得的所述第二事务数据储存于所述分散账本,在将所述第二事务数据储存于所述分散账本之后,执行按照所述变更命令对被储存于所述存储部的所述第一变量进行变更的变更处理,取得包含履行命令的第三事务数据,所述履行命令执行履行所述第一合约的履行处理,将取得的所述第三事务数据储存于所述分散账本,在将所述第三事务数据储存于所述分散账本之后,在判断为储存于所述存储部的所述第一变量为所述规定值以外的情况下,按照所述履行命令执行所述履行处理。
根据上述形态,在第一合约的签订的时间点,在第一合约包含作为权限者待定的信息的情况下,也能够通过分散账本来管理第一合约所对应的事务数据,此外,能够根据信息的变更适当地管理之后被设定的权限者。另外,以在确定了第一合约的权限者并非待定的基础上,履行处理被执行的方式进行管理。待定的信息的变更的处理由服务器的计算机处理实现,换言之,人不介入而被执行。因此,能够抑制计算机的消耗电力的增大,或者能够抑制计算机资源的需求量。此外,能够减少人进行处理的劳动和时间。如此,上述控制方法能够对管理合约的计算机系统的消耗电力的增大进行抑制。
此外,也可以是,在执行所述履行处理时,在将所述第三事务数据储存于所述分散账本之后,在判断为储存于所述存储部的所述第一变量被设定了所述第三用户的识别信息作为所述权限者的情况下,按照所述履行命令执行所述履行处理。
根据上述形态,以在确定了第三用户的识别信息被设定为权限者的基础上,履行处理被执行的方式适当地进行管理。如此,上述控制方法能够对管理与三方相关的合约的计算机系统的消耗电力的增大进行抑制。
此外,也可以是,所述第一变量还包含应该对所述第一事务数据赋予的所述权限者的电子签名,在执行所述履行处理时,在将所述第三事务数据储存于所述分散账本后,在被储存于所述存储部的所述第一变量所含的所述电子签名的验证成功了的情况下,按照所述履行命令执行所述履行处理。
根据上述形态,在权限者的针对第一事务数据的签名被赋予之后,能够确定权限者确实参照第一合约而将第一合约认定为有效。由此,上述控制方法能够确定权限者将合约认定为有效,并且,能够对管理合约的计算机系统的消耗电力的增大进行抑制。
此外,也可以是,所述第一事务数据包含第一合约代码,所述第一合约代码包含所述第一变量以及将所述第一变量储存于所述存储部的储存命令,基于所述第一事务数据被储存于所述分散账本,所述一个装置所具备的合约执行部执行所述第一合约代码所含的所述储存命令,从而所述储存处理被进行。
根据上述形态,将第一事务数据储存于存储部的处理,基于第一事务数据被储存于分散账本而由基于智能合约自动地执行,换言之,人不介入而被执行。因此,能够进一步抑制计算机的消耗电力的增大,或者进一步抑制计算机资源的需求量。此外,能够进一步减少人进行处理的劳力和时间。如此,上述控制方法能够进一步对管理合约的计算机系统的消耗电力的增大进行抑制。
此外,也可以是,所述第一事务数据包含第一合约代码,所述第一合约代码包含所述第一变量以及将所述第一变量储存于所述存储部的储存命令,基于所述第一事务数据被储存于所述分散账本,所述一个装置所具备的合约执行部执行所述第一合约代码所含的所述储存命令,从而所述储存处理被进行,所述第一合约代码包含签名设定函数,所述签名设定函数对作为所述第一变量而被储存于所述存储部的所述电子签名进行设定,在取得了包含通过使所述签名设定函数执行从而对所述第一变量设定所述权限者的电子签名的命令的第四事务数据的情况下,基于取得的所述第四事务数据被储存于所述分散账本,所述合约执行部执行所述签名设定函数,从而所述变更处理被进行。
根据上述形态,利用第一合约代码所包含的预先准备的签名设定函数来将权限者的签名储存于存储部。由于使用第一合约代码所包含的预先准备的签名设定函数,因此能够进一步减少人进行处理的劳力和时间,能够进一步抑制计算机的消耗电力的增大,或者能够进一步抑制计算机资源的需求量。
此外,也可以是,所述第二事务数据包含第二合约代码,所述第二合约代码包含所述变更命令,基于所述第二事务数据被储存于所述分散账本,所述变更命令被所述一个装置所具备的合约执行部执行,从而所述变更处理被进行。
根据上述形态,对第二信息进行变更的处理基于第二事务数据被储存于分散账本而被智能合约自动地执行,换言之,人不介入而被执行。因此,能够进一步抑制计算机的消耗电力的增大,或者能够进一步抑制计算机资源的需要量。此外,能够进一步减少人进行处理的劳力和时间。如此,上述控制方能够进一步对管理合约的计算机系统的消耗电力的增大进行抑制。
此外,也可以是,所述第一事务数据包含所述第一用户的电子签名与所述第二用户的电子签名,在将所述第一事务数据储存于所述分散账本时,在所述第一事务数据所包含的所述第一用户的电子签名与所述第二用户的电子签名双方的验证成功了的情况下,将所述第一事务数据储存于所述分散账本。
根据上述形态,在相当于第一合约的第一事务数据中包含有签订了第一合约的第一用户以及第二用户各自的电子签名。因此,通过验证各电子签名,能够证明第一用户以及第二用户确实签订了第一合约。由此,上述控制方法能够进一步适当地管理合约。
此外,也可以是,所述控制方法进而,取得包含第二变量的第五事务数据,所述第二变量与所述第一用户和所述第三用户之间的第二合约相关,将取得的所述第五事务数据储存于所述分散账本,所述第二事务数据是基于所述第五事务数据被储存于所述分散账本而被提供的所述第二事务数据。
根据上述形态,在第一合约的签订的时间点之后,在根据第二合约的签订而第三用户被决定的情况下,基于第五事务数据被储存于分散账本而自动地,用于权限者的变更的第二事务数据被储存于分散账本并且权限者被变更。由此,能够进一步减少人进行处理的劳力和时间,进一步抑制计算机的消耗电力的增大,或者进一步抑制计算机资源的需求量。
此外,也可以是,所述第一合约包含所述第一用户从所述第二用户购入材料,将购入的所述材料在规定的期限前配送到规定的交付目的地的合约,所述第二合约包含所述第三用户用从所述第二用户收到的所述材料制造产品并向所述第一用户交付的合约,所述第二变量包含表示所述产品的购入金额的变量、表示交付所述产品的期限的变量、以及表示所述产品的交付目的地的变量。
根据上述形态,即使在将材料合约认定为有效的权限者在材料合约的签订的时间点为待定的情况下,以将根据之后被签订的制造委托合约而被确定的制造者设为权限者的方式进行变更,从而材料合约被适当地管理。如此,上述控制方法能够适当地管理第一用户与第二用户的材料合约以及材料合约的权限者。
此外,本发明一形态的装置,是具备保有分散账本的多个装置的合约管理系统中的该多个装置中的一个装置,所述装置具备:处理部;存储有所述分散账本的账本存储部;执行部;以及能够改写的存储部,所述处理部取得包含第一变量的第一事务数据,所述第一变量表示具有将第一用户与第二用户之间的第一合约认定为有效的权限的权限者,所述第一变量被设定为表示所述权限者待定的规定值,将取得的所述第一事务数据储存于所述分散账本,所述执行部执行读出在储存于所述分散账本的所述第一事务数据中作为所述第一变量而被包含的所述规定值,并将所述规定值储存于所述一个装置的能够改写的存储部的储存处理,所述处理部进而取得包含变更命令的第二事务数据,所述变更命令将所述第一变量变更为第三用户的识别信息,所述处理部进而将取得的所述第二事务数据储存于所述分散账本,在将所述第二事务数据储存于所述分散账本之后,所述执行部进而执行按照所述变更命令对被储存于所述存储部的所述第一变量进行变更的变更处理,所述处理部进而取得包含履行命令的第三事务数据,所述履行命令执行履行所述第一合约的履行处理,所述处理部进而将取得的所述第三事务数据储存于所述分散账本,在将所述第三事务数据储存于所述分散账本之后,所述执行部进而在判断为储存于所述存储部的所述第一变量为所述规定值以外的情况下,按照所述履行命令执行所述履行处理。
根据上述形态,实现与上述控制方法相同的效果。
此外,本发明的一形态的程序是用于使计算机执行上述的控制方法的程序。
根据上述形态,实现与上述控制方法相同的效果。
另外,这些总括性或具体形态,也可以由系统、装置、集成电路、计算机程序或计算机可读取的CD-ROM等的记录介质实现,也可以由系统、装置、集成电路、计算机程序以及记录介质的任意组合实现。
以下,对于实施方式,参照附图进行具体说明。
另外,以下说明的实施方式,都示出总括性或具体例子。以下的实施方式所示的数值、形状、材料、构成要素、构成要素的配置位置以及连接方式、步骤、步骤的顺序等是一个例子,其主旨并非是限定本发明。并且,对于以下的实施方式的构成要素中的示出最上位概念的实施方案中没有记载的构成要素,作为任意的构成要素而被说明。
(实施方式1)
本实施方式中,对于对管理合约的计算机系统的消耗电力的增大进行抑制的合约管理系统以及其控制方法等进行说明。
图1是示意性地示出本实施方式的合约的流程的一个例子的说明图。
具体而言,图1示意性地示出了与构成供应链的A公司、B公司以及C公司三方相关的合约、以及由该合约所实现的物品的交付。也将A公司称为第一用户、将B公司称为第二用户、将C公司称为第三用户。
首先,如图1的(1)所示,在A公司与B公司之间签订材料合约(相当于第一合约)。材料合约是对A公司从B公司购入材料,B公司将该材料交付到交付目的地(也称作材料交付目的地)进行规定的合约。材料合约中包含有材料的交付日期,材料的购入的金额以及材料交付目的地。
这里,假定在A公司与B公司的合约的签订的时间点,决定了材料的购入的金额以及材料的交付日期,但材料交付目的地为待定的情况。此外,假定在将未来被决定的材料交付目的地为A公司与B公司的合约认定为有效的情况下,该合约被履行的情况。上述合约不以签订最初的状态原样地被履行,换言之,可以认为签订最初为无效的状态。另外,由于在A公司与B公司的合约的签订的时间点,材料交付目的地以及具有将上述合约认定为有效的权限的一方(权限者)待定,因此材料合约中的材料交付目的地以及权限者被设定为表示待定的信息。
在材料合约的签订后,如图1的(2)所示,A公司与C公司之间签订制造委托合约(相当于第二合约)。制造委托合约是对C公司用材料来制造产品,并将制造的产品向A公司交付进行规定的合约。材料从B公司交付。制造委托合约中包含有产品的交付日期、产品的购入的金额以及产品的交付目的地(也称作产品交付目的地)。
此外,在图1的(2)中制造产品的一方被确定为C公司,与之相应,先被签订的材料合约中的材料交付目的地以及权限者被设定为C公司(图1的(3))。
之后,作为权限者的C公司参照材料合约的内容并且确认没有问题,而将材料合约认定为有效(图1的(4))。
基于材料合约被认定为有效,A公司将材料合约涉及的材料的购入金额向B公司支付(图1的(5a)),并且,B公司将材料向C公司交付(图1的(5b)),从而材料合约被履行。
此外,A公司将制造委托合约所涉及的金额向C公司支付(图1的(6a)),并且,C公司将产品向A公司交付(图1的(6b)),从而制造委托合约被履行。
假定在使用分散账本来执行这样的合约与合约的履行所涉及的处理中,使用对材料合约的内容进行规定的一个智能合约CA,以及对制造委托合约的内容进行规定的一个智能合约CB。
假定在这种情况下,智能合约CA中的材料交付目的地以及权限者在A公司与B公司的材料合约的签订时被设定为待定,之后,在A公司与C公司的制造委托合约的签订时通过智能合约CB所执行的处理而被变更或者设定。为了使材料交付目的地以及权限者的变更或者设定成为可能,材料交付目的地以及权限者被保存于能够改写的存储区域。
通过如此,能够避免上述的计算机的消耗电力的增大、或者需要较多的器件这一问题,此外,能够避免人介入所引起的问题。
以下对这样的适当地管理合约的方式的技术进行详细说明。
图2是示意性地示出本实施方式的合约管理系统1的结构的方框图。
如图2所示,合约管理系统1具备账本服务器10A、10B以及10C、及终端20A、20B以及20C。
账本服务器10A、10B以及10C也称作“账本服务器10A等”,终端20A、20B以及20C也称作“终端20A等”。
账本服务器10A与终端20A属于A公司,账本服务器10B与终端20B属于B公司,账本服务器10C与终端20C属于C公司。这里,示出了合约管理系统1管理与三方相关的合约的例子,但与合约相关方的数量也可以为四以上。
合约管理系统1所具备的各装置直接地或者间接地连接于网络N,并能够经由网络N相互通信。
网络N可以由任意的通信线路或者网络构成,例如可以包含因特网、手机的运营商网络、因特网提供商访问网络、或者公用访问网络等。
账本服务器10A是在合约管理系统1中使用分散账本来管理合约的多个账本服务器10A等中的一个。账本服务器10A也称作装置。
账本服务器10A保有分散账本。账本服务器10A所保有的分散账本中储存有事务数据。储存于分散账本的事务数据中包含有包括与合约相关的智能合约所涉及的合约代码(也仅称作代码)的事务数据。此外,账本服务器10A与分散账本被储存的存储区域分开地,具有能够改写的存储区域,将与合约相关的变量储存于能够改写的存储区域。
账本服务器10B以及10C各自是与账本服务器10A具有相同的功能的装置,与账本服务器10A独立动作。
终端20A是属于A公司的用户所使用的信息终端。终端20A由用户操作,例如用于生成智能合约的代码、将智能合约的代码配置于账本服务器10A。终端20A例如是个人计算机、智能手机或者平板等。
终端20B以及20C各自具有与终端20A相同的功能,是属于B公司以及C公司的用户所使用的信息终端,与终端20A独立地动作。
另外,也可以有一个以上的终端分别属于A公司、B公司以及C公司。
另外,也可以是终端20A还具备账本服务器10A的功能。该情况下,终端20A相当于使用分散账本来管理合约的装置。同样,也可以是终端20B还具备账本服务器10B的功能。该情况下,终端20B相当于使用分散账本来管理合约的装置。而且,也可以是终端20C还具备账本服务器10C的功能。该情况下,终端20C相当于使用分散账本来管理合约的装置。
图3是示出本实施方式的账本服务器10A的功能结构的方框图。
如图3所示,账本服务器10A具备处理部11、账本存储部12、执行部13、以及存储部14。
处理部11是执行与事务数据相关的处理的功能部。处理部11可以通过账本服务器10A所具备的处理器(例如CPU(中央处理器,Central Processing Unit))使用存储器执行程序而实现。
处理部11执行取得事务数据,并将取得的事务数据储存于分散账本的处理。此外,处理部11执行生成事务数据,生成关于生成的事务数据的电子签名(也仅称为签名),并将生成的签名赋予上述事务数据的处理。
处理部11在将新的事务数据储存于分散账本时,通过与分散账本的种类相应的方式来将新的事务数据储存于账本存储部12。此外,处理部11与账本服务器10A等中的其他账本服务器所具备的账本存储部12进行通信数据的收发,使上述事务数据也储存于其他账本服务器所具备的账本存储部12。例如,处理部11在分散账本为区块链的情况下,生成包含新的事务数据的区块,对于生成的区块在账本服务器10A等之间通过共识算法而进行了共识形成的基础上,将上述区块储存于账本存储部12。
具体而言,处理部11取得第一事务数据,将取得的第一事务数据储存于分散账本。第一事务数据包含变量,所述变量是表示具有将A公司与B公司之间的材料合约(第一合约)认定为有效的权限的权限者的变量(也称作第一变量),所述变量被设定为表示权限者待定的规定值。规定值可以使用在能够对第二变量进行设定的数值的范围内,为了表示材料交付目的地而实际上不会使用的数值(例如零)或者规定的预定值。
此外,处理部11取得第二事务数据,将取得的第二事务数据储存于分散账本。第二事务数据包含将第一变量变更为C公司的识别信息的变更命令。另外,第二事务数据也可以是基于第五事务数据被储存于分散账本而被提供的第二事务数据,所述第五事务数据包含与A公司和C公司之间的第二合约相关的变量(也称作第二变量)。
此外,处理部11取得第三事务数据,将取得的第三事务数据储存于分散账本。第三事务数据包含履行命令,所述履行命令执行履行材料合约的履行处理。
账本存储部12是存储有分散账本的存储部。储存于账本存储部12的分散账本中存储有一个以上的事务数据,并以使用哈希值等的特性而篡改困难的方式被管理(后述)。账本存储部12将从处理部11提供的事务数据储存于分散账本。分散账本中储存有从过去到当前的事务数据。基于记录于分散账本的信息的篡改困难这一特性,上述事务数据以不被篡改的方式被管理。
另外,分散账本例如是区块链,以这种情况为例子进行说明,但也能够采用其他方式的分散账本(例如IOTA或者哈希图表等)。另外,分散账本在新数据的储存时可以执行共识算法(例如PBFT(实用拜占庭容错算法,Practical Byzantine FaultTolerance),PoW(工作量证明,ProofofWork)或者PoS(权益证明,ProofofStake)),也可以不执行。作为不执行共识算法的分散账本技术的一个例子存在Hyperledger fabric(超级账本结构)。
执行部13是参照储存于账本存储部12所存储的分散账本中的事务数据而执行处理的功能部。执行部13可以通过账本服务器10A所具备的处理器(例如CPU)使用存储器执行程序而实现。这里,以执行部13是根据储存于分散账本的事务数据所包含的智能合约的代码来执行处理的合约执行部的情况为例子进行说明。
具体而言,执行部13在第一事务数据被储存于分散账本后,执行读出储存于分散账本的第一事务数据中作为第一变量而被包含的规定值并将该规定值储存于存储部14的储存处理。
储存处理例如基于第一事务数据被储存于分散账本,通过执行部13执行第一合约代码而被进行。另外,也可以是,在取得了包含使签名设定函数执行的命令的第四事务数据的情况下,基于取得的第四事务数据被储存于分散账本,执行部13执行签名设定函数,从而变更处理被进行。在该情况下,第一合约代码包含对作为第一变量而被储存于存储部14的电子签名进行设定的签名设定函数。
此外,执行部13执行在第二事务数据被储存于分散账本之后,按照变更命令对储存于存储部14的第一变量进行变更的变更处理。
例如基于第二事务数据被储存于分散账本,变更命令被执行部13执行,从而变更处理被进行,从而第二事务数据包含包括变更命令的第二合约代码。
此外,执行部13在第三事务数据被储存于分散账本后,在判断为储存于存储部14的第一变量为规定值以外的值的情况下,按照履行命令执行履行处理。
在执行履行处理时,也可以是,在将第三事务数据储存于分散账本后,在判断为作为储存于存储部14的第一变量的权限者被设定了第三用户的识别信息的情况下,按照履行命令执行履行处理。
此时,也可以是,在将第三事务数据储存于分散账本后,在储存于存储部14的第一变量所含的电子签名的验证成功了的情况下,按照履行命令执行履行处理。这里,设为第一变量还包含应该对第一事务数据赋予的权限者的电子签名。
存储部14是具有储存有变量的存储区域的存储装置。变量是表示与合约相关的信息的变量,具体而言,包含第一变量以及第二变量。储存于存储部14的变量基于执行部13而被设定,此外,被读出。存储部14由能够改写的存储装置,例如由RAM(随机存取存储器,RandomAccess Memory)等存储器、或者HDD(硬盘驱动器,Hard Disk Drive)或SSD(固态硬盘,Solid State Drive)等储存器实现。
另外,第一事务数据可以适用被赋予多个签名的多重签名技术,以这种情况为例子进行说明,但也可以是第一事务数据仅被赋予单一的电子签名。
具体而言,第一事务数据可以包含作为材料合约的签订者的A公司以及B公司各自的电子签名。该情况下,处理部11在将第一事务数据储存于分散账本时,在第一事务数据所包含的A公司以及B公司各自的电子签名的验证成功了的情况下,将第一事务数据储存于分散账本。
另外,第一合约以及第二合约还可以如下表示。即,第一合约包含第一用户从第二用户购入材料,并将购入的材料在规定的期限之前配送到规定的交付目的地的合约。此外,第二合约包含第三用户用从第二用户收到的材料制造产品并向第一用户交付的合约。在这种情况下,第二变量包含表示产品的购入金额的变量、表示交付产品的期限的变量、以及表示产品的交付目的地的变量。
以下,对事务数据以及智能合约的代码进行说明。
图4是示出作为本实施方式的事务数据的第一例子的事务数据TA的说明图。事务数据TA相当于第一事务数据。事务数据TA例如由账本服务器10A生成。
如图4所示,事务数据TA包含“智能合约CA的代码”、“传递给初始化函数的参数”、“签名1”、“签名2”、以及“发送日期和时间”。
“智能合约CA的代码”是智能合约CA所使用的变量,包含表示储存于存储部14的变量的变量部。变量部如图4中的虚线框所示。以下也使用相同的表现形式。智能合约CA所使用的变量包含金额、材料交付目的地、交付日期以及材料交付目的地签名。金额表示材料合约中A公司支付的金额。材料交付目的地表示根据材料合约B公司制造的材料的交付目的地。交付日期表示B公司将材料向材料交付目的地交付的日期。材料交付目的地签名表示材料交付目的地应该对该事务数据TA赋予的签名。
此外,“智能合约CA的代码”包含初始化函数、支付函数、以及签名设定函数。初始化函数是在该事务数据被储存于分散账本时由执行部13执行的特别的函数。初始化函数是在该事务数据被储存于分散账本时由执行部13执行的特别的函数。以下也相同。
初始化函数受理金额和交付日期作为参数。此外,初始化函数在被执行的情况下,对储存于存储部14的表示材料交付目的地的变量、表示金额的变量以及表示交付日期的变量设定值。具体而言,在初始化函数被执行的情况下,对表示材料交付目的地以及材料交付目的地签名的变量分别设定规定值,对表示金额的变量设定作为参数而受理的金额,对表示交付日期的变量设定作为参数而受理的交付日期。
另外,将图4中作为初始化函数而示出的函数设为一般的函数(即,非初始化函数的函数),以通过该事务数据使该函数执行的方式也能够实现相同的效果。对于其他智能合约的代码所包含的初始化函数也相同。
支付函数是执行从应该履行材料合约的A公司,向作为材料合约的签订者的B公司支付材料合约涉及的金额的处理的函数。支付函数在被执行的情况下,执行材料交付目的地签名的验证处理,在该验证成功了的情况下执行支付处理。也可以在该验证失败了的情况下执行错误处理。
签名设定函数在被执行的情况下,对储存于存储部14的材料交付目的地签名进行设定。
签名设定函数受理签名作为参数。此外,签名设定函数在被执行的情况下,对储存于存储部14的表示材料交付目的地签名的变量设定值。具体而言,初始化函数在被执行的情况下,对表示材料交付目的地签名的变量设定作为参数而受理的签名。
“传递给初始化函数的参数”是传递给智能合约CA的初始化函数的参数,包含交付日期(2019年1月1日)与金额(500万日元)。作为该参数而示出的信息被传递给初始化函数。
“签名1”是被赋予给事务数据TA的两个电子签名中的第一个。签名1包含有A公司的签名SA。
“签名2”是被赋予给事务数据TA的两个电子签名中的第二个。签名2包含有B公司的签名SB。
“发送日期和时间”表示事务数据TA被发送的日期和时间。发送日期和时间储存有“2018年10月01日12时00分00秒”。
在图4所示的事务数据TA被储存于分散账本时,初始化函数被执行,从而对于存储部14的表示金额以及交付日期的变量分别设定作为参数而被传递给初始化函数的金额以及交付日期。
图5是示出作为本实施方式的事务数据的第二例子的事务数据TB的说明图。事务数据TB例如由账本服务器10A生成。
如图5所示,事务数据TB包含“智能合约CB的代码”、“传递给初始化函数的参数”、“签名1”、“签名2”、以及“发送日期和时间”。
“智能合约CB的代码”包含变量部与初始化函数。智能合约CB所使用的变量包含金额、产品交付目的地以及交付日期。金额表示制造委托合约中A公司支付的金额。产品交付目的地表示根据制造委托合约C公司制造的产品的交付目的地。交付日期表示C公司将产品向产品交付目的地交付的日期。
初始化函数受理金额、交付日期、产品交付目的地、合约地址、以及材料交付目的地作为参数。此外,初始化函数在被执行的情况下,对储存于存储部14的表示金额的变量、表示交付日期的变量、表示产品交付目的地的变量以及表示材料交付目的地的变量设定值。具体而言,初始化函数在被执行的情况下,对表示金额的变量设定作为参数而受理的金额,对表示交付日期的变量设定作为参数而受理的交付日期,对表示产品交付目的地的变量设定作为参数而受理的产品交付目的地。此外,初始化函数在被执行的情况下,对表示根据参数而被确定的智能合约的材料交付目的地的变量设定作为参数而受理的材料交付目的地。
“传递给初始化函数的参数”是传递给智能合约CB的初始化函数的参数,包含交付日期(2019年2月1日)、金额(500万日元)、产品交付目的地(A公司的识别信息)、合约地址(智能合约CA的地址)、以及材料交付目的地(C公司的识别信息)。作为该参数而被示出的信息被传递给初始化函数。另外,存在将作为变量的产品交付目的地被设定的A公司的识别信息仅记载为A公司的情况。对于B公司以及C公司也相同。以下也相同。
“签名1”是被赋予给事务数据TB的两个电子签名中的第一个。签名1包含有A公司的签名SA。
“签名2”是被赋予给事务数据TB的两个电子签名中的第二个。签名2包含有C公司的签名SC。
“发送日期和时间”表示事务数据TB被发送的日期和时间。发送日期和时间储存有“2018年11月01日12时00分00秒”。
在图5所示的事务数据TB被储存于分散账本的情况下,初始化函数被执行,从而存储部14的表示交付日期、金额以及产品交付目的地的变量分别被设定为作为参数而被传递给初始化函数的交付日期、金额以及产品交付目的地。此外,基于作为参数而被传递给初始化函数的合约地址与材料交付目的地,智能合约CA的材料交付目的地被变更为C公司。
图6是示出作为本实施方式的事务数据的第三例子的事务数据TC的说明图。事务数据TC是用于使智能合约CA的签名设定函数执行的事务数据。将事务数据TC储存于分散账本相当于发送使智能合约CA的签名设定函数执行的命令。事务数据TC相当于第二事务数据。
如图6所示,事务数据TC包含“被执行的函数”、“传递给签名设定函数的参数”、“签名”、以及“发送日期和时间”。
“被执行的函数”表示通过该智能合约被储存于分散账本而被执行的函数。图6中,作为被执行的函数设定有智能合约CA的签名设定函数。
“传递给签名设定函数的参数”表示传递给被该智能合约CA执行的函数即签名设定函数的参数。传递给签名设定函数的参数被设定为材料交付目的地的签名(即,C公司的签名)。
“签名”表示被赋予给事务数据TC的电子签名。签名包含有A公司的签名SA。
“发送日期和时间”表示事务数据TC被发送的日期和时间。发送日期和时间储存有“2018年11月02日12时00分00秒”。
通过图6所示的事务数据TC被储存于分散账本,作为参数中的签名被设定为C公司的签名并且智能合约CA的签名设定函数被执行,其结果,智能合约CA的材料交付目的地签名被变更为C公司的签名。
图7是示出作为本实施方式的事务数据的第四例子的事务数据TD的说明图。事务数据TD是用于使智能合约CA的支付函数执行的函数。将事务数据TD储存于分散账本相当于发送使智能合约CA的支付函数执行的命令。事务数据TD相当于第三事务数据。
如图7所示,事务数据TD包含“被执行的函数”、“签名”、以及“发送日期和时间”。
“被执行的函数”表示通过该智能合约被储存于分散账本而被执行的函数。被执行的函数被设定为智能合约CA的支付函数。
“签名”表示赋予给事务数据TD的电子签名。签名包含A公司的签名SA。
“发送日期和时间”表示事务数据TC被发送的日期和时间。发送日期和时间储存有”2018年11月03日12时00分00秒”。
通过图7所示的事务数据TD被储存于分散账本,智能合约CA的支付函数被执行,其结果,从A公司向C公司支付材料合约涉及的金额的支付处理被执行。
图8以及图9是示出本实施方式的合约管理系统1的处理的序列图。图8以及图9示出了材料合约的签订、制造委托合约的签订以及权限者的设定一系列的处理。
在图8的步骤S101中,账本服务器10A的处理部11取得智能合约CA的代码。智能合约CA的代码的取得可以通过账本服务器10A生成该代码来完成,也可以基于由A公司的担当者进行的操作接收从终端20A发送的代码来完成。
在步骤S102中,账本服务器10A的处理部11生成事务数据TA。被生成的事务数据TA包含有步骤S101中取得的智能合约CA的代码(参照图4)。
在步骤S103中,账本服务器10A的处理部11生成与步骤S102中生成的事务数据TA相关的签名并赋予给事务数据TA,将赋予了签名的事务数据TA向账本服务器10B发送。
在步骤S104中,账本服务器10B的处理部11接收步骤S103中发送的事务数据TA,生成与接收到的事务数据TA相关的签名并赋予给事务数据TA,将赋予了签名的事务数据TA分别发送给账本服务器10A以及10C。由此,成为所有的账本服务器10A等具有被赋予了账本服务器10A以及10B各自的签名的事务数据TA的状态。
在步骤S105中,账本服务器10A等各自将在步骤S104中被赋予了签名、或者被发送的事务数据TA储存于分散账本。在将事务数据TA向分散账本储存时,可以以基于共识算法而完成共识形成为条件,将事务数据TA向分散账本储存。
基于账本服务器10A等各自的处理部11在步骤S105中将事务数据TA储存于分散账本来执行智能合约CA的初始化函数,从而下述步骤S106以及步骤S107被实现。
在步骤S106中,账本服务器10A等各自的处理部11对储存于存储部14的表示金额的变量、表示交付日期的变量分别设定事务数据TA中作为初始化函数的参数而被传递的金额与交付日期。
在步骤S107中,账本服务器10A等各自的处理部11对储存于存储部14的表示材料交付目的地以及材料交付目的地签名的变量分别设定规定值。规定值是表示材料交付目的地以及材料交付目的地签名各自待定的值。
在步骤S108中,账本服务器10A的处理部11取得智能合约CB的代码。智能合约CB的代码的取得可以由账本服务器10A生成该代码来完成,也可以基于由A公司的担当者进行的操作而接收从终端20A发送的代码来完成。
在步骤S109中,账本服务器10A的处理部11生成事务数据TB。被生成的事务数据TB包含有步骤S108中取得的智能合约CB的代码(参照图5)。
步骤S110中,账本服务器10A的处理部11生成与步骤S109中生成的事务数据TB相关的签名并赋予给事务数据TB,将赋予了签名的事务数据TB发送给账本服务器10C。
在步骤S111中,账本服务器10C的处理部11接收步骤S110中被发送的事务数据TB,生成与接收到的事务数据TB相关的签名并赋予给事务数据TB,将赋予了签名的事务数据TB分别发送给账本服务器10A以及10B。由此,成为所有的账本服务器10A等具有被赋予了账本服务器10A以及10C各自的签名的事务数据TB的状态。
在步骤S112中,账本服务器10A等各自将在步骤S111中被赋予了签名、或者被发送的事务数据TB储存于分散账本。在将事务数据TB向分散账本储存时,可以以基于共识算法而完成共识形成为条件,将事务数据TB向分散账本储存。
基于账本服务器10A等各自的处理部11在步骤S112中将事务数据TB储存于分散账本来执行智能合约CB的初始化函数,从而下述步骤S113以及步骤S114被实现。
在步骤S113中,账本服务器10A等各自的处理部11对储存于存储部14的表示金额的变量、表示交付日期的变量、以及表示产品交付目的地的变量,分别设定事务数据TB中作为初始化函数的参数而被传递的金额、交付日期、以及产品交付目的地。
在步骤S114中,账本服务器10A等各自的处理部11对储存于存储部14的表示智能合约CA的材料交付目的地的变量设定C公司的识别信息。
移至图9,在步骤S121中,账本服务器10C的处理部11计算应该对事务数据TA赋予的签名。
在步骤S122中,账本服务器10C的处理部11生成事务数据TC。被生成的事务数据TC包含步骤S121中计算出的签名。
在步骤S123中,账本服务器10C的处理部11生成与步骤S122中生成的事务数据TC相关的签名并赋予给事务数据TC,将赋予了签名的事务数据TC向账本服务器10A以及10B发送。
在步骤S124中,账本服务器10A等各自将步骤S123中被赋予了签名、或者被发送的事务数据TC储存于分散账本。
账本服务器10A等各自的处理部11基于在步骤S124中将事务数据TC储存于分散账本而执行智能合约CA的签名设定函数,从而下述步骤S125被实现。
在步骤S125中,账本服务器10A等各自的处理部11对储存于存储部14的材料交付目的地签名设定事务数据TC中作为签名设定函数的参数而被传递的签名。
在步骤S126中,账本服务器10A的处理部11生成事务数据TD。
在步骤S127中,账本服务器10A的处理部11生成与步骤S126中生成的事务数据TD相关的签名并赋予给事务数据TD,将赋予了签名的事务数据TD向账本服务器10B以及10C发送。
在步骤S128中,账本服务器10A等各自将在步骤S127中被赋予了签名、或者被发送的事务数据TD储存于分散账本。
账本服务器10A等各自的处理部11基于在步骤S128中将事务数据TD储存于分散账本来执行智能合约CA的支付函数,从而下述步骤S129以及S130被实现。
在步骤S129中,账本服务器10A等各自的处理部11执行储存于存储部14的材料交付目的地签名的验证处理。
在步骤S130中,账本服务器10A等各自的处理部11在判断为步骤S129的材料交付目的地签名的验证处理成功了的情况下,执行支付处理。
另外,这里,说明了账本服务器10A(换言之为A公司)进行材料合约以及制造委托合约涉及的智能合约的代码以及事务数据的生成,但也可以取代之,分别由B公司以及C公司进行。
根据以上的一系列的处理,合约管理系统1能够适当地管理由A公司与B公司签订、并被设定了对有效进行认定的权限者的合约。如此,合约管理系统1能够适当地管理与A公司、B公司以及C公司相关的合约,并且,能够对管理合约的计算机系统的消耗电力的增大进行抑制。
(实施方式2)
本实施方式中,关于抑制管理合约的计算机系统的消耗电力的增大的合约管理系统以及其控制方法等,对于与实施方式1不同的形态进行说明。
本实施方式合约管理系统在将材料合约认定为有效的权限者被确定的情况下,能够进一步适当地管理合约。这里,将材料合约认定为有效的上述权限者称作所有者,但并不限定于该称呼方式。
本实施方式中的合约的流程与实施方式1相同(参照图1)。此外,账本服务器10A等的构成与实施方式1相同(参照图3)。
图10是示出作为本实施方式的事务数据的第一例子的事务数据TA1的说明图。事务数据TA1相当于第一事务数据。事务数据TA1例如由账本服务器10A生成。
如图10所示,事务数据TA1包含“智能合约CA1的代码”、“传递给初始化函数的参数”、“签名1”、“签名2”、以及“发送日期和时间”。
“智能合约CA1的代码”包含变量部、初始化函数、支付函数、以及签名设定函数。
变量部是智能合约CA1所使用的变量,表示储存于存储部14的变量。智能合约CA1所使用的变量包含金额、材料交付目的地、交付日期、材料交付目的地签名以及所有者。关于金额、材料交付目的地、交付日期以及材料交付目的地签名与实施方式1的智能合约CA中的相同(参照图4)。所有者表示材料合约的所有者。
关于初始化函数以及支付函数与实施方式1的智能合约CA中的相同(参照图4)。
签名设定函数受理签名作为参数。此外,签名设定函数在被执行的情况下,判断执行该签名设定函数的一方(也称作执行方)是否是所有者,在判断为执行方是所有者的情况下,对储存于存储部14的材料交付目的地签名设定作为参数受理的签名。另外,在判断为执行方不是所有者的情况下,也可以进行规定的错误处理。错误处理例如包含将表示执行方不是所有者的错误消息显示于终端20A等的显示画面、或者通过语音输出上述错误消息等处理。
关于“传递给初始化函数的参数”、“签名1”、“签名2”、以及“发送日期和时间”与实施方式1的智能合约CA中的相同(参照图4)。
图11是表示作为本实施方式的事务数据的第二例子的事务数据TB1的说明图。事务数据TB1例如由账本服务器10A生成。
如图11所示,事务数据TB1包含“智能合约CB1的代码”、“传递给初始化函数的参数”、“签名1”、“签名2”、以及“发送日期和时间”。
“智能合约CB1的代码”包含变量部与初始化函数。智能合约CB1所使用的变量与实施方式1的智能合约CB中的相同。
初始化函数受理金额、交付日期、产品交付目的地、合约地址、以及材料交付目的地作为参数。此外,初始化函数在被执行的情况下,对储存于存储部14的表示金额的变量、表示交付日期的变量、表示产品交付目的地的变量、表示材料交付目的地的变量以及表示所有者的变量设定值。具体而言,初始化函数在被执行的情况下,对表示金额的变量设定作为参数受理的金额,对表示交付日期的变量设定作为参数受理的交付日期,对表示产品交付目的地的变量设定作为参数受理的金额。此外,初始化函数在被执行的情况下,对于表示根据参数而确定的智能合约的材料交付目的地的变量设定作为参数受理的材料交付目的地,此外,对于表示根据参数而确定的智能合约的所有者的变量设定作为参数受理的材料交付目的地。
关于“传递给初始化函数的参数”、“签名1”、“签名2”、以及“发送日期和时间”与实施方式1的智能合约CB中的相同(参照图5)。
图12是示出本实施方式的账本服务器的处理的流程图。图12所示流程图示出了作为实施方式1的图9的步骤S125的处理而被执行的处理,即,示出了步骤S125的处理的变形例。另外,与图9的情况同样地,账本服务器10A等各自的处理部11基于在步骤S124中将事务数据TC储存于分散账本,执行智能合约CA1的签名设定函数,从而步骤S125被实现。
如图12所示,在步骤S125A中,账本服务器10A等各自的处理部11判断签名设定函数的执行方是否是所有者。签名设定函数的执行方是使签名设定函数执行的命令的发送者,换言之,是事务数据TC(参照图6)的发送者,因此可以根据包含事务数据TC的通信包的发送者或者事务数据TC的签名来确定。在判断为执行方是所有者的情况下(步骤S125A中的是),进入步骤S125B,在相反的情况下(步骤S125A中的否),进入步骤S125C。
在步骤S125B中,账本服务器10A等各自的处理部11对储存于存储部14的材料交付目的地签名设定事务数据TC中作为签名设定函数的参数被传递的签名。
在步骤S125C中,账本服务器10A等各自的处理部11执行错误处理。另外,步骤S125C也可以不执行。
根据图12所示的处理,能够将能通过执行签名设定函数来设定材料交付目的地签名的一方限定为作为将材料合约认定为有效的一方而确定的权限者即所有者。
(实施方式3)
在本实施方式中,关于抑制管理合约的计算机系统的消耗电力的增大的合约管理系统以及其控制方法等,对与实施方式1以及2不同的形态进行说明。
本实施方式的合约管理系统将认定材料合约为有效的权限者即所有者的签名从最初就储存于制造委托合约所对应的事务数据中,从而有助于减少事务数据收发的次数。
本实施方式中,与实施方式1同样,使用包含相当于材料合约的智能合约CA的事务数据TA(参照图4)。但是,不使用签名设定函数,因此该签名设定函数可以不包含于智能合约CA。
图13是示出作为本实施方式的事务数据的例子的事务数据TB2的说明图。事务数据TB2相当于第二事务数据。事务数据TB2例如由账本服务器10A生成。
如图13所示,事务数据TB2包含“智能合约CB2代码”、“传递给初始化函数的参数”、“签名1”、“签名2”、以及“发送日期和时间”。
“智能合约CB2代码”包含变量部和初始化函数。智能合约CB2所使用的变量与实施方式1的智能合约CB中的相同。
初始化函数受理金额、交付日期、产品交付目的地、合约地址、材料交付目的地、以及材料交付目的地签名作为参数。此外,初始化函数在被执行的情况下,对储存于存储部14的表示金额的变量、表示交付日期的变量、表示产品交付目的地的变量、表示材料交付目的地的变量以及表示材料交付目的地签名的变量设定值。具体而言,初始化函数在被执行的情况下,对表示金额的变量设定作为参数受理的金额,对表示交付日期的变量设定作为参数受理的交付日期,对表示产品交付目的地的变量设定作为参数受理的金额。此外,初始化函数在被执行的情况下,对表示根据参数确定的智能合约的材料交付目的地的变量设定作为参数受理的材料交付目的地,此外,对表示根据参数确定的智能合约的材料交付目的地签名的变量设定作为参数受理的材料交付目的地签名。
“传递给初始化函数的参数”是传递给智能合约CB2的初始化函数的参数,包含交付日期(2019年2月1日)、金额(500万日元)、产品交付目的地(A公司的识别信息)、合约地址(智能合约CA的地址)、材料交付目的地(C公司的识别信息)、以及材料交付目的地签名(C公司的签名SC)。
关于“签名1”、“签名2”、以及“发送日期和时间”与实施方式1的智能合约CB中的相同(参照图5)。
图14是示出本实施方式的合约管理系统的处理的序列图。图14示出了材料合约的签订、权限者进行的签名的生成以及制造委托合约的签订的设定的一系列处理。
关于图14所示的从步骤S101到步骤S107的处理与图8中的相同。
在步骤S107A中,账本服务器10C的处理部11计算应该对步骤S104中接收的事务数据TA赋予的签名,将计算出的签名向账本服务器10A发送。
在步骤S108A中,账本服务器10A的处理部11取得智能合约CB2的代码。智能合约CB2的代码的取得可以通过账本服务器10A生成该代码而实现,也可以基于A公司的担当者进行的操作接收从终端20A发送的代码而实现。
在步骤S109A中,账本服务器10A的处理部11生成事务数据TB2。被生成的事务数据TB2中包含有步骤S108A中取得的智能合约CB2的代码(参照图13),此外,步骤S107A中从账本服务器10C接收到的、应该对事务数据TA赋予的签名被设定为初始化函数的参数。
在步骤S110中,与实施方式1的情况同样地,账本服务器10A的处理部11生成与步骤S109A中生成的事务数据TB2相关的签名、赋予给事务数据TB2并向账本服务器10C发送。
在步骤S111中,与实施方式1的情况同样地,账本服务器10C的处理部11赋予与步骤S110中发送事务数据TB相关的签名并向账本服务器10A以及10B分别发送。由此,成为所有的账本服务器10A等具有被赋予了账本服务器10A以及10C各自的签名的事务数据TB的状态。
在步骤S112A中,与实施方式1的步骤S112同样地,账本服务器10A等各自将步骤S111中被赋予了签名、或者被发送的事务数据TB2储存于分散账本。
账本服务器10A等各自的处理部11基于在步骤S112A中将事务数据TB储存于分散账本来执行智能合约CB2的初始化函数,从而下述步骤S113以及步骤S114A被实现。
在步骤S113中,账本服务器10A等各自的处理部11对储存于存储部14的表示金额的变量、表示交付日期的变量、以及表示产品交付目的地的变量分别设定事务数据TB中作为参数传递给初始化函数的金额、交付日期、以及产品交付目的地。
在步骤S114A中,账本服务器10A等各自的处理部11对储存于存储部14的表示智能合约CA的材料交付目的地签名的变量设定C公司的签名。
在步骤S114A被执行之后,与实施方式1的步骤S126~S130相同的处理被执行(未图示)。
根据图14所示的一系列处理,合约管理系统1从最初就将认定材料合约为有效的权限者即所有者的签名存入制造委托合约所对应的事务数据,从而减少事务数据收发的次数,并能够对管理合约的计算机系统的消耗电力的增大进行抑制。
另外,权限者可以被设定为任意一方,但例如假定产品的供应链中的合约组的情况下,也可以是比该合约靠下游的合约的签订者被设定为权限者。这是因为供应链中的上游的合约的内容对下游的合约的内容造成影响。更具体而言,这是因为,供应链中的上游的合约的交付日期对下游的合约的交付日期造成影响、供应链中的上游的合约的金额对下游的合约的金额造成影响。
例如图1所示的供应链中,相比于由A公司与B公司签订的材料合约,由A公司与C公司签订的制造委托合约更靠下游,基于这一理由,也可以将认定材料合约为有效的权限者设定为C公司。
以更复杂的供应链为例进行说明。
图15是示出供应链的变形例的说明图。
在图15所示的供应链中,作为产品的销售者的A公司与作为材料制造商的B公司以及F公司分别签订材料合约。B公司的材料交付目的地为D公司,F公司的材料交付目的地为G公司。
另一方面,作为销售者的A公司与作为产品制造商的P公司签订了制造委托合约。P公司与D公司以及G公司分别签订了产品所使用的部件的供给涉及的合约即部件供给合约。P公司用从D公司以及G公司交付的部件制造产品,并向A公司交付。
在这样的供应链中,例如,由A公司与B公司签订的材料合约的权限者可以被设定为作为比材料合约靠下游的合约的部件供给合约或者制造委托合约的签订者即D公司或者P公司。此外,同样,由D公司与P公司签订的部件供给合约的权限者可以被设定为作为比该部件供给合约靠下游的合约的制造委托合约的签订者即A公司。
此外,例如由A公司与F公司签订的材料合约的权限者可以被设定为作为比该材料合约靠下游的合约的部件供给合约或者制造委托合约的签订者即G公司或者P公司。此外,同样,由G公司与P公司签订的部件供给合约的权限者可以被设定为作为比该部件供给合约靠下游的合约的制造委托合约的签订者即A公司。
(补充)
对上述各实施方式或者变形例的区块链进行补充说明。
图16是示出区块链的数据构造的说明图。
区块链通过作为其记录单位的区块被以链(chain)状连接而成。各个区块具有多个事务数据以及紧前的区块的哈希值。具体而言,区块B2中包括其之前的区块B1的哈希值。另外,根据区块B2中包括多个事务数据以及区块B1的哈希值而被运算出的哈希值,作为区块B2的哈希值被包括在区块B3中。如此,将之前的区块的内容作为哈希值来包括,并且,将区块以链状连接,从而有效地防止被记录的事务数据的篡改。
假设过去的事务数据被变更,则区块的哈希值成为与变更前不同的值,要想使篡改后的区块伪装成正确的区块,必须重新制作其后的全部区块,该作业在现实中非常困难。利用该性质,在区块链中确保了篡改困难性。
图17是示出事务数据的数据结构的说明图。
图17所示的事务数据包括事务主体P1以及电子签名P2。事务主体P1是该事务数据中包含的数据主体。电子签名P2是通过针对事务主体P1的哈希值,由该事务数据的制作者的签名密钥进行签名,更具体而言由制作者的秘密密钥进行加密而生成的签名。
事务数据具有电子签名P2,因此篡改在实质上是不可能的。据此,能够防止事务主体的篡改。
另外,上述实施方式中,也可以是,各结构要素由专用的硬件构成,或者通过执行适合各结构要素的软件程序来实现。也可以是,各结构要素通过CPU或者处理器等程序执行部读出并执行记录于硬盘或者半导体存储器等记录介质中的软件程序来实现。这里,实现上述实施方式的内容管理系统等的软件是如下的程序。
即,该程序使计算机执行以下控制方法,所述控制方法是在具备保有分散账本的多个装置的合约管理系统中,该多个装置中的一个装置所执行的控制方法,在所述控制方法中,取得包含第一变量的第一事务数据,所述第一变量表示具有将第一用户与第二用户之间的第一合约认定为有效的权限的权限者,所述第一变量被设定为表示所述权限者待定的规定值,取得的所述第一事务数据储存于所述分散账本,执行读出在储存于所述分散账本的所述第一事务数据中作为所述第一变量而被包含的所述规定值,并将所述规定值储存于所述一个装置的能够改写的存储部的储存处理,取得包含变更命令的第二事务数据,所述变更命令将所述第一变量变更为第三用户的识别信息,将取得的所述第二事务数据储存于所述分散账本,在将所述第二事务数据储存于所述分散账本之后,执行按照所述变更命令对被储存于所述存储部的所述第一变量进行变更的变更处理,取得包含履行命令的第三事务数据,所述履行命令执行履行所述第一合约的履行处理,将取得的所述第三事务数据储存于所述分散账本,在将所述第三事务数据储存于所述分散账本之后,在判断为储存于所述存储部的所述第一变量为所述规定值以外的情况下,按照所述履行命令执行所述履行处理。
以上,对于一个或多个形态所涉及的合约管理系统等,基于实施方式进行了说明,但是,本发明并不限于该实施方式。只要不脱离本发明的主旨,本领域技术人员对本实施方式执行想到的各种变形,或组合不同的实施方式的构成要素来构成的方式,也可以包含在一个或多个形态的范围内。
产业上的可利用性
本发明能够利用于管理合约的合约管理系统。
附图标记说明
1 合约管理系统
10A、10B、10C 账本服务器
11 处理部
12 账本存储部
13 执行部
14 存储部
20A、20B、20C 终端
B1、B2、B3 锁定
CA、CA1、CB、CB1、CB2 智能合约
N 网络
P1 事务主体
P2 电子签名
TA、TA1、TB、TB1、TB2、TC、TD 事务数据。
Claims (11)
1.一种控制方法,是在具备保有分散账本的多个装置的合约管理系统中,该多个装置中的一个装置所执行的控制方法,在所述控制方法中,
取得包含第一变量的第一事务数据,所述第一变量表示具有将第一用户与第二用户之间的第一合约认定为有效的权限的权限者,所述第一变量被设定为表示所述权限者待定的规定值,
将取得的所述第一事务数据储存于所述分散账本,
执行读出在储存于所述分散账本的所述第一事务数据中作为所述第一变量而被包含的所述规定值,并将所述规定值储存于所述一个装置的能够改写的存储部的储存处理,
取得包含变更命令的第二事务数据,所述变更命令将所述第一变量变更为第三用户的识别信息,
将取得的所述第二事务数据储存于所述分散账本,
在将所述第二事务数据储存于所述分散账本之后,执行按照所述变更命令对被储存于所述存储部的所述第一变量进行变更的变更处理,
取得包含履行命令的第三事务数据,所述履行命令执行履行所述第一合约的履行处理,
将取得的所述第三事务数据储存于所述分散账本,
在将所述第三事务数据储存于所述分散账本之后,在判断为储存于所述存储部的所述第一变量为所述规定值以外的情况下,按照所述履行命令执行所述履行处理。
2.如权利要求1所述的控制方法,
在执行所述履行处理时,
在将所述第三事务数据储存于所述分散账本之后,在判断为储存于所述存储部的所述第一变量被设定了所述第三用户的识别信息作为所述权限者的情况下,按照所述履行命令执行所述履行处理。
3.如权利要求1或2所述的控制方法,
所述第一变量还包含应该对所述第一事务数据赋予的所述权限者的电子签名,
在执行所述履行处理时,
在将所述第三事务数据储存于所述分散账本后,在被储存于所述存储部的所述第一变量所含的所述电子签名的验证成功了的情况下,按照所述履行命令执行所述履行处理。
4.如权利要求1至3中任一项所述的控制方法,
所述第一事务数据包含第一合约代码,所述第一合约代码包含所述第一变量以及将所述第一变量储存于所述存储部的储存命令,
基于所述第一事务数据被储存于所述分散账本,所述一个装置所具备的合约执行部执行所述第一合约代码所含的所述储存命令,从而所述储存处理被进行。
5.如权利要求3所述的控制方法,
所述第一事务数据包含第一合约代码,所述第一合约代码包含所述第一变量以及将所述第一变量储存于所述存储部的储存命令,
基于所述第一事务数据被储存于所述分散账本,所述一个装置所具备的合约执行部执行所述第一合约代码所含的所述储存命令,从而所述储存处理被进行,
所述第一合约代码包含签名设定函数,所述签名设定函数对作为所述第一变量而被储存于所述存储部的所述电子签名进行设定,
在取得了包含通过使所述签名设定函数执行从而对所述第一变量设定所述权限者的电子签名的命令的第四事务数据的情况下,基于取得的所述第四事务数据被储存于所述分散账本,所述合约执行部执行所述签名设定函数,从而所述变更处理被进行。
6.如权利要求1至5中任一项所述的控制方法,
所述第二事务数据包含第二合约代码,所述第二合约代码包含所述变更命令,
基于所述第二事务数据被储存于所述分散账本,所述变更命令被所述一个装置所具备的合约执行部执行,从而所述变更处理被进行。
7.如权利要求1至6中任一项所述的控制方法,
所述第一事务数据包含所述第一用户的电子签名与所述第二用户的电子签名,
在将所述第一事务数据储存于所述分散账本时,
在所述第一事务数据所包含的所述第一用户的电子签名与所述第二用户的电子签名双方的验证成功了的情况下,将所述第一事务数据储存于所述分散账本。
8.如权利要求1至7中任一项所述的控制方法,
所述控制方法进而,
取得包含第二变量的第五事务数据,所述第二变量与所述第一用户和所述第三用户之间的第二合约相关,
将取得的所述第五事务数据储存于所述分散账本,
所述第二事务数据是基于所述第五事务数据被储存于所述分散账本而被提供的所述第二事务数据。
9.如权利要求8所述的控制方法,
所述第一合约包含所述第一用户从所述第二用户购入材料,将购入的所述材料在规定的期限前配送到规定的交付目的地的合约,
所述第二合约包含所述第三用户用从所述第二用户收到的所述材料制造产品并向所述第一用户交付的合约,
所述第二变量包含表示所述产品的购入金额的变量、表示交付所述产品的期限的变量、以及表示所述产品的交付目的地的变量。
10.一种保有分散账本的装置,是具备保有分散账本的多个装置的合约管理系统中的该多个装置中的一个装置,所述装置具备:
处理部;
存储有所述分散账本的账本存储部;
执行部;以及
能够改写的存储部,
所述处理部取得包含第一变量的第一事务数据,所述第一变量表示具有将第一用户与第二用户之间的第一合约认定为有效的权限的权限者,所述第一变量被设定为表示所述权限者待定的规定值,所述处理部将取得的所述第一事务数据储存于所述分散账本,
所述执行部执行读出在储存于所述分散账本的所述第一事务数据中作为所述第一变量而被包含的所述规定值,并将所述规定值储存于所述一个装置的能够改写的存储部的储存处理,
所述处理部进而取得包含变更命令的第二事务数据,所述变更命令将所述第一变量变更为第三用户的识别信息,所述处理部进而将取得的所述第二事务数据储存于所述分散账本,
在将所述第二事务数据储存于所述分散账本之后,所述执行部进而执行按照所述变更命令对被储存于所述存储部的所述第一变量进行变更的变更处理,
所述处理部进而取得包含履行命令的第三事务数据,所述履行命令执行履行所述第一合约的履行处理,所述处理部进而将取得的所述第三事务数据储存于所述分散账本,
在将所述第三事务数据储存于所述分散账本之后,所述执行部进而在判断为储存于所述存储部的所述第一变量为所述规定值以外的情况下,按照所述履行命令执行所述履行处理。
11.一种程序,
使计算机执行权利要求1至9中任一项所述的控制方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962950505P | 2019-12-19 | 2019-12-19 | |
US62/950,505 | 2019-12-19 | ||
PCT/JP2020/046398 WO2021125107A1 (ja) | 2019-12-19 | 2020-12-11 | 制御方法、装置、および、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114846497A true CN114846497A (zh) | 2022-08-02 |
Family
ID=76477526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080086752.8A Pending CN114846497A (zh) | 2019-12-19 | 2020-12-11 | 控制方法、装置以及程序 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220300957A1 (zh) |
JP (1) | JPWO2021125107A1 (zh) |
CN (1) | CN114846497A (zh) |
WO (1) | WO2021125107A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023248344A1 (ja) * | 2022-06-21 | 2023-12-28 | 富士通株式会社 | 対価分配プログラム、対価分配方法、対価分配装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6971019B2 (ja) * | 2016-09-26 | 2021-11-24 | Gmoインターネット株式会社 | データ管理システム、情報処理装置、プログラム、及び、データ管理方法 |
US10715331B2 (en) * | 2016-12-28 | 2020-07-14 | MasterCard International Incorported | Method and system for providing validated, auditable, and immutable inputs to a smart contract |
US11699201B2 (en) * | 2017-11-01 | 2023-07-11 | Docusign, Inc. | System and method for blockchain-based network transitioned by a legal contract |
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 |
JP7157616B2 (ja) * | 2018-03-02 | 2022-10-20 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 制御方法、コントローラ及び電力取引システム |
-
2020
- 2020-12-11 WO PCT/JP2020/046398 patent/WO2021125107A1/ja active Application Filing
- 2020-12-11 CN CN202080086752.8A patent/CN114846497A/zh active Pending
- 2020-12-11 JP JP2021565560A patent/JPWO2021125107A1/ja active Pending
-
2022
- 2022-06-08 US US17/835,189 patent/US20220300957A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220300957A1 (en) | 2022-09-22 |
JPWO2021125107A1 (zh) | 2021-06-24 |
WO2021125107A1 (ja) | 2021-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111213168B (zh) | 用于数字资产转移的系统和方法 | |
Faber et al. | BPDIMS: A blockchain-based personal data and identity management system | |
US11171782B2 (en) | Identity and electronic signature verification in blockchain | |
CN111373400B (zh) | 用于实现用于去中心化标识的解析器服务的系统和方法 | |
CN110458699B (zh) | 基于分布式帐簿的、实现金融包容性和可持续性的供应链应用的身份和起源 | |
US20200272619A1 (en) | Method and system for audit and payment clearing of electronic trading systems using blockchain database | |
WO2020211462A1 (zh) | 一种基于区块链的业务数据上链方法及其系统 | |
JP7005591B2 (ja) | ブロックチェーンが実現される方法及びシステム | |
CN107408174B (zh) | 用于管理安全实体的连网承诺的系统和方法 | |
CN111213173B (zh) | 用于控制对数字资产的限制的系统和方法 | |
EP3510551A1 (en) | Multiparty reconciliation systems and methods | |
WO2019204094A1 (en) | Systems and methods for decentralized content distribution | |
CN111309745B (zh) | 虚拟资源处理方法、装置、电子设备及存储介质 | |
JP2006031576A (ja) | レンタルサーバシステム | |
CN109559164B (zh) | 优惠信息处理方法、装置、电子设备及计算机可读介质 | |
CN115705571A (zh) | 保护可审计的帐户的隐私 | |
CN114846497A (zh) | 控制方法、装置以及程序 | |
JP7410890B2 (ja) | 制御方法、サーバおよびプログラム | |
US9361435B1 (en) | Multi-tier digital supply chain management | |
CN115619396A (zh) | 数据凭证处理方法、装置、区块链节点以及存储介质 | |
WO2021125108A1 (ja) | 制御方法、装置、および、プログラム | |
CN114830149A (zh) | 控制方法、装置以及程序 | |
US20230281585A1 (en) | Systems and Methods for Managing Network-Agnostic Smart Contracts | |
JP7467435B2 (ja) | 情報取引方法、情報利用者端末、及び、プログラム | |
US20230370266A1 (en) | Token management method, end-user management apparatus, and token processing apparatus |
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 |