JP6511017B2 - Contract agreement method, agreement verification method, contract agreement device and agreement verification device - Google Patents

Contract agreement method, agreement verification method, contract agreement device and agreement verification device Download PDF

Info

Publication number
JP6511017B2
JP6511017B2 JP2016111774A JP2016111774A JP6511017B2 JP 6511017 B2 JP6511017 B2 JP 6511017B2 JP 2016111774 A JP2016111774 A JP 2016111774A JP 2016111774 A JP2016111774 A JP 2016111774A JP 6511017 B2 JP6511017 B2 JP 6511017B2
Authority
JP
Japan
Prior art keywords
contract
transaction
agreement
block chain
address
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.)
Active
Application number
JP2016111774A
Other languages
Japanese (ja)
Other versions
JP2017220710A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016111774A priority Critical patent/JP6511017B2/en
Publication of JP2017220710A publication Critical patent/JP2017220710A/en
Application granted granted Critical
Publication of JP6511017B2 publication Critical patent/JP6511017B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

本発明は、ブロックチェーンの仕組みを用いて契約に合意する技術、特に、合意した契約の証跡を残す技術に関する。   The present invention relates to a technique for agreeing a contract using a block chain mechanism, in particular, a technique for leaving a trail of agreed contracts.

情報の発信元を保証するための技術として電子署名がある。電子署名を実現するための仕組みとして、現在最も普及しているのは公開鍵暗号方式に基づくものである。また、電子署名された情報において、用いられた電子鍵が確かに情報発信者のものであることを示すためには、通常、信頼できる第三者機関を利用することになる。信頼できる第三者機関が中央集権的な管理を行うことにより、個人と利用する鍵の情報が紐づけられることで信頼性が担保される。   Electronic signature is a technology for guaranteeing the origin of information. At present, the most widespread mechanism for realizing digital signatures is based on public key cryptography. Also, in order to indicate that the electronic key used in the digitally signed information is indeed that of the information sender, a trusted third party will usually be used. Centralized management by a trusted third party secures reliability by linking information on the key with the individual.

一方で、上記の様に中央集権的な管理を必要とせずに、信頼性を担保可能な仕組みがデジタル仮想通貨を中心に普及しつつある。ブロックチェーンと呼ばれるこの仕組みでは、やり取りされる情報の信頼性を参加者全体で形成されるネットワーク内での合意形成のプロセスによって担保し、かつ、改ざんや二重使用等の不正を系全体で防ぐことにより、健全性を保持している(非特許文献1)。また、ブロックチェーンの仕組みを、様々な取引に応用することが研究されている(非特許文献2)。   On the other hand, a system capable of securing credibility is spreading, centering on digital virtual currency, without requiring centralized management as described above. In this scheme called block chain, the reliability of the information exchanged is secured by the process of consensus building in the network formed by all participants, and the whole system is protected against frauds such as falsification and double use. In this way, the soundness is maintained (Non-Patent Document 1). In addition, application of the block chain mechanism to various transactions has been studied (Non-Patent Document 2).

斉藤、“ビットコイン−人間不在のデジタル巨石貨幣”、WIDE Technical-Report in 2013、WIDE Project、2013年12月31日Saito, "Bitcoin-Digital Giant Stone Money without Humans", WIDE Technical-Report in 2013, WIDE Project, December 31, 2013 H. Watanabe, S. Fujimura, A. Nakadaira, Y. Miyazaki, A. Akutsu, J. Kishigami, “Blockchain contract: A complete consensus using blockchain”, 2015 IEEE 4th Global Conference on Consumer Electronics (GCCE), 2015, pp577 - 578H. Watanabe, S. Fujimura, A. Nakadaira, Y. Miyazaki, A. Akutsu, J. Kishigami, “Blockchain contract: A complete consumption using blockchain”, 2015 IEEE 4th Global Conference on Consumer Electronics (GCCE), 2015, pp 577 -578

ブロックチェーンは、参加者間の仮想通貨の取引情報がトランザクションとしてブロックという1つの単位でまとめられ、P2P(Peer to Peer)ネットワークにて参加者全員に共有される一つの巨大な元帳として機能する。例えば、「AさんはBさんに3枚のコインを渡した。」というトランザクションが全員で共有される。このブロックチェーンを参加者全ての取引の内容を記録した一つの元帳と捉えると、通貨以外の様々な取引に応用することができる。   The block chain functions as a huge ledger, in which transaction information of virtual currency between participants is grouped as a transaction in one unit called a block, and shared by all the participants in a P2P (Peer to Peer) network. For example, the transaction "Mr. A has handed three coins to Mr. B" is shared by all members. If this block chain is regarded as one ledger recording the contents of all participants' transactions, it can be applied to various transactions other than currency.

そこで、本発明では、そのブロックチェーンを複数者間で契約を交わす際の証跡として応用する。契約(契約書)は、売買契約、譲渡証、申込書、許諾書等を指し、二者間以上の個人又は機関で交わされる契約の内容を示した文書データである。その際、二者間以上での合意形成がどのように行われたのかを証跡として残しておくことは、権利を主張する際の公的な証明となる。   Therefore, in the present invention, the block chain is applied as a trail when contracts are made between a plurality of parties. A contract (contract) refers to a sales contract, a transfer certificate, an application, a license, etc., and is document data indicating the contents of a contract made by an individual or an organization between two or more parties. At that time, leaving a trail as to how two or more parties have reached agreement is a public proof of claiming the right.

ここで、前述した仮想通貨の場合、1つのトランザクションには、例えば、一つ前のトランザクションのハッシュ値、送金元のアドレス、送金先のアドレス、支払い額及び送金元の電子署名が含められており、それらによってブロックチェーンを共有する全ての参加者は取引の内容を公的に確認することができる。それゆえ、これを契約合意の証跡に応用するため、契約に関する情報をトランザクションに追加しておくことで同様の効果が期待される。なお、前述のアドレスとは、ブロックチェーン技術において電子署名用の公開鍵のハッシュ値を指す。   Here, in the case of the virtual currency described above, for example, the hash value of the previous transaction, the address of the remittance source, the address of the remittance destination, the payment amount, and the electronic signature of the remittance source are included in one transaction. They allow all participants who share the blockchain to publicly confirm the content of the transaction. Therefore, the same effect is expected by adding information on the contract to the transaction to apply this to the trail of contract agreement. The above-mentioned address refers to the hash value of the public key for digital signature in the block chain technology.

ここで、仮想通貨としてのブロックチェーンを契約合意の証跡に応用する場合、契約内容が二者間以上で合意されたことをどのように証明するかといった点が課題となる。仮想通貨のブロックチェーンに採用されている電子署名方式は、前述の通り送金元の電子署名のみによって成り立っており、送金先の電子署名は必要とされていない。一方、二者間以上において契約を取り交わす場合、一方的な契約の発行では契約は成り立たず、必ず契約当事者である全ての関係者の合意が必要となる。しかしながら、ブロックチェーンを形成する1つのトランザクションには送り手の電子署名しか含まれていないため、受け手による契約合意の証跡は該トランザクションに残らないことになる。   Here, in the case of applying a blockchain as a virtual currency to a trail of contract agreement, the issue is how to prove that the contents of the agreement have been agreed between two or more parties. The electronic signature scheme adopted in the block chain of virtual currency is made up of only the electronic signature of the remittance source as described above, and the electronic signature of the remittance destination is not required. On the other hand, when two or more parties conclude a contract, the issuance of a one-sided contract does not hold a contract, and an agreement between all parties who are contract parties is required. However, since only one sender's digital signature is included in one transaction forming a block chain, a trail of contract agreement by the recipient will not remain in the transaction.

上記課題に対する単純な解決方法として、例えば、全ての関係者の電子署名を1つのトランザクションに含める方法が考えられる。仮想通貨にはマルチシグネチャという仕組みが採用されており、一定数以上の電子署名がなければトランザクションが承認されないアドレスを作成することができる。しかしながら、事前にどの電子署名を必要とするのか、承認前のトランザクションを関係者間でどのように共有するのか、複数の秘密鍵をどこに集めて署名を行うのか等、1つのトランザクションに複数の電子署名を含める手続きは煩雑になる。   As a simple solution to the above problem, for example, a method can be considered in which the electronic signatures of all the parties are included in one transaction. A mechanism called multi-signature is adopted for the virtual currency, and it is possible to create an address where the transaction is not approved unless there is a certain number or more of electronic signatures. However, in one transaction, multiple electronic data such as which electronic signature is required in advance, how to share the transaction before approval between the parties, where to collect multiple private keys and perform signature The process of including a signature is cumbersome.

また、上記課題に対して、非特許文献2においては、発行者のトランザクションと合意を示すトランザクションの二種類のトランザクションに分けて連鎖させることで合意を取る方式を提案している。しかしながら、この方式は、少人数に対しては適用できるものの、例えば、企業のサービス利用規約に対して多数のユーザが合意する場合など、同時に多人数の合意の証跡を残す場合には効率が悪い。   In addition, Non-Patent Document 2 proposes a method of achieving an agreement by dividing and chaining two types of transactions, the transaction of the issuer and the transaction showing an agreement, to the above problem. However, although this method can be applied to a small number of people, it is inefficient when leaving a trail of many people at the same time, for example, when many users agree on the service terms of service of a company .

本発明は、上記事情を鑑みてなされたものであり、1つのトランザクションに1つの電子署名という形態を保持しつつ、契約の関係者間で合意を取りながら、多人数であっても効率的に契約の証跡をブロックチェーンに残すことを目的とする。   The present invention has been made in view of the above circumstances, and while maintaining the form of one electronic signature in one transaction, the present invention can be efficiently performed even by a large number of people while obtaining agreement among parties involved in a contract. The purpose is to leave a trail of contracts on the blockchain.

上記目的を達成するため、本発明は、ブロックチェーンを共有する分散型のネットワークに接続された複数の装置間で行う契約合意方法であって、前記複数の装置は、それぞれ、前記ネットワークへブロードキャストされたトランザクションが含まれたブロックチェーンを、記憶部に記憶する制御ステップと、前記記憶部に記憶されたブロックチェーンに、合意対象の契約に対応する共有の契約用アドレス宛てのトランザクションが含まれるか否かを監視する監視ステップと、前記契約用アドレス宛てのトランザクションを検知した場合、前記契約に合意するか否かの証跡と、自装置ユーザの電子署名とを含む、前記契約用アドレス宛てのトランザクションを生成し、前記ネットワークへブロードキャストする生成ステップと、を行う。   In order to achieve the above object, the present invention is a contract agreement method performed between a plurality of devices connected to a distributed network sharing a block chain, wherein each of the plurality of devices is broadcast to the network. Step of storing the block chain including the transaction in the storage unit, and whether or not the block chain stored in the storage unit includes the transaction addressed to the shared contract address corresponding to the agreement subject to agreement. Monitoring the transaction address, and detecting a transaction addressed to the contract address, the transaction addressed to the contract address including a trail of whether or not to agree on the contract, and the electronic signature of the user of the self apparatus Generating and broadcasting to the network.

