SlideShare a Scribd company logo
1 of 26
Download to read offline
トラストチェーンコンセンサス
COTI: 仲介システムを持つ分散型トラストベースオンライン決済システム
テクニカルホワイトペーパー V2.0、 2018 年 3 月 1 日
概要
一般的なオンライン決済ソリューションは、特に暗号通貨においては、量とスピードを拡大する能力に
欠けています。ブロックチェーンベースの技術がいくつも作り出され、安価で高いトランザクションス
ループットを提供する課題に取り組んできましたが、それらのほとんどは成功していません。もう一つ
の課題は未知の当事者間における信頼の欠如で、無数の支払い拒否とトランザクションのキャンセルを
引き起こす原因となっています。さらに、店舗は実際の彼らの行動によってではなく特定の業界との結
びつきから「ハイリスク」または「ローリスク」であると判断されてしまいます。
COTI(インターネット上の通貨)は、トラストベースのアルゴリズムを利用して時間とともに繋がれる
トランザクションから築かれた、有向非巡回台帳型の革新的ベースレイヤープロトコルでこれらの課題
を解決します。信用(トラスト)は、過去の行動データと買い手/店舗の客観的情報を組み合わせたもの
をベースにしなければなりません。COTI はこれを考慮し、独自の機械学習アルゴリズムを使用してとr
トラストスコア(信用スコア)を計算します。トラストチェーンアルゴリズム内の信用情報は、トラン
ザクションの検証と確認をより高速に行うために使用されます。トラストチェーンは、同様の信用度を
持つ以前のトランザクション 2 つに新たなトランザクションを添付することで成長します。これによ
り、革新的なコンセンサスベースの確認メカニズムが生まれ、そこでは高いレベルの信用を得ることが
利益(より速い確認時間など)につながるため、すべてのユーザーが信頼構築行動に従事するようにな
ります。
COTI は、攻撃の危険性を監視・検出・防御する仕組みを構築し、ネットワークの安全性を確保します。
そのような仕組みの一例として、COTI の二重支払い防止(DSP)ノードがあります。COTI はトランザク
ションを送信する際に発生する紛争の解決に向けた新しいプロトコルも導入しています。これは、他の
暗号通貨には不可能であり、同時に強く必要とされている機能です。紛争解決は仲介サービスによって
行われます。このサービスでは、紛争の際に公正な結果を保証するためにゲーム理論の原則を活用し、
双方の紛争当事者のどちらが正しいかを決める投票を行います。
キーワード:ブロックチェーン、COTI、暗号通貨、DAG、分散台帳、E コマース
1. はじめに
ここ数年で、ブロックチェーン技術と暗号通貨は決済取引の管理に有効な仕組みであることを証明しました。ビ
ットコイン、イーサリアムなどの通貨は多くの関心と導入を経て飛躍的な成長を遂げました 1
。 一方ブロックチ
ェーン技術は、サプライチェーン管理[11]から分散型健康記録管理[17]に至るまで、多くのアプリケーションで
利用されてきました。実際に、多くの人は暗号通貨を初期のインターネットに見立て、インターネットが情報の
有用性を大きく変えたときと同じように、決済システムに変革をもたらす巨大な潜在力であるとしています。
[14]
しかし、第一世代の暗号通貨は多くの成功を収めたものの、一般的な普及を達成できていないという基本的な課
題に直面しています。リニアブロックチェーンに基づいた暗号通貨は、トランザクションスループットが少ない
という欠点を抱えています。2
より複雑になるプルーフオブワーク(PoW)の計算を
1 例えば、1 日あたりのビットコイントランザクションの数は、2009 年の約 100 件から 2017 年後半では 40 万件以上に増加しました。
[2].
2 ビットコインは、1 秒当たり最大 7 トランザクションを行います[6]。
実行するためにマイナーのネットワークに依存する暗号通貨では、法外な手数料が発生します。そしてほとんど
の既存暗号通貨は管理が難しく、大規模な投機の対象となります。さらに、クレジットカードやその他の決済プ
ラットフォームで一般的な紛争解決サービスを今ある暗号通貨の枠組みの中で見ることはほとんどありません。
これらの要因から、個人や店舗が日々の取引においてグローバル通貨やデジタルドルを採用することは困難で
す。
本資料では、次世代の暗号通貨 COTI(インターネット上の通貨)を紹介します。COTI は、高いトランザクシ
ョンスループットと低い手数料を実現し、管理を容易にすると共に、ユーザーが支払いプラットフォームに期待
する紛争解決メカニズムなどの分散型サービスを提供します。COTI は、ブロックチェーンとは対照的にクラス
ターと呼ばれるトランザクションの有向非巡回グラフ(DAG)を採用することにより、高いトランザクション
スループットを実現します。この考え方は新しいものではなく、パフォーマンスを向上することがすでに証明さ
れています[13、4、15]。通常、DAG ベースの暗号通貨 3
は、重要度の低いトランザクションを大量に扱うため
のものであり、IoT デバイスなどのマシン間などでの使用を想定しています。COTI は店舗・消費者間の日々の
取引をサポートするために作られているため、クラスターの形成と取引の承認を促進する新しいアルゴリズムが
導入されています。新しいアプローチの基礎となるのはトラストスコアです。トラストスコアは、過去の行動に
基づいて各ユーザーアカウントに割り当てられ、ネットワーク内のアカウントの取引とそれに関連する手数料の
承認を管理します。これらのアルゴリズムについては、セクション 2 とセクション 4 で詳しく説明します。
上記の新機能に加え、COTI は紛争解決の仲介サービスを導入しています。このサービスでは、取引紛争の解決
を任された信頼性の高いネットワーク参加者の分散型共同体を特徴としています。これにより、ネットワークは
参加者に対して分散型の人的介入サービスを提供することができます。
ベースレイヤープロトコル: DAG ベースの分散型台帳テクノロジーは、ブロックチェーンベースの決済ネットワ
ークにありがちな拡張性の限界を克服することに特に有効であるという特徴を示しています。なぜなら、ブロッ
クチェーンベースのネットワークでは、規模が大きくなるほどネットワークの使用効率に悪影響を及ぼします
が、通常 DAG ベースのネットワークではそれが逆になります。ネットワークの使用率が高いほどネットワーク
の拡張性が向上します。このように、ネットワークユーザーの数とトランザクションの認証率で正の相関関係が
あります。
ネットワーク使用率とネットワーク拡張性との間に正の相関があるため、DAG データ構造は COTI ネットワー
クのベースレイヤープロトコルにとって理想的であり、COTI が約束する拡張性・即時性・低額/無料の手数料を
犠牲にすることなく完全な分散化を達成することができます。上記のイニシアチブによって確立された基盤を基
に、COTI は革新的な DAG ベースの分散型台帳技術をベースレイヤープロトコルとして導入します。この台帳
技術は、トラストスコア(Trust Score)を主要メカニズムとして使用し、新しく未だ承認されていないトランザ
クションはその検証のために以前のトランザクションを選択します。さらに、COTI の DAG ベース分散型台帳
テクノロジーであるクラスター(Cluster)は、COTI のトラストチェーンアルゴリズムを使ってトランザクショ
ンを確認することで、より高速にコンセンサスに達します。最終的に、クラスターは 1 秒あたり最大 10,000 件
のトランザクション(TPS)を検証し、承認することが可能となります 4
。
仲介サービス: COTI は、COTI 決済システムで決済された取引に関わる不正またはその他の紛争が起きた際にユ
ーザーが取り消しを行える、即利用可能なサービスを提供します。仲介サービスは、起こりうるクレームに対処
するためのローリングリザーブを店舗ごとに作成し、それをさらに保証するためシステム全体でリザーブクレジ
ットファンド(RCF)を作成します。両方の基金は COTI のネイティブ通貨で維持され、店舗のローリングリザ
ーブ必要量は、その店舗のトラストスコアに基づいて計算されます。
3 例. IOTA
4 これに関する議論はセクション 8 に記載されています。
手数料: COTI ネットワークは、透明性のある公平な料金モデルを使用します。すべての手数料は、COTI ネッ
トワークの一般ユーザーが運用する分散型サーバーであるフルノード(Full Nodes)によって収集されます。
COTI ネットワークは、フルノードによって収集された手数料の一部を、インフラ技術のサポートのために受け
取り、二重支払い防止ノード(Double Spend Prevention Nodes)(Sections 3.2 と 11.1 を参照) および トラストス
コアサーバー(Trust Score Servers)(Section 3.3 を参照)などに使用します。ネットワークが最初に作成される
と、COTI で生成されたトークンの一部は、ネットワークが成熟するまで、すべてのトランザクション決済のた
めの予備基金(Reserve Fund)として確保されます。したがって、ネットワーク初期のネットワーク費用はゼロ
に設定されます。この期間が過ぎると、ネットワーク分散化により手数料は最小限に抑えられます。
各ノードは、部分的にはノード自体によって決定される手数料を請求します。良いサービスを提供していると信
じるいくつかのノードは、より高い手数料を設定するかもしれません。他のノードは、より少ない、または何も
請求しないかもしれません。ノードがサービスを提供するために請求する手数料は公正かつ公開し、共通のネッ
トワークルールに準拠していなければなりません。ネットワークルールは料金の上限を定めていますが、最低料
金の定めはありません。
顧客によりよい体験を提供できると考え、店舗が自身のフルノードをカスタマイズウォレットと共に運用するこ
とも可能です。
用語集
用語 意味
ノード(Node) 共通のネットワークタスクのためにユーザーが運用する特別なサーバー。
トランザクションの検証 クラスターに添付する前にトランザクションをチェックするプロセス。
ソーストランザクション インバウンドのトランザクションが存在しないクラスターのターミナルトラ
ンザクション。これらのトランザクションは検証プロセスを経ている。
承認済みトランザクション コンセンサスアルゴリズムが定義された信用の合計数レベルに到達したトラ
ンザクション。
トラストスコア(信用スコア) 効果的なトランザクション処理とリスク軽減に使用されるユーザー評価基
準。
攻撃 システムの整合性を脅かす悪意を持った試み。
二重支払い 重複したアカウント残高を使用して2つのトランザクションを実行する悪意
のある試み。この結果、残高はマイナスとなり、攻撃者はコストを掛けずに
利益を得ることが出来る。
エスクロー口座 特定の条件が満たされた場合のみ使用できる、資金を有する口座。
2. トラストチェーンアルゴリズム
COTI は、DAG ベースのデータ構造上で動作する、取引当事者間で合意を達成する新しいアプローチを開発しま
した。クラスターは完全に分散化された DAG に基づいており、中央集権型に保管されることはありません。ク
ラスターは、台帳またはネットワークによって処理されるすべてのトランザクションの記録とみなされます。パ
ラレルソースの選択とトランザクションの確認だけでなく、COTI のトラストスコアメカニズムの使用を通じて
拡張性を実現します。
2.1 クラスター内のトランザクションのトラストスコア
クラスター内の各トランザクションは、送信側アカウントの行動履歴とアカウント所有者に関する情報の組み合
わせに基づくトラストスコアを受け取ります。この情報は、ユーザーが最初に口座を作成したときに COTI に提
供され、サポート文書により確認されます。トラストスコアアルゴリズムの詳細は、セクション 4 を参照してく
ださい。
トラストスコアは、COTI における取引手数料の主要な決定要因です。高いトラストスコアを持つ参加者の手数
料は、ゼロもしくは低額になること期待できますが、トラストスコアの低い参加者は高い手数料を支払う必要が
あります。これにより、店舗はトラストスコアを上げるために可能な限り最高のサービスを提供しようとしま
す。高いトラストスコアのもう一つの利点は、トラストスコアが高いほど早く承認されることです(詳細はセク
ション 6、7、8 を参照)。
トランザクションを実行する場合、送信者は新しいトランザクションを台帳に追加するために以前のトランザク
ション 2 つを検証する必要があります。したがって、台帳は DAG(有向非巡回グラフ)として編成されます。
ここで、頂点はトランザクションを表し、各トランザクションから伸びる有向辺はそれを検証する 2 つの別トラ
ンザクションにつながっています。クラスターの図表を図 1 に示します。白丸のそれぞれは、2 つの後続トラン
ザクションによって検証されたトランザクションを表し、黒い丸は新しい未検証トランザクション(グラフ理論
的用語では「ソース」)を表します。新しいトランザクションが追加されると、別の黒丸トランザクションを検
証することになります。
図 1:クラスターの図表。ソーストランザクション(黒丸)は、クラスター内の以前のトランザクション 2 つを検証します。
2.2 ソースの選択
上記のプロセスでは、新しいトランザクションは検証に以前のソーストランザクションを 2 つ選択する必要があ
ります。COTI ネットワークでは、この選択肢を実現するアルゴリズムは、各トランザクションのトラストスコ
アに基づいています(セクション 6 を参照)。このソース選択アルゴリズムによると、ソースは現在のトラスト
スコアに近い以前のトランザクションを選択する可能性が高くなります。これにより、トラストチェーンが形成
されるか、またはクラスター内に逆方向のパスが形成されます。このようなチェーンの累積トラストスコアは、
チェーンを構成する全トランザクションのトラストスコアの合計となります。
トラストチェーンアルゴリズムは、累積トラストスコアを使用して、トランザクション承認のコンセンサスに到
達します。トランザクションは、累積トラストスコアが事前設定されたグローバルしきい値を超えるトラストチ
ェーンの開始点である場合、承認されたとみなされます。実際には、各取引から始まる最長のトラストチェーン
(最高トラスト値)を検討し、累積トラストスコアをしきい値と比較して、取引が承認されたかどうかを確認し
ます。
ソース選択アルゴリズムは類似のトラストスコアのトランザクションに接続する傾向があるため、信頼性の高い
ユーザーによって生成されたトラストチェーンでは、トラストスコアの高いトランザクションを主に含むように
なります。このようなトラストチェーンの累積トラストスコアは、しきい値を超えてすぐに成長し、コンセンサ
スに到達します。つまり、信頼性の高いユーザーは確認時間が短縮され、トランザクションスループットが向上
します。
ソース選択アルゴリズムのもうひとつの重要な成果は、トラストスコアに基づくクラスターのソフトセグメンテ
ーションです。つまり DAG は、類似のトラストスコアを持つユーザーから成るほぼ独立したサブ DAG に分割
されます。
クラスターは次のようなライフステージを経て進行します。第 1 段階では、新しいトランザクションとして開始
されます。 2 段階目では同様のトラストスコアを持つ他の 2 つのトランザクションを検証してクラスターに接続
します。 3 段階目では他のトランザクションによって検証されます。 最終的に、トランザクションが承認さ
れ、最も重い経路の累積トラストスコアが設定されたしきい値を超えたら(図 2)、クラスターに永続的に追加
されます。
図 2: (1)開始、(2)添付、(3)検証、(4)承認までのトランザクション(太丸)のライフサイクル。確認パスは青色で、網掛けの取
引は確認済を示します。ここでは例示のため、 n = 2 となっています。
COTI のトラストチェーンアルゴリズムは、信頼できるユーザー(すなわち、高いトラストスコアを有する者)
が信頼性の低い者よりも早く承認を行えるよう設計されています。これは、あまり信頼出来ない人に対しては慎
重になり、取引を受け入れる前に確認しようとする自然な行動です。これは図 3 に示されており、さらにセクシ
ョン 8 のシミュレーションを使用して検証されています。
図 3:中程度の信頼性を持つトランザクション(左)と信頼性の高いトランザクション(右)を確認するために必要なトラストチェーン
の長さの違い。網掛けのトランザクションは、累積トラストスコアしきい値に達したもので、確認パスは青色です。網掛けの取引は承認
されました。ここでは例示のため、 n = 2 となっています。
3. ネットワークコンポーネント
3.1 アカウント
各 COTI の潜在ユーザーは、COTI ウォレットを使用してアカウントを開設し、ランダムに生成された秘密鍵お
よび公開鍵が与えられます。各ユーザーは、トラストスコアを作成するためにいくつかの事実に基づく質問に答
える必要があります。ユーザーが登録できるさまざまなタイプの役割が存在するため(表 1 参照)、COTI のウ
ォレットは最終的にカスタマイズ可能であり、これらのウォレットの詳細な運用はユーザーによって異なりま
す。
3.2 ノード
COTI は安全で信頼できる決済を可能にするため、特別に設計された分散型ソリューションを提供します。この
ソリューションでは、ユーザーが運用するさまざまな種類のノードにクラスター内での責任を割り当てます。
COTI には、次の 3 つのノードタイプがあります。
 フルノード: フルノードは、ネットワークの主要インフラストラクチャコンポーネントであり、ユー
ザーゲートウェイとして機能します。このタイプのノードは、クライアント(ウォレット)アプリによ
って署名された新しいトランザクションを受信し、トラストスコアサーバーにトラストスコアを要求し、
新しいトランザクションのソースを選択し、プルーフオブワーク(作業証明)を行い、新しいトランザ
クションをクラスターに追加できるようにします。
 DSP ノード: 二重支払い防止ノードは、特定の時点でクラスターの最新のコピーを保持するもので、
DAG ベースの暗号通貨が直面する主要な問題の 1 つに対する COTI のソリューションです。DSP ノード
を実行するには、大量の COTI を特別なマルチシグ口座に入金する必要があります。それはかなりの量
であり、また DSP ノード管理者単独もしくはノード管理者に委任したネットワーク参加者のグループ
によって入金されます。DSP ノード管理者は COTI ネットワークから報酬を受け取ります。DSP ノード
作成の詳細については、セクション 11.1.2 で詳しく説明します。
 履歴ノード: 履歴ノードは、クラスタースタンププロセスが完了した後、クラスターの初期の記録を
保持し、さらにクラスターの全履歴を COTI のサーバーに保存します。完全なアカウント履歴は履歴ノ
ードから取得できます。ただし、何らかの理由で履歴ノードを操作できない場合は、COTI の履歴サー
バーが代わりに使用されます。
3.3 サーバー
COTI は、ネットワークの重要なタスクを実行するサーバーを運営します。サーバーの 4 つのカテゴリは、ゼロ
支出サーバー、トラストスコアサーバー、KYC / AML データベースサーバー、履歴サーバーです。
 ゼロ支出サーバー: これらのサーバーは、クラスター内のいずれかのソースが別のトランザクション
