WO2023188258A1 - 計算装置、計算方法、およびプログラム - Google Patents

計算装置、計算方法、およびプログラム Download PDF

Info

Publication number
WO2023188258A1
WO2023188258A1 PCT/JP2022/016502 JP2022016502W WO2023188258A1 WO 2023188258 A1 WO2023188258 A1 WO 2023188258A1 JP 2022016502 W JP2022016502 W JP 2022016502W WO 2023188258 A1 WO2023188258 A1 WO 2023188258A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
computing device
blockchain
secret
secure
Prior art date
Application number
PCT/JP2022/016502
Other languages
English (en)
French (fr)
Inventor
一凡 張
玄武 諸橋
匠 深見
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/016502 priority Critical patent/WO2023188258A1/ja
Publication of WO2023188258A1 publication Critical patent/WO2023188258A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • a computing device that is a node of a blockchain executes processing to obtain consensus using the consensus algorithm of the blockchain, and if consensus is obtained using the consensus algorithm of the blockchain, secret sharing of information based on the original information is performed.
  • the one-way function value of at least one of the secret information obtained by performing the secret calculation and the secret calculation result obtained by performing the secret calculation on the secret information is stored in a block of the blockchain.
  • This smart contract function implements the processing contents of the secure calculation executed by the secure calculation devices 12-1, . . . , 12-M.
  • the processing details of secure calculations are stored in blockchain-based ledger information.
  • at least R blockchains BC 1 , . . . , BC R are set in the blockchain infrastructure of this embodiment.
  • the acquisition unit 112-n blocks requests other than processing requests from this smart contract function.
  • the acquisition unit 112n When the acquisition unit 112n receives information representing the original information an itself, it stores the original information an in the storage unit 111-n, and when it receives confidential information of the original information an, it stores the original information an in the storage unit 111-n. stores the original information an restored from the confidential information in the storage unit 111-n (step S111-n).
  • the information stored in the latest block of Blockchain BCr by a device that has reached consensus using the consensus algorithm of Blockchain BCr and/or the information to be stored is treated as legitimate, and the information stored in the latest block of Blockchain BCr is treated as valid, and the information stored in the latest block of Blockchain BCr is treated as valid, and The next block of chain BC r is generated.
  • a new consensus algorithm may be executed in the next block, or devices that obtained agreement in the previous block may continue to obtain agreement in the next block. For example, consent may be continuously given to a device that has obtained consent for a certain block until a series of subsequent processes (for example, secure calculation) are completed.
  • the block processing unit 128c-L(r) processes the received one-way function value.
  • This block B 1 (i r ) is a block with which the secure computing device 12-L(r) has agreed (step S128c(2)-L(r)).
  • each secure calculation device 12-L(r) transmits the corresponding secure calculation result [b] L(r). The information is transmitted to the specific client device 11-n. This further improves safety.
  • the secure computing device 22-m of this embodiment includes an acquisition unit 121-m, a secure computing unit 222-m, a providing unit 123-m, a control unit 126-m, and a storage unit 127-m. , a consensus processing unit 128a-m, a one-way function calculation unit 128b-m, and a block processing unit 128c-m.
  • the secure computing device 22-m executes each process based on the control unit 126-m.
  • Information (data) obtained by each section of the secure computing device 22-m is stored in the storage section 127-m, and read out and used as necessary.
  • the providing unit 115-n of the client device 21-n recognizes the secure computing device 22-L(r) as the leader LEAD r.
  • the providing unit 123-L(r) transmits the secure calculation result [b] L(r) to the destination included in the processing request described above.
  • the secure calculation result [b] L(r) is transmitted to the client devices 21-1, . . . , 21-N.
  • the acquisition unit 112-n of the client device 21-n acquires (receives) the transmitted secure calculation result [b] L(r) and stores it in the storage unit 111-n.
  • the acquisition unit 112-n further acquires the secret calculation result [b] L from the plurality of secret calculation results [b] L(r) (where L(r) ⁇ L(1),...,L(R) ⁇ ).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

ブロックチェーンのノードである計算装置が、当該ブロックチェーンのコンセンサスアルゴリズムで合意を得るための処理を実行し、当該ブロックチェーンのコンセンサスアルゴリズムで合意が得られた場合に、オリジナル情報に基づく情報を秘密分散することによって得られる秘匿情報および当該秘匿情報に対して秘密計算を行って得られる秘密計算結果の少なくとも何れかの一方向性関数値を、当該ブロックチェーンのブロックに格納する。

Description

計算装置、計算方法、およびプログラム
 本発明は、秘密計算技術に関し、特に分散型秘密計算技術に関する。
 オリジナル情報に基づく情報を秘密分散して得られるシェアを用い、オリジナル情報や演算結果を復元することなく、指定された計算の演算結果を秘密分散して得られるシェアを得る分散型秘密計算技術が知られている(例えば、非特許文献1等参照)。
 従来の分散型秘密計算技術では、秘密計算を行う計算装置のインタフェースを介してこの秘密計算に関連するデータを参照することができる。
Koji Chida,Koki Hamada,Dai Ikarashi,Katsumi Takahashi,"A Three-Party Secure Function Evaluation with Lightweight Veriability Revisited",2010年10月12日,CSS(Computer Security Symposium),2010,pp. 555 - 560.
 しかし、従来の分散型秘密計算技術では、秘密計算を行う計算装置の不正な処理を監視・検証することが困難であるという問題がある。
 本発明はこのような点に鑑みてなされたものであり、秘密計算の不正な処理を監視・検証することができる技術を提供することを目的とする。
 ブロックチェーンのノードである計算装置が、当該ブロックチェーンのコンセンサスアルゴリズムで合意を得るための処理を実行し、当該ブロックチェーンのコンセンサスアルゴリズムで合意が得られた場合に、オリジナル情報に基づく情報を秘密分散することによって得られる秘匿情報および当該秘匿情報に対して秘密計算を行って得られる秘密計算結果の少なくとも何れかの一方向性関数値を、当該ブロックチェーンのブロックに格納する。
 これにより、秘密計算の不正を監視・検証することが可能になる。