ここで、本発明で述べるトランザクションはユーザが最初に発行したトランザクションのオリジナルデータそのもの以外に、オリジナルデータから一部のデータを抜粋したデータやハッシュ化などにより要約されたデータもトランザクションとして表記する。   Here, in the transaction described in the present invention, in addition to the original data itself of the transaction originally issued by the user, data obtained by extracting a part of the data from the original data and data summarized by hashing are also represented as transactions.

本発明は、ブロックチェーンを共有する分散型のネットワークに接続された複数の装置によって行われた契約の合意を検証する合意検証方法であって、前記ネットワークへブロードキャストされたトランザクションが含まれたブロックチェーンを、記憶部に記憶する制御ステップと、検証対象の契約に対応する共有の契約用アドレス宛てのトランザクションを、前記記憶部から取り出し、前記トランザクションに設定された、前記契約に対する合意の証跡に基づいて、前記契約への合意が要求される合意者の合意を検証する合意検証ステップと、を行う。   The present invention is an agreement verification method for verifying agreement agreement made by a plurality of devices connected to a distributed network sharing a block chain, the block chain including transactions broadcast to the network. Control step of storing in the storage unit, and a transaction addressed to the shared contract address corresponding to the contract to be verified is retrieved from the storage unit and set in the transaction based on the trail of the agreement on the agreement Performing an agreement verification step of verifying the agreement of the agreementr whose agreement on the agreement is required.

本発明は、ブロックチェーンを共有する分散型のネットワークに接続された他装置との間で契約を合意する契約合意装置であって、前記ネットワークへブロードキャストされたトランザクションが含まれたブロックチェーンを、記憶部に記憶する制御部と、前記記憶部に記憶されたブロックチェーンに、合意対象の契約に対応する共有の契約用アドレス宛てのトランザクションが含まれるか否かを監視する監視部と、前記契約用アドレス宛てのトランザクションを検知した場合、前記契約に合意するか否かの証跡と、自装置ユーザの電子署名とを含む、前記契約用アドレス宛てのトランザクションを生成し、前記ネットワークへブロードキャストする生成部と、を備える。   The present invention is a contract agreement apparatus which agrees a contract with another apparatus connected to a distributed network sharing a block chain, and stores the block chain including a transaction broadcast to the network. A control unit stored in the storage unit, a monitoring unit monitoring whether or not the block chain stored in the storage unit includes a transaction addressed to a shared contract address corresponding to a contract to be agreed; When a transaction addressed to an address is detected, a generation unit that generates a transaction addressed to the contract address including a trail of whether or not to agree on the contract, and the electronic signature of the user of the own device, and broadcasts to the network And.

本発明は、ブロックチェーンを共有する分散型のネットワークに接続された複数の装置によって行われた契約の合意を検証する合意検証装置であって、前記ネットワークへブロードキャストされたトランザクションが含まれたブロックチェーンを、記憶部に記憶する制御部と、検証対象の契約に対応する共有の契約用アドレス宛てのトランザクションを、前記記憶部から取り出し、前記トランザクションに設定された、前記契約に対する合意の証跡に基づいて、前記契約への合意が要求される合意者の合意を検証する合意検証部と、を備える。   The present invention is an agreement verification device for verifying agreement agreement made by a plurality of devices connected to a distributed network sharing a block chain, the block chain including transactions broadcast to the network. And a control unit for storing in the storage unit and a transaction addressed to a shared contract address corresponding to a contract to be verified from the storage unit, and set in the transaction based on a trail of an agreement on the agreement. And an agreement verification unit for verifying the agreement of the agreementr for whom the agreement on the agreement is required.

本発明によれば、1つのトランザクションに1つの電子署名という形態を保持しつつ、契約の関係者間で合意を取りながら、多人数であっても効率的に契約の証跡をブロックチェーンに残すことができる。   According to the present invention, while keeping the form of one electronic signature in one transaction, a trail of contracts can be efficiently left in a block chain, even with many people, while obtaining agreement among contract parties. Can.

本実施形態の契約合意の概念を示す概念図である。It is a conceptual diagram which shows the concept of the contract agreement of this embodiment. 本実施形態の契約合意システムの全体構成図である。It is a whole block diagram of the contract agreement system of this embodiment. トランザクションの例を示す図である。It is a figure which shows the example of a transaction. 契約エージェント部の構成を示すブロック図である。It is a block diagram which shows the structure of a contract agent part. ブロックチェーンの形成動作を示すフローチャートである。It is a flowchart which shows formation operation of a block chain. 契約エージェント部の動作を説明するための図である。It is a figure for demonstrating the operation | movement of a contract agent part. 契約エージェント部の動作の変形例を説明するための図である。It is a figure for demonstrating the modification of operation | movement of a contract agent part. 契約合意の証跡をブロックチェーンに残す動作を示す図である。It is a figure which shows the operation | movement which leaves the trail of contract agreement on a block chain. 合意検証端末の構成を示すブロック図である。It is a block diagram which shows the structure of a consensus verification terminal.

以下、本発明を実施する一実施の形態について図面を用いて説明する。   Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

本実施形態では、契約合意の証跡として既存のブロックチェーン技術を利用する。具体的には、既存のブロックチェーン技術のプロトコルを活用し、発行するトランザクションの内部にある契約に関する合意の状況を記載することにより実現する。以下の説明は、本発明を用いて、ある関係者間でブロックチェーンを介して契約を交わす際の発明の一形態について示したものであり、ここで関係者とは契約を締結して証跡を残そうとする契約の「発行者」と、当該契約の「合意者」とに分かれているものとする。なお、発行者は1名であるが、合意者は複数名が設定されていてもよい。   In this embodiment, the existing block chain technology is used as a trail of contract agreement. Specifically, it is realized by utilizing the existing block chain technology protocol and describing the status of the agreement regarding the contract inside the transaction to be issued. The following description shows one mode of the invention when a contract is concluded between certain parties using a block chain, using the present invention, in which a contract is concluded with the parties to make a trail. It shall be divided into the "issuer" of the contract to be left and the "agreeter" of the contract. In addition, although an issuer is one person, two or more consenters may be set.

図1は、本実施形態における契約の概念を示す図である。図1(a)に示すように、最初に、発行者は、契約の合意を要求するためのトランザクションを契約用アドレス宛てに発行する(S1)。契約用アドレスは、特定の「人」に紐づくアドレスではなく、合意を取りたい契約毎に設定される共用のアドレスである。   FIG. 1 is a diagram showing the concept of a contract in the present embodiment. As shown in FIG. 1A, first, the issuer issues a transaction for requesting agreement on a contract to the contract address (S1). The contract address is not an address associated with a specific "person", but is a shared address set for each contract to be agreed upon.

契約エージェントは、S1で発行された契約用アドレス宛てのトランザクションを確認し(S2)、合意者に通知する(S3)。合意者は、S1で発行されたトランザクションに対して合意を示すトランザクションを、契約用アドレス宛てに送信し(S4)、契約エージェントはS4で送信されたトランザクションを取得する。   The contract agent confirms the transaction addressed to the contract address issued in S1 (S2), and notifies the agreementr (S3). The agreementr transmits a transaction indicating an agreement to the transaction issued in S1 to the contract address (S4), and the contract agent acquires the transaction transmitted in S4.

図1(b)は、図1(a)に示す発行者と合意者との契約合意の流れを、多数の合意者(図示する例では、合意者A〜C)に拡張した場合のイメージ図である。発行者は、契約の合意を要求するためのトランザクションを契約用アドレス宛てに発行するだけで(S1)、契約エージェントは、当該トランザクションを確認し(S2)、多数の合意者A〜Cの各々に対して通知するとともに(S3)、多数の合意者A〜Cの各々から合意を示すトランザクションを受け取る(S4)。   Fig. 1 (b) is an image diagram of the case where the flow of contract agreement between the issuer and the agreer shown in Fig. 1 (a) is expanded to a large number of agreers (in the example shown, agreeers A to C). is there. The issuer simply issues a transaction to the contract address to request agreement on the contract (S1), and the contract agent confirms the transaction (S2), and sends it to each of a number of contractors A to C. To notify (S3), and receive a transaction indicating an agreement from each of a large number of agreers A to C (S4).

すなわち、各合意者は、他の合意者の合意の状態、合意の順序などを考慮することなく、発行者のトランザクションに対して、シンプルに合意を示すトランザクションを送信するため、合意者の数が増えても、処理が複雑化しない。   That is, since each agreer simply sends a transaction indicating an agreement to the issuer's transaction without considering the other consenter's agreement status, the order of the agreement, etc. Even if it increases, processing does not become complicated.

このように、本実施形態では、発行者および合意者が、共有の契約用アドレス宛てにトランザクションを送信することで、契約エージェントを介して、効率的に契約の証跡をブロックチェーンに残すことができる。   Thus, in the present embodiment, by sending transactions to the shared contract address, the issuer and the contractor can efficiently leave a trail of contracts in the block chain via the contract agent. .

図2は、本実施形態おける契約合意システムの全体構成図である。本実施形態では、契約に関わる関係者の総数を例えば3人とし、契約を締結して契約合意の証跡を残そうとする者を契約の発行者、その要求を受けた者を契約の合意者とする。   FIG. 2 is an overall configuration diagram of a contract agreement system in the present embodiment. In this embodiment, the total number of parties involved in the contract is, for example, 3. The person who intends to conclude the contract and leave a trail of the contract agreement is the issuer of the contract, and the person who received the request is the person who agreed the contract. I assume.

図2に示すように、契約合意システムは、契約の発行者が使用する発行者端末1と、2人の合意者A、Bがそれぞれ使用する2つの合意者端末3a、3bとを備える。全ての端末は、ブロックチェーンを共有するP2Pネットワーク50(分散型のネットワーク)により自律分散的に接続され、他装置との間で契約を合意する端末である。なお、発行者端末1および合意者端末3a、3bは、契約合意装置ともいう。   As shown in FIG. 2, the contract agreement system includes an issuer terminal 1 used by the issuer of the contract, and two agreer terminals 3a and 3b used by two agreers A and B, respectively. All terminals are terminals that are autonomously connected in a distributed manner by a P2P network 50 (distributed network) sharing a block chain, and agree a contract with other devices. The issuer terminal 1 and the agreer terminals 3a and 3b are also referred to as contract agreement devices.

各端末は、ブロックチェーン記憶部11と、ブロックチェーン制御部12と、トランザクション生成部13と、契約エージェント部14とを備える。   Each terminal includes a block chain storage unit 11, a block chain control unit 12, a transaction generation unit 13, and a contract agent unit 14.

