かんがえる、かがんでいる人

考えたことをまとめます。

現時点のDAppsに必要なものを考えた~プログラマ編~

f:id:ton96O:20180319185019j:plain

DAppsが流行っています。

投資対象としての仮想通貨から、そのネットワークとブロックチェーン(等)、そしてトークンを利用したアプリケーションです。

今後は様々な実験的DAppsが作られることが予想されます。

 

2018年春時点のDAppsに必要なものを考えました。

色々と思い浮かぶところはあるのですが、今回は作るところ、プログラム関連に的を絞って考えました。

 

まずは基礎技術面の解決です。

特にライトニングなどのオフチェーン技術については、DAppsゲームを作るにあたって必須だと考えます。

アクションごとにgasを取られるのではなく、どこかの時点、例えばセーブポイントで一気にブロックチェーンに書き込む流れです。

そのあとにDEX、次いでクロスチェーンという順番でしょうか。

オフチェーンでは、安全性に注意が必要です。現時点では調べきれませんでした。 

 

 

次はモジュール化です。

モジュール化というのは、ある特定領域を部品化しましょう、他でも使いまわせるようにしましょう、という事です。

会社の業務に例えてみましょう。

f:id:ton96O:20180319182354j:plain

給料計算はどこの会社でも必要ですが、法律に則って行う、アウトソーシングしやすい分野です。

会社からは勤怠情報や、基本給などの基本情報を提供し、アウトソーシング先はそれらを元に計算を行って計算結果や帳票を会社に渡します。

これが会社の給与計算分野をモジュール化し、別会社にした事例、となります。

図の右側、給与計算専門会社は、別の会社の給与計算も行うことができます。(情報を漏らさないなどのセキュリティは必須です)

必要だけれど、専門性が高いものは、自分たちでいちいちオリジナルのものを作るよりも、既にあるものを使いまわすことができるのであれば、それを使った方が便利なことが多いのです。

DAppsでも似たようなことが起こると思われます。

例えば課金時のインタ-フェース、高度なセキュリティが要求される上にどこでも必要になるものです。できればおしゃれにしたいですし。

どこでも使われる専門性の高い分野を部品として売り出すところが現れるのではないでしょうか?

 

次いで教育システムです。

例えばNEOですと「C#、VB.Net、F#、Java」というプログラミング言語を利用できるようです。

一方、ETHではSolidityという独自の言語を利用します。

ETHでは、プログラマーが身につけた今までの言語がそのまま通用するわけではない、ということになります。

プログラマーは一つの言語を身に着けているのであれば、よほど概念の違いがない限り、他の言語もすぐに使えるようにはなると思います。(C ++、PythonJavaScript系列なのであまり時間はかからないはず。)

とはいえ、すぐに思い通りに動かせないのはしんどい。

ましてや一度デプロイしてしまえば動き続けるスマコンです。オープンソースなので悪意のあるハッカーから見ればイタズラし放題です。

セキュアなプログラムを上手に書かなくてはなりません。

プログラムもライブラリ化が進むでしょうし、モジュール化されてより堅牢なものが作れるようになるとは思います。

しかし、個々のプログラマの地力を上げなくてはいけません。

そこで、教育が必要になります。

好例が「クリプトゾンビ」です。

後々は、良いDAppsのソースを解説したり、何らかのトラブルが起こったDAppsのソースはどう書くべきだったのか、という研究がなされ解説され、勉強対象になると思います。

その解説・教育をするビジネスが出てくると思われます。

DAppsはオープンソースなので、こういうことができますね。

 

 

いずれも、今後のDAppsの発展に寄与する素敵なビジネスだと思います。

 

?