Edited at

NIP 8 - Catapult技術のパブリックチェーンへのリリース (和訳) 8/6更新版

:warning: この和訳は非公式かつ正確性は保証しません. 原文を正としてください. またこの文書の原文は随時更新される可能性があります. 最新情報は原文を参照してください.

:warning: 8/6の更新版を訳したものです

    NIP: 8

Layer: Core
Title: Catapult technology release for Public Network
Author: Gregory Saive <greg@nem.foundation>
Discussions-To: https://github.com/nemtech/NIP/issues/22
Comments-URI: https://github.com/nemtech/NIP/issues/22
Status: Draft
Type: Process
Created: 2019-05-10
License: Apache-2.0


Table of contents

(略)


Introduction (前文)

このドキュメントは, 現在のパブリックブロックチェーンNEM(以下, NIS1)を新たに利用可能になったCatapult技術(以下, Catapult)でアップグレードすることに関する意思決定プロセスを提供することを目的としています。

以下のプロジェクトがこのドキュメントのターゲットです.

NIS1のデータセットのCatapultへの移行については議論されていますが, いくつかのポイントが未解決で議論の余地があります.


Specification (仕様)

このセクションではCatapultをパブリックネットワークにリリースするときに従うプロセスについて説明します。


Issue Resolution Guidelines (課題解決ガイドライン)

この移行プロセスの定義を使用して, 多くの課題解決策(意思決定)を見つける必要があります. 課題(決定)が解決されたかどうかを判断するために, このセクションで説明するガイドラインを使用して, 課題解決に関する基本情報で定義します.

課題解決は1からn(nは課題解決の数)までの番号が振られ, IRが頭について参照されます. 次の例は課題解決IDのフォーマットです.


  • IR-1

  • IR-2

  • IR-10

課題解決IDの作成の次に, 課題解決の説明を問題解決セクションの表の下に作成します.

さらに, 全ての課題解決に次のいずれかの付加情報が表示されます.



  • 未解決の課題の場合 (IR-1を課題解決IDに置き換え, 要約したタイトルをつけます)

:warning: (**IR-1** _Summarizing Title_) **An issue resolution must be made here.**



  • 解決済みの課題の場合 (IR-1 を課題解決IDに置き換え, タイトルと決定した内容を追加します)

:white_check_mark: **Issue Resolution IR-1: _Summarizing Title_**

> Descriptive text about the decision that has been taken


Post-Upgrade Situation (アップグレード後の状況)

概念的には複数のシナリオを計画したり、ブロックチェーンネットワークをアップグレードできます. 分散台帳技術とブロックチェーンの特性により, 計画されたアップグレード後のシナリオを決定することはとても重要です.

この概念的な計画とプロセス定義は私たちのネットワークのアップデートを一般の人々, パートナー, 取引所に伝えるための最適な設定を提供します. 技術的負債の紹介のセクションで紹介されたもたらされる技術的負債は分科会(SIG)で処理されます.

:warning: (IR-1 アップブレード後の状況) 課題解決はここでなさなればなりません.


One Chain Approach (1チェーン法)

分散台帳ネットワークのフォークに関する過去のデータでは, コミュニティ/サポーター/参加者の大部分の合意を集めハードフォークすることでブロックチェーンネットワークをアップグレード可能であることを示しています.

1チェーン法(フォーク)のシナリオでは, 以前のネットワークのデータセットを新しくセットアップされたCatapultネットワークに移行する必要があります. これはNEMブロックチェーンで現在利用可能な様々なデータセットを移行を許可するための多くの移行ツールの開発につながります.

このシナリオでは正式に以前のNIS1ネットワークを廃止にするでしょう. しかし, NIS1ネットワークはノードをアップグレードしない企業, コミュニティ, サポーターによってオンラインに保たれる可能性があります. NIS1チェーンがハードフォーク後も存続している場合, 2つのネットワークが独立して分割されるため, アカウントを保有している人は事実上二重に残高を持つことになります.

移行のためのツールを提供することで, 分割のリスクを軽減することが可能です. しかし, 1チェーン法によるネットワーク分割は, 大きな技術的負債がもたらされることに特徴付けられます.

パートナー取引所の統合に関しては, 1チェーン法では新しく作られたチェーンを最新状態にするため, パートナー側に技術的負債をもたらします.

加えて, パートナーとクライアントの統合では, ソフトウェアが機能するようにチェーンを移行する前にソフトウェアを更新する必要があります. XEMとの取引ペアをリストする取引所は, ノードと入出金をコントロールするソフトウェアの更新が必要です.


Two Chains Approach (2チェーン法)