図1は実施形態の秘密計算システムの構成を例示したブロック図である。 図2Aは実施形態のクライアント装置の機能構成を例示したブロック図であり、図2Bは実施形態の秘密計算装置(計算装置)の機能構成を例示したブロック図である。 図3は複数のブロックチェーンを用いる場合の処理の一例を示すための概念図である。 図4は1つのブロックチェーンを用いる場合の処理の一例を示すための概念図である。 図5は1つのブロックチェーンを用いる場合の処理の他の例を示すための概念図である。 図6は実施形態の装置のハードウェア構成を例示したブロック図である。
 以下、図面を参照して本発明の実施形態を説明する。
 [第1実施形態]
 まず、本発明の第1実施形態を説明する。
 <構成>
 図1に例示するように、本実施形態の秘密計算システム1は、N個のクライアント装置11-1,…,11-N、およびM個の秘密計算装置12-1,…,12-M(計算装置)を有し、これらはネットワーク上のクラウド13に通信可能に接続されている。Nは1以上の整数であり、例えば、Nは2以上の整数である。Mは2以上の整数であり、例えば、Mは3以上の整数である。クラウド13は、単数または複数のサーバ装置と通信網とを含み、これらのサーバ装置にはスマートコントラクト機能を持つブロックチェーン基盤(例えば、プログラム)が実装されている。このスマートコントラクト機能には、秘密計算装置12-1,…,12-Mが実行する秘密計算の処理内容が実装されている。例えば、ブロックチェーン基盤の台帳情報に秘密計算の処理内容が格納されている。図3に例示するように、本実施形態のブロックチェーン基盤には、少なくともR個のブロックチェーンBC,・・,BCが設定されている。Rは2以上M以下の整数であり、r=1,…,Rである。例えば、R=3である。
 図2Aに例示するように、本実施形態のクライアント装置11-nは、記憶部111-n、取得部112-n、処理部113-n、秘匿部114-n、提供部115-n、および制御部116-nを有する。クライアント装置11-nは、制御部116-nに基づいて各処理を実行する。クライアント装置11-nの各部で得られた情報(データ)は、記憶部111-nに格納され、必要に応じて読み出されて使用される。クライアント装置11-nは、クラウド13のブロックチェーン基盤の何れかのブロックチェーンのノードである。クライアント装置11-nの取得部112-nは、クラウド13のブロックチェーン基盤のスマートコントラクト機能からの処理要求を受け付けることが可能なように構成されている。好ましくは、取得部112-nは、このスマートコントラクト機能からの処理要求以外の要求をブロック(遮断)する。なおn=1,…,Nであり、特に断りのない限り、nに関する構成および処理は、すべてのn=1,…,Nについて同じである。ただし、扱われるデータ(情報)の内容は、nの値に応じて異なる場合がある。
 図2Bに例示するように、本実施形態の秘密計算装置12-mは、取得部121-m、秘密計算部122-m、提供部123-m、制御部126-m、記憶部127-m、合意処理部128a-m、一方向性関数演算部128b-m、およびブロック処理部128c-mを有する。秘密計算装置12-mは、制御部126-mに基づいて各処理を実行する。秘密計算装置12-mの各部で得られた情報(データ)は、記憶部127-mに格納され、必要に応じて読み出されて使用される。なおm=1,…,Mであり、特に断りのない限り、mに関する構成および処理は、すべてのm=1,…,Mについて同じである。ただし、扱われるデータ(情報)の内容は、mの値に応じて異なる場合がある。
 <秘密分散処理>
 クライアント装置11-nの取得部112-nは、オリジナル情報a-nを特定する情報を受け取り、オリジナル情報a-nを記憶部111-nに格納する。オリジナル情報a-nを特定する情報は、オリジナル情報a-nそのものを表す情報であってもよいし、オリジナル情報a-nの秘匿情報(例えば、オリジナル情報の暗号文や秘密分散値)であってもよい。なお、オリジナル情報a-nは、例えば、平文である。オリジナル情報a-nの例は、個人情報、医療情報、営業秘密情報、統計情報、技術情報、またはそれらを学習データとして学習されたモデルを特定する情報(モデルパラメータ等)などの外部への情報漏洩を阻止すべき情報である。取得部112nは、オリジナル情報a-nそのものを表す情報を受け取った場合には、そのオリジナル情報a-nを記憶部111-nに格納し、オリジナル情報a-nの秘匿情報を受け取った場合には当該秘匿情報から復元したオリジナル情報a-nを記憶部111-nに格納する(ステップS111-n)。
 処理部113-nは、記憶部111-nからオリジナル情報a-nを読み出し、オリジナル情報a-nに基づく情報を秘匿部114-nに送る。なお、「オリジナル情報a-nに基づく情報」は、オリジナル情報a-nそのものであってもよいし、オリジナル情報a-nに対する何等かの処理が施されて得られた情報であってもよい。後者の場合、処理部113-nは、オリジナル情報a-nに対して何らかの処理を施し、それによって得た情報を秘匿部114-nに送る(ステップS113-n)。
 秘匿部114-nは、送られたオリジナル情報a-nに基づく情報を秘密分散することによって、R個の秘匿情報[a-n]L(1),…,[a-n]L(R)を得て出力する。これらの秘匿情報[a-n]L(1),…,[a-n]L(R)は、秘密分散方式におけるシェア(「断片」という場合もある)である。秘密分散方式はどのようなものであってもよい。秘密分散方式の一例は、「所定数以上のシェア(例えば、秘匿情報)が集まったときに元の情報(例えば、オリジナル情報に基づく情報)を復元できるが、当該所定数未満のシェア(例えば、秘匿情報)からは当該情報(例えば、オリジナル情報に基づく情報)が全く得られない」という特徴を持つ「しきい値秘密分散方式」である。秘匿情報[a-n]L(1),…,[a-n]L(R)は、記憶部111-nに格納される(ステップS114-n)。
 <秘密計算処理>
 この前提のもと、秘密計算処理が実行される。
 まず、秘密計算装置12-1,…,12-Mの合意処理部128a‐1,…,128a‐M(図2B)は、クラウド13のブロックチェーン基盤に接続し、当該ブロックチェーン基盤のブロックチェーンBC,・・,BCのコンセンサスアルゴリズムで合意を得るための処理を実行する。各合意処理部128a‐mは、少なくともいずれかのブロックチェーンBCのコンセンサスアルゴリズムで合意を得るための処理を実行する。例えば、各合意処理部128a‐mは、すべてのブロックチェーンBC,・・,BCのコンセンサスアルゴリズムそれぞれで合意を得るための処理を実行する。コンセンサスアルゴリズムは、特定の装置(単数または複数の装置)に合意を与えるものであれば、どのようなものであってもよい。ブロックチェーンBCのコンセンサスアルゴリズムで合意を得た装置が当該ブロックチェーンBCの最新のブロックに格納した情報および/または格納する情報は正当なものと扱われ、当該最新のブロックに基づいて当該ブロックチェーンBCのさらに次のブロックが生成される。次のブロックで新たにコンセンサスアルゴリズムが実行されてもよいし、前のブロックで合意を得た装置が引き続き次のブロックでも合意を得てもよい。例えば、あるブロックで合意を得た装置に対し、その後の一連の処理(例えば、秘密計算)が終了するまで、継続して合意が与えられてもよい。コンセンサスアルゴリズムの具体例は、PoW(Proof-of-Work)、PoS(Proof of Stake)、PoI(Proof of Importance)、PoC(Proof of Consensus)などである。しかし、これは本発明を限定しない。またコンセンサスアルゴリズムで合意を得るための処理の具体例はマイニングである。しかし、これも本発明を限定しない。以降、ブロックチェーンBCのコンセンサスアルゴリズムで合意を得た装置をリーダーLEADと呼ぶことにする。本実施形態では、コンセンサスアルゴリズムによって各ブロックチェーンBCに対して、いずれか1個の秘密計算装置12-rがリーダーLEADとして選択される。互いに異なるブロックチェーンBCr1およびBCr2に対して、互いに異なる秘密計算装置12-r1および12-r2がリーダーLEADr1およびLEADr2として選択されることが好ましい。ここでr1,r2∈{1,…,M}かつr1≠r2である。しかし、互いに異なるブロックチェーンBCr1およびBCr2に対して、同じ秘密計算装置12-rがリーダーLEADr1およびLEADr2として選択されてもよい(ステップS128a-m)。
 ブロックチェーンBC,…,BCについて、秘密計算装置12-L(1),…,12-L(R)がリーダーLEAD,…,LEADとして選択されると、クラウド13のブロックチェーン基盤のスマートコントラクト機能は、これらの秘密計算装置12-L(1),…,12-L(R)に対し、秘密計算を実行する旨の処理要求を送信する。なお、{L(1),…,L(R)}⊆{1,…,M}である。この処理要求には、当該秘密計算結果の送信先の情報が含まれている。例えば、秘密計算結果の送信先は、すべてのクライアント装置11-1,…,11-Nであってもよいし、クライアント装置11-1,…,11-Nの一部であってもよいし、それ以外の装置を含んでいてもよい(ステップS131)。
 リーダーLEADである秘密計算装置12-L(r)(ただしr=1,…,R)の取得部121-L(r)(図2B)は、それぞれ当該処理要求を取得する(受信する)。処理要求を取得した取得部121-L(r)は、クライアント装置11-1,…,11-Nの取得部112-1,…,112-N(図2A)に接続し、秘密計算装置12-L(r)がリーダーLEADであることを証明するための処理を実行する。この処理に限定はないが、例えば、取得部121-L(r)は、上述したコンセンサスアルゴリズムの結果や電子署名などを用いて秘密計算装置12-L(r)がリーダーLEADであることを証明する。クライアント装置11-nの取得部112-nが、秘密計算装置12-L(r)をリーダーLEADとして認定した場合、当該クライアント装置11-nの提供部115-nは、記憶部111-nから秘匿情報[a-n]L(r)を抽出し、当該秘匿情報[a-n]L(r)を、リーダーLEADである秘密計算装置12-L(r)(ただしr=1,…,R)に送信する(ステップS115-n)。
 リーダーLEADである秘密計算装置12-L(r)(図2B)の取得部121-L(r)は、当該秘匿情報[a-n]L(r)を取得(受信)し、記憶部127-L(r)に格納する。クライアント装置11-1,…,11-Nから送信されたすべての秘匿情報[a-1]L(r),…,[a-N]L(r)が記憶部127-L(r)に格納されると、秘密計算部122-L(r)は、記憶部127-L(r)から秘匿情報[a-1]L(r),…,[a-N]L(r)を抽出する。さらに秘密計算部122-L(r)は、前述の処理要求(ブロックチェーンを用いたスマートコントラクト機能からの処理要求)に従って、これらの秘匿情報[a-1]L(r),…,[a-N]L(r)に対して秘密計算を行って、秘密計算結果[b]L(r)を得て出力する。秘密計算結果[b]L(r)は、提供部123-L(r)と一方向性関数演算部128b-L(r)に送られる。また当該秘密計算の対象となった秘匿情報[a-1]L(r),…,[a-N]L(r)も、一方向性関数演算部128b-L(r)に送られる(ステップS122-L(r))。
 提供部123-L(r)は、前述した処理要求に含まれた送信先に秘密計算結果[b]L(r)を送信する。例えば、秘密計算結果[b]L(r)はクライアント装置11-1,…,11-Nに送信される。クライアント装置11-n(図2A)の取得部112-nは、送信された秘密計算結果[b]L(r)を取得(受信)し、記憶部111-nに格納する。取得部112-nは、さらに複数の秘密計算結果[b]L(r)(ただし、L(r)∈{L(1),…,L(R)})から秘密計算結果[b]L(r)を復元して演算結果bを得、当該演算結果bを記憶部111-nに格納してもよい。さらに、演算結果bまたは秘密計算結果[b]L(r)が、新たなオリジナル情報a-nを特定する情報とされてもよい(ステップS112-n)。
 また、秘匿情報[a-1]L(r),…,[a-N]L(r)および秘密計算結果[b]L(r)を受け取った秘密計算装置12-L(r)(図2B)の一方向性関数演算部128b-L(r)(ただし、r=1,…,R)は、秘匿情報[a-1]L(r),…,[a-N]L(r)および秘密計算結果[b]L(r)の少なくとも何れかの一方向性関数値を得て出力する。
 <例1-1>
 例えば、一方向性関数演算部128b-L(r)は、秘匿情報[a-1]L(r),…,[a-N]L(r)および秘密計算結果[b]L(r)それぞれの一方向性関数値H([a-1]L(r)),…,H([a-N]L(r)),HN+1([b]L(r))を得て出力する。ただし、Hβ(α)はαに対して一方向性関数Hβを作用させて得られる一方向性関数値を表す。一方向性関数Hβは、入力値に対して暗号学的に衝突困難な関数であれば、どのようなものであってもよい。例えば、一方向性関数Hβは、暗号学的なハッシュ関数であってもよいし、暗号化鍵が入力された確定的暗号方式の暗号関数であってもよい。前者の場合、一方向性関数値はハッシュ値であり、後者の場合、一方向性関数値は暗号文である。一方向性関数H,…,H,HN+1は、互いに同一(H=H=…=H=HN+1)であってもよいし、これらの少なくとも一部が互いに異なっていてもよい。
 <例1-2>
 あるいは、例えば、一方向性関数演算部128b-L(r)が、秘匿情報[a-1]L(r),…,[a-N]L(r)および秘密計算結果[b]L(r)の関数値(例えば、ビット結合値)の一方向性関数値H([a-1]L(r),…,[a-N]L(r),[b]L(r))を得て出力してもよい。
 <例1-3>
 あるいは、例えば、一方向性関数演算部128b-L(r)が、秘匿情報[a-1]L(r),…,[a-N]L(r)の関数値の一方向性関数値H([a-1]L(r),…,[a-N]L(r))、および秘密計算結果[b]L(r)の一方向性関数値H([b]L(r))を得て出力してもよい。
 <例1-4>
 あるいは、例えば、一方向性関数演算部128b-L(r)が、一方向性関数値H([a-1]L(r),…,[a-N]L(r))のみを得て出力してもよいし、一方向性関数値H([b]L(r))のみを得て出力してもよい。その他、例えば、一方向性関数演算部128b-L(r)が、秘匿情報[a-1]L(r),…,[a-N]L(r)および秘密計算結果[b]L(r)の少なくとも何れかと他の情報との関数値(例えば、ビット結合値)の一方向性関数値を得て出力してもよい。
 ただし、これらは単なる例示であって本発明を限定するものではない。一方向性関数演算部128b-L(r)から出力された単数または複数の一方向性関数値は、ブロック処理部128c-L(r)に送られる(ステップS128b-L(r))。
 各ブロック処理部128c-L(r)(ただし、r=1,…,R)は、受け取った一方向性関数値を各ブロックチェーンBCの最新のブロックB(i)に格納する。ここで、ブロックB(i)は、秘密計算装置12-L(r)が合意を得たブロックであり、iはブロックチェーンBCのブロックを表す正整数のインデックスである。図3に、一方向性関数値が前述の例1-1のH([a-1]L(r)),…,H([a-N]L(r)),HN+1([b]L(r))であり、さらにH=H=…=H=HN+1である場合を例示する。この場合、ブロック処理部128c-L(r)は、一方向性関数値H([a-1]L(r)),…,H([a-N]L(r)),H([b]L(r))をブロックB(i)に格納する。その後、ブロックB(i)に続く新たなブロックが生成されていく(ステップS128c-L(r))。
 [本実施形態の特徴]
 本実施形態では、r=1,…,Rについて、ブロックチェーンBCのノードである秘密計算装置12-L(r)(計算装置)が、ブロックチェーンBCのコンセンサスアルゴリズムで合意を得るための処理を実行し、ブロックチェーンBCのコンセンサスアルゴリズムで合意が得られた場合に、オリジナル情報に基づく情報を秘密分散することによって得られる秘匿情報および秘匿情報に対して秘密計算を行って得られる秘密計算結果の少なくとも何れかの一方向性関数値を、ブロックチェーンBCのブロックB(i)に格納した。ブロックチェーンBCの安全性が保たれる限り、ブロックB(i)に格納された情報は改ざんできない。これにより、秘密計算装置12-L(r)が行った処理を監視・検証することが可能になる。
 また、本実施形態の秘密計算装置12-L(r)の秘密計算部122-L(r)は、ブロックチェーンBCを用いたスマートコントラクト機能からの処理要求に従って秘匿情報[a-1]L(r),…,[a-N]L(r)に対して秘密計算を行って秘密計算結果[b]L(r)を得た。これにより、秘密計算装置12-L(r)の秘密計算処理を制御し、秘密計算装置12-L(r)の不正を抑制できる。
 さらに、本実施形態の秘密計算装置12-L(r)は、スマートコントラクト機能からの処理要求以外の要求をブロックする。これにより、秘密計算装置12-L(r)の不正を抑制できる。
 また、本実施形態のR個の秘密計算装置12-L(1),…,12-L(R)は、上述の一方向性関数値を、R個のブロックチェーンBC,…,BCのブロックにそれぞれ格納する。すなわち、秘密計算装置12-L(r1)(計算装置)が、ブロックチェーンBCr1のコンセンサスアルゴリズムで合意を得るための処理を実行し、ブロックチェーンBCr1のコンセンサスアルゴリズムで合意が得られた場合に、オリジナル情報に基づく情報を秘密分散することによって得られる秘匿情報および秘匿情報に対して秘密計算を行って得られる秘密計算結果の少なくとも何れかの一方向性関数値を、ブロックチェーンBCr1のブロックBr1(ir1)に格納する。さらに、他の秘密計算装置12-L(r2)(計算装置)が、ブロックチェーンBCr1以外の他のブロックチェーンBCr2のコンセンサスアルゴリズムで合意を得るための処理を実行し、ブロックチェーンBCr2のコンセンサスアルゴリズムで合意が得られた場合に、当該オリジナル情報に基づく情報を秘密分散することによって得られる他の秘匿情報および当該他の秘匿情報に対して秘密計算を行って得られる他の秘匿情報秘密計算結果の少なくとも何れかの一方向性関数値を、他のブロックチェーンBCr2のブロックBr2(ir2)に格納する。ただし、r1≠r2,r1,r2∈{1,…,R}である。これにより、何れかのブロックチェーンの安全性が損なわれた場合であっても、他のブロックチェーンの安全性が保たれている限り、秘密計算装置が行った処理を監視・検証できる。
 [第1実施形態の変形例1]
 以下、第1実施形態との相違点を中心に説明し、すでに説明した事項については説明を簡略化する。第1実施形態では、R個のブロックチェーンBC,…,BCに対し、秘密計算装置12-L(1),…,12-L(R)がリーダーLEAD,…,LEADとして選択され、秘密計算装置12-L(1),…,12-L(R)が、前述の一方向性関数値を、ブロックチェーンBC,…,BCのブロックB(i),…,BR(iR)にそれぞれ格納した。しかし、クラウド13のブロックチェーン基盤上の1個のブロックチェーンBCに対し、並列にR個の秘密計算装置12-L(1),…,12-L(R)がリーダーLEAD,…,LEADとして選択され、秘密計算装置12-L(1),…,12-L(R)が、前述の一方向性関数値を、ブロックチェーンBCのブロックB(i)に格納してもよい。以下、具体的に説明する。
 <構成>
 本変形例では、図4に例示するように、クラウド13のブロックチェーン基盤に少なくとも1個のブロックチェーンBCが設定されていればよい。その他は第1実施形態の構成と同じである。
 <秘密分散処理>
 第1実施形態と同じである。
 <秘密計算処理>
 まず、第1実施形態のステップS128a-mの処理に代えて、各秘密計算装置12-mの合意処理部128a‐m(ただし、m=1,…,M)が、クラウド13のブロックチェーン基盤に接続し、ブロックチェーンBCのコンセンサスアルゴリズムで合意を得るための処理を実行する。本変形例では、コンセンサスアルゴリズムによってブロックチェーンBCに対して、いずれかR個の秘密計算装置12-L(1),…,12-L(R)がリーダーLEAD,…,LEADとして選択される({L(1),…,L(R)}⊆{1,…,M})(ステップS128a(1)-m)。
 その後、第1実施形態で説明したステップS131,S115-n,S122-L(r),S112-n,S128b-L(r)で説明した処理が実行される。
 その後、各秘密計算装置12-L(r)のブロック処理部128c-L(r)(ここで、r=1,…,R)は、受け取った一方向性関数値をブロックチェーンBCの最新のブロックB(i)(ブロックチェーンBCのコンセンサスアルゴリズムで秘密計算装置12-L(r)が合意を得たブロック)に格納する。図4に、一方向性関数値が前述の例1-1のH([a-1]L(r)),…,H([a-N]L(r)),HN+1([b]L(r))であり、さらにH=H=…=H=HN+1である場合を例示する(ステップS128c(1)-L(r))。その他は第1実施形態と同じである。
 [本変形例の特徴]
 本変形例では、ブロックチェーンBCのノードである秘密計算装置12-L(r1)(計算装置)が、ブロックチェーンBCのコンセンサスアルゴリズムで合意を得るための処理を実行し、ブロックチェーンBCのコンセンサスアルゴリズムで合意が得られた場合に、オリジナル情報に基づく情報を秘密分散することによって得られる秘匿情報および秘匿情報に対して秘密計算を行って得られる秘密計算結果の少なくとも何れかの一方向性関数値を、ブロックチェーンBCのブロックB(i)に格納する。さらに、ブロックチェーンBCの他のノードである他の秘密計算装置12-L(r2)(他の計算装置)も、同じブロックチェーンBCのコンセンサスアルゴリズムで合意を得るための処理を実行し、ブロックチェーンBCのコンセンサスアルゴリズムで合意が得られた場合に、当該オリジナル情報に基づく情報を秘密分散することによって得られる他の秘匿情報および当該他の秘匿情報に対して秘密計算を行って得られる他の秘匿情報秘密計算結果の少なくとも何れかの一方向性関数値を、当該ブロックチェーンBCのブロックB(i)に格納する。ブロックB(i)は、他の計算装置によって他の秘匿情報および他の秘密計算結果の少なくとも何れかの一方向性関数値が格納されたブロックチェーンのブロックに相当する。ただし、r1≠r2,r1,r2∈{1,…,R}である。このようにしても、第1実施形態と同様に、秘密計算装置12-L(r)が行った処理を監視・検証することが可能になる。
 [第1実施形態の変形例2]
 第1実施形態では、R個のブロックチェーンBC,…,BCに対し、秘密計算装置12-L(1),…,12-L(R)がリーダーLEAD,…,LEADとして選択され、秘密計算装置12-L(1),…,12-L(R)が、前述の一方向性関数値を、ブロックチェーンBC,…,BCのブロックB(i),…,BR(iR)にそれぞれ格納した。しかし、クラウド13のブロックチェーン基盤上の1個のブロックチェーンBCの複数のブロックB(i),…,B(i)に対し、順番に(直列に)R個の秘密計算装置12-L(1),…,12-L(R)がリーダーLEAD,…,LEADとして選択され、各秘密計算装置12-L(r)が、前述の一方向性関数値を、自らがリーダーLEADとして選択されたブロックB(i)に順番に格納してもよい。ただし、秘密計算はR個の秘密計算装置12-L(1),…,12-L(R)がリーダーLEAD,…,LEADとして選択された後に行われるため、秘密計算結果[b]L(r)を含む情報の一方向性関数値は、最後にリーダーLEADRとして選択された秘密計算装置12-L(R)がブロックB(i)に格納する。なお、R個の秘密計算装置12-L(1),…,12-L(R)がリーダーLEAD,…,LEADとして選択された後に秘密計算を行うことで、秘密計算装置12-L(1),…,12-L(R)の間での通信を伴う秘密計算(例えば、秘密計算での乗算など)も可能となる。以下、具体的に説明する。
 <構成>
 本変形例では、図5に例示するように、クラウド13のブロックチェーン基盤に少なくとも1個のブロックチェーンBCが設定されていればよい。その他は第1実施形態の構成と同じである。
 <秘密分散処理>
 第1実施形態と同じである。
 まず、第1実施形態のステップS128a-mの処理に代えて、各秘密計算装置12-mの合意処理部128a‐m(ただし、m=1,…,M)が、クラウド13のブロックチェーン基盤に接続し、ブロックチェーンBCのコンセンサスアルゴリズムで合意を得るための処理を実行する。本変形例では、コンセンサスアルゴリズムによってブロックチェーンBCに対して、いずれか1個の秘密計算装置12-L(r)がリーダーLEAD,…,LEADとして選択される(r∈{1,…,M})(ステップS128a(2)-m)。
 いずれかの秘密計算装置12-L(r)がリーダーLEADとして選択されると、第1実施形態のステップS131の処理に代えて、クラウド13のブロックチェーン基盤のスマートコントラクト機能が、この秘密計算装置12-L(r)に対し、秘密計算のための秘匿情報を得る旨の処理要求を送信する(ステップS131(2))。
 次に、第1実施形態のステップS115-nの処理に代えて、リーダーLEADである秘密計算装置12-L(r)の取得部121-L(r)(図2B)は、当該処理要求を取得する(受信する)。この処理要求に従い、当該取得部121-L(r)は、クライアント装置11-1,…,11-Nの取得部112-1,…,112-N(図2A)に接続し、秘密計算装置12-L(r)がリーダーLEADであることを証明するための処理を実行する。クライアント装置11-nの取得部112-nが、秘密計算装置12-L(r)をリーダーLEADとして認定した場合、当該クライアント装置11-nの提供部115-nは、記憶部111-nから秘匿情報[a-n]L(r)を抽出し、当該秘匿情報[a-n]L(r)を、リーダーLEADである秘密計算装置12-L(r)に送信する(ステップS115(2)-n)。
 第1実施形態のステップS122-L(r)に代え、リーダーLEADである秘密計算装置12-L(r)(図2B)の取得部121-L(r)は、当該秘匿情報[a-n]L(r)を取得(受信)し、記憶部127-L(r)に格納する。クライアント装置11-1,…,11-Nから送信されたすべての秘匿情報[a-1]L(r),…,[a-N]L(r)が記憶部127-L(r)に格納されると、一方向性関数演算部128b-L(r)は、記憶部127-L(r)から秘匿情報[a-1]L(r),…,[a-N]L(r)を抽出する。一方向性関数演算部128b-L(r)は、秘匿情報[a-1]L(r),…,[a-N]L(r)の一方向性関数値を得て出力する。
 <例2-1>
 例えば、一方向性関数演算部128b-L(r)は、秘匿情報[a-1]L(r),…,[a-N]L(r)それぞれの一方向性関数値H([a-1]L(r)),…,H([a-N]L(r))を得て出力する。
 <例2-2>
 あるいは、例えば、一方向性関数演算部128b-L(r)が、秘匿情報[a-1]L(r),…,[a-N]L(r)の関数値(例えば、ビット結合値)の一方向性関数値H([a-1]L(r),…,[a-N]L(r))を得て出力してもよい。
 <例2-3>
 あるいは、例えば、一方向性関数演算部128b-L(r)が、秘匿情報[a-1]L(r),…,[a-N]L(r)と他の情報との関数値(例えば、ビット結合値)の一方向性関数値を得て出力してもよい。
 ただし、これらは単なる例示であって本発明を限定するものではない。一方向性関数演算部128b-L(r)から出力された単数または複数の一方向性関数値は、ブロック処理部128c-L(r)に送られる(ステップS128b(2)-L(r))。
 次に、図5に例示するように、第1実施形態で説明したステップS128c-L(r)の処理に代えて、ブロック処理部128c-L(r)が、受け取った一方向性関数値をブロックチェーンBCの最新のブロックB(i)に格納する。このブロックB(i)は、秘密計算装置12-L(r)が合意を得たブロックである(ステップS128c(2)-L(r))。
 これらのステップS128a(2)-m,S131(2),S115(2)-n,ステップS128b(2)-L(r),S128c(2)-L(r)の処理は、r=1,…,Rについて順番に直列に実行される(図5)。その後、各リーダーLEADである秘密計算装置12r-L(r)(図2B)の取得部121-L(r)の秘密計算部122-L(r)は(ただし、r=1,…,R)、記憶部127-L(r)から秘匿情報[a-1]L(r),…,[a-N]L(r)を抽出する。さらに秘密計算部122-L(r)は、前述の処理要求(ブロックチェーンを用いたスマートコントラクト機能からの処理要求)に従って、これらの秘匿情報[a-1]L(r),…,[a-N]L(r)に対して秘密計算を行って秘密計算結果[b]L(r)を得て出力する。各秘密計算結果[b]L(r)は、提供部123-L(r)と一方向性関数演算部128b-L(r)に送られる(ステップS122(2)-L(r))。
 提供部123-L(r)は、前述した処理要求に含まれた送信先に秘密計算結果[b]L(r)を送信する。クライアント装置11-n(図2A)の取得部112-nは、送信された秘密計算結果[b]L(r)を取得(受信)し、記憶部111-nに格納する。取得部112-nは、さらに複数の秘密計算結果[b]L(r)(ただし、L(r)∈{L(1),…,L(R)})から秘密計算結果[b]L(r)を復元して演算結果bを得、当該演算結果bを記憶部111-nに格納してもよい。さらに、演算結果bまたは秘密計算結果[b]L(r)が、新たなオリジナル情報a-nを特定する情報とされてもよい(ステップS112(2)-n)。
 また秘密計算結果[b]L(r)を受け取った秘密計算装置12-L(r)(図2B)の一方向性関数演算部128b-L(r)(ただし、r=1,…,R)は、秘密計算結果[b]L(r)の一方向性関数値H([b]L(r))を得て出力する。秘密計算装置12-L(1),…,12-L(R-1)の一方向性関数演算部128b-L(1),…,128b-L(R-1)から出力された一方向性関数値H([b]L(1)),…,H([b]L(R-1))は、それぞれ提供部123-L(1),…,123-L(R-1)から秘密計算装置12-L(R)に送信される。これらの一方向性関数値H([b]L(1)),…,H([b]L(R-1))は、秘密計算装置12-L(R)の取得部121-L(R)で受信され、ブロック処理部128c-L(R)に送られる。また秘密計算装置12-L(R)の一方向性関数演算部128b-L(R)から出力された一方向性関数値H([b]L(R))も、ブロック処理部128c-L(R)に送られる。ブロック処理部128c-L(R)は、受け取った一方向性関数値H([b]L(1)),…,H([b]L(R))をブロックチェーンBCの最新のブロックB(iR)に格納する。ブロックB(iR)は、秘密計算装置12-L(R)が合意を得たブロックである(ステップS128c(2)’-L(R))(図5)。
 [本変形例の特徴]
 本変形例では、ブロックチェーンBCのコンセンサスアルゴリズムで秘密計算装置12-L(1),…,12-L(R-1)(他の計算装置)の合意が得られた後に、当該ブロックチェーンBCのコンセンサスアルゴリズムで秘密計算装置12-L(R)(計算装置)の合意が得られる。当該ブロックチェーンBCのコンセンサスアルゴリズムで当該秘密計算装置12-L(R)の合意が得られた後、秘密計算装置12-L(R)は、秘匿情報に対して秘密計算を行って秘密計算結果を得、秘密計算装置12-L(1),…,12-L(R-1)(他の計算装置)が他の秘匿情報に対して秘密計算を行って他の秘密計算結果を得る。秘密計算装置12-L(R)は、秘密計算装置12-L(R)で得た秘密計算結果の一方向性関数値および秘密計算装置12-L(1),…,12-L(R-1)(他の計算装置)で得た秘密計算結果の一方向性関数値を、ブロックチェーンBCの最新のブロックB(iR)に格納する(図5)。これによっても、第1実施形態と同様に、秘密計算装置12-L(r)が行った処理を監視・検証することが可能になる。
 また、本変形例では、ブロックチェーンBCのコンセンサスアルゴリズムで各秘密計算装置12-L(r’)(他の計算装置)(r’∈{1,…,R-1})の合意が得られた後に、各秘密計算装置12-L(r’)(他の計算装置)で得られた秘匿情報(他の秘匿情報)の一方向性関数値が、各秘密計算装置12-L(r’)(他の計算装置)によって、ブロックチェーンBCのブロックB(ir’)に逐一格納される(図5)。これにより、各秘密計算装置12-L(r’)が秘匿情報を受け取った時点のブロックB(ir’)に、当該秘匿情報の一方向性関数値が格納されるため、より厳密に秘密計算装置12-L(r)が行った処理を監視・検証することが可能になる。その後、当該ブロックチェーンBCのコンセンサスアルゴリズムで秘密計算装置12-L(R)(計算装置)の合意が得られる。当該ブロックチェーンBCのコンセンサスアルゴリズムで当該秘密計算装置12-L(R)の合意が得られた後に、秘密計算装置12-L(R)は、秘匿情報に対して秘密計算を行って秘密計算結果を得、秘密計算装置12-L(1),…,12-L(R-1)(他の計算装置)が他の秘匿情報に対して秘密計算を行って他の秘密計算結果を得る。秘密計算装置12-L(R)は、秘密計算装置12-L(R)で得た秘密計算結果の一方向性関数値および秘密計算装置12-L(1),…,12-L(R-1)(他の計算装置)で得た秘密計算結果の一方向性関数値を、ブロックチェーンBCの最新のブロックB(iR)に格納する(図5)。
 なお、さらなる変形例として、各秘密計算装置12-L(r’)(r’∈{1,…,R-1})の合意が得られた後に、各秘密計算装置12-L(r’)で得られた秘匿情報の一方向性関数値が、各秘密計算装置12-L(r’)によって、ブロックチェーンBCのブロックB(ir’)に逐一格納されるのではなく、これらの一方向性関数値も、秘密計算装置12-L(R)によって、ブロックB(iR)に格納されてもよい(図4)。
 [第1実施形態の変形例3]
 第1実施形態およびその変形例では、クラウド13のブロックチェーン基盤に各秘密計算装置12-m(ただし、m=1,…,M)が実行する秘密計算の処理内容が実装されていた。しかしながら、各秘密計算装置12-mが実行する秘密計算の処理内容が、各秘密計算装置12-mの秘密計算部122-mに実装されていてもよい。この場合には、各秘密計算装置12-mは、スマートコントラクト機能からの処理要求ではなく、自らに実装された処理内容に基づいて秘密計算を実行する。また、各秘密計算装置12-mが実行する秘密計算の処理内容が、ブロックチェーン基盤と秘密計算部122-mとに分散して実装されていてもよい。
 [第1実施形態の変形例4]
 第1実施形態またはその変形例において、秘密計算装置12-L(r)の提供部123-L(r)が、秘密計算結果[b]L(r)を特定のクライアント装置11-n(n∈{1,…,N})に送信してよいか否かを、クラウド13のブロックチェーン基盤のスマートコントラクト機能が持つ合意確認処理(投票処理)で決定してもよい。この場合、各秘密計算装置12-L(r)は、当該合意確認処理を実行し、その結果に従って、秘密計算結果[b]L(r)を特定のクライアント装置11-nに送信してよいか否かを判断する。ここで、特定のクライアント装置11-nに送信してよいとの結果が得られた場合にのみ、各秘密計算装置12-L(r)は、当該秘密計算結果[b]L(r)を当該特定のクライアント装置11-nに送信する。これにより、より安全性が向上する。
 [第1実施形態の変形例5]
 第1実施形態またはその変形例では、秘密計算装置12-L(r)の秘密計算部122-L(r)が、すべての秘匿情報[a-1]L(r),…,[a-N]L(r)を得てから秘密計算を実行した。しかしながら、秘密計算の内容によっては、秘密計算部122-L(r)が、すべての秘匿情報[a-1]L(r),…,[a-N]L(r)を得る前に(例えば、タイムアウトした場合に)、取得済の一部の秘匿情報のみを用いて秘密計算を実行し、秘密計算結果[b]L(r)を得てもよい。
 [第1実施形態の変形例6]
 また、コンセンサスアルゴリズムとしてNonceのマイニングを行うことなく合意を与えるアルゴリズム(例えば、PoS)を用い、当該コンセンサスアルゴリズムによって合意を得たクライアント装置11-1,…,11-Nが、オリジナル情報a-nの秘匿情報[a-n]L(r)の一方向性関数値を、上述したブロックチェーンのブロック(例えば、最初のブロック)に格納してもよい。これにより、さらに安全性が向上する。
 [第2実施形態]
 第2実施形態は、第1実施形態およびその変形例を、秘密計算による連合学習(Federated learning)に応用した形態である。連合学習とは、学習データを集約せずに分散した状態で機械学習を行う技術である。連合学習では、複数のモデル学習装置が、自ら保持する学習データ(ローカル学習データ)を用いた機械学習を行ってワーカーモデル(ローカルモデル)を生成し、生成したワーカーモデルを連合学習装置に送信する。連合学習装置は、複数のモデル学習装置から送られたワーカーモデルを集約した集約モデル(グローバルモデル)を生成し、生成した集約モデルを複数のモデル学習装置に送信する。集約モデルを受け取った複数のモデル学習装置は、自ら保持する学習データを用いた機械学習によって当該集約モデルをさらに更新して新たなワーカーモデルを生成し、生成したワーカーモデルを連合学習装置に送信する。このような処理を繰り返すことにより、各モデル学習装置は、自ら保持する学習データを外部に渡すことなく、複数のモデル学習装置に保持された学習データが機械学習に反映された集約モデルを得ることができる。
 しかし、通常の連合学習では、連合学習装置が各モデル学習装置から平文のワーカーモデルを受け取る。そのため、連合学習装置は、送信した集約モデルと受け取ったワーカーモデルとの違いに基づいて、各モデル学習装置が保持する学習データの傾向を知ることができる。
 そのため、本実施形態では、モデル学習装置がワーカーモデルを連合学習装置に送信することに代えて、モデル学習装置がワーカーモデルを特定する情報の秘匿情報を秘密連合学習装置に送信することにする。秘密連合学習装置は、複数のモデル学習装置から複数のワーカーモデルを特定する情報の秘匿情報を得、当該複数のワーカーモデルを特定する情報の秘匿情報を用いた秘密計算によって、当該複数のワーカーモデルを得ることなく、当該複数のワーカーモデルを集約した集約モデルを特定する情報の秘匿情報を得、当該集約モデルを特定する情報または集約モデルを特定する情報の秘匿情報を複数のモデル学習装置に送信する。各モデル学習装置は、秘匿情報から集約モデルを特定する情報を復元し、自ら保持する学習データ(ローカル学習データ)を用いた機械学習によって当該集約モデルを更新して新たなワーカーモデルを得る。さらに各モデル学習装置は、同様にワーカーモデルを特定する情報の秘匿情報を秘密連合学習装置に送信する。このような処理を繰り返すことにより、各モデル学習装置は、自ら保持する学習データの情報を守りつつ、複数のモデル学習装置に保持された学習データが機械学習に反映された集約モデルを得ることができる。
 本実施形態では、このような手法に第1実施形態およびその変形例を適用する。この場合、第1実施形態およびその変形例で説明したクライアント装置11-nはモデル学習装置に相当し、秘密計算装置12-mは秘密連合学習装置に相当する。本実施形態のクライアント装置11-nの記憶部111-nに格納されるオリジナル情報a-nは、連合学習における集約モデルを特定する情報である。集約モデルを特定する情報は、例えば、集約モデルのモデルパラメータ群である。またクライアント装置11-nの記憶部111-nには、さらに学習データD-n(ローカル学習データ)も格納される。
 クライアント装置11-nの処理部113-nは、記憶部111-nから読み出した学習データD-nを用いた機械学習によって、記憶部111-nから読み出したオリジナル情報a-n(集約モデルを特定する情報)によって特定される集約モデルを更新してワーカーモデルを得、当該ワーカーモデルを特定する情報を、オリジナル情報a-nに基づく情報として出力する。ワーカーモデルを特定する情報は、例えば、ワーカーモデルのモデルパラメータ群である。集約モデルおよびワーカーモデルは、公知の機械学習モデルである。集約モデルおよびワーカーモデルに限定はなく、例えば、ディープラーニング方式に基づくモデルであってもよいし、隠れマルコフモデル方式に基づくモデルであってもよいし、サポートベクターマシーン方式に基づくモデルであってもよいし、線形予測に基づくモデルであってもよい。ただし、本実施形態で扱うすべての集約モデルおよびワーカーモデルは、同一方式に基づくモデルである。秘匿部114-nは、ワーカーモデルを特定する情報(オリジナル情報a-nに基づく情報)を秘密分散することによって、R個の秘匿情報[a-n]L(1),…,[a-n]L(R)(ワーカーモデルを特定する情報の秘匿情報)を得て出力する。
 本実施形態の秘密計算は、秘匿情報[a-n]L(1),…,[a-n]L(R)を用いて、当該ワーカーモデルを得ることなく、集約モデルを特定する情報の秘匿情報である秘密計算結果[b]L(r)を得る計算である。秘密計算装置12-L(r)(ただし、r=1,…,R)は、秘匿情報[a-n]L(1),…,[a-n]L(R)を用い、この秘密計算によって、集約モデルを特定する情報の秘匿情報である秘密計算結果[b]L(r)を得て出力する。例えば、ワーカーモデルを特定する情報a-nが当該ワーカーモデルのモデルパラメータ群{p(n),…,p(n)}である場合、{n,…,nmax}⊆{1,…,N}についてのモデルパラメータ群{p(n),…,p(n)},…,{p(nmax),…,p(nmax)}を集約したモデルパラメータ群{p,…,p}が集約モデルを特定する情報となる。例えば、pはp(n),…,p(nmax)の重み付き線形結合値や平均値などの関数値である。ただし、kはモデルパラメータを識別するインデックスk=1,…,Kであり、Kは正整数である。得られた秘密計算結果[b]L(r)(ただし、r=1,…,R)は、クライアント装置11-n(ただし、n=1,…,N)に送信される。クライアント装置11-nの取得部112-nは、秘密計算結果[b]L(r)を受信し、秘密計算結果[b]L(r)から復元された演算結果b(集約モデルを特定する情報)を新たなオリジナル情報a-nとして記憶部111-nに格納する。
 その後、所定の終了条件を満たすまで、上述の処理を繰り返す。これにより、安全性が高く、秘密計算の不正な処理を監視・検証することができる連合学習が可能となる。
 <具体例>
 以下、第1実施形態を秘密計算による連合学習に応用した形態を例示する。しかし、これは本発明を限定するものではない。
 <構成>
 図1に例示するように、本実施形態の秘密計算システム2は、N個のクライアント装置21-1,…,21-N(モデル学習装置)、およびM個の秘密計算装置22-1,…,22-M(秘密連合学習装置、計算装置)を有し、これらはネットワーク上のクラウド13に通信可能に接続されている。図3に例示するように、本実施形態のブロックチェーン基盤には、少なくともR個のブロックチェーンBC,・・,BCが設定されている。
 図2Aに例示するように、本実施形態のクライアント装置21-nは、記憶部111-n、取得部112-n、処理部213-n、秘匿部114-n、提供部115-n、および制御部116-nを有する。クライアント装置21-nは、制御部116-nに基づいて各処理を実行する。クライアント装置21-nの各部で得られた情報(データ)は、記憶部111-nに格納され、必要に応じて読み出されて使用される。クライアント装置21-nは、クラウド13のブロックチェーン基盤の何れかのブロックチェーンのノードである。クライアント装置21-nの取得部112-nは、クラウド13のブロックチェーン基盤のスマートコントラクト機能からの処理要求を受け付けることが可能なように構成されている。
 図2Bに例示するように、本実施形態の秘密計算装置22-mは、取得部121-m、秘密計算部222-m、提供部123-m、制御部126-m、記憶部127-m、合意処理部128a-m、一方向性関数演算部128b-m、およびブロック処理部128c-mを有する。秘密計算装置22-mは、制御部126-mに基づいて各処理を実行する。秘密計算装置22-mの各部で得られた情報(データ)は、記憶部127-mに格納され、必要に応じて読み出されて使用される。
 <秘密分散処理>
 各クライアント装置21-nの記憶部111-nには、学習データD-nが格納されている。クライアント装置21-nの取得部112-nは、連合学習における集約モデルを特定する情報(オリジナル情報a-n)を受け取り、オリジナル情報a-nを記憶部111-nに格納する。連合学習が未だ行われていない場合、取得部112-nは集約モデルを特定する情報の初期情報をオリジナル情報a-nを特定する情報として受け取る。取得部112nは、オリジナル情報a-n(集約モデル)そのものを表す情報を受け取った場合には、そのオリジナル情報a-nを記憶部111-nに格納し、オリジナル情報a-nの秘匿情報を受け取った場合には当該秘匿情報から復元したオリジナル情報a-n(集約モデル)を記憶部111-nに格納する(ステップS111-n)。
 処理部213-nは、記憶部111-nからオリジナル情報a-n(集約モデル)と学習データD-nとを読み出し、学習データD-nを用いた機械学習によって、オリジナル情報a-nによって特定される集約モデルを更新してワーカーモデルを得、当該ワーカーモデルを特定する情報(例えば、モデルパラメータ群)を、オリジナル情報a-nに基づく情報として秘匿部114-nに送る(ステップS213-n)。
 秘匿部114-nは、送られたオリジナル情報a-nに基づく情報(ワーカーモデルを特定する情報)を秘密分散することによって、R個の秘匿情報[a-n]L(1),…,[a-n]L(R)を得て出力する。秘匿情報[a-n]L(1),…,[a-n]L(R)は、記憶部111-nに格納される(ステップS114-n)。
 <秘密計算処理>
 この前提のもと、秘密計算処理が実行される。
 まず、秘密計算装置22-1,…,22-Mの合意処理部128a‐1,…,128a‐M(図2B)は、クラウド13のブロックチェーン基盤に接続し、当該ブロックチェーン基盤のブロックチェーンBC,・・,BCのコンセンサスアルゴリズムで合意を得るための処理を実行する。(ステップS128a-m)。
 ブロックチェーンBC,…,BCについて、秘密計算装置22-L(1),…,12-L(R)がリーダーLEAD,…,LEADとして選択されると、クラウド13のブロックチェーン基盤のスマートコントラクト機能は、これらの秘密計算装置22-L(1),…,22-L(R)に対し、秘密計算を実行する旨の処理要求を送信する。なお、{L(1),…,L(R)}⊆{1,…,M}である。この処理要求には、当該秘密計算結果の送信先の情報が含まれている(ステップS131)。
 リーダーLEADである秘密計算装置22-L(r)(ただしr=1,…,R)の取得部121-L(r)(図2B)は、それぞれ当該処理要求を取得する(受信する)。処理要求を取得した取得部121-L(r)は、クライアント装置21-1,…,21-Nの取得部112-1,…,112-N(図2A)に接続し、秘密計算装置22-L(r)がリーダーLEADであることを証明するための処理を実行する。クライアント装置21-nの取得部112-nが、秘密計算装置22-L(r)をリーダーLEADとして認定した場合、当該クライアント装置21-nの提供部115-nは、記憶部111-nから秘匿情報[a-n]L(r)を抽出し、当該秘匿情報[a-n]L(r)を、リーダーLEADである秘密計算装置22-L(r)(ただしr=1,…,R)に送信する(ステップS115-n)。
 リーダーLEADである秘密計算装置22-L(r)(図2B)の取得部121-L(r)は、当該秘匿情報[a-n]L(r)を取得(受信)し、記憶部127-L(r)に格納する。クライアント装置21-1,…,21-Nから送信されたすべての秘匿情報[a-1]L(r),…,[a-N]L(r)が記憶部127-L(r)に格納されると、秘密計算部222-L(r)は、記憶部127-L(r)から秘匿情報[a-1]L(r),…,[a-N]L(r)を抽出する。さらに秘密計算部222-L(r)は、前述の処理要求に従った秘密計算によって、秘匿情報[a-n]L(1),…,[a-n]L(R)を用い、ワーカーモデルを得ることなく、集約モデルを特定する情報の秘匿情報である秘密計算結果[b]L(r)を得て出力する。秘密計算結果[b]L(r)は、提供部123-L(r)と一方向性関数演算部128b-L(r)に送られる。また当該秘密計算の対象となった秘匿情報[a-1]L(r),…,[a-N]L(r)も、一方向性関数演算部128b-L(r)に送られる(ステップS222-L(r))。
 提供部123-L(r)は、前述した処理要求に含まれた送信先に秘密計算結果[b]L(r)を送信する。例えば、秘密計算結果[b]L(r)はクライアント装置21-1,…,21-Nに送信される。クライアント装置21-n(図2A)の取得部112-nは、送信された秘密計算結果[b]L(r)を取得(受信)し、記憶部111-nに格納する。取得部112-nは、さらに複数の秘密計算結果[b]L(r)(ただし、L(r)∈{L(1),…,L(R)})から秘密計算結果[b]L(r)を復元して演算結果b(集約モデルを特定する情報)を得、当該演算結果b(集約モデルを特定する情報)を新たなオリジナル情報a-n(集約モデルを特定する情報)として記憶部111-nにする(ステップS112-n)。
 また、秘匿情報[a-1]L(r),…,[a-N]L(r)および秘密計算結果[b]L(r)を受け取った秘密計算装置12-L(r)(図2B)の一方向性関数演算部128b-L(r)(ただし、r=1,…,R)は、秘匿情報[a-1]L(r),…,[a-N]L(r)および秘密計算結果[b]L(r)の少なくとも何れかの一方向性関数値を得て出力する。当該一方向性関数値はブロック処理部128c-L(r)に送られる(ステップS128b-L(r))。
 各ブロック処理部128c-L(r)(ここで、r=1,…,R)は、受け取った一方向性関数値を各ブロックチェーンBCの最新のブロックB(i)に格納する(図3)(ステップS128c-L(r))。
 その後、所定の終了条件を満たすまで、上述した本実施形態の秘密分散処理と秘密計算処理とを繰り返す。この繰り返しは、ステップS112-nで、演算結果b(集約モデルを特定する情報)を新たなオリジナル情報a-n(集約モデルを特定する情報)として更新しながら行われる。なお、終了条件はどのようなものでもよい。例えば、集約モデルの更新回数、更新量、更新時間などが規定値に達したときに終了条件を満たすことにしてもよい。
 [ハードウェア構成]
 各実施形態におけるクライアント装置11-n,21-nおよび秘密計算装置12-m,22-mは、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。すなわち、各実施形態におけるクライアント装置11-n,21-nおよび秘密計算装置12-m,22-mは、例えば、それぞれが有する各部を実装するように構成された処理回路(processing circuitry)を有する。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、単独で処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
 図6は、各実施形態におけるクライアント装置11-n,21-nおよび秘密計算装置12-m,22-mのハードウェア構成を例示したブロック図である。図6に例示するように、この例のクライアント装置11-n,21-nおよび秘密計算装置12-m,22-mは、CPU(Central Processing Unit)10a、入力部10b、出力部10c、RAM(Random Access Memory)10d、ROM(Read Only Memory)10e、補助記憶装置10f、通信部10h及びバス10gを有している。この例のCPU10aは、制御部10aa、演算部10ab及びレジスタ10acを有し、レジスタ10acに読み込まれた各種プログラムに従って様々な演算処理を実行する。また、入力部10bは、データが入力される入力端子、キーボード、マウス、タッチパネル等である。また、出力部10cは、データが出力される出力端子、ディスプレイ等である。通信部10hは、所定のプログラムを読み込んだCPU10aによって制御されるLANカード等である。また、RAM10dは、SRAM (Static Random Access Memory)、DRAM (Dynamic Random Access Memory)等であり、所定のプログラムが格納されるプログラム領域10da及び各種データが格納されるデータ領域10dbを有している。また、補助記憶装置10fは、例えば、ハードディスク、MO(Magneto-Optical disc)、半導体メモリ等であり、所定のプログラムが格納されるプログラム領域10fa及び各種データが格納されるデータ領域10fbを有している。また、バス10gは、CPU10a、入力部10b、出力部10c、RAM10d、ROM10e、通信部10h及び補助記憶装置10fを、情報のやり取りが可能なように接続する。CPU10aは、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置10fのプログラム領域10faに格納されているプログラムをRAM10dのプログラム領域10daに書き込む。同様にCPU10aは、補助記憶装置10fのデータ領域10fbに格納されている各種データを、RAM10dのデータ領域10dbに書き込む。そして、このプログラムやデータが書き込まれたRAM10d上のアドレスがCPU10aのレジスタ10acに格納される。CPU10aの制御部10aaは、レジスタ10acに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM10d上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部10abに順次実行させ、その演算結果をレジスタ10acに格納していく。このような構成により、クライアント装置11-n,21-nおよび秘密計算装置12-m,22-mの機能構成が実現される。
 上述のプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
 このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。上述のように、このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。また、ブロックチェーン基盤上のスマートコントラクト機能に従って各処理が実行されてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 各実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
