分散型台帳技術IOTAって何??
IOTAとは?
IOTAは、P2P型決済及びデータ共有網、暗号通貨である。ビットコインやイーサリアム などのブロックチェーン型暗号通貨とは違い、Tangleと呼ばれる有効非巡回グラフを利用して分散型台帳を実装している。Tangle上で行われる価値交換は暗号通貨であるIOTAトークンを介して行われる。
有効非巡回グラフは、グラフ理論における閉路のない有向グラフのことである。グラフ理論は、ノードの集合とエッジの集合で構成されるグラフに関する数学の理論である。これは、グラフが持つ様々な性質を探求する目的がある。グラフは、「繋がり方」に着目して抽象化された「点とそれらを結ぶ線」、また、「どちらからどちらに繋がっているか」を示す概念である。エッジに矢印がついている場合は、有向グラフ、矢印のないグラフは無向グラフという。閉路とは、始点と終点が同じ道のことで、出発点に戻るような辿り方であって頂点の重複がないグラフのことである。
つまり、グラフ理論における閉路のない有効グラフとは、エッジの矢印が巡回しないような性質を持つグラフである。
IOTAのトランザクションはP2Pネットワークの参加者が共有するTangle上で、仲介者なしにユーザーが発行する。つまり、ブロックチェーンのようにマイナーは存在しない。ユーザーがトランザクションを発行するためには、Tangle上の他の二つの過去のトランザクションを承認する必要がある。そして、送信されたトランザクションが受け手から確定したと認められるためには、十分なレベルの承認を集めなくてはならない。このシステムは、従来のブロックチェーンの課題であるスケーラビリティや取引手数料に対して効果的なアプローチ手法となっている。
Tangle
Tangleと呼ばれるIOTAの分散台帳は、ブロックもチェーンもない構造となっているので、予めブロック時間を決めておく必要がなく、ネットワーク上のトランザクション数が増えると最終的にトランザクションのスピードが速くなる。これは、トランザクションの生成をするためには、他の二つのトランザクションを承認する必要性があることに起因している。しかし、トランザクションが確定されるまでの時間には、Tangleのトポロジー(位相)やネットワーク内のノードの位置など様々な要因も影響する。トポロジー(位相)とは、大まかに言えば集合の元が互いにどの程度空間的に関連があるのを示す数学的構造である。これを情報科学よりに言うと、ネットワークの接続形態を点と線でモデル化したものである。TangleはIOTAのトランザクションを保管する公開台帳であると同時に、非中央集権化されていて中央で管理するものは存在せず、メッシュネットワークのトポロジーに従って組織化されるノード間のネットワークによって維持されている。メッシュネットワークとは、通信ネットワークの構成の一つで、複数の中継機器が互いに対等な関係で網の目(mesh)状の伝送経路を形成し、データをバケツリレー式に転送する方式だ。
IOTAのトランザクションを送るために、送信者はTangle上の他の二つのトランザクションを承認しなければならない。Tangleのユニークな承認作業の並列化を可能としているのは、Tangleが非同期システムだからだ。これは、承認作業が逐次的に行われる同期型のブロックチェーンとは対照的なシステムである。IOTAでは、送られてくるトランザクションが多いほど確定されるトランザクションが多いため、スループットはネットワーク上のトランザクションの数に比例して拡大していくことを意味する。対照的に従来のブロックチェーンは、予めブロック生成周期とブロックサイズが決まっているのでスループットに制限がある。
Proof of Work
トランザクションを送る際に送信者はTangle上の他の二つのトランザクションに対してProof of workによって承認作業を行う。Proof of Workとは、中央管理者を介せず取引を行うP2Pネットワークにおいて偽りの取引情報を排除しながら、何が正当な取引情報なのかを決定・管理するための仕組み(コンセンサスアルゴリズム)を指す。これを実現するためにハッシュ関数の逆算を行なっている。Bitcoinでは、出力されるハッシュ値がある一定の条件をクリアするために膨大な計算量が必要である一方、IOTAのProof of Workの難易度は高くなく、ノートパソコンやスマートフォンなどのほとんどのデバイスで実行できる。あるいは、Proof of Workを効率的に実行できるように特化された外部のデバイスやサービスにアウトソースすることもできる。このようにIOTAのProof of Workのシステム要件は、マイナーと承認者が別々の暗号通貨で使われているものとは異なって、極小のマイクロコントローラーに適したものとなっている。マイクロコントローラーは、主に電子機器などの組込システムに使われる集積回路の一つである。集積回路は、半導体の表面に微細かつ複雑な電子回路を形成した上で封入した電子部品である。トランザクションと検証作業を同じ工程に配置することで、承認者に対してトークンの生成やトランザクション手数料などのインセンティブ を与える必要性も排除できる。
供給数量
IOTAの総供給数量は、2,779,530,283,277,761枚である。この数量は三進法の計算に最適化されたもので、国際単位系としては、2.779×10の15乗として表される。IOTAの供給数量は約2.8×10の15乗であるのに対して、Bitcoinの供給数量は最小単位であるSatoshiで数えると2.1×10の15乗である。IOTAはBitcoinと比べて総供給数量が多いことに加えて、整数の値のみを扱っている。そのため、四捨五入問題を回避することができ、供給数量が多く、トランザクションの手数料もかからないので特にマイクロペイメントに適している。
暗号理論
IOTAは楕円曲線暗号ではなく、ヴィンテルニッツハッシュベース暗号を用いている。楕円曲線暗号は、楕円曲線上の離散対数問題の困難性を安全性の根拠とする暗号である。取引所は楕円曲線暗号を用いて秘密鍵を生成し、SHA-256などのハッシュ関数を用いてアドレスを生成している。楕円曲線暗号は具体的な暗号方式の名前ではなく、楕円曲線を利用した暗号方式の総称である。楕円曲線上の離散対数問題とは、楕円曲線上の点Gをn倍すると点Xに到達する場合に、nとGからXを求めるのは容易な一方、XとGからnを求めることは困難で効率よく計算する方法は発見されていないという問題のことだ。これを利用して、nを元に秘密鍵を、GとXを元に公開鍵を作成することで公開鍵を知られても秘密鍵を創り出すことが困難な公開鍵暗号を構築することができる。
しかし、楕円曲線暗号の肝である離散対数問題は量子アルゴリズムによって解決することができるという見通しが立っている。これは、ビットコインのブロックを生成するために暗号学的なナンスを見つけ出すプロセスは、量子コンピュータが用いられた総当たり攻撃に対して脆弱となるからだ。従来型のコンピュータが解決するためにはΘ(N)回の演算処理を必要とするが、量子コンピュータではΘ(√N)回の演算処理だけで済む。そのため、量子コンピュータなら従来型コンピュータより約何百億倍も効率的にビットコインのマイニングができる可能性がある。このようにビットコインのようなブロックチェーンには量子コンピュータに対する脆弱性があることがわかっている。
一方で、IOTAで用いられているヴィンテルニッツハッシュベース暗号は、楕円曲線暗号よりはるかに速度が速いだけでなく、署名と検証作業がかなり簡略化されており、Tangleプロトコルの全体的な複雑性が軽減されている。ハッシュベース暗号は素因数分解や離散対数のような数学的な問題の困難性を利用するのではなく、暗号学的ハッシュ関数によって確立されるセキュリティに基づいている。また、ここで生成される秘密鍵は一度使用したら使い捨てる仕組みとなっている。