寄付窓口はこちら

ただの分散DBと何が違う?最前線エンジニアが語るBlockchainの実用可能性 #linedevday

ブロックチェーンは世間からの過度な期待を受ける時期を過ぎ、実用化に向けた準備期に入っているとも言われています。 エンタープライズ向けブロックチェーンで国内実績トップクラス企業の最前線で戦うエンジニア三人が、ブロックチェーンを改めて見つめ直し、「ブロックチェーンは本当に便利なのか」、「なぜブロックチェーンを導入する必要があるのか」という問いについて議論します。 「ただの分散データベースと何が違う?」「API連携でいいのでは?」など、導入に際してクライアントからよくいただく初歩的な質問も含め、ブロックチェーンの適切なユースケースを探ります。

f:id:niwatako:20201127132616p:plain

f:id:niwatako:20201127133015p:plain

f:id:niwatako:20201127133029p:plain

f:id:niwatako:20201127133053p:plain

ブロックチェーン等を使ったデジタル化を進める企業で研究開発を勤めている。Gnosy子会社として始まって独立して今に至る。

会社以外では未踏に参加してBlockchainをやっている。

f:id:niwatako:20201127133134p:plain

日本オラクル。前職では銀行決済のパッケージを開発していました。オラクルクラウドブロックチェーンプラットフォームの担当をしている。

f:id:niwatako:20201127133249p:plain

ブロックチェーンのプロトコル開発、弊社エンタープライズ向けブロクチェーンTapyrus開発など

f:id:niwatako:20201127133259p:plain

ブロックチェーン、分散台帳技術とは

f:id:niwatako:20201127133314p:plain

いろいろな意味で使われていて、言う人や会社によって違う意味で使われていると思う。ケースバイケースでどの特徴について言われているか異なっている。

どの定義がいいかよりは、世の中でブロックチェーンや分散台帳技術と呼ばれているものの特徴にどういう物があって、どう便利なのか話したい。

一つ共通点は、トランザクションを記録ししていくシステム。

f:id:niwatako:20201127133358p:plain

決済なら送金、証券決済なら証券の移転、商取引の記録をしたり。このトランザクションの履歴が台帳などと呼ばれるが、これがしっかり残っていく。

ブロックチェーンのブロックというのはこの取引を一つにまとめたもの。

f:id:niwatako:20201127133454p:plain

一つの特徴として、トランザクション履歴が改ざんが難しく設計されている。

確定したトランザクションに署名を残すことで証跡が残る。

イラストが書いてあるがハッシュチェーンになっていてブロックが前のブロックのハッシュを参照していて、ある時点の記録を書き換えると繋がらなくなる。高い監査性が必要なときに利用できる。

もう一つ、の特徴

f:id:niwatako:20201127133555p:plain

複数にレプリケーションする。

そのときノード間で履歴が食い違わないようにコンセンサスを取る必要がある。

合意形成の度合いは色々なパターンが有る。各ノードが持ち回りでブロックを創るパターン、一つの参加者だけがブロックを作りほかが検証するだけなど。

なので、ビザンチン障害耐性などは必ずしも使っているわけではない。

f:id:niwatako:20201127133719p:plain

物によっては何でもプログラムを実行できるものがある。

解釈ルールが送金などに限定されているのではなく、VirtualMacheneで動くもの全部が許されている。

監査性やレプリケーションを壊さずに新しい処理を追加できるのが、他の仕組みと違う。

f:id:niwatako:20201127133816p:plain

味方によっては分散したデータベースと見ることもできるが、前述3つの特徴がある。

企業間で連携するときに便利。

リコンサイル(送金して確認する)が不要

特定企業だけを攻撃しても履歴が覆らない

スマートコントラクトの柔軟性で、プログラムを載せられるので、参加者全員がそのログラム似興味がなくても載せられる。そうしたキャパシティがある。

協力してデジタル化するのはデジタル化の中でも後半、レベルが高い。

はんこがとか電子契約といって1組織や1部署レベルのデジタル化をしている状況で、企業間はちょっと新しい。それが商用利用が進んでいない原因かなと思っている。

さっきノードが、などと言ったがノードを建てる権利を誰に与えるかで分類がある。

f:id:niwatako:20201127134021p:plain

本当に誰でも参加できると問題になるのでビットコインならマイニングできることが条件。Ethereumは今度ステークできる人になる。

今日のテーマはPermission型。

どの企業が参加できるか決められている。エンタープライズ向けではこれが多い。’

個人的にはEthereumの研究をしているので両方見ているがパーミッション型にしぼりたい。

f:id:niwatako:20201127134125p:plain

皆さんからコメント頂きたい

中村岳

ブロックチェーン・分散台帳活用でいうと、分権的なプラットフォームを企業間で構築する基盤としての特徴が注目されていると思っている。Decentralizedシステムの実現と言うと定義のブレがあるが、一言でいうとDecentralizedというと文献ということになると思う。こういうところに関してありがちな批判としてコンセンサスや改ざん耐性やスマートコントラクトの個々の要素について抜き出して批判したりしがちだが、要素全体として実現しようとしていることがあるはずで、そこを無視して個々の要素を批判すると的外れになりがちだと最近思っている。パラダイム、選択肢が増えたことが大事。