1,2 秘密計算システム
11-n,21-n クライアント装置
12-m,22-m 秘密計算装置
13 クラウド

Claims (11)

  1.  ブロックチェーンのノードである計算装置であって、
     前記ブロックチェーンのコンセンサスアルゴリズムで合意を得るための処理を実行する合意処理部と、
     前記ブロックチェーンのコンセンサスアルゴリズムで合意が得られた場合に、オリジナル情報に基づく情報を秘密分散することによって得られる秘匿情報および前記秘匿情報に対して秘密計算を行って得られる秘密計算結果の少なくとも何れかの一方向性関数値を、前記ブロックチェーンのブロックに格納するブロック処理部と、
    を有する計算装置。
  2.  請求項1の計算装置であって、
     前記ブロックチェーンを用いたスマートコントラクト機能からの処理要求に従って前記秘匿情報に対して秘密計算を行って前記秘密計算結果を得る秘密計算部を有する、計算装置。
  3.  請求項2の計算装置であって、
     前記スマートコントラクト機能からの処理要求以外の要求をブロックする、計算装置。
  4.  請求項1から3のいずれかの計算装置であって、
     前記オリジナル情報に基づく情報を秘密分散することによって得られた他の秘匿情報および前記他の秘匿情報に対して秘密計算を行って得られた他の秘密計算結果の少なくとも何れかの一方向性関数値が、前記ブロックチェーン以外の他のブロックチェーンのコンセンサスアルゴリズムで合意が得られたノードである他の計算装置によって前記他のブロックチェーンのブロックに格納される、計算装置。
  5.  請求項1から3のいずれかの計算装置であって、
     前記オリジナル情報に基づく情報を秘密分散することによって得られた他の秘匿情報および前記他の秘匿情報に対して秘密計算を行って得られた他の秘密計算結果の少なくとも何れかの一方向性関数値が、前記ブロックチェーンのコンセンサスアルゴリズムで合意が得られた他のノードである他の計算装置によって前記ブロックチェーンのブロックに格納される、計算装置。
  6.  請求項5の計算装置であって、
     前記ブロックチェーンのコンセンサスアルゴリズムで、当該計算装置および前記他の計算装置の合意が並列に得られ、
     前記ブロック処理部は、前記他の計算装置によって前記他の秘匿情報および前記他の秘密計算結果の少なくとも何れかの一方向性関数値が格納された前記ブロックチェーンのブロックに、前記秘匿情報および前記秘密計算結果の少なくとも何れかの一方向性関数値を格納する、計算装置。
  7.  請求項5の計算装置であって、
     前記ブロックチェーンのコンセンサスアルゴリズムで前記他の計算装置の合意が得られた後に、前記ブロックチェーンのコンセンサスアルゴリズムで当該計算装置の合意が得られ、
     前記ブロックチェーンのコンセンサスアルゴリズムで当該計算装置の合意が得られた後に、当該計算装置が前記秘匿情報に対して秘密計算を行って前記秘密計算結果を得、前記他の計算装置が前記他の秘匿情報に対して秘密計算を行って前記他の秘密計算結果を得、前記秘密計算結果の一方向性関数値および前記他の秘密計算結果が当該計算装置によって前記ブロックチェーンのブロックに格納される、計算装置。
  8.  請求項5の計算装置であって、
     前記ブロックチェーンのコンセンサスアルゴリズムで前記他の計算装置の合意が得られた後に、前記他の秘匿情報の一方向性関数値が前記他の計算装置によって前記ブロックチェーンのブロックに格納され、
     前記他の秘匿情報の一方向性関数値が前記他の計算装置によって前記ブロックチェーンのブロックに格納された後に、前記ブロックチェーンのコンセンサスアルゴリズムで当該計算装置の合意が得られ、
     前記ブロックチェーンのコンセンサスアルゴリズムで当該計算装置の合意が得られた後に、当該計算装置が前記秘匿情報に対して秘密計算を行って前記秘密計算結果を得、前記他の計算装置が前記他の秘匿情報に対して秘密計算を行って前記他の秘密計算結果を得、当該計算装置が前記秘匿情報の一方向性関数値、前記秘密計算結果の一方向性関数値、および前記他の秘密計算結果を前記ブロックチェーンのブロックに格納する、計算装置。
  9.  請求項1から3のいずれかの計算装置であって、
     前記オリジナル情報は、連合学習における集約モデルを特定する情報であり、
     前記オリジナル情報に基づく情報は、機械学習によって前記集約モデルを更新して得られたワーカーモデルを特定する情報であり、
     前記秘密計算は、前記秘匿情報を用いて、前記ワーカーモデルを得ることなく、複数のワーカーモデルを集約した集約モデルを特定する情報の秘匿情報である前記秘密計算結果を得る計算である、計算装置。
  10.  ブロックチェーンのノードである計算装置による計算方法であって、
     合意処理部が、前記ブロックチェーンのコンセンサスアルゴリズムで合意を得るための処理を実行する合意処理ステップと、
     前記ブロックチェーンのコンセンサスアルゴリズムで合意が得られた場合に、ブロック処理部が、オリジナル情報に基づく情報を秘密分散することによって得られる秘匿情報および前記秘匿情報に対して秘密計算を行って得られる秘密計算結果の少なくとも何れかの一方向性関数値を、前記ブロックチェーンのブロックに格納するブロック処理ステップと、
    を有する計算方法。
  11.  請求項1から3のいずれかの計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2022/016502 2022-03-31 2022-03-31 計算装置、計算方法、およびプログラム WO2023188258A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/016502 WO2023188258A1 (ja) 2022-03-31 2022-03-31 計算装置、計算方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/016502 WO2023188258A1 (ja) 2022-03-31 2022-03-31 計算装置、計算方法、およびプログラム