ブロックチェーン記憶部11には、P2Pネットワーク50へブロードキャストされたトランザクションが含まれたブロックチェーンが記憶される。ここでは、ブロックチェーンは、合意対象の契約に対する合意の証跡を示すトランザクションを含むブロックが連鎖されているものを指す。   The block chain storage unit 11 stores a block chain including a transaction broadcast to the P2P network 50. Here, a block chain refers to a chain of blocks including a transaction indicating a trail of agreement on a contract to be agreed.

ブロックチェーン制御部12は、他端末のブロックチェーン制御部と自律分散的に協調して、常に最新のブロックチェーンをブロックチェーン記憶部11に保持する。また、ブロックチェーン記憶部11からブロックチェーンを取得し、トランザクション生成部13などに提供する。   The block chain control unit 12 cooperates with the block chain control units of the other terminals in an autonomous distributed manner, and always holds the latest block chain in the block chain storage unit 11. Further, the block chain is acquired from the block chain storage unit 11 and provided to the transaction generation unit 13 or the like.

トランザクション生成部13は、1つ前のトランザクションに対する正当性等が確認された場合、自端末ユーザに関するトランザクションを生成し、P2Pネットワーク50にブロードキャストする。具体的には、トランザクション生成部13は、契約用アドレス宛てのトランザクションが検知された場合、契約に合意するか否かの証跡を含む、契約用アドレス宛てのトランザクションを生成し、P2Pネットワーク50へブロードキャストする。   When the legitimacy or the like for the immediately preceding transaction is confirmed, the transaction generation unit 13 generates a transaction regarding the user of the own terminal and broadcasts it to the P2P network 50. Specifically, when a transaction addressed to the contract address is detected, the transaction generation unit 13 generates a transaction addressed to the contract address including a trail of whether or not to agree on the contract, and broadcasts to the P2P network 50. Do.

なお、トランザクション生成部13は、図示しないデータ保持部を備える。データ保持部は、トランザクションの生成に必要な様々なデータを保持する。各端末は、それぞれ固有のアドレスを持ち、例えば、仮想通貨の仕組みと同様に、電子署名に必要な秘密鍵とペアになる公開鍵のハッシュ値をアドレスとして保持する。また、合意対象の契約(契約書)を識別するための契約データ(例えば、契約書のハッシュ値)を保持する。契約書のハッシュ値を契約データとして用いることで、対象の契約書との照合が可能となる。   The transaction generation unit 13 includes a data holding unit (not shown). The data holding unit holds various data required to generate a transaction. Each terminal has a unique address, and holds, for example, a hash value of a public key paired with a secret key necessary for the electronic signature as an address, as in a virtual currency scheme. Also, it holds contract data (for example, a hash value of a contract) for identifying a contract to be agreed (a contract). By using the hash value of the contract as contract data, matching with the target contract becomes possible.

図3は、本実施形態のトランザクション(契約用トランザクション)の一例を示す図である。本実施形態のトランザクションは、契約の証跡を残すためのトランザクションである。図示するトランザクションは、送り手の公開鍵、送り手のアドレス、受け手のアドレス(ここでは契約用アドレス)、送り手の電子署名を含む。なお、発行者および合意者は、事前に電子署名用の鍵ペアを生成し、公開鍵を自身が使用する端末に保持し、当該公開鍵のハッシュ値を各人のアドレスとする。   FIG. 3 is a diagram showing an example of a transaction (transaction for contract) according to the present embodiment. The transaction of the present embodiment is a transaction for leaving a trail of contracts. The illustrated transaction includes the sender's public key, the sender's address, the receiver's address (here, the contract address), the sender's electronic signature. In addition, the issuer and the agreer generate a key pair for electronic signature in advance, hold the public key in the terminal used by the self, and use the hash value of the public key as the address of each person.

さらに、本実施形態のトランザクションは、合意対象の契約を特定し、かつ、その契約に対する関係者の合意を記録するために、合意対象の契約を特定するための契約データ、および、合意の状態を含む。契約データは、例えば、契約内容そのもののデータの他に、契約書のハッシュ値、暗号化された契約を復号するための鍵など、対象とする契約を特定できればデータの形式は問わない。すなわち、本実施形態で用いるトランザクションは、合意対象の契約データ及び合意対象に関する関係者の合意に関する情報をさらに含み、送り手の電子署名が付与された契約合意の証拠データを指す。これにより、1つのトランザクションに1名の電子署名という形態を保持しつつ、契約に対する当事者の合意の有無を記録することができる。   Further, the transaction of the present embodiment identifies the contract subject to the agreement and records contract data for identifying the contract subject to the agreement, and the status of the agreement, in order to record the agreement of the parties concerned with the contract. Including. For example, the contract data may be in any form, as long as it can identify the target contract, such as a hash value of a contract document and a key for decrypting an encrypted contract, in addition to data of the contract content itself. That is, the transaction used in the present embodiment further includes contract data to be agreed and information on the agreement of the parties regarding the agreement, and refers to the evidence data of the contract agreement to which the sender's digital signature is given. This makes it possible to record the presence or absence of an agreement on a contract while maintaining the form of one electronic signature in one transaction.

図4は、契約エージェント部14の構成を示すブロック図である。契約エージェント部は、ブロックチェーン記憶部11に記憶されたブロックチェーンに、合意対象の契約に対応する共有の契約用アドレス宛てのトランザクションが含まれるか否かを監視する。また、契約エージェント部14は、契約用アドレスに宛てのトランザクションを発見した場合、自端末に通知する。   FIG. 4 is a block diagram showing the configuration of the contract agent unit 14. The contract agent unit monitors whether or not the block chain stored in the block chain storage unit 11 includes a transaction addressed to a shared contract address corresponding to a contract to be agreed. When the contract agent unit 14 finds a transaction addressed to a contract address, the contract agent unit 14 notifies the own terminal.

図示する契約エージェント部14は、契約用アドレス記憶部141と、契約確認スクリプト142とを備える。   The illustrated contract agent unit 14 includes a contract address storage unit 141 and a contract confirmation script 142.

契約用アドレス記憶部141には、契約の関係者(発行者および合意者)の間で共用される契約用アドレスが記憶される。契約用アドレスは、特定の人に紐付くアドレスではなく、合意を取りたい契約毎に識別可能なように設定される特殊なアドレスである。契約エージェント部14は、契約用アドレス記憶部141に記憶された契約用アドレス宛てのトランザクションがブロックチェーンに含まれることを検知すると、自端末に通知する。   The contract address storage unit 141 stores a contract address shared by parties (issuer and agreer) of the contract. The contract address is not an address associated with a specific person, but a special address set so as to be identifiable for each contract to be agreed. When the contract agent unit 14 detects that the transaction addressed to the contract address stored in the contract address storage unit 141 is included in the block chain, the contract agent unit 14 notifies the own terminal.

契約確認スクリプト142は、契約用アドレス宛てのトランザクションが正当か否かを判別するためのスクリプト(プログラム)である。具体的には、契約確認スクリプト142は、契約の関係者間で事前に定めた手続きで契約書を確認(検証、チェック)するためのスクリプトである。契約確認スクリプト142は、契約データを含むトランザクションを入力とした時に、所定の形式で契約データが含まれているか否かを確認する。例えば、契約確認スクリプト142は、契約データ(契約書のハッシュ値)の長さ、契約データが正しい形式か否かなどを確認する。   The contract confirmation script 142 is a script (program) for determining whether the transaction addressed to the contract address is valid. Specifically, the contract confirmation script 142 is a script for confirming (verifying, checking) the contract according to a predetermined procedure between parties concerned with the contract. When the contract confirmation script 142 receives a transaction including contract data, the contract confirmation script 142 confirms whether the contract data is included in a predetermined format. For example, the contract confirmation script 142 confirms the length of the contract data (hash value of the contract), whether the contract data is in the correct format, and the like.

また、契約確認スクリプト142は、トランザクションの送り手(発行者)のアドレスが契約確認スクリプト142で事前に定められた正しいアドレスか否か、合意者が正しい手続きで合意をしているか否か、送り手の電子署名が正しいか否かなどを確認することとしてもよい。   In addition, the contract confirmation script 142 transmits whether the address of the sender (issuer) of the transaction is the correct address previously determined by the contract confirmation script 142, and whether the agreed party has made an agreement in the correct procedure. It may be confirmed whether the electronic signature of the hand is correct or not.

なお、契約確認スクリプト142は、少なくとも関係者間で取得しトランザクションを検証可能なようにネットワーク上に公開されていてもよく、あるいは、ブロックチェーンに含まれていて誰でも取得しトランザクションの正当性を検証可能なように公開されていてもよい。   The contract confirmation script 142 may be published on the network so that at least the parties concerned can acquire and verify the transaction, or it is included in the block chain and anyone can acquire and validate the transaction. It may be published so as to be verifiable.

また、本実施形態では、発行者および合意者が使用する各端末の契約エージェント部14には、合意対象の契約の契約用アドレス141および契約確認スクリプト142が、既に取得されているものとする。   Further, in the present embodiment, it is assumed that the contract address section 141 of the contract targeted for the agreement and the contract confirmation script 142 have already been acquired in the contract agent unit 14 of each terminal used by the issuer and the agreer.

以上が契約合意システムの各端末(契約合意端末)1、3a、3bが備える機能である。なお、図2には示していないが、ブロックチェーンの系を保つため、仮想通貨の場合と同様に、トランザクションの承認作業を通じてブロックチェーンを連鎖させる承認端末がP2Pネットワーク50上に存在している。   The above is a function with which each terminal (contract agreement terminal) 1, 3a, 3b of a contract agreement system is provided. Although not shown in FIG. 2, in order to maintain the block chain system, an approval terminal for chaining the block chain through the transaction approval work exists on the P2P network 50 as in the case of the virtual currency.

次に、契約合意システムの動作について説明する。初めに、ブロックチェーンが形成される動作について説明する。   Next, the operation of the contract agreement system will be described. First, the operation of forming a block chain will be described.

図5は、送り手がトランザクションを生成し、承認端末がブロックチェーンの承認作業を行う動作を説明している。この動作は、本実施形態のみならず、ブロックチェーンを用いた仮想通貨の取引にも用いられている。   FIG. 5 illustrates an operation in which the sender generates a transaction and the approval terminal performs block chain approval work. This operation is used not only for this embodiment but also for trading of virtual currency using a block chain.

まず、送り手の端末が、送り手のアドレスから受け手のアドレスに宛てることを明記した電子署名付きのトランザクションを生成し(ステップS101)、P2Pネットワーク上にブロードキャストする(ステップS102)。   First, the sender's terminal generates a transaction with an electronic signature that specifies addressing from the sender's address to the receiver's address (step S101), and broadcasts it on the P2P network (step S102).