によって検証されずに長時間待機した場合、またはソース選択アルゴリズムを通じてトランザクション
がソースに添付できない場合にゼロ値トランザクションを送信します。これらのサーバーの動作は、ソ
ース選択アルゴリズムの監視に役立ちます。これらのサーバーが過剰にアクティブな場合、ネットワー
クまたはトラストスコアアルゴリズムに問題がある可能性があります。
 トラストスコアサーバー: これらのサーバーは、参加者を計算して格納する専用のサーバーです。トラ
ストスコアアルゴリズム(アルゴリズム 1 を参照)に従ってトラストスコアを計算します。
 KYC / AML データベースサーバー: これらは、本人確認(KYC)およびアンチマネーロンダリング
(AML)手続きの情報を処理および保存する専用サーバーです。
 履歴サーバー: 履歴ノードのバックアップサーバーです。
4. トラストスコア
トラストスコアは、COTI ネットワークの重要な機能であり、効果的なトランザクション処理とリス
ク軽減に使用されます。トラストスコアは、トラストスコアサーバーまたは KYC / AML データベー
スサーバーを使用して計算されます。決済ネットワークのすべてのアカウントには、特定のイベント
や統計に基づいて変更されるトラストスコアがあります。アカウントのトラストスコアは、特定の範
囲内 [0,100] の数値となります。決済ネットワークのすべてのトランザクションには、トランザクショ
ンバンドルに格納されているトラストスコアがあります。トランザクションのトラストスコアは、ト
ランザクションが開始された時点の送信者のトラストスコアです。トランザクション A の累積トラス
トスコアは、トランザクション A 自身を含む、トランザクション A を承認する最も重い経路をたどる
全トランザクションの全トラストスコアの合計です。
アカウントトラストスコアは、必要な文書をアップロードしたアカウントを所有する参加者により記入されたア
ンケートのフィールドで最初の値が決定されます。アカウントトラストスコアが決定されたのち、アカウントの
決済統計、参加者の行動、およびネットワークから集められた「ビッグデータ」に従って更新されます。
表 1:さまざまな参加者の役割
参加者は、個人、法人、または非人間でも構わず、ユーザー、店舗または金融機関の役割を担うことができます
(これらの役割は表 1 にまとめられています)。参加者が店舗または金融機関として登録されると、商品または
サービスと引き換えに支払いを受け取ることができます。店舗または金融機関として登録せずに商品やサービス
を販売しようとする非協力的な参加者は、ネットワークの安全性のためにブロックされます。
暗号通貨コミュニティにおける支配的な意見を反映し、新しい参加者は、アンケートへの記入や身分証明書を提
出する前でもウォレットの所有を禁止されることはありません。参加者に関する情報を入手できないため、証明
書の提出が無いユーザーは、トラストスコアを 1 に設定し、証明書の提出が無い法人は、トラストスコアを 0 に
設定します。トラストスコアが低い参加者(例えば < 5 の低い決済しきい値)は、小額の取引金額(例えば 6 1
COTI)しか送金できません。トラストスコア = 0 の参加者は、いかなる取引も開始できません。
身元確認と KYC / AML 手続きを完了する前に、店舗や金融機関として参加することはできません。店舗や金融
機関として参加するには、企業活動、ライセンス(該当する場合)、銀行の参考資料、監査報告書などの追加デ
ータを提供する必要があります。
図 4:新しい参加者がトラストスコアを受け取るプロセス。
トラストスコアアルゴリズムは、トラストスコアベースのソース選択アルゴリズムで最大限のパフォーマンスを
保証するように設計されています。トラストスコアサーバーは定期的に参加者のトラストスコアを累積統計と参
加者の行動パターンに従って更新します。参加者のトラストスコアは、店舗に関連する破産ニュースなどの外部
イベントに合わせて変更することもできます。トラストスコアサーバーは、信頼できる情報源から、これらのイ
ベントに関する情報を受け取ります。(例:当局の情報や公式ニュースサイトからサポート文書を提供するユー
ザーなどから)このような情報を提出して処理するためのプロトコルは現在開発中です。
図 5:トラストスコアを更新するプロセス
4.1 トラストスコアアルゴリズム
前提条件: トラストスコアは、主にソース選択アルゴリズムの重要度を加重するものして使用され、トランザ
クションが承認された度合いを測定します。ともにネットワークの運用に不可欠です。前者はネットワークの効
率に影響し、後者は決済システムのセキュリティに影響を与えます。
トラストチェーンアルゴリズムが効率的に機能するよう、トラストスコアは参加者をランク付けに使用されま
す。トラストスコア計算の基準とパラメーターは、トラストスコアが効率的かつ公平に保たれるよう、定期的に
更新されます。
たとえば、トランザクション承認に推奨されるトラストレベル(累積トラストスコア)は、実際の推奨レベルが
理論的モデリングとコンピュータシミュレーションから導出されるまで、1000 となる可能性があります。信頼
性の高い参加者が少なくとも 10 件の取引で構成されたトラストチェーンを必要とする場合、中程度に信頼でき
る参加者には少なくとも 20 件のトラストチェーンが必要です。一方、信頼性の低い参加者は、確認されるトラ
ンザクションが 100 以上のトラストチェーンを持つことが求められます。この例では、トラストスコアアルゴリ
ズムは、それぞれ約 100、50、10 のトラストスコア値を割り当てています。
COTI の現在のトラストスコアアルゴリズムは、指定されたトラストスコアの範囲に従って、参加者を表 2 に示
す 9 つのグループ(バスケット)に分類します。これらのグループは、ネットワークの要求に応じて変更される
可能性があります。
トラストスコア
範囲 グループの説明
40-50 エスクワイア
中程度の信頼性、平均的トランザクション頻度
30-40 スタートアップ
平均的な信頼性、平均的トランザクション頻度
20-30 ドキュメント・ニューカマー(書類提出済み新
人)
平均的な信頼性、平均的トランザクション頻度
10-20 セカンド・チャンサー
低い信頼性、平均的トランザクション頻度
0-10 ラ・クール・デ・ミラクル(奇跡の庭)
低い信頼性、低いトランザクション頻度
トラストスコア
範囲 グループの説明
80-100 ネットワーク バックボーン
非常に高い信頼性、非常に高い
トランザクション頻度
70-80 ピラー・オブ・エコノミー(経済の柱)
高い信頼性、非常に高い
トランザクション頻度
60-70 タイガース
高い信頼性、高いトランザクション頻度
50-60 オールド・マーチャント(老舗)
高い信頼性、高いトランザクション頻度
表 2:トラストスコアの範囲を表す 9 つのグループ。この表の数字は、説明を目的とした参考値です。
COTI のトラストスコアアルゴリズムは、参加者を識別する情報に基づいていることが重要です。これは参加者
がトラストスコアを向上させるために信頼できる行動に従事するよう促すために必要です。これはまた、攻撃や
誤用に対する効果的な保護手段を提供し、参加者に正直な行動を促します。以上の理由から、COTI のトラスト
スコアアルゴリズムは 2 つのアプローチの組み合わせです。
1. ルールによるアプローチ
2. 機械学習 (ML) アプローチ
アルゴリズム 1:トラストスコアアルゴリズム。TS はトラストスコア(Trust Score)の略です。
1 TrustScore (p, t, r, Q, S)
2 in: Participant ID p; Type of the participant t; Role of the participant r; Questionnaire Q;
Payment statistics S;
3 out: The Trust Score value ;
4 constant : TS decay rates d; minimum_TS_for_person ;
5
6 if is_new (p)
7 if Q is empty then
8 if t = person then
9 TS ← minimum_TS_for_person ;
10 else
11 TS ← 0;
12 end if;
13 return TS;
14 end if
15 TS_data ← empty_data
16 else
17 TS_data0 , t0 ← Select_TS_data_TS_DDB (p); // 利用可能な TS コンポーネントを分散データベースから取得
18 t1 ← now;
19 TS_data ← apply_decay ( TS_data0, t , t1, d);
20 end if
21
22 TS_data . RD_params ← apply_rules ( TS_data , r, Q, S);
23 TS_data . ML_params ← apply_ML_algorithms ( TS_data , r, Q, S); // 訓練された ML アルゴリズムを使用してパラメータを推定
24 TS_data . group ← define_TS_group (TS_data);
25 TS ← count_TS (TS_data); // 結果として生じた TS は、グループ、ML_params、適用されたルールの結果に従ってカウント
26 Store_TS_data_TS_DDB (p, TS, TS_data);
27 return TS;
一部の機能は、ML アルゴリズムの一部として使用することはできません。たとえば、ユーザーの年齢は信頼性
を評価するための統計情報がないため、信頼性を評価するためには使用できません。この問題に対する 1 つの可
能な解決策は、保険業界で使用される年齢境界を考慮し、年齢ベースのルールを作成することです。そのような
ルールの結果は、バスケットの定義またはトラストスコアの計算を支援するために使用できます。このルール
は、初期のアカウントトラストスコアにのみ使用され、ユーザーの行動に関する新しい情報が利用可能になる
と、時間の経過と共に更新されます。
アルゴリズム 2: 不正を働く人向けアルゴリズム
1 WrongdoersRule (p)
2 in: Participant p;
3 out: The minimum Trust Score group (basket) number ;
4 constant : time_to_oblivion t1, t2;
5
6 MB_data_list ← Select_MB_data_TS_DDB (p); // 分散データベースから不正行動データを取得
7 if MB_data_list is empty then
8 g ← 0; // どんなグループも可
9 else
10 if is_there_serious_misbehaviour ( MB_data_list , t2) then
11 g ← 9; // 一番悪いグループのみ可、もちろんグループの数は定数で定義されない
12 else
13 if is_there_small_misbehaviour ( MB_data_list , t1) then
14 g ← 8; // このグループはグループ 8 より悪いかもしれない、もちろんグループの数は定数で定義されない
15 else
16 g ← 0; // どんなグループも可
17 end if
18 end if
19 end if
20 return g;
5. 支払いの詳細
5.1 アカウント開設
COTI アカウントは、アカウントごとに公開鍵と秘密鍵(両者はランダムに選択されたシードの機能)および初
期トラストスコアのデータセットを生成する簡単なプロセスで開設することが出来ます。アカウント A を起源
とし、アカウント B に入金される各支払いは、COTI トークン取引に関するいくつかのデータセットを含むバン
ドルとしてカプセル化されます。取引のバランスを保つために、入力と出力の合計は 0 より小さくできません。
これは、台帳全体の有効性を検証するために実行される最初の残高チェックです。
5.2 バンドリング
各トランザクションは、いくつかのサブトランザクションフィールドで構成されるバンドルです。
 出力: 受信者に送信される額と受信者の公開鍵のハッシュ。
 入力: 送信者のアカウントから差し引かれる額と送信者の公開鍵。
 情報部分: バンドルハッシュやその他データを含むセキュリティ機能のリスト。
 トラストスコア: 送信者のトラストスコアはバンドルに含まれ、[0,100] の範囲にならなければならな
い。
5.3 バンドルのハッシュと署名
安全なハッシュ関数を使用して、作成されたトランザクションバンドルから固定長のハッシュバンドルを作成し
ます。その後、送信者の秘密鍵と ECDSA アルゴリズムを使用して完全なバンドルに署名します。これより、送
信されるデータには、元のバンドルデータ、バンドルハッシュ、バンドルの署名などの情報が含まれます。
新しいトランザクションがクラスターにつながるときは、前のトランザクション 2 つを検証する必要がありま
す。この検証プロセスは、DSP ノード(セクション 3.2 参照)によって実行されるチェックとは異なり、前のト
ランザクション 2 つの署名もレビューします。これがどのように行われたかを理解するには、ユーザーの秘密鍵
が自分の公開鍵に関連付けられていることに注意することが重要です。
誰でもバンドルハッシュに署名はできますが、公開鍵で検証した結果がトランザクションの元のバンドルハッシ
ュと同じになるように署名できるのは、秘密鍵の所有者だけです。このようにして、トランザクションの署名が
送信者の公開鍵と照合されます。
5.4 プルーフオブワーク
送信者のノードが 2 つの選択されたトランザクション(トラストチェーンメカニズムによって決定されたもの)
の有効性を確認すると、送信者のノードは暗号問題を解決する作業であるプルーフオブワーク(PoW)を実行し
ます。COTI ネットワークによって使用される正確な PoW メカニズムは、このドキュメントの今後の版で提示さ
れます。PoW メカニズムの主な動機は、スパムとシビル攻撃に対抗することです。
他の DAG システムでの既知の欠点は、スパムを阻止するための PoW 要件にあります。これは無料システムで
は避けられませんが、潜在的な攻撃を排除するために PoW は低エネルギーデバイスのバッテリを使い切ってし
まいます。
COTI ネットワークでは、PoW 要件はネットワークへのゲートウェイとして機能しユーザーの手数料を決定する
ノードの責任です。例えば、PoW なしでモバイルデバイスを接続するノードを作成することは可能ですが、ど
のような場合でもノードが PoW を実行するため、ネットワークをスパムすることはできません。
5.5 手数料
仲介サービスと DSP ノードを維持するためにはリソースが必要です。このため、少なくとも一部のユーザーは
最低限の手数料を支払う必要があります。トランザクションで発生する手数料は、ユーザーのトラストスコアと
トランザクションのタイプによって異なります。一般的なトランザクションには次の 3 種類があります。
 あるユーザーが COTI を別のユーザーに転送するトランザクション。この場合、送信者のトラストスコ
アに従いフルノードが標準手数料を決定し、それを適用します。
 ユーザーが商品やサービスと引き換えに COTI を店舗に転送するトランザクション。