Publications (1)

Publication Number Publication Date
WO2023188258A1 true WO2023188258A1 (ja) 2023-10-05

Family

ID=88199836

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/016502 WO2023188258A1 (ja) 2022-03-31 2022-03-31 計算装置、計算方法、およびプログラム

Country Status (1)

Country Link
WO (1) WO2023188258A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020021048A (ja) * 2018-08-03 2020-02-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America データ流通方法、認証サーバ及びデータ構造
JP2020061696A (ja) * 2018-10-12 2020-04-16 Kddi株式会社 ブロックチェーン管理システム、ブロックチェーン管理方法及びブロックチェーン管理プログラム
JP2020534733A (ja) * 2017-09-22 2020-11-26 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 分散協調を用いるスマートコントラクトの実行
WO2021014611A1 (ja) * 2019-07-24 2021-01-28 日本電気株式会社 秘密計算サーバ、証跡管理方法及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020534733A (ja) * 2017-09-22 2020-11-26 エヌチェーン ホールディングス リミテッドNchain Holdings Limited 分散協調を用いるスマートコントラクトの実行
JP2020021048A (ja) * 2018-08-03 2020-02-06 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America データ流通方法、認証サーバ及びデータ構造
JP2020061696A (ja) * 2018-10-12 2020-04-16 Kddi株式会社 ブロックチェーン管理システム、ブロックチェーン管理方法及びブロックチェーン管理プログラム
WO2021014611A1 (ja) * 2019-07-24 2021-01-28 日本電気株式会社 秘密計算サーバ、証跡管理方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KANAGAVELU RENUGA; LI ZENGXIANG; SAMSUDIN JUNIARTO; YANG YECHAO; YANG FENG; MONG GOH RICK SIOW; CHEAH MERVYN; WIWATPHONTHANA PRAEW: "Two-Phase Multi-Party Computation Enabled Privacy-Preserving Federated Learning", 2020 20TH IEEE/ACM INTERNATIONAL SYMPOSIUM ON CLUSTER, CLOUD AND INTERNET COMPUTING (CCGRID), IEEE, 11 May 2020 (2020-05-11), pages 410 - 419, XP033791506, DOI: 10.1109/CCGrid49817.2020.00-52 *