安土 よく分散DBと比較されたり既存技術でできるのではと言われる。代替技術は存在していると思う。ただ、先程の説明にあったように、ちょっと特徴を持ったデータ。単純にストアして共有するのではなくて、ロジックまで含めて共有した実行プラットフォームであるというのが大きく違う。有用なユースケースが出てくるのではないかと思っている。分散DBと比較しても正面から比較できない。データ記録はできるがQueryしようとすると大変で検索に最適な別のインデックスを作らないといけない。別途DB持ったり。台帳は共有されるけれど共有したくないものもある。何をブロックチェーンに乗せて何を載せないか、考えた上で既存のDBと組み合わせて仕組み全体を考えていくことが必要になってくると思う。

中村龍矢 「台帳」というと帳簿的なものを想像すると、合うケースもあるが、ロジックを追加できるような特徴を表そうとするとちょっと違うように思う。

よくある質問

f:id:niwatako:20201127134622p:plain

いまでもいろんな企業がOpenAPIという形でWebAPIを提供して連携すればいいじゃないかというのがあるが

安土

よくブロックチェーンというのがある意味バズワードになっているので、ブロックチェーンでXXXしましたと言う記事が出ていて、記事だけ読むと、普通のWebAPIやRDBでできるのでは?と思うのだが、記事だけだと仕組みの狙いとかがわからないこともある。さっき行ったように単純なデータストアだけでなくロジックとセットのコンセンサスが動いているのでそういった意味で違いが出てくるのと、私も昔はEDIとか流行っていたけどとある業界向けサプライチェーンをEDIでやりましょうというのをやっていたことがあるが、企業間のデータ共有と言うよりは、APIを通じてそれぞれの企業の状態を更新していくみたいな仕組みが基本のAPIなのかなと思っている。そうすると、A社とB社がいてB社を呼んだらB社の状態が変わり、C社を呼んだらC社がかわるが、A社は変わっていないということがある。ブロックチェーンはデータを含めた上で一つの台帳で管理して、予め決まったコントラクトを実行することで合意された状態変更が行われる。一位の状態をみんなで共有して持てる、そこに対して合意しているのが大きく違うところかなと思う。

中村龍矢

APIで連携されるものとブロックチェーンのレプリケーションで渡されるものは性質が違うのに加えて、APIに加えてサービス運営側が提供したりするので、最小のものになりやすい。銀行なら残高照会とか。でもすべての履歴があって、そこにロジックを追加していいよというキャパシティを提供することで各々が処理を追加できると言うところが違うのではないかと思う。

f:id:niwatako:20201127135044p:plain

どこか強い人がデータまとめていたらいいのではないか?

中村岳

DBに集めれば良くない?というのは、中央集権的な誰かが独占的に持っているプラットフォームにデータを集めるのでよくないか、というやり方を指していると思います。こういう企業、業界内外の企業間でデータを持ち寄ったり共有するのはブロックチェーンでよくあるが、そういうところで割とこうした疑問をぶつけられる。これについての個人的な考えですが、そういう複数の企業でデータを持ち寄るとか共有する、協力するユースケースにおいては、プラットフォームの高揚を大きくするにはより多くの参加者がいたほうがいい。ネットワーク効果を踏まえてこの中央集権的などこかの誰かが特権的に集めるというアプローチが機能するならそれでいいと思う。でもそういうアプローチが機能しないところがあると思う。 直感的に理解しやすいのはなんとか業界というところにプレーヤーが何社かあって、どこかが代表になってうちにデータを集めてください、それをみんなで使いましょうと言うと、強豪にデータを集めることに競合が載ってこれるかと言うと、殆どの場合乗れないのではないか。利害関係があるので競合企業が集まれないパターンが有るのかと思う。もう一つ中央集権的なやり方として国や行政など完全に利害関係のない中立期間がプラットフォームを建てるとどうか、ということもすぐに思いつくと思うが、それも簡単にいえば、それで解決するなら何故やっていないのかということで、中立機関を作れるのは公共的な意義がある場合などでかなり限定的なのではないか。機能しづらい領域でも複数の企業でデータを持ち寄ってある程度協力したいところはかなりあり、今までできなかったけど本当はやりたかった領域の一部を、ブロックチェーンを用いて分権的なプラットフォームで救えるのではないかと思っています。

中村龍矢

ニュースリリースを見ても正直コレはどういうものなのかってわからないことも多い。利害関係の部分はなかなか表になりにくい。過去どのような取り組みで失敗してきてこの取組に至るのかということも書かれていないので。

f:id:niwatako:20201127135542p:plain

中村岳