この場合、通常のユーザーに対して取引を無料にするために、店舗は自身のアカウント固有の手数料
を支払うことができます。
 店舗が他の店舗またはユーザーに金銭を譲渡するトランザクション(たとえば、店舗がユーザーに不
良品の費用を払い戻したい場合)には、標準手数料が適用されます。
6. ソース選択アルゴリズム
目標は、トランザクション送信者のトラストスコアに基づいてクラスターを構築することです。クラスターで
は、すべてのトランザクションが、十分自身のトラストスコアに近いトラストスコアを持つ 2 つの他トランザク
ション 2 つにつながっています。DAG では、トランザクション送信者のトラストスコアが、各トランザクショ
ンに対し加重関数ωで割り当てられます。d をトラストスコアの上限としましょう。トラストスコアアルゴリズ
ムでは、この数値は 100 になります。
そのような DAG を構築するいかなる方法も、ある程度のランダム性を持つ 2 つのトランザクションを選択する
アルゴリズムに基づいていなければなりません。例えば、ソース a のトラストスコアに最も近いトラストスコア
を有することだけに従い、2 つのトランザクション b と c をアルゴリズムが選択します。今説明したような非ラ
ンダムアルゴリズムを使用すると、トランザクションが接続されるまでに長時間待たなければならない可能性が
高くなります。
COTI のソース選択アルゴリズムは、次のように動作します。新しいトランザクション a が、アカウントによっ
て発行されます。S はすべてのソースのセットです。アルゴリズムは、ω(a)の最適しきい値を選択します。
まず、すべてのソースはマップ関数で分割され M: {1, 2, .., d} → {T : T ⊆ S }、その場合 d をトラストスコアの上
限として、 M (i) = {T : T ⊆ S and ω(T ) = i}となります。初期サブセットは T0 = M (ω(a))です。Ti が十分な数
または i < dd/8e となるまで、アルゴリズムの反復は新しいサブセットを生成します Ti = Ti−1∪M (ω(a)−i)∪M
(ω(a)+i)。一般性を失うことなく、十分に数とはソースセット内のすべてのソースの割合が一定であることを意
味します。ソースの数の 10%が十分な数を意味するように選択されます。任意の反復 ω(a) − i < 1 or ω(a) + i >
d ならば、M (ω(a) − i) or M (ω(a) + i)はそれぞれ、空のセットと解釈されます。ω(a)のしきい値内のソースのサ
ブセット Tj に適用されなければならないもう 1 つの制約があり、同一トランザクション送信者のトランザクシ
ョンは接続することが出来ません。s と新しいトランザクション a との間のタイムスタンプ差に従って Tj 内のす
べてのソース s を加重する確率関数 P がアルゴリズムによって定義されます。a は Tj の任意のソース 2 つをある
程度ランダムに選択できますが、古いソースは新しいソースよりも高い確率で選択されます。a の同じトランザ
クション送信者からのソースを選択する確率はゼロです。アルゴリズム 3 の Java コードは、これがどのように
実行されるかを示しています。
アルゴリズム 3: ソースの選択方法を示す Java コード。
public SourceList selectSources ( int trustScore , int minSourcePercentage , int totalSourceNum , int maxNeighbourhoodRadius ) {
// 同じトラストスコア(クローン)のソースを取得することで開始する
SourceList sourceList = new SourceList ( sourcesByTrustScore .get( trustScore ));
// 近傍半径を計算、最小半径は 1(常に近傍を見ます)
for(int nr =1; nr < maxNeighbourhoodRadius ; nr ++) {
if( trustScore - nr >= 1)
sourceList .add( sourcesByTrustScore .get( trustScore - nr));
if( trustScore + nr <= MAX_SCORE )
sourceList .add( sourcesByTrustScore .get( trustScore + nr));
if (( double ) sourceList . size () / totalSourceNum > ( double ) minSourcePercentage / 100) {
break ;
}
}
// ランダムにソースを選択し、タイムスタンプの差で加重 return
chooseWeightedByTimestamp ( sourceList );
}
ここで留意すべきことは、トランザクションのしきい値内でのソース数を考慮することから、私達のアルゴリズ
ムが新しいトランザクションの流れの変化に対応できることです。クラスターの初期段階では、トランザクショ
ン a が Tj のトランザクションに接続できない場合があります。たとえば、すべてのソーストラストスコアが
ω(a)よりあまりにも多く累積された場合、または選択されたしきい値のすべてのソースが a と同じトランザクシ
ョン送信者のものである場合です。このような場合、ゼロ支出サーバーは、トランザクション a の同じトラスト
スコアを持つゼロ値のトランザクションを作成し、そのトランザクションに a が接続されます。別のシナリオで
は、ソースが新しいトランザクションによって接続されるのに長時間待機していた場合、ゼロ支出サーバーは s
に(そして s と同じトラストスコアで)接続できるトランザクションを作成します。ゼロ支出サーバーがこれら
のタスクを実行するまでの待機時間は、トラストスコアによって決定されます。高いトラストスコアソースは、
ゼロ支出サーバーにより早くマッチングされます。セクション 3.3 で述べたように、ゼロ支出サーバーの過度な
活動は、ネットワークまたはトラストスコアアルゴリズムの問題を特定するのに役立ちます。
7. トラストコンセンサス
G = (V , E) をトランザクションの有向非巡回グラフとします。すべてのトランザクション v ∈ V が、トランザク
ション送信者のトラストスコアである ω(v)によって定義される加重関数 ω : V → N で加重されると仮定しま
す。a を任意のトランザクションとし、d をトラストスコアの上限とします。以下の場合、トランザクション a
が確認されます。
max ( Σv ω(v) : ∀ path A ended at a and ∀v ∈ A ) ≥ Ld, L ≥ 2 (7.1)
数式 7.1 は、ソース選択アルゴリズムのために信頼性の高いトランザクションが信頼性の低いトランザクション
より高速に確認されることを意味します。信頼性の高いトランザクション a は、最も重い有向パスの長さが非常
に小さいため、すぐに確認されることにご注目ください。信頼性の低いトランザクションでは、より長いパスを
確認する必要があることにもご注意ください。トランザクション a で終わる最も重い有向パスのアルゴリズム
は、線形時間アルゴリズム、すなわち O(|V (F )| + |E(F )|) であり、ここで F ⊂ G はトランザクション a で終わる
全ての有向パスの和集合によって定義される有向非循環サブグラフです。最初のステップは、F を位相的にソー
トすることです。F は有向非巡回グラフであるため、トポロジカルソート τ を求めるのは線形時間です ([5]の
チャプター 22.4)。τ = {v1, v2, ..., vn, a} を F のトポロジカルソートとします。トランザクション a は、F の定義
によりトポロジカルソートの最後の頂点でなければならないことに注意してください。
v
3
ω
(v3)
a
ω(a)
v1
v2 ω(v1)
ω
(v2)
v5 v4
ω(v5) ω(v4)
図 6:トポロジカルソート前の DAG サブグラフ F
ω(a)
ω(v5) ω(v4) ω(v3) ω(v2)
ω(v1)
図 7:トポロジカルソート後の DAG サブグラフ F
次の動的プログラミングアルゴリズムは、 O(|V (F )| + |E(F )|) に対してトランザクション a からの最も重い経路
に時限解を与えます。
アルゴリズム 4: 最も重い経路アルゴリズム
1 Define function heaviest(v) = 0 , ∀v ∈ V (F );
2 Find Topological sort τ of F ;
3 for ∀v ∈ V (F ) in topological sort τ do
4 Assign heaviest(v) = max (heaviest(w) + ω(v): ∀w such that (w, v) ∈ E(F ));
5 end
6 return heaviest(a);
8. パフォーマンス調査
COTI のアルゴリズムの性能特性をよりよく理解するために、単純化された文脈における高水準の数学的観測に
加えて、クラスターについて結論を導きだす数学的枠組みを提供します。次に、クラスターの完全なシミュレー
ションを利用した一連の実証的調査を行います。
8.1 数学的枠組み
分析を目的として、クラスターおよびクラスター内で行われるトランザクションについていくつかの単純化した
仮定を行いました。 まず、ソース選択アルゴリズムとプルーフオブワーク(PoW)を実行するために、すべて
のノードが一定の時間 Δt を使用すると仮定します。第 2 に、固定レートλのポアソン過程に従って新しいトラ
ンザクションが到着すると仮定します。また、トランザクションはすべて有効で、送信者は別個とします。これ
らの仮定はすべての現実世界を反映するものではありませんが、クラスターの時間と区域に局所的に当てはまる
可能性があり、分析のために検討することは有益です。 以下の議論において、パラメータ λ および ∆t を考慮
にいれます。
また、クラスターの動作方法を制御するいくつかの内部パラメータがあります。トラストスコアは 1 から d の整
数値を取り、d は可能な最大トラストスコアです。以下では、d = 100 と仮定します。新しいトランザクションが
クラスターに到着すると、これはトラストスコア i を持つと仮定し、(1 ≤ i ≤ d) 、確率 PT S(i) を有し、ここでは
PT S(1) + PT S(2) + ... + PT S(d) = 1 です。これは、各トラストスコアのトランザクションが独立したポアソン過程
で到着し、トラストスコア i のプロセスがレート λPT S(i) を有するという仮説に対応します。トラストチェーン
アルゴリズムには、追加パラメータ L が発生します。このパラメータは、トランザクションからそのクラスタ
ー内のソーストランザクションまでの最高信頼パスが累積トラストスコアの少なくとも Ld を有するときに、そ
のトランザクションが確認されるかを決定します。
最後に、ソース選択アルゴリズムは、十分に類似したトラストスコアを有する任意のソースに新しいトランザク
ションを付加することを可能にし、パラメータρによって制御されます。使用可能なソースのセットがサイズ S
を持ち、新しいトランザクションとのトラストスコアの差異に基づいてソートされている場合、最初のρS は同
じトラストスコアを持つ他のものとともに選択可能でなければなりません。ソース選択アルゴリズムはまた、ト
ランザクションとそれが承認するトランザクションとの間に許容されるトラストスコアの差の最大絶対値を規定
する別のパラメータ R に依存します。この分析のために、R = d = 100 と仮定します。
パラメータの集合 (λ, ∆t, d, L, ρ, PT S(·)) は、クラスターのこの単純化されたモデルを完全に決定します。これ
は x 軸に時間、y 軸にトラストスコアを記述する 2-D 空間において、クラスターのトランザクションを視覚化す
るのに有効です。1 つのトランザクションから、それが検証する以前のトランザクション 2 つへの有向辺を構築
することによって形成された DAG 構造も、このグラフ上で視覚化することができます。そのような視覚モデル
の 1 つが図 8 に示されています。トランザクションの空間表現は、いくつかの有用な特性を有しています。特
に、時間は構成によるグラフの逆の位相的順序であるため、グラフの x 軸は有効な頂点訪問順序を提供します。
また、類似したトラストスコア(y 軸)を持つ場合、特にρが小さい値の場合には、トランザクションがつなが
る可能性が高くなります。図 8 は、ρが減少するにつれて、グラフ上の異なる高さのトランザクション間の接続
が少なくなることを示しています。
図 8:トラストスコアによる時間空間内のクラスター。経験的に ρ << λ である場合、クラスターはほとんど切断されていることを確認
できます。
8.2 パフォーマンス分析
DAG ベースのトランザクションシステムは、トラストスコアのない均一なランダムアタッチメントアルゴリズ
ム (例. [13]) の仮定の下で分析されています。これらの分析で、システムが安定した後、DAG 内のソースト
ランザクションの数がほぼ一定値 2λΔt に近づくことがわかりました。多数のソースのケースにおいても、同
様の結果が得られました。
ある時点で S 個のソーストランザクションが存在し、s を新しいトランザクションが選択する現在のソースの 1
つにするケースを考えてみます。その新しいトランザクションは、選択をネットワークに公開する前に、検証と
プルーフオブワークを実行する必要があります。これは ∆t 時間を消費します。この間、s はネットワークに到着
するすべての新しいトランザクションに対するソーストランザクションとして引き続き表示されます。平均し
て、そのようなトランザクションが λ∆t 個存在します。新しいトランザクションのそれぞれは、トラストスコア
が十分に近い場合にのみ、s に接続することができます。新しいトランザクションのトラストスコア分布がクラ
スター内のソースと同じであると仮定すると、新しいトランザクションは s に接続する確率 ρ を持ち、
接続可能なトランザクションが平均でρS 個存在します。新しいトランザクションはそれぞれ 2 つのソースにつ
ながっているため、トランザクションによって s が選択される確率は次のように計算できます。
1.
ρ + 1 −
1 1 2
=
ρS ρS ρS − 1 S
s が到着した次の新しいトランザクション(よってすでに 1 つのトランザクションが接続されている)によって
選択されていることを想起すれば、これは s につながっているトランザクションの想定数が NA = 1 + 2λ∆tS−1 で
あることを意味します。これは、1 つのソーストランザクションを検証するのに要する DAG 辺の平均数です。
また、ソーストランザクションになる前に新しいトランザクションごとに DAG へ 2 つの辺が追加されることも
わかります。
したがって量 NA は、S が時間の経過とともに増大または縮小するかどうかを決定します。NA > 2 の場合、新し
いトランザクションごとに平均で 1 つ以下のソースが削除され、S が増加します。逆に NA < 2 ならば、新しい
トランザクションごとに平均で複数のソースが削除され、S が減少します。しかし、ソース数 S がこの数式の分
母にあるので、NA = 2 はアトラクターです。 もし S > 2λ∆t なら、1 + 2λ∆tS−1 < 2 で、ソース数は減少し、そし
てもし S < 2λ∆t なら、1 + 2λ∆tS−1 > 2 となりソース数は増加します。したがって時間の経過と共に、S は固定
点 2λ∆t に近づかなければなりません。特に、十分に長い時間について、S はほぼ一定であると仮定することが
出来ます。
ここで、時間 t で検証された未確認のトランザクションの数を検討します。これを V で示します。十分な時間が
経過した後、すべてのトランザクションの想定入次数が 2 であるという事実を使用します。なぜならすべてのト
ランザクションがソーストランザクションとして開始され、定常状態で 2 の想定入次数を持つためです。
一定時間で、S をソーストランザクションの集合とします。 V は検証された(未確認の)トランザクションの
集合とします。 Vi は V における頂点の集合であり、逆方向に向かう最も長い経路(多くのトランザクションに
おいて)から S までの頂点が i になります。V = SLd Vi であり、Ld より大きいすべての経路の長さは Ld より大
きい累積トラストスコアを有します。そのようなパスの先頭にある頂点はすべて確認され、V にはありません。
V1 からのいかなる頂点の親は S にあります。さらに、S の各頂点は DAG に 2 つの外向辺を与え、V1 の各頂点
上の引数によって、DAG から平均で 2 つの頂点を消費するので、E[|V1|] ≤ E[|S |] = 2λ∆t であることが分かりま
す。同様に、V2 の頂点の親は V1 ∪ S にあるので、E[|V2|] ≤ 4λ∆t になります。帰納的に進めると、E[|Vi|] ≤ 2i
λ∆t になります。これらをまとめてみると、次のようになります。
V = E[|V |] ≤ (Ld)(Ld + 1)λ∆t
これは厳密な有界ではなく、時間的に一定です。したがって、十分な時間が経過した後、V は定数により上に有
界であることを確立しました。
十分な時間が経過した後に、ソーストランザクション S の数および検証された未確認トランザクション V の数
が両方ともほぼ一定であることを確立しました。したがって、確認されたトランザクション数 C に注目しま
す。すでにクラスターに接続されているすべてのトランザクションは、ソーストランザクション、検証済み(未
確認の)トランザクション、または確認済トランザクションのいずれかであるため、クラスター内に接続されて
いるトランザクションの総数は S + V + C です。想定される (E) 変化率を入れると、以下のようになります。
d[E[S + V + C]] = d[Ntransactions] = λ
十分な時間が経過した後、S と V は期待通り一定であるため、d[E[C]] = λ でなければなりません。つまり、新
しいトランザクションの承認率はトランザクションの到着率と一致します。
実験的調査により、この挙動が実際に起こっていることが確認されます。承認率はある初期時間後の到着率と一
致するためです(図 9 を参照)。
図 9:初期段階の後、システムが安定し、トランザクションが承認される確率が新しいトランザクションが到着する確率に等しいことをこ
れらの数字が示しています。特に、ソースの数と新しい(まだ検証されていない)トランザクションの数は一定になります。
これは、クラスターに拡張性があるという決定的な証拠を提供します。COTI のスループットに対する唯一の理
論上の制限は、1 秒あたりに到着するトランザクションの数です。COTI は店舗や消費者の大規模なプールにと
って魅力的なものとなっているため、1 秒あたりに到着するトランザクションの数は最終的に 10,000 を超えると
確信しています。
8.3 シミュレーション
前のセクションでは、簡略化した条件下でクラスターのスループット特性を確立しました。クラスターの他の特
性を調査し、より複雑なシナリオを分析するために、私達はシミュレーションを利用しました。
クラスターのシミュレーターは、今後の分析を容易にするために構築され、GitHub で利用可能となる予定で
す。シミュレーターは複雑なシナリオを構築することができますが、このセクションでは、上記の数学的枠組み
で概説した一連の限定的な推測に焦点をしぼりました。
まず変換 t → ct; ∆t → c∆t; λ→ λ/c がクラスターのシンメトリーであることを検証するためにこのシミュレーシ
ョンを使用しました。これは本質的に、一般性を失うことなく秒単位から「 ∆t の倍数」まで時間単位のスケー
ルを変更できることを意味します。この調査序盤のいくつかのグラフを付録 A に示しています。残りの分析で
は、∆t = 1 と設定します。
前のセクションでは承認のスループットについて説明していますが、トランザクションが待たされる時間は考慮
されていません。トラストスコアの上昇に伴い承認時間が短縮され、シミュレーション結果によって確認される
ことを想定しています(図 10)。
図 10: トラストスコアの増加に伴い、承認遅延(ログスケール)が著しく減少し、トラストスコア 1 と 100 の間には重要さの差がありま
す。このドロップオフは、ほぼどこでも直線的で、最後に平坦化しています。
9. クラスタースタンプ
クラスターがストレージサイズで管理不能になるのを防ぐために、COTI はクラスタースタンプを導入します。
しかし、このプロセスは COTI ネットワークに他にも多くの利点をもたらしました。例えば、クラスタースタン
プは、当事者間で紛争が発生した場合に元に戻すことができる参照点を提供します。人為的にアカウント残高を
増加させようとする不正な試みがないことを保証するために、システム全体の監査を実行する機会を提供しま
す。このプロセスは 2 つのフェーズで構成されています。
1. 各アカウントの残高は集計および関連するアドレスに接続され、クラスターで最新の未確認
トランザクションで処理されます。最新の未確認トランザクションはそれぞれ、クラスター
の次世代において起点のトランザクションになります。
2. 監査は、クラスタースタンプに含まれる COTI トークンの供給が、流通している COTI トーク
ンの総供給と等しいことを確認するために行われます。
クラスタースタンププロセスは自動的に実行されます。クラスタースタンプの作成と検証に続いて、ネットワー
クのヒストリーノードに格納されます。
図 11: クラスタースタンププロセスは、灰色のトランザクション時点までの情報を取得します。その後、次世代のクラスターが灰色のト
ランザクションで開始します。
10.エスクローアカウントと仲介サービス
COTI は、適切に設計された安価なマルチシグとエスクローアカウントをユーザーに提供します。
COTI プラットフォームの仲介サービスは、仲介手続きを通じて迅速かつ効率的な紛争解決のために設計されま
す。COTI はそのフレームワーク、共通のルールセット、仲介陪審を提供します。
仲介者は信頼できるネットワーク参加者でなければなりません。そのようなネットワーク参加者は、トラストス
コアに基づいて仲介者として招待され、仲介手数料によってインセンティブが与えられます。COTI ウォレット
のビジネスバージョンでは、店舗がウォレット内の資金へのアクセスを許可せずとも、仲介者として店舗の代理
を務めるオフィサーを任命することが出来ます。
取引紛争の仲介サービスは、エスクローアカウントを使用することが出来ません。企業は一般取引に対して資金
を差し引くメリットはないからです。このため、仲介サービスは、双方の取引相手がオプトインした場合にのみ
紛争解決のために使用することが出来ます。COTI の店舗は仲介サービスに同意する必要があります。
顧客が店舗に払い戻しを求めるという最も一般的な取引紛争のケースでは2つの結果が予想されます。店舗側が
勝った場合、追加の措置は必要ありません。店舗側が負けた場合、仲介システムはテンポのローリングリザーブ
から顧客のアカウントに金銭を転送します。もし店舗のローリングリザーブに十分な資金が無い場合は、リザー
ブクレジットファンドが使用され、店舗は RCF を払い戻す義務があります。COTI 仲介システムでは、店舗は期
間内に自発的に納付するか、または控訴することが出来ます。
仲介サービスは、COTI チームによって開発された仲介コードによって管理されます。
図 12: 仲介人はデータの賢者として行動します。彼らは現実世界の紛争に関する情報を正確に検証することでインセンティブが与えら
れ、彼らの合意は効率的かつ平等な商取引を実現します。
11.起こりうる攻撃
11.1 二重支払い防止
決済ソリューションは、起こりうる二重支払い攻撃を許すことはできません。このリスクを軽減するため、
COTI では専用の二重支払い防止(DSP)ノードを導入しています。これらのノードは、ネットワークに影響を与
えることなく、さらなるトランザクションの監視を実行します。
11.1.1 二重支払い防止メカニズム
二重支払いを防止するために、DSP ノードは以下を実行します(図 13)。
1. 全アカウントの事前に計算された残高を持つ軽量版クラスターを維持する。
2. クラスターに接続されている新しいトランザクションのコピーを受け取る。
3. 二重支払いの可能性がある試みを検出するため、ヒューリスティックを用いて新しいトランザクションをチェ
ックする。
4. 利用可能なアカウント残高に対して新規のトランザクションをチェックする。
5. 正当なトランザクションに署名する。
6. 二重支払いの疑いのあるトランザクションにフラグを立てる。
7. トラストスコアサーバーに二重支払いの試みを通知する。
DSP ノードによって実行されるトランザクション検証プロセスは迅速な手順であると予想されるため、関連す
る金額だけがチェックされ、トランザクションの署名はチェックされません。DSP ノードが実行するチェック
作業は、トランザクションがクラスターに接続された後にのみ実行されます。トランザクションが、完全に承認
されたとみなされるには、DSP ノードの署名を必要とします。
検出された二重支払いの試みは、悪意のある意図に対してフラグが立てられ、拒否されます。有効なトランザク
ションは、DSP ノードからの署名を受け、承認されます。DSP ノードは、二重支払いの検証が効率的に行える
よう、負荷分散されています。
図 13: DSP ノードにより行われる検証手順
11.1.2 DSP ノードの作成
二重支払いを防止するために必要な検証の性質上、DSP ノードの運営を希望するユーザーは次の要件を満たす
必要があります。
1. DSP ノードオペレーターは、KYC / AMP 手続きを含むコンプライアンスチェックに合格する
必要があります。
2. 相当な額の COTI を特別なマルチシグ口座に預ける必要があります。
3. 負荷分散品質を含む DSP ノードのパフォーマンスとセキュリティをリモートで検証する必要
があります。
DSP ノードを運営するために必要な COTI の額はかなり高額(10,000 COTI 以上)なため、委任されたプルーフ
オブワークメカニズムが必要となります。各ユーザーの取り分は DSP ノードの運営に貢献した COTI の量に比
例します(図 14)。
図 14: 委任プルーフオブワークの原則に基づく DSP ノード作成手順
11.2 Penny-spend 攻撃/トランザクションフラッド
アカウントが信頼されている場合、取引手数料はゼロになる可能性があります。悪意のある当事者は多くのマイ
クロトランザクションを送信することでこれを悪用し、ノードストレージリソースを浪費する可能性がありま
す。その攻撃を開始するために多くの計算リソースが使用されるため、トランザクションを検証するために必要
な PoW は攻撃者が送信できる支払い回数を制限します。まれなケースとして、攻撃者がマイクロトランザクシ
ョンの作成に成功しても、そのアカウントのトラストスコアは無料手数料の特典とともに減少します。
低いトラストスコアを持つ攻撃者が無効なトランザクションを送信して、最終的に拒否されても、匿名の複数ア
カウントからの無効なトランザクションでクラスターを妨害しようと試みる可能性があります。この攻撃は、す
べてのソーストランザクションが無効となり、新しいトランザクションがクラスターに接続できない状況を引き
起こす可能性があります。特定の時点でクラスターにおいて実行されるトランザクション(ゼロ支出トランザク
ションを含む)が多数あると仮定した場合には、大量の使用可能なソースが発生し、攻撃者はその各ソースに対
して PoW を行わなくてはならないため、すべてを使い果たすことは出来なくなります。このような攻撃を開始
するには、悪意を持った人物が COTI でホストされているリソースを含め、すべての参加リソースを圧倒するほ
ど膨大なリソースにアクセスする必要があります。
11.3 シビル攻撃
攻撃者は、複数のコンピュータ、仮想マシン、および IP アドレスを操作して、異なるユーザー名とメールアド
レスを持つ多数のアカウントを作成します。シビルアイデンティティとして知られるこれらのアカウントは、ネ
ットワークにおける信用の利用を妨害します[10]。信頼性の低いアカウントは、ユーザーの身元を確認せずに作
成できるため、多くのアカウントを持つ攻撃者は、サブクラスタの開始時に 1 つのアカウントから二重支払いで
始まるサブクラスタを作成しようとする可能性があり、その後 COTI のソース選択アルゴリズムを無視して、他
のアカウントとトランザクションを検証することが出来ます。
適度な長さのチェーンが作成されていれば、十分な信用を蓄積された場合に攻撃者はトランザクションを承認し
たと主張することができます。このような場合、DSP ノードはその状況が存在するかどうかをチェックし、二
重支払いの試みを防ぎます。もう一つの防衛策は、信頼性の低いアカウントは取引手数料が高く、支出限度額が
あるため、そのような攻撃は不利になる可能性があるということです。
もう一つの起こりうる攻撃としては、信頼性の高いアカウントを持つ悪意を持った当事者が、別の自身で作成し
たアカウントからのトランザクションを承認しようとするときに発生する可能性があります。攻撃者は、承認し
きい値に達するために、高い信用度のトランザクションを匿名トランザクションにつなげようとする可能性があ
ります。しかし、匿名アカウントのトラストスコアが低いほど、この攻撃は不可能となります。信用度の高いア
カウントは低い信用アカウントからの取引を承認できないため、そのようなトランザクションの承認を行えませ
ん。
11.4 中間者攻撃 (Man-in-the-middle attack)
パケットは攻撃者によって通信チャネルに挿入することが出来るため、悪意のある当事者は DSP ノードなどの
特殊なノードの乗っ取りを試みる可能性があります。ユーザーが初めて COTI に参加するときに、彼らが攻撃者
の公開鍵か実際の COTI ノードを使用しているかが分からないため、このような攻撃は問題となる可能性があり
ます。この問題を解決するために、COTI クライアントは COTI サーバーの公開鍵をハードコードしています。
したがって、COTI サーバーは、SSL /TLS ハンドシェイクで認証局と同様の機能を果たします。COTI サーバー
との安全な接続が確立されると、サーバーは特殊ノードの正しい公開鍵を取得します。
11.5 悪意のあるノードの攻撃
参加者は検証を実行するノード、すなわち DSP ノードを購入できるため、悪意のある当事者は COTI ネットワ
ークにおいて買収を試みる可能性があります。攻撃者が自身のトランザクションを検証するための必要最低限の
ものが、フルノードと DSP ノードだけのように見えるかもしれません。
しかし、検証には DSP ノード間のコンセンサスが必要であり、DSP ノードの購入は高価であるため、大半の
DSP ノードを購入する攻撃方法は利益を生まないと見ています。さらに、トラストスコアの高い参加者だけが
DSP ノードを作成でき、他の DSP ノードが悪意のある行動を検知すると、即座にすべての信頼を失い、ブロッ
クされ、所有者の預金は差し押さえられます。
11.6 多数決攻撃
暗号通貨の分散型の性質により、高い計算リソースを持つ単一のユーザーまたは少数のユーザーのグループは、
ネットワークのコンセンサスを自身に好ましいように偏らせることが出来ます。これは 51%攻撃としても知ら
れており[9]、攻撃者は PoW パズルを再計算して代替のトランザクション履歴を作成することができます。これ
は、その履歴が他のネットワークのユーザーによって複製され、最終的にコンセンサスを形成することを想定し
て行われます。
COTI ネットワークでは、悪意のある当事者は以前のトランザクションを元に戻すためクラスターの一部の PoW
を再計算しようと試みる可能性があります。このような攻撃を開始するには、膨大な計算能力が必要ですが、理
論的には可能です。DSP ノードは、このような攻撃による二重支払いを防ぎ、履歴ノードはトランザクション
を削除して偽の履歴レコードを生成しようとする試みを防ぎます。
11.7 プロトコル準拠
ユーザーがより高いトラストスコアを持つユーザーによって作成された別のトランザクションに自身のトランザ
クションを接続すると、トラストパスがそのトランザクションで実行されるため、他のトランザクションの確認
時間が遅くなる可能性があります。しかしながら、この操作は、同程度のトラストスコアを有する(すなわち、
同じトラストスコアしきい値内のソースにしか接続することができない)ソースにしかトランザクションを接続
できないので、実際には実行することが困難です。これにより、このような攻撃を効果的にする、新しいトラン
ザクションがそれよりも極端に高いトラストスコアを持つソースに接続することを防止します。
11.8 サービス拒否 (DDOS) 攻撃
サーバーの集中型である性質の結果、攻撃者がトラストスコアサーバーに大量の要求を送る可能性があります。
このような攻撃は、ユーザーがトラストスコアを簡単に取得できず、システムが遅くなったり、トランザクショ
ンの処理を行えなくなる可能性を意味します[12]。これを防ぐために、COTI は集中型サーバーの負荷分散など
の標準的な DDOS 防止メカニズムを採用します。同様の攻撃は、DSP ノードのような特殊ノードに対しても、
いくぶん集中型の性質を持つために行われる可能性があります。しかし、特殊ノードの一部は最終的に一般のユ
ーザーであるため、負荷分散をできない場合があります。したがって、COTI は一般ユーザーがホストする特殊
ノードの少なくとも一部が、ネットワークが動作を停止しない程度の堅牢なネットワーキング技術を利用してい
ることを確かめる必要があります。
11.9 ソフトウェアパッチの配布
多くの暗号通貨の実装において欠陥が発見されています[18]。したがって、ノードが侵入されないように、パッ
チを安全かつ迅速に配布する必要があります。そのような侵入が発生した場合でも、残高とネットワークのトラ
ンザクション履歴は DSP ノードと履歴ノードにそれぞれで確認されるため、COTI クライアントに発見された欠
陥が大きな損失につながる可能性は低いと言えます。
12.12.COTI の未来
完全に分散されたオンライン決済用のエコシステムを提供するために、COTI は分散型ガバナンスを可能にする
様々な選択肢を模索しています。このガバナンス体制は、基本プロトコル、COTI トークンの将来的な使用、投
資などに影響する決定を下す責任を担っています。この集団はこれらの問題に投票するだけではなく、変化を実
行する責任も負っています。Futarchy [8]とは現在検討中のガバナンスの1つです。
分散型ガバナンスは、プロトコルの更新後に開始される可能性があります。アップデートの準備ができ次第、こ
の分野の専門家チームは、アップデートが実装された場合に起こりうる結果を判断する測定基準(アップデート
を評価する手段)の策定を担当することになります。これが決定されたのち、COTI トークン所有者はネットワ
ークにおいて可能な限り最善とされる結果に対して投票することになります。したがって、決定はクラウドの知
恵に基づいています。専門家のチームを選ぶための仕組みは、未来のネットワークバージョンで決定されること
になります。
COTI の将来の発展を効率化するために、COTI のトランザクションバンドルは、将来の情報レイヤーを格納す
るための空き領域を確保します。これらのレイヤーは、クラスターに基づいて情報を流したい他の企業が、ネッ
トワーク上で他の通貨やデータセットを転送するため、またはスマートコントラクトを展開するために使用でき
ます。
参考文献
[1] Peter Arntz. Blockchain technology: not just for cryptocurrency.
https://blog.malwarebytes.com/security-world/technology/2017/12/ blockchain-
technology-not-just-for-cryptocurrency/, 2017.
[2] blockchain.info. Confirmed Transactions Per Day.
https://blockchain.info/charts/n-transactions?timespan=all.
[3] John Adrian Bondy, Uppaluri Siva Ramachandra Murty, et al. Graph theory with applications.
Elsevier Science Ltd, 1976.
[4] Anton Churyumov. Byteball: A decentralized system for storage and transfer of value. 2016.
[5] Thomas H Cormen. Introduction to algorithms. MIT press, 2009.
[6] Kyle Croman, Christian Decker, and Ittay Eyal Eyal. On scaling decentralized blockchains. 2016.
20th international conference on Financial Cryptography and Data Security 2016.
[7] Brian S Everitt, Sabine Landau, Morven Leese, and Daniel Stahl. Cluster Analysis. Wiley Online
Library, 2011.
[8] Robin Hanson. Shall we vote on values, but bet on beliefs?
http://mason.gmu.edu/~rhanson/futarchy2007.pdf/, 2007.
[9] Investopedia. 51% attack. https://www.investopedia.com/terms/1/51-attack.asp, 2017.
[10] Brian Neil Levine, Clay Shields, and N. Boris Margolin. A survey of solutions to the sybil attack.
2006.
[11] A.P. Moller Maersk. Maersk and IBM to form joint venture applying blockchain to improve global
trade and digitise supply chains. https:
//www.maersk.com/press/press-release-archive/maersk-and-ibm-to-form-joint-venture,
2018.
[12] Jelena Mirkovic and Peter L. Reiher. A taxonomy of ddos attack and ddos defense mechanisms.
Computer Communication Review, 34,
2004.[13] Serguei Popov. The tangle. 2017.
[14] MIT Technology Review. Blockchain primer.
https://www.technologyreview.com/collection/blockchain-primer/, 2018.
[15] Yary Ribero and Daniel Raissar. Dagcoin whitepaper. 2015.
[16] Sheldon M Ross. Introduction to probability models. Academic press, 2014.
[17] Mustafa Suleyman and Ben Laurie. Trust, confidence and verifiable data audit.
https://deepmind.com/blog/trust-confidence-verifiable-data-audit/, 2017.
[18] Bitcoin Wiki. Common vulnerabilities and exposures.
https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures.
Appendix A: シミュレーション結果
クラスターシミュレーターが構築され、GitHub で利用できるようになります。シミュレーターの主な目的は、
パラメータとアルゴリズムの選択肢を分析し、実世界のクラスタパフォーマンスを最適化するためにサンドボッ
クス内の経験的データを収集することです。シミュレーターを使用して、内部パラメータと外部パラメータがク
ラスターのパフォーマンスに及ぼす影響を分析できます。これには、迅速なシナリオ分析を可能にするデータ抽
出および視覚化ツールのコレクションが付属しています。コアシミュレーターは、R の分析コンポーネントを使
用し C++で記述されています。ラップトップコンピュータで秒間約 1,000 トランザクションをシミュレートで
き、最大 5,000,000 トランザクションのシミュレーションでテストされています。
一部の選ばれたシミュレーション結果がここに掲載されていますが、パフォーマンス特性の説明に関連するもの
はセクション 8 で既に説明されています。以下は、ここに示すほとんどのシミュレーションで使用される関連パ
ラメータの概要です。
1. ∆t はノードがソース選択アルゴリズムを使用し、プルーフオブワークを実行する一定の時間
です。
2. λ はポアソン過程に従うと仮定される新規到着率です。
3. K は、ソース選択アルゴリズムを実行し、プルーフオブワークを実行するのにかかる時間内
の新規到着の数です。
4. L は、承認されるためにトラストチェーンが超過しなければならない累積トラストしきい値
を決定する乗数です。トラストチェーンの累積トラストは、トランザクションが承認される
ために 100L を超える必要があります。
5. ρ は、トランザクションが確認できるトラストスコアのしきい値の幅です。これは新規トラ
ンザクション合計数の割合として表現します。
図 15: トラストスコアの関数としての待ち時間。確認済トランザクションは、高いトラストと短い承認時間の領域周辺に集中しているこ
とに注目してください。
図 16: これらの数字は、λ = 10 より少し前の変曲点を示唆しています。承認の遅延は、信用の傾向を除いて、検証の遅延によく似ている
ことに注目してください。
図 17: λ = 10 より少し前の変曲点に注目してください。これは普遍的であり、図 8 に示すように DAG が切断されるのを防ぐために必要
な λ の値に関連していると思われます。
図 18:左の図は、承認時間がしきい値 ρ のサイズの影響をほとんど受けていないことを示しています。 右の図は、検証および承認時間
の平均遅延がソース選択アルゴリズムを実行し、プルーフオブワークを実行するのにかかる時間 (Δt) に正比例することを示しています。
図 19:平均承認遅延がパラメータ K によって大幅に制御されることを示しています。これは、新しいトランザクションの到着率が十分
高ければ、複雑なプルーフオブワークがトランザクションのスループットに有害ではないことを意味します。
図 20:この図からわかるように、しきい値 ρ のサイズは、トランザクションチェーンに沿ったトランザクションと承認の間の信用傾向に
明確な影響を与えます。

