こんにちは、おかんです。
今回はLTOネットワークっちゅープロジェクトについて・・・
(すげー簡単になんですがスミマセン)
なんでもかんでもデジタル化が起こっているいま、私たちの生活は大きく変化していますよね(・∀・)
特にその影響が大きいのが、消費者向け(BtoC)や企業間(BtoB)での取引です。
企業でも、たとえば連絡方法がファックスがメールになったり、メールがテレグラムとかスラックになったりと、どんどん便利なものに変わっていっていますよね。
ただ、大きくやり方を変えるとスタート時にはコストがかかってしまったり、やり方に慣れるまでに時間がかかってしまいますよね(´・ω・`)
売上が下がってしまったり、自動化によってラクになるはずが結果的にコストがかかったり効率が悪くなったり。
そこで!(゜∀゜)
ブロックチェーンを使って、これらの問題を解決する方法を示すだけでなく、企業も消費者も、どんな立場の人も利用できるソリューション(問題を解決するサービスや商品)を提供してくれる、LTO Networkの出番です♪(∩´∀`)∩
中規模・大規模な組織(企業)の場合、ビジネスの場においてはわかりやす~い工程をつくって仕事の流れを見ていきますよね。(ワークフロー)
じゃあ、企業間でいっしょに仕事をするときは…?(・ε・)
企業間で単なるコミュニケーションを改善するためだけに、上記のようなモデリングはあまり行われません。でも、やっぱりあると便利。
そこで、LTOのプラットフォームを使います。
企業間で拘束力のある合意として機能する契約を行います、これをライブコントラクト(契約)と呼びます('ω')ノ
LTOプラットフォームはライブコントラクトが結ばれるごとに「アドホックブロックチェーン」をつくります。
※アドホック…とりあえず。暫定的な。臨時の。
アドホックブロックチェーンは契約が行われたときにできる「とりあえず」のブロックチェーンのため、ビットコインの台帳のように改ざんできませーん!(゜Д゜)という性質をもったものではありません。
ただ、このブロックチェーンがあるおかげで、契約を行う関係者がイベントややることなどを共有し、なおかつ最新の履歴をいつでも見られるようになります。便利。
さてさて、仮想通貨で契約(コントラクト)…といえば、やっぱり浮かぶのはイーサリアムに実装されている「スマートコントラクト」ですよね♪
どちらも契約は契約なんですが…(・ε・)
イーサリアムは特定の条件が満たされたときのみ発動するよう設計されていますが、ライブコントラクトの場合はその契約自体に価値があるものではなく、よくある紙の契約書のようなもの。
もちろん、単なる紙の契約書とは違います。
ライブコントラクトは、契約をした複数の関係者がいつでも見ることができ、なおかつトラブルがあったときには交渉や調停を行って解決できるよう、LTOプラットフォーム上で履歴をチェックすることができるため、ブロックチェーンのメリットがしっかり含まれているんですね♪(∩´∀`)∩
ライブコントラクトは、作業計画(ワークフロー)を「Finite State Machine(FSM)」というプログラムにして視覚化することで、私たち人間はもちろんコンピューターもあ~はいはいこういう計画ね、と理解できるようになります♪
このステートマシン(State Machine)ですが、ステート=状態という意味が。
作業計画が進行するにつれて、状態がどんどん変わっていきますよね(・ε・)
それにともなって、FSMの状態も変わっていきます。
・Deterministic Finite State Machine(確定的有限ステートマシン)(DFSM)
・Extended Finite State Machine(拡張有限ステートマシン)(EFSM)
英語ですでに泣きそうなんですが、上記でご紹介しました作業手順のモデルって、けっこーアバウトじゃないですか?(・∀・)w
このやり方だと作業手順を視覚化することはできても、人によっては工程ひとつひとつの区切りがどこになるの?と戸惑ってしまうことも。
作業における「状態」を、人も機械ももっとわかりやすく定義するために、ライブコントラクトではDFSM・EFSMふたつのステートマシン(状態)を使うんですね♪
ライブコントラクトに参加しているチームや人には「アイデンティティ(ID)」が定義されていて、次のような情報が含まれています。
・識別子
・ノードURI
・カスタム情報
・署名する鍵
・暗号化された鍵
ライブコントラクトに誰かを追加したいときには公開鍵を使って、IDを直接追加することができます(・ω・)b
LTO Networkは、コントラクトを使って仕事を進めていくうえで、便利な機能がてんこもり(・∀・)
●コメント機能
他のIDと通信するために使われる機能です。
ワークフローの外で競合して解決したり、議論を行うために使われたり。
コメントでの会話はブロックチェーンに記録されますし、フローの中で誰が・いつ話したかということも確認できます。
また、コメントは文章だけでなく画像や文書もOK。
コメントはステート(状態)には響かないため、定義されていないテーマに関する議論を行ったり、突発的な問題を解決したりと、有用性が高くなっています♪
●離脱機能
…時にはプロジェクトがまとまらず、おじゃんになってしまうことも(´;ω;`)
イーサリアムのスマートコントラクトの場合、契約を強制的に実行するような強い効力を持っているため、契約を最後まで突き通さなくてはなりませんが、LTOのライブコントラクトなら作業手順を踏んで段階的に進めていくことができます。
その途中でこれはアカンということがあった場合、すべてのユーザーが同意すれば、このワークフローを白紙に戻すことができます。
ただし、元に戻すことはできないため、使えるのは一度きり。
トラブルが起こったり紛争を解決したいというときに、この機能を利用できます。
●ルール変更
プロジェクトを進めている最中に、新しい法律が制定されたとか、合意が更新されたということがあるかもしれません。
そんなときには、先ほどの離脱機能を使います。
ただ、プロジェクトを終わらせるのではなく、特定のルール(シナリオ)を変更してプロジェクトを続行することができます♪
ライブコントラクトを利用して作業手順をひとつずつこなしていくことで「状態」が変わっていくとお話ししましたが、状態を判断するためには、決められた順番に一連の工程を処理する必要があります。
AをやってB、Bが終わったらC…ってことですね(・∀・)
ただ、この中に何らかの工程を挿し込んだり、順序を入れ替えたり、始めと全然違うじゃねーかwwという状態になることも、大いに考えられます。。。
特定の管理者がいる場合、管理している人がデータの整合性について責任を負います。
つまり、ユーザーはその管理者に依存しますし、不正は起こらないものとして信頼し、利用することになります。
もしも、作業手順に変更や追加したいという場合、特定の誰かによって操作されることは整合性を保つために望ましくありません。
さらに、この中央集権的なやり方では改ざんされる&データが流出するなどのリスクが…(´・ω・`)
ということで!
LTOネットワークのような分散システムでは、関係者のみんなで権限と責任を共有するかたちをとっています♪
これを実現するのが「イベントチェーン」です。
先ほど、工程をメモするために臨時で作られる「アドホックブロックチェーン」のお話しをしましたが、イベントチェーンはこれに似て非なるもの(・ε・)
イベントチェーンは、選択されたIDの間のみで共有されるプライベートチェーンのこと。
本線となるブロックチェーンから枝分かれした状態のサイドチェーンとは違って、イベントチェーンは完全に分離しているチェーンです(・ω・)
さらに、イベントチェーンには、誰もがイベント(追加・変更する工程)を改ざんしたり、偽造できないようにするために「署名」が行われます。
署名される=アクションが起こされるため「お、始まったな(・∀・)」ということを他の関係者がIDを見て確認できるため、安心ですよね♪
この署名には「楕円曲線暗号」と呼ばれる暗号方式が使われます。なにそれ。
実は、ビットコインの秘密鍵から公開鍵をつくる方法が、この楕円曲線暗号なんです!(・ω・)
これによって、セキュリティの高さはそのままに、より高速な署名&検証が可能になるということなんですね。へー。
LTO Networkは、企業同士でともに仕事をするため(プロセスを実行するため)に構築されているとお話ししました。
ここで重要なのが、プライバシーの問題です(`・ω・´)
ビットコインなどのパブリックブロックチェーンを利用する場合は、アカウントの情報やトランザクション(取引)の履歴など丸見え状態です<●><●>ww
スマートコントラクトの場合は、すべてのノードでデータを使えるようにする必要があるため、データをパブリック状態(公開)する必要があります。。。
LTO Networkのアドホックブロックチェーンなら、情報を公開することなく、さまざまな参加者とコラボすることが可能です♪(・∀・)
さらに、アドホックブロックチェーンは「とりあえず」のチェーンなので、その工程が完了すれば情報を完全に消去することができるため、プライバシーの問題をクリアするのはもちろん、タスク消化にもぴったりです♪
取引の検証を行うため、ネットワークのみんなで合意する方法のことを「コンセンサスアルゴリズム」といいます。
●コンセンサスアルゴリズムの例
ビットコイン→Proof of Work(PoW)
イーサリアム(予定)→Proof of Stake(PoS)
ネム→Proof of Importance(PoI)
LTO Networkのコンセンサスアルゴリズムは「LPoI」(゜Д゜)知らねぇ
LTO Networkでは、ブロックをつくるノードのことを「ジェネレーター」と呼びますが、これを決めるためにLPoI(Leased Proof of Importance)というコンセンサスアルゴリズムが使われます。
PoS(Proof of Stake)から派生したヤツみたいな感じで、ブロックを作る権限を持つために、保有しているトークンと賭けたトークンの量によってジェネレーターが決定される仕組みとなっています♪
※アーキテクチャ…構造
LTOは、マイクロサービスアーキテクチャという構造になっており、各機能は「マイクロサービス」に分割、つまり細分化されています。
サービスを細かくすることで、さまざまなメリットが。
●障害分離
サービスに何らかの障害が発生しても、その部分だけなんとかすりゃいいので必ずしも他のサービスに影響があるわけではありません。
●スケーラビリティ
すべてのサービスはそれぞれ分かれているため、負荷がかかりにくく処理しやすいというメリットがあります。
いわゆる、送金詰まりが起こりにくいということ。
●柔軟性
細分化&分離しているため、各サービスで違うプログラミング言語を使うことができます。
●コードの品質向上
本で言えば、とても細かく目次が設定されている感じ。
なので、開発者は気になる部分を探しやすい=コードを確認しやすいというメリットがあります。
で(・∀・)
こんな感じに細分化されます。
●UIレイヤー
アプリケーションレイヤーとやり取りをする層。
●アプリケーションレイヤー
イベントチェーンのイベントが発生したときにアクションを処理する層。
●プライベートチェーンレイヤー
ノードの分離、細分化を行う層。
●パブリックチェーンレイヤー
パブリックチェーンサービスを管理する層。
要は、作業をする場所をそれぞれ振り分けているので、効率的に処理ができるようになってるっちゅーことですね♪(*'▽')
そんなわけで₍₍ ◝( ‘ᾥ’ ◝) ⁾⁾₍₍◝( ‘ᾥ’ )◟⁾⁾₍₍ (◟ ‘ᾥ’ )◟ ⁾⁾
LTO Networkの技術面について、簡単に、だいぶ簡単にww解説しました♪
(ここちゃうやんけってご指摘ございましたらこっそり教えてくださいスミマセン)
個人同士が使うことを想定したブロックチェーンプロジェクトや、企業対顧客向けのプロジェクトはたくさんありますが…
LTO Networkのように、企業同士がいっしょに何か仕事をするとき・取引をするときのためのB2B向けプロジェクトは、まだそこまで多くないと思います=競合がそこまでおらん(・∀・)
さらに、企業内で利用されるブロックチェーンといえば、プライベートチェーンの「mijin(ミジン)」なんかがありますが、あくまでLTOは「B2B向けのプラットフォーム」としてサービスを提供しています。
個人が取引以外でビットコインなどのブロックチェーンを使うか?って言ったら、そりゃ企業の方が仕事でバンバン使う機会が多くなるので、着眼点がすばらしいなぁと思いました。
LTO Networkは日本版のコミュニティがありますので、気になるけど海外コミュニティこえ~~~!!!(´;ω;`)という方でも安心ですww
私もテレグラムに入っています~♪(∩´∀`)∩
エアドロップも行われているようなので(まだ間に合うかな…?)、ぜひチェックしてみてくださいね♪(*'▽')b
【Twitter】@maki_coin