次に、P2Pネットワーク上の承認端末は、そのネットワーク上にブロードキャストされたトランザクションを収集し、ブロックという単位でまとめて承認作業を行う(ステップS103)。この承認作業について、仮想通貨では、プルーフ・オブ・ワークと呼ばれる複雑なハッシュ計算を行う方法、プルーフ・オブ・ステイクと呼ばれるコイン年数を消費する方法等が提案されている。本実施の形態では、それらの方式によらず、承認作業を行い、ブロックチェーンにトランザクションを組み込む。ここで承認作業とは、送り手の公開鍵を用いて該トランザクションの電子署名を検証すると共にハッシュ値の照合等を行うことにより、一つ前のトランザクションが正当な送り手から渡されたことを検証するなど正当なトランザクションか否かを検証する作業を含む。この検証方法については公知の技術で実施可能であり、例えば非特許文献1に記載されている。以上の方法で、トランザクションはブロックチェーンに含まれた後、全ての端末で同期されることになる。   Next, the approval terminal on the P2P network collects the transactions broadcasted on the network, and collectively performs approval work in units of blocks (step S103). With regard to this approval work, in virtual currency, a method of performing a complex hash calculation called proof of work, a method of consuming coin years called a proof of stake, and the like have been proposed. In this embodiment, regardless of those methods, an approval operation is performed, and a transaction is incorporated into the block chain. Here, in the approval work, the previous transaction is passed from the valid sender by verifying the electronic signature of the transaction using the sender's public key and checking the hash value. It includes the task of verifying whether it is a legitimate transaction or not. This verification method can be implemented by known techniques, and is described, for example, in Non-Patent Document 1. In the above manner, transactions are synchronized at all terminals after being included in the block chain.

次に、図6を用いて、契約エージェント部14の動作を説明する。   Next, the operation of the contract agent unit 14 will be described using FIG.

図6は、契約エージェント部14の動作を示す図である。図示すように、契約エージェント部14は、自端末のブロックチェーン記憶部11に保持する最新のブロックチェーンに含まれるトランザクションを監視する(S201)。そして、契約エージェント部14は、契約用アドレス記憶部141に記憶された共用の契約用アドレスに宛てたトランザクションを発見した場合、契約用アドレス宛てのトランザクションがブロックチェーンに含まれたことを、自端末を使用する関係者(発行者または合意者)に通知する(S202)。例えば、契約エージェント部14は、当該端末が備える出力装置(ディスプレイ、スピーカなど)に、所定のメッセージ(テキスト、画像、音声など)を出力することで関係者に通知する。   FIG. 6 is a diagram showing the operation of the contract agent unit 14. As illustrated, the contract agent unit 14 monitors transactions included in the latest block chain stored in the block chain storage unit 11 of the own terminal (S201). When the contract agent unit 14 finds a transaction addressed to the shared contract address stored in the contract address storage unit 141, it indicates that the transaction addressed to the contract address is included in the block chain, as the own terminal. The relevant party (issuer or consenter) who uses F. is notified (S202). For example, the contract agent unit 14 notifies a person concerned by outputting a predetermined message (text, image, voice or the like) to an output device (display, speaker or the like) included in the terminal.

また、契約エージェント部14は、契約用アドレスに宛てたトランザクションを発見した場合、契約確認スクリプト142を用いて、当該トランザクションが正当か否かを判別し、判別結果も併せて自端末を使用する関係者に通知する(S202)。   Also, when the contract agent unit 14 finds a transaction addressed to a contract address, it uses the contract confirmation script 142 to determine whether the transaction is valid or not, and also uses the own terminal together with the determination result. Are notified to the person (S202).

関係者は、契約エージェント部14からの通知(トランザクションの発見および正当性の判別結果)を確認し、また、必要に応じてブロックチェーン記憶部11に保持された当該トランザクションの内容を取得して確認し、確認結果に応じてトランザクションの生成指示を端末に入力する(S203)。   The relevant person confirms the notification from the contract agent unit 14 (the result of finding the transaction and the determination of the legitimacy), and acquires and confirms the content of the transaction held in the block chain storage unit 11 as necessary. Then, according to the confirmation result, an instruction to generate a transaction is input to the terminal (S203).

例えば、関係者が合意者の場合で、トランザクションに含まれる合意の状況が「要求中」であり、トランザクションが正当であると判断された場合、合意者は、合意の証跡を示すトランザクションの生成指示を、トランザクション生成部13に入力する。トランザクション生成部13は、トランザクションの生成指示を受け付けて、契約用アドレス宛ての契約の合意の証跡を示すトランザクションを生成する。   For example, in the case where the relevant party is the agreer, if the status of the agreement included in the transaction is "on request" and the transaction is determined to be valid, the agreementr instructs the generation of the transaction indicating the trail of the agreement. Are input to the transaction generation unit 13. The transaction generation unit 13 receives the transaction generation instruction, and generates a transaction indicating a trail of agreement of the contract addressed to the contract address.

一方、関係者が発行者の場合で、トランザクションに含まれる合意の状況が、例えば「非合意」の場合、発行者は、トランザクションの生成指示をトランザクション生成部13に入力しない。   On the other hand, in the case where the relevant party is the issuer, and the status of the agreement included in the transaction is, for example, "non-agreement", the issuer does not input a transaction generation instruction to the transaction generation unit 13.

なお、図6に示す契約エージェント部14の動作の変形例として、図7に示すように、関係者(人)を介さずに、代わりに契約自動化部15が、契約の合意の証跡を示すトランザクションの生成指示をトランザクション生成部13に送出することとしてもよい。トランザクション生成部13は、契約自動化部15が送出したトランザクションの生成指示を受け付けて、契約の合意の証跡を示すトランザクションを生成する。   As a modification of the operation of the contract agent unit 14 shown in FIG. 6, as shown in FIG. 7, a transaction automation unit 15 instead indicates a trail of agreement agreement, without involving persons (people). The generation instruction of may be sent to the transaction generation unit 13. The transaction generation unit 13 receives the transaction generation instruction sent by the contract automation unit 15 and generates a transaction indicating a trail of agreement agreement.

図7は、変形例の契約エージェント部14の動作を示す図である。図示する変形例では、端末は、契約自動化部15を備える点において、図2の発行者端末1および合意者端末3a、3bと異なり、その他について図2の各端末1、3a、3bと同様である。   FIG. 7 is a diagram showing the operation of the contract agent unit 14 of the modification. In the modification shown, the terminal is different from the issuer terminal 1 and the agreer terminals 3a and 3b of FIG. 2 in that the terminal includes the contract automation unit 15, and the other is similar to the terminals 1, 3a and 3b of FIG. is there.

契約自動化部15は、S202Aにおいて、契約用アドレス宛てのトランザクションがブロックチェーンに含まれたことの通知、および、当該トランザクションの正当性の判別結果の通知を、契約エージェント部14からのを受け付ける。   The contract automation unit 15 receives a notification from the contract agent unit 14 that the transaction addressed to the contract address is included in the block chain and the notification of the determination result of the legitimacy of the transaction in S202A.

契約自動化部15は、トランザクションが正当であると判別結果の通知を受けた場合、ブロックチェーン記憶部11から当該トランザクションを取得し、当該トランザクションの内容(例えば、合意の状況、送り手のアドレスなど)を用いて契約の合意の証跡を示すトランザクションを生成するか否かを決定する。そして、契約自動化部15は、前記トランザクションを生成すると決定した場合は、トランザクションの生成指示をトランザクション生成部13に送出する(S203A)。   When the contract automation unit 15 receives notification of the determination result that the transaction is valid, the contract automation unit 15 acquires the transaction from the block chain storage unit 11, and the contents of the transaction (for example, the status of the agreement, the sender address, etc.) To determine whether to generate a transaction that indicates a trail of agreement agreement. Then, if it is determined that the transaction is to be generated, the contract automation unit 15 sends a transaction generation instruction to the transaction generation unit 13 (S203A).

例えば、契約自動化部15は、トランザクションが正当であって、自端末が合意者端末でトランザクションに含まれる合意の状況が「要求中」の場合、トランザクションの生成指示を、トランザクション生成部13に送出する。   For example, when the transaction is valid and the self terminal is the agreer terminal and the status of the agreement included in the transaction is "on request", the contract automation unit 15 sends the transaction generation instruction to the transaction generation unit 13. .

一方、契約自動化部15は、トランザクションが正当でない場合、または、トランザクションが正当であるが、トランザクションの内容から契約の合意の証跡を示すトランザクションを生成しないと決定した場合、契約の合意の証跡を示すトランザクションの生成指示を送出しない。なお、図7のS201は、図6のS201と同様であるため、ここでは、説明を省略する。   On the other hand, when the transaction automation unit 15 determines that the transaction is not valid or does not generate a transaction indicating the contract agreement trail from the contents of the transaction, the contract automation unit 15 indicates a contract agreement trail. Do not send out transaction creation instructions. In addition, since S201 of FIG. 7 is the same as S201 of FIG. 6, description is abbreviate | omitted here.

次に、図8を参照しながら、契約合意システムを用いた場合に、ブロックチェーンの各ブロックに含まれるトランザクションの遷移について説明する。   Next, with reference to FIG. 8, when using the contract agreement system, transition of transactions included in each block of the block chain will be described.

図8は、契約の発行者と、合意者Aおよび合意者Bとの間で契約を締結し、その合意の証跡をブロックチェーンに残す過程を示す。なお、全ての端末は、図5で説明したように、承認端末での承認作業を通じたトランザクションが含まれたブロックチェーン受信し、常に最新のブロックチェーンを保持しているものとする。   FIG. 8 shows the process of entering into a contract between the issuer of the contract and the contractor A and the contractor B, and leaving a trail of the agreement in the block chain. It is assumed that all the terminals receive the block chain including the transaction through the approval work at the approval terminal as described in FIG. 5, and always hold the latest block chain.

また、全ての関係者(発行者、合意者Aおよび合意者B)は、合意すべき同一の電子契約書を予め所持しており、当該契約書をハッシュ化したハッシュ値を、契約データとして自端末に事前に保持しておくものとする。契約書のハッシュ化には途中の改ざんを防止する目的と第三者から契約の内容を隠蔽する目的があり、また、トランザクションが示す契約の内容と合意すべき契約書とを照合することができる。   In addition, all parties concerned (issuer, agreer A and agreer B) have in advance the same electronic contract to be agreed, and the hash value obtained by hashing the contract is used as contract data. It shall be held in advance in the terminal. The hashing of the contract has the purpose of preventing tampering in the middle and the purpose of concealing the contents of the contract from a third party, and the contents of the contract indicated by the transaction can be compared with the contract to be agreed upon .

まず、契約を締結したい発行者端末が、契約用アドレス宛ての契約用のトランザクションを生成し、発行する(S301)。このトランザクションは、前述した通り、P2Pネットワーク上にブロードキャストされ、承認端末によりブロックにまとめられ、ブロックチェーンに追加され、他端末との間で同期される。また、この処理は、トランザクションがブロードキャストされる毎に行われる。以降、その説明は省略する。   First, an issuer terminal that wants to conclude a contract generates and issues a transaction for a contract addressed to the contract address (S301). This transaction is broadcasted on the P2P network, put into blocks by the approval terminal, added to the block chain, and synchronized with other terminals, as described above. Also, this process is performed each time a transaction is broadcast. Hereinafter, the description is omitted.

