Ocamlはなぜ仮想通貨のプログラムとして有用なのか?




注目の仮想通貨の基幹プログラム言語Ocaml(オーキャメル)

仮想通貨Tezosの基幹プログラム言語に採用されたとして、仮想通貨市場でも注目されているのが(オーキャメル)です。

Ocaml(オーキャメル)3つの特徴
  • Ocamlは高速処理が可能な関数型言語
  • Ocamlはバグが発生しずらく、正確に処理ができる
  • Ocamlは様々なアーキテクチャに対応している

Ocamlは、今後さらに多くの仮想通貨に応用できる可能性を秘めています。その特徴を見ていきましょう。

Ocamlとは?
INRIA(フランス国立情報学自動制御研究所)で開発されている関数型言語の一種で、最新の言語理論の成果が取り入れられたプログラミング言語です。 OCaml.jp

導入のハードルが低いOcaml

Ocamlは、フランス国立情報学自動制御研究所(INRIA)が開発しました。1970年代、チューリング賞を受賞したエジンバラ大学のRobin MilnerがMLという関数型プログラミング言語を開発しました。そのMLを改良していく中で誕生したのがOcamlです。日本でも、名古屋大学のJ・ガリグ氏も開発に参加したとして話題になりました。

関数型のプログラミング言語は処理速度が高速で、実行時のバグが少ないとして一部で非常に期待されていました。

しかし、当初は関数型のプログラミング言語は習得が難しく、導入しづらいものと考えられていました。その状況を変えたのがOcamlです。Ocamlは関数型でありながら、手続き型のプログラミングも可能で、非常に習得しやすい言語であるからです。

当然、関数型言語の特徴である処理速度の速さや、実行時のバグの少なさも併せ持っているため、処理スピードや処理の正確性が求められる金融の世界でも有効性が注目されています。

仮想通貨TezosにOcamlが取り入れられたのもそのような理由があるためです。Tezosはソフトフォークによるシステム修正の承認システムにOcamlを導入しました。これによって、承認のプロセスをすばやく正確に行うことが可能になったというわけです。

様々なアーキテクチャに対応するOcaml

Ocamlの大きな注目ポイントに、様々なアーキテクチャに対応できる機能というものがあります。Ocamlは、PowerPC、x86、ARMなど、様々なアーキテクチャのネイティブコードを出力することができます。つまり、iPhone(iOS)、Android、そして当然windowsといった様々なマシンで動作するプログラミングを行うことが可能なのです。

現在、さまざまなマシンが可動している仮想通貨の取引ステージでは、このように様々なアーキテクチャへの対応が非常に重要になってきます。はじめからその機能を実装したOcamlは、仮想通貨への導入がますます期待される言語といえるでしょう。

Ocamlを採択したTezos、採択しなかったCardano

TezosではOcamlを導入し、開発Wikiには「まず、OCamlで十分に熟達していることを確認してください。」という記述があるなど、OCamlでの開発を前提とした開発への貢献方法を記述しています。開発をするには、OCamlの取得が前提であることが伺えます。

また、Cardanoという仮想通貨は、OcamlとHaskellの導入を検討し、結局はHaskellを採択しています。技術的な点で、Haskellが上回っていたことが決め手となっています。

Haskellに特化した技術者は少なく、学術的にも技術的にも優れていることから、優秀な人材を確保出来るとして採択したという観点もあります。

Cardanoとはどんなコイン?

2018.08.02
Haskellとは?
Haskellはすべての式や関数が副作用を持たない純粋関数型言語に分類される。大きな特徴として、与えられた値を必要になるまで評価(計算)しない遅延評価という仕組みがあり、消費メモリ容量の節約やプログラム起動の高速化、無限に続く可能性のあるデータの容易な取り扱いなどが可能となっている。 Haskellとは – IT用語辞典

このように、Ocamlを採択するか否かは仮想通貨によって様々です。今後、TezosのようにOcamlで実装される仮想通貨が増えていくかどうか、動向に注目です。