ブロックチェーンにできること、できないこと

ブログに投稿した記事を転載します。

---

**今日の問題提起**
Q. ブロックチェーンは分散型合意形成アルゴリズムなのか？
Q. デジタルコンテンツの分野においてブロックチェーンが果たせる役割は？

---

今日はtatarou1986氏の「BitCoinとBlockChainにまつわる誤解ーそんなことはできない」という記事を取り上げます。

**BitCoinとBlockChainにまつわる誤解ーそんなことはできない**
[http://qiita.com/tatarou1986/items/9d994896795a4871dc37](http://qiita.com/tatarou1986/items/9d994896795a4871dc37)

## ブロックチェーンは分散型合意形成アルゴリズムなのか？

上の記事で

> BlockChainとはようは皆で合意（AさんがBさんにXを渡したという取引記録）を形成していく分散型合意形成アルゴリズムです

とありますが、本当にそうでしょうか？　検討してみましょう。

### ブロックチェーンは分散型なのか？

前の記事でBitcoinが分散型であるか否かについて書きましたが、これはブロックチェーンにも当て嵌まります。もう1度簡単に書きましょう。

ブロックチェーンが分散型であるか集中型であるかは、どの水準でブロックチェーンを見るかで変わってきます。

詳細については前の記事（[Bitcoinは分散型なのか？](http://nextblockchain.net/is-bitcoin-decentralized-2)）を見ていただきたいのですが、ブロックチェーンは、

* 組織的分散型の系（アルゴリズム）

であり、

* 論理的集中型の系（アルゴリズム）

です。

### ブロックチェーンは合意形成アルゴリズムなのか？

ブロックチェーンというのは、簡潔に言えば**ブロック木**（block tree）から何らかの**信用度**（trustworthiness）に基づいて**ブロックチェーン（blockchain）**を決定するアルゴリズムです。

信用度を計算するアルゴリズムとして**仕事証明**（proof of work: POW）を採用する場合、仕事証明における**累積難易度**（cumulative difficulty）がそのまま信用度となります。

ちなみに、ブロックチェーンには2つの意味があって、2つ上の段落で太字にしているブロックチェーンが1つ目の意味でのブロックチェーンで、正にブロックの連鎖です。そして、1つ目の意味でのブロックチェーンを決定するアルゴリズム全体自体もブロックチェーンと呼ばれます（あるいは、ブロックチェーン技術とか、ブロックチェーンアルゴリズムといった呼ばれ方をします）。この辺りは非常に紛らわしく、予てより初心者の理解を阻害し、誤解を与えかねない用語法になっていると思っているのですが（実際私も初めてブロックチェーンについて勉強したときには、「なんだこれ」と思いました）、定着してしまっているので今更どうしようもないですね・・・。

さて、ブロックチェーンは組織的分散型の系を前提としたものです。そして、複数の参加者が同じブロック木から同じブロックチェーンを決定するというのが正に合意形成です。

という訳で、ブロックチェーンは合意形成アルゴリズムであると考えて良いでしょう。

そして、この合意形成の仕組みがあるからこそ論理的集中型のアルゴリズムであるということでもあります。

## ブロックチェーンはデジタルコンテンツのコピー阻止機構として使えるか？

使えません。

しかし、ネット上ではこの点について誤解している人が多数いるようです。

> BlockChainのアルゴリズムはコピーを防ぐものじゃありません．
> BlockChainのネットワークから切り離してデータをコピーさえしちゃえばいくらでも複製を作って勝手に配布して楽しむことができます．

全くその通りです。コピー問題に対処するのはDRMの役目です。

> BitCoinだっていくらでも複製は作れるんです．勝手に自分でBitCoinを増やすことはいくらでもできます．ただ作っても，それを誰か（BitCoinネットワークに参加している多くの人々）に渡す際に「君は過去，このCoinを誰々に渡してるよね？コピーしてるね？不正してるね？」と拒否されるからやる意味が無いという話です．BitCoinのコピーをつくって自分のWallet内のCoinの数が増えても，それを誰かに渡せなければ全く意味がないのでやる価値がないというだけの話です．

全くその通りです。

> BitCoinの複製をつくって，システム外で配布するというのも全く意味がありません．BitCoinというものは，BitCoinのシステム内で配布（取引する）することでしか効力を発揮しません．BitCoinをBitCoinネットワーク外で配布するという行為は全く意味のない行為なのです．

これが正に通貨系が本質的に論理的集中型であるということです。

## ブロックチェーンはデジタルコンテンツの権利管理系として使えるか？

さて、ブロックチェーンとデジタルコンテンツに関する論点としてはコピー阻止機構の他に権利管理系があります。折角なのでこれについても検討しましょう。

デジタルコンテンツの権利管理系は版権管理系と利用権管理系に大別されます。

版権管理系はコンテンツを作る側が利用するものです。たとえば、あるコンテンツを制作した会社が別の会社にその権利を譲渡する場合などに使用します。

利用権管理系はコンテンツを消費する側が利用するものです。たとえば、コンテンツの利用権（消費する権利）を購入する場合や、購入したコンテンツの利用権を、自身はもう消費することがないため別の人に譲渡する場合などに使用します。

それぞれについて見ていきましょう。

### ブロックチェーンはデジタルコンテンツの版権管理系として使えるか？

使えます。

これに関しては特に大きな問題はないかと思います。勿論、実際に版権管理系を作ろうとしたら細かい問題は沢山出てくるかと思いますが、それらは決して解決不可能なものではないはずです。

### ブロックチェーンはデジタルコンテンツの利用権管理系として使えるか？

**使えます**。

しかし、単純にデジタルデータの利用権に関する取引をブロックチェーンに格納すれば良いという訳ではありません。

この点に関しては私は前（2014年3月）からTwitterに書いています（が、あまり見られていないような気がします・・・）。

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">「ビットコインの応用で、電子書籍を譲渡可能にするアルゴリズム（<a href="http://t.co/9xPh1NCrPv">http://t.co/9xPh1NCrPv</a>）」について質問をしたのだが、回答を得られなかったので、私の見解を書いておこうと思う。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443375593254440960">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">実は、この点に関しては２ちゃんねるでも誤解が広まっている（たとえば、これらのレス：<a href="http://t.co/brIEyg2qCM">http://t.co/brIEyg2qCM</a> <a href="http://t.co/jrvfRSEf5U">http://t.co/jrvfRSEf5U</a>）。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443376290930757634">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">「電子書籍を譲渡するにはどうすればいいのか？という問題を解決するのにビットコインのアルゴリズムが使えます」と書かれているが、それは不可能であると思われる。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443377141204267009">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">Bitcoinの根底にあるのは、あるモノ（＝「現物」）に対する所有権その他の権利を（分散的に）管理する仕組みであって、一般的には、「現物」そのものを管理する仕組みでは決してないのだ。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443377238914777088">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">これは不動産登記制度を考えてみれば理解しやすいのではないだろうか？</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443378122742706176">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">不動産登記制度とは、不動産に対する所有権、地上権、抵当権などの権利を管理する（より正確には、登記には対抗力、推定力、形式的確定力などの効力があるとされている）仕組みである。しかし、不動産登記制度が不動産そのものを管理している訳ではない。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443378309443776512">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">たとえば、土地を購入した場合には、その土地の所有権を取得した旨の登記を打てば、第三者に対抗することができるが、だからと言って、他人が自分の購入した土地を（不法に）使用できなくなる訳ではない。自分で適切な管理をしなければ、無断で使用される可能性はある。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443378965432922112">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">その場合には、勿論、所有権に基づく土地明渡請求を行うことができるし、正しく登記がされているのであれば、裁判になっても勝訴することができるだろう。しかし、逆に言えば、不動産そのものの管理について不動産登記制度が果たす役割というのは、それだけに過ぎないのである。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443379316202536960">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">Bitcoinなどの暗号貨幣の場合も基本的に同様であって、Bitcoin上で「現物」に対する権利を取得することと、「現物」を何らかの形で支配下に置くこととは同じではない。Bitcoinは一般的な「現物」に対して如何なる管理も行わない。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443380184633208832">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">「現物」の管理は自分で行わなければならない（著作物のようなものの場合は、「現物」の所有者と共に、著作権者が管理を行わなければならない）のだ。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443380323812794368">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">特に、デジタルコンテンツの場合はどうだろうか？ デジタルコンテンツの特徴は複製可能性である。デジタル著作権管理（DRM）などの機構によってデジタルコンテンツそのものが保護されていない限り、著作権者の管理を離れて、誰でも自由に幾らでも入手したデジタルデータを複製することができる。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443381053168680960">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">(7)ビットコイン技術を応用すると、デジタルコンテンツに鍵をかけて、その鍵を、お金の移動のように、売買が可能です。所有権は移転し、譲渡したひとは、もう二度とアクセスできなくなります。コピーではなく、デジタルコンテンツやデータを、現物にすることができます。</p>&mdash; 佐藤ヒロシ(※旧大石哲之） (@tyk97) <a href="https://twitter.com/tyk97/status/437841913668841473">2014, 2月 24</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">その鍵が公開されれば、誰でも自由に複製することができる。「所有権」は移動するが、譲渡した人は依然アクセスできる。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443382229113139200">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">では、何故暗号貨幣たるBitcoinは成立するのか？ それは、（暗号貨幣としての）Bitcoinは独立執行力を有する（self-enforcing）からである。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443382696694132736">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">Bitcoinが発行する暗号貨幣としてのBitcoinはBitcoinのシステムに内在するものであり、そのため、Bitcoinの所有権の管理と、Bitcoinそのものの管理が一致するのである。そのため、Bitcoinの譲渡は、Bitcoinのシステムのみによって、執行力を有する。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443383496325623808">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">しかしながら、一般的な有色貨幣（colored coin）や、電子財産（smart property）や、電子契約（smart contract）は独立執行力を有しない。すなわち、権利の管理と物件の管理が一致しない。このような場合には、物件の管理は別に行わなければならない。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443383944021417985">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">結局のところ、「電子書籍を譲渡可能にする」にはDRMのような機構が必要になるし、それを暗号貨幣システムの中で行おうと思えば、「独立執行力のある分散型DRM」を構築しなければならないだろう。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443384325766017024">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">しかし、完全なDRMは実現不可能である（数学的な証明が与えられているかは知らない。しかし、完全なコードの難読化が不可能であることは既に証明されているし（PDF：<a href="http://t.co/2Q6oIrT3Ot">http://t.co/2Q6oIrT3Ot</a>）、それよりは強い結論であるような気がするので、不可能な感じがする。）</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443384821683728385">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">と思われるし、電子貨幣のシステムの上に幾ら（完全ではないものの）強固なDRMを構築できたとしても、破られてしまえばどうにもならないのだから、実効性は余りないだろう。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443384998549143552">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">そもそもこのようなことが考えられるからこそ、47氏はコンテンツ流通の一形態として「デジタル証券によるコンテンツ流通システム（<a href="http://t.co/z0R5UiqUGZ">http://t.co/z0R5UiqUGZ</a>）」を考えるに至ったのだ。デジタルコンテンツの流通は本質的にコピーフリーであるべきなのである（おわり）。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/443385513970376704">2014, 3月 11</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

「デジタル証券によるコンテンツ流通システム」へのリンクが切れてしまっているので、正しいリンクを張っておきます。

**デジタル証券によるコンテンツ流通システム**
[http://www.geocities.co.jp/SiliconValley-SanJose/4431/htmlcache/Digikabu.html](http://www.geocities.co.jp/SiliconValley-SanJose/4431/htmlcache/Digikabu.html)

という訳で、私は2014年3月の時点では、ブロックチェーンをデジタルコンテンツの利用権管理系として使うことはできないと考えていました。

そして、「デジタルコンテンツの流通は本質的にコピーフリーであるべきなのである」と結論しました（この結論がtatarou1986氏の「DRMを解除して売れば良いと思います」という主張と同じなのは面白いですね）。

さて、しかしです。話はここで終わりませんでした。一度は不可能だと結論付けたのですが、何度か似たようなテーマを考えている内に、私は不可能という訳ではないということに気付きました。やりようはあったのです。

それが2014年6月でした。また当時のツイートを貼り付けます。

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">吉本佳生さん×西田宗千佳さんトークイベント（<a href="http://t.co/eSYDoSphfj">http://t.co/eSYDoSphfj</a>）を視聴したのだが。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475260847510396928">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">「例えば、音楽とか電子書籍を買ったときの著作権情報、これをBitcoinのような形で流通させると、どこかの電子書籍ストアだとかどっかの音楽事業者に紐付かないで、自分が買ったデータは真正のものですよというのを担保した形で流通させていくことができる。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475261099873292289">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">こういう仕組みというのは実は未だ実装されてないんですけども、こういった形で今のBitcoinの暗号通貨というのが持っているアーキテクチャの可能性を生かすことはできると思います」</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475261345563045888">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">という発言があった。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475261610588508160">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">これはどういった形での流通を想定しているのだろうか。多分コンテンツの使用権を流通させるという話だと思うが、それをやろうと思ったらコンテンツにアクセスできる回数に上限を設ける形になると思うのだが、例えば、「10回までしか見ることのできないコンテンツ」を欲しいと思う人がいるだろうか？</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475261944996179968">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">あ、でも、ある程度のBitcoinを所有している秘密鍵しか認めないという方法はあるのかな。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475272385533194240">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">コンテンツの使用権に結び付いている口座がxBTC以上保有している場合にしか、コンテンツの使用を認めない。これで秘密鍵の公開は阻止できそう。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475273394301050880">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">コンテンツの使用というよりは閲覧というべきか。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475273587876573185">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">仮に（コンテンツの価格に比較して）十分に高いBTCを基準とすれば、誰も公開したくなくなるし、仮に公開しても直ぐ誰かに使われるだろうな。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475274100894494721">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">あとは、multisigを使われるとややこしいことになりそうだから、multisig口座も無効にするべきなのかな。この辺はもう少し深く考えてみないと分からないな。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475276454008070144">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

<blockquote class="twitter-tweet" lang="ja"><p lang="ja" dir="ltr">結局は秘密鍵に別の価値あるものを結び付ければ良いのだな。そうすると、簡単にその秘密鍵を公開することはできなくなる。</p>&mdash; †≪論理的帰結≫ユミナ† (@pizyumi) <a href="https://twitter.com/pizyumi/status/475279308336820225">2014, 6月 7</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

さて、これでは分かりにくいかもしれませんので、具体例を考えましょう。

* ユミナはとあるブロックチェーン対応音楽配信業者からとある曲を聴く権利を購入した。

この設定で行きましょう。ブロックチェーン対応業者なのでユミナはこの曲を聴く権利をブロックチェーンを使って他人に譲渡することができます。

ユミナが曲を聴く権利を購入したときには何が行われるでしょうか？

1. ユミナは購入時に業者に対して自身のアドレス（自身が持っているある秘密鍵に対応するアドレス。アドレスはBitcoinのアドレスと同じようなものだと思ってください）を教えます。このアドレスを`A1`、秘密鍵を`Pr1`、対応する公開鍵を`Pu1`としましょう。

2. 業者はブロックチェーンを維持しているネットワークにユミナから教えてもらったアドレス`A1`に曲を聴く権利を設定する取引を放流します。

3. ユミナは取引が放流されたことを確認します。

4. 暫くすると、取引がブロックチェーンに格納されます。

5. ユミナは取引がブロックチェーンに格納されたことを確認します。十分な**確証度**（confirmation）になったら、ユミナは業者に代金を支払います。

6. 業者は代金を受け取ったらステータスを支払い済みとします（これでユミナは曲を聴くことができるようになります）。

こんな感じの流れになります。

ユミナが曲を聴きたくなったときには何が行われるでしょうか？

1. ユミナは業者の配信サーバに曲へのアクセスを要求する。

2. 業者は適当なメッセージをユミナに与える。

3. ユミナは業者から受け取ったメッセージを秘密鍵`Pr1`で暗号化し、公開鍵`Pu1`と共に送信する。

4. 業者は受け取った暗号化されたメッセージを受け取った公開鍵`Pu1`で復号化し、元のメッセージと一致することを確認する。また、ブロックチェーンを参照し、受け取った公開鍵`Pu1`に対応するアドレスである`A1`が曲を聴く権利を所有していることを確認する。確認できたら曲の（DRMで保護されている）データをユミナに送信する。

こんな感じの流れになります。

さて、ユミナが宮瀬未尋ちゃんに曲を聴く権利を譲渡する場合にはどうすれば良いでしょうか？

譲渡の場合はBTCの譲渡と同様にすれば良いだけです。

さて、ここまでの仕組みでコンテンツの利用権管理系は上手く動いているようにも見えます。

しかし、1つだけ致命的な問題が潜んでいます。

それは、<span style="font-size: 32px; color: red">秘密鍵の所有者が秘密鍵を公開してしまった場合</span>です。

秘密鍵はブロックチェーンでの権利の保有主体となっていると同時にコンテンツにアクセスするための正に鍵になっています。そのため、秘密鍵が公開されれば、<span style="font-size: 32px; color: red">誰でもその秘密鍵に結びついているコンテンツにアクセスできます</span>。

これは・・・致命的ですね。

さて、困った。どうすれば良いのでしょうか。

ここで問題なのは<span style="font-size: 32px; color: red">秘密鍵の所有者が秘密鍵を公開できる</span>という点です。

それならば、公開できなくすれば良い訳です。

でも、そんなことができる訳がないと思うかもしれません。確かに、完全に阻止することはできませんが、抑止することはできます。それも、<span style="font-size: 32px; color: red">ほぼ完全に抑止することができます</span>。

具体例で考えましょう。

上記のユミナが曲を聴きたくなったときに行われる手順を次のように変更します。

1. ユミナは業者の配信サーバに曲へのアクセスを要求する。

2. 業者は適当なメッセージをユミナに与える。

3. ユミナは業者から受け取ったメッセージを秘密鍵`Pr1`で暗号化し、公開鍵`Pu1`と共に送信する。

4. 業者は受け取った暗号化されたメッセージを受け取った公開鍵`Pu1`で復号化し、元のメッセージと一致することを確認する。また、ブロックチェーンを参照し、受け取った公開鍵`Pu1`に対応するアドレスである`A1`が曲を聴く権利<span style="font-size: 32px; color: red">及び10BTC</span>を所有していることを確認する。確認できたら曲の（DRMで保護されている）データをユミナに送信する。

つまり、<span style="font-size: 32px; color: red">曲を聴くためには口座に曲を聴く権利だけでなく10BTCが入っていなければなりません</span>。

別に10BTCである必要はないのですが、要は十分に高い金額のものを口座に置いておくことを要求するのです。

この場合に、曲を聴く権利のみを所有している口座の秘密鍵を公開したらどうなるでしょうか？

曲を聴く権利のみがあっても曲にはアクセスできないため意味がありません。

この場合、秘密鍵を公開して実際に曲にアクセスできるようにするには10BTCもその口座に入れて公開しなければなりません。

この時点で誰でも曲にアクセスできる状態で（10BTCを入れて）秘密鍵を公開する人はほぼいなくなると考えられます。何せ、10BTCも必要になるのですから。

とは言え、世の中には金があり余っていて使い道に困っている人がいるかもしれません。

曲を聴く権利と共に10BTCも所有している口座の秘密鍵が公開された場合はどうなるでしょうか？

この場合もあまり意味がありません。

何故なら、10BTCも口座に入っていたら誰かがほぼ確実に盗むだろうからです。Bitcoinには匿名性があります。注意深く盗めば罪に問われる可能性は極めて低いです。

という訳で、曲を聴く権利と共に10BTCも所有している口座の秘密鍵を公開しても、すぐに10BTCの方は盗まれてしまうでしょう。結果として、すぐに曲にはアクセスできなくなります。

曲を聴く権利が盗まれた場合は、コンテンツ提供側から見れば通常の譲渡と何ら変わりはありませんので特に問題はないです。

このようにすれば、ブロックチェーンをデジタルコンテンツの利用権管理系として使うことは可能です。

なお、デジタルコンテンツの利用権管理系については「暗号貨幣の応用」というページで纏めたこともありました（情報が分散し過ぎですね・・・）。

このページにはデジタルコンテンツの利用権管理系以外にも暗号通貨の応用として昔考えたものが幾つか掲載されていますので参考にしてください。

**暗号貨幣の応用**
[http://seesaawiki.jp/creacoin/d/%B0%C5%B9%E6%B2%DF%CA%BE%A4%CE%B1%FE%CD%D1](http://seesaawiki.jp/creacoin/d/%B0%C5%B9%E6%B2%DF%CA%BE%A4%CE%B1%FE%CD%D1)

## まいなんばー

> 国民全てのマイナンバーデータを保存するストレージを実現するアルゴリズムや，そのストレージに保存されているデータへの適切なアクセスコントロールを実現するというアルゴリズムはBlockChainとは全く別の独立した仕組みとして考えなければなりません．

全くその通りです。

> 素直にOracle買って中央サーバを永田町に置けば一瞬で解決できるのに，なぜ，わざわざBlockChainでP2Pテクノロジを導入しなければならないのでしょう？エンジニアリング的に全くナンセンスです．

これはちょっと違うかと思います。

中央サーバを置くとそこが単一障害点になってしまい、中央サーバがダウンすればサービス全体が使用不可になってしまいます。

勿論それで構わない場合も多いかと思いますが、それでは拙い場合には、何らかの形で単一障害点をなくさなければなりません。つまり、分散型にしなければなりません。

そして、**単一障害点をなくすためにブロックチェーンを利用する**ということはあり得ます。

ただし、単一障害点をなくすためにブロックチェーンを利用することがコスト的に理に適っているかは分かりません。システムの特性によってもコストは変わってくるでしょう（ブロックチェーンと分散データベースの双方に精通している専門家なら分かるかもしれません。私は分散データベースについてはあまり詳しくないので分かりません。問題提起しておきましょう）。

---

**今日の問題提起**
Q. 単一障害点をなくすという用途でブロックチェーンはコスト的に優れているのか？

---

アクセスコントロールに関してはどのようなシステムを想定するかで全然変わってくるので、そこを明確にしないで考えても仕方がないかと思います。

## ブロックチェーンが適切な選択である状況はまずない？

流石に「まずない」というのは私には言い過ぎに思えますが、案外ブロックチェーンの特性がぴったりと嵌まる応用というものはありません。

Bitcoinが世に出てから既に結構な年数が経過しています。もしブロックチェーンの特性がぴったりと嵌まるような応用が沢山あったなら、既にその幾つかは製品レベルにまで到達していても良いはずです。しかし、Bitcoinのような通貨系（通貨系というのは広い意味での通貨系で、たとえば、暗号株式を取引するものなども含みます。それらは本質的には同じものです）以外でブロックチェーンのキラーアプリは未だに出てきていません。

> BlockChainは複数の独立したコンピュータが協力して合意を形成するというアルゴリズムです．全てのコンピュータ（ピア）が平等で，特権的な権限を持つピアは一切存在しません．

別にブロックチェーンだからと言って特権的な権限を持つピアが存在してはならないということではありません。特権的な権限を持つピアを有するようなブロックチェーンシステムを構成することは可能です。

しかし、そのことに意味があるのかということが問題となります。

特権的な権限を持つということはシステムの参加者はそのピアを信用しなければならないということです。

それならば非効率的な分散化など最初から行わず、素直にクライアントサーバ型のシステムを構築すれば良いではないかということになってしまう訳です。

（その場合であっても、単一障害点をなくすためにブロックチェーンを利用するという選択肢は残っていることに注意してください）

> 一般論として，P2P，もっと言えば複数の独立したコンピュータが互いに協調して動作して，特権的なコンピュータが存在しない分散システム－は構築や運用がとても難しく，また利便性も下がります．

長年純粋P2P型のプログラムを書いてきた人間として同意します。

特にP2Pで合意形成を行うのは非常に難しいです。最適なアルゴリズムのプログラムを組めたとしても素直にクライアントサーバ型にしたものよりも効率が悪くなります（悪くなることが多いです）し、アルゴリズムが複雑になるためプログラミング技能の低い人間がプログラムを組めば更に効率の悪いものが出来上がります。場合によっては、複雑過ぎて完成まで辿り着くことさえできないかもしれません。

ブロックチェーンというのはかなり特殊なデータベースなのです。

ブロックチェーンはP2Pで合意形成を行わなければならないので複雑です。

ブロックチェーンは少なくともBitcoinのように互いに信用できない参加者の間で利用する場合には、非常に遅いです。現在の普通のシステムと比べると1万倍程度遅いという主張もあるようです（[The dawn of trustworthy computing](http://unenumerated.blogspot.co.uk/2014/12/the-dawn-of-trustworthy-computing.html)（この記事はその内取り上げようと思っています））。

> A big drawback is that our online and distributed block chain computer is much slower and more costly than a web server: by one very rough estimate, about 10,000 times slower and more costly, or about the same as it cost to run a program on a normal computer in 1985.

ブロックチェーンは少なくともPOWを採用する場合には、多くの計算能力を採掘に費やさなければならないためコストが高いです（この辺りの話は私が以前翻訳した「[Bitcoinの隠れた費用](http://pizyumina.hatenablog.com/entry/2014/02/14/183234)」などを参考にしてください）。

> 最も簡単な問いは、我々が（Bitcoinの保有者として）ハッシュに基づいた安全性のために幾らの対価を支払っているのかということである。その答えは、1年につき、保有Bitcoinの約1割である。あるいは、時価総額で言えば、約17億ドルの保護のために、1年につき、約1億7000万ドルを支払っている。我々は貨幣の価値が減少するインフレーションと取引手数料を通してこの対価を支払っている。

ブロックチェーンには欠点も多いため、ブロックチェーンを基盤としてシステム全体を構築するのは現実的ではありません。大きなシステムの一部で、ブロックチェーンの特性を上手く活用できる部分のみで利用するのが現実的な使い方だと思います。

---

**今日の結論**
Q. ブロックチェーンは分散型合意形成アルゴリズムなのか？
A. ブロックチェーンは組織的分散型で論理的集中型の合意形成アルゴリズムである。

Q. デジタルコンテンツの分野においてブロックチェーンが果たせる役割は？
A. ブロックチェーンはデジタルコンテンツの

* コピー阻止機構として使えない。
* 版権管理系として使える。
* 利用権管理系として使える。

---