発行者端末が発行したトランザクションは、図8ではブロック#101として、ブロックチェーンに追加される。図示するブロック#101のトランザクションには、送信元(送り手)のアドレスには発行者端末のアドレスが、宛先(受け手)のアドレスには契約用アドレスが、契約データには契約書のハッシュ値が、合意の状態には要求中が設定されている。なお、合意の状態は、各状態に対応するブール値または特定の値などで設定することとしてもよい。   The transaction issued by the issuer terminal is added to the block chain as block # 101 in FIG. In the transaction of block # 101 shown in the figure, the address of the issuer terminal is the address of the sender (sender), the address of the contract (the address of the receiver), and the contract address is the hash value of the contract. , The status of the agreement is set to Requesting. The states of the agreement may be set as Boolean values or specific values corresponding to the respective states.

合意者A端末のブロックチェーン制御部12は、ブロック#101のトランザクションが追加されたブロックチェーンを、自端末のブロックチェーン記憶部11に同期する。また、合意者A端末の契約エージェント部14は、ブロックチェーン記憶部11の同期されたブロックチェーンを監視している(S302)。   The block chain control unit 12 of the agreer A terminal synchronizes the block chain to which the transaction of block # 101 is added with the block chain storage unit 11 of the own terminal. In addition, the contract agent unit 14 of the terminal A of the agreementr A monitors the synchronized block chain of the block chain storage unit 11 (S302).

合意者A端末の契約エージェント部14は、契約用アドレス宛のトランザクションが当該ブロックチェーンに含まれていることを検知すると、当該トランザクションの正当性を判別し、判別結果とともにトランザクションを発見したことを、合意者Aまたは自端末内の契約自動化部15に通知する(図6、図7参照)。   Upon detecting that the transaction addressed to the contract address is included in the block chain, the contract agent unit 14 of the agreementr A terminal determines the legitimacy of the transaction and finds that the transaction is found together with the determination result. It notifies the contractor A or the contract automation unit 15 in its own terminal (see FIGS. 6 and 7).

