SlideShare a Scribd company logo
2018年2月13日
株式会社AndGo
原 利英 AndGo, Inc.
暗号通貨輪読会#15
[enigma.co]
自己紹介
株式会社AndGo代表取締役 原 利英,博士(理学)
 2010年3月 東京理科大学理工学研究科情報科学専攻博士後期課程卒業
 2010年4月 - 2015年3月 東京理科大学理工学部情報科学科助教
 2015年4月 - 2017年4月 アクテイブ株式会社 IT研究所主任研究員
 2017年4月 株式会社AndGo創業
著書:数理物理と数理情報の基礎 , 近代科学社, 2016.
SNS:
専門:
電子工作
天空の城ラピュタ
ドラゴンボール
東芝J3100 (白黒液晶)
QBasic, Delphi
Doom, Quake, Unreal
小学生 中学生・高校生
ゲノム解析手法
塾教師/がん研究会
アーチェリー
github/toshihr@ToshihideHara
大学生
Genome Analysis /
Drug Delivery System /
Chaos / Crypto
研究職
暗号と出会う ゲノムは暗号!
・高精度アライメント法
・AESより速い暗号化法
・暗号化したまま比べる技術
つくってます
なぜEnigmaをチョイス?
・秘匿計算、完全準同型暗号の応用に興味がある
・Enigmaは制限付き完全準同型暗号(somewhat homomorphic encryption)を使って
いると聞いた
・(制限付き)完全 準同型暗号はまだ研究段階の技術で実用化できるほど効率が良いと
は思っていなかった
- 2009年、完全準同型暗号が初めてGentryにより提案された
- 当初は暗号化すると1bitがGB級に膨れ上がった
Enigma: Decentralized Computation Platform with Guaranteed Privacy
Paper: https://www.enigma.co/enigma_full.pdf
Authors: Guy Zyskind, Oz Nathan, Alex ’Sandy’ Pentland
CEO
歴史
2015/6 Enigmaを発表
2015/8/14 創業
2016/9/2 $800Kの投資をうける
2017/7 最初のEnigmaアプリケーションとして、Catalyst (データ
のマーケットプレイス) α版を公開
2017/8/21 公式ウェブサイト、スラック、メールマガジンがハッキン
グされる
2017/9 Catalystをクラウドセール
Abstract (p.1)
A peer-to-peer network, enabling different parties to jointly store and run computations on data while
keeping the data completely private. Enigma’s computational model is based on a highly optimized
version of secure multi-party computation, guaranteed by a verifiable secret-sharing scheme. For storage,
we use a modified distributed hashtable for holding secret-shared data. An external blockchain is utilized
as the controller of the network, manages access control, identities and serves as a tamper-proof log of
events. Security deposits and fees incentivize operation, correctness and fairness of the system. Similar
to Bitcoin, Enigma removes the need for a trusted third party, enabling autonomous control of personal
data. For the first time, users are able to share their data with cryptographic guarantees regarding their
privacy.
計算モデル: セキュアマルチパーティ計算
ストレージ: 分散ハッシュテーブル
外部ブロックチェーン : アクセスコントロール、改ざんできないログ
・ビットコインと同様に非中央集権的
・暗号学的にプライバシーを確保したデータ共有を実現する
Motivation (p.1)
・中央集権でよかった時代の話
・中央集権には弊害がでてきたという話
・Bitcoin/Blockchainが非中央集権というコンセプトとともにでてきた話
The intense verification and public nature of the blockchain limits potential use cases, however. Modern
applications use huge amounts of data, and run extensive analysis on that data. This restriction means
that only fiduciary code can run on the blockchain [7]. The problem is, much of the most sensitive parts of
modern applications require heavy processing on private data. In their current design, blockchains cannot
handle privacy at all. Furthermore, they are not well-suited for heavy computations. Their public nature
means private data would flow through every full node on the blockchain, fully exposed.
でも、ブロックチェーンはプライバシーを扱うのは苦手。また、大規模計算にも向かない。
プライベートデータが全てのノードに流れてしまう。
There is a strange contradiction in this setup. The most sensitive, private data can
only be stored and processed in the centralized, less transparent and insecure
model. We have seen this paradigm lead to catastrophic data leaks and the
systematic lack of privacy we are currently forced to accept in our online lives.
大事なデータは中央集権的に扱われているよね、と。
透明性とセキュリティに問題があることを目撃してきたよね。
Enigma (p.2)
Enigma is a decentralized computation platform with guaranteed privacy. Our goal is to enable developers
to build ’privacy by design’, end-to-end decentralized applications, without a trusted third party.
Enigma is private. Using secure multi-party computation (sMPC or MPC), data queries are computed in
a distributed way, without a trusted third party.
Enigma is scalable. Unlike blockchains, computations and data storage are not replicated by every node
in the network. Only a small subset perform each computation over different parts of the data.
The key new utility Enigma brings to the table is the ability to run computations on data, without having
access to the raw data itself.
Enigmaは秘匿分散コンピューティングプラットフォーム
・セキュアマルチパーティ計算 (sMPC)
・ブロックチェーンと違い、計算とデータストレージはバラバラに分割されノードに配置される
3 Design overview (p.2)
Enigma is designed to connect to an existing blockchain and off-load private and intensive computations
to an off-chain network. All transactions are facilitated by the blockchain, which enforces access-control
based on digital signatures and programmable permissions.
Code is executed both on the blockchain (public parts) and on Enigma (private or computationally
intensive parts). Enigma’s execution ensures both privacy and correctness, whereas a blockchain alone
can only ensure the latter. Proofs of correct execution are stored on the blockchain and can be audited.
We supply a scripting language for designing end-to-end decentralized applications using private
contracts, which are a more powerful variation of smart contracts that can handle private information (i.e.,
their state is not strictly public).
・Enigmaは既存のブロックチェーンとプライベートネットワークとで構成される
・Enigmaではプライバシーと正しさが保証される(ブロックチェーンは後者だけ)
・private contractを提供する(stateはpublicでない)
The scripting language is also turing-complete, but this is not as important as its scalability. Code
execution in blockchains is decentralized but not distributed, so every node redundantly executes the
same code and maintains the same public state. In Enigma, the computational work is efficiently
distributed across the network. An interpreter breaks down the execution of a private contract, as is
illustrated in Figure 1, resulting in improved run-time, while maintaining both privacy and verifiability.
・Enigmaでは計算は分散処理される (同じ処理が並列で走るわけではない )
The off-chain network solves the following issues that blockchain technology alone cannot
handle:
1. Storage. Blockchains are not general-purpose databases. Enigma has a decentralized offchain
distributed hash-table (or DHT) that is accessible through the blockchain, which stores references to the
data but not the data themselves. Private data should be encrypted on the client-side before storage and
access-control protocols are programmed into the blockchain. Enigma provides simple APIs for these
tasks in the scripting language.
・Enigmaでは分散型のオフチェインハッシュテーブル( DHT)としてストレージを持つ
・ブロックチェーンには DHT上のデータへのハッシュだけが格納される
・データはクライアント側で暗号化し格納される
・アクセスコントロール関係はブロックチェーン上で処理
2. Privacy-enforcing computation. Enigma’s network can execute code without leaking the raw data to
any of the nodes, while ensuring correct execution. This is key in replacing current centralized solutions
and trusted overlay networks that process sensitive business logic in a way that negates the benefits of a
blockchain. The computational model is described in detail in section 5.
3. Heavy processing. Even when privacy is not a concern, the blockchain cannot scale to clearing many
complex transactions. The same off-chain computational network is used to run heavy publicly verifiable
computations that are broadcast through the blockchain.
・計算内容がノードに漏れることはない
・オフチェーン処理するからスケールするよ
4 Off-chain storage (p.3)
Off-chain nodes construct a distributed database. Each node has a distinct view of shares and encrypted
data so that the computation process is guaranteed to be privacy-preserving and fault tolerant. It is also
possible to store large public data (e.g., files) unencrypted and link them to the blockchain. Figure 2
illustrates the database view of a single node.
On a network level, the distributed storage is based on a modified Kademlia DHT protocol [11] with added
persistence and secure point-to-point channels, simulated using a broadcast channel and public-key
encryption. This protocol assists in distributing the shares in an efficient manner. When storing shares, the
original Kademlia distance metric is modified to take into account the preferential probability of a node.
・ノードにはshares, encrypted data, public dataが保存される
・改良版Kademlia DHT protocolを利用している
5 Privacy-enforcing computation (p.4)
In this section, we describe Enigma’s computational model. We begin with a brief introduction to publicly
verifiable secure MPC based on state-of-the-art advances in cryptography. Then, we describe a series of
performance improvements to secure MPC that makes the technology practical even when the network is
large: hierarchical secure MPC, network reduction and adaptable circuits. To use Enigma, developers
write high-level code, where public parts are executed on the blockchain and private parts are run
off-chain, on Enigma’s platform. We call these private contracts, since they are smart contracts that can
handle private information.
・検証可能なセキュア MPCについて話すよ
・改善について話すよ : 階層的セキュアMPC, ネットワーク削減, 適応可能な回路
・publicな部分はブロックチェーンで、 privateな部分はオフチェインで実行される
5.1.1 Privacy (passive adversaries) (p.4)
Yao introduced the first solution to secure two-party computation protocols in 1982 [12]. In the same
paper, Yao suggested the popular millionaire problem, describing two millionaires interested in knowing
which one of them is richer, without revealing their actual net worth. In the decades since, the two-party
problem has been generalized to MPC, which refers to the n-party case. For generalpurpose MPC, in
which every protocol could be composed from a circuit of elementary MPC gates, two major approaches
have been developed over the years: Yao’s garbaled (boolean) circuits [13] and MPC based on secret
sharing. The latter has been more commonly used in production systems (e.g., [14] and [15]) and is our
focus as well.
・Yaoが1982年に、セキュアな二者間計算法を初めて導入した
・ミリオネア問題: ふたりの億万長者が総資産額を明らかにせずに、どちらの方が金持ちかを知れるか、とい
う問題
・n者間MPCに拡張された
・汎用MPCは基礎MPCゲートを組み合わせて構築できる。大きく2つの方法がある。
・Yaoのガルバール(ブール)回路と秘密分散に基づく MPC。Enigmaは後者を利用。
A threshold cryptosystem is defined by (t + 1, n) − threshold, where n is the number of parties and t + 1 is
the minimal number of parties required to decrypt a secret encrypted with threshold encryption. Secret
sharing is an example of a threshold cryptosystem, where a secret s is divided among n, s.t. at least t+1
are required to reconstruct s. Any subset of t parties cannot learn anything about the secret. A linear
secret-sharing scheme (or LSSS) partitions a secret to shares such that the shares are a linear
combination of the secret. Shamir’s secret sharing (or SSS) is an example of a LSSS, which uses
polynomial interpolation and is secure under a finite field Fp [16].
・threshold cryptosystem: (t + 1, n) - threshold: n個のうちt + 1個のパーツが集まれば復号できる
・秘密分散(secret sharing)はthreshold cryptosystemの一例
・秘密情報sはn分割されており、sを復元するには少なくとも t + 1個のパーツが必要
・t個のパーツだけでは秘密情報に関することは一切わからない
・SSSはLSSSの一例
・ShamirはRSAのS
・多項式補完(plynomial interpolation): データ群を通る多項式を見つけること
・有限体(finite field)
Adi Shamir
研究[編集]
RSA暗号以外にもシャミアの暗号関連の業績として以下のものが挙げられる。
● シャミアの秘密分散法 (英語版)
● Merkle-Hellmanナップサック暗号の解読
● 視覚暗号(英語版)
● TWIRL(英語版)、TWINKLE(en:TWINKLE)(素因数分解デバイス)
● ブロック暗号を解読するための差分解読法(Eli Biham との共同研究)。なお、差分解読法の手法は
1970年代(DES設計時)に既知であったことが後に明らかになった( IBM[1]
とNSA[2]
がこれを機密扱い
にしていた)。
暗号関連以外の計算機科学分野での貢献として、以下のものがある。
● 2SAT(充足可能性問題)を解く初の線形時間アルゴリズムの考案 [3]
。
● 計算複雑性理論の PSPACE と IP(英語版) が等価であることを示した。 [wikipedia]
群・環・体
[http://zellij.hatenablog.com/entry/20121211/p1]
有限体(finite field)
・ガロア体ともいう
・有限個の元からなる体のこと
・mod pは有限体を構成する
[wikipedia]
Shamirの秘密分散法
(t + 1, n)閾値法
1. 秘密情報をn個に分割する(分割したものをshareという)
2. そのうちt + 1個を使えば秘密情報を復元できる
3. t個以下だと秘密情報が復元できない
[https://mathtrain.jp/shamir]
2点を通る1次式は1つ
3点を通る2次式は1つ
4点を通る3次式は1つ
…
t + 1点を通るt次式は1つ
※ 実際は有限体ベースの多項式を考えるため、図はあくまでイメージ
よくsecretをsplitしてsharesに
すると表現されるが、データ量
はt+1倍
表記がキモい
shareの表記
SSSは線形写像。線形写像は加法準同型 (additively homomorphic)写像の一種。
t + 1個のshareのc倍の集合
同型と準同型
準同型写像
写像f: G -> G’ が群Gの元x, yに作用するとき、f(xy) = f(x)f(y)を満たすとき、fを準同型写像という。
・単位元や逆元はそれぞれ単位元や逆元に移される
・移された先の群でも、元同士の演算は閉じている
・つまり、準同型写像は「群の構造を保存する写像」
・演算が+のとき、加法準同型(additively homomorphic)
同型写像
単射でもあり全射でもある写像を同型写像という。
Multiplication of two secrets s1 and s2 is somewhat more involved. If each party would attempt to locally
compute the product of two secrets, they would collectively obtain a polynomial of degree 2t, requiring a
polynomial reduction step (2t → t). For an information theoretic setting, this result adds an honest majority
constraint (i.e., t < n/2 ) on privacy and correctness. If we bound the adversary’s computational power,
both properties are assured for any number of corrupted parties, but fairness and deciding on an output
still requires an honest majority [17].
As to performance, a re-sharing step is required in the degree reduction step, implying all parties must
interact with all other parties (O(n^2 ) communications). This makes MPC impractical for anything larger
than a small constant number of parties n. While optimized solutions exist for improving the amortized
complexity, they are based on assumptions that restrict functionality in practice. Conversely, we describe
a generic solution to this problem for any functionality in Section 5.2, which makes secure MPC feasible
for arbitrarily large networks.
積は大変。計算量O(n^2)なので、n者間MPCにおいてnは大きくできない。5.2章で効率を考える。
5.1.2 Correctness (malicious adversaries) (p.5)
・計算結果が正しいことを保証するのは難しいよ
計算エラーとか悪意ある参加者がいる場合とか。。。
Very recently, Baum et al. developed a publicly auditable secure MPC system that ensures correctness,
even when all computing nodes are covertly malicious, or all but a single node are actively malicious [18].
Their state-of-the-art results are based on a variation of SPDZ (pronounced speedz) [19] and depend on a
public append-only bulletin board, which stores the trail of each computation. This allows any auditing
party to check the output is correct by comparing it to the public ledger’s trail of proofs. Our system uses
the blockchain as the bulletin board, thus our overall security is reduced to that of the hosting blockchain.
・公に監査可能なMPCシステム方法をBaumらが考えた。SPDZを元にしている。
・maliciousとは?改ざん、計算エラー的な意味?計算主体は信用できなくていいの?
・Enigmaの人たちはこの方法をブロックチェーン上に載せた
2014年
完全準同型(FHE)と制限付き完全準同型(SHE)
・暗号屋の用語
・数学的には環準同型(空間内で和と積の計算ができる)
・SHE: 計算回数に制限があるが、制限内ではFully Homomorphic Encryiption (FHE)
・計算するごとにノイズがたまる
・ノイズが少ないときは正しく計算できる
・FHEはこのノイズを消去することで実現可能( 2009年Gentryが導出)
Enigma > Baumらによる監査可能sMPC > DamgårdらによるSPDZ (DLP問題をも
とにしたSHE)
・SHEを用いて共有乱数値をオフライン(前処理)で生成
・その後、オンラインで処理
・MAC?表記??
・なるほど、わからん。引用論文読まないと。。。
前に定義したshareと、そのMAC
のshare表現とのペア
・積算はもっと大変だよ
・SHEに基づいた重い計算だよ
・SPDZの論文、論文[18]を読もう
・a,b,c=abが事前にshareとしてばらま
かれている
・このa,b,cのshareを用いてsのshare
を計算できる
・まとめると、<・>-sharingはSSS (secret-sharing scheme)とほぼ同じ
・加法準同型で、積については計算量 O(n^2)の再共有ラウンドが必要
・最大n - 1までの敵対的活動に耐性あり (生情報が漏れないということ? )
・オフラインの計算は物量作戦・分割作戦で処理できるので全体への影響はない
・公に検証可能な場合、 MACsとコミットメントはブロックチェーンに記録されているからセキュア
 → 改ざんに気づけるよ
・[[・]] - sharingを導入する。ノードは <・> - shareに対し計算するだけでよくコミットメント上での計算は必要ない
5.2 Hierarchical secure MPC (p.6)
Cohen et al [20] recently proposed a method of simulating an n-party secure protocol using a log depth
formula of constant-size MPC gates, as illustrated in Figure 3. We extend their result to LSSS and are
able to reduce the communication-complexity of multiplication from quadratic to linear, at the cost of
increased computation complexity, which is parallelized. Figure 4 illustrates how vanilla MPC is limited by
the number of parties, while our implementation scales up to arbitrarily large networks.
・n-party sMPCは例えば3-party sMPCを沢山つかってシミュレート
できるよ
・図ではn=9を3-party sMPCを使って2段で構成している
・積の計算コストを2次から1次に減らせるよ(並列計算!)
・並列可能な規模をごまかしている気がする・・・
・図4ではそもそもquadraticな限界を示していない
5.3 Network reduction (p.7)
To maximize the computational power of the network, we introduce a network reduction technique, where
a random subset of the entire network is selected to perform a computation. The random process
preferentially selects nodes based on load-balancing requirements and accumulated reputation, as is
measured by their publicly validated actions. This ensures that the network is fully utilized at any given
point.
・ネットワーク全体からランダムに選んだサブセットが計算を実行するよ
・ランダムとはいいつつ経験値(評判)に基づいて選択する
・経験値自体の信用担保は?(言及されてないが、ブロックチェーン的な意味で担保?)
5.4 Adaptable circuits (p.7)
Code evaluated in our system is guaranteed not to leak any information unless a dishonest majority
colludes (t ≥ n/2). This is true for the inputs, as well as any interim variables computed while the code is
evaluated. An observant reader would notice that as a function is evaluated from inputs to outputs, the
interim results generally become less descriptive and more aggregative. For simple functions or functions
involving very few inputs, this may not hold true, but since these functions are fast to compute - no
additional steps are needed. However, for computationally expensive functions, involving many lines of
code and a large number of inputs, we can dynamically reduce the number computing nodes as we
progress, instead of having a fixed n for the entire function evaluation process. Specifically, we design a
feed-forward network (Figure 5) that propagates results from inputs to outputs. The original code is
reorganized so that we process addition gates on the inputs first, followed by processing multiplication
gates. The interim results are then secret-shared with N/c nodes, and the process is repeated recursively.
・半数以上が結託しないかぎりシステムが情報を漏らすことはない( malliciousとはdishonestのこと??)
・コンパイル時最適化で並列処理させるよ、と
・アルゴリズムについては何もいってない・・・
5.5 Scripting (p.7)
As previously mentioned, end-to-end decentralized apps are developed using private contracts, which are
further partitioned to on-chain and off-chain execution. Off-chain code returns results privately, while
sending correctness proofs to the blockchain. For simplicity, the scripting language is similar in syntax to
well-known programming languages. There are two major additions to the scripting language that require
more detail.
5.6 Private data types (5.5 Scriptingに付随する説明)
・privateキーワードでセキュアでプライベートな変数となることを保証する
・オフチェインコードは結果を秘密にしたまま返す
5.7 Data access (5.5 Scriptingに付随する説明) (p.8)
1. Public Ledger
ブロックチェーン上の公開されたデータベース
追記と参照しかできない
2. DHT
オフチェインデータを格納するローカルな分散データベース
データは送信前に暗号化され、ここに格納される
3. MPC
アクセス権限管理版DHT
6 Blockchain interoperability (p.8)
・ブロックチェーンとの相互運用について説明する
・電子署名を使ってアイデンティティの管理をする
6.1 Identity management
・meta-dataというアイデアを使ってShared Identitiesを定義するよ
数あわないけど...
グループ的な何か?
6.2 Link protocols (p.9)
・ブロックチェーンからオフチェインへのリンクプロトコルを説明
・説明が適当すぎて理解できないです・・・
・ソースコード見た方が早そうだけど、ソースコード非公開っぽい
7 Incentives (p.12)
Since Enigma is not a cryptocurrency or a blockchain, the incentive scheme is based on fees rather than
mining rewards, where nodes are compensated for providing computational resources. Full nodes are
required to provide a security deposit, making malicious behaviour punishable.
7.1 Security Deposits
7.2 Computation Fees
7.3 Storage Fees
・インセンティブスキームは手数料ベースで設計されている(マイニング報酬ではない)
・ノードは計算を始めるにあたりデポジットを private contractに預ける
・悪いことをするとデポジットが回収され、他のまともなノードに分配される
・Computation FeesはEthereumのGas的な固定料金制
・Storage Feesはマーケットベースで時間制限あり。お金足りないといつか消される。
8 Applications (p.12)
・いろいろ応用できるよ
8.1 Data Marketplace
Direct consumer to business marketplace for data. With guaranteed privacy, autonomous control and
increased security, consumers will sell access to their data. For example, a pharmaceutical company
looking for patients for clinical trials can scan genomic databases for candidates. The marketplace would
eliminate tremendous amounts of friction, lower costs for customer acquisition and offer a new income
stream for consumers.
・直接消費者がデータへのアクセス権を売れる。
・例えば、臨床試験のための患者を探している製薬会社は、候補者ゲノムデータベースから検索できる
・顧客獲得コストを削減できる
・消費者に新たな収入源ができる
まとめ
感想
・Enigma自身のオリジナルな部分って?最適化?
・WPだけでは表記の説明、アルゴリズムの説明が足りず、理解が進まない
・数理、アルゴリズムを精査している記事、論文等を見つけられず、消化不良
・一番知りたかったことはSPDZ論文と論文18, 19に書いてあることがわかった
・データに対しプライバシーを犠牲にせずに計算処理を施せるところがうれしい。一番の
強み。速度は現実的であればよい、という理解。
疑問
1.private contractを分散処理する流れがよく分からない
実行時にネットワークにばらまくとすると、ネットワーク構造も動的?最適化めちゃくちゃ難しそう
2.SHEだけじゃだめなの?Secret Sharingは必要?
秘匿計算だけならSHEで十分。分散させるのはスケールのため?
分散しないといけないほど大規模な処理の場合、本提案手法でもお手上げなのでは?
3.public blockchainに載せなくても、チェックサム程度でよくない?
private chain上での計算を想定する時点で計算ノードは信用できるのでは
References
カナゴールドさんによる日本語訳 -
http://kanagold.hatenadiary.jp/entry/2018/01/14/002004
宮本丈さんによるEnigmaの解説 -
https://www.slideshare.net/JyouMiyamoto/enigma-68319675
完全準同型暗号の解説 - https://www.slideshare.net/herumi/ss-59758244
準同型の説明 - http://proofcafe.org/k27c8/math/math/group/page/isomorphism_and_homomorphism
Appendix: 秘匿計算をやっているところ
・2017年3月 筑波大学・JST 「数値・順序・離散データを暗号化したまま統計解析する実用的秘密計算手法を開
発」
http://www.jst.go.jp/pr/announce/20170301/index.html
・2016年3月 日立「暗号化したまま秘匿化する。暗号化したまま一致比較ができる技術を開発」
http://tech.nikkeibp.co.jp/it/atcl/news/16/030900726/?rt=nocnt
・2016年2月 富士通研究所「世界初、複数組織のデータを異なる鍵で暗号化したまま照合可能な暗号技術を開
発」
http://pr.fujitsu.com/jp/news/2016/02/15.html
・2016年1月 NICT「暗号化したままデータを分類できるビッグデータ向け解析技術を開発」
http://www.nict.go.jp/press/2016/01/14-1.html
・2014年1月 富士通研究所「暗号化したまま検索が可能な秘匿検索技術を開発」
http://pr.fujitsu.com/jp/news/2014/01/15.html
・2013年8月 富士通研究所「暗号化したまま処理をする研究・生体認証の研究」
http://pr.fujitsu.com/jp/news/2013/08/28.html
・産総研「プライバシー保護データベース検索技術」
https://www.risec.aist.go.jp/project/dbscoop-ja.html
・@herumi (Qiita) 「加法準同型暗号を用いて暗号化したまま画像のエッジ検出をする」
https://qiita.com/herumi/items/10a7179d2d9e65c34b75
・AndGo, Inc. 「暗号化したまま比べる計算(内積計算)を超高速・超コンパクトに行える手法」
非公開

More Related Content

Similar to Enigma

2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットと SNS上での構築とその課題
2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットとSNS上での構築とその課題2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットとSNS上での構築とその課題
2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットと SNS上での構築とその課題Ruo Ando
 
ブロックチェーン技術の課題と社会応用
ブロックチェーン技術の課題と社会応用ブロックチェーン技術の課題と社会応用
ブロックチェーン技術の課題と社会応用
Yuto Takei
 
IETF94 IoT関連WG報告
IETF94 IoT関連WG報告IETF94 IoT関連WG報告
IETF94 IoT関連WG報告
Shoichi Sakane
 
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoSoftware for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Shohei Hido
 
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
KenzoOkuda
 
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
KAYATO SAITO
 
CCGrid2012 参加報告
CCGrid2012 参加報告CCGrid2012 参加報告
CCGrid2012 参加報告
Nobukazu Yoshioka
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性
Kenji Saito
 
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
blockchainexe
 
ブロックチェーン/分散台帳の技術基盤とHealthTech/InsurTechへの適用
ブロックチェーン/分散台帳の技術基盤とHealthTech/InsurTechへの適用ブロックチェーン/分散台帳の技術基盤とHealthTech/InsurTechへの適用
ブロックチェーン/分散台帳の技術基盤とHealthTech/InsurTechへの適用
Eiji Sasahara, Ph.D., MBA 笹原英司
 
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)
Wataru Fukatsu
 
テレコムのビッグデータ解析 & AI サイバーセキュリティ
テレコムのビッグデータ解析 & AI サイバーセキュリティテレコムのビッグデータ解析 & AI サイバーセキュリティ
テレコムのビッグデータ解析 & AI サイバーセキュリティ
NVIDIA Japan
 
相互接続におけるセキュリティ
相互接続におけるセキュリティ相互接続におけるセキュリティ
相互接続におけるセキュリティ
とうほぐモバイルミーティング
 
RICC update meet34
RICC update meet34RICC update meet34
RICC update meet34
Hiroki Kashiwazaki
 
[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる
Yuto Takei
 
Mk onic data-intensive-public
Mk onic data-intensive-publicMk onic data-intensive-public
Mk onic data-intensive-public
Miya Kohno
 
Mk onic data-intensive-public
Mk onic data-intensive-publicMk onic data-intensive-public
Mk onic data-intensive-public
Miya Kohno
 
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
CRI Japan, Inc.
 
P2P 技術と Cloud コンピューティングへの応用
P2P 技術と Cloud コンピューティングへの応用P2P 技術と Cloud コンピューティングへの応用
P2P 技術と Cloud コンピューティングへの応用
Leonardo Ken Orihara
 
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
Yuto Takei
 

Similar to Enigma (20)

2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットと SNS上での構築とその課題
2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットとSNS上での構築とその課題2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットとSNS上での構築とその課題
2013年度enPiT特設講義-iisec-2013-11-09-セキュアシステムのインターネットと SNS上での構築とその課題
 
ブロックチェーン技術の課題と社会応用
ブロックチェーン技術の課題と社会応用ブロックチェーン技術の課題と社会応用
ブロックチェーン技術の課題と社会応用
 
IETF94 IoT関連WG報告
IETF94 IoT関連WG報告IETF94 IoT関連WG報告
IETF94 IoT関連WG報告
 
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 TokyoSoftware for Edge Heavy Computing @ INTEROP 2016 Tokyo
Software for Edge Heavy Computing @ INTEROP 2016 Tokyo
 
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
キャリア網の完全なソフトウェア制御化への取り組み (沖縄オープンデイズ 2017) / Telecommunication Infrastructure ...
 
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
0からはじめるWeb3入門(WEB1.0 / WEB2.0 / BLOCKCHAIN / Bitcoin / Smart contract / DeFi ...
 
CCGrid2012 参加報告
CCGrid2012 参加報告CCGrid2012 参加報告
CCGrid2012 参加報告
 
ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性ブロックチェーン技術の基本と応用の可能性
ブロックチェーン技術の基本と応用の可能性
 
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
 
ブロックチェーン/分散台帳の技術基盤とHealthTech/InsurTechへの適用
ブロックチェーン/分散台帳の技術基盤とHealthTech/InsurTechへの適用ブロックチェーン/分散台帳の技術基盤とHealthTech/InsurTechへの適用
ブロックチェーン/分散台帳の技術基盤とHealthTech/InsurTechへの適用
 
Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)Orb dlt technical_overview(特許情報なし)
Orb dlt technical_overview(特許情報なし)
 
テレコムのビッグデータ解析 & AI サイバーセキュリティ
テレコムのビッグデータ解析 & AI サイバーセキュリティテレコムのビッグデータ解析 & AI サイバーセキュリティ
テレコムのビッグデータ解析 & AI サイバーセキュリティ
 
相互接続におけるセキュリティ
相互接続におけるセキュリティ相互接続におけるセキュリティ
相互接続におけるセキュリティ
 
RICC update meet34
RICC update meet34RICC update meet34
RICC update meet34
 
[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる
 
Mk onic data-intensive-public
Mk onic data-intensive-publicMk onic data-intensive-public
Mk onic data-intensive-public
 
Mk onic data-intensive-public
Mk onic data-intensive-publicMk onic data-intensive-public
Mk onic data-intensive-public
 
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
オープンソースからエンタープライズまで対応可能な新世代LoRaWANプラットフォーム"The Things Stack"とその活用事例
 
P2P 技術と Cloud コンピューティングへの応用
P2P 技術と Cloud コンピューティングへの応用P2P 技術と Cloud コンピューティングへの応用
P2P 技術と Cloud コンピューティングへの応用
 
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装MinChain – Bitcoin ライクな最小限のブロックチェーン実装
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
 

Recently uploaded

遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 

Recently uploaded (9)

遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 

Enigma

  • 2. 自己紹介 株式会社AndGo代表取締役 原 利英,博士(理学)  2010年3月 東京理科大学理工学研究科情報科学専攻博士後期課程卒業  2010年4月 - 2015年3月 東京理科大学理工学部情報科学科助教  2015年4月 - 2017年4月 アクテイブ株式会社 IT研究所主任研究員  2017年4月 株式会社AndGo創業 著書:数理物理と数理情報の基礎 , 近代科学社, 2016. SNS: 専門: 電子工作 天空の城ラピュタ ドラゴンボール 東芝J3100 (白黒液晶) QBasic, Delphi Doom, Quake, Unreal 小学生 中学生・高校生 ゲノム解析手法 塾教師/がん研究会 アーチェリー github/toshihr@ToshihideHara 大学生 Genome Analysis / Drug Delivery System / Chaos / Crypto 研究職 暗号と出会う ゲノムは暗号! ・高精度アライメント法 ・AESより速い暗号化法 ・暗号化したまま比べる技術
  • 4. なぜEnigmaをチョイス? ・秘匿計算、完全準同型暗号の応用に興味がある ・Enigmaは制限付き完全準同型暗号(somewhat homomorphic encryption)を使って いると聞いた ・(制限付き)完全 準同型暗号はまだ研究段階の技術で実用化できるほど効率が良いと は思っていなかった - 2009年、完全準同型暗号が初めてGentryにより提案された - 当初は暗号化すると1bitがGB級に膨れ上がった
  • 5. Enigma: Decentralized Computation Platform with Guaranteed Privacy Paper: https://www.enigma.co/enigma_full.pdf Authors: Guy Zyskind, Oz Nathan, Alex ’Sandy’ Pentland CEO
  • 6. 歴史 2015/6 Enigmaを発表 2015/8/14 創業 2016/9/2 $800Kの投資をうける 2017/7 最初のEnigmaアプリケーションとして、Catalyst (データ のマーケットプレイス) α版を公開 2017/8/21 公式ウェブサイト、スラック、メールマガジンがハッキン グされる 2017/9 Catalystをクラウドセール
  • 7. Abstract (p.1) A peer-to-peer network, enabling different parties to jointly store and run computations on data while keeping the data completely private. Enigma’s computational model is based on a highly optimized version of secure multi-party computation, guaranteed by a verifiable secret-sharing scheme. For storage, we use a modified distributed hashtable for holding secret-shared data. An external blockchain is utilized as the controller of the network, manages access control, identities and serves as a tamper-proof log of events. Security deposits and fees incentivize operation, correctness and fairness of the system. Similar to Bitcoin, Enigma removes the need for a trusted third party, enabling autonomous control of personal data. For the first time, users are able to share their data with cryptographic guarantees regarding their privacy. 計算モデル: セキュアマルチパーティ計算 ストレージ: 分散ハッシュテーブル 外部ブロックチェーン : アクセスコントロール、改ざんできないログ ・ビットコインと同様に非中央集権的 ・暗号学的にプライバシーを確保したデータ共有を実現する
  • 8. Motivation (p.1) ・中央集権でよかった時代の話 ・中央集権には弊害がでてきたという話 ・Bitcoin/Blockchainが非中央集権というコンセプトとともにでてきた話 The intense verification and public nature of the blockchain limits potential use cases, however. Modern applications use huge amounts of data, and run extensive analysis on that data. This restriction means that only fiduciary code can run on the blockchain [7]. The problem is, much of the most sensitive parts of modern applications require heavy processing on private data. In their current design, blockchains cannot handle privacy at all. Furthermore, they are not well-suited for heavy computations. Their public nature means private data would flow through every full node on the blockchain, fully exposed. でも、ブロックチェーンはプライバシーを扱うのは苦手。また、大規模計算にも向かない。 プライベートデータが全てのノードに流れてしまう。
  • 9. There is a strange contradiction in this setup. The most sensitive, private data can only be stored and processed in the centralized, less transparent and insecure model. We have seen this paradigm lead to catastrophic data leaks and the systematic lack of privacy we are currently forced to accept in our online lives. 大事なデータは中央集権的に扱われているよね、と。 透明性とセキュリティに問題があることを目撃してきたよね。
  • 10. Enigma (p.2) Enigma is a decentralized computation platform with guaranteed privacy. Our goal is to enable developers to build ’privacy by design’, end-to-end decentralized applications, without a trusted third party. Enigma is private. Using secure multi-party computation (sMPC or MPC), data queries are computed in a distributed way, without a trusted third party. Enigma is scalable. Unlike blockchains, computations and data storage are not replicated by every node in the network. Only a small subset perform each computation over different parts of the data. The key new utility Enigma brings to the table is the ability to run computations on data, without having access to the raw data itself. Enigmaは秘匿分散コンピューティングプラットフォーム ・セキュアマルチパーティ計算 (sMPC) ・ブロックチェーンと違い、計算とデータストレージはバラバラに分割されノードに配置される
  • 11. 3 Design overview (p.2) Enigma is designed to connect to an existing blockchain and off-load private and intensive computations to an off-chain network. All transactions are facilitated by the blockchain, which enforces access-control based on digital signatures and programmable permissions. Code is executed both on the blockchain (public parts) and on Enigma (private or computationally intensive parts). Enigma’s execution ensures both privacy and correctness, whereas a blockchain alone can only ensure the latter. Proofs of correct execution are stored on the blockchain and can be audited. We supply a scripting language for designing end-to-end decentralized applications using private contracts, which are a more powerful variation of smart contracts that can handle private information (i.e., their state is not strictly public). ・Enigmaは既存のブロックチェーンとプライベートネットワークとで構成される ・Enigmaではプライバシーと正しさが保証される(ブロックチェーンは後者だけ) ・private contractを提供する(stateはpublicでない)
  • 12. The scripting language is also turing-complete, but this is not as important as its scalability. Code execution in blockchains is decentralized but not distributed, so every node redundantly executes the same code and maintains the same public state. In Enigma, the computational work is efficiently distributed across the network. An interpreter breaks down the execution of a private contract, as is illustrated in Figure 1, resulting in improved run-time, while maintaining both privacy and verifiability. ・Enigmaでは計算は分散処理される (同じ処理が並列で走るわけではない )
  • 13. The off-chain network solves the following issues that blockchain technology alone cannot handle: 1. Storage. Blockchains are not general-purpose databases. Enigma has a decentralized offchain distributed hash-table (or DHT) that is accessible through the blockchain, which stores references to the data but not the data themselves. Private data should be encrypted on the client-side before storage and access-control protocols are programmed into the blockchain. Enigma provides simple APIs for these tasks in the scripting language. ・Enigmaでは分散型のオフチェインハッシュテーブル( DHT)としてストレージを持つ ・ブロックチェーンには DHT上のデータへのハッシュだけが格納される ・データはクライアント側で暗号化し格納される ・アクセスコントロール関係はブロックチェーン上で処理
  • 14. 2. Privacy-enforcing computation. Enigma’s network can execute code without leaking the raw data to any of the nodes, while ensuring correct execution. This is key in replacing current centralized solutions and trusted overlay networks that process sensitive business logic in a way that negates the benefits of a blockchain. The computational model is described in detail in section 5. 3. Heavy processing. Even when privacy is not a concern, the blockchain cannot scale to clearing many complex transactions. The same off-chain computational network is used to run heavy publicly verifiable computations that are broadcast through the blockchain. ・計算内容がノードに漏れることはない ・オフチェーン処理するからスケールするよ
  • 15. 4 Off-chain storage (p.3) Off-chain nodes construct a distributed database. Each node has a distinct view of shares and encrypted data so that the computation process is guaranteed to be privacy-preserving and fault tolerant. It is also possible to store large public data (e.g., files) unencrypted and link them to the blockchain. Figure 2 illustrates the database view of a single node. On a network level, the distributed storage is based on a modified Kademlia DHT protocol [11] with added persistence and secure point-to-point channels, simulated using a broadcast channel and public-key encryption. This protocol assists in distributing the shares in an efficient manner. When storing shares, the original Kademlia distance metric is modified to take into account the preferential probability of a node. ・ノードにはshares, encrypted data, public dataが保存される ・改良版Kademlia DHT protocolを利用している
  • 16. 5 Privacy-enforcing computation (p.4) In this section, we describe Enigma’s computational model. We begin with a brief introduction to publicly verifiable secure MPC based on state-of-the-art advances in cryptography. Then, we describe a series of performance improvements to secure MPC that makes the technology practical even when the network is large: hierarchical secure MPC, network reduction and adaptable circuits. To use Enigma, developers write high-level code, where public parts are executed on the blockchain and private parts are run off-chain, on Enigma’s platform. We call these private contracts, since they are smart contracts that can handle private information. ・検証可能なセキュア MPCについて話すよ ・改善について話すよ : 階層的セキュアMPC, ネットワーク削減, 適応可能な回路 ・publicな部分はブロックチェーンで、 privateな部分はオフチェインで実行される
  • 17. 5.1.1 Privacy (passive adversaries) (p.4) Yao introduced the first solution to secure two-party computation protocols in 1982 [12]. In the same paper, Yao suggested the popular millionaire problem, describing two millionaires interested in knowing which one of them is richer, without revealing their actual net worth. In the decades since, the two-party problem has been generalized to MPC, which refers to the n-party case. For generalpurpose MPC, in which every protocol could be composed from a circuit of elementary MPC gates, two major approaches have been developed over the years: Yao’s garbaled (boolean) circuits [13] and MPC based on secret sharing. The latter has been more commonly used in production systems (e.g., [14] and [15]) and is our focus as well. ・Yaoが1982年に、セキュアな二者間計算法を初めて導入した ・ミリオネア問題: ふたりの億万長者が総資産額を明らかにせずに、どちらの方が金持ちかを知れるか、とい う問題 ・n者間MPCに拡張された ・汎用MPCは基礎MPCゲートを組み合わせて構築できる。大きく2つの方法がある。 ・Yaoのガルバール(ブール)回路と秘密分散に基づく MPC。Enigmaは後者を利用。
  • 18. A threshold cryptosystem is defined by (t + 1, n) − threshold, where n is the number of parties and t + 1 is the minimal number of parties required to decrypt a secret encrypted with threshold encryption. Secret sharing is an example of a threshold cryptosystem, where a secret s is divided among n, s.t. at least t+1 are required to reconstruct s. Any subset of t parties cannot learn anything about the secret. A linear secret-sharing scheme (or LSSS) partitions a secret to shares such that the shares are a linear combination of the secret. Shamir’s secret sharing (or SSS) is an example of a LSSS, which uses polynomial interpolation and is secure under a finite field Fp [16]. ・threshold cryptosystem: (t + 1, n) - threshold: n個のうちt + 1個のパーツが集まれば復号できる ・秘密分散(secret sharing)はthreshold cryptosystemの一例 ・秘密情報sはn分割されており、sを復元するには少なくとも t + 1個のパーツが必要 ・t個のパーツだけでは秘密情報に関することは一切わからない ・SSSはLSSSの一例 ・ShamirはRSAのS ・多項式補完(plynomial interpolation): データ群を通る多項式を見つけること ・有限体(finite field)
  • 19. Adi Shamir 研究[編集] RSA暗号以外にもシャミアの暗号関連の業績として以下のものが挙げられる。 ● シャミアの秘密分散法 (英語版) ● Merkle-Hellmanナップサック暗号の解読 ● 視覚暗号(英語版) ● TWIRL(英語版)、TWINKLE(en:TWINKLE)(素因数分解デバイス) ● ブロック暗号を解読するための差分解読法(Eli Biham との共同研究)。なお、差分解読法の手法は 1970年代(DES設計時)に既知であったことが後に明らかになった( IBM[1] とNSA[2] がこれを機密扱い にしていた)。 暗号関連以外の計算機科学分野での貢献として、以下のものがある。 ● 2SAT(充足可能性問題)を解く初の線形時間アルゴリズムの考案 [3] 。 ● 計算複雑性理論の PSPACE と IP(英語版) が等価であることを示した。 [wikipedia]
  • 22. Shamirの秘密分散法 (t + 1, n)閾値法 1. 秘密情報をn個に分割する(分割したものをshareという) 2. そのうちt + 1個を使えば秘密情報を復元できる 3. t個以下だと秘密情報が復元できない [https://mathtrain.jp/shamir] 2点を通る1次式は1つ 3点を通る2次式は1つ 4点を通る3次式は1つ … t + 1点を通るt次式は1つ ※ 実際は有限体ベースの多項式を考えるため、図はあくまでイメージ よくsecretをsplitしてsharesに すると表現されるが、データ量 はt+1倍
  • 24. 同型と準同型 準同型写像 写像f: G -> G’ が群Gの元x, yに作用するとき、f(xy) = f(x)f(y)を満たすとき、fを準同型写像という。 ・単位元や逆元はそれぞれ単位元や逆元に移される ・移された先の群でも、元同士の演算は閉じている ・つまり、準同型写像は「群の構造を保存する写像」 ・演算が+のとき、加法準同型(additively homomorphic) 同型写像 単射でもあり全射でもある写像を同型写像という。
  • 25. Multiplication of two secrets s1 and s2 is somewhat more involved. If each party would attempt to locally compute the product of two secrets, they would collectively obtain a polynomial of degree 2t, requiring a polynomial reduction step (2t → t). For an information theoretic setting, this result adds an honest majority constraint (i.e., t < n/2 ) on privacy and correctness. If we bound the adversary’s computational power, both properties are assured for any number of corrupted parties, but fairness and deciding on an output still requires an honest majority [17]. As to performance, a re-sharing step is required in the degree reduction step, implying all parties must interact with all other parties (O(n^2 ) communications). This makes MPC impractical for anything larger than a small constant number of parties n. While optimized solutions exist for improving the amortized complexity, they are based on assumptions that restrict functionality in practice. Conversely, we describe a generic solution to this problem for any functionality in Section 5.2, which makes secure MPC feasible for arbitrarily large networks. 積は大変。計算量O(n^2)なので、n者間MPCにおいてnは大きくできない。5.2章で効率を考える。
  • 26. 5.1.2 Correctness (malicious adversaries) (p.5) ・計算結果が正しいことを保証するのは難しいよ 計算エラーとか悪意ある参加者がいる場合とか。。。 Very recently, Baum et al. developed a publicly auditable secure MPC system that ensures correctness, even when all computing nodes are covertly malicious, or all but a single node are actively malicious [18]. Their state-of-the-art results are based on a variation of SPDZ (pronounced speedz) [19] and depend on a public append-only bulletin board, which stores the trail of each computation. This allows any auditing party to check the output is correct by comparing it to the public ledger’s trail of proofs. Our system uses the blockchain as the bulletin board, thus our overall security is reduced to that of the hosting blockchain. ・公に監査可能なMPCシステム方法をBaumらが考えた。SPDZを元にしている。 ・maliciousとは?改ざん、計算エラー的な意味?計算主体は信用できなくていいの? ・Enigmaの人たちはこの方法をブロックチェーン上に載せた 2014年
  • 27. 完全準同型(FHE)と制限付き完全準同型(SHE) ・暗号屋の用語 ・数学的には環準同型(空間内で和と積の計算ができる) ・SHE: 計算回数に制限があるが、制限内ではFully Homomorphic Encryiption (FHE) ・計算するごとにノイズがたまる ・ノイズが少ないときは正しく計算できる ・FHEはこのノイズを消去することで実現可能( 2009年Gentryが導出) Enigma > Baumらによる監査可能sMPC > DamgårdらによるSPDZ (DLP問題をも とにしたSHE)
  • 30. ・まとめると、<・>-sharingはSSS (secret-sharing scheme)とほぼ同じ ・加法準同型で、積については計算量 O(n^2)の再共有ラウンドが必要 ・最大n - 1までの敵対的活動に耐性あり (生情報が漏れないということ? ) ・オフラインの計算は物量作戦・分割作戦で処理できるので全体への影響はない
  • 31. ・公に検証可能な場合、 MACsとコミットメントはブロックチェーンに記録されているからセキュア  → 改ざんに気づけるよ ・[[・]] - sharingを導入する。ノードは <・> - shareに対し計算するだけでよくコミットメント上での計算は必要ない
  • 32. 5.2 Hierarchical secure MPC (p.6) Cohen et al [20] recently proposed a method of simulating an n-party secure protocol using a log depth formula of constant-size MPC gates, as illustrated in Figure 3. We extend their result to LSSS and are able to reduce the communication-complexity of multiplication from quadratic to linear, at the cost of increased computation complexity, which is parallelized. Figure 4 illustrates how vanilla MPC is limited by the number of parties, while our implementation scales up to arbitrarily large networks. ・n-party sMPCは例えば3-party sMPCを沢山つかってシミュレート できるよ ・図ではn=9を3-party sMPCを使って2段で構成している ・積の計算コストを2次から1次に減らせるよ(並列計算!) ・並列可能な規模をごまかしている気がする・・・ ・図4ではそもそもquadraticな限界を示していない
  • 33. 5.3 Network reduction (p.7) To maximize the computational power of the network, we introduce a network reduction technique, where a random subset of the entire network is selected to perform a computation. The random process preferentially selects nodes based on load-balancing requirements and accumulated reputation, as is measured by their publicly validated actions. This ensures that the network is fully utilized at any given point. ・ネットワーク全体からランダムに選んだサブセットが計算を実行するよ ・ランダムとはいいつつ経験値(評判)に基づいて選択する ・経験値自体の信用担保は?(言及されてないが、ブロックチェーン的な意味で担保?)
  • 34. 5.4 Adaptable circuits (p.7) Code evaluated in our system is guaranteed not to leak any information unless a dishonest majority colludes (t ≥ n/2). This is true for the inputs, as well as any interim variables computed while the code is evaluated. An observant reader would notice that as a function is evaluated from inputs to outputs, the interim results generally become less descriptive and more aggregative. For simple functions or functions involving very few inputs, this may not hold true, but since these functions are fast to compute - no additional steps are needed. However, for computationally expensive functions, involving many lines of code and a large number of inputs, we can dynamically reduce the number computing nodes as we progress, instead of having a fixed n for the entire function evaluation process. Specifically, we design a feed-forward network (Figure 5) that propagates results from inputs to outputs. The original code is reorganized so that we process addition gates on the inputs first, followed by processing multiplication gates. The interim results are then secret-shared with N/c nodes, and the process is repeated recursively. ・半数以上が結託しないかぎりシステムが情報を漏らすことはない( malliciousとはdishonestのこと??) ・コンパイル時最適化で並列処理させるよ、と ・アルゴリズムについては何もいってない・・・
  • 35. 5.5 Scripting (p.7) As previously mentioned, end-to-end decentralized apps are developed using private contracts, which are further partitioned to on-chain and off-chain execution. Off-chain code returns results privately, while sending correctness proofs to the blockchain. For simplicity, the scripting language is similar in syntax to well-known programming languages. There are two major additions to the scripting language that require more detail. 5.6 Private data types (5.5 Scriptingに付随する説明) ・privateキーワードでセキュアでプライベートな変数となることを保証する ・オフチェインコードは結果を秘密にしたまま返す
  • 36. 5.7 Data access (5.5 Scriptingに付随する説明) (p.8) 1. Public Ledger ブロックチェーン上の公開されたデータベース 追記と参照しかできない 2. DHT オフチェインデータを格納するローカルな分散データベース データは送信前に暗号化され、ここに格納される 3. MPC アクセス権限管理版DHT
  • 37. 6 Blockchain interoperability (p.8) ・ブロックチェーンとの相互運用について説明する ・電子署名を使ってアイデンティティの管理をする 6.1 Identity management ・meta-dataというアイデアを使ってShared Identitiesを定義するよ 数あわないけど... グループ的な何か?
  • 38. 6.2 Link protocols (p.9) ・ブロックチェーンからオフチェインへのリンクプロトコルを説明 ・説明が適当すぎて理解できないです・・・ ・ソースコード見た方が早そうだけど、ソースコード非公開っぽい
  • 39. 7 Incentives (p.12) Since Enigma is not a cryptocurrency or a blockchain, the incentive scheme is based on fees rather than mining rewards, where nodes are compensated for providing computational resources. Full nodes are required to provide a security deposit, making malicious behaviour punishable. 7.1 Security Deposits 7.2 Computation Fees 7.3 Storage Fees ・インセンティブスキームは手数料ベースで設計されている(マイニング報酬ではない) ・ノードは計算を始めるにあたりデポジットを private contractに預ける ・悪いことをするとデポジットが回収され、他のまともなノードに分配される ・Computation FeesはEthereumのGas的な固定料金制 ・Storage Feesはマーケットベースで時間制限あり。お金足りないといつか消される。
  • 40. 8 Applications (p.12) ・いろいろ応用できるよ 8.1 Data Marketplace Direct consumer to business marketplace for data. With guaranteed privacy, autonomous control and increased security, consumers will sell access to their data. For example, a pharmaceutical company looking for patients for clinical trials can scan genomic databases for candidates. The marketplace would eliminate tremendous amounts of friction, lower costs for customer acquisition and offer a new income stream for consumers. ・直接消費者がデータへのアクセス権を売れる。 ・例えば、臨床試験のための患者を探している製薬会社は、候補者ゲノムデータベースから検索できる ・顧客獲得コストを削減できる ・消費者に新たな収入源ができる
  • 44. Appendix: 秘匿計算をやっているところ ・2017年3月 筑波大学・JST 「数値・順序・離散データを暗号化したまま統計解析する実用的秘密計算手法を開 発」 http://www.jst.go.jp/pr/announce/20170301/index.html ・2016年3月 日立「暗号化したまま秘匿化する。暗号化したまま一致比較ができる技術を開発」 http://tech.nikkeibp.co.jp/it/atcl/news/16/030900726/?rt=nocnt ・2016年2月 富士通研究所「世界初、複数組織のデータを異なる鍵で暗号化したまま照合可能な暗号技術を開 発」 http://pr.fujitsu.com/jp/news/2016/02/15.html ・2016年1月 NICT「暗号化したままデータを分類できるビッグデータ向け解析技術を開発」 http://www.nict.go.jp/press/2016/01/14-1.html
  • 45. ・2014年1月 富士通研究所「暗号化したまま検索が可能な秘匿検索技術を開発」 http://pr.fujitsu.com/jp/news/2014/01/15.html ・2013年8月 富士通研究所「暗号化したまま処理をする研究・生体認証の研究」 http://pr.fujitsu.com/jp/news/2013/08/28.html ・産総研「プライバシー保護データベース検索技術」 https://www.risec.aist.go.jp/project/dbscoop-ja.html ・@herumi (Qiita) 「加法準同型暗号を用いて暗号化したまま画像のエッジ検出をする」 https://qiita.com/herumi/items/10a7179d2d9e65c34b75 ・AndGo, Inc. 「暗号化したまま比べる計算(内積計算)を超高速・超コンパクトに行える手法」 非公開