分散台帳ネットワークのフォークに関する過去のデータ調査から生じた別な選択肢は, 以前のネットワークとは別のネットワークを作成してブロックチェーンネットワークをアップブレードする方法です.

2チェーン法のシナリオでも, データセットを以前のネットワークから新たにセットアップされるCatapultネットワークに移行する必要がありますが, データセットは 新しいチェーンの新たなスタートを切り開く ことに関して, より柔軟な選択をすることができます.

NIS1ネットワークが企業やコミュニティ, サポーターによってオンラインに保つことが可能です. 加えて, 2チェーン法 では新しいチェーンが生まれた瞬間には, 古いチェーンの残高だけが実際の資本価値を持ちます.

このシナリオでは, パートナーや取引所が新しくセットアップされたCatapultネットワークをサポートするか決める必要があるため, リスクが少ないです. 新しく作成されたネットワークは利用可能な統合に影響を与えません.

このシナリオでのデータセットの移行に関しては, より柔軟に行う事ができます. そのため, 新しく作成されたネットワークに移行するデータセットを選択する必要があります. このドキュメントのデータセットの移行では, 移行するデータセットを定義します.

Fork Schemes (フォークスキーム)

パブリックチェーンにリリースされる際、アップグレード後の状況は異なる2つのフォークスキームで管理できます。



  • スナップショットを使ったフォーク: 新しいチェーンはフォークするブロックまでは同一で, その後分割されます. アカウント所有者は自動的に新しいチェーンに残高が入金されます.


  • バーンを使ったフォーク: アカウントの所有者は古いチェーンのトークンを消却して, 新しいチェーンに入金する必要があります.

Slackでのディスカッションや複数の研究文書によると、所有者の残高について、バーンスキームには法的な意味合いがあります。実際に、オプトインベースの残高の移行(バーン/クレーム)が発生した場合、管理委員会は残高の損失の可能性について、責任を負う可能性があります。これは望ましくなく、最も避けるべきものです。

移行プロセスを改善し、エンドユーザにとって出来るだけシームレスにするための研究は進行中です。次の問題解決(IR-2)で下された決定は変更される可能性があります。

:white_check_mark: Issue Resolution IR-2: Snapshot or Burn


バーン(オプトイン)フォークスキームは法的な影響の可能性があるため、スナップショットフォークスキームを使用してデータセットを移行することを勧めます。



Ellected Situation (選択された状況)

考えられる結果は次の通りです.



  • Catapultの技術はNIS1をアップグレードし, 1つのチェーンとネットワークをもたらします.


  • Catapultの技術はNIS1と並行してリリースされ, スナップショットスキームによって2つのチェーンとネットワークをもたらします.


  • Catapultの技術はNIS1と並行してリリースされ, バーンスキームによって2つのチェーンとネットワークをもたらします.

選択されたアップグレード後の状況は, IR-1 アップグレード後の状況 の解決によって決定されます.


Migrated Modules / Datasets / Integrations

次のリストには現在NIS1利用可能な全ての移行済みのモジュールとデータセット、Catapultの技術に移行する際に考慮する必要がある統合(取引所/クライアント)が含まれています.


  • アカウントデータ (残高, 重要度, マルチシグの関連)

  • トランザクション履歴

  • ネームスペース

  • モザイク

  • セカンドレイヤーの統合

  • 取引所の統合

これらの移行されたモジュールとデータセットについての詳細は, データセット移行のサブセクションで説明します.


Process Implications (プロセスへの影響)

法的及び技術的分野の両方における移行の影響について, いくつか考慮する必要があります. それぞれの影響はこのセクションのサブセクションで説明します.


Legal implications (法的な影響)

提案された移行のアプローチは潜在的な課税対象となる出来事の創出を意味します. 移行を正しく計画する前に, この点を明確にするのは重要です.


  • 課税対象となるイベントを避けることはできますか? NO

  • 課税対象となるイベントの作成は, 移行の妨げとなりますか? NO

:white_check_mark: 課題解決 IR-3: 課税対象イベントの作成


課税対象となるイベントの作成は移行を妨げません. なぜなら, それは私たちの責任範囲を外れたトークンを取引するときのみユーザに影響するためです.



Technical implications (技術的な影響)

移行の過程で, Catapultの移行/リリースを成功させるには, エンドユーザが自分がするべきことを正確に知っていることが望ましいです. そのためには、このセクションで重要なドキュメントと記事の参照を定義する必要があります。これにより、エンドユーザーにアップグレードに必要な手順を実行できる方法の概要を示すことができます。

さらに, Catapultのパブリックネットワークへのリリースに伴う技術的負債の概要をnemtech/communityに記載している様々な分科会(SIG)で説明します.

