(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022099221
(43)【公開日】2022-07-04
(54)【発明の名称】ブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システムとその方法
(51)【国際特許分類】
G06F 21/62 20130101AFI20220627BHJP
H04L 9/32 20060101ALI20220627BHJP
G06F 21/60 20130101ALI20220627BHJP
G06F 21/64 20130101ALI20220627BHJP
【FI】
G06F21/62 354
H04L9/00 675Z
G06F21/60 320
G06F21/64
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021098690
(22)【出願日】2021-06-14
(31)【優先権主張番号】109145457
(32)【優先日】2020-12-22
(33)【優先権主張国・地域又は機関】TW
(71)【出願人】
【識別番号】520420481
【氏名又は名称】天宿智能科技股▲分▼有限公司
(74)【代理人】
【識別番号】100082418
【弁理士】
【氏名又は名称】山口 朔生
(74)【代理人】
【識別番号】100167601
【弁理士】
【氏名又は名称】大島 信之
(74)【代理人】
【識別番号】100201329
【弁理士】
【氏名又は名称】山口 真二郎
(74)【代理人】
【識別番号】100220917
【弁理士】
【氏名又は名称】松本 忠大
(72)【発明者】
【氏名】王振軒
(72)【発明者】
【氏名】楊建民
(72)【発明者】
【氏名】苗華斌
(57)【要約】
【課題】ブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システムとその方法を提供する。
【解決手段】開示端ホストによりワンタイムウォレットアドレスを生成し、且つ開示データを暗号化して暗号化データとした後にブロックチェーンに書き込み、身元確認端ホストにより対応する有効フラグを生成し、発表端ホストにより暗号化データに対する復号化を行うと共に対応するレシートフラグを生成し、且つ復号化して獲得した開示データ及びそれに対応するワンタイムウォレットアドレスの対応関係を混乱させ、混乱認識発表の内容としてブロックチェーンに書き込む。開示端ホストが混乱認識発表中から自身の開示データ及びワンタイムウォレットアドレスを検出した場合、認識フラグをブロックチェーンに書き込み、匿名性を高めると共に身元確認を許可する技術的効果を達成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ワンタイムウォレットアドレスを伝送し、且つ発表端公開鍵により開示データを暗号化して暗号化データを生成し、前記ワンタイムウォレットアドレスにより前記暗号化データを発布し、前記暗号化データをブロックチェーンに書き込み、前記ブロックチェーンにある混乱認識発表中から自身の前記開示データ及び前記ワンタイムウォレットアドレスを検出した場合、自身の前記ワンタイムウォレットアドレスを使用して認識フラグを前記ブロックチェーンに書き込み、前記混乱認識発表中に自身の前記開示データが存在することを認識するための開示端ホストと、
前記開示端ホストから前記ワンタイムウォレットアドレスを受信し、前記ワンタイムウォレットアドレスが前記暗号化データを前記ブロックチェーンに書き込んだことを検出すると、前記暗号化データに対応する有効フラグを前記ブロックチェーンに書き込んで前記暗号化データが前記ワンタイムウォレットアドレスから来たものであることを証明するための身元確認端ホストと、
前記ブロックチェーン上で前記有効フラグ及びそれに対応する前記暗号化データを検出した場合、前記ブロックチェーンから前記暗号化データをロードし、且つ発表端秘密鍵により復号化して前記開示データ及びそれが対応する前記ワンタイムウォレットアドレスを獲得し、前記暗号化データに対応するレシートフラグを前記ブロックチェーンに書き込み、発表端ホストが前記開示データ及びそれに対応する前記ワンタイムウォレットアドレスを獲得した場合、前記開示データと前記ワンタイムウォレットアドレスとの間の対応関係を混乱させて前記混乱認識発表の内容とし、且つ前記混乱認識発表を前記ブロックチェーンに発布し、前記混乱認識発表が対応関係が混乱している全ての前記開示データ及び前記ワンタイムウォレットアドレスを含むようにするための発表端ホストと、を備えていることを特徴とする、
ブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システム。
【請求項2】
前記ワンタイムウォレットアドレスは前記開示端ホストが階層的決定性ウォレット(Hierarchical Deterministic Wallet、HD Wallet)によりシードとするメイン秘密鍵に基づいて生成し、前記身元確認端ホストはメインウォレットアドレスまたは身元データを予め記憶し、前記身元確認端ホストが前記メインウォレットアドレスまたは前記身元データに基づいて前記開示端ホストに対する検証を完了し、且つ前記開示端ホストから前記ワンタイムウォレットアドレスを受信すると、前記ワンタイムウォレットアドレスと前記メインウォレットアドレスまたは前記身元データとの対応関係を構築することを特徴とする請求項1に記載のブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システム。
【請求項3】
前記有効フラグ、前記レシートフラグ、及び前記認識フラグは同じスマートコントラクトまたは異なる複数のブロックチェーントランザクション記録に記録されることを許可され、前記有効フラグ及び前記レシートフラグは暗号化後の前記開示データのトランザクションハッシュ値及び復号化の成否の判断情報を含み、前記認識フラグは前記ワンタイムウォレットアドレスを含むことを特徴とする請求項1に記載のブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システム。
【請求項4】
前記暗号化データはソルトデータを含み、前記発表端が前記ブロックチェーンから前記暗号化データをロードした後、前記発表端秘密鍵により前記暗号化データに対する復号化を行って前記開示データを獲得することを特徴とする請求項1に記載のブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システム。
【請求項5】
前記開示データは、前記開示データが前記混乱認識発表に発表された場合、前記開示端ホストが識別コードに基づいて自身に属する前記開示データを識別することを許可するための識別コードを含み、識別不能な前記開示データが存在する場合、前記発表端ホストは前記認識フラグを有している全ての前記開示データに基づいて、全ての前記開示データが対応する前記認識フラグを均しく有するまで前記混乱認識発表を再度発布することを特徴とする請求項1に記載のブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システム。
【請求項6】
複数の開示端ホスト、身元確認端ホスト、及び発表端ホストを備えているブロックチェーンネットワークに適用するブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識方法であって、
前記開示端ホストがワンタイムウォレットアドレスを前記身元確認端ホストに伝送し、且つ発表端公開鍵により開示データを暗号化して暗号化データを生成し、前記ワンタイムウォレットアドレスにより前記暗号化データを発布し、前記暗号化データをブロックチェーンに書き込むステップと、
前記身元確認端ホストが前記ワンタイムウォレットアドレスが前記暗号化データを前記ブロックチェーンに書き込んだことを検出した場合、前記暗号化データに対応する有効フラグを前記ブロックチェーンに書き込み、前記暗号化データが前記ワンタイムウォレットアドレスから来たことを証明するステップと、
前記発表端ホストが前記ブロックチェーン上で前記有効フラグ及びそれに対応する前記暗号化データを検出した場合、前記ブロックチェーンから前記暗号化データをロードし、且つ発表端秘密鍵により復号化して前記開示データ及びそれに対応する前記ワンタイムウォレットアドレスを獲得し、前記暗号化データに対応するレシートフラグを前記ブロックチェーンに書き込むステップと、
前記発表端ホストが前記開示データ及びそれに対応する前記ワンタイムウォレットアドレスを獲得した場合、前記開示データと前記ワンタイムウォレットアドレスとの間の対応関係を混乱させて混乱認識発表の内容とし、且つ前記混乱認識発表を前記ブロックチェーンに発布し、前記混乱認識発表が対応関係が混乱した全ての前記開示データ及び前記ワンタイムウォレットアドレスを含むようにするステップと、
各開示端ホストが前記混乱認識発表中で自身の前記開示データ及び前記ワンタイムウォレットアドレスを検出した場合、自身の前記ワンタイムウォレットアドレスを使用して認識フラグを前記ブロックチェーンに書き込み、前記混乱認識発表中に自身の前記開示データが存在することを認識するステップと、を含むことを特徴とする、
ブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識方法。
【請求項7】
前記ワンタイムウォレットアドレスは階層的決定性ウォレット(Hierarchical Deterministic Wallet、HD Wallet)によりシードとするメイン秘密鍵に基づいて生成され、前記身元確認端ホストはメインウォレットアドレスまたは身元データを予め記憶し、前記身元確認端ホストが前記メインウォレットアドレスまたは前記身元データに基づいて前記開示端ホストに対する検証を完了し、且つ前記開示端ホストから前記ワンタイムウォレットアドレスを受信した場合、前記ワンタイムウォレットアドレスと前記メインウォレットアドレスまたは前記身元データとの対応関係を構築することを特徴とする請求項6に記載のブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識方法。
【請求項8】
前記有効フラグ、前記レシートフラグ、及び前記認識フラグは同じスマートコントラクトまたは異なる複数のブロックチェーントランザクション記録に記録されることを許可され、前記有効フラグ及び前記レシートフラグは暗号化後の前記開示データのトランザクションハッシュ値及び復号化の成否の判断情報を含み、前記認識フラグは前記ワンタイムウォレットアドレスを含むことを特徴とする請求項6に記載のブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識方法。
【請求項9】
前記暗号化データはソルトデータを含み、前記発表端ホストが前記ブロックチェーンから前記暗号化データをロードした後、前記発表端秘密鍵により前記暗号化データに対して復号化を行って前記開示データを獲得することを特徴とする請求項6に記載のブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識方法。
【請求項10】
前記開示データは、前記開示データが前記混乱認識発表に発表された場合、前記開示端ホストが識別コードに基づいて自身に属する前記開示データを識別することを許可するための識別コードを含み、識別不能な前記開示データが存在する場合、前記発表端ホストは前記認識フラグを有している全ての前記開示データに基づいて、全ての前記開示データが対応する前記認識フラグを均しく有するまで前記混乱認識発表を再度発布することを特徴とする請求項6に記載のブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、匿名の開示と多対多の認識システムとその方法に関し、更に詳しくは、ブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システムとその方法(An anonymous disclose and many-to-many recognition system based on blockchain and identity confirmation allowance and a method thereof)に関する。
【背景技術】
【0002】
近年、ブロックチェーンの普及と発展に伴い、各種ブロックチェーンの応用が雨後の筍のように登場している。また、ブロックチェーンは否認できず、改竄が難しいという特性を有するため、投票や世論調査等に適用されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
一般的には、従来はブロックチェーンにより投票や世論調査を行う場合、ブロックチェーンが投票者のアドレスを完全に記録できるため、ブロックチェーンの適用が普及すると、本来のアドレス無記名(或いは匿名)効果が徐々に弱まっていた。一例を挙げると、あるアドレスの使用率の増加に従って、アナリストが単一のアドレスに対してそのアドレスを使用しているユーザーを分析し、その選択、興味、志向等を知ることができた。ある適用では、そのアドレスが対応する実際の身元を知ることまで可能であった。これではそのアドレスの匿名性を確保できず、旧来の無記名選択が全て記名選択となってしまっていた。
【0004】
以上に鑑み、あるメーカーでは符号化及び暗号化の技術手段を提供し、ハッシュ及びキー暗号化方式により、データ内容(例えば、選挙の投票や世論調査)に対し符号化及び暗号化を行い、ブロックチェーンに公開されているデータが相当程度の匿名性を維持するようにしている。しかしながら、この方式はキーが盗まれると、盗んだ犯人が暴力的な試験方式を組み合わせて各種ハッシュ関数(Hash Function)を試し、復号化及びハッシュ衝突(Collision)を実行してデータ内容を獲得することがあり、匿名性が損なわれるという問題があった。また、匿名投票、匿名の世論調査等の多くの適用には無記名という特性が求められているが、偽造を避けるため、実務上身元の真正性を検証するメカニズムが必要であった。従来の方式では、初期または投票の完了時にしか検証を行っておらず、データが不透明な空白期間が存在した。
【0005】
以上を総合すると、先行技術には匿名性及び身元確認の許可を兼ね備えることができないという問題が長年存在している。このため、改善する技術手段を提供してこの問題を解決する必要があった。
【0006】
本発明は、上記問題点に鑑みて本発明者の鋭意研究により成されたものであり、その目的は、ブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システムとその方法を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある態様のブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システムは、ワンタイムウォレットアドレスを伝送し、且つ発表端公開鍵により開示データを暗号化して暗号化データを生成し、前記ワンタイムウォレットアドレスにより前記暗号化データを発布し、前記暗号化データをブロックチェーンに書き込み、前記ブロックチェーンにある混乱認識発表中から自身の前記開示データ及び前記ワンタイムウォレットアドレスを検出した場合、自身の前記ワンタイムウォレットアドレスを使用して認識フラグを前記ブロックチェーンに書き込み、前記混乱認識発表中に自身の前記開示データが存在することを認識するための開示端ホストと、前記開示端ホストから前記ワンタイムウォレットアドレスを受信し、前記ワンタイムウォレットアドレスが前記暗号化データを前記ブロックチェーンに書き込んだことを検出すると、前記暗号化データに対応する有効フラグを前記ブロックチェーンに書き込んで前記暗号化データが前記ワンタイムウォレットアドレスから来たものであることを証明するための身元確認端ホストと、前記ブロックチェーン上で前記有効フラグ及びそれに対応する前記暗号化データを検出した場合、前記ブロックチェーンから前記暗号化データをロードし、且つ発表端秘密鍵により復号化して前記開示データ及びそれが対応する前記ワンタイムウォレットアドレスを獲得し、前記暗号化データに対応するレシートフラグを前記ブロックチェーンに書き込み、前記発表端ホストが前記開示データ及びそれに対応する前記ワンタイムウォレットアドレスを獲得した場合、前記開示データと前記ワンタイムウォレットアドレスとの間の対応関係を混乱させて前記混乱認識発表の内容とし、且つ前記混乱認識発表を前記ブロックチェーンに発布し、前記混乱認識発表が対応関係が混乱している全ての前記開示データ及び前記ワンタイムウォレットアドレスを含むようにするための発表端ホストと、を備えている。
【0008】
本発明の別の態様は、ブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識方法である。この認識方法は、複数の開示端ホスト、身元確認端ホスト、及び発表端ホストを備えているブロックチェーンネットワークに適用し、前記開示端ホストがワンタイムウォレットアドレスを前記身元確認端ホストに伝送し、且つ発表端公開鍵により開示データを暗号化して暗号化データを生成し、前記ワンタイムウォレットアドレスにより前記暗号化データを発布し、前記暗号化データをブロックチェーンに書き込むステップと、前記身元確認端ホストが前記ワンタイムウォレットアドレスが前記暗号化データを前記ブロックチェーンに書き込んだことを検出した場合、前記暗号化データに対応する有効フラグを前記ブロックチェーンに書き込み、前記暗号化データが前記ワンタイムウォレットアドレスから来たことを証明するステップと、前記発表端ホストが前記ブロックチェーン上で前記有効フラグ及びそれに対応する前記暗号化データを検出した場合、前記ブロックチェーンから前記暗号化データをロードし、且つ発表端秘密鍵により復号化して前記開示データ及びそれに対応する前記ワンタイムウォレットアドレスを獲得し、前記暗号化データに対応するレシートフラグを前記ブロックチェーンに書き込むステップと、前記発表端ホストが前記開示データ及びそれに対応する前記ワンタイムウォレットアドレスを獲得した場合、前記開示データと前記ワンタイムウォレットアドレスとの間の対応関係を混乱させて混乱認識発表の内容とし、且つ前記混乱認識発表を前記ブロックチェーンに発布し、前記混乱認識発表が対応関係が混乱した全ての前記開示データ及び前記ワンタイムウォレットアドレスを含むようにするステップと、各開示端ホストが前記混乱認識発表中で自身の前記開示データ及び前記ワンタイムウォレットアドレスを検出した場合、自身の前記ワンタイムウォレットアドレスを使用して認識フラグを前記ブロックチェーンに書き込み、前記混乱認識発表中に自身の前記開示データが存在することを認識するステップと、を含む。
【発明の効果】
【0009】
本発明によれば、次のような効果がある。
本発明に係るシステム及び方法は上述のように、先行技術との差異として、本発明は開示端ホストによりワンタイムウォレットアドレスを生成し、且つ開示データを暗号化して暗号化データとした後にブロックチェーンに書き込み、身元確認端ホストにより対応する有効フラグを生成し、発表端ホストにより暗号化データに対する復号化を行うと共に対応するレシートフラグを生成し、且つ復号化して獲得した開示データ及びそれに対応するワンタイムウォレットアドレスの対応関係を混乱させ、混乱認識発表の内容としてブロックチェーンに書き込む。開示端ホストが混乱認識発表中から自身の開示データ及びワンタイムウォレットアドレスを検出した場合、認識フラグをブロックチェーンに書き込む。また、上述の技術手段により、本発明は匿名性を高めると共に身元確認を許可する技術的効果を達成する。
【0010】
本発明の他の特徴について、本明細書及び添付図面の記載により明らかにする。
【図面の簡単な説明】
【0011】
【
図1】本発明の一実施形態に係るブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システムを示したブロック図である。
【
図2A】本発明の一実施形態に係るブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識方法を示したフローチャートである。
【
図2B】本発明の一実施形態に係るブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識方法を示したフローチャートである。
【
図3A】本発明による匿名の投票または投票と宝くじの抽選に適用している概略図である。
【
図3B】本発明による匿名の投票または投票と宝くじの抽選に適用している概略図である。
【
図3C】本発明による匿名の投票または投票と宝くじの抽選に適用している概略図である。
【
図3D】本発明による匿名の投票または投票と宝くじの抽選に適用している概略図である。
【発明を実施するための形態】
【0012】
以下に図面を参照して、本発明を実施するための形態について、詳細に説明する。なお、本発明は、以下に説明する実施形態に限定されるものではない。
【0013】
まず、本発明に係るブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システムとその方法について説明する前に、本発明の適用環境について説明する。本発明はブロックチェーンネットワーク環境に適用し、このブロックチェーンネットワークは開示端ホストと、身元確認端ホストと、発表端ホストと、を備えている。実際には、これら上述のホストは全てブロックチェーンネットワークのノードと見なし、且つ同じ内容を記録するブロックチェーンが各自存在している。このほか、前記ブロックチェーンには予め設けられているスマートコントラクト(Smart Contract)も存在する。前記スマートコントラクトとはブロックチェーンの基礎の上に既定の条件及び伝送された情報に基づいて実行命令を駆動するコンピュータープログラムを指し、具体的には、前記スマートコントラクトは、Solidity、Serpent、LLL、EtherScript、Sidechain等のプログラム言語により記述され、各種異なる関数(Function)、イベント(Event)、パラメーター状態等を含み、実行命令によりパラメーター状態を改変したり、イベントをトリガーするために用いられている。
【0014】
以下、図面を参照して本発明に係るブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システムとその方法の実施形態について説明する。
図1は本発明の一実施形態に係るブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識システムを示したブロック図である。
システムは開示端ホスト110と、身元確認端ホスト120と、発表端ホスト130と、を備えている。開示端ホスト110はワンタイムウォレットアドレスを身元確認端ホスト120に伝送するために用いられ、且つ発表端公開鍵を使用して開示データを暗号化して暗号化データを生成し、前記ワンタイムウォレットアドレスにより前記暗号化データを発布(Deploy)し、この暗号化データをブロックチェーンに書き込む。開示端ホスト110がブロックチェーン上で混乱認識発表中から自身の開示データ及びワンタイムウォレットアドレスを検出した場合、自身のワンタイムウォレットアドレスを使用して認識フラグをブロックチェーンに書き込み、前記混乱認識発表中に自身の開示データが存在することを認識する。実際の実施では、前記発表端公開鍵とは予め発表端ホスト130から獲得した公開キー(Public Key)を指す。
前記ワンタイムウォレットアドレスは開示端ホスト110が階層的決定性ウォレット(Hierarchical Deterministic Wallet、HD Wallet)によりシードとするメイン秘密鍵に基づいて生成し、実際には、身元確認端ホスト120がメインウォレットアドレスまたは身元データを予め保存し、身元確認端ホスト120が前記メインウォレットアドレスまたは身元データに基づいて開示端ホスト110に対する検証を完了すると共に開示端ホスト110からワンタイムウォレットアドレスを受信した場合、このワンタイムウォレットアドレスとメインウォレットアドレスまたは身元データとの対応関係を構築し、前記対応関係中からユーザーの真正の身元を確認することを許可する。また、暗号化及び復号化を行う際に、暗号学のソルト(salt)データをさらに組み合わせて使用し、且つこれを暗号化データの一部分とし、発表端ホスト130がブロックチェーンから暗号化データをロードした後、発表秘密鍵により暗号化データに対して復号化を行って開示データを獲得し、全体的な安全レベルを引き上げている。
【0015】
身元確認端ホスト120は開示端ホスト110からワンタイムウォレットアドレスを受信し、ワンタイムウォレットアドレスが暗号化データをブロックチェーンに書き込んだことを検出した場合、暗号化データに対応する有効フラグをブロックチェーンに書き込んで暗号化データが前記ワンタイムウォレットアドレスから来たことを証明する。実際の実施では、開示端ホスト110が前述のように、まずワンタイムウォレットアドレスを身元確認端ホスト120に伝送し、よって身元確認端ホスト120が検出する前に、まず開示端ホスト110が資格を有しているか否か確認する。例えば、メインウォレットアドレスの比較、実名の検証、或いは相似する方式により確認する。
資格を有していることが確認されてから、このワンタイムウォレットアドレスが暗号化データをブロックチェーンに書き込んだか否かを検出する。また、身元確認端ホスト120が生成する前記有効フラグはJSONまたは相似する形式を使用して記録し、その内容は下記に示す。
「{暗号化後の開示データのトランザクションハッシュ値:“0x04542・・・・・・”、ソースアドレスが有効か否か:True}」
或いはスマートコントラクト(Smart Contract)内に下記の記録を新規作成する。
「[開示データ記録番号:13、ソースアドレスが有効か否か:False]」
【0016】
発表端ホスト130がブロックチェーン上で有効フラグ及びそれに対応する暗号化データを検出した場合、ブロックチェーンから暗号化データをロードし、且つ発表端秘密鍵、即ち発表端ホスト130自身の秘密鍵(Private Key)により復号化を行って開示データ(1つまたは複数)及びそれに対応するワンタイムウォレットアドレスを獲得する。次いで、この暗号化データに対応するレシートフラグをブロックチェーンに書き込む。また、発表端ホスト130が開示データ及びそれに対応するワンタイムウォレットアドレスを獲得した場合、開示データとワンタイムウォレットアドレスとの間の対応関係を混乱させて混乱認識発表の内容とする。ちなみに、発表端ホスト130は対応関係を含む開示データ及びワンタイムウォレットアドレスをなおも有し、次いで、混乱認識発表をブロックチェーンに発布し、前記混乱認識発表は対応関係が混乱している全ての開示データ及びワンタイムウォレットアドレスを含む。即ち、混乱認識発表の内容は対応関係を含まない複数の開示データの集合に複数のワンタイムウォレットアドレスの集合を加えたものである。
前記混乱が混乱関数(Function)を実行して開示データ及びワンタイムウォレットアドレスの対応関係を混乱、錯乱、或いは隠匿し、例えば、混乱認識発表中の開示データ及びワンタイムウォレットアドレスの順序をランダムに並び替えたり、混乱するように配列するなどし、混乱認識発表中の両者の間で対応関係を有しないようにし、その対応関係を知られないようにする。実際には、前記発表端秘密鍵は発表端公開鍵に対応し、且つ発表端ホスト130の同じ組のキーペア(Key Pairs)とし、対称暗号化または非対称暗号化技術により実現している。また、前記開示データは一意識別子を含み、開示データが混乱認識発表に発表された場合、開示端ホスト110がこの識別子に基づいて自身に属する開示データを識別することを許可する。実際の実施では、発表端ホスト130が生成するレシートフラグはJSONまたはそれに相似する形式を用いて記録し、その内容を下記に示す。
「{暗号化後の開示データのトランザクションハッシュ値:“0x04542・・・・・・”、復号化の成否:False}」
或いはスマートコントラクト内に下記の記録を新規作成する。
「[開示データ記録番号:17、復号化の成否:True]」
【0017】
前述の有効フラグは主にソースアドレスが有効か否かを記録するのに比べ、ここではレシートフラグが主に復号化の成否を記録する。このほか、実際の実施では、前記混乱認識発表はスマートコントラクトでもよく、開示データ及びそれが対応するワンタイムウォレットアドレスを記録し、且つ開示端ホスト110がこのスマートコントラクトにより認識フラグを書き込む。前記混乱認識発表はブロックチェーントランザクションのデータ内容でもよく、開示端ホスト110が認識フラグを示す独立したトランザクションを書き込むことを許可し、且つデータ内容中には対応関係が注記され、例えば、対応する混乱認識発表トランザクションのハッシュ値が注記される。また、開示データの数量は開示端ホスト110の数量とは不等である可能性があり、例えば、1つの開示端ホスト110が複数の開示データを生成可能であり、よって、重み関係を混乱認識発表のスマートコントラクト中に注記する。
重み投票を例とすると、いくつかの開示端ホスト110が3つの投票記録を生成し、そのワンタイムアドレスが3票と認識してもよく、同じ開示端ホスト110が身元確認端ホスト120により複数のワンタイム身元を生成して個別に投票してもよい。また、識別不能な前記開示データが存在している場合、前記発表端ホストは前記認識フラグを有している全ての前記開示データに基づいて、全ての前記開示データが対応する前記認識フラグを均しく有するまで前記混乱認識発表を再度発布する。換言すれば、混乱認識発表が認識した開示端ホスト110の数量不足に対し、発表端ホスト130は認識されていないワンタイムアドレス及び開示データを削除し、全ての開示データが均しく認識されるまで混乱認識発表を再度発布してもよい。このほか、前記混乱認識発表は複数に分割してもよく、例えば、開示端ホスト110の数量が多く、全ての開示端ホスト110が同じ混乱認識発表を認識することが困難である。匿名投票に適用する例では、複数の投票所を示す複数の混乱認識発表に分割し、但し、最後の票数は全ての投票所の集合である。
【0018】
ちなみに、実際の実施では、本発明の前記ホストは全て、ソフトウェア、ハードウェア、或いはそれらの任意の組み合わせを含む各種方式を利用して実現している。例えば、ある実施方式では、各ホストがソフトウェア及びハードウェアまたはそのうちの1つを利用して実現している。このほか、本発明は部分的に或いは完全にハードウェアにより実現してもよく、例えば、システム中の1つまたは複数のホストが集積回路チップ、システム・オン・チップ(System on Chip、SoC)、CPLD(Complex Programmable Logic Device)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)等により実現している。
本発明はシステム、方法、及び/またはコンピュータープログラムでもよい。コンピュータープログラムは、処理装置が本発明の各目的を実現するためのコンピューター可読プログラム命令がインストールされているコンピューター可読記憶媒体を含み、コンピューター可読記憶媒体は命令実行装置が使用する命令を保持及び保存する有形装置でもよい。コンピューター可読記憶媒体は限定するわけではないが電子記憶装置、磁気記憶装置、光学記憶装置、電磁気記憶装置、半導体記憶装置、または上述の任意の好適な組み合わせでもよい。コンピューター可読記憶媒体のさらに具体的な例(全てを網羅したリストではない)は、ハードディスク、ランダムアクセスメモリ、リードオンリーメモリ、フラッシュメモリ、光学ディスク、フロッピーディスク、及び上述の任意の好適な組み合わせを含む。ここで用いるコンピューター可読記憶媒体とは、ワイヤレス電波や他の自由伝播される電磁波、導波管または他の伝送媒介によって伝播される電磁波(例えば、光ファイバーケーブルを通過する光信号)、或いは電線によって伝送される電気信号のような瞬時信号自体であると解釈すべきではない。また、ここで描写するコンピューター可読プログラム命令はコンピューター可読記憶媒体から各計算/処理装置にダウンロードされ、或いはインターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、及び/或いはワイヤレスネットワークのようなネットワークを介して外部のコンピューター装置や外部の記憶装置にダウンロードされる。
ネットワークは銅伝送ケーブル、光ファイバー伝送、ワイヤレス伝送、ルーター、ファイヤーウォール、交換器、ハブ、及び/或いはゲートウェイを含む。各計算/処理装置のネットワークカードまたはネットワークインターフェースはネットワークからコンピューター可読プログラム命令を受信すると共にこのコンピューター可読プログラム命令を転送し、各計算/処理装置のコンピューター可読記憶媒体中に保存される。本発明の操作を実行するコンピュータープログラム命令はアセンブリ言語命令、命令セットアーキテクチャ命令、機械命令、機械関連機械関連命令、マイクロ命令、ファームウェア命令、或いは1種類または複数のプログラム言語の任意の組み合わせにより記述されたソースコードやオブジェクトコード(Object Code)であり、前記プログラム言語は、Common Lisp、Python、C++、Objective-C、Smalltalk(登録商標)、Delphi、Java(登録商標)、Swift(登録商標)、C#、Perl、Ruby、及びPHP等のオブジェクト指向のプログラム言語、及びC言語または類似するプログラム言語のような通常程手続き型(Procedural)プログラム言語を含む。前記コンピュータープログラム命令はコンピューター上で完全に実行するか、部分的に実行するか、1つの独立したソフトウェアとして実行するか、クライアント端のコンピューター上及び遠隔のコンピューター上でそれぞれ部分的に実行するか、或いは遠隔のコンピューターまたはサーバー上で完全に実行してもよい。
【0019】
図2Aと
図2Bは本発明の一実施形態に係るブロックチェーンと身元確認の許可に基づく匿名の開示と多対多の認識方法を示したフローチャートである。開示端ホスト110と、身元確認端ホスト120と、発表端ホスト130と、を備えているブロックチェーンネットワーク100に適用する。
開示端ホスト110がワンタイムウォレットアドレスを身元確認端ホスト120に伝送し、且つ発表端公開鍵により開示データを暗号化して暗号化データを生成し、前記ワンタイムウォレットアドレスにより暗号化データを発布し、暗号化データをブロックチェーンに書き込むステップ(ステップ210)と、身元確認端ホスト120が前記ワンタイムウォレットアドレスが暗号化データをブロックチェーンに書き込んだことを検出した場合、暗号化データに対応する有効フラグをブロックチェーンに書き込み、暗号化データがワンタイムウォレットアドレスから来たことを証明するステップ(ステップ220)と、発表端ホスト130がブロックチェーン上で有効フラグ及びそれに対応する暗号化データを検出した場合、ブロックチェーンから暗号化データをロードし、且つ発表端秘密鍵により復号化して開示データ及びそれに対応するワンタイムウォレットアドレスを獲得し、暗号化データに対応するレシートフラグをブロックチェーンに書き込むステップ(ステップ230)と、発表端ホスト130が前記開示データ及びそれに対応するワンタイムウォレットアドレスを獲得した場合、開示データとワンタイムウォレットアドレスとの間の対応関係を混乱させて混乱認識発表の内容とし、且つ前記混乱認識発表をブロックチェーンに発布し、前記混乱認識発表は対応関係が混乱した全ての開示データ及びワンタイムウォレットアドレスを含むステップ(ステップ240)と、各開示端ホスト110が混乱認識発表中から自身の開示データ及びワンタイムウォレットアドレスを検出した場合、自身のワンタイムウォレットアドレスを使用して認識フラグをブロックチェーンに書き込み、混乱認識発表中に自身の開示データが存在することを認識するステップ(ステップ250)と、を含む。
上述のステップにより、即ち、開示端ホスト110によりワンタイムウォレットアドレスを生成し、且つ開示データを暗号化して暗号化データとした後にブロックチェーンに書き込み、身元確認端ホスト120により対応する有効フラグを生成し、発表端ホスト130により暗号化データに対する復号化を行って対応するレシートフラグを生成し、且つ復号化して獲得した開示データとそれに対応するワンタイムウォレットアドレスとの対応関係を混乱させ、混乱認識発表の内容とすると共にブロックチェーンに書き込み、開示端ホスト110が混乱認識発表中から自身の開示データ及びワンタイムウォレットアドレスを検出した場合、認識フラグをブロックチェーンに書き込む。これにより、発表端ホスト130がブロックチェーンにある暗号化データから開示データを知ることが可能となる。
前記身元確認端ホスト120はワンタイムウォレットアドレスと真正の身元との関係を知ることができるが、ワンタイムウォレットアドレスと開示データとの関係を知ることはできず、発表端ホスト130はワンタイムウォレットアドレスと開示データとの関係を知ることができるが、ワンタイムウォレットアドレスと真正の身元との関係を知ることはできない。このため、匿名性と身元確認の許可を兼ね備えている。
【0020】
次に、本発明の実施形態を
図3A~
図3Dに基づいて説明する。
図3A乃至
図3Dは本発明による匿名の投票または投票と宝くじの抽選に適用されている概略図である。
匿名投票に適用する場合、開示端ホスト110の役割は投票人と見なし、身元確認端ホスト120の役割は各投票所の選挙管理委員と見なし、発表端ホスト130の役割は選挙センターと見なし、開示データは有権者の投票と見なす。また、各端ホストの操作、情報の確認、及び書き込み行為は、モノのインターネット(Internet of Thing、IoT)投票機や投票専用のモバイルアプリ(APP)のような装置またはシステムにより自動化されている。以下、匿名投票を行うフローチャートのステップを示す。
1.「
図3A」に示されるように、開示端ホスト110が使用するワンタイムウォレットアドレスを身元確認端ホスト120に伝送する。このステップは投票人が投票所で身元を証明した後、投票所の選挙管理委員に使用するワンタイムウォレットアドレスを告知することに相当する。
2.「
図3B」に示されるように、開示端ホスト110は発表端公開鍵を使用して開示データ311を暗号化して暗号化データ310を生成し、ワンタイムウォレットアドレスによりこの暗号化データ310を発布し、暗号化データをブロックチェーン300に書き込む。実際の実施では、データの安全性を高めるため、暗号学のソルトデータ312をさらに組み合わせ、これを前記暗号化データ310の一部分として復号化に使用する。このステップは投票人が選挙センター公開鍵(即ち、発表端公開鍵)を使用してその投票内容(識別子を含む)を暗号化し、且つ暗号化結果をスマートコントラクト(例えば、投票所収集コントラクト)に書き込むことに相当する。このほか、投票内容は重み投票効果を達成する重みを含み、1つの開示端ホスト110が1つ以上の投票内容を生成可能である。
3.身元確認端ホスト120がワンタイムウォレットアドレスが暗号化データ310をブロックチェーン300に書き込んだことを検出した場合、前記暗号化データ310に対応する有効フラグ320をブロックチェーン300に書き込み、暗号化データ310がワンタイムウォレットアドレスから来たことを証明する。このステップは、各投票所の選挙管理委員が投票人の暗号化結果(即ち、暗号化データ310)が投票所収集コントラクトに書き込まれたことを観察した場合、対応する有効フラグを投票所収集コントラクト中に書き込むことに相当する。
4.発表端ホスト130がブロックチェーン300上で有効フラグ320及びそれに対応する暗号化データ310を検出した場合、ブロックチェーン300から暗号化データ310をロードし、且つ発表端秘密鍵によりロードした暗号化データ310を復号化して開示データ311及びそれに対応するワンタイムウォレットアドレスを獲得し、前記暗号化データ310に対応するレシートフラグ330をブロックチェーン300に書き込む。このステップは、選挙センターが有効フラグ及び対応する暗号化結果を観察した場合、ブロックチェーンから暗号化結果を取得し、且つ選挙センター秘密鍵(即ち、発表端秘密鍵)を使用して復号化して投票内容及び識別子を獲得し、対応する有効フラグを投票所収集コントラクト中に書き込むことに相当する。
5.「
図3C」に示されるように、発表端ホスト130が開示データ(411a~411n)及びそれに対応するワンタイムウォレットアドレス(412a~412n)を獲得した場合、開示データ(411a~411n)とワンタイムウォレットアドレス(412a~412n)との間の対応関係を混乱させ、且つ混乱認識発表410をブロックチェーン300に発布する。前記混乱認識発表410は対応関係が混乱した全ての開示データ(411a~411n)及びワンタイムウォレットアドレス(412a~412n)を含む。このステップは、選挙センターが全ての投票人の投票内容(識別子を含む)を収集し、公開票確認コントラクト(即ち、混乱認識発表410)に発布し、全ての投票内容及び全ての投票者のワンタイムウォレットアドレスを公開するが、両者の対応関係は含まないことに相当する。実際には、発布する公開票確認コントラクトは1つの投票内容に統合されても、複数の投票内容に分割されてもよい。
6.「
図3D」に示されるように、各開示端ホスト(110a~110n)が混乱認識発表410中で自身の開示データ及びワンタイムウォレットアドレスを検出した場合、自身のワンタイムウォレットアドレスを使用して認識フラグをブロックチェーン300に書き込み、この混乱認識発表410中に自身の開示データが存在することを認識する。このステップは、各投票人が識別子により公開票確認コントラクト中の自分の投票内容を確認し、公開票確認コントラクトに認識フラグを書き込むことに相当する。
【0021】
これにより、全ての投票人が認識フラグを書き込んだ後、公開票確認コントラクト中の全ての選挙の投票が投票人に認識されたことを示し、前記公開票確認コントラクトが成立する。反対に、全ての投票人が認識フラグを書き込んだわけではない場合、選挙センターはこの記録を削除すると共に公開票確認コントラクトを再度発布する。削除された記録は認識されるまで他の公開票確認コントラクト中に再度発布してもよく、或いは投票期間が過ぎた後に廃棄される。
選挙センターは複数の投票所収集コントラクト及び複数の公開票確認コントラクトを発布し、且つ最後に全ての成立した公開票確認コントラクトを統計し、統計した投票内容を投票結果とする。この例では、発表端ホスト130が開示データの内容を改変できないため、開示端ホスト110が開示データが確実に開示されているか否かをセルフチェックする効果を達成している。換言すれば、票集計側が開票結果を不正に操作できず、且つ各投票人が票確認段階で自分の票が開票されたことを確定できるため、自主的票確認とも呼べる。
【0022】
次いで、匿名の世論調査に適用する場合、開示端ホスト110の役割は調査対象者と見なし、身元確認端ホスト120の役割は第三者検証機構と見なし、発表端ホスト130の役割は世論調査センターと見なし、開示データは調査内容(例えば、調査対象者の投票)と見なす。各端ホストの操作、情報確認、及び書き込み行為は、世論調査ウェブページのシステムやモバイルアプリケーションプログラムのような装置やシステムにより自動化されている。実際には、匿名の世論調査及び匿名投票に適用し、両者は大同小異であり、差異は、各端ホストの役割及び開示データの内容が異なる点のみである。よって、以下では同様に「
図3A」乃至「
図3D」を参照しながら匿名世論調査の実行フローチャートのステップについて説明する。
1.「
図3A」に示されるように、開示端ホスト110は同様にまず使用するワンタイムウォレットアドレスを身元確認端ホスト120に伝送する。このステップは、調査対象者が第三者検証機構で身元を検証した後、使用するワンタイムウォレットアドレスを第三者検証機構に告知することに相当する。
2.「
図3B」に示されるように、開示端ホスト110は発表端公開鍵を使用して開示データ311(識別子を含む)を暗号化して暗号化データ310(ソルトデータ312を含む)を生成し、ワンタイムウォレットアドレスによりこの暗号化データ310を発布し、暗号化データ310をブロックチェーン300に書き込む。このステップは、調査対象者が世論調査センター公開鍵(即ち、発表端公開鍵)を使用して調査内容(識別子を含む)を暗号化し、さらにソルトデータ312も暗号化し、暗号化結果をブロックチェーンのトランザクションに書き込むことに相当する。
3.身元確認端ホスト120がワンタイムウォレットアドレスが暗号化データ310をブロックチェーン300に書き込んだことを検出した場合、前記暗号化データ310に対応する有効フラグ320をブロックチェーン300に書き込み、暗号化データ310がワンタイムウォレットアドレスから来たことを証明する。このステップは、第三者検証機構が調査対象者の暗号化結果(即ち、暗号化データ310)のトランザクションがブロックチェーン300に書き込まれたことを観察した場合、暗号化結果が注記されたトランザクションハッシュ値の有効フラグ320をブロックチェーン300に書き込むことに相当する。
4.発表端ホスト130がブロックチェーン300上で有効フラグ320及びそれに対応する暗号化データ310を検出した場合、ブロックチェーン300から暗号化データ310をロードし、且つ発表端秘密鍵によりロードした暗号化データ310を復号化して開示データ311及びそれに対応するワンタイムウォレットアドレスを獲得し、前記暗号化データ310に対応するレシートフラグ330をブロックチェーン300に書き込む。このステップは、世論調査センターが有効フラグ及び対応する暗号化結果を観察した場合、ブロックチェーンから暗号化結果を取得し、世論調査センター秘密鍵(即ち、発表端秘密鍵)を使用して復号化し、調査内容及び識別子を獲得し、且つ暗号化結果が注記されたトランザクションハッシュ値のレシートフラグ330をブロックチェーン300に書き込むことに相当する。
5.「
図3C」に示されるように、発表端ホスト130が開示データ(411a~411n)及びそれに対応するワンタイムウォレットアドレス(412a~412n)を獲得した場合、開示データ(411a~411n)とワンタイムウォレットアドレス(412a~412n)との間の対応関係を混乱させ、且つ混乱認識発表410をブロックチェーン300に発布する。前記混乱認識発表410は対応関係が混乱した全ての開示データ(411a~411n)及びワンタイムウォレットアドレス(412a~412n)を含む。このステップは、世論調査センターが全ての署名された調査内容(識別子を含む)を収集し、公開世論調査公告(即ち、混乱認識発表410)を発布し、全ての調査内容及び全ての調査対象者のワンタイムウォレットアドレスを公開するが、両者の対応関係は含まないことに相当する。実際には、発布する公開世論調査公告は1つまたは複数でもよく、1つである場合、全ての署名された調査内容が統合されている。複数である場合、全ての署名された調査内容が異なる公開世論調査公告に分割されている。
6.「
図3D」に示されるように、各開示端ホスト(110a~110n)が混乱認識発表410中で自身の開示データ及びワンタイムウォレットアドレスを検出した場合、自身のワンタイムウォレットアドレスを使用して認識フラグをブロックチェーン300に書き込み、この混乱認識発表410中に自身の開示データが存在することを認識する。このステップは、各調査対象者が識別子により公開世論調査公告中の自分の調査内容を確認し、公開世論調査公告が注記されているトランザクションハッシュ値の認識フラグをブロックチェーンに書き込むことに相当する。
【0023】
以上より、全ての調査対象者が認識フラグに書き込まれた後、公開世論調査公告中の全ての調査内容が対応する調査対象者に認識されていることを示し、よって、この公開世論調査公告が成立する。反対に、全ての調査対象者が認識フラグを書き込んだわけではない場合、世論調査センターはこの記録を削除すると共に公開世論調査公告を再度発布し、削除された調査内容は認識されるまで他の公開世論調査公告に再度発布可能であり、或いは、世論調査期間が過ぎた後、この記録が無効となる。実際には、世論調査センターが複数の公開世論調査公告を発布し、且つ最後に全ての成立した公開世論調査公告を統計し、統計した調査内容を世論調査結果とする。
【0024】
宝くじの抽選に適用する場合、開示端ホスト110の役割は宝くじの購入者と見なし、身元確認端ホスト120の役割は宝くじの販売者と見なし、発表端ホスト130の役割は宝くじの発行元と見なし、開示データは宝くじの抽選番号及び任意で決定した、或いはランダムに生成したアルゴリズムの重みである。各端ホストの操作、情報確認、及び書き込み行為は、宝くじ公式ウェブページのシステムやモバイルアプリケーションプログラムのような装置またはシステムにより自動化されている。同様に、宝くじの抽選及び匿名投票や世論調査への適用は大同小異であり、よって、同様に「
図3A」乃至「
図3D」を参照しつつ宝くじの抽選の実行フローチャートのステップについて説明する。
1.「
図3A」に示されるように、開示端ホスト110が使用するワンタイムウォレットアドレスを身元確認端ホスト120に伝送する。このステップは宝くじ購入者が使用するワンタイムウォレットアドレスを宝くじ販売者に告知することに相当する。
2.「
図3B」に示されるように、開示端ホスト110は発表端公開鍵を使用して開示データ311を暗号化して暗号化データ310を生成し、ワンタイムウォレットアドレスによりこの暗号化データ310を発布し、暗号化データをブロックチェーン300に書き込む。このステップは、宝くじ購入者が宝くじ発行元公開鍵を使用して開示データ(購入した宝くじの番号、アルゴリズム重み、及び識別子を含む)を暗号化し、暗号化結果を宝くじ発行元がブロックチェーンに予め発布した当期の宝くじスマートコントラクト中に書き込むことに相当する。同様に、データの安全性を高めるため、復号化過程で暗号学のソルトデータ312をさらに組み合わせている。
3.身元確認端ホスト120がワンタイムウォレットアドレスが暗号化データ310をブロックチェーン300に書き込んだことを検出した場合、前記暗号化データ310に対応する有効フラグ320をブロックチェーン300に書き込み、暗号化データ310がワンタイムウォレットアドレスから来たことを証明する。このステップは、宝くじ販売者が宝くじ購入者の暗号化結果を宝くじ購買スマートコントラクトに書き込んだことを観察した場合、この記録に対応する有効フラグを当期の宝くじスマートコントラクト中に書き込むことに相当する。
4.発表端ホスト130がブロックチェーン300で有効フラグ320及びそれに対応する暗号化データ310を検出した場合、ブロックチェーン300から暗号化データ310をロードし、且つ発表端秘密鍵によりロードされた暗号化データ310を復号化して開示データ311及びそれに対応するワンタイムウォレットアドレスを獲得し、前記暗号化データ310に対応するレシートフラグ330をブロックチェーン300に書き込む。このステップは、宝くじ発行元が有効フラグ及び対応する暗号化結果を観察した場合、ブロックチェーンから暗号化結果を取得し、且つ発表端秘密鍵を使用して復号化し、購入した宝くじ抽選番号、アルゴリズム重み、及び識別子を取得し、対応する有効フラグを当期の宝くじスマートコントラクト中に書き込むことに相当する。
5.「
図3C」に示されるように、発表端ホスト130が開示データ(411a~411n)及びそれに対応するワンタイムウォレットアドレス(412a~412n)を獲得した場合、開示データ(411a~411n)とワンタイムウォレットアドレス(412a~412n)との間の対応関係を混乱させ、且つ混乱認識発表410をブロックチェーン300に発布し、前記混乱認識発表410は対応関係が混乱した全ての開示データ(411a~411n)及びワンタイムウォレットアドレス(412a~412n)を含む。このステップは、宝くじ発行元が全ての購入者が購入した宝くじ記録(購入した宝くじの番号、アルゴリズム重み、及び識別子を含む)を収集し、且つ混乱認識発表コントラクトを発布し、全ての宝くじ記録及び全ての購入者側のワンタイムウォレットアドレスを公開するが、両者の対応関係は含まないことに相当する。
6.「
図3D」に示されるように、各開示端ホスト(110a~110n)が混乱認識発表410中で自身の開示データ及びワンタイムウォレットアドレスを検出した場合、自身のワンタイムウォレットアドレスを使用して認識フラグをブロックチェーン300に書き込み、この混乱認識発表410中に自身の開示データが存在することを認識する。このステップは、各宝くじ購入者が識別子により混乱認識発表コントラクト中で自分が購入した宝くじ記録を確認した後、混乱認識発表コントラクトに対して認識フラグを書き込むことに相当する。
【0025】
全ての宝くじ購入者が認識フラグを書き込んだ後、宝くじ記録中のアルゴリズム重みを使用して抽選番号を算出する。全ての宝くじ購入者が認識フラグを書き込んだわけではない場合、宝くじ発行元は認識フラグを有していないこれら宝くじ記録を削除して混乱認識発表コントラクトを再度発布する。全ての宝くじ購入者が提供するアルゴリズム重みにより抽選番号を計算し、よって抽選番号が宝くじ発行元の制御から抜け出す。アルゴリズム重み以外、購入者のランダム性及び認識フラグにより、公正で不正を防ぐ効果を達成する。
【0026】
以上を総合すると、本発明の先行技術との差異は、開示端ホストによりワンタイムウォレットアドレスを生成し、且つ開示データを暗号化して暗号化データとした後にブロックチェーンに書き込み、身元確認端ホストにより対応する有効フラグを生成し、発表端ホストにより暗号化データに対する復号化を行うと共に対応するレシートフラグを生成し、且つ復号化して獲得した開示データとそれに対応するワンタイムウォレットアドレスとの対応関係を混乱させ、混乱認識発表の内容とすると共にブロックチェーンに書き込む。
開示端ホストが混乱認識発表中で自身の開示データ及びワンタイムウォレットアドレスを検出した場合、認識フラグをブロックチェーンに書き込む。この技術手段により先行技術に存在する問題を解決し、匿名性を高めると共に身元確認を許可する技術的効果を達成させている。
【0027】
上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることは言うまでもない。
【符号の説明】
【0028】
100 ブロックチェーンネットワーク
110 開示端ホスト
120 身元確認端ホスト
130 発表端ホスト
300 ブロックチェーン
310 暗号化データ
311 開示データ
312 ソルトデータ
320 有効フラグ
330 レシートフラグ
410 混乱認識発表