Similar Documents

Publication Publication Date Title
US20210143987A1 (en) Privacy-preserving federated learning
JP7208930B2 (ja) 制御された暗号化秘密鍵の開放
US11562228B2 (en) Efficient verification of machine learning applications
CN110992027A (zh) 在区块链中实现隐私保护的高效交易方法及装置
US20200394552A1 (en) Aggregated maching learning verification for database
US11387979B2 (en) Partially-ordered blockchain
US9712327B1 (en) System and method for remote storage auditing
US20180032383A1 (en) Performing Transactions Between Application Containers
CN111898137A (zh) 一种联邦学习的隐私数据处理方法、设备及系统
JP5411994B2 (ja) 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム
KR20190001546A (ko) 네트워크 상의 장치에 대한 정보를 추적하기 위한 블록체인의 사용
US11736456B2 (en) Consensus service for blockchain networks
CN112953930A (zh) 一种云存储数据的处理方法、装置及计算机系统
EP4208808A1 (en) Privacy preserving machine learning using secure multi-party computation
WO2017030111A1 (ja) 計算システム、計算装置、その方法、およびプログラム
CN113821810B (zh) 数据处理方法及系统、存储介质及电子设备
KR20220148854A (ko) 데이터 보호를 위한 노이지 트랜잭션
CN111291420B (zh) 一种基于区块链的分布式离链数据存储方法
Leinweber et al. TEE-based distributed watchtowers for fraud protection in the lightning network
Putra et al. Decentralised trustworthy collaborative intrusion detection system for IoT
WO2023188258A1 (ja) 計算装置、計算方法、およびプログラム
Rajamanickam et al. Strengthening the Privacy of Blockchain with Zero Knowledge Proof Case Study: Online Exam Student Verification
US20220179843A1 (en) Blockchain endorsement agreement
Karmakar et al. MediChain: Medical data fusion using blockchain integrated elastic storage
WO2023188256A1 (ja) モデル学習装置、秘密連合学習装置、それらの方法、およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22935403

Country of ref document: EP

Kind code of ref document: A1