Tangle(タングル) 図解 パート1:Tangleの紹介

この記事は原題『The Tangle: an Illustrated Introduction』の翻訳です。
ご参考までに公開します。必要だと思われる部分には言葉や構成を補っています。私の力不足のため、えいやで翻訳されている部分もあります。

Tangleの紹介

投稿者:Alon Gal
投稿日:2018年02月01日

今回は、IOTAがどのような仕組みで動作をしているかについてもっと学びたいという人たちを対象にしたビギナー・レベルの連載の第一回目です。大まかにホワイトペーパーに準じますが、もっとゆっくりと図を用いて諸々の基本的な概念を明らかにしていきます。この記事ではTangleについて紹介します。まずTangleとは何かについて説明してから、TangleがIOTAのリサーチ・チーム内で数学的にどのように研究されているかを解説します。

Tangleを理解するためには、コンピューター科学者たちが 有向グラフ(Directed graph)と呼ぶものが何かについて学ぶ必要があります。有向グラフとは、エッジ(矢印)によって相互に繋がっている頂点(四角)の集合のことです。下図は有向グラフの一例です。

TangleとはIOTAを支えるデータ構造であり、トランザクションを保持する特殊な有向グラフです。各トランザクションは有向グラフの中で頂点として表示されています。新しいトランザクションがTangleに加わると、先行する二つのトランザクションを選んで承認して、新たに二つのエッジを有向グラフに足します。上の図例の中では、5番のトランザクションは2番と3番のトランザクションを承認します。トランザクションとは、多かれ少なかれみなさんが思っているように”A氏がB氏に10枚のIOTAを与えた”という形式の情報です。「トランザクションの承認とは何を意味するのか」に関しては、後に詳しく述べるのでこの段階ではあまり気にしすぎないようにします。

未承認の諸々のトランザクションのことをチップス(訳注:チップの複数形)と呼んでいます。図例では、まだ承認されていない6番のトランザクションは一つのチップです。新たに到着してきた各トランザクションは、それぞれ二つのチップを選んで承認する必要があります(チップは必ず少なくとも一つはあります)。どの二つのチップを選んで承認するかというストラテジーは非常に大切で、IOTAの独特なテクノロジーの鍵となっています。しかし、ここでは分かりやすいように「全てのチップの中からランダムに選ぶ。新たに到着してきたトランザクションは、その時点で未承認の全てのトランザクションを見てから単純にランダムに二つを選ぶ。」という最もシンプルなストラテジーから始めましょう。

全員がこのランダムな選択ストラテジー(専門的には“uniform random tip selection(一様ランダムチップ選択)”と言う)を使うとTangleがどうなるかを見てもらうために、ヴィジュアル・シュミレーションを作りました。このシュミレーションはランダムにTangleを作り出します。(The genesisと呼ばれる)一番古い最初のトランザクションは左側に、一番新しいトランザクションは右側に表れます。未承認のトランザクションであるチップは灰色の四角で示されます。どれか一つのトランザクションの上にマウスのポインターを置くと、そのトランザクションに承認された全てのトランザクションは赤色に表示され、そのトランザクションを承認する全てのトランザクションは青色になります

今日はここまでにしましょう! 是非このシュミレーションで遊んでみてください。色々と設定を変えて弄ってみたり、ここやDiscordの#tanglemathチャネルで質問したりしてください。次の記事では、シュミレーションの中にもあるtransaction rate (λ)の意味を説明して、間接的承認者や隠れたチップなどのもっと高度な概念を紹介し、非荷重ランダムウォーク(the unweighted random walk)というもっと洗練されたチップ選択ストラテジーについて学びましょう。

パート2:新しいトランザクションの到着率と遅延時間とランダムウォーク
パート3:累積荷重と荷重ランダムウォーク
パート4:承認者と残高(バランス)と二重支払い
パート5:コンセンサスと確定の信頼度とコーディネーター

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です