以下のリストはその後のトピックで決定が行われた後に再定義されるかもしれません. 以下はCatapultのパブリックネットワークのリリースのための重要なツールとドキュメントのリストです.

リストされているいくつかのツールやドキュメントはその後のトピックの決定のために変更されるかもしれません. また一部のツールではパブリックネットワークのノードで使用するための作業の割り当てが必要になります.

:white_check_mark: 課題解決 IR-4: 移行ツールの開発


統合/実装は2019年第3四半期までに終える予定です.



Reputational implications (評判への影響)

NIS1とCatapultの技術は分散されているため, この文書で述べているように, すべての サポート エンドユーザははNIS/Catapult技術をアップグレードする必要があります.

これは評判に影響を与える可能性があります。実際、NEMブランド 全体がパブリックチェーンへのリリースの影響を受ける可能性があります。評判を落とすことなく、パブリックチェーンへのリリースを確実にするために、移行プロセスがエンドユーザによって明確に定義され理解されることが非常に重要です。

:white_check_mark: 課題解決 IR-5: 風評被害の分析


CatapultのパブリックチェーンへのリリースはNEMの評判に影響を与えるでしょう。

Catapultテクノロジーのリリースの影響を増すために、ブランディング、PR、ニュース報道は来月中(Q3, Q4 2014)に管理される予定です。



Partner implications (パートナーの影響)

NIS1ネットワークのセカンドレイヤーの統合と他のクライアントとの統合は, ネットワークのアップグレードをの影響を受けます. そのため、アップグレードをパートナー側で行わなければならないのか、それとも問題を解決するための支援を求められるのかについて、パートナーが決定できるようにすることが重要です.

この分析によりネットワーク移行を最適に行うための手段として, パートナーがアップグレードに必要な時間を見積もることができます. ここで解決される必要があります.

:white_check_mark: 課題解決 IR-6: Catapultアップグレードの技術的な定義


NIS1を使った機能をCatapultを使った機能にアップグレードするためのガイドは書かれています。

NIS1マイグレーションガイドはNEM Developer Centerで見るとこができます:

https://nemtech.github.io/guides/migration/migrating-from-nis1-to-catapult.html#migrating-from-nis1-to-catapult



Dataset Migrations (データセットの移行)

さらに, 各サブセクションはそのサブセクションが解決されるために満たさなければならないタスク割り当てリストに影響されます.

このセクションでは、Catapultテクノロジーに移行するときに考慮する必要がある様々データセットについて説明します。利用可能な各データセットは、どのようにCatapultに移行できるかとう観点から分析されます。

:warning: (IR-7 移行必須のデータセットの定義) この課題解決はここでなされなければなりません


Account Data (アカウントデータ)

アカウントデータはNEMブロックチェーンパブリックネットワーク(MAIN_NET)上のアカウントにリンクされているデータを表します.

以下のサブセクションではNIS1ネットワークにリンクされたデータセットを識別します.

このデータセットには、残高(XEMのみ)、重要度の委任、及びマルチシグに関するデータが含まれています。このデータをCatapultに移行することは現在議論中です。

:warning: アカウントデータはエンドユーザの残高に直接影響を受ける機微なデータです。このデータセットに対して明確な移行プロセスを提供することが重要です。



  1. 重要度委任履歴


  2. マルチシグネチャ履歴データ


  3. マルチシグネチャ情報


  4. XEM残高


  5. 重要度履歴データ


Transaction History (トランザクション履歴)

このデータセットには、NISブロックチェーンの完全なトランザクション履歴が含まれています。1チェーン法の場合、このデータセットはそれ以上対処する必要ありません。

:warning: NIS1ブロックチェーンネットワークのトランザクション履歴は、NEMが始まってからの追跡を可能にします。これは、トランザクションの移行プロセスを定義する際に考慮すべき重要な注意事項です。フォークスキームとアップグレード後のシナリオに関係なく、トランザクション履歴を失うと法的な影響に大きな影響を与える可能性があります。



  1. 転送トランザクション


  2. マルチシグ変更トランザクション


  3. 重要度転送トランザクション


  4. ネームスペース登録トランザクション


  5. モザイク定義トランザクション


Namespaces

このデータセットには、NIS1上のネームスペースに関する所有権情報が含まれています。NIS1上のネームスペースはモザイクに直接リンクされている可能性があります。加えて、NIS1上のネームスペースはネームスペースの所有者のアドレスの別名として使用できます。

Catapultではネームスペースはモザイクやアドレスと直接リンクされなくなりました。エイリアスというプロセスが導入されましたが、後方互換性はありません。



  1. ルートネームスペース


  2. サブネームスペース


Mosaics