色々取り組んでいてサプライチェーンのトレーサビリティなどあるが、進んでいると感じるのは金融系。もともと仮想通貨暗号資産の基盤として始まったのもあるかもしれないが、金融系はかなり早くから研究されていて実証実験されていて、商用になっているケースも有る。

国際送金を4日かかるのを1時間でやる、5分でやるということにブロックチェーンを活用したり、巨額の為替取引をするときにPVPで決済リスクない形で交換するとか、証券の決済をDvPで決済リスクなくやるとか、そうしたところでブロックチェーンを活用しているのが面白いユースケースだと思っています。ブロックチェーンの耐改ざん性、検証可能性を生かしている。データとロジック双方があるので価値を扱いやすい特性があるのだと思っている。既存のロジックをブロックチェーンで再現するところから始まっているが、今後は、柔軟なプログラマビリティがあるので、いままで無かったアセット、減価する貨幣など、斬新なロジック付きの資産が産まれてくるのではないか。そうした新しい機能がCBDCなどに使われていくのではないか。

安土 Chaintopeでは最初カラードコインを使ってトークンエコノミーソリューションもやっていたが、最近力を入れているのはトレーサビリティ。東南アジアは偽物医薬品などフェイク商品が(多い?途切れた)。解散資源の漁獲照明と合わせてサプライチェーントレーサビリティを提供する取り組みを中心にやっている。そうしたサプライチェーンの流れがトランザクションを創ることで記録されていって、消費者がバーコードをスキャンするとどういう経路で自分に届いて原産地はどこかということを、知ることができたり、提供側は、製造過程に問題が発生したときに、問題となる製品がどこに展開されていったのかトレースフォワードなどにブロックチェーンの記録で調査できる。

サプライチェーンを中心としているのは、ブロックチェーンじゃなくても存在するが、サプライチェーンは単一企業に閉じずに企業や国をまたぐので、そういうふうに形成されるブロックチェーンを一企業が管理するのは難しいし、管理する企業のコストにもつながるのでなかなかビジネス上実現が難しい。実際に各企業システムを持っているので共通仕様をつくることが難しいのもネックだったりする。

そういうところに共通プラットフォームとしてデータ共有とロジックができるということでブロックチェーンを入れて、広く誰でも検証できるということが求められるサプライチェーンには受け入れられやすいと思っている。

ただたくさんの商品を扱うのでデータサイズがすぐ爆発するので、書き込むデータをいかに抑えておくか、長く運営するにはノードの負荷コストなど考えないといけないことは確かにあるが、反面参入障壁を減らすものにもなる。ノードに参加すれば使える、一からシステムを作らなくてもトランザクション手数料をはあれば導入できるという共通費用をつくれて、独自に必要なところは自分で作りましょうという切り分けができるといいかなと思っている。

中村龍矢

企業間連携でじたるかはまだあまりという話をさきほどしましたが、サプライチェーンは取り組みが進んでいる分野かと思う。CO2排出量のトラッキングにも使われているのを聞いたりする。

最後に私から、今弊社ではLayerX Labで時間軸の長いテーマに取り組んでいるが、その中の一つが電子投票。コロナで電子かと言ったときに投票システムは普通のシステムより難しくて、ちゃんと投票されていること、秘密が守られることなどが必要。インターネットバンキングより難しいかと思っている。投票所では最初の人が中が空なのを確認したりしている。

ブロックチェーンではその状態を証明できる。プライバシーは別で確保しなくてはいけないけど。

一方電子投票に限らずトレーサビリティも証券取引も、ブロックチェーンだからできるのかと言われると、そうでもない。代替手段はある。ここについては、そういうもの。プログラミング言語何がいいか、WindowsがいいかMacがいいかみたいなこと。ブロックチェーンがバズワード的になっている現状とギャップが有るところ。

一方ツールの特徴としては柔軟性の広さが大きい。同じ基盤を使って証券決済やトレーサビリティにも使える。ここは個別ユースケースに置いて楽に早くできるみたいなメリットだと思う。

Excelを使う理由はないけど、Excelならみんなにインストールされていてみんな使える。

こういったツールの柔軟性みたいなものが結果的に楽に早くできるということが将来的にはあると表散る。

残り時間2分20秒、一人ずつ言い足りなかったこと、宣伝があれば

中村岳

エンタープライズ領域のブロックチェーンはすでに成熟している、とは言えないところ。エンジニアがみんなで勉強して盛り上げないといけない。この動画を見に来ていただいている方は学習意欲が高いと思うのでぜひみんなでブロックチェーンを盛り上げられたら

安土

暗号通貨から入ったブロックチェーンだが、2017年、18年からアカデミックな方々も研究対象にして新しい要素技術は活発に研究されている。そういうのをやってみたい方にはいいタイミングだと思う。是非チャレンジしてみてください

中村龍矢

ブロックチェーンを使っているときに、そこは注目すべきポイントじゃないので、電子投票といえば電子投票について議論したい。デジタル通貨について議論したい。なんでGoつかうのに90%割かれているのが現状。なんでボトルネックかとかの議論ができることでデジタル化ができると思う。