More Related Content

More from 🌍 Norbert Gehrke

Japan FSA New Crypto Currency Exchange Registration Form
Japan FSA New Crypto Currency Exchange Registration FormJapan FSA New Crypto Currency Exchange Registration Form
Japan FSA New Crypto Currency Exchange Registration Form🌍 Norbert Gehrke
 
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary GenslerJapan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler🌍 Norbert Gehrke
 
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary GenslerJapan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler🌍 Norbert Gehrke
 
Advanced Blockchain AG - Shareholder Meeting August 16, 2018
Advanced Blockchain AG - Shareholder Meeting August 16, 2018Advanced Blockchain AG - Shareholder Meeting August 16, 2018
Advanced Blockchain AG - Shareholder Meeting August 16, 2018🌍 Norbert Gehrke
 
NYU SPS Tokyo Assistant Director
NYU SPS Tokyo Assistant DirectorNYU SPS Tokyo Assistant Director
NYU SPS Tokyo Assistant Director🌍 Norbert Gehrke
 
Hyperledger Meetup Tokyo, June 20, 2018
Hyperledger Meetup Tokyo, June 20, 2018Hyperledger Meetup Tokyo, June 20, 2018
Hyperledger Meetup Tokyo, June 20, 2018🌍 Norbert Gehrke
 
International RegTech Association - Japan Adoption Survey 2018 (JP)
International RegTech Association - Japan Adoption Survey 2018 (JP)International RegTech Association - Japan Adoption Survey 2018 (JP)
International RegTech Association - Japan Adoption Survey 2018 (JP)🌍 Norbert Gehrke
 
International RegTech Association - Japan Adoption Survey 2018 (EN)
International RegTech Association - Japan Adoption Survey 2018 (EN)International RegTech Association - Japan Adoption Survey 2018 (EN)
International RegTech Association - Japan Adoption Survey 2018 (EN)🌍 Norbert Gehrke
 
TontineTrust - English White Paper
TontineTrust - English White PaperTontineTrust - English White Paper
TontineTrust - English White Paper🌍 Norbert Gehrke
 
TontineTrust - Japanese White Paper
TontineTrust - Japanese White PaperTontineTrust - Japanese White Paper
TontineTrust - Japanese White Paper🌍 Norbert Gehrke
 
Tokyo FinTech Meetup #14 - EOS & Chintai
Tokyo FinTech Meetup #14 - EOS & ChintaiTokyo FinTech Meetup #14 - EOS & Chintai
Tokyo FinTech Meetup #14 - EOS & Chintai🌍 Norbert Gehrke
 
Distributed Ledgers meet Mesh Networks
Distributed Ledgers meet Mesh NetworksDistributed Ledgers meet Mesh Networks
Distributed Ledgers meet Mesh Networks🌍 Norbert Gehrke
 
IOTA - Tokyo Meetup #2 - nakamo.to and peaq - 2017-12-14
IOTA - Tokyo Meetup #2 - nakamo.to and peaq - 2017-12-14IOTA - Tokyo Meetup #2 - nakamo.to and peaq - 2017-12-14
IOTA - Tokyo Meetup #2 - nakamo.to and peaq - 2017-12-14🌍 Norbert Gehrke
 
LAToken Conference Pitchdeck 2017-12-01
LAToken Conference Pitchdeck 2017-12-01LAToken Conference Pitchdeck 2017-12-01
LAToken Conference Pitchdeck 2017-12-01🌍 Norbert Gehrke
 
United States vs. Maksim Zaslavskiy
United States vs. Maksim ZaslavskiyUnited States vs. Maksim Zaslavskiy
United States vs. Maksim Zaslavskiy🌍 Norbert Gehrke
 

