(57)【要約】【課題】本発明は、電子装置により、IoT暗号通貨IOTAに基づくタングルに新取引ノードを追加する方法を提供する。【解決手段】かかる方法、新取引ノードについて、タングルにおける既存の取引ノードのうちから、高さが同じである2つの取引ノードをランダム選択し；それぞれ2つの取引ノードを開始点とし、取引切り替え確率に基づいてタングルにおける取引ノードのうちから後続の取引ノードを選択し、それぞれ2つの取引ノードを開始点とする2つの取引ノードシーケンスを形成し；2つの取引ノードシーケンスがそれぞれ到達する未検証の2つの取引ノードを選択して検証を行い；及び、新取引ノードを検証後の2つの取引ノードに指向させることを含む。【選択図】図３
2020187739.tif 000002
【特許請求の範囲】
【請求項１】
電子装置により、IoT暗号通貨IOTAに基づくタングル（tangle）に新取引ノードを追加する方法であって、
前記新取引ノードについて、前記タングルにおける既存の取引ノードのうちから、高さが同じである2つの取引ノードをランダム選択し；
それぞれ前記2つの取引ノードを開始点とし、取引切り替え確率に基づいて前記タングルにおける取引ノードのうちから後続の取引ノードを選択し、それぞれ前記2つの取引ノードを開始点とする2つの取引ノードシーケンスを形成し；
前記2つの取引ノードシーケンスがそれぞれ到達する未検証の取引ノードを選択して検証を行い；
前記2つの取引ノードシーケンスがそれぞれ到達する未検証の2つの取引ノードを検証した場合、前記新取引ノードを検証後の前記2つの取引ノードに指向させることを含み、
前記取引切り替え確率は、切り替え前の取引ノードの属性及び切り替え後の取引ノードの属性に依存し、取引ノードの高さは、取引ノードからジェネシス・トランザクション・ノードまでの各経路のうちの最長経路の経路長さである、方法。
【請求項２】
請求項1に記載の方法であって、
前記電子装置は各自、可変パラメータ集合を有し、
前記可変パラメータ集合における各パラメータが、次の１つの取引ノードに切り替えられる前記取引切り替え確率を変えるように、変更され得る、方法。
【請求項３】
請求項2に記載の方法であって、
前記同じ高さが、前記可変パラメータ集合における１つのパラメータである、方法。
【請求項４】
請求項1〜3のうちの任意の1項に記載の方法であって、
高さが同じである前記2つの取引ノードの高さは、[0，全ての未承認の取引の高さのうちの最高値]という数値範囲からランダム選択される、方法。
【請求項５】
請求項1〜3のうちの任意の1項に記載の方法であって、
前記切り替え前の取引ノードの属性は、前記切り替え前の取引ノードに対して検証を行う取引ノードの数であり、
前記切り替え後の取引ノードの属性は、前記切り替え後の取引ノードの高さ及び前記切り替え後の取引ノードの累積重量であり、
前記切り替え後の取引ノードの累積重量とは、前記切り替え後の取引ノードの自重と、前記切り替え後の取引ノードに直接又は間接的に指向する各取引ノードの自重との和を指す、方法。
【請求項６】
請求項2又は3に記載の方法であって、
各電子装置は、その自身のT-scoreを計算し、前記T-score及び前記各電子装置の前記可変パラメータ集合をブロードキャストし、
前記各電子装置は、最大のT-scoreを取得し、前記最大のT-score及び前記各電子装置が計算するその自身のT-scoreに基づいて、対応する前記可変パラメータ集合を変更し、
前記各電子装置のT-scoreは、該電子装置が発行する未検証の取引ノードの数と負の相関があり、且つ単位時間内で他の電子装置が開始する取引ノードによって承認される回数と正の相関がある、方法。
【請求項７】
請求項6に記載の方法であって、
前記各電子装置は、計算を行って、現在の最大のT-scoreをブロードキャストした電子装置の前記最大のT-scoreに対してチェックを行い、チェックに失敗した場合、現在の最大のT-scoreよりも小さいもののうちの最大のT-scoreに対してチェックを、チェックに成功するまで行い、これにより、前記タングルにおける現在の最大のT-scoreを得る、方法。
【請求項８】
請求項6に記載の方法であって、
前記各電子装置は、全ての電子装置についてT-scoreを計算し、計算された最大のT-scoreをブロードキャストし、
全ての電子装置のうちの2/3超の電子装置が同一の電子装置からのT-scoreをブロードキャストした場合、全ての電子装置は、該T-scoreを現在の最大のT-scoreと見なす、方法。
【請求項９】
請求項2、3又は6に記載の方法であって、
前記各電子装置の前記可変パラメータ集合における各パラメータが所定の確率で突然変異する、方法。
【請求項１０】
少なくとも１つの処理器を含む電子装置であって、
前記少なくとも１つの処理器は、IoT暗号通貨IOTAに基づくタングル（tangle）に新取引ノードを追加するように構成され、
IoT暗号通貨IOTAに基づくタングル（tangle）に新取引ノードを追加することは、
前記新取引ノードについて、前記タングルにおける既存の取引ノードのうちから、高さが同じである2つの取引ノードをランダム選択し；
それぞれ前記2つの取引ノードを開始点とし、取引切り替え確率に基づいて前記タングルにおける取引ノードのうちから後続の取引ノードを選択し、それぞれ前記2つの取引ノードを開始点とする2つの取引ノードシーケンスを形成し；
前記2つの取引ノードシーケンスがそれぞれ到達する未検証の取引ノードを選択して検証を行い；
前記2つの取引ノードシーケンスがそれぞれ到達する未検証の2つの取引ノードを検証した場合、前記新取引ノードを検証後の前記2つの取引ノードに指向させることを含み、
前記取引切り替え確率は、切り替え前の取引ノードの属性及び切り替え後の取引ノードの属性に依存し、取引ノードの高さは、取引ノードからジェネシス・トランザクション・ノードまでの各経路のうちの最長経路の経路長さを指す、電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、IoT（Internet  of  Things）暗号通貨IOTAを実現するための装置及び方法に関する。
【背景技術】
【０００２】
IoT暗号通貨IOTAが１種の分散型台帳システムであり、その取引（トランザクション）承認速度が速く、且つ手数料が必要とされないので、IoTシナリオでの応用に非常に適している。IOTAにおける取引が有向非巡回グラフ「タングル」（tangle）に記憶される。tangleでは、各々の点が１つの取引を表し、各々の辺が1回の「直接承認」を表す。未承認（承認されていない）の取引が「tip」と称される。IOTAのP2Pネットワークでは、コンピュータ装置がノードとされ、或る装置ノードが１つの取引を開始しようとする場合、それは、tangleにおける2つの過去の取引を認証する必要がある。tangle全体及び「誠実な」装置ノードについて言えば、最も理想的なのは、装置ノードが毎回、未承認の取引を認証するのである。
【０００３】
tangleでは、或る取引について言えば、その「高さ」（height）が、ジェネシス・トランザクション（最初の取引であり、genesisとも称される）から該取引までの最大距離を表し；取引の「累積重量」（cumulative  weight）が、該取引を直接又は間接的に認証する全ての取引の重量の和と、該取引の自身の重量（自重）との合計を表す。
【０００４】
今のところ、3種類の主流の取引認証ポリシーがあり、即ち、1）tipをランダム選択するポリシー；2）高さに基づいてtipを選択するポリシー；及び、3）マルコフ連鎖モンテカルロ（MCMC）ポリシーである。また、3種類の典型的な攻撃シナリオがあり、即ち、1）大重量攻撃（large  weight  attack）；2）寄生チェーン攻撃（parasitic  chain  attack）；及び3）分割攻撃（splitting  attack）である。比較的安全なパラメータ設定を用いれば、マルコフ連鎖モンテカルロ（MCMC）は、この3種類の攻撃を防止することができるが、その認証効率が比較的低い。高さに基づく選択は、大重量攻撃を防止することができるが、寄生チェーン攻撃に対して効果がない。ランダム選択は、最も簡単であるため、その認証効率が最も高いが、それと同時に、最も脆弱であるため、攻撃に対応することができない。
【０００５】
発明者は、以上の問題を認識した上で、以上の問題を解決するために本発明を提案する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、電子装置（electronic  device）により、IoT暗号通貨IOTAに基づくタングル（tangle）に新取引ノードを追加する方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、電子装置により、IoT暗号通貨IOTAに基づくタングル（tangle）に新取引ノードを追加する方法が提供され、該方法は、
新取引ノードについて、タングルにおける既存の取引ノードのうちから、高さが同じである2つの取引ノードをランダム選択し；
それぞれ2つの取引ノードを開始点とし、取引切り替え確率に基づいてタングルにおける取引ノードのうちから後続の取引ノードを選択し、それぞれ2つの取引ノードを開始点とする2つの取引ノードシーケンスを形成し；
2つの取引ノードシーケンスがそれぞれ到達する未検証の取引ノードを選択して検証を行い；及び
2つの取引ノードシーケンスがそれぞれ到達する未検証の2つの取引ノードを検証した場合、前記新取引ノードを検証後の2つの取引ノードに指向させることを含み、
そのうち、取引切り替え確率は、切り替え前の取引ノードの属性及び切り替え後の取引ノードの属性に依存し、取引ノードの高さは、取引ノードからジェネシス・トランザクション・ノードまでの各経路のうちの最長経路の経路長さである。
【０００８】
本発明のもう１つの側面によれば、少なくとも１つの処理器を含む電子装置が提供され、少なくとも１つの処理器は、IoT暗号通貨IOTAに基づくタングル（tangle）に新取引ノードを追加する方法を行うように構成され、該方法は、
新取引ノードについて、タングルにおける既存の取引ノードのうちから、高さが同じである2つの取引ノードをランダム選択し；
それぞれ2つの取引ノードを開始点とし、取引切り替え確率に基づいてタングルにおける取引ノードのうちから後続の取引ノードを選択し、それぞれ2つの取引ノードを開始点とする2つの取引ノードシーケンスを形成し；
2つの取引ノードシーケンスがそれぞれ到達する未検証の取引ノードを選択して検証を行い；及び
2つの取引ノードシーケンスがそれぞれ到達する未検証の2つの取引ノードを検証した場合、前記新取引ノードを検証後の2つの取引ノードに指向させることを含み、
そのうち、取引切り替え確率は、切り替え前の取引ノードの属性及び切り替え後の取引ノードの属性に依存し、取引ノードの高さは、取引ノードからジェネシス・トランザクション・ノードまでの各経路のうちの最長経路の経路長さである。
【０００９】
本発明によるIoT暗号通貨IOTA技術ベースのIOTA装置ノードを採用することで、環境の変化（攻撃者が攻撃を仕掛けたかどうか）に基づいて、環境に適したポリシーを選択することができる。これにより、攻撃を防ぐことができ、また、トランザクション認証の速度を上げることもできる。
【図面の簡単な説明】
【００１０】
【図１】IOTAに基づくタングルのロジック構造を示す図である。
【図２Ａ】IOTAに基づくタングルに対しての大重量攻撃方式を示す図である。
【図２Ｂ】IOTAに基づくタングルに対しての寄生チェーン攻撃方式を示す図である。
【図２Ｃ】IOTAに基づくタングルに対しての分割攻撃方式を示す図である。
【図３】本発明の実施例によるIoT暗号通貨IOTAに基づくタングルに新取引ノードを追加する方法のフローチャートである。
【図４】本発明の実施例における電子装置の構成図である。
【図５】本発明の実施例によるタングルに新取引ノードを追加する方法を実現し得る汎用マシン500の構成図である。
【発明を実施するための形態】
【００１１】
以下、添付した図面を参照しながら、本発明を実施するための好適な形態を詳細に説明する。なお、このような実施形態は、例示に過ぎず、本発明を限定するものでない。
【００１２】
ビットコインの台頭と成功は、ブロックチェーン技術の価値を証明している。しかし、このような技術には、多くの欠点もあり、これらの欠点は、このような技術が世界中の暗号通貨の唯一のプラットフォームになることを妨げている。また、これらの欠点のうち、ビットコインが小額の支払いを行うことができないことは特に言及する価値がある。一方、小額の支払いは、急速に成長するIoT業界における重要性が増え続けている。これは、ビットコイン及び他の暗号通貨に基づくブロックチェーン技術と全く異なる解決案を見つけることを要する。
【００１３】
図1は、IOTAに基づくタングルのロジック構造を示す図である。
【００１４】
IOTAに基づく暗号通貨システムは、世界中の既存のハードウェアに基づくIoTシステムにおける1種の通貨を作るために用いられる。一般的な場合、IOTAは、次のような方式で動作し、即ち、グローバルブロックチェーンが存在せず、ここでは１つの有向非巡回グラフ（DAG）であり、それはタングル（tangle）とも称される。ノード装置が開始する全ての取引により、この有向非巡回グラフDAGの集合を構成することができる。このグラフにおける辺が次のように形成され、即ち、１つの新しい取引が到達すると、それはその前の2つの取引を検証しなければならず、これらの検証関係は、図1（図1では、時間の方向が常に左から右である。）に示すように、方向有り辺により表される。取引Aから取引Bまでの間に少なくとも2つの方向有り辺の経路が存在すれば、取引Aは、取引Bを間接的に検証したのである。ここで、ノードが、認証される取引に衝突が存在するかをチェックし、また、衝突有り取引を直接又は間接的に認証することがないとする。それは、取引が益々直接又は間接的な取引によって検証されると、この取引はシステムによって受け入れられるからである。
【００１５】
IOTAの役割を説明するためだけであり、図1では、取引Gの高さが1であり、深さが（逆経路F-B-Aが原因で）3であるが、取引Dの高さが2であり、深さも2である。1つの取引の累積重量が、その自身の重量と、該取引が検証する全ての取引の自身の重量との合計として定義され、また、tipsとして取引A及び取引Cだけがある。取引Aが取引B、D、F、Gを直接又は間接的に検証したので、取引Aの累積重量は、1+3+1+3+1=9である。同様に、取引Cの累積重量は、1+1+1+3+1=7である。
【００１６】
以下、IOTAに対しての幾つかの攻撃方式について紹介する。
【００１７】
図2Aは、IOTAに対しての大重量攻撃方式を示す図である。
【００１８】
図2Bは、IOTAに対しての寄生チェーン攻撃方式を示す図である。
【００１９】
図2Cは、IOTAに対しての分割攻撃方式を示す図である。
【００２０】
図2Aに示す大重量攻撃について次のように説明する。攻撃者が販売者に支払い、販売者により、この取引が十分大きい累積重量を得ていると認められた後に、攻撃者は、商品を手に入れた。続いて、攻撃者が二重支払いの取引202を発行し、そして、大量の比較的小さい取引（非常に多い。その全ての計算能力を発揮する。）を送信し、これらの取引は、最初の支払い取引を直接又は間接的に検証せず、その二重支払いの取引を検証する。このようにして、攻撃者は、大量のシビル攻撃のアイデンティティー（身分）を有し、且つtipsに対して検証を行わない。また、もう１つの攻撃案を採用しても良く、即ち、攻撃者がその全ての計算能力を使って１つの「大」（large）の二重支払いの取引（例えば、非常に大きい自重を有する。）を送信し、且つ最初の支払い取引の前に大量の取引に対して検証を行っている。この場合、攻撃者は、その子タングルが主タングルを超えることで、タングルが持続的に攻撃者の二重支払いの取引から増長し、その前の合法的な支払いの取引201が破棄されるようにさせることを期待する（図2Aに示すように）。このような「大」の二重支払い取引ポリシーは、攻撃者が成功する可能性を高めることができる。しかも、このような数学モデルの「理想的な」場合、このような攻撃は常に成功する可能性がある。
【００２１】
図2Bに示す寄生チェーン攻撃において、攻撃者は、密かに寄生チェーン204を作成し、また、偶に主タングル203の検証に指向させることで、より多くのポイント（なお、良いtips  206のポイントがほぼ主ネットワークにおける全ての自重の和であるが、攻撃者のtipsは、さらに、寄生チェーンにおける全ての自重を含む。）を取得する。また、このチェーンを単独で作成した攻撃者について言えば、強力なコンピュータを有し、ネットワーク遅延が問題でないので、攻撃者は、寄生tipsがより高い高さを有する寄生チェーンを得ることができる。最後に、誠実なノードの使用する選択ポリシーが、既存のtipsに対して幾つかの簡単な選択を行うのであれば、攻撃者のtipsの数は、攻撃時に任意に増加することができる。よって、攻撃者は、他の取引が寄生チェーンに対して検証及び指向を行うようにさせることで、「良い」タングルを分離させて寄生チェーン攻撃を実現することができる。なお、図2Bにおける怠惰な（lazy）tips  205とは、幾つかの前の取引を意図的に認証することで取引の検証を行うことを回避するものを指す。
【００２２】
図2Cに示す分割攻撃において、タングルの高負荷領域で、攻撃者は、タングルを2つのブランチに分割（スプリト）し、この2つのブランチにおいて全て自分のバランスを保つことで、この2つのブランチが継続して増長するようにさせる試みを行う。このような状況を避けるために、誠実なノードが同時に2つのブランチに指向する（2つのブランチを有効に合併する）ことができるため、攻撃者は、分割開始時に少なくとも2つの互いに衝突する取引を入れなければならない。その後、相対的に比較的小さい計算能力を有しても、ネットワークにおけるほぼ各半分の取引が2つのブランチに貢献するようにさせることで、ランダムな変動を「補償」し得ることを望む。このようにして、攻撃者は、2つのブランチにおいて全てこの資金を使用することができる。
【００２３】
以上の３種類の攻撃方式に対応して、図3は、本発明の実施例による、IoT暗号通貨IOTAに基づくタングル（tangle）に新取引ノードを追加する方法のフローチャートを示している。
【００２４】
取引を発行する装置ノードがP2Pネットワークを形成し、また、P2Pネットワークにおける各装置ノードは全て本発明による方法を採用することによってのみ機能することができる。このような方法は、装置の角度から、「P2Pネットワークにおける複数の装置ノードが自身の一部の情報をシェアすることでネットワーク全体の安全性及び効率を調整する方法」と理解することができる。なお、図3に示すステップ301の前に以下の如く初期化処理を行っても良い。
【００２５】
P2Pネットワークにおける各装置ノードに初期パラメータ値を与える。一例として、パラメータが次のようなトリプル、即ち、(α，β，h)であっても良く、そのうち、α≧0，β≧0，h≧0であり、各装置ノードのために数値範囲内でパラメータ値をランダム選択することができる。以下、例としての１つの参照用の数値範囲を挙げる。
【００２６】
α∈[0，100]，β∈[0，100]，h∈[0，全ての未承認の取引の高さのうちの最高値]
このような初期化プロセスを完了した後に、図3に示す方法のフローに進むことができる。なお、上述の初期化プロセスは、必ずしも新取引ノードを追加する過程において行う必要がなく、ニーズに応じて随時に各装置ノードで予め設定しても良い。
【００２７】
ステップ301では、１つの装置ノードが発行する新取引ノードについて、該装置ノードは、タングルにおける既存の取引ノードのうちから、高さがhである2つの未認証の取引ノード（tip）を開始点としてランダム選択（任意選択）する。即ち、各装置ノードは、毎回、2つのtipを選択して認証を行う。
【００２８】
ステップ302では、それぞれこの2つの取引ノードを開始点とし、取引切り替え確率に基づいてタングルにおける取引ノードのうちから後続の取引ノードを選択し、それぞれこの2つの取引ノードを開始点とする2つの取引ノードシーケンスを形成する。具体的には、開始点取引から終点tipへの方向で終点tipに到達する２つの経路を見つけ、経路の各ステップにおいて、１つの取引が、該取引を直接認証する１つの取引に指向する。１つの取引を直接認証する取引が複数ある可能性があり、毎回、次のステップの各取引を選択する確率（即ち、取引切り替え確率）が以下の公式（1）により計算され得る。
【数１】
2020187739.tif 000003
【００２９】
公式（1）では、xは、現在の取引を表し、yは、xを直接認証する或る取引を表し、Zは、xを直接認証する全ての取引の集合を表し、CWyは、取引yの累積重量を表し、Hyは、取引yの高さを表す。公式（1）から分かるように、取引切り替え確率は、切り替え前の取引ノード（現在の取引x）の属性及び切り替え後の取引ノード（切り替え先の取引ノードy）の属性に依存する。
【００３０】
α=0、β=0、且つhがその数値範囲内の最大値であることを同時満足するときに、該ポリシーは、前述のようなtipをランダム選択するポリシーに近く；α=0、且つhがその数値範囲内の最大値であることを同時満足するときに、該ポリシーは、前述のような高さに基づいてtipを選択するポリシーに近く；β=0を満足するときに、該ポリシーは、前述のようなマルコフ連鎖モンテカルロ（MCMC）ポリシーである。
【００３１】
このような取引切り替え確率を用いて後続の取引ノードを見つけ続けることで、2つの取引ノードシーケンスを形成することができる。次に、ステップ303では、この2つの取引ノードシーケンスがそれぞれ到達する未検証の2つの取引ノード（終点）を選択して検証を行う。この2つの取引ノードシーケンスがそれぞれ同一の取引ノードに到達した場合、ステップ301に戻って開始点を再びランダム選択し、このような処理は、この2つの取引ノードシーケンスがそれぞれ未検証の2つの取引ノードに到達するまで、繰り返して行われる。
【００３２】
最後に、ステップ304では、2つの取引ノードシーケンスがそれぞれ到達する未検証の2つの取引ノードを検証した場合、新取引ノードを検証後の2つの取引ノードに指向させる。このようにして、新発行の取引ノードを現在のタングルに追加することができる。
【００３３】
本発明のもう１つの実施例によれば、装置ノードが上述のステップ304を行った後に、装置ノードは、さらに、以下の公式（2）のTPSスコア（T-score）に基づいてパラメータ組(α，β，h)を変えることで、公式（1）に基づく取引切り替え確率を変えることができる。各装置ノードは、以下の公式（2）で自分のT-scoreを計算することができる。
【数２】
2020187739.tif 000004
【００３４】
そのうち、NATtは、時間t内で、該装置ノードが開始する取引が、他の装置ノードが開始する取引によって承認される回数を表す。公式（2）から分かるように、取引ノードに対応する各電子装置のT-scoreは、該電子装置が発行する未検証の取引ノードの数と負の相関があり、且つ単位時間内で他の電子装置が開始する取引ノードによって承認される回数と正の相関がある。
【００３５】
装置ノードがT-scoreを計算した後に、各装置ノードは、上述の同じルールを採用する他の装置ノードに自分のT-score及び各パラメータ値を送信する。
【００３６】
各装置ノードは、その受信したグローバル最適T-score（gbt）が有効であるかを確認し、有効である場合、gbtに対応する装置ノードのパラメータ及び自身の過去最適T-score（pbt）時の自身のパラメータに基づいて現在の自身のパラメータを変更し、現在のgbtが有効でない場合、グローバル第二順位T-scoreを得て検証を行い、これに基づいて類推し、タングルにおける現在の最大のT-score（gbt）を見つけるまで、このような処理を行う。そのうち、グローバル最適T-score（gbt）とは、現在の最大のT-scoreをブロードキャストした電子装置の該最大のT-scoreを指す。
【００３７】
現在の最適の有効なT-scoreを確定した後に、該現在の最適の有効なT-scoreに基づいて、所定のルールに従って、装置ノードのパラメータ組(α，β，h)を変更することができる。変更する方法は、以下に示すものであっても良いが、これに限定されない。
【数３】
2020187739.tif 000005
【００３８】
上記公式（3）、（4）では、ベクトル
（外1）
2020187739.tif 000006
は、装置ノードのパラメータ(α，β，h)からなるベクトル[α，β，h]を表す。Tは、現在の時刻を表し、t+1は、次の１つの時刻を表し、rand1及びrand2は、乱数であり、c0は、所定の重量係数であり、変更の程度を決定するものであり、gbt及びpbtの意味は、前述の通りであり、ベクトル
（外2）
2020187739.tif 000007
は、パラメータ組ベクトルの変更量を表し、初期値が例えば0であっても良い。
【００３９】
このようにして、公式（1）に基づく取引切り替え確率の計算もそれ相応に変更されるため、適応的かつ動的に攻撃を防止することができ、また、適応的且つ動的に取引認証の速度を向上させることもできる。
【００４０】
オプションとして、本発明の他の実施例によれば、装置ノードが上述のステップ304を行った後に、装置ノードは、さらに、以下の方法で装置ノードのパラメータ組を変えて取引切り替え確率を変更することができる。
【００４１】
各装置ノードは、上述の同じルールを採用する全ての装置ノードについて、公式（3）を用いてT-scoreを計算する。各装置ノードは、その計算により得られたT-score（gbt）をブロードキャストする。或る装置ノードは、2/3超の装置ノードからの同じT-score（gbt）のメッセージを受信した場合、該gbt値を採用し、そして、gbtに対応する装置ノードのパラメータ及び自身の過去最適T-score（pbt）時の自身のパラメータに基づいて現在の自身のパラメータ組(α，β，h)を変更する。変更する方法は、上記公式（3）、（4）に基づく方法と同様であるが、これに限られない。
【００４２】
本発明の他の実施例によれば、装置ノードが装置ノードのパラメータ組を変えて取引切り替え確率を変更する場合、各装置ノードのパラメータ組は、さらに、所定の確率pm(0＜pm＜1)で突然変異しても良い。
【００４３】
図4は、本発明の実施例における電子装置の構成図である。図4に示す電子装置400は、少なくとも１つの処理器401を含み、それは、IoT暗号通貨IOTAに基づくタングルに新取引ノードを追加する方法を実行するように構成され、該方法は、新取引ノードについて、タングルにおける既存の取引ノードのうちから、高さが同じである2つの取引ノードをランダム選択し；それぞれ2つの取引ノードを開始点とし、取引切り替え確率に基づいてタングルにおける取引ノードのうちから後続の取引ノードを選択し、それぞれ2つの取引ノードを開始点とする2つの取引ノードシーケンスを形成し；2つの取引ノードシーケンスがそれぞれ到達する未検証の取引ノードを選択して検証を行い；2つの取引ノードシーケンスがそれぞれ到達する未検証の2つの取引ノードを検証した場合、前記新取引ノードを検証後の2つの取引ノードに指向させることを含み、そのうち、取引切り替え確率は、切り替え前の取引ノードの属性及び切り替え後の取引ノードの属性に依存し、取引ノードの高さは、取引ノードからジェネシス・トランザクション・ノードまでの各経路のうちの最長経路の経路長さである。また、電子装置は、さらに、記憶ユニット及び／又は通信ユニット（図示せず）を含んでも良く、そのうち、記憶ユニットは、取引ノードなどの情報を記憶するために用いられ、通信ユニットは、通信データを送受信するために用いられる。
【００４４】
図5は、本発明の実施例によるタングルに新取引ノードを追加する方法を実現し得る汎用マシン500の構成図である。汎用マシン500は、例えば、コンピュータシステムであっても良い。なお、汎用マシン500は、一例にすぎず、本発明による方法及び装置の使用範囲又は機能がこれに限定されることを意味しない。また、汎用マシン500は、上述の方法及び装置における任意のモジュールやアセンブリなど又はその組み合わせに依存することもない
図5では、中央処理装置（CPU）501は、ROM  502に記憶されているプログラム又は記憶部508からRAM  503にロッドされているプログラムに基づいて各種の処理を行う。RAM  503では、ニーズに応じて、CPU  501が各種の処理を行うときに必要なデータなどを記憶することもできる。CPU  501、ROM  502及びRAM  503は、バス504を経由して互いに接続される。入力／出力インターフェース505もバス504に接続される。
【００４５】
また、入力／出力インターフェース505には、さらに、次のような部品が接続され、即ち、キーボードなどを含む入力部1306、液晶表示器（LCD）などのような表示器及びスピーカーなどを含む出力部507、ハードディスクなどを含む記憶部508、ネットワーク・インターフェース・カード、例えば、LANカード、モデムなどを含む通信部509である。通信部509は、例えば、インターネット、LANなどのネットワークを経由して通信処理を行う。
【００４６】
ドライブ510は、ニーズに応じて、入力／出力インターフェース505に接続されても良い。取り外し可能な媒体511、例えば、半導体メモリなどは、必要に応じて、ドライブ510にセットされることにより、その中から読み取られたコンピュータプログラムを記憶部508にインストールすることができる。
【００４７】
また、本発明は、さらに、マシン可読指令コードを含むプログラムプロダクトを提供する。このような指令コードは、マシンにより読み取られて実行されるときに、上述の本発明の実施形態における方法を実行することができる。それ相応に、このようなプログラムプロダクトをキャリー（carry）する、例えば、磁気ディスク（フロッピーディスク（登録商標）を含む）、光ディスク（CD-ROM及びDVDを含む）、光磁気ディスク（MD（登録商標）を含む）、及び半導体記憶器などの各種記憶媒体も、本発明に含まれる。
【００４８】
また、上述の方法における各操作（処理）は、各種のマシン可読記憶媒体に記憶されているコンピュータ実行可能なプログラムの方式で実現することもできる。
【００４９】
また、以上の実施例などに関し、さらに以下のように付記として開示する。
【００５０】
（付記1）
電子装置により、IoT暗号通貨IOTAに基づくタングル（tangle）に新取引ノードを追加する方法であって、
前記新取引ノードについて、前記タングルにおける既存の取引ノードのうちから、高さが同じである2つの取引ノードをランダム選択し；
それぞれ前記2つの取引ノードを開始点とし、取引切り替え確率に基づいて前記タングルにおける取引ノードのうちから後続の取引ノードを選択し、それぞれ前記2つの取引ノードを開始点とする2つの取引ノードシーケンスを形成し；
前記2つの取引ノードシーケンスがそれぞれ到達する未検証の取引ノードを選択して検証を行い；
前記2つの取引ノードシーケンスがそれぞれ到達する未検証の2つの取引ノードを検証した場合、前記新取引ノードを検証後の前記2つの取引ノードに指向させることを含み、
前記取引切り替え確率は、切り替え前の取引ノードの属性及び切り替え後の取引ノードの属性に依存し、取引ノードの高さは、取引ノードからジェネシス・トランザクション・ノードまでの各経路のうちの最長経路の経路長さである、方法。
【００５１】
（付記2）
付記1に記載の方法であって、さらに、
前記電子装置は各自、可変パラメータ集合を有し、前記可変パラメータ集合における各パラメータは、次の１つの取引ノードに切り替えられる前記取引切り替え確率を変えるように変更され得る、方法。
【００５２】
（付記3）
付記2に記載の方法であって、さらに、
前記同じ高さは、前記可変パラメータ集合における１つのパラメータである、方法。
【００５３】
（付記4）
付記1-3のうちの１つに記載の方法であって、
高さが同じである前記2つの取引ノードの高さは、[0，全ての未承認の取引の高さのうちの最高値]からランダム選択される、方法。
【００５４】
（付記5）
付記1-3のうちの１つに記載の方法であって、
前記切り替え前の取引ノードの属性は、前記切り替え前の取引ノードに対して検証を行う取引ノードの数であり、前記切り替え後の取引ノードの属性は、前記切り替え後の取引ノードの高さ及び前記切り替え後の取引ノードの累積重量であり、前記切り替え後の取引ノードの累積重量とは、前記切り替え後の取引ノードの自身の重量と、前記切り替え後の取引ノードに直接又は間接的に指向する各取引ノードの自身の重量との和を指す、方法。
【００５５】
（付記6）
付記2又は3に記載の方法であって、さらに、
各電子装置は、その自身のT-scoreを計算し、そして、前記T-score及び前記各電子装置の前記可変パラメータ集合をブロードキャストし、
前記各電子装置は、最大のT-scoreを取得し、そして、前記最大のT-score及び前記各電子装置が各自計算する自身のT-scoreに基づいて、対応する前記可変パラメータ集合を変更し、前記各電子装置のT-scoreは、該電子装置が発行する未検証の取引ノードの数と負の相関があり、且つ単位時間内で他の電子装置が開始する取引ノードによって承認される回数と正の相関がある、方法。
【００５６】
（付記7）
付記6に記載の方法であって、さらに、
前記各電子装置は、計算を行って、現在の最大のT-scoreをブロードキャストした電子装置の前記最大のT-scoreに対してチェックを行い、チェックに失敗した場合、現在の最大のT-scoreよりも小さいもののうちの最大のT-scoreに対してチェックを、チェックに成功するまで行い、これにより、前記タングルにおける現在の最大のT-scoreを得る、方法。
【００５７】
（付記8）
付記6に記載の方法であって、さらに、
前記各電子装置は、全ての電子装置についてT-scoreを計算し、そして、計算された最大のT-scoreをブロードキャストし、
全ての電子装置のうちの2/3超の電子装置が同一電子装置からのT-scoreをブロードキャストした場合、全ての電子装置は、該T-scoreを現在の最大のT-scoreと見なす、方法。
【００５８】
（付記9）
付記2、3又は6に記載の方法であって、さらに、
前記各電子装置の前記可変パラメータ集合における各パラメータが所定の確率で突然変異する、方法。
【００５９】
（付記10）
少なくとも１つの処理器を含む電子装置であって、
前記少なくとも１つの処理器は、IoT暗号通貨IOTAに基づくタングル（tangle）に新取引ノードを追加するように構成され、
IoT暗号通貨IOTAに基づくタングル（tangle）に新取引ノードを追加することは、
前記新取引ノードについて、前記タングルにおける既存の取引ノードのうちから、高さが同じである2つの取引ノードをランダム選択し；
それぞれ前記2つの取引ノードを開始点とし、取引切り替え確率に基づいて前記タングルにおける取引ノードのうちから後続の取引ノードを選択し、それぞれ前記2つの取引ノードを開始点とする2つの取引ノードシーケンスを形成し；
前記2つの取引ノードシーケンスがそれぞれ到達する未検証の取引ノードを選択して検証を行い；
前記2つの取引ノードシーケンスがそれぞれ到達する未検証の2つの取引ノードを検証した場合、前記新取引ノードを検証後の前記2つの取引ノードに指向させることを含み、
前記取引切り替え確率は、切り替え前の取引ノードの属性及び切り替え後の取引ノードの属性に依存し、取引ノードの高さは、取引ノードからジェネシス・トランザクション・ノードまでの各経路のうちの最長経路の経路長さを指す、電子装置。
【００６０】
（付記11）
付記10に記載の電子装置であって、
前記電子装置は、P2Pネットワークにおける装置である、電子装置。
【００６１】
（付記12）
コンピュータ可読プログラムを記憶したコンピュータ可読記憶媒体であって、
前記プログラムは、コンピュータにより実行されるときに、コンピュータを付記10又は11に記載の装置とすることができる、コンピュータ可読記憶媒体。
【００６２】
以上、本発明の好ましい実施形態を説明したが、本発明はこの実施形態に限定されず、本発明の趣旨を離脱しない限り、本発明に対するあらゆる変更は、本発明の技術的範囲に属する。
【図１】
2020187739.tif 000008
【図２Ａ】
2020187739.tif 000009
【図２Ｂ】
2020187739.tif 000010
【図２Ｃ】
2020187739.tif 000011
【図３】
2020187739.tif 000012
【図４】
2020187739.tif 000013
【図５】
2020187739.tif 000014