このデータセットにはアカウント残高(カスタムモザイク)とカスタムモザイクの配布履歴が含まれます。パートナーはNISブロックチェーンネットワークの使用法を理解するために連絡しなければなりません。

これはカスタムモザイクの移行プロセスを改善するために役立ちます。

:warning: パートナーは定義された移行プロセスの影響を受けます。



  1. 残高


  2. 配布(転送)


Exchanges Integrations (取引所の統合)

NISネットワークの取引所の統合は、NEMブロックチェーンパブリックネットワーク上のXEMまたはカスタムモザイクの取引所統合に関連するデータセットを表します。

:warning: XEM・モザイクの各取引所の統合は取引所側の作業で移行がサポートされるかどうかを明確にするため連絡する必要があります

List of available XEM Buy / Sell Integrations (XEMの売買の統合リスト):

:warning: NEMパブリックブロックチェーン上でカスタムモザイクを発行した企業はCatapult技術を使って将来の明確な解決策を見つけるために連絡する必要があります.

List of available Custom Mosaics Buy / Sell Integrations (カスタムモザイクの売買の統合リスト):


Second Layer Integrations (セカンドレイヤーの統合)

NISブロックチェーンネットワークのセカンドレイヤー統合は数多くあります。そのうちのいくつかは、NISブロックチェーン内での一般的な使用方法の採用を発見しており、Catapultパブリックチェーンリリースを改善するためにいくつかの計画を必要とするかもしれません。

このセクションでは、NIS1ブロックチェーンネットワーク内で使用されるようになった複数の機能範囲を分析するための、NIS1統合の網羅的なリストを示します。



  1. Apostille (アポスティーユ)

機能範囲: HEXメッセージを含む転送トランザクション、BIP32/公開鍵導出



  1. Voting (投票)

機能範囲: JSON平文を含む転送トランザクション、公開鍵の導出



  1. Signed Messages (署名メッセージ)

機能範囲: 公開会議による暗号化



  1. Domain Name Services (DNS)

機能範囲: ネームスペース、アドレス、転送トランザクション



  1. Unlisted partners (載っていないパートナー)

このセクションにリストされていないパートナーは、次の統合リストにあります。


Introduction of Technical Debt (技術的負債の紹介)

Catapultのパブリックネットワークのリリースの意思決定の過程で, 行われた決定によって技術的負債が生じる可能性があります. 円滑なリリースを支持されるために, もたらされた技術的負債が, この文書で計画/整理/説明されることが最善です.

As such, special interest groups will be listed with their introduced technical debt in the following table:

以下の表に, 分科会(SIG)をもたらされる技術的負債と共にリストします.

SIG
技術的負債
割り当て済み?

#sig-api
SDK TS/JS Keccakの実装
:white_check_mark:

#sig-api
SDK Java Keccakの実装
:stop_sign:

#sig-api
PublicネットワークノードのDocker手順
:white_check_mark:

#sig-client
移行ツール
:stop_sign:

#sig-docs
パブリックネットワークのガイド
:white_check_mark:

#sig-testing
End-to-Endのテストスイート
:white_check_mark:

catapult-server
パブリックネットワーク用のノードのビルド手順
:white_check_mark:


Issue Resolutions (課題解決)



  • IR-1: アップグレード後の状況


  • IR-2: 2チェーン法におけるスナップショットまたはバーン


  • IR-3: 課税対象イベントの発生


  • IR-4: マイグレーションツールの開発


  • IR-5: 不評被害の分析


  • IR-6: Catapultアップグレードの技術的な定義


  • IR-7: 移行必須のデータセットの定義

Task
Title
Assignee
Status

IR-1
アップグレード後の状況
WG
Progress

IR-2
スナップショットまたはバーン
WG
Progress

IR-3
課税対象イベントの発生
WG
Progress

IR-4
マイグレーションツールの開発
Core
Progress

IR-5
不評被害の分析
Dave Hodgson
Progress

IR-6
Catapultアップグレードの技術的な定義
@evias
Progress

IR-7
移行必須のデータセットの定義
WG
Progress


Backwards compatibility (後方互換性)

Catapultソフトウェアは異なるソフトウェア開発言語で書き直されているため, 単純なアップデートプロセスを提供することは不可能です. 後方互換性は検討され研究されており, この文書で議論されるべきです.

Catapultテクノロジの下位互換性のないモジュールおよび機能はすべて、移行が行われる前にトピックに関する明確な解決策を見つけるために評価されています。

:warning: 問題が解決されたら, このセクションにて詳細情報を説明します.


Annexes (付録)

このNIPに付録は以下の通りです.


References (参照)


History (履歴)

Date
Version

May 10 2019
Initial Draft

May 13 2019
Second Draft

May 16 2019
Third Draft