More from 🌍 Norbert Gehrke (19)

Japan FSA New Crypto Currency Exchange Registration Form
Japan FSA New Crypto Currency Exchange Registration FormJapan FSA New Crypto Currency Exchange Registration Form
Japan FSA New Crypto Currency Exchange Registration Form
 
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary GenslerJapan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler
 
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary GenslerJapan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler
Japan FSA 4th Study Group on Virtual Currency Exchanges - Gary Gensler
 
Advanced Blockchain AG - Shareholder Meeting August 16, 2018
Advanced Blockchain AG - Shareholder Meeting August 16, 2018Advanced Blockchain AG - Shareholder Meeting August 16, 2018
Advanced Blockchain AG - Shareholder Meeting August 16, 2018
 
Japanese FinTechs from A to Z
Japanese FinTechs from A to ZJapanese FinTechs from A to Z
Japanese FinTechs from A to Z
 
NYU SPS Tokyo Director
NYU SPS Tokyo DirectorNYU SPS Tokyo Director
NYU SPS Tokyo Director
 
NYU SPS Tokyo Assistant Director
NYU SPS Tokyo Assistant DirectorNYU SPS Tokyo Assistant Director
NYU SPS Tokyo Assistant Director
 
Hyperledger Meetup Tokyo, June 20, 2018
Hyperledger Meetup Tokyo, June 20, 2018Hyperledger Meetup Tokyo, June 20, 2018
Hyperledger Meetup Tokyo, June 20, 2018
 
International RegTech Association - Japan Adoption Survey 2018 (JP)
International RegTech Association - Japan Adoption Survey 2018 (JP)International RegTech Association - Japan Adoption Survey 2018 (JP)
International RegTech Association - Japan Adoption Survey 2018 (JP)
 
International RegTech Association - Japan Adoption Survey 2018 (EN)
International RegTech Association - Japan Adoption Survey 2018 (EN)International RegTech Association - Japan Adoption Survey 2018 (EN)
International RegTech Association - Japan Adoption Survey 2018 (EN)
 
TontineTrust - English White Paper
TontineTrust - English White PaperTontineTrust - English White Paper
TontineTrust - English White Paper
 
TontineTrust - Japanese White Paper
TontineTrust - Japanese White PaperTontineTrust - Japanese White Paper
TontineTrust - Japanese White Paper
 
Tokyo FinTech Meetup #14 - EOS & Chintai
Tokyo FinTech Meetup #14 - EOS & ChintaiTokyo FinTech Meetup #14 - EOS & Chintai
Tokyo FinTech Meetup #14 - EOS & Chintai
 
fintechnology.jp Company Flyer
fintechnology.jp Company Flyerfintechnology.jp Company Flyer
fintechnology.jp Company Flyer
 
Distributed Ledgers meet Mesh Networks
Distributed Ledgers meet Mesh NetworksDistributed Ledgers meet Mesh Networks
Distributed Ledgers meet Mesh Networks
 
IOTA - Tokyo Meetup #2 - nakamo.to and peaq - 2017-12-14
IOTA - Tokyo Meetup #2 - nakamo.to and peaq - 2017-12-14IOTA - Tokyo Meetup #2 - nakamo.to and peaq - 2017-12-14
IOTA - Tokyo Meetup #2 - nakamo.to and peaq - 2017-12-14
 
LAToken Conference Pitchdeck 2017-12-01
LAToken Conference Pitchdeck 2017-12-01LAToken Conference Pitchdeck 2017-12-01
LAToken Conference Pitchdeck 2017-12-01
 
United States vs. Maksim Zaslavskiy
United States vs. Maksim ZaslavskiyUnited States vs. Maksim Zaslavskiy
United States vs. Maksim Zaslavskiy
 
IOTA - Tokyo Meetup 2017-11-09
IOTA - Tokyo Meetup 2017-11-09IOTA - Tokyo Meetup 2017-11-09
IOTA - Tokyo Meetup 2017-11-09
 

Recently uploaded

IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 

Recently uploaded (12)

What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 

