【手続補正書】
【提出日】令和2年5月8日(2020.5.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ブロックチェーンネットワークのコンセンサスノードによって実施されるコンピュータ実装方法であって、
第1のアカウントから、
第1の乱数に基づいて生成される第1のアカウントから第2のアカウントへの残高移動の第1の量のコミットメント値のデジタル署名されたコピーであって、前記残高移動の前記第1の量および前記第1の乱数が、確率論的準同型暗号(HE)アルゴリズムに基づき前記第1のアカウントの第1の公開鍵を使用して暗号化される、前記残高移動の第1の量のコミットメント値のデジタル署名されたコピーと、
前記確率論的HEアルゴリズムに基づき前記第2のアカウントの公開鍵を使用して暗号化される前記残高移動の第2の量および第2の乱数と、
1つまたは複数のレンジプルーフと、
1つまたは複数の選択された乱数に基づいて生成される値のセットと
を受信するステップと、
前記デジタル署名されたコピーに対応するデジタル署名を、前記デジタル署名を生成するために使用される秘密鍵に対応する前記第1のアカウントの第2の公開鍵を使用して検証するステップと、
前記残高移動の前記量が0より大きく、かつ前記第1のアカウントの残高以下であることを、前記1つまたは複数のレンジプルーフが証明すると決定するステップと、
前記暗号化された第1および第2の量、前記暗号化された第1および第2の乱数、ならびに値の前記セットに基づいて、前記第1の量と前記第2の量が同じであるかどうか、および、前記第1の乱数と前記第2の乱数が同じであるかどうかを決定するステップと、
前記第1の量と前記第2の量が同じであり、前記第1の乱数と前記第2の乱数が同じであるとの決定に応答して、前記残高移動の前記第1の量に基づいて前記第1のアカウントの前記残高および前記第2のアカウントの残高を更新するステップと、
を備え、
前記選択された乱数がr*、t*、z1*、およびz2*によって表され、前記選択された乱数がa、b、c、d、C、D、およびEを生成するために使用され、a=r*+xr、b=t*+xt、c=z1*+xz1、d=z2*+xz2、C=gr*ht*、D=u2r*v2z1*、かつE=u2t*v2z2*であり、rが前記第1の乱数であり、tが前記残高移動の前記第1の量であり、z1およびz2が、前記第2の量および前記第2の乱数を暗号化するために使用される乱数であり、xは、C、D、E、およびgをハッシュすることに基づいて生成されるハッシュ値であり、h、u2、およびv2が楕円曲線のジェネレータである、コンピュータ実装方法。
【請求項２】
前記コミットメント値が、準同型であるコミットメントスキームを使用して生成される、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記コミットメントスキームがペダーセンコミットメントスキームである、請求項2に記載のコンピュータ実装方法。
【請求項４】
前記確率論的HEアルゴリズムが、岡本-内山HEアルゴリズムである、請求項1に記載のコンピュータ実装方法。
【請求項５】
値の前記セットがC、D、およびEに基づいてさらに生成される、請求項1に記載のコンピュータ実装方法。
【請求項６】
確率論的HEの性質に基づいて、前記第1の量および前記第2の量が同じであると決定され、前記第1の乱数および前記第2の乱数が同じであると決定される、請求項5に記載のコンピュータ実装方法。
【請求項７】
gahb=CTx、u2av2c=DZ_B1x、かつu2bv2d=EZ_B2xである場合、前記第1の量と前記第2の量が同じであると決定され、前記第1の乱数と前記第2の乱数が同じであると決定され、T=grhtが前記残高移動の前記量の前記コミットメント値であり、Z_B1=u2rv2z1、Z_B2=u2tv2z2である、請求項6に記載のコンピュータ実装方法。
【請求項８】
前記第1のアカウントの前記残高および前記第2のアカウントの残高を更新するステップが、HEに基づき行われる、請求項1に記載のコンピュータ実装方法。
【請求項９】
複数の動作を実行するためにコンピュータシステムにより実行可能な1つまたは複数の命令を記録したコンピュータ可読記録媒体であって、前記複数の動作が、
第1のアカウントから、
第1の乱数に基づいて生成される第1のアカウントから第2のアカウントへの残高移動の第1の量のコミットメント値のデジタル署名されたコピーであって、前記残高移動の前記第1の量および前記第1の乱数が、確率論的準同型暗号(HE)アルゴリズムに基づき前記第1のアカウントの第1の公開鍵を使用して暗号化される、前記残高移動の第1の量のコミットメント値のデジタル署名されたコピーと、
前記確率論的HEアルゴリズムに基づき前記第2のアカウントの公開鍵を使用して暗号化される前記残高移動の第2の量および第2の乱数と、
1つまたは複数のレンジプルーフと、
1つまたは複数の選択された乱数に基づいて生成される値のセットと
を受信する動作と、
前記デジタル署名されたコピーに対応するデジタル署名を、前記デジタル署名を生成するために使用される秘密鍵に対応する前記第1のアカウントの第2の公開鍵を使用して検証する動作と、
前記残高移動の前記量が0より大きく、かつ前記第1のアカウントの残高以下であることを、前記1つまたは複数のレンジプルーフが証明すると決定する動作と、
前記暗号化された第1および第2の量、前記暗号化された第1および第2の乱数、ならびに値の前記セットに基づいて、前記第1の量と前記第2の量が同じであるかどうか、および、前記第1の乱数と前記第2の乱数が同じであるかどうかを決定する動作と、
前記第1の量と前記第2の量が同じであり、前記第1の乱数と前記第2の乱数が同じであるとの決定に応答して、前記残高移動の前記第1の量に基づいて前記第1のアカウントの前記残高および前記第2のアカウントの残高を更新する動作と
を含み、
前記選択された乱数がr*、t*、z1*、およびz2*によって表され、前記選択された乱数がa、b、c、d、C、D、およびEを生成するために使用され、a=r*+xr、b=t*+xt、c=z1*+xz1、d=z2*+xz2、C=gr*ht*、D=u2r*v2z1*、かつE=u2t*v2z2*であり、rが前記第1の乱数であり、tが前記残高移動の前記第1の量であり、z1およびz2が、前記第2の量および前記第2の乱数を暗号化するために使用される乱数であり、xは、C、D、E、およびgをハッシュすることに基づいて生成されるハッシュ値であり、h、u2、およびv2が楕円曲線のジェネレータである、コンピュータ可読記録媒体。
【請求項１０】
前記コミットメント値が、準同型であるコミットメントスキームを使用して生成される、請求項9に記載のコンピュータ可読記録媒体。
【請求項１１】
前記コミットメントスキームがペダーセンコミットメントスキームである、請求項10に記載のコンピュータ可読記録媒体。
【請求項１２】
前記確率論的HEアルゴリズムが、岡本-内山HEアルゴリズムである、請求項9に記載のコンピュータ可読記録媒体。
【請求項１３】
値の前記セットがC、D、およびEに基づいてさらに生成される、請求項9に記載のコンピュータ可読記録媒体。
【請求項１４】
確率論的HEの性質に基づいて、前記第1の量および前記第2の量が同じであると決定され、前記第1の乱数および前記第2の乱数が同じであると決定される、請求項13に記載のコンピュータ可読記録媒体。
【請求項１５】
gahb=CTx、u2av2c=DZ_B1x、かつu2bv2d=EZ_B2xである場合、前記第1の量と前記第2の量が同じであると決定され、前記第1の乱数と前記第2の乱数が同じであると決定され、T=grhtが前記残高移動の前記量の前記コミットメント値であり、Z_B1=u2rv2z1、Z_B2=u2tv2z2である、請求項14に記載のコンピュータ可読記録媒体。
【請求項１６】
システムであって、
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに結合された1つまたは複数のコンピュータ可読メモリとを備え、
前記1つまたは複数のコンピュータ可読メモリは、複数の動作を実行するために前記1つまたは複数のコンピュータにより実行可能な命令を記録し、前記複数の動作は、
第1のアカウントから、
第1の乱数に基づいて生成される第1のアカウントから第2のアカウントへの残高移動の第1の量のコミットメント値のデジタル署名されたコピーであって、前記残高移動の前記第1の量および前記第1の乱数が、確率論的準同型暗号(HE)アルゴリズムに基づき前記第1のアカウントの第1の公開鍵を使用して暗号化される、前記残高移動の第1の量のコミットメント値のデジタル署名されたコピーと、
前記確率論的HEアルゴリズムに基づき前記第2のアカウントの公開鍵を使用して暗号化される前記残高移動の第2の量および第2の乱数と、
1つまたは複数のレンジプルーフと、
1つまたは複数の選択された乱数に基づいて生成される値のセットと
を受信する動作と、
前記デジタル署名されたコピーに対応するデジタル署名を、前記デジタル署名を生成するために使用される秘密鍵に対応する前記第1のアカウントの第2の公開鍵を使用して検証する動作と、
前記残高移動の前記量が0より大きく、かつ前記第1のアカウントの残高以下であることを、前記1つまたは複数のレンジプルーフが証明すると決定する動作と、
前記暗号化された第1および第2の量、前記暗号化された第1および第2の乱数、ならびに値の前記セットに基づいて、前記第1の量と前記第2の量が同じであるかどうか、および、前記第1の乱数と前記第2の乱数が同じであるかどうかを決定する動作と、
前記第1の量と前記第2の量が同じであり、前記第1の乱数と前記第2の乱数が同じであるとの決定に応答して、前記残高移動の前記第1の量に基づいて前記第1のアカウントの前記残高および前記第2のアカウントの残高を更新する動作と
を含み、
前記選択された乱数がr*、t*、z1*、およびz2*によって表され、前記選択された乱数がa、b、c、d、C、D、およびEを生成するために使用され、a=r*+xr、b=t*+xt、c=z1*+xz1、d=z2*+xz2、C=gr*ht*、D=u2r*v2z1*、かつE=u2t*v2z2*であり、rが前記第1の乱数であり、tが前記残高移動の前記第1の量であり、z1およびz2が、前記第2の量および前記第2の乱数を暗号化するために使用される乱数であり、xは、C、D、E、およびgをハッシュすることに基づいて生成されるハッシュ値であり、h、u2、およびv2が楕円曲線のジェネレータである、システム。