合意者Aまたは契約自動化部15は、最新のブロックチェーンから契約用アドレス宛のトランザクション(ブロック#101)を取り出し、当該トランザクションの内容に応じて、合意の証跡を含めたトランザクションの生成指示を、トランザクション生成部13に送出する。トランザクション生成部13は、生成指示を受け付けると、合意の証跡を含めたトランザクションを生成し、ブロードキャストする(S303)。具体的には、トランザクション生成部13は、契約に合意をした証明として契約データ及び合意の状態を含めて、契約用アドレス宛てのトランザクションを生成する。   The contractor A or the contract automation unit 15 extracts the transaction (block # 101) addressed to the contract address from the latest block chain, and according to the contents of the transaction, instructs the transaction generation instruction including the trail of the agreement, It is sent to the generation unit 13. When receiving the generation instruction, the transaction generation unit 13 generates a transaction including the trail of the agreement and broadcasts it (S303). Specifically, the transaction generation unit 13 generates a transaction addressed to the contract address, including the contract data and the status of the agreement as a proof that the contract has been agreed.

なお、合意者A端末が発行したトランザクションは、図8ではブロック#102として、ブロックチェーンに追加される。図示するブロック#102のトランザクションには、送信元アドレスには合意者A端末のアドレスが、宛先には契約用アドレスが、契約データには契約書のハッシュ値が、合意の状態には合意が設定されている。   The transaction issued by the agreer A terminal is added to the block chain as block # 102 in FIG. In the transaction of block # 102 shown in the figure, the sender address is the address of the agreementr A terminal, the destination is the contract address, the contract data is the hash value of the contract, and the agreement state is the agreement. It is done.

合意者B端末についても、合意者A端末と同様に、ブロックチェーンを監視し、トランザクションを生成し、ブロードキャストする(S304、S305)。なお、合意者B端末が発行したトランザクションは、図8ではブロック#103として、ブロックチェーンに追加される。   The terminal B also monitors the block chain as in the terminal A, generates a transaction, and broadcasts it (S304, S305). The transaction issued by the agreer B terminal is added to the block chain as block # 103 in FIG.

また、発行者端末の契約エージェント部14も、合意者A端末および合意者B端末と同様に、ブロックチェーン記憶部11の同期されたブロックチェーンを監視している(S306)。したがって、発行者端末の契約エージェント部14は、契約用アドレス宛のトランザクション(ここでは、ブロック#102、#103)がブロックチェーンに含まれていることを検知すると、当該トランザクションの正当性を判別し、判別結果とともにトランザクションを発見したことを、発行者または自端末内の契約自動化部15に通知する。   Further, the contract agent unit 14 of the issuer terminal also monitors the synchronized block chains of the block chain storage unit 11 as in the case of the agreementr A terminal and the agreementr B terminal (S306). Therefore, when the contract agent unit 14 of the issuer terminal detects that the transaction (here, blocks # 102 and # 103) addressed to the contract address is included in the block chain, it determines the validity of the transaction. And notifies the issuer or the contract automation unit 15 in the own terminal that the transaction has been found together with the determination result.

これにより、発行者は、ブロックチェーン記憶部11から通知されたトランザクションを取得することで、合意者Aおよび合意者Bの合意の状態を把握することができる。また、発行者または契約自動化部15は、各合意者の合意の状態に応じたトランザクションの生成をトランザクション生成部13に指示することもできる。   Thereby, the issuer can grasp the state of the agreement between the agreer A and the agreer B by acquiring the transaction notified from the block chain storage unit 11. In addition, the issuer or contract automation unit 15 can also instruct the transaction generation unit 13 to generate a transaction according to the state of the agreement of each agreer.

以上説明した処理により、発行者のトランザクション(ブロック#101)と、当該トランザクションに応じた合意者Aと合意者Bの合意の証跡(ブロック#102、ブロック#103)を、ブロックチェーンに記録することが可能になる。   According to the process described above, the issuer's transaction (block # 101) and the trail of agreement between consenter A and agreement B according to the transaction (block # 102, block # 103) are recorded in the block chain. Becomes possible.

最後に、合意検証端末(合意検証装置)について説明する。ブロックチェーン上に残された契約合意の証跡は、そのブロックチェーンの系が存在する限りP2Pネットワーク上の任意の端末又は装置から容易に検証することが可能である。また、検証後に、自動実行プログラムと連携して、契約合意に応じて自動でトランザクション(例えば資金移動など)を発行することも可能である。そこで、合意の検証を行うために用いる合意検証端末について説明する。   Finally, the agreement verification terminal (agreement verification device) will be described. The trail of contract agreements left on the block chain can be easily verified from any terminal or device on the P2P network as long as the block chain system exists. Also, after verification, it is also possible to issue a transaction (for example, money transfer, etc.) automatically according to the agreement agreement in cooperation with the automatic execution program. Therefore, the agreement verification terminal used to verify the agreement will be described.

図9は、2つの種類の合意検証端末8、9の構成を示している。第1の合意検証端末8は、検証者の指示により合意検証を行う場合の端末である。検証者は、契約の発行者、契約の合意者、または、第3者であってもよい。検証者が発行者または合意者の場合、図2に示す契約合意端末(発行者端末、合意者端末)が、第1の合意検証端末8の機能を備えることとしてもよい。   FIG. 9 shows the configuration of two types of agreement verification terminals 8 and 9. The first agreement verification terminal 8 is a terminal in the case where the agreement verification is performed according to the instruction of the verifier. The verifier may be the issuer of the contract, the contractor of the contract, or a third party. When the verifier is an issuer or a consenter, the contract agreement terminal (issuer terminal, agreementr terminal) shown in FIG. 2 may have the function of the first agreement verification terminal 8.

第1の合意検証端末8は、ブロックチェーン記憶部81と、ブロックチェーン制御部82と、データ保持部83と、合意検証部84とを備える。   The first agreement verification terminal 8 includes a block chain storage unit 81, a block chain control unit 82, a data holding unit 83, and an agreement verification unit 84.

ブロックチェーン記憶部81およびブロックチェーン制御部82は、図2で説明したブロックチェーン記憶部11と、ブロックチェーン制御部12と同様である。すなわち、 ブロックチェーン制御部12は、P2Pネットワーク50へブロードキャストされたトランザクションが含まれたブロックチェーンを、ブロックチェーン記憶部81に記憶する。   The block chain storage unit 81 and the block chain control unit 82 are the same as the block chain storage unit 11 and the block chain control unit 12 described in FIG. That is, the block chain control unit 12 stores the block chain including the transaction broadcast to the P2P network 50 in the block chain storage unit 81.

合意検証部84は、検証対象の契約に対応する共有の契約用アドレス宛てのトランザクションをブロックチェーン記憶部81から取り出し、取り出したトランザクションに設定された、契約に対する合意の証跡に基づいて、契約への合意が要求される各合意者の合意を検証する。具体的には、合意検証部84は、検証者の指示を受け付けると、データ保持部83に保持されたデータを用いて、ブロックチェーン制御部82を介して、ブロックチェーン記憶部81から、検証対象の契約に関するトランザクションを取り出す。   The agreement verification unit 84 extracts a transaction addressed to the shared contract address corresponding to the contract to be verified from the block chain storage unit 81, and based on the trail of the agreement on the agreement set in the extracted transaction, Verify the agreement of each of the consenters for which an agreement is required. Specifically, when the agreement verification unit 84 receives an instruction from the verifier, the agreement verification unit 84 uses the data stored in the data storage unit 83 to perform verification from the block chain storage unit 81 via the block chain control unit 82. Retrieve the transaction for the contract of.

データ保持部83には、検証対象の契約を特定するためのデータ(例えば、契約用アドレス、契約データ(契約書のハッシュ値)など)が保持されている。合意検証部84は、契約用アドレス、契約データ、または、契約用アドレスおよび契約データの両方を用いて、検証対象の契約に関するトランザクションを取り出す。   The data holding unit 83 holds data (for example, a contract address, contract data (hash value of contract), and the like) for specifying a contract to be verified. The agreement verification unit 84 uses the contract address, the contract data, or both the contract address and the contract data to extract the transaction regarding the contract to be verified.

なお、ブロックチェーンの種類によっては、探索の効率化のためにトランザクションの内容をブロックチェーン内の別のデータ領域に転載して保持する場合がある。この場合、合意検証部84は、トランザクション本体ではなく、トランザクションから転載されたデータを取り出すこととしてもよい。   Depending on the type of block chain, the contents of the transaction may be reprinted and held in another data area in the block chain for efficient search. In this case, the agreement verification unit 84 may retrieve data reprinted from the transaction instead of the transaction itself.

合意検証部84は、発行者が発行した契約合意を要求するトランザクションに対して、合意者が合意または非合意を示したトランザクションを発行していることを検証し、検証結果を検証者に提示する。具体的には、合意検証部84は、図8に示すブロックチェーンの場合、ブロック#101〜#103のトランザクションを取り出し、そのうち送信元が合意者A、Bの#102、#103の各トランザクションの合意の状態を、検証結果として提示する。この場合、合意検証部84は、「合意者A:合意(true)、合意者B:合意(true)」をディスプレイなどの出力装置に出力し、検証者に提示する。   The agreement verification unit 84 verifies that the agreementr has issued a transaction indicating an agreement or non-agreement with respect to the transaction requiring the contract agreement issued by the issuer, and presents the verification result to the verifier. . Specifically, in the case of the block chain shown in FIG. 8, the agreement verification unit 84 takes out transactions of blocks # 101 to # 103, and among them, for each transaction of # 102 and # 103 of the agreeers A and B, the transmission source is Present the status of the agreement as a verification result. In this case, the agreement verification unit 84 outputs “agreement A: agreement (true), agreement B: agreement (true)” to an output device such as a display and presents it to the verifier.

なお、合意検証部84は、全ての合意者(例えば、合意者A、B)の検証結果を提示してもよく、あるいは、特定の合意者(例えば、検証者が指示した合意者A)の検証結果のみを提示してもよい。   In addition, the agreement verification unit 84 may present the verification results of all the consenters (for example, the consenters A and B), or the specific consenter (for example, the consenter A instructed by the verifier) Only the verification results may be presented.

続いて、第1の合意検証端末8の動作について説明する。   Subsequently, the operation of the first agreement verification terminal 8 will be described.

まず、合意検証部84は、検証者から検証指示を受け付けると(S401)、検証対象の契約の契約用アドレスまたは契約データをデータ保持部83から取得し、該当するトランザクションを、ブロックチェーン制御部82を介してブロックチェーン記憶部81から取り出す(S402)。   First, when the agreement verification unit 84 receives a verification instruction from the verifier (S401), the agreement verification unit 84 acquires the contract address or contract data of the contract to be verified from the data holding unit 83, and the corresponding transaction is received by the block chain control unit 82. Through the block chain storage unit 81 (S402).

そして、合意検証部84は、取り出したトランザクションに設定された、契約に対する合意の状態(合意の証跡)に基づいて、契約への合意が要求される各合意者の合意を検証し(S403)、検証結果を表示する(S404)。すなわち、各合意者の合意の状態(合意、非合意)を表示する。   Then, the agreement verification unit 84 verifies the agreement of each of the consenters who are requested to agree to the contract based on the status of the agreement on the contract (a trail of agreement) set in the extracted transaction (S403). The verification result is displayed (S404). That is, the state (agreement, non-agreement) of each consenter's agreement is displayed.

次に、第2の合意検証端末9について説明する。   Next, the second agreement verification terminal 9 will be described.

第2の合意検証端末9は、検証者(人)を介さずに、合意検証部95が執行自動化部96と連携して自動で所定のトランザクションを生成する端末である。第2の合意検証端末9によれば、例えば、発行者と合意者Aとの間で契約が締結したことを検知すると、自動で資金移動のトランザクションをブロックチェーンネットワークに送信し支払を執行する、といった利用方法が可能になる。なお、第2の合意検証端末9を使用する検証者は、契約の発行者、契約の合意者、または、第3者であってもよい。検証者が発行者または合意者の場合、図2に示す契約合意端末(発行者端末、合意者端末)が、第2の合意検証端末9の機能を備えることとしてもよい。   The second agreement verification terminal 9 is a terminal in which the agreement verification unit 95 automatically generates a predetermined transaction in cooperation with the execution automation unit 96 without intervention of a verifier (person). According to the second agreement verification terminal 9, for example, when it is detected that a contract has been concluded between the issuer and the agreer A, it automatically transmits a fund transfer transaction to the block chain network to execute payment. Such usage is possible. The verifier using the second agreement verification terminal 9 may be the issuer of the contract, the contractor of the contract, or a third party. When the verifier is an issuer or a consenter, the contract agreement terminal (issuer terminal, agreementr terminal) shown in FIG. 2 may have the function of the second agreement verification terminal 9.

第2の合意検証端末9は、ブロックチェーン記憶部91と、ブロックチェーン制御部92と、トランザクション生成部93と、契約エージェント部94と、合意検証部95と、執行自動化部96とを備える。ブロックチェーン記憶部91と、ブロックチェーン制御部92と、トランザクション生成部93とは、図2に示すブロックチェーン記憶部11と、ブロックチェーン制御部12、トランザクション生成部13と同様である。   The second agreement verification terminal 9 includes a block chain storage unit 91, a block chain control unit 92, a transaction generation unit 93, a contract agent unit 94, an agreement verification unit 95, and an execution automation unit 96. The block chain storage unit 91, the block chain control unit 92, and the transaction generation unit 93 are the same as the block chain storage unit 11 shown in FIG. 2, the block chain control unit 12, and the transaction generation unit 13.

契約エージェント部94は、図4に示す契約エージェント部14と同様であって、ブロックチェーン記憶部91の最新のブロックチェーンを監視し、契約用アドレス記憶部に記憶された契約用アドレス宛のトランザクションを検知した場合、合意の検証を合意検証部95に指示する。   The contract agent unit 94 is the same as the contract agent unit 14 shown in FIG. 4 and monitors the latest block chain in the block chain storage unit 91, and determines the transaction addressed to the contract address stored in the contract address storage unit. If it is detected, it instructs the agreement verification unit 95 to verify the agreement.

合意検証部95は、第1の合意検証端末8の合意検証部84と同様に、ブロックチェーンから該当の契約に関するトランザクションを取り出し、合意の検証を実施する。そして、合意検証部95は、検証結果を執行自動化部96に通知する。   Similar to the agreement verification unit 84 of the first agreement verification terminal 8, the agreement verification unit 95 extracts the transaction regarding the corresponding contract from the block chain and carries out the verification of the agreement. Then, the agreement verification unit 95 notifies the enforcement automation unit 96 of the verification result.

執行自動化部96は、検証結果に応じたトランザクションの生成を指示する。例えば、検証結果が「合意者A:合意(true)、合意者B:非合意(false)、合意者C:合意(true)」の場合、執行自動化部96は、合意の状態の合意者Aおよび合意者Cのみに、例えば著作権を譲渡するトランザクションを発行する指示を、トランザクション生成部93に送出する。トランザクション生成部93は、執行自動化部96の指示に従って、トランザクションを生成し、P2Pネットワークへブロードキャストする。   The execution automation unit 96 instructs generation of a transaction according to the verification result. For example, in the case where the verification result is “agreement A: agreement (true), agreementr B: nonagreement (false), agreementr C: agreement (true)”, the enforcement automation unit 96 determines the agreement A of the state of agreement. And an instruction to issue a transaction for transferring the copyright, for example, to the transaction generation unit 93. The transaction generation unit 93 generates a transaction according to the instruction of the execution automation unit 96 and broadcasts it to the P2P network.

続いて、第2の合意検証端末9の動作について説明する。   Subsequently, the operation of the second agreement verification terminal 9 will be described.

契約エージェント部94は、ブロックチェーン記憶部91の最新のブロックチェーンを監視し(S501)、検証対象の契約用アドレス宛のトランザクションを検知した場合、合意の検証を合意検証部95に指示する(S502)。   The contract agent unit 94 monitors the latest block chain in the block chain storage unit 91 (S501), and when detecting a transaction addressed to a contract address to be verified, instructs the agreement verification unit 95 to verify the agreement (S502). ).

合意検証部95は、契約エージェント部94から検証指示を受け付けて、検証対象の契約の契約用アドレスのトランザクションを、ブロックチェーン制御部92を介してブロックチェーン記憶部91から取り出す(S503)。   The agreement verification unit 95 receives a verification instruction from the contract agent unit 94, and takes out the transaction of the contract address of the contract to be verified from the block chain storage unit 91 via the block chain control unit 92 (S503).

そして、合意検証部95は、取り出したトランザクションに設定された、契約に対する合意の状態(合意の証跡)に基づいて、契約への合意が要求される複数の合意者の合意を検証し(S504)、検証結果を執行自動化部96に送出する(S505)。   Then, the agreement verification unit 95 verifies the agreement of a plurality of consenters who are required to agree on the contract, based on the status (a trail of agreement) of the agreement on the contract set in the extracted transaction (S504) The verification result is sent to the execution automation unit 96 (S505).

執行自動化部96は、検証結果に応じたトランザクションの生成を、トランザクション生成部93に指示する(S506)。トランザクション生成部93は、執行自動化部96の指示に従って、トランザクションを生成し、P2Pネットワークへブロードキャストする(S507)。   The execution automation unit 96 instructs the transaction generation unit 93 to generate a transaction according to the verification result (S506). The transaction generation unit 93 generates a transaction according to the instruction of the execution automation unit 96, and broadcasts it to the P2P network (S507).

これにより、第2の合意検証端末9では、合意がなされている合意者に対して、自動で新たにトランザクションを生成することができる。トランザクションの内容は、契約に関して執行させたい動作の内容による。例えば資金移動のトランザクションなどがある。   As a result, the second agreement verification terminal 9 can automatically generate a new transaction for the agreed party. The content of the transaction depends on the content of the operation to be executed regarding the contract. For example, there is a transaction of money transfer.

以上、本実施形態では、契約の関係者の間で共用の契約用アドレスを用いる。そして、契約エージェント部が、契約用アドレスに宛てたトランザクションがブロックチェーンに含まれた場合、契約確認スクリプトに従ってトランザクションに内包される契約データ(契約書のハッシュ値)を確認し、確認結果を契約の合意者(または、契約自動化部)に通知する。契約の合意者(または、契約自動化部)は、確認結果に従って、合意を示す契約用アドレス宛てのトランザクションの生成を指示する。合意を示すトランザクションがブロックチェーンに組み込まれると、上記と同様に発行者端末の契約エージェントがこれを検知し、発行者に通知する。   As mentioned above, in this embodiment, the contract address shared among the parties concerned of the contract is used. Then, when the transaction addressed to the contract address is included in the block chain, the contract agent unit confirms the contract data (hash value of the contract) included in the transaction according to the contract confirmation script and confirms the confirmation result of the contract. Notify the contractor (or contract automation department). The contractor (or the contract automation unit) of the contract instructs the generation of a transaction addressed to the contract address indicating the agreement according to the confirmation result. When a transaction indicating an agreement is incorporated into the block chain, the contract agent of the issuer terminal detects this and notifies the issuer as described above.

これにより、本実施形態では、発行者と合意者との共用の契約用アドレスに紐づく契約エージェントを介し、煩雑な手続きなしに二者間以上の契約の証跡をブロックチェーン上に効率的に記録することができるとともに、発行者と合意者はお互いの契約の証跡がブロックチェーンに含まれたことを知ることができる。また、契約用アドレスに宛てたトランザクションを参照することで、容易に合意の証跡を確認することができる。   Thus, in the present embodiment, a trail of contracts between two or more parties is efficiently recorded on a block chain without complicated procedures via a contract agent linked to the shared contract address between the issuer and the agreementr. As well as being able to do so, the issuer and the agreer can know that the trail of each other's contract has been included in the blockchain. Also, by referring to the transaction addressed to the contract address, it is possible to easily confirm the trail of the agreement.

すなわち、本実施形態では、煩雑な手続きを行うことなく、より簡易な方法で二者間以上の契約合意の証跡をブロックチェーン上に記録することができる。また、本実施形態では、中央集権的な仕組みを用いることなく、自律分散的なネットワーク上に契約の合意証跡を保持するので、一部の装置で合意の証跡が失われたとしても、該当するブロックチェーンの系が存在する限りは証跡を永久的に保持することができる。   That is, in the present embodiment, a trail of contract agreement between two or more parties can be recorded on a block chain by a simpler method without performing a complicated procedure. Further, in the present embodiment, since the agreement trail of the contract is maintained on the autonomous distributed network without using a centralized mechanism, even if the trail of the agreement is lost in some devices, this is applicable. The trail can be held permanently as long as there is a block chain system.

なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、上記実施形態では、P2Pネットワークを例に説明したが、必ずしも文字通りの純粋なピアツーピアで構成されるネットワークを用いる必要はない。最近のビットコインでは例えばハブとなるようなノードも存在しており、広くはブロックチェーンを共有する分散型のネットワークであればよい。   The present invention is not limited to the above embodiment, and various modifications are possible within the scope of the invention. For example, although the P2P network is described as an example in the above embodiment, it is not necessary to use a literally pure peer-to-peer network. In recent bitcoins, for example, there are nodes that become hubs, and in general, they may be distributed networks that share block chains.

最後に、本実施形態で説明した、発行者端末1、合意者端末3a、3bおよび合意検証端末8、9は、例えば、CPUと、メモリと、ハードディスク等の外部記憶装置と、入力装置と、出力装置とを備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPUがメモリ上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。例えば、発行者端末1、合意者端末3a、3bおよび合意検証端末8、9の各機能は、発行者端末1用のプログラムの場合は発行者端末1のCPUが、合意者端末3a、3b用のプログラムの場合は合意者端末3a、3bのCPUが、そして、合意検証端末8、9用のプログラムの場合は合意検証端末8、9のCPUがそれぞれ実行することにより実現される。また、発行者端末1、合意者端末3a、3bおよび合意検証端末8、9のプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD−ROMなどのコンピュータ読取り可能な記録媒体に記憶することも、ネットワークを介して配信することもできる。   Finally, the issuer terminal 1, the agreer terminals 3a and 3b, and the agreement verification terminals 8 and 9 described in the present embodiment include, for example, a CPU, a memory, an external storage device such as a hard disk, and an input device. A general purpose computer system provided with an output device can be used. In this computer system, each function of each device is realized by the CPU executing a predetermined program loaded on the memory. For example, in the case of a program for the issuer terminal 1, each function of the issuer terminal 1, the agreementr terminals 3a and 3b, and the agreement verification terminals 8 and 9 is for the CPU of the agreementr terminal 3a or 3b In the case of the above program, the CPUs of the consenter terminals 3a and 3b are implemented, and in the case of the programs for the agreement verification terminals 8 and 9, the CPUs of the agreement verification terminals 8 and 9 respectively execute. The programs of the issuer terminal 1, the agreer terminals 3a and 3b, and the agreement verification terminals 8 and 9 are stored in a computer readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD-ROM. Can also be distributed via a network.

1…発行者端末
3a,3b…合意者端末
11…ブロックチェーン記憶部
12…ブロックチェーン制御部
13…トランザクション生成部
14…契約エージェント部
141…契約用アドレス記憶部
142…契約確認スクリプト
15…契約自動化部
8,9…合意検証端末
81,91…ブロックチェーン記憶部
82,92…ブロックチェーン制御部
83…データ保持部
84,95…合意検証部
94…契約エージェント部
96…執行自動化部
50…P2Pネットワーク
DESCRIPTION OF SYMBOLS 1 ... Issuer terminal 3a, 3b ... Agreeer terminal 11 ... Block chain storage part 12 ... Block chain control part 13 ... Transaction generation part 14 ... Contract agent part 141 ... Contract address storage part 142 ... Contract confirmation script 15 ... Contract automation Sections 8, 9 ... Agreement verification terminal 81, 91 ... Block chain storage unit 82, 92 ... Block chain control unit 83 ... Data holding unit 84, 95 ... Agreement verification unit 94 ... Contract agent unit 96 ... Execution automation unit 50 ... P2P network

Claims (8)

ブロックチェーンを共有する分散型のネットワークに接続された複数の装置間で行う契約合意方法であって、
前記複数の装置は、それぞれ、
前記ネットワークへブロードキャストされたトランザクションが含まれたブロックチェーンを、記憶部に記憶する制御ステップと、
前記記憶部に記憶されたブロックチェーンに、合意対象の契約に対応する共有の契約用アドレス宛てのトランザクションが含まれるか否かを監視する監視ステップと、
前記契約用アドレス宛てのトランザクションを検知した場合、前記契約に合意するか否かの証跡と、自装置ユーザの電子署名とを含む、前記契約用アドレス宛てのトランザクションを生成し、前記ネットワークへブロードキャストする生成ステップと、を行うこと
を特徴とする契約合意方法。
A contract agreement method between a plurality of devices connected to a distributed network sharing a block chain, comprising:
Each of the plurality of devices is
Storing, in a storage unit, a block chain including a transaction broadcast to the network;
A monitoring step of monitoring whether or not the block chain stored in the storage unit includes a transaction addressed to a shared contract address corresponding to a contract to be agreed;
When a transaction addressed to the contract address is detected, a transaction addressed to the contract address including the trail of whether or not to agree on the contract and the electronic signature of the user of the own device is generated and broadcast to the network And a contract agreement method characterized by: generating steps.
請求項1記載の契約合意方法であって、
前記契約用アドレス宛てのトランザクションを検知した場合、前記自装置ユーザに通知する通知ステップを行うことを特徴とする契約合意方法。
A contract agreement method according to claim 1, wherein
A contract agreement method comprising performing a notification step of notifying the user of the own device when a transaction addressed to the contract address is detected.
請求項2記載の契約合意方法であって、
前記契約用アドレス宛てのトランザクションを検知した場合、当該トランザクションが正当か否かを判別する判別ステップを行い、
前記通知ステップは、前記判別ステップの判別結果を、前記自装置ユーザに通知することを特徴とする契約合意方法。
The contract agreement method according to claim 2, wherein
When a transaction addressed to the contract address is detected, a determination step of determining whether the transaction is valid or not is performed;
The contract agreement method, wherein the notification step notifies the user of the own device of the determination result of the determination step.
請求項1記載の契約合意方法であって、
前記契約用アドレス宛てのトランザクションを検知した場合、当該トランザクションが正当か否かを判別する判別ステップと、
前記判別ステップの判別結果、および、前記トランザクションの内容に基づいて、前記契約用アドレス宛てのトランザクションの生成を決定する決定ステップと、を行うことを特徴とする契約合意方法。
A contract agreement method according to claim 1, wherein
A determination step of determining whether the transaction is valid if a transaction addressed to the contract address is detected;
A contract agreement method comprising: a determination step of determining generation of a transaction addressed to the contract address based on the determination result of the determination step and the content of the transaction.
ブロックチェーンを共有する分散型のネットワークに接続された複数の装置によって行われた契約の合意を検証する合意検証方法であって、
前記ネットワークへブロードキャストされたトランザクションが含まれたブロックチェーンを、記憶部に記憶する制御ステップと、
前記ブロックチェーンを参照し、前記契約の発行者が発行した契約合意を要求する発行者トランザクション、および、前記発行者トランザクションに対して前記契約の合意者が合意するか否かを示す合意者トランザクションを検証する合意検証ステップと、を行い、
前記発行者トランザクションおよび前記合意者トランザクションは、前記契約に対応する共有の契約用アドレス宛てのトランザクションであり、
前記記憶部に記憶されたブロックチェーンに、前記契約用アドレス宛てのトランザクションが含まれるか否かを監視し、前記契約用アドレス宛てのトランザクションを検知した場合、合意の検証を指示する監視ステップを、さらに行うこと
を特徴とする合意検証方法。
An agreement verification method for verifying agreement of a contract made by a plurality of devices connected to a distributed network sharing a block chain, comprising:
Storing, in a storage unit, a block chain including a transaction broadcast to the network;
An issuer transaction that refers to the block chain and requests a contract agreement issued by the issuer of the contract, and an agreementr transaction that indicates whether the contractor of the agreement agrees on the issuer transaction. And an agreement verification step to verify
The issuer transaction and the agreement's transaction, Ri transaction der of the contract for the address of the share corresponding to the contract,
A monitoring step of monitoring whether or not the block chain stored in the storage unit includes a transaction addressed to the contract address, and when a transaction addressed to the contract address is detected, instructing verification of an agreement; An agreement verification method characterized by further performing .
ブロックチェーンを共有する分散型のネットワークに接続された他装置との間で契約を合意する契約合意装置であって、
前記ネットワークへブロードキャストされたトランザクションが含まれたブロックチェーンを、記憶部に記憶する制御部と、
前記記憶部に記憶されたブロックチェーンに、合意対象の契約に対応する共有の契約用アドレス宛てのトランザクションが含まれるか否かを監視する監視部と、
前記契約用アドレス宛てのトランザクションを検知した場合、前記契約に合意するか否かの証跡と、自装置ユーザの電子署名とを含む、前記契約用アドレス宛てのトランザクションを生成し、前記ネットワークへブロードキャストする生成部と、を備えること
を特徴とする契約合意装置。
A contract agreement device for agreeing a contract with another device connected to a distributed network sharing a block chain,
A control unit that stores, in a storage unit, a block chain including a transaction broadcast to the network;
A monitoring unit configured to monitor whether or not the block chain stored in the storage unit includes a transaction addressed to a shared contract address corresponding to a contract to be agreed;
When a transaction addressed to the contract address is detected, a transaction addressed to the contract address including the trail of whether or not to agree on the contract and the electronic signature of the user of the own device is generated and broadcast to the network A contract agreement apparatus comprising: a generation unit.
ブロックチェーンを共有する分散型のネットワークに接続された複数の装置によって行われた契約の合意を検証する合意検証装置であって、
前記ネットワークへブロードキャストされたトランザクションが含まれたブロックチェーンを、記憶部に記憶する制御部と、
前記ブロックチェーンを参照し、前記契約の発行者が発行した契約合意を要求する発行者トランザクション、および、前記発行者トランザクションに対して前記契約の合意者が合意するか否かを示す合意者トランザクションを検証する合意検証部と、を備え、
前記発行者トランザクションおよび前記合意者トランザクションは、前記契約に対応する共有の契約用アドレス宛てのトランザクションであり、
前記記憶部に記憶されたブロックチェーンに、前記契約用アドレス宛てのトランザクションが含まれるか否かを監視し、前記契約用アドレス宛てのトランザクションを検知した場合、前記合意検証部に合意の検証を指示する監視部を、さらに備えること
を特徴とする合意検証装置。
An agreement verification device for verifying agreement agreement made by a plurality of devices connected to a distributed network sharing a block chain, the agreement verification device comprising:
A control unit that stores, in a storage unit, a block chain including a transaction broadcast to the network;
An issuer transaction that refers to the block chain and requests a contract agreement issued by the issuer of the contract, and an agreementr transaction that indicates whether the contractor of the agreement agrees on the issuer transaction. And an agreement verification unit to verify
The issuer transaction and the agreement's transaction, Ri transaction der of the contract for the address of the share corresponding to the contract,
It monitors whether or not the block chain stored in the storage unit contains a transaction addressed to the contract address, and when a transaction addressed to the contract address is detected, instructs the agreement verification unit to verify the agreement. An agreement verification apparatus , further comprising a monitoring unit .
請求項7記載の合意検証装置であって、
前記合意検証部の検証結果に応じたトランザクションの生成を指示する執行部と、
前記執行部の指示に基づいてトランザクションを生成し、前記ネットワークへブロードキャストする生成部と、を備えること
を特徴とする合意検証装置。
The agreement verification apparatus according to claim 7, wherein
And executive unit for instructing the generation of the transaction in accordance with the verification result of the agreement verification unit,
An agreement verification apparatus comprising: a generation unit that generates a transaction based on an instruction of the executive unit and broadcasts the transaction to the network.
JP2016111774A 2016-06-03 2016-06-03 Contract agreement method, agreement verification method, contract agreement device and agreement verification device Active JP6511017B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016111774A JP6511017B2 (en) 2016-06-03 2016-06-03 Contract agreement method, agreement verification method, contract agreement device and agreement verification device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016111774A JP6511017B2 (en) 2016-06-03 2016-06-03 Contract agreement method, agreement verification method, contract agreement device and agreement verification device

Publications (2)

Publication Number Publication Date
JP2017220710A JP2017220710A (en) 2017-12-14
JP6511017B2 true JP6511017B2 (en) 2019-05-08

Family

ID=60657786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016111774A Active JP6511017B2 (en) 2016-06-03 2016-06-03 Contract agreement method, agreement verification method, contract agreement device and agreement verification device

Country Status (1)

Country Link
JP (1) JP6511017B2 (en)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6931999B2 (en) 2017-02-06 2021-09-08 株式会社日立製作所 Credit management system and credit management method
KR101927962B1 (en) * 2017-12-22 2018-12-12 이왕재 Data transaction method
CN108305074B (en) * 2018-01-30 2020-06-02 深圳壹账通智能科技有限公司 Transaction processing method and device, computer equipment and storage medium
GB201802148D0 (en) * 2018-02-09 2018-03-28 Nchain Holdings Ltd Computer-implemented system and method
KR101880175B1 (en) * 2018-02-13 2018-07-19 주식회사 마크로젠 Bio-information data providing method, bio-information data storing method and bio-information data transferring system based on multiple block-chain
US20200402026A1 (en) * 2018-02-27 2020-12-24 Nec Corporation Blockchain management system, blockchain management apparatus, information providing apparatus, and blockchain management method
US20190266602A1 (en) * 2018-02-28 2019-08-29 Intuit Inc. Method and system for overseeing execution of graph-based contracts using hash chains
CN108537546A (en) * 2018-04-11 2018-09-14 北京奇虎科技有限公司 Node identities method for tracing, device and computing device based on number of addresses
JP6559831B1 (en) * 2018-04-13 2019-08-14 クールビックス リミテッド Pairing authentication method for electronic transaction equipment
JP6730369B2 (en) * 2018-05-16 2020-07-29 株式会社日立製作所 Usage management method, usage management system, and node
JP7131106B2 (en) * 2018-06-11 2022-09-06 富士通株式会社 Transaction management device, transaction management method and program
JP2021528912A (en) * 2018-06-19 2021-10-21 プリオン インコーポレーテッドPryon Incorporated Recording evidence of communication in human-machine dialogue
WO2019245577A1 (en) * 2018-06-22 2019-12-26 Jeff Stollman Systems and methods to validate transactions for inclusion in electronic blockchains
KR102647433B1 (en) * 2018-08-18 2024-03-13 조현준 The Method to prove an Existence utilizing Hybrid bloc-chain
KR102107115B1 (en) * 2018-08-22 2020-05-28 주식회사 머니브레인 Distributed computing resources sharing system and computing apparatus thereof based on block chain system supporting smart contract
JP7195016B2 (en) * 2018-08-24 2022-12-23 株式会社Standage Transaction processing method, system and program
JP2020043464A (en) * 2018-09-11 2020-03-19 ネクスト・イット株式会社 Virtual currency trading system using virtual currency, user terminal on user side, virtual currency trading system support system, and virtual currency trading method
KR102159431B1 (en) * 2018-10-12 2020-09-23 엠지신용정보 주식회사 Method and apparatus for providing contract service based on blockchain
KR102204231B1 (en) * 2018-10-29 2021-01-18 에스케이텔레콤 주식회사 Method for managing distributed ledger based on block chain
CN109598108B (en) * 2018-10-31 2020-11-03 东软集团股份有限公司 Program product selling method, block link point, storage medium, and block link system
EP3882794A4 (en) * 2018-11-13 2022-08-03 Nippon Telegraph And Telephone Corporation Proprietor terminal, user terminal, new proprietor terminal, proprietor program, user program, new proprietor program, content use system, and data structure of route object data
KR102120330B1 (en) * 2018-11-13 2020-06-08 주식회사 싸이투코드 Contract apparatus and method of blockchain using location information
KR102178583B1 (en) * 2018-11-13 2020-11-13 주식회사 싸이투코드 Contract apparatus and method of blockchain using digital contents orginal key
KR102181136B1 (en) * 2018-11-15 2020-11-20 엔에이치엔 주식회사 A method and blockchain system for constructing a sub blockchain in a blockchain system comprising a distributed network of a plurality of nodes
JP2020107151A (en) * 2018-12-28 2020-07-09 株式会社メルカリ Information processing method, program, and information processing device
CN109859024B (en) * 2019-01-23 2023-06-13 陕西优米数据技术有限公司 Tax system consensus method based on alliance chain
JP6934679B2 (en) * 2019-03-14 2021-09-15 公立大学法人広島市立大学 Blockchain transaction creation protocol and blockchain address creation method
US12008083B2 (en) 2019-04-02 2024-06-11 Sony Group Corporation Information processing apparatus, for storing consensus information among copyright holders in a blockchain
JP6776396B2 (en) * 2019-04-17 2020-10-28 Gmoシステムトレード株式会社 Trading system
JP6880255B2 (en) * 2020-01-14 2021-06-02 アドバンスド ニュー テクノロジーズ カンパニー リミテッド Blockchain confidential transaction management
CN111275400A (en) * 2020-01-20 2020-06-12 厦门顺势共识信息科技有限公司 Block chain-based electronic contract uplink method
CN111461732B (en) * 2020-04-03 2023-07-21 银清科技有限公司 Block chain-based payment information verification method, system and device
US11356275B2 (en) 2020-05-27 2022-06-07 International Business Machines Corporation Electronically verifying a process flow
CN112035891A (en) * 2020-07-20 2020-12-04 江苏傲为控股有限公司 Decentralized electronic contract certification platform
CN112069550B (en) * 2020-07-20 2024-04-02 傲为有限公司 Electronic contract evidence-storing system based on intelligent contract mode
CN113112271A (en) * 2021-05-14 2021-07-13 贵州大学 Electronic signing mechanism based on block chain
JP7108253B1 (en) 2021-09-28 2022-07-28 double jump.tokyo株式会社 Information processing program and information processing device
JP2023092797A (en) * 2021-12-22 2023-07-04 ソニーグループ株式会社 Information processing apparatus, information processing method and information processing program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008131632A (en) * 2006-11-17 2008-06-05 Zopa Ltd Method for digitally signing contract
US20150206106A1 (en) * 2014-01-13 2015-07-23 Yaron Edan Yago Method for creating, issuing and redeeming payment assured contracts based on mathemematically and objectively verifiable criteria
US10340038B2 (en) * 2014-05-13 2019-07-02 Nant Holdings Ip, Llc Healthcare transaction validation via blockchain, systems and methods
US11436593B2 (en) * 2016-03-31 2022-09-06 Bitflyer Blockchain, Inc. Transaction processing device, transaction processing method, and program for same

Also Published As

Publication number Publication date
JP2017220710A (en) 2017-12-14

Similar Documents

Publication Publication Date Title
JP6511017B2 (en) Contract agreement method, agreement verification method, contract agreement device and agreement verification device
JP6483827B2 (en) Agreement agreement method, agreement verification method, agreement agreement system, agreement validation device, agreement agreement device, agreement agreement program and agreement validation program
US10824701B2 (en) System and method for mapping decentralized identifiers to real-world entities
US20200336299A1 (en) Method and system for managing decentralized data access permissions through a blockchain
JP6524347B2 (en) Information sharing system
JP6894007B2 (en) Transfer of digital tickets based on blockchain network
JP6983794B2 (en) Copyright management method and system
CN111556120B (en) Data processing method and device based on block chain, storage medium and equipment
JP6756041B2 (en) Information protection systems and methods
JP2020509680A (en) How to sign new blocks in a decentralized blockchain consensus network
CN111740966B (en) Data processing method based on block chain network and related equipment
CN111819827A (en) Method and system for controlling access and integrity of resources on a blockchain
JP6495346B2 (en) Information processing system
CN111125781B (en) File signature method and device and file signature verification method and device
CN109754226B (en) Data management method, device and storage medium
JPWO2019093478A1 (en) Key exchange device, key exchange system, key exchange method, and key exchange program
JP2022532889A (en) Multiple input transactions
CN110910110B (en) Data processing method and device and computer storage medium
CN110941672B (en) Household registration management method, device, equipment and storage medium
CN109818965B (en) Personal identity verification device and method
CN111523142A (en) Data processing method, device, electronic equipment and medium
CN110852887A (en) Method and device for acquiring transaction processing state in decentralized application cluster
CN111221903A (en) Data tracing method, system and computer storage medium
JP6939313B2 (en) Distributed authentication system
CN109698750A (en) Block generation method, device, equipment and the readable storage medium storing program for executing of block chain

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190320

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190405

R150 Certificate of patent or registration of utility model

Ref document number: 6511017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150