2019年10月17日ブロックチェーンには定義があるそうです。日本ブロックチェーン協会」という団体が2014年から活動しているようです。何をやっている団体なのかは詳細を知りませんが、この団体が「ブロックチェーン」を定義しています。1)「ビザンチン障害を含む不特定多数のノードを用い、時間の経過とともにその時点の合意が覆る確率が0へ収束するプロトコル、またはその実装をブロックチェーンと呼ぶ。」2)「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。要点をまとめると、「不特定多数のノード」「署名とハッシュ」によって暗号化処理をし、データを分散させて改ざんへの耐性を確保できる仕組みにとして、定義しているようです。7割、8割が貨幣として運用を想定している感じです。貨幣以外の利用も考えられますが、その場合はブロックを生成させるインセンティブの対応がでいません。ブロックチェーンがビットコインを支える技術であるということはブロックを生成することで報酬が得られることが大いなるインセンティブになっています。インセンティブはパブリック(公開)であるがために不可欠であるためです。データベースはインデックスを有効に使うことで高速な処理も可能になりますし、マスターとして定義するデータをコードで参照できるようにすることで1件あたりのデータ量を減らすことも可能です。要するにデータという集合とマスターという集合をコードで結ぶような感じ。ラインのスタンプなども、スタンプはサーバーにあって、買った人はそのスタンプの参照コードを呼び出すだけで送信先にスタンプを送れる仕組みなどです。いえば、今から数年前あたりか盛んに「ビッグデータ」と言われるようになりました。「Hadoop」という並列のストリーム処理が盛んに言われた時期もありました。並列に分散して処理するため、非構造化(つまり集合理論を使わない)、非SQLでの処理により速度を確保しているようです。そのあたりから「AI」「機械学習」「ディープラーニング」なども言われだしました。これらも、膨大根量のデータが不可欠です。当然のことですが、ビッグデータから何かを解析しようとすれば、データからパターンを抽出する必要があります。そのパターンから予測ができるようになれば「碁」や「将棋」でコンピュータが勝てることになります。ここで使われているデータは「非構造化データ」、別名「ストリームデータ」というようです。「SQL」のような言語を使った「RDBMS」とは異なる処理を言うようです。ブロックチェーンも、単純には膨大な量のトランザクションを参照して、その人の口座残高を管理しているわけですが、サーバーがあって、データベースがあって、管理者がいるというような処理体系とは全く異なっているのが特徴となっています。データベースを使わないで台帳データを管理する台帳データをストリームデータにするこの2点だけの対応なら、データ件数によりますが(10万件程度なら3秒以内の処理は可能と思う)実現はさほど難しいとは思えません。インデックスを使うような高等なことはしないので、データの件数が増えれば比例的に処理時間がかかることになってしまいますが、マイクロソフトのAccessを使って1300万件のデータから7表のクロス集計をするのに2時間かかっていたのに比べて、テキストのストリームデータからクロス集計をしたら2分でした。このことから、テキストのストリームデータを使って「文書管理」をしてみようと考えています。通常の事業所で文書ファイルが1万件を超えることは考えにくく、仮に多くても10万件程度ならストリームデータでも十分対応は可能なように思っています。いうことで次世代の「頓活」は、暗号化したテキストファイルを適宜ブロックにしてチェーンでつなぐような構造にしてデータベース不要な仕組みを実装してみようと考えています。文書管理である以上、公開する必要はないことデータベースソフトを必要としないことつまりは、ブロックチェーンのアイデアをもらって、場内LAN、ファイルサーバ、あるいはNASを使った事業所向けに文書管理の仕組みを作ってみますので、興味ある人は期待していてください。