JP6934679B2 - ブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法 - Google Patents

ブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法 Download PDF

Info

Publication number
JP6934679B2
JP6934679B2 JP2019046801A JP2019046801A JP6934679B2 JP 6934679 B2 JP6934679 B2 JP 6934679B2 JP 2019046801 A JP2019046801 A JP 2019046801A JP 2019046801 A JP2019046801 A JP 2019046801A JP 6934679 B2 JP6934679 B2 JP 6934679B2
Authority
JP
Japan
Prior art keywords
address
recipient
transaction
sender
node
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
JP2019046801A
Other languages
English (en)
Other versions
JP2020150428A (ja
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.)
Hiroshima City University
Original Assignee
Hiroshima City University
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 Hiroshima City University filed Critical Hiroshima City University
Priority to JP2019046801A priority Critical patent/JP6934679B2/ja
Publication of JP2020150428A publication Critical patent/JP2020150428A/ja
Application granted granted Critical
Publication of JP6934679B2 publication Critical patent/JP6934679B2/ja
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

本発明はネットワーク上での仮想通貨等の送受信方式として知られているブロックチェーン取引作成のためのプロトコル、及び取引に用いられるブロックチェーンアドレスの作成方法に関し、より詳細には、受信者の承諾なしに取引が成立するというブロックチェーン方式の脆弱性(以下、受信者承諾なしの取引が成立することを「本脆弱性」と略記することがある。)を解消するための取引作成プロトコル、及び受信者アドレスの作成方法に関する。
仮想通貨等の送受信方式として、ある時間内に行われたネットワーク参加者間の幾つかの取引を纏めて一つのブロックとし、各ブロックデータを要約したハッシュ値を引き継ぎながら、複数のブロックを時系列的に連結(チェーン)した情報を、自身もネットワーク参加者であるマイナーが承認してネットワーク参加者全員が確認&管理する、図1にその概要を示す「ブロックチェーン方式」が知られている。(例えば、非特許文献1)
ブロックチェーン方式は大規模な中央管理機関を必要としない次世代の分散型管理システムとして期待されているが、発明者等は、鋭意検討の結果、現状のブロックチェーン方式には「悪意のあるネットワーク参加者によって、受信者の承諾なしの取引が成立してしまう。」ことを見出した。
すなわち、図1からも判るように、各取引には、匿名化はされているが送金先として記した受信者のアドレスが情報として含まれており、SNS情報等から受信者の個人名が特定されれば、図1に送金元として記した送信者から受信者に電子通貨、トークンを送付することで、受信者の承諾なしの取引(承諾なしの貸付、ウィルスの送付等)が成立してしまう。
本脆弱性はブロックチェーン方式でのプロトコル(以下、「通常プロトコル」と略記することがある。)に存在する以下の仕組みに起因して発生しており、本脆弱性の解消には通常プロトコルの一部を変更する必要がある。
1.送信者が取引を作成してネットワーク参加者にブロードキャストする。
2.受信者のアドレスが取引情報の中で公開されている。
3.ある取引で公開されたアドレスがそれ以降の取引でも使用できる。
一方、ブロックチェーン方式での代替可能性の低さを解消するための仕組みとしてPay-to-EndPointプロトコル(例えば、非特許文献2)が知られている。
Pay-to-EndPointプロトコルは実際の取引に先だって送信者から受信者に必要な情報を送信し、受信者がそれを確認した後に送受信者間で取引に必要な情報をやり取りし、受信者が取引をネットワークにブロードキャストする方式であり、受信者の承諾なしには取引が実行されることはない。
受信者が承諾をした後に取引が実行されるという点で本脆弱性が解消できたかに見えるが、ある取引に通常プロトコルを用いるかPay-to-EndPointプロトコルを用いるかは送信者が決定できること、通常プロトコルでの取引によって作成される取引情報とPay-to-EndPointプロトコルでの取引によって作成される取引情報との区別がつかないという点で、本脆弱性の解消にはなっていない。
すなわち、悪意の送信者が通常のプロトコルを用いて取引を成立させることができる可能性が残されており、また、マイナーがPay-to-EndPointプロトコルでの取引のみを選択して承認するということができない。
Satoshi Nakamoto,"Bitcoin:A pee-to-peer electronic cash system,"2009.(https://bitcoin.org/bitcoin.pdf) Matthew Haywood,"Improving privacy using Pay-to-EndPoint," 2018. (https://blockstream.com/2018/08/08/improving-privacy-using-pay-to-endpoint/)
ブロックチェーン方式において、ある取引で公開された受信者アドレスがそれ以降の取引でも使用できることを不可能とすることで、受信者の承諾なしに取引が成立するという通常プロトコルの脆弱性を解消するための新たな取引作成プロトコル、及び受信者アドレス作成方法を提供する。
係る目的を達成するための本発明のブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法は、初めに、送信者が、送金先アドレス(すなわち、受信者アドレス)を記入せず、自身のアドレスと検証用の公開鍵、電子署名を添付した取引情報を受信者に送信し、次いで、受信者が、送付された電子署名を検証して検証可能であれば自身の秘密鍵で電子署名を除く取引に対して電子署名を作成し、秘密鍵に対応する公開鍵と電子署名で新たなアドレス(以下、nアドレスと略記することがある。)を作成して受信者アドレスに設定して前記公開鍵と電子署名を送信者に返信し、その後、返信を受けた送信者が、受信者の電子署名を検証し、検証可能であれば取引全体の情報に対して電子署名を行ってブロードキャストするステップからなることを特徴とする。
電子署名は良く知られた「公開鍵暗号方式」、「ハッシュ値」を用いた方法等によって作成可能であり、詳細な説明は割愛する。(以下、同様)
係る目的を達成するための本発明のブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法は、初めに、送信者が、送金先アドレス(すなわち、受信者アドレス)を記入せず、自身のアドレスと検証用の公開鍵、電子署名を添付した取引情報を受信者に送信し、
次いで、受信者が自身の入金先アドレスを設定し、自身の入金先アドレスが記入された取引に対して電子署名を行い、秘密鍵に対応する公開鍵と電子署名で新たなアドレスを作成して受信者アドレスに設定して、受信者が取引をネットワークにブロードキャストすることとしても良い。
本発明によれば、各取引で使用される受信者のアドレスはその都度新たに作成されて他の取引には使用することができず、本脆弱性を解消することができる。
さらに、Pay-to-EndPointプロトコルと組み合わせた拡張実施によって、本脆弱性と代替可能性の低さを合わせて解消した状態で、ブロックチェーン方式を運用することが可能となる。
ブロックチェーン方式の一例を示す図 本発明のブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法の一実施例の概要を示す図 図2のステップ100で、送信者から受信者に送信される情報を示す図 図2のステップ200で、受信者側で実施される検証、nアドレスの作成を示す図 図2のステップ200で、受信者から送信者に返信される情報を示す図 図2のステップ400で、送信者からブロードキャストされる取引情報を示す図 マイナーによって実施される検証手順の概要を示す図 図2のステップ100の詳細な手続きを示す図 図8のステップ110で送信者から受信者に送信されるnアドレスに関する情報を示す図 本発明のブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法の他の実施例の概要を示す図 図10のステップ410で、受信者からブロードキャストされる取引情報を示す図
(実施形態1)
本発明の一実施形態を、図2から図9を用いて説明する。
図において、類似の手順、手続き等のステップについては同一の番号を附して説明を省略することがある。
図2は本発明の取引作成プロトコル、及びアドレス作成方法において、送信者側で設定する情報、受信者側で設定する情報、送受信者間での情報のやり取りをステップ毎に示したものであり、各ステップで設定する情報及び情報のやり取りは以下のとおりである。
ステップ100(S100)
送信者が出金先アドレスを設定せず、自身の入金先アドレスと検証用の公開鍵、電子署名を添付したものを受信者に送信する。このとき、入金先アドレスが確かに送信者のものであることを証明するために、送信者はアドレス作成に用いた公開鍵と、出金先アドレスが設定されてない取引情報に対しての電子署名を添付する。受信者は電子署名を検証し、検証可能であればステップ200に進む。
図3は送信者から送信される情報を示したものである。
ステップ200(S200)
受信者は自身の秘密鍵で、電子署名を除く取引に対して電子署名を作成し、秘密鍵に対応する公開鍵と電子署名とでnアドレスを作成する。
図4は受信者側での検証、nアドレスの作成手順を模式的に示したものである。
受信者はnアドレスを出金先アドレスに設定し、nアドレス作成に使用した公開鍵と電子署名を添付して、送信者に返信する。
図5は受信者から送信者に返信される情報を示したものである。
ステップ300(S300)
送信者は受信者からの返信を受け取って受信者の電子署名を検証し、検証可能であれば、取引全体の情報に対して電子署名をする。
ステップ400(S400)
送信者はネットワークに作成した取引情報をブロードキャストする。
図6は送信者によってブロードキャストされる取引情報を示したものである。
マイナーは送信者からブロードキャストされた取引情報について、取引の出金先アドレスとして使用されているnアドレスの検証用として、公開鍵とその取引情報の電子署名が記されている場合には、取引情報のハッシュ値と電子署名を公開鍵により復号した値が等しいかを判定し、等しい時に電子署名と公開鍵からnアドレスを作成し、ブロードキャストされた取引情報の出金先アドレスのnアドレスと等しいか検証する。検証できた場合には、マイナーはナンスの探索を行い、ナンスを記して取引を承認されたブロックとして分散台帳に記載する。検証できなかった場合には、当該取引をナンス探索の対象としない。
図7はマイナーによる承認手続きの概要を模式的に示したものである。
さらにステップ100の送信者による送信者アドレスの通知と署名の送信と受信者による送信者アドレスの検証について、図8、図9を用いて詳細に説明する。
ステップ110(S110)
送信者、受信者は入金先アドレスがnアドレスか、一般的なアドレスかの判定を行い、入金先アドレスがnアドレスでない場合にはステップ150に進み、図3に示したよう送信者は送信者の公開鍵と署名を受信者に送信し、受信者はその署名を検証する手続きを行う。一方、入金先アドレスがnアドレスである場合には、ステップ120に進む。
ステップ120(S120)
送信者はnアドレスが出金先アドレスとして利用された取引を表すPre Indexという情報を公開鍵の代わりに取引情報に記載する。受信者はPre Indexを辿ることにより、nアドレスに関連する公開鍵が対応する取引に記録されている取引情報をブロックチェーンより参照する。
図9は入金先アドレスがnアドレスであった場合に受信者に送られる情報を示したものである。
ステップ130(S130)
受信者は送信者のnアドレスが参照した取引のnアドレスであることを検証する。
ステップ140(S140)
受信者は、参照した取引に記載のnアドレスの公開鍵を使って、nアドレスを送信者のアドレスとする取引の電子署名を検証することで、入金先のnアドレスの持ち主が送信者であることを確認する。
ステップ150(S150)
図3に示したよう送信者は送信者の公開鍵と署名を受信者に送信し、受信者はその署名を検証する手続きを行う。
以上の説明から判るように、本発明の取引作成プロトコル、及びアドレス作成方法によれば、受信者のnアドレスは当該取引のみに使用されて有効なアドレスであり、ブロードキャストによってネットワーク参加者に公開されたとしても、悪意のネットワーク参加者がnアドレスを利用して受信者個人を特定することは不可能であり、脆弱性の原因となる「ある取引で公開されたアドレスがそれ以降の取引でも使用できる。」ことを回避することで、ブロックチェーン方式の脆弱性を解消することができる。
(実施形態2)
本発明の他の実施形態について、図10、図11を用いて説明する。
図10は本発明の他の実施形態を示したものであり、図2に示したステップ200、ステップ300、ステップ400に代えてステップ210、ステップ310、ステップ410を実施する。
ステップ210(S210)
受信者は自身の入金先アドレスを設定した取引情報を作成し、秘密鍵で当該取引に対して電子署名を作成し、秘密鍵に対応する公開鍵と電子署名とでnアドレスを作成して、公開鍵と電子署名とnアドレスを取引情報に追加して受信者に送信する。送信者は受信者アドレスを受信し、受信者アドレスを検証し、ステップ310に進む。
ステップ310(S310)
送信者は受信者のアドレスを含めた取引の情報に対する署名を作成し、署名を追加した取引情報を受信者に送信する。更新された署名が追加された取引情報を受け取った受信者は自身が設定した入金先アドレスの公開鍵と署名を取引情報に記載し、ステップ410に進む。
ステップ410(S410)
受信者はネットワークに作成した取引情報をブロードキャストする。
図11は受信者からブロードキャストされる取引情報を示したものである。
図10に示した実施形態によって、通常プロトコルの本脆弱性と代替可能性の低下を同時に解消することができるブロックチェーン取引作成プロトコルを実現することができる。
本発明によれば、受信者の承諾なしに取引が成立するという脆弱性が解消されたブロックチェーン方式を実現することができる。
S100:ステップ100
S110:ステップ110
S120:ステップ120
S130:ステップ130
S140:ステップ140
S150:ステップ150
S200:ステップ200
S210:ステップ210
S300:ステップ300
S310:ステップ310
S400:ステップ400
S410:ステップ410
































Claims (3)

  1. ブロックチェーン方式での取引作成プロトコルに従った電子取引方法において、送信者ノードが送信者アドレスの通知と電子署名を受信者ノードに送信して受信者ノードが送信者アドレスを検証するステップと、受信者ノードが受信者アドレスを作成・返信して送信者ノードが受信者アドレスを受信・検証するステップと、送信者ノードがブロック全体の電子署名を作成するステップと、送信者ノードが作成したブロックをP2Pネットワークへブロードキャストするステップとを含むことを特徴とする、ブロックチェーン取引作成プロトコルに従った電子取引方法
  2. ブロックチェーン方式での取引情報に含まれる受信者アドレスを、前記受信者ノードが、受信者ノードの公開鍵と取引情報の電子署名を用いて作成することを特徴とする、請求項1に記載のブロックチェーン取引作成プロトコルに従った電子取引方法
  3. ブロックチェーン方式での取引作成プロトコルに従った電子取引方法において、送信者ノードが送信者アドレスの通知と電子署名を受信者ノードに送信して受信者ノードが送信者アドレスを検証するステップと、受信者ノードが受信者アドレスを入金先アドレスとして設定し、送金先アドレスとしての受信者アドレスを作成・返信して送信者ノードが受信者アドレスを受信・検証するステップと、送信者ノードがブロック全体の電子署名を作成するステップと、受信者ノードが入金先アドレスである受信者アドレスの電子署名を作成するステップと、受信者ノードが作成したブロックをP2Pネットワークへブロードキャストするステップとを含むことを特徴とする、ブロックチェーン取引作成プロトコルに従った電子取引方法
JP2019046801A 2019-03-14 2019-03-14 ブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法 Active JP6934679B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019046801A JP6934679B2 (ja) 2019-03-14 2019-03-14 ブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019046801A JP6934679B2 (ja) 2019-03-14 2019-03-14 ブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法

Publications (2)

Publication Number Publication Date
JP2020150428A JP2020150428A (ja) 2020-09-17
JP6934679B2 true JP6934679B2 (ja) 2021-09-15

Family

ID=72432236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019046801A Active JP6934679B2 (ja) 2019-03-14 2019-03-14 ブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法

Country Status (1)

Country Link
JP (1) JP6934679B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112348677B (zh) * 2020-11-11 2024-04-26 郑杰骞 地址生成、区块链在线离线交易方法、装置、系统及介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017010455A1 (ja) * 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム
JP6511017B2 (ja) * 2016-06-03 2019-05-08 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意装置および合意検証装置
JP6825296B2 (ja) * 2016-10-11 2021-02-03 富士通株式会社 エッジサーバ,及びその暗号化通信制御方法
US10396997B2 (en) * 2016-12-14 2019-08-27 International Business Machines Corporation Container-based operating system and method
JP6341491B1 (ja) * 2017-02-21 2018-06-13 株式会社三菱Ufj銀行 信号処理方法、および信号処理プログラム

Also Published As

Publication number Publication date
JP2020150428A (ja) 2020-09-17

Similar Documents

Publication Publication Date Title
CN107851253B (zh) 合约合意方法、合意验证方法、合约合意系统、合意验证装置、合约合意装置、计算机可读记录介质
AU2022204758B2 (en) Network topology
AU2018349940B2 (en) System and method for information protection
AU2018347196B2 (en) System and method for information protection
JP7021747B2 (ja) 決済システム、決済方法、利用者装置、決済プログラム
EP4002181A1 (en) A consensus method and framework for a blockchain system
KR101964254B1 (ko) 블록체인과 dht를 이용한 p2p 거래 방법 및 장치
US11481375B2 (en) Point-to-point distributed decentralized system
JP2020504916A (ja) 匿名エントリを含む分散型データベースのための方法および装置
CN107172074B (zh) 一种信息发送方法、处理方法及装置
CN113544722A (zh) 使用区块链的方法
WO2020088074A1 (zh) 基于区块链的隐私交易方法、装置及其应用方法、装置
JP6786119B2 (ja) 取引装置、取引方法及び取引プログラム
CN114565386A (zh) 多方协同隐私保护的区块链托管交易方法及系统
JP6934679B2 (ja) ブロックチェーン取引作成プロトコル、及びブロックチェーンアドレス作成方法
KR102647433B1 (ko) 하이브리드블록체인 이용한 존재증명 방법
GB2587541A (en) A consensus method and framework for a blockchain system
KR102100760B1 (ko) 스마트 컨트랙트를 활용한 Payment channel에서의 멀티 홉 트랜잭션 라우팅 방법
KR102415982B1 (ko) 블록체인 시스템
Vijayakumaran The security of the bitcoin protocol
JP2021114029A (ja) 検証方法、検証装置及び検証プログラム
CN112384939A (zh) 用于分布式分类账相关交易的链外交换的计算机实现的系统和方法
Nyffenegger Scaling Bitcoin
KR20180054973A (ko) 수취인 증명 기반의 모바일 안심송금 방법
KR20180054972A (ko) 수취인 증명 기반의 모바일 안심송금 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210317

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210317

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210317

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210430

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210622

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210719

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: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210817

R150 Certificate of patent or registration of utility model

Ref document number: 6934679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150