COTI (Currency of the Internet) - Japanese Whitepaper

  • 1. トラストチェーンコンセンサス COTI: 仲介システムを持つ分散型トラストベースオンライン決済システム テクニカルホワイトペーパー V2.0、 2018 年 3 月 1 日 概要 一般的なオンライン決済ソリューションは、特に暗号通貨においては、量とスピードを拡大する能力に 欠けています。ブロックチェーンベースの技術がいくつも作り出され、安価で高いトランザクションス ループットを提供する課題に取り組んできましたが、それらのほとんどは成功していません。もう一つ の課題は未知の当事者間における信頼の欠如で、無数の支払い拒否とトランザクションのキャンセルを 引き起こす原因となっています。さらに、店舗は実際の彼らの行動によってではなく特定の業界との結 びつきから「ハイリスク」または「ローリスク」であると判断されてしまいます。 COTI(インターネット上の通貨)は、トラストベースのアルゴリズムを利用して時間とともに繋がれる トランザクションから築かれた、有向非巡回台帳型の革新的ベースレイヤープロトコルでこれらの課題 を解決します。信用(トラスト)は、過去の行動データと買い手/店舗の客観的情報を組み合わせたもの をベースにしなければなりません。COTI はこれを考慮し、独自の機械学習アルゴリズムを使用してとr トラストスコア(信用スコア)を計算します。トラストチェーンアルゴリズム内の信用情報は、トラン ザクションの検証と確認をより高速に行うために使用されます。トラストチェーンは、同様の信用度を 持つ以前のトランザクション 2 つに新たなトランザクションを添付することで成長します。これによ り、革新的なコンセンサスベースの確認メカニズムが生まれ、そこでは高いレベルの信用を得ることが 利益(より速い確認時間など)につながるため、すべてのユーザーが信頼構築行動に従事するようにな ります。 COTI は、攻撃の危険性を監視・検出・防御する仕組みを構築し、ネットワークの安全性を確保します。 そのような仕組みの一例として、COTI の二重支払い防止(DSP)ノードがあります。COTI はトランザク ションを送信する際に発生する紛争の解決に向けた新しいプロトコルも導入しています。これは、他の 暗号通貨には不可能であり、同時に強く必要とされている機能です。紛争解決は仲介サービスによって 行われます。このサービスでは、紛争の際に公正な結果を保証するためにゲーム理論の原則を活用し、 双方の紛争当事者のどちらが正しいかを決める投票を行います。 キーワード:ブロックチェーン、COTI、暗号通貨、DAG、分散台帳、E コマース 1. はじめに ここ数年で、ブロックチェーン技術と暗号通貨は決済取引の管理に有効な仕組みであることを証明しました。ビ ットコイン、イーサリアムなどの通貨は多くの関心と導入を経て飛躍的な成長を遂げました 1 。 一方ブロックチ ェーン技術は、サプライチェーン管理[11]から分散型健康記録管理[17]に至るまで、多くのアプリケーションで 利用されてきました。実際に、多くの人は暗号通貨を初期のインターネットに見立て、インターネットが情報の 有用性を大きく変えたときと同じように、決済システムに変革をもたらす巨大な潜在力であるとしています。 [14] しかし、第一世代の暗号通貨は多くの成功を収めたものの、一般的な普及を達成できていないという基本的な課 題に直面しています。リニアブロックチェーンに基づいた暗号通貨は、トランザクションスループットが少ない という欠点を抱えています。2 より複雑になるプルーフオブワーク(PoW)の計算を 1 例えば、1 日あたりのビットコイントランザクションの数は、2009 年の約 100 件から 2017 年後半では 40 万件以上に増加しました。 [2]. 2 ビットコインは、1 秒当たり最大 7 トランザクションを行います[6]。
  • 2. 実行するためにマイナーのネットワークに依存する暗号通貨では、法外な手数料が発生します。そしてほとんど の既存暗号通貨は管理が難しく、大規模な投機の対象となります。さらに、クレジットカードやその他の決済プ ラットフォームで一般的な紛争解決サービスを今ある暗号通貨の枠組みの中で見ることはほとんどありません。 これらの要因から、個人や店舗が日々の取引においてグローバル通貨やデジタルドルを採用することは困難で す。 本資料では、次世代の暗号通貨 COTI(インターネット上の通貨)を紹介します。COTI は、高いトランザクシ ョンスループットと低い手数料を実現し、管理を容易にすると共に、ユーザーが支払いプラットフォームに期待 する紛争解決メカニズムなどの分散型サービスを提供します。COTI は、ブロックチェーンとは対照的にクラス ターと呼ばれるトランザクションの有向非巡回グラフ(DAG)を採用することにより、高いトランザクション スループットを実現します。この考え方は新しいものではなく、パフォーマンスを向上することがすでに証明さ れています[13、4、15]。通常、DAG ベースの暗号通貨 3 は、重要度の低いトランザクションを大量に扱うため のものであり、IoT デバイスなどのマシン間などでの使用を想定しています。COTI は店舗・消費者間の日々の 取引をサポートするために作られているため、クラスターの形成と取引の承認を促進する新しいアルゴリズムが 導入されています。新しいアプローチの基礎となるのはトラストスコアです。トラストスコアは、過去の行動に 基づいて各ユーザーアカウントに割り当てられ、ネットワーク内のアカウントの取引とそれに関連する手数料の 承認を管理します。これらのアルゴリズムについては、セクション 2 とセクション 4 で詳しく説明します。 上記の新機能に加え、COTI は紛争解決の仲介サービスを導入しています。このサービスでは、取引紛争の解決 を任された信頼性の高いネットワーク参加者の分散型共同体を特徴としています。これにより、ネットワークは 参加者に対して分散型の人的介入サービスを提供することができます。 ベースレイヤープロトコル: DAG ベースの分散型台帳テクノロジーは、ブロックチェーンベースの決済ネットワ ークにありがちな拡張性の限界を克服することに特に有効であるという特徴を示しています。なぜなら、ブロッ クチェーンベースのネットワークでは、規模が大きくなるほどネットワークの使用効率に悪影響を及ぼします が、通常 DAG ベースのネットワークではそれが逆になります。ネットワークの使用率が高いほどネットワーク の拡張性が向上します。このように、ネットワークユーザーの数とトランザクションの認証率で正の相関関係が あります。 ネットワーク使用率とネットワーク拡張性との間に正の相関があるため、DAG データ構造は COTI ネットワー クのベースレイヤープロトコルにとって理想的であり、COTI が約束する拡張性・即時性・低額/無料の手数料を 犠牲にすることなく完全な分散化を達成することができます。上記のイニシアチブによって確立された基盤を基 に、COTI は革新的な DAG ベースの分散型台帳技術をベースレイヤープロトコルとして導入します。この台帳 技術は、トラストスコア(Trust Score)を主要メカニズムとして使用し、新しく未だ承認されていないトランザ クションはその検証のために以前のトランザクションを選択します。さらに、COTI の DAG ベース分散型台帳 テクノロジーであるクラスター(Cluster)は、COTI のトラストチェーンアルゴリズムを使ってトランザクショ ンを確認することで、より高速にコンセンサスに達します。最終的に、クラスターは 1 秒あたり最大 10,000 件 のトランザクション(TPS)を検証し、承認することが可能となります 4 。 仲介サービス: COTI は、COTI 決済システムで決済された取引に関わる不正またはその他の紛争が起きた際にユ ーザーが取り消しを行える、即利用可能なサービスを提供します。仲介サービスは、起こりうるクレームに対処 するためのローリングリザーブを店舗ごとに作成し、それをさらに保証するためシステム全体でリザーブクレジ ットファンド(RCF)を作成します。両方の基金は COTI のネイティブ通貨で維持され、店舗のローリングリザ ーブ必要量は、その店舗のトラストスコアに基づいて計算されます。 3 例. IOTA 4 これに関する議論はセクション 8 に記載されています。
  • 3. 手数料: COTI ネットワークは、透明性のある公平な料金モデルを使用します。すべての手数料は、COTI ネッ トワークの一般ユーザーが運用する分散型サーバーであるフルノード(Full Nodes)によって収集されます。 COTI ネットワークは、フルノードによって収集された手数料の一部を、インフラ技術のサポートのために受け 取り、二重支払い防止ノード(Double Spend Prevention Nodes)(Sections 3.2 と 11.1 を参照) および トラストス コアサーバー(Trust Score Servers)(Section 3.3 を参照)などに使用します。ネットワークが最初に作成される と、COTI で生成されたトークンの一部は、ネットワークが成熟するまで、すべてのトランザクション決済のた めの予備基金(Reserve Fund)として確保されます。したがって、ネットワーク初期のネットワーク費用はゼロ に設定されます。この期間が過ぎると、ネットワーク分散化により手数料は最小限に抑えられます。 各ノードは、部分的にはノード自体によって決定される手数料を請求します。良いサービスを提供していると信 じるいくつかのノードは、より高い手数料を設定するかもしれません。他のノードは、より少ない、または何も 請求しないかもしれません。ノードがサービスを提供するために請求する手数料は公正かつ公開し、共通のネッ トワークルールに準拠していなければなりません。ネットワークルールは料金の上限を定めていますが、最低料 金の定めはありません。 顧客によりよい体験を提供できると考え、店舗が自身のフルノードをカスタマイズウォレットと共に運用するこ とも可能です。 用語集 用語 意味 ノード(Node) 共通のネットワークタスクのためにユーザーが運用する特別なサーバー。 トランザクションの検証 クラスターに添付する前にトランザクションをチェックするプロセス。 ソーストランザクション インバウンドのトランザクションが存在しないクラスターのターミナルトラ ンザクション。これらのトランザクションは検証プロセスを経ている。 承認済みトランザクション コンセンサスアルゴリズムが定義された信用の合計数レベルに到達したトラ ンザクション。 トラストスコア(信用スコア) 効果的なトランザクション処理とリスク軽減に使用されるユーザー評価基 準。 攻撃 システムの整合性を脅かす悪意を持った試み。 二重支払い 重複したアカウント残高を使用して2つのトランザクションを実行する悪意 のある試み。この結果、残高はマイナスとなり、攻撃者はコストを掛けずに 利益を得ることが出来る。 エスクロー口座 特定の条件が満たされた場合のみ使用できる、資金を有する口座。 2. トラストチェーンアルゴリズム COTI は、DAG ベースのデータ構造上で動作する、取引当事者間で合意を達成する新しいアプローチを開発しま した。クラスターは完全に分散化された DAG に基づいており、中央集権型に保管されることはありません。ク ラスターは、台帳またはネットワークによって処理されるすべてのトランザクションの記録とみなされます。パ ラレルソースの選択とトランザクションの確認だけでなく、COTI のトラストスコアメカニズムの使用を通じて 拡張性を実現します。
  • 4. 2.1 クラスター内のトランザクションのトラストスコア クラスター内の各トランザクションは、送信側アカウントの行動履歴とアカウント所有者に関する情報の組み合 わせに基づくトラストスコアを受け取ります。この情報は、ユーザーが最初に口座を作成したときに COTI に提 供され、サポート文書により確認されます。トラストスコアアルゴリズムの詳細は、セクション 4 を参照してく ださい。 トラストスコアは、COTI における取引手数料の主要な決定要因です。高いトラストスコアを持つ参加者の手数 料は、ゼロもしくは低額になること期待できますが、トラストスコアの低い参加者は高い手数料を支払う必要が あります。これにより、店舗はトラストスコアを上げるために可能な限り最高のサービスを提供しようとしま す。高いトラストスコアのもう一つの利点は、トラストスコアが高いほど早く承認されることです(詳細はセク ション 6、7、8 を参照)。 トランザクションを実行する場合、送信者は新しいトランザクションを台帳に追加するために以前のトランザク ション 2 つを検証する必要があります。したがって、台帳は DAG(有向非巡回グラフ)として編成されます。 ここで、頂点はトランザクションを表し、各トランザクションから伸びる有向辺はそれを検証する 2 つの別トラ ンザクションにつながっています。クラスターの図表を図 1 に示します。白丸のそれぞれは、2 つの後続トラン ザクションによって検証されたトランザクションを表し、黒い丸は新しい未検証トランザクション(グラフ理論 的用語では「ソース」)を表します。新しいトランザクションが追加されると、別の黒丸トランザクションを検 証することになります。 図 1:クラスターの図表。ソーストランザクション(黒丸)は、クラスター内の以前のトランザクション 2 つを検証します。 2.2 ソースの選択 上記のプロセスでは、新しいトランザクションは検証に以前のソーストランザクションを 2 つ選択する必要があ ります。COTI ネットワークでは、この選択肢を実現するアルゴリズムは、各トランザクションのトラストスコ アに基づいています(セクション 6 を参照)。このソース選択アルゴリズムによると、ソースは現在のトラスト スコアに近い以前のトランザクションを選択する可能性が高くなります。これにより、トラストチェーンが形成 されるか、またはクラスター内に逆方向のパスが形成されます。このようなチェーンの累積トラストスコアは、 チェーンを構成する全トランザクションのトラストスコアの合計となります。 トラストチェーンアルゴリズムは、累積トラストスコアを使用して、トランザクション承認のコンセンサスに到 達します。トランザクションは、累積トラストスコアが事前設定されたグローバルしきい値を超えるトラストチ ェーンの開始点である場合、承認されたとみなされます。実際には、各取引から始まる最長のトラストチェーン (最高トラスト値)を検討し、累積トラストスコアをしきい値と比較して、取引が承認されたかどうかを確認し ます。 ソース選択アルゴリズムは類似のトラストスコアのトランザクションに接続する傾向があるため、信頼性の高い ユーザーによって生成されたトラストチェーンでは、トラストスコアの高いトランザクションを主に含むように なります。このようなトラストチェーンの累積トラストスコアは、しきい値を超えてすぐに成長し、コンセンサ スに到達します。つまり、信頼性の高いユーザーは確認時間が短縮され、トランザクションスループットが向上 します。 ソース選択アルゴリズムのもうひとつの重要な成果は、トラストスコアに基づくクラスターのソフトセグメンテ ーションです。つまり DAG は、類似のトラストスコアを持つユーザーから成るほぼ独立したサブ DAG に分割 されます。
  • 5. クラスターは次のようなライフステージを経て進行します。第 1 段階では、新しいトランザクションとして開始 されます。 2 段階目では同様のトラストスコアを持つ他の 2 つのトランザクションを検証してクラスターに接続 します。 3 段階目では他のトランザクションによって検証されます。 最終的に、トランザクションが承認さ れ、最も重い経路の累積トラストスコアが設定されたしきい値を超えたら(図 2)、クラスターに永続的に追加 されます。 図 2: (1)開始、(2)添付、(3)検証、(4)承認までのトランザクション(太丸)のライフサイクル。確認パスは青色で、網掛けの取 引は確認済を示します。ここでは例示のため、 n = 2 となっています。 COTI のトラストチェーンアルゴリズムは、信頼できるユーザー(すなわち、高いトラストスコアを有する者) が信頼性の低い者よりも早く承認を行えるよう設計されています。これは、あまり信頼出来ない人に対しては慎 重になり、取引を受け入れる前に確認しようとする自然な行動です。これは図 3 に示されており、さらにセクシ ョン 8 のシミュレーションを使用して検証されています。 図 3:中程度の信頼性を持つトランザクション(左)と信頼性の高いトランザクション(右)を確認するために必要なトラストチェーン の長さの違い。網掛けのトランザクションは、累積トラストスコアしきい値に達したもので、確認パスは青色です。網掛けの取引は承認 されました。ここでは例示のため、 n = 2 となっています。 3. ネットワークコンポーネント 3.1 アカウント 各 COTI の潜在ユーザーは、COTI ウォレットを使用してアカウントを開設し、ランダムに生成された秘密鍵お よび公開鍵が与えられます。各ユーザーは、トラストスコアを作成するためにいくつかの事実に基づく質問に答 える必要があります。ユーザーが登録できるさまざまなタイプの役割が存在するため(表 1 参照)、COTI のウ ォレットは最終的にカスタマイズ可能であり、これらのウォレットの詳細な運用はユーザーによって異なりま す。 3.2 ノード COTI は安全で信頼できる決済を可能にするため、特別に設計された分散型ソリューションを提供します。この ソリューションでは、ユーザーが運用するさまざまな種類のノードにクラスター内での責任を割り当てます。 COTI には、次の 3 つのノードタイプがあります。  フルノード: フルノードは、ネットワークの主要インフラストラクチャコンポーネントであり、ユー ザーゲートウェイとして機能します。このタイプのノードは、クライアント(ウォレット)アプリによ って署名された新しいトランザクションを受信し、トラストスコアサーバーにトラストスコアを要求し、 新しいトランザクションのソースを選択し、プルーフオブワーク(作業証明)を行い、新しいトランザ クションをクラスターに追加できるようにします。
  • 6.  DSP ノード: 二重支払い防止ノードは、特定の時点でクラスターの最新のコピーを保持するもので、 DAG ベースの暗号通貨が直面する主要な問題の 1 つに対する COTI のソリューションです。DSP ノード を実行するには、大量の COTI を特別なマルチシグ口座に入金する必要があります。それはかなりの量 であり、また DSP ノード管理者単独もしくはノード管理者に委任したネットワーク参加者のグループ によって入金されます。DSP ノード管理者は COTI ネットワークから報酬を受け取ります。DSP ノード 作成の詳細については、セクション 11.1.2 で詳しく説明します。  履歴ノード: 履歴ノードは、クラスタースタンププロセスが完了した後、クラスターの初期の記録を 保持し、さらにクラスターの全履歴を COTI のサーバーに保存します。完全なアカウント履歴は履歴ノ ードから取得できます。ただし、何らかの理由で履歴ノードを操作できない場合は、COTI の履歴サー バーが代わりに使用されます。 3.3 サーバー COTI は、ネットワークの重要なタスクを実行するサーバーを運営します。サーバーの 4 つのカテゴリは、ゼロ 支出サーバー、トラストスコアサーバー、KYC / AML データベースサーバー、履歴サーバーです。  ゼロ支出サーバー: これらのサーバーは、クラスター内のいずれかのソースが別のトランザクション によって検証されずに長時間待機した場合、またはソース選択アルゴリズムを通じてトランザクション がソースに添付できない場合にゼロ値トランザクションを送信します。これらのサーバーの動作は、ソ ース選択アルゴリズムの監視に役立ちます。これらのサーバーが過剰にアクティブな場合、ネットワー クまたはトラストスコアアルゴリズムに問題がある可能性があります。  トラストスコアサーバー: これらのサーバーは、参加者を計算して格納する専用のサーバーです。トラ ストスコアアルゴリズム(アルゴリズム 1 を参照)に従ってトラストスコアを計算します。  KYC / AML データベースサーバー: これらは、本人確認(KYC)およびアンチマネーロンダリング (AML)手続きの情報を処理および保存する専用サーバーです。  履歴サーバー: 履歴ノードのバックアップサーバーです。 4. トラストスコア トラストスコアは、COTI ネットワークの重要な機能であり、効果的なトランザクション処理とリス ク軽減に使用されます。トラストスコアは、トラストスコアサーバーまたは KYC / AML データベー スサーバーを使用して計算されます。決済ネットワークのすべてのアカウントには、特定のイベント や統計に基づいて変更されるトラストスコアがあります。アカウントのトラストスコアは、特定の範 囲内 [0,100] の数値となります。決済ネットワークのすべてのトランザクションには、トランザクショ ンバンドルに格納されているトラストスコアがあります。トランザクションのトラストスコアは、ト ランザクションが開始された時点の送信者のトラストスコアです。トランザクション A の累積トラス トスコアは、トランザクション A 自身を含む、トランザクション A を承認する最も重い経路をたどる 全トランザクションの全トラストスコアの合計です。 アカウントトラストスコアは、必要な文書をアップロードしたアカウントを所有する参加者により記入されたア ンケートのフィールドで最初の値が決定されます。アカウントトラストスコアが決定されたのち、アカウントの 決済統計、参加者の行動、およびネットワークから集められた「ビッグデータ」に従って更新されます。
  • 7. 表 1:さまざまな参加者の役割 参加者は、個人、法人、または非人間でも構わず、ユーザー、店舗または金融機関の役割を担うことができます (これらの役割は表 1 にまとめられています)。参加者が店舗または金融機関として登録されると、商品または サービスと引き換えに支払いを受け取ることができます。店舗または金融機関として登録せずに商品やサービス を販売しようとする非協力的な参加者は、ネットワークの安全性のためにブロックされます。 暗号通貨コミュニティにおける支配的な意見を反映し、新しい参加者は、アンケートへの記入や身分証明書を提 出する前でもウォレットの所有を禁止されることはありません。参加者に関する情報を入手できないため、証明 書の提出が無いユーザーは、トラストスコアを 1 に設定し、証明書の提出が無い法人は、トラストスコアを 0 に 設定します。トラストスコアが低い参加者(例えば < 5 の低い決済しきい値)は、小額の取引金額(例えば 6 1 COTI)しか送金できません。トラストスコア = 0 の参加者は、いかなる取引も開始できません。 身元確認と KYC / AML 手続きを完了する前に、店舗や金融機関として参加することはできません。店舗や金融 機関として参加するには、企業活動、ライセンス(該当する場合)、銀行の参考資料、監査報告書などの追加デ ータを提供する必要があります。 図 4:新しい参加者がトラストスコアを受け取るプロセス。 トラストスコアアルゴリズムは、トラストスコアベースのソース選択アルゴリズムで最大限のパフォーマンスを 保証するように設計されています。トラストスコアサーバーは定期的に参加者のトラストスコアを累積統計と参
  • 8. 加者の行動パターンに従って更新します。参加者のトラストスコアは、店舗に関連する破産ニュースなどの外部 イベントに合わせて変更することもできます。トラストスコアサーバーは、信頼できる情報源から、これらのイ ベントに関する情報を受け取ります。(例:当局の情報や公式ニュースサイトからサポート文書を提供するユー ザーなどから)このような情報を提出して処理するためのプロトコルは現在開発中です。 図 5:トラストスコアを更新するプロセス 4.1 トラストスコアアルゴリズム 前提条件: トラストスコアは、主にソース選択アルゴリズムの重要度を加重するものして使用され、トランザ クションが承認された度合いを測定します。ともにネットワークの運用に不可欠です。前者はネットワークの効 率に影響し、後者は決済システムのセキュリティに影響を与えます。 トラストチェーンアルゴリズムが効率的に機能するよう、トラストスコアは参加者をランク付けに使用されま す。トラストスコア計算の基準とパラメーターは、トラストスコアが効率的かつ公平に保たれるよう、定期的に 更新されます。 たとえば、トランザクション承認に推奨されるトラストレベル(累積トラストスコア)は、実際の推奨レベルが 理論的モデリングとコンピュータシミュレーションから導出されるまで、1000 となる可能性があります。信頼 性の高い参加者が少なくとも 10 件の取引で構成されたトラストチェーンを必要とする場合、中程度に信頼でき る参加者には少なくとも 20 件のトラストチェーンが必要です。一方、信頼性の低い参加者は、確認されるトラ ンザクションが 100 以上のトラストチェーンを持つことが求められます。この例では、トラストスコアアルゴリ ズムは、それぞれ約 100、50、10 のトラストスコア値を割り当てています。 COTI の現在のトラストスコアアルゴリズムは、指定されたトラストスコアの範囲に従って、参加者を表 2 に示 す 9 つのグループ(バスケット)に分類します。これらのグループは、ネットワークの要求に応じて変更される 可能性があります。 トラストスコア 範囲 グループの説明 40-50 エスクワイア 中程度の信頼性、平均的トランザクション頻度 30-40 スタートアップ 平均的な信頼性、平均的トランザクション頻度 20-30 ドキュメント・ニューカマー(書類提出済み新 人) 平均的な信頼性、平均的トランザクション頻度 10-20 セカンド・チャンサー 低い信頼性、平均的トランザクション頻度 0-10 ラ・クール・デ・ミラクル(奇跡の庭) 低い信頼性、低いトランザクション頻度
  • 9. トラストスコア 範囲 グループの説明 80-100 ネットワーク バックボーン 非常に高い信頼性、非常に高い トランザクション頻度 70-80 ピラー・オブ・エコノミー(経済の柱) 高い信頼性、非常に高い トランザクション頻度 60-70 タイガース 高い信頼性、高いトランザクション頻度 50-60 オールド・マーチャント(老舗) 高い信頼性、高いトランザクション頻度 表 2:トラストスコアの範囲を表す 9 つのグループ。この表の数字は、説明を目的とした参考値です。 COTI のトラストスコアアルゴリズムは、参加者を識別する情報に基づいていることが重要です。これは参加者 がトラストスコアを向上させるために信頼できる行動に従事するよう促すために必要です。これはまた、攻撃や 誤用に対する効果的な保護手段を提供し、参加者に正直な行動を促します。以上の理由から、COTI のトラスト スコアアルゴリズムは 2 つのアプローチの組み合わせです。 1. ルールによるアプローチ 2. 機械学習 (ML) アプローチ アルゴリズム 1:トラストスコアアルゴリズム。TS はトラストスコア(Trust Score)の略です。 1 TrustScore (p, t, r, Q, S) 2 in: Participant ID p; Type of the participant t; Role of the participant r; Questionnaire Q; Payment statistics S; 3 out: The Trust Score value ; 4 constant : TS decay rates d; minimum_TS_for_person ; 5 6 if is_new (p) 7 if Q is empty then 8 if t = person then 9 TS ← minimum_TS_for_person ; 10 else 11 TS ← 0; 12 end if; 13 return TS; 14 end if 15 TS_data ← empty_data 16 else 17 TS_data0 , t0 ← Select_TS_data_TS_DDB (p); // 利用可能な TS コンポーネントを分散データベースから取得 18 t1 ← now; 19 TS_data ← apply_decay ( TS_data0, t , t1, d); 20 end if 21 22 TS_data . RD_params ← apply_rules ( TS_data , r, Q, S); 23 TS_data . ML_params ← apply_ML_algorithms ( TS_data , r, Q, S); // 訓練された ML アルゴリズムを使用してパラメータを推定 24 TS_data . group ← define_TS_group (TS_data); 25 TS ← count_TS (TS_data); // 結果として生じた TS は、グループ、ML_params、適用されたルールの結果に従ってカウント 26 Store_TS_data_TS_DDB (p, TS, TS_data); 27 return TS; 一部の機能は、ML アルゴリズムの一部として使用することはできません。たとえば、ユーザーの年齢は信頼性 を評価するための統計情報がないため、信頼性を評価するためには使用できません。この問題に対する 1 つの可 能な解決策は、保険業界で使用される年齢境界を考慮し、年齢ベースのルールを作成することです。そのような ルールの結果は、バスケットの定義またはトラストスコアの計算を支援するために使用できます。このルール は、初期のアカウントトラストスコアにのみ使用され、ユーザーの行動に関する新しい情報が利用可能になる
  • 10. と、時間の経過と共に更新されます。 アルゴリズム 2: 不正を働く人向けアルゴリズム 1 WrongdoersRule (p) 2 in: Participant p; 3 out: The minimum Trust Score group (basket) number ; 4 constant : time_to_oblivion t1, t2; 5 6 MB_data_list ← Select_MB_data_TS_DDB (p); // 分散データベースから不正行動データを取得 7 if MB_data_list is empty then 8 g ← 0; // どんなグループも可 9 else 10 if is_there_serious_misbehaviour ( MB_data_list , t2) then 11 g ← 9; // 一番悪いグループのみ可、もちろんグループの数は定数で定義されない 12 else 13 if is_there_small_misbehaviour ( MB_data_list , t1) then 14 g ← 8; // このグループはグループ 8 より悪いかもしれない、もちろんグループの数は定数で定義されない 15 else 16 g ← 0; // どんなグループも可 17 end if 18 end if 19 end if 20 return g;
  • 11. 5. 支払いの詳細 5.1 アカウント開設 COTI アカウントは、アカウントごとに公開鍵と秘密鍵(両者はランダムに選択されたシードの機能)および初 期トラストスコアのデータセットを生成する簡単なプロセスで開設することが出来ます。アカウント A を起源 とし、アカウント B に入金される各支払いは、COTI トークン取引に関するいくつかのデータセットを含むバン ドルとしてカプセル化されます。取引のバランスを保つために、入力と出力の合計は 0 より小さくできません。 これは、台帳全体の有効性を検証するために実行される最初の残高チェックです。 5.2 バンドリング 各トランザクションは、いくつかのサブトランザクションフィールドで構成されるバンドルです。  出力: 受信者に送信される額と受信者の公開鍵のハッシュ。  入力: 送信者のアカウントから差し引かれる額と送信者の公開鍵。  情報部分: バンドルハッシュやその他データを含むセキュリティ機能のリスト。  トラストスコア: 送信者のトラストスコアはバンドルに含まれ、[0,100] の範囲にならなければならな い。 5.3 バンドルのハッシュと署名 安全なハッシュ関数を使用して、作成されたトランザクションバンドルから固定長のハッシュバンドルを作成し ます。その後、送信者の秘密鍵と ECDSA アルゴリズムを使用して完全なバンドルに署名します。これより、送 信されるデータには、元のバンドルデータ、バンドルハッシュ、バンドルの署名などの情報が含まれます。 新しいトランザクションがクラスターにつながるときは、前のトランザクション 2 つを検証する必要がありま す。この検証プロセスは、DSP ノード(セクション 3.2 参照)によって実行されるチェックとは異なり、前のト ランザクション 2 つの署名もレビューします。これがどのように行われたかを理解するには、ユーザーの秘密鍵 が自分の公開鍵に関連付けられていることに注意することが重要です。 誰でもバンドルハッシュに署名はできますが、公開鍵で検証した結果がトランザクションの元のバンドルハッシ ュと同じになるように署名できるのは、秘密鍵の所有者だけです。このようにして、トランザクションの署名が 送信者の公開鍵と照合されます。 5.4 プルーフオブワーク 送信者のノードが 2 つの選択されたトランザクション(トラストチェーンメカニズムによって決定されたもの) の有効性を確認すると、送信者のノードは暗号問題を解決する作業であるプルーフオブワーク(PoW)を実行し ます。COTI ネットワークによって使用される正確な PoW メカニズムは、このドキュメントの今後の版で提示さ れます。PoW メカニズムの主な動機は、スパムとシビル攻撃に対抗することです。 他の DAG システムでの既知の欠点は、スパムを阻止するための PoW 要件にあります。これは無料システムで は避けられませんが、潜在的な攻撃を排除するために PoW は低エネルギーデバイスのバッテリを使い切ってし まいます。 COTI ネットワークでは、PoW 要件はネットワークへのゲートウェイとして機能しユーザーの手数料を決定する ノードの責任です。例えば、PoW なしでモバイルデバイスを接続するノードを作成することは可能ですが、ど のような場合でもノードが PoW を実行するため、ネットワークをスパムすることはできません。
  • 12. 5.5 手数料 仲介サービスと DSP ノードを維持するためにはリソースが必要です。このため、少なくとも一部のユーザーは 最低限の手数料を支払う必要があります。トランザクションで発生する手数料は、ユーザーのトラストスコアと トランザクションのタイプによって異なります。一般的なトランザクションには次の 3 種類があります。  あるユーザーが COTI を別のユーザーに転送するトランザクション。この場合、送信者のトラストスコ アに従いフルノードが標準手数料を決定し、それを適用します。  ユーザーが商品やサービスと引き換えに COTI を店舗に転送するトランザクション。 この場合、通常のユーザーに対して取引を無料にするために、店舗は自身のアカウント固有の手数料 を支払うことができます。  店舗が他の店舗またはユーザーに金銭を譲渡するトランザクション(たとえば、店舗がユーザーに不 良品の費用を払い戻したい場合)には、標準手数料が適用されます。 6. ソース選択アルゴリズム 目標は、トランザクション送信者のトラストスコアに基づいてクラスターを構築することです。クラスターで は、すべてのトランザクションが、十分自身のトラストスコアに近いトラストスコアを持つ 2 つの他トランザク ション 2 つにつながっています。DAG では、トランザクション送信者のトラストスコアが、各トランザクショ ンに対し加重関数ωで割り当てられます。d をトラストスコアの上限としましょう。トラストスコアアルゴリズ ムでは、この数値は 100 になります。 そのような DAG を構築するいかなる方法も、ある程度のランダム性を持つ 2 つのトランザクションを選択する アルゴリズムに基づいていなければなりません。例えば、ソース a のトラストスコアに最も近いトラストスコア を有することだけに従い、2 つのトランザクション b と c をアルゴリズムが選択します。今説明したような非ラ ンダムアルゴリズムを使用すると、トランザクションが接続されるまでに長時間待たなければならない可能性が 高くなります。 COTI のソース選択アルゴリズムは、次のように動作します。新しいトランザクション a が、アカウントによっ て発行されます。S はすべてのソースのセットです。アルゴリズムは、ω(a)の最適しきい値を選択します。 まず、すべてのソースはマップ関数で分割され M: {1, 2, .., d} → {T : T ⊆ S }、その場合 d をトラストスコアの上 限として、 M (i) = {T : T ⊆ S and ω(T ) = i}となります。初期サブセットは T0 = M (ω(a))です。Ti が十分な数 または i < dd/8e となるまで、アルゴリズムの反復は新しいサブセットを生成します Ti = Ti−1∪M (ω(a)−i)∪M (ω(a)+i)。一般性を失うことなく、十分に数とはソースセット内のすべてのソースの割合が一定であることを意 味します。ソースの数の 10%が十分な数を意味するように選択されます。任意の反復 ω(a) − i < 1 or ω(a) + i > d ならば、M (ω(a) − i) or M (ω(a) + i)はそれぞれ、空のセットと解釈されます。ω(a)のしきい値内のソースのサ ブセット Tj に適用されなければならないもう 1 つの制約があり、同一トランザクション送信者のトランザクシ ョンは接続することが出来ません。s と新しいトランザクション a との間のタイムスタンプ差に従って Tj 内のす べてのソース s を加重する確率関数 P がアルゴリズムによって定義されます。a は Tj の任意のソース 2 つをある 程度ランダムに選択できますが、古いソースは新しいソースよりも高い確率で選択されます。a の同じトランザ クション送信者からのソースを選択する確率はゼロです。アルゴリズム 3 の Java コードは、これがどのように 実行されるかを示しています。 アルゴリズム 3: ソースの選択方法を示す Java コード。 public SourceList selectSources ( int trustScore , int minSourcePercentage , int totalSourceNum , int maxNeighbourhoodRadius ) { // 同じトラストスコア(クローン)のソースを取得することで開始する SourceList sourceList = new SourceList ( sourcesByTrustScore .get( trustScore )); // 近傍半径を計算、最小半径は 1(常に近傍を見ます) for(int nr =1; nr < maxNeighbourhoodRadius ; nr ++) {
  • 13. if( trustScore - nr >= 1) sourceList .add( sourcesByTrustScore .get( trustScore - nr)); if( trustScore + nr <= MAX_SCORE ) sourceList .add( sourcesByTrustScore .get( trustScore + nr)); if (( double ) sourceList . size () / totalSourceNum > ( double ) minSourcePercentage / 100) { break ; } } // ランダムにソースを選択し、タイムスタンプの差で加重 return chooseWeightedByTimestamp ( sourceList ); } ここで留意すべきことは、トランザクションのしきい値内でのソース数を考慮することから、私達のアルゴリズ ムが新しいトランザクションの流れの変化に対応できることです。クラスターの初期段階では、トランザクショ ン a が Tj のトランザクションに接続できない場合があります。たとえば、すべてのソーストラストスコアが ω(a)よりあまりにも多く累積された場合、または選択されたしきい値のすべてのソースが a と同じトランザクシ ョン送信者のものである場合です。このような場合、ゼロ支出サーバーは、トランザクション a の同じトラスト スコアを持つゼロ値のトランザクションを作成し、そのトランザクションに a が接続されます。別のシナリオで は、ソースが新しいトランザクションによって接続されるのに長時間待機していた場合、ゼロ支出サーバーは s に(そして s と同じトラストスコアで)接続できるトランザクションを作成します。ゼロ支出サーバーがこれら のタスクを実行するまでの待機時間は、トラストスコアによって決定されます。高いトラストスコアソースは、 ゼロ支出サーバーにより早くマッチングされます。セクション 3.3 で述べたように、ゼロ支出サーバーの過度な 活動は、ネットワークまたはトラストスコアアルゴリズムの問題を特定するのに役立ちます。 7. トラストコンセンサス G = (V , E) をトランザクションの有向非巡回グラフとします。すべてのトランザクション v ∈ V が、トランザク ション送信者のトラストスコアである ω(v)によって定義される加重関数 ω : V → N で加重されると仮定しま す。a を任意のトランザクションとし、d をトラストスコアの上限とします。以下の場合、トランザクション a が確認されます。 max ( Σv ω(v) : ∀ path A ended at a and ∀v ∈ A ) ≥ Ld, L ≥ 2 (7.1) 数式 7.1 は、ソース選択アルゴリズムのために信頼性の高いトランザクションが信頼性の低いトランザクション より高速に確認されることを意味します。信頼性の高いトランザクション a は、最も重い有向パスの長さが非常 に小さいため、すぐに確認されることにご注目ください。信頼性の低いトランザクションでは、より長いパスを 確認する必要があることにもご注意ください。トランザクション a で終わる最も重い有向パスのアルゴリズム は、線形時間アルゴリズム、すなわち O(|V (F )| + |E(F )|) であり、ここで F ⊂ G はトランザクション a で終わる 全ての有向パスの和集合によって定義される有向非循環サブグラフです。最初のステップは、F を位相的にソー トすることです。F は有向非巡回グラフであるため、トポロジカルソート τ を求めるのは線形時間です ([5]の チャプター 22.4)。τ = {v1, v2, ..., vn, a} を F のトポロジカルソートとします。トランザクション a は、F の定義 によりトポロジカルソートの最後の頂点でなければならないことに注意してください。
  • 14. v 3 ω (v3) a ω(a) v1 v2 ω(v1) ω (v2) v5 v4 ω(v5) ω(v4) 図 6:トポロジカルソート前の DAG サブグラフ F ω(a) ω(v5) ω(v4) ω(v3) ω(v2) ω(v1) 図 7:トポロジカルソート後の DAG サブグラフ F 次の動的プログラミングアルゴリズムは、 O(|V (F )| + |E(F )|) に対してトランザクション a からの最も重い経路 に時限解を与えます。 アルゴリズム 4: 最も重い経路アルゴリズム 1 Define function heaviest(v) = 0 , ∀v ∈ V (F ); 2 Find Topological sort τ of F ; 3 for ∀v ∈ V (F ) in topological sort τ do 4 Assign heaviest(v) = max (heaviest(w) + ω(v): ∀w such that (w, v) ∈ E(F )); 5 end
  • 15. 6 return heaviest(a); 8. パフォーマンス調査 COTI のアルゴリズムの性能特性をよりよく理解するために、単純化された文脈における高水準の数学的観測に 加えて、クラスターについて結論を導きだす数学的枠組みを提供します。次に、クラスターの完全なシミュレー ションを利用した一連の実証的調査を行います。 8.1 数学的枠組み 分析を目的として、クラスターおよびクラスター内で行われるトランザクションについていくつかの単純化した 仮定を行いました。 まず、ソース選択アルゴリズムとプルーフオブワーク(PoW)を実行するために、すべて のノードが一定の時間 Δt を使用すると仮定します。第 2 に、固定レートλのポアソン過程に従って新しいトラ ンザクションが到着すると仮定します。また、トランザクションはすべて有効で、送信者は別個とします。これ らの仮定はすべての現実世界を反映するものではありませんが、クラスターの時間と区域に局所的に当てはまる 可能性があり、分析のために検討することは有益です。 以下の議論において、パラメータ λ および ∆t を考慮 にいれます。 また、クラスターの動作方法を制御するいくつかの内部パラメータがあります。トラストスコアは 1 から d の整 数値を取り、d は可能な最大トラストスコアです。以下では、d = 100 と仮定します。新しいトランザクションが クラスターに到着すると、これはトラストスコア i を持つと仮定し、(1 ≤ i ≤ d) 、確率 PT S(i) を有し、ここでは PT S(1) + PT S(2) + ... + PT S(d) = 1 です。これは、各トラストスコアのトランザクションが独立したポアソン過程 で到着し、トラストスコア i のプロセスがレート λPT S(i) を有するという仮説に対応します。トラストチェーン アルゴリズムには、追加パラメータ L が発生します。このパラメータは、トランザクションからそのクラスタ ー内のソーストランザクションまでの最高信頼パスが累積トラストスコアの少なくとも Ld を有するときに、そ のトランザクションが確認されるかを決定します。 最後に、ソース選択アルゴリズムは、十分に類似したトラストスコアを有する任意のソースに新しいトランザク ションを付加することを可能にし、パラメータρによって制御されます。使用可能なソースのセットがサイズ S を持ち、新しいトランザクションとのトラストスコアの差異に基づいてソートされている場合、最初のρS は同 じトラストスコアを持つ他のものとともに選択可能でなければなりません。ソース選択アルゴリズムはまた、ト ランザクションとそれが承認するトランザクションとの間に許容されるトラストスコアの差の最大絶対値を規定 する別のパラメータ R に依存します。この分析のために、R = d = 100 と仮定します。 パラメータの集合 (λ, ∆t, d, L, ρ, PT S(·)) は、クラスターのこの単純化されたモデルを完全に決定します。これ は x 軸に時間、y 軸にトラストスコアを記述する 2-D 空間において、クラスターのトランザクションを視覚化す るのに有効です。1 つのトランザクションから、それが検証する以前のトランザクション 2 つへの有向辺を構築 することによって形成された DAG 構造も、このグラフ上で視覚化することができます。そのような視覚モデル の 1 つが図 8 に示されています。トランザクションの空間表現は、いくつかの有用な特性を有しています。特 に、時間は構成によるグラフの逆の位相的順序であるため、グラフの x 軸は有効な頂点訪問順序を提供します。 また、類似したトラストスコア(y 軸)を持つ場合、特にρが小さい値の場合には、トランザクションがつなが る可能性が高くなります。図 8 は、ρが減少するにつれて、グラフ上の異なる高さのトランザクション間の接続 が少なくなることを示しています。 図 8:トラストスコアによる時間空間内のクラスター。経験的に ρ << λ である場合、クラスターはほとんど切断されていることを確認 できます。
  • 16. 8.2 パフォーマンス分析 DAG ベースのトランザクションシステムは、トラストスコアのない均一なランダムアタッチメントアルゴリズ ム (例. [13]) の仮定の下で分析されています。これらの分析で、システムが安定した後、DAG 内のソースト ランザクションの数がほぼ一定値 2λΔt に近づくことがわかりました。多数のソースのケースにおいても、同 様の結果が得られました。 ある時点で S 個のソーストランザクションが存在し、s を新しいトランザクションが選択する現在のソースの 1 つにするケースを考えてみます。その新しいトランザクションは、選択をネットワークに公開する前に、検証と プルーフオブワークを実行する必要があります。これは ∆t 時間を消費します。この間、s はネットワークに到着 するすべての新しいトランザクションに対するソーストランザクションとして引き続き表示されます。平均し て、そのようなトランザクションが λ∆t 個存在します。新しいトランザクションのそれぞれは、トラストスコア が十分に近い場合にのみ、s に接続することができます。新しいトランザクションのトラストスコア分布がクラ スター内のソースと同じであると仮定すると、新しいトランザクションは s に接続する確率 ρ を持ち、 接続可能なトランザクションが平均でρS 個存在します。新しいトランザクションはそれぞれ 2 つのソースにつ ながっているため、トランザクションによって s が選択される確率は次のように計算できます。 1. ρ + 1 − 1 1 2 = ρS ρS ρS − 1 S s が到着した次の新しいトランザクション(よってすでに 1 つのトランザクションが接続されている)によって 選択されていることを想起すれば、これは s につながっているトランザクションの想定数が NA = 1 + 2λ∆tS−1 で あることを意味します。これは、1 つのソーストランザクションを検証するのに要する DAG 辺の平均数です。 また、ソーストランザクションになる前に新しいトランザクションごとに DAG へ 2 つの辺が追加されることも わかります。 したがって量 NA は、S が時間の経過とともに増大または縮小するかどうかを決定します。NA > 2 の場合、新し いトランザクションごとに平均で 1 つ以下のソースが削除され、S が増加します。逆に NA < 2 ならば、新しい トランザクションごとに平均で複数のソースが削除され、S が減少します。しかし、ソース数 S がこの数式の分 母にあるので、NA = 2 はアトラクターです。 もし S > 2λ∆t なら、1 + 2λ∆tS−1 < 2 で、ソース数は減少し、そし てもし S < 2λ∆t なら、1 + 2λ∆tS−1 > 2 となりソース数は増加します。したがって時間の経過と共に、S は固定 点 2λ∆t に近づかなければなりません。特に、十分に長い時間について、S はほぼ一定であると仮定することが 出来ます。 ここで、時間 t で検証された未確認のトランザクションの数を検討します。これを V で示します。十分な時間が 経過した後、すべてのトランザクションの想定入次数が 2 であるという事実を使用します。なぜならすべてのト ランザクションがソーストランザクションとして開始され、定常状態で 2 の想定入次数を持つためです。 一定時間で、S をソーストランザクションの集合とします。 V は検証された(未確認の)トランザクションの 集合とします。 Vi は V における頂点の集合であり、逆方向に向かう最も長い経路(多くのトランザクションに おいて)から S までの頂点が i になります。V = SLd Vi であり、Ld より大きいすべての経路の長さは Ld より大 きい累積トラストスコアを有します。そのようなパスの先頭にある頂点はすべて確認され、V にはありません。 V1 からのいかなる頂点の親は S にあります。さらに、S の各頂点は DAG に 2 つの外向辺を与え、V1 の各頂点 上の引数によって、DAG から平均で 2 つの頂点を消費するので、E[|V1|] ≤ E[|S |] = 2λ∆t であることが分かりま す。同様に、V2 の頂点の親は V1 ∪ S にあるので、E[|V2|] ≤ 4λ∆t になります。帰納的に進めると、E[|Vi|] ≤ 2i λ∆t になります。これらをまとめてみると、次のようになります。 V = E[|V |] ≤ (Ld)(Ld + 1)λ∆t これは厳密な有界ではなく、時間的に一定です。したがって、十分な時間が経過した後、V は定数により上に有 界であることを確立しました。 十分な時間が経過した後に、ソーストランザクション S の数および検証された未確認トランザクション V の数 が両方ともほぼ一定であることを確立しました。したがって、確認されたトランザクション数 C に注目しま す。すでにクラスターに接続されているすべてのトランザクションは、ソーストランザクション、検証済み(未 確認の)トランザクション、または確認済トランザクションのいずれかであるため、クラスター内に接続されて いるトランザクションの総数は S + V + C です。想定される (E) 変化率を入れると、以下のようになります。
  • 17. d[E[S + V + C]] = d[Ntransactions] = λ 十分な時間が経過した後、S と V は期待通り一定であるため、d[E[C]] = λ でなければなりません。つまり、新 しいトランザクションの承認率はトランザクションの到着率と一致します。 実験的調査により、この挙動が実際に起こっていることが確認されます。承認率はある初期時間後の到着率と一 致するためです(図 9 を参照)。 図 9:初期段階の後、システムが安定し、トランザクションが承認される確率が新しいトランザクションが到着する確率に等しいことをこ れらの数字が示しています。特に、ソースの数と新しい(まだ検証されていない)トランザクションの数は一定になります。 これは、クラスターに拡張性があるという決定的な証拠を提供します。COTI のスループットに対する唯一の理 論上の制限は、1 秒あたりに到着するトランザクションの数です。COTI は店舗や消費者の大規模なプールにと って魅力的なものとなっているため、1 秒あたりに到着するトランザクションの数は最終的に 10,000 を超えると 確信しています。 8.3 シミュレーション 前のセクションでは、簡略化した条件下でクラスターのスループット特性を確立しました。クラスターの他の特 性を調査し、より複雑なシナリオを分析するために、私達はシミュレーションを利用しました。 クラスターのシミュレーターは、今後の分析を容易にするために構築され、GitHub で利用可能となる予定で す。シミュレーターは複雑なシナリオを構築することができますが、このセクションでは、上記の数学的枠組み で概説した一連の限定的な推測に焦点をしぼりました。 まず変換 t → ct; ∆t → c∆t; λ→ λ/c がクラスターのシンメトリーであることを検証するためにこのシミュレーシ ョンを使用しました。これは本質的に、一般性を失うことなく秒単位から「 ∆t の倍数」まで時間単位のスケー ルを変更できることを意味します。この調査序盤のいくつかのグラフを付録 A に示しています。残りの分析で は、∆t = 1 と設定します。 前のセクションでは承認のスループットについて説明していますが、トランザクションが待たされる時間は考慮 されていません。トラストスコアの上昇に伴い承認時間が短縮され、シミュレーション結果によって確認される ことを想定しています(図 10)。
  • 18. 図 10: トラストスコアの増加に伴い、承認遅延(ログスケール)が著しく減少し、トラストスコア 1 と 100 の間には重要さの差がありま す。このドロップオフは、ほぼどこでも直線的で、最後に平坦化しています。 9. クラスタースタンプ クラスターがストレージサイズで管理不能になるのを防ぐために、COTI はクラスタースタンプを導入します。 しかし、このプロセスは COTI ネットワークに他にも多くの利点をもたらしました。例えば、クラスタースタン プは、当事者間で紛争が発生した場合に元に戻すことができる参照点を提供します。人為的にアカウント残高を 増加させようとする不正な試みがないことを保証するために、システム全体の監査を実行する機会を提供しま す。このプロセスは 2 つのフェーズで構成されています。 1. 各アカウントの残高は集計および関連するアドレスに接続され、クラスターで最新の未確認 トランザクションで処理されます。最新の未確認トランザクションはそれぞれ、クラスター の次世代において起点のトランザクションになります。 2. 監査は、クラスタースタンプに含まれる COTI トークンの供給が、流通している COTI トーク ンの総供給と等しいことを確認するために行われます。 クラスタースタンププロセスは自動的に実行されます。クラスタースタンプの作成と検証に続いて、ネットワー クのヒストリーノードに格納されます。 図 11: クラスタースタンププロセスは、灰色のトランザクション時点までの情報を取得します。その後、次世代のクラスターが灰色のト ランザクションで開始します。 10.エスクローアカウントと仲介サービス COTI は、適切に設計された安価なマルチシグとエスクローアカウントをユーザーに提供します。 COTI プラットフォームの仲介サービスは、仲介手続きを通じて迅速かつ効率的な紛争解決のために設計されま す。COTI はそのフレームワーク、共通のルールセット、仲介陪審を提供します。
  • 19. 仲介者は信頼できるネットワーク参加者でなければなりません。そのようなネットワーク参加者は、トラストス コアに基づいて仲介者として招待され、仲介手数料によってインセンティブが与えられます。COTI ウォレット のビジネスバージョンでは、店舗がウォレット内の資金へのアクセスを許可せずとも、仲介者として店舗の代理 を務めるオフィサーを任命することが出来ます。 取引紛争の仲介サービスは、エスクローアカウントを使用することが出来ません。企業は一般取引に対して資金 を差し引くメリットはないからです。このため、仲介サービスは、双方の取引相手がオプトインした場合にのみ 紛争解決のために使用することが出来ます。COTI の店舗は仲介サービスに同意する必要があります。 顧客が店舗に払い戻しを求めるという最も一般的な取引紛争のケースでは2つの結果が予想されます。店舗側が 勝った場合、追加の措置は必要ありません。店舗側が負けた場合、仲介システムはテンポのローリングリザーブ から顧客のアカウントに金銭を転送します。もし店舗のローリングリザーブに十分な資金が無い場合は、リザー ブクレジットファンドが使用され、店舗は RCF を払い戻す義務があります。COTI 仲介システムでは、店舗は期 間内に自発的に納付するか、または控訴することが出来ます。 仲介サービスは、COTI チームによって開発された仲介コードによって管理されます。 図 12: 仲介人はデータの賢者として行動します。彼らは現実世界の紛争に関する情報を正確に検証することでインセンティブが与えら れ、彼らの合意は効率的かつ平等な商取引を実現します。 11.起こりうる攻撃 11.1 二重支払い防止 決済ソリューションは、起こりうる二重支払い攻撃を許すことはできません。このリスクを軽減するため、 COTI では専用の二重支払い防止(DSP)ノードを導入しています。これらのノードは、ネットワークに影響を与 えることなく、さらなるトランザクションの監視を実行します。 11.1.1 二重支払い防止メカニズム 二重支払いを防止するために、DSP ノードは以下を実行します(図 13)。 1. 全アカウントの事前に計算された残高を持つ軽量版クラスターを維持する。 2. クラスターに接続されている新しいトランザクションのコピーを受け取る。 3. 二重支払いの可能性がある試みを検出するため、ヒューリスティックを用いて新しいトランザクションをチェ ックする。 4. 利用可能なアカウント残高に対して新規のトランザクションをチェックする。 5. 正当なトランザクションに署名する。 6. 二重支払いの疑いのあるトランザクションにフラグを立てる。
  • 20. 7. トラストスコアサーバーに二重支払いの試みを通知する。 DSP ノードによって実行されるトランザクション検証プロセスは迅速な手順であると予想されるため、関連す る金額だけがチェックされ、トランザクションの署名はチェックされません。DSP ノードが実行するチェック 作業は、トランザクションがクラスターに接続された後にのみ実行されます。トランザクションが、完全に承認 されたとみなされるには、DSP ノードの署名を必要とします。 検出された二重支払いの試みは、悪意のある意図に対してフラグが立てられ、拒否されます。有効なトランザク ションは、DSP ノードからの署名を受け、承認されます。DSP ノードは、二重支払いの検証が効率的に行える よう、負荷分散されています。 図 13: DSP ノードにより行われる検証手順 11.1.2 DSP ノードの作成 二重支払いを防止するために必要な検証の性質上、DSP ノードの運営を希望するユーザーは次の要件を満たす 必要があります。 1. DSP ノードオペレーターは、KYC / AMP 手続きを含むコンプライアンスチェックに合格する 必要があります。 2. 相当な額の COTI を特別なマルチシグ口座に預ける必要があります。 3. 負荷分散品質を含む DSP ノードのパフォーマンスとセキュリティをリモートで検証する必要 があります。 DSP ノードを運営するために必要な COTI の額はかなり高額(10,000 COTI 以上)なため、委任されたプルーフ オブワークメカニズムが必要となります。各ユーザーの取り分は DSP ノードの運営に貢献した COTI の量に比 例します(図 14)。
  • 21. 図 14: 委任プルーフオブワークの原則に基づく DSP ノード作成手順 11.2 Penny-spend 攻撃/トランザクションフラッド アカウントが信頼されている場合、取引手数料はゼロになる可能性があります。悪意のある当事者は多くのマイ クロトランザクションを送信することでこれを悪用し、ノードストレージリソースを浪費する可能性がありま す。その攻撃を開始するために多くの計算リソースが使用されるため、トランザクションを検証するために必要 な PoW は攻撃者が送信できる支払い回数を制限します。まれなケースとして、攻撃者がマイクロトランザクシ ョンの作成に成功しても、そのアカウントのトラストスコアは無料手数料の特典とともに減少します。 低いトラストスコアを持つ攻撃者が無効なトランザクションを送信して、最終的に拒否されても、匿名の複数ア カウントからの無効なトランザクションでクラスターを妨害しようと試みる可能性があります。この攻撃は、す べてのソーストランザクションが無効となり、新しいトランザクションがクラスターに接続できない状況を引き 起こす可能性があります。特定の時点でクラスターにおいて実行されるトランザクション(ゼロ支出トランザク ションを含む)が多数あると仮定した場合には、大量の使用可能なソースが発生し、攻撃者はその各ソースに対 して PoW を行わなくてはならないため、すべてを使い果たすことは出来なくなります。このような攻撃を開始 するには、悪意を持った人物が COTI でホストされているリソースを含め、すべての参加リソースを圧倒するほ ど膨大なリソースにアクセスする必要があります。 11.3 シビル攻撃 攻撃者は、複数のコンピュータ、仮想マシン、および IP アドレスを操作して、異なるユーザー名とメールアド レスを持つ多数のアカウントを作成します。シビルアイデンティティとして知られるこれらのアカウントは、ネ ットワークにおける信用の利用を妨害します[10]。信頼性の低いアカウントは、ユーザーの身元を確認せずに作 成できるため、多くのアカウントを持つ攻撃者は、サブクラスタの開始時に 1 つのアカウントから二重支払いで 始まるサブクラスタを作成しようとする可能性があり、その後 COTI のソース選択アルゴリズムを無視して、他 のアカウントとトランザクションを検証することが出来ます。 適度な長さのチェーンが作成されていれば、十分な信用を蓄積された場合に攻撃者はトランザクションを承認し たと主張することができます。このような場合、DSP ノードはその状況が存在するかどうかをチェックし、二 重支払いの試みを防ぎます。もう一つの防衛策は、信頼性の低いアカウントは取引手数料が高く、支出限度額が あるため、そのような攻撃は不利になる可能性があるということです。 もう一つの起こりうる攻撃としては、信頼性の高いアカウントを持つ悪意を持った当事者が、別の自身で作成し たアカウントからのトランザクションを承認しようとするときに発生する可能性があります。攻撃者は、承認し きい値に達するために、高い信用度のトランザクションを匿名トランザクションにつなげようとする可能性があ ります。しかし、匿名アカウントのトラストスコアが低いほど、この攻撃は不可能となります。信用度の高いア
  • 22. カウントは低い信用アカウントからの取引を承認できないため、そのようなトランザクションの承認を行えませ ん。 11.4 中間者攻撃 (Man-in-the-middle attack) パケットは攻撃者によって通信チャネルに挿入することが出来るため、悪意のある当事者は DSP ノードなどの 特殊なノードの乗っ取りを試みる可能性があります。ユーザーが初めて COTI に参加するときに、彼らが攻撃者 の公開鍵か実際の COTI ノードを使用しているかが分からないため、このような攻撃は問題となる可能性があり ます。この問題を解決するために、COTI クライアントは COTI サーバーの公開鍵をハードコードしています。 したがって、COTI サーバーは、SSL /TLS ハンドシェイクで認証局と同様の機能を果たします。COTI サーバー との安全な接続が確立されると、サーバーは特殊ノードの正しい公開鍵を取得します。 11.5 悪意のあるノードの攻撃 参加者は検証を実行するノード、すなわち DSP ノードを購入できるため、悪意のある当事者は COTI ネットワ ークにおいて買収を試みる可能性があります。攻撃者が自身のトランザクションを検証するための必要最低限の ものが、フルノードと DSP ノードだけのように見えるかもしれません。 しかし、検証には DSP ノード間のコンセンサスが必要であり、DSP ノードの購入は高価であるため、大半の DSP ノードを購入する攻撃方法は利益を生まないと見ています。さらに、トラストスコアの高い参加者だけが DSP ノードを作成でき、他の DSP ノードが悪意のある行動を検知すると、即座にすべての信頼を失い、ブロッ クされ、所有者の預金は差し押さえられます。 11.6 多数決攻撃 暗号通貨の分散型の性質により、高い計算リソースを持つ単一のユーザーまたは少数のユーザーのグループは、 ネットワークのコンセンサスを自身に好ましいように偏らせることが出来ます。これは 51%攻撃としても知ら れており[9]、攻撃者は PoW パズルを再計算して代替のトランザクション履歴を作成することができます。これ は、その履歴が他のネットワークのユーザーによって複製され、最終的にコンセンサスを形成することを想定し て行われます。 COTI ネットワークでは、悪意のある当事者は以前のトランザクションを元に戻すためクラスターの一部の PoW を再計算しようと試みる可能性があります。このような攻撃を開始するには、膨大な計算能力が必要ですが、理 論的には可能です。DSP ノードは、このような攻撃による二重支払いを防ぎ、履歴ノードはトランザクション を削除して偽の履歴レコードを生成しようとする試みを防ぎます。 11.7 プロトコル準拠 ユーザーがより高いトラストスコアを持つユーザーによって作成された別のトランザクションに自身のトランザ クションを接続すると、トラストパスがそのトランザクションで実行されるため、他のトランザクションの確認 時間が遅くなる可能性があります。しかしながら、この操作は、同程度のトラストスコアを有する(すなわち、 同じトラストスコアしきい値内のソースにしか接続することができない)ソースにしかトランザクションを接続 できないので、実際には実行することが困難です。これにより、このような攻撃を効果的にする、新しいトラン ザクションがそれよりも極端に高いトラストスコアを持つソースに接続することを防止します。 11.8 サービス拒否 (DDOS) 攻撃 サーバーの集中型である性質の結果、攻撃者がトラストスコアサーバーに大量の要求を送る可能性があります。 このような攻撃は、ユーザーがトラストスコアを簡単に取得できず、システムが遅くなったり、トランザクショ ンの処理を行えなくなる可能性を意味します[12]。これを防ぐために、COTI は集中型サーバーの負荷分散など の標準的な DDOS 防止メカニズムを採用します。同様の攻撃は、DSP ノードのような特殊ノードに対しても、 いくぶん集中型の性質を持つために行われる可能性があります。しかし、特殊ノードの一部は最終的に一般のユ ーザーであるため、負荷分散をできない場合があります。したがって、COTI は一般ユーザーがホストする特殊 ノードの少なくとも一部が、ネットワークが動作を停止しない程度の堅牢なネットワーキング技術を利用してい ることを確かめる必要があります。 11.9 ソフトウェアパッチの配布 多くの暗号通貨の実装において欠陥が発見されています[18]。したがって、ノードが侵入されないように、パッ チを安全かつ迅速に配布する必要があります。そのような侵入が発生した場合でも、残高とネットワークのトラ
  • 23. ンザクション履歴は DSP ノードと履歴ノードにそれぞれで確認されるため、COTI クライアントに発見された欠 陥が大きな損失につながる可能性は低いと言えます。 12.12.COTI の未来 完全に分散されたオンライン決済用のエコシステムを提供するために、COTI は分散型ガバナンスを可能にする 様々な選択肢を模索しています。このガバナンス体制は、基本プロトコル、COTI トークンの将来的な使用、投 資などに影響する決定を下す責任を担っています。この集団はこれらの問題に投票するだけではなく、変化を実 行する責任も負っています。Futarchy [8]とは現在検討中のガバナンスの1つです。 分散型ガバナンスは、プロトコルの更新後に開始される可能性があります。アップデートの準備ができ次第、こ の分野の専門家チームは、アップデートが実装された場合に起こりうる結果を判断する測定基準(アップデート を評価する手段)の策定を担当することになります。これが決定されたのち、COTI トークン所有者はネットワ ークにおいて可能な限り最善とされる結果に対して投票することになります。したがって、決定はクラウドの知 恵に基づいています。専門家のチームを選ぶための仕組みは、未来のネットワークバージョンで決定されること になります。 COTI の将来の発展を効率化するために、COTI のトランザクションバンドルは、将来の情報レイヤーを格納す るための空き領域を確保します。これらのレイヤーは、クラスターに基づいて情報を流したい他の企業が、ネッ トワーク上で他の通貨やデータセットを転送するため、またはスマートコントラクトを展開するために使用でき ます。 参考文献 [1] Peter Arntz. Blockchain technology: not just for cryptocurrency. https://blog.malwarebytes.com/security-world/technology/2017/12/ blockchain- technology-not-just-for-cryptocurrency/, 2017. [2] blockchain.info. Confirmed Transactions Per Day. https://blockchain.info/charts/n-transactions?timespan=all. [3] John Adrian Bondy, Uppaluri Siva Ramachandra Murty, et al. Graph theory with applications. Elsevier Science Ltd, 1976. [4] Anton Churyumov. Byteball: A decentralized system for storage and transfer of value. 2016. [5] Thomas H Cormen. Introduction to algorithms. MIT press, 2009. [6] Kyle Croman, Christian Decker, and Ittay Eyal Eyal. On scaling decentralized blockchains. 2016. 20th international conference on Financial Cryptography and Data Security 2016.
  • 24. [7] Brian S Everitt, Sabine Landau, Morven Leese, and Daniel Stahl. Cluster Analysis. Wiley Online Library, 2011. [8] Robin Hanson. Shall we vote on values, but bet on beliefs? http://mason.gmu.edu/~rhanson/futarchy2007.pdf/, 2007. [9] Investopedia. 51% attack. https://www.investopedia.com/terms/1/51-attack.asp, 2017. [10] Brian Neil Levine, Clay Shields, and N. Boris Margolin. A survey of solutions to the sybil attack. 2006. [11] A.P. Moller Maersk. Maersk and IBM to form joint venture applying blockchain to improve global trade and digitise supply chains. https: //www.maersk.com/press/press-release-archive/maersk-and-ibm-to-form-joint-venture, 2018. [12] Jelena Mirkovic and Peter L. Reiher. A taxonomy of ddos attack and ddos defense mechanisms. Computer Communication Review, 34, 2004.[13] Serguei Popov. The tangle. 2017. [14] MIT Technology Review. Blockchain primer. https://www.technologyreview.com/collection/blockchain-primer/, 2018. [15] Yary Ribero and Daniel Raissar. Dagcoin whitepaper. 2015. [16] Sheldon M Ross. Introduction to probability models. Academic press, 2014. [17] Mustafa Suleyman and Ben Laurie. Trust, confidence and verifiable data audit. https://deepmind.com/blog/trust-confidence-verifiable-data-audit/, 2017. [18] Bitcoin Wiki. Common vulnerabilities and exposures. https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures. Appendix A: シミュレーション結果 クラスターシミュレーターが構築され、GitHub で利用できるようになります。シミュレーターの主な目的は、 パラメータとアルゴリズムの選択肢を分析し、実世界のクラスタパフォーマンスを最適化するためにサンドボッ クス内の経験的データを収集することです。シミュレーターを使用して、内部パラメータと外部パラメータがク ラスターのパフォーマンスに及ぼす影響を分析できます。これには、迅速なシナリオ分析を可能にするデータ抽 出および視覚化ツールのコレクションが付属しています。コアシミュレーターは、R の分析コンポーネントを使 用し C++で記述されています。ラップトップコンピュータで秒間約 1,000 トランザクションをシミュレートで き、最大 5,000,000 トランザクションのシミュレーションでテストされています。 一部の選ばれたシミュレーション結果がここに掲載されていますが、パフォーマンス特性の説明に関連するもの はセクション 8 で既に説明されています。以下は、ここに示すほとんどのシミュレーションで使用される関連パ ラメータの概要です。 1. ∆t はノードがソース選択アルゴリズムを使用し、プルーフオブワークを実行する一定の時間 です。 2. λ はポアソン過程に従うと仮定される新規到着率です。 3. K は、ソース選択アルゴリズムを実行し、プルーフオブワークを実行するのにかかる時間内 の新規到着の数です。 4. L は、承認されるためにトラストチェーンが超過しなければならない累積トラストしきい値 を決定する乗数です。トラストチェーンの累積トラストは、トランザクションが承認される ために 100L を超える必要があります。 5. ρ は、トランザクションが確認できるトラストスコアのしきい値の幅です。これは新規トラ ンザクション合計数の割合として表現します。
  • 25. 図 15: トラストスコアの関数としての待ち時間。確認済トランザクションは、高いトラストと短い承認時間の領域周辺に集中しているこ とに注目してください。 図 16: これらの数字は、λ = 10 より少し前の変曲点を示唆しています。承認の遅延は、信用の傾向を除いて、検証の遅延によく似ている ことに注目してください。
  • 26. 図 17: λ = 10 より少し前の変曲点に注目してください。これは普遍的であり、図 8 に示すように DAG が切断されるのを防ぐために必要 な λ の値に関連していると思われます。 図 18:左の図は、承認時間がしきい値 ρ のサイズの影響をほとんど受けていないことを示しています。 右の図は、検証および承認時間 の平均遅延がソース選択アルゴリズムを実行し、プルーフオブワークを実行するのにかかる時間 (Δt) に正比例することを示しています。 図 19:平均承認遅延がパラメータ K によって大幅に制御されることを示しています。これは、新しいトランザクションの到着率が十分 高ければ、複雑なプルーフオブワークがトランザクションのスループットに有害ではないことを意味します。 図 20:この図からわかるように、しきい値 ρ のサイズは、トランザクションチェーンに沿ったトランザクションと承認の間の信用傾向に 明確な影響を与えます。