2021年03月26日

●「『いろは』のどこが優れているか」(第5457号)

 「チューリングマシン」とは、数学者のアラン・チューリング
が開発したとされる、あらゆる問題が解ける仮想的な万能マシン
のことですが、それと同等の計算能力を持つ計算モデルのことを
「チューリング完全」というのです。重要なことは、ここでいう
「計算モデル」とはプログラミング言語を指すということです。
 ソラミツの宮沢和正氏は、「ハイパーレッジャーいろは」につ
いて、「あえて『チューリング完全』を選択せず、信頼できるA
PIのみを経由して動作させる」といっていますが、これは何を
意味しているのでしょうか。
 つまり、宮沢氏は、「ハイパーレッジャーいろは」は、チュー
リング完全な言語ではなく、チューリング不完全な言語であると
いうのです。チューリング不完全な言語とは、ある特定の目的に
対して専門化されている言語のことです。
 表計算ソフト「エクセル」を例をとって考えてみます。エクセ
ルは、あらゆる計算に対応できる万能なプログラムです。さらに
VBAというアプリケーションの拡張機能を使うと、計算エンジ
ンと組み合わせて、ほとんどの計算が可能になり、自動化も実現
できるのです。つまり、エクセルは「チューリング完全」といえ
ます。VBAはプログラミング言語です。VBAは次の言葉の省
略です。
─────────────────────────────
      ◎VBA
       Visual Basic for Applications
─────────────────────────────
 自動化に関連して、ブロックチェーンの「スマートコントラク
ト」について知る必要があります。スマートコントラクトはビッ
トコインの次に時価総額が大きい暗号資産(仮想通貨)「イーサ
リアム」に実装されている機能です。
 スマートコントラクトとは、プログラムに基いて自動的に契約
を実行できる技術のことです。スマートコントラクトとは、あら
かじめ契約内容を設定しておき、その条件を満たすと自動で契約
が結ばれます。この技術はブロックチェーンと組み合わさること
で信頼性の高い1対1の取引を実現することが可能になります。
 スマートコントラクトは、このブロックチェーンとスマートコ
ントラクトという別々の技術が一つに掛け合わさることで、化学
反応が起きているというようなイメージです。これについては、
添付ファイルを参照してください。
 契約というものは、次の4つで構成されており、A〜Cを自動
的に実施することができます。
─────────────────────────────
         @契約定義
         Aイベント発生
         B価値の交換、契約執行
         C決済
─────────────────────────────
 スマートコントラクトの提唱者は、米国の経済学者にして暗号
研究者のニック・サボ氏です。サボ氏は、スマートコントラクト
を表すものとして、自動販売機を例として上げています。
 自動販売機は、「利用者がお金を入れる」「飲みたいジュース
のボタンを押す」、すると、自動販売機からジュースが出てくる
──この流れを「利用者と自動販売機が契約した結果」と考える
と、お金の投入とボタンを押す行為は契約行為であり、この行為
が行われたときのみに自動販売機はサービスを提供します。つま
り、スマートコントラクトは、ある行為に紐付いた結果にいたる
までの契約の自動化をするためのものです。
 「イーサリスク」というスマートコントラクトを活用した分散
型保険プラットフォームがあります。イーサリスクでは、保険金
の支払い可否の判定や、支払いの実行を自動で行うことができま
す。保険金の支払いプロセスを自動化しているので、人件費の削
減につながり、ユーザーは割安な手数料でサービスを利用するこ
とができます。しかし、システムづくりには、プログラミングを
する必要があります。
 このように、世界の多くのブロックチェーンには、それぞれ特
殊な言語で記述する必要があります。
─────────────────────────────
  イーサリアム           ・・ Solidity
  ハイパーレッジャー・ファブリック ・・ Go
  リブラ(ディエム)        ・・ Move
─────────────────────────────
 これに対して、「ハイパーレッジャーいろは」について、宮沢
和正氏は、次のように述べています。
─────────────────────────────
 効率よくプログラミングするには、これらの言語に精通したエ
ンジニアと十分にテストされ、品質やセキュリティに関して問題
のない多種多様のライブラリーが必要になる。こうした特殊な技
能を持ったエンジニアの採用は困難で、給与水準も非常に高い。
 これに対して「ハイパーレッジャーいろは」は、パイソンやジ
ャバスクリプトなどの、ほとんどのソフトウェア・エンジニアが
知っているブログラミング言語で開発が可能である。
 つまり、ブロックチェーンのプログラミングは、特殊なスキル
を持った少数のエンジニアではなく、一般の多くのエンジニアが
開発・運用・メンテナンスできるようになる。
    ──宮沢和正著『ソラミツ/世界初の中銀デジタル通貨
      「バコン」を実現したスタートアップ』/日経BP
─────────────────────────────
 ここまでの検討で、ソラミツ社のブロックチェーン「ハイパー
レッジャーいろは」の使い勝手は、他のブロックチェーンに比べ
て、相当使いやすく、さまざまなシステム要件に合わせて設計で
きることがわかってきています。
              ──[デジタル社会論/057]

≪画像および関連情報≫
 ●スマートコントラクト言語にチューリング完全性は本当に
  必要か?ーSolidityの課題と代替案
  ───────────────────────────
   誰しもに、お気に入りの靴や、好きな食べ物があるのと同
  じように、誰にでもお気に入りのプログラミング言語がある
  でしょう。私がこの記事を書いているのは、あなたの好きな
  言語を諦めて欲しいからではありません。(どうか、私を信
  じてください、私はそんなことを言おうとは夢にも思いませ
  ん)。その代わりに、私は、私たちが一緒に旅をして、その
  旅が、私たちに考える機会をもたらしてくれることを望みま
  す。本稿では、「チューリング完全性」について議論し、ス
  マートコントラクト開発におけるその有用性を評価するとと
  もに、代替案を検討し、結果として同じ結論に到達できる期
  待を持っています。
   チューリング完全性についてよくご存知でない方に向けて
  とても簡潔な説明をしたいと思います。過去に聞いたことが
  あるが、詳細を忘れてしまった方にとっては、記憶を呼び戻
  す手助けになると思います。
   アラン・チューリングは数学者で「チューリングマシン」
  と呼ばれる仮想マシンを発明しました。この仮想マシンは、
  無限量のメモリにアクセスし、メモリー内でいつ書き込み、
  読み取り、移動すべきかを、決定するプログラムを実行しま
  す。また、どのような条件下で終了し、次に何をすべきかに
  ついてもプログラムが指示します。これらの条件に合ったプ
  ログラムを記述できるプログラミング言語はチューリング完
  全言語と呼ばれています。    https://bit.ly/3w00AlJ
  ───────────────────────────
 ●図の出典/https://bit.ly/3chrw8D
スマートコントラクト.jpg
スマートコントラクト
posted by 平野 浩 at 00:00| Comment(0) | デジタル社会論T | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント: [必須入力]