Coin Core 2017.10.03 Tuesday

Orbでは、地方銀行や仮想通貨・ポイントプログラムを提供する企業のような経済主体者の需要を満たす、拡張性が高く低コストでありながら高機能な電子通貨プラットフォームの開発に取り組んでいます。長年の調査の結果、現在利用可能な既存のシステムやアーキテクチャを用いると、上記の経済主体者のユースケースを満たすには制約が多く、拡張性に乏しく、また高コストであることがわかりました。そのため私たちは、最小限のカスタマイズのみで多くのケースに対応可能とする、プログラマビリティに優れた次世代の電子通貨プラットフォームを開発することにしました。

Coin Core とは

Coin Coreは、容易で拡張性の高いプラットフォームです。このプラットフォームによって、お客様企業やサービスチームが洗練された通貨やポイントをやり取りする仕組みを構築することができます。Coin Coreを用いることで、コインの発行や口座間の送金といったケースから、ロイヤリティ・プログラムやコインの有効期間の設定といった複雑なケースまで、簡素なトランザクションから成る経済圏の構築が可能となります。 Coin Coreには以下のような特徴があります。
  • Apolloとのシンプルな統合
  • 制限のないコインの種類
  • 設定で変えられるコインの振る舞い
  • 様々なBalance modifier
  • 暗号理論に基づく耐改竄性
これらの特徴により、お客様はその独自のビジネスモデルに応じて、独立した安全な電子通貨経済圏を自由に正確な設定ができます。

Apolloとの統合

Apolloが安定するにつれて、私たちのCoreアプリケーションでもApolloを使いたいと思うようになりました。しかし、以前の我々の電子通貨プラットフォーム技術とApolloを結合することには時間を要することはすぐにわかりました。そのため、私たちはこの電子通貨プラットフォームを再構築する決断をしました。それまでに作り上げた既存技術の優れた部分を抽出し、Apolloに沿った再設計を行いました。この再設計により、より良い設計を行う機会を得ることができ、Apolloに適したより効率的なデータ・タイプやデータ構造にすることができました。また、Apolloによって、お客様のデータに対する安全性や正確性を保証する、最高のトランザクション層を用いたコイン・エコシステムを実現することが可能となりました。Apolloとそれを含むOrb DLTスタックについては以前のブログ記事をご覧ください。

コインの種類と振る舞い

Coin-Coreによって構築された経済圏では、発行したい通貨を定義するコインの種類に制限はありません。その経済圏がどのようなものかに応じて、それぞれのコインは多数の異なる動きを実現しながら共存することができます。つまり、あなたの経済圏やビジネスモデルをうまく支えるのに必要な少数多数の異なるコインを作ることができます。 コインの種類に制限がないことに加え、それぞれのコインは、有効期間や期限といったそのコイン特有の振る舞いを設定できます。この設定によって、特定のコインに制限時間を持たせる、将来のある日時にだけ使用できるようにする、といった特別な振る舞いを実現することが可能となります。有効期間や減価を設定するで、ユーザーにそれらのコインの消費を促します。さらにはコイン発行にボーナスを組み合わせることで、その経済圏で頻繁にコインを購入してもらうことも可能でしょう。

コイン・トランザクション

Coin Coreの根幹を成しているのは、コイン・トランザクション・エンジンです。これは状態に応じた残高変更を実現するために我々が開発したカスタム・ルール・エンジンです。Coin Coreは汎用的なコイン・プラットフォームを目指したものであるため、初期設定されたトランザクションは存在しません。つまり、コイン・トランザクション・エンジンは、あらゆるユースケースに対応できるような十分な柔軟性を持っています。また、ほとんど制約なしにまさに必要な機能をCoin Coreに設定することができるということです。 そのコイン・トランザクション・エンジンの大きな特徴は、Balance modifierにあります。Balance modifierは、コインが口座間でどのようにやり取りされるかを定義します。任意の数のmodifierを組み合わせることで、お客さまが望むコインのやり取りイベントを作成することができます。一つのトランザクションに設定できるmodifierの個数に制限はありません。複数口座への支払いや、ポイント獲得、チャージ手数料など、あらゆるやり取りイベントをmodifierの重ね合わせによって簡単に設定できます。

Balance modifiers

Coin Coreでは様々なmodifierを使うことができます。これらのmodifierによって、単純な送金だけでなく、様々な変数や条件の組み合わせでより複雑なコインのやり取りを実現できます。
Basic modifier
Basic modifierは単純な口座間の送金に使用します。これにより、単純なトランザクションを作ることができます。また、他の複雑なmodifierとの組み合わせにおける基本的な構成要素として使用することができます。
Dual-recipient modifier
Dual-recipient modifierは、一つの口座から二つの口座にコインを移動させることができるmodiferです。このmodifierは、消費者や加盟店に対して決済代行手数料を課したい場合に用いることができます。
Dependent modifier
Dependent modifierは、それを含むトランザクション中の別modifierの結果に対応して実行されるものです。このmodifierは、あるコインの使用に合わせて、新しい種類のコインを発行するといった場合に用いることができます。
Max-usage modifier
Max-usage modifierは、ある種類のコインに対して、一回のトランザクションで使用できる量を制限するために用います。これは特定のコインの使用に制限をかけたい場合に役立ちます。
Time modifier
Time modifierは、日時に応じて変わる口座間の送金を指定するものです。

耐改竄性

Coin Coreでは、個々のトランザクションの暗号文を生成する機構が提供されています。特許出願中の独自処理と業界標準の暗号理論を用いて、トランザクション実行時に、そのトランザクションのすべての構成要素から暗号文を生成します。この暗号文は、このトランザクションのまさに実行時にしか生成することができません。 生成後はいつでもこの暗号文を、Coin Coreアプリケーションや実行環境に依存することなく、検証することができます。そのため、サードパーティー製のツールなどを用いてトランザクションが信頼でき、かつ改竄されていないことの検証が可能です。また、高速で効率的な暗号化とハッシュ・アルゴリズムを用いていますので、超高速にデータを検証、再構築することができます。

まとめ

私たちは、単一のアプリケーションに多くの柔軟性を組み込んだことで、このCoin Coreで実現可能となったものに自信を持っています。Orbは、電子通貨ビジネスモデルに対するCoin Coreがもたらすとてつもない価値と意味を感じています。また、Coin Coreによって単にお客さまやそれを使うユーザーに素晴らしい電子通貨プラットフォームを提供するだけでなく、Orbのセールス・チームやテクニカル・コンサルティング・チームが、お客さまの求めるものを実現できるよう、環境のチューニングや設定を手軽かつ迅速にお客さまと共に取り組めることに、私たちはワクワクしています。
Chief Architect @ Orb, Inc
Louis Zeunの最近記事