NIP008-パブリックカタパルト 超Google翻訳&超意訳

# 追記

こちらも参照ください
https://qiita.com/daoka/items/143f142f1685fc00625a

# はじめに

カタパルトのパブリック化についての提案がなされようとしている。

https://github.com/nemtech/NIP/blob/c8783c3c3873f1150cc8fee1ad5c690d8cc4891c/NIPs/nip-0008.md

この記事では、それの日本語訳を試みるものである。

注意点

- この訳は何ら公式のものではない
- この訳は必ずどこか間違っているものとする
- この訳によって生じた損害については、一切責任を持たない

## 訳の更新履歴

- 20190512 投稿

# NIP-8 - カタパルトのパブリック化

## Summary

```
    NIP: 0008
    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

（省略）

## 導入

この文書の目的は、現在利用可能なパブリックブロックチェーンネットワークであるNEM（以降「**NIS1**」）を、新たに利用可能になったカタパルト（以降「**カタパルト**」）へアップグレードすることに関する意思決定プロセスを提供することである。

このドキュメントの対象は、以下のプロジェクトである

- [`NIS1`: NemProject/nem.core](https://github.com/NemProject/nem.core)
- [`Catapult`: nemtech/catapult-server](https://github.com/nemtech/catapult-server)

カタパルト移行についての議論は行われてきたが、いくつか未解決な箇所がある。

## 仕様

この章では、カタパルトがパブリックネットワークにリリースされる際の手順について記す。

### 移行方法について

移行方法については、以下にあるもので、さらにこれらに限られる。

- NIS1を**カタパルト**に**アップグレード**して、**１チェーン**のネットワークとする。
- NIS1と**並行**して**カタパルト**を**リリース**して、**２チェーン**のネットワークとする。

以降、これら２つの結果をそれぞれ１チェーン法、２チェーン法とする。

**解法**：**１チェーン法** もしくは **２チェーン法**

### モジュール・データ・インテグレーションの移行

次のリストには、NIS1で現在利用可能なすべての移行済みモジュールと、Catapultへの移行時に考慮する必要があるデータもしくはインテグレーション（取引所／クライアント）が含まれる。

- [アカウント（残高、インポータンス、マルチシグ情報）](#dataset-migration-account-data)
- [トランザクション履歴](#dataset-migration-transaction-history)
- [ネームスペース](#dataset-migration-namespaces)
- [モザイク](#dataset-migration-mosaics)
- [セカンドレイヤー](#dataset-migration-second-layer-integrations)
- [取引所](#dataset-migration-exchanges-integrations)

これらのモジュールとデータは、このドキュメントのサブセクションの「[データセットの移行](#dataset-migrations)」の章で詳しく説明される。

### Process Implications

**法的**および**技術的**な分野における移行の影響について、いくつかの点を考慮する必要がある。これらの影響については、この章のサブセクションで説明される。

### Legal implications

提案されている移行手法によっては、課税が発生する可能性がある。移行を正しく計画する前に、この点を明確にすることが重要である。

- エンドユーザーに課税が発生することは望ましいか？ **YES** / **NO**
- 課税を回避することはできるか？するべきか？ **YES** / **NO**
- 課税の発生は、移行の**障害点**となるか？ **YES** / **NO**

そのほかの参考文献： [Tax Considerations for ICOs](https://nem2.slack.com/files/U9G1B8BAT/FJKB78FJA/tax-considerations-for-icos.pdf)

**Issue Resolution**: **Resolution to be described here.**

### Technical implications

移行の過程で、Catapultの移行/リリースを成功させるためには、エンドユーザーが**自分のしなければならないことを正確に知っておくこと**が望ましい。そのためには、この章で重要なドキュメントと記事の参照を定義する必要がある。これにより、アップグレードに必要な手順は、どのようにして、またはどのように行うべきかについての概要を、エンドユーザーに示すことができる。

さらに、カタパルトのパブリックネットワークでのリリースに伴う技術的債務の概要を、[nemtech/community](https://github.com/nemtech/community)にあるSIG（Special Interest Group）での分類に従い説明する。

以下のリストは、その後のトピックで決定が行われたときに、時間の経過とともに再定義される可能性がある。以下は**パブリックネットワーク上のカタパルトリリースのための重要なツールとドキュメント**のリストである。

- `catapult-service-bootstrap`: [パブリックネットワークノードのDockerコンテナーのガイド](https://github.com/nemtech/catapult-service-bootstrap)
- `catapult-server`: [パブリックネットワークノードのビルド手順](https://github.com/nemtech/catapult-server/blob/master/BUILDING.md)
- `catapult-rest`: [パブリックネットワークノードのRESTゲートウェイのガイド](https://github.com/nemtech/catapult-rest)
- `nem2-sdk-*`: [パブリックネットワークを使ったNEM2 TS/JSのガイド](https://github.com/nemtech/nem2-sdk-typescript-javascript)
- `nem2-cli`: [パブリックネットワークを使ったNEM2 CLIのガイド](https://github.com/nemtech/nem2-cli)
- `nem2-docs`: [カタパルトパブリックネットワークを使った開発のセクション](https://github.com/nemtech/nem2-docs)
- `nem2-e2e-tests`: [テスト：パブリックネットワークの使い方](https://github.com/nemtech/nem2-e2e-tests)
- `all-projects`: [Clients/SDK/Docsのテスト：パブリックネットワークノードの使い方](https://github.com/nemtech)

記載されている**ツールやドキュメント**の中には、その後のトピックで決定されたものがあるため変更される場合がある。また、一部のツールでは、パブリックネットワークノードでの使用を可能にするための作業が必要になる。

**問題点と解決法**：**インテグレーションと実装については、2019年のQ2の終わりまでに完了すべきである**

### データ移行

この章では、Catapultに移行するときに考慮する必要があるさまざまなデータについて説明する。利用可能な各データは、以下の質問事項によってレビューされる。

1. **１チェーンの場合**
  1. **移行されないデータに対するユーザーの不満。**
  2. **移行されないデータがあることで、nemやカタパルトの評判が悪くなるか。**
  3. **移行できるか。**
2. **２チェーンの場合**
  1. **移行されないデータに対するユーザーの不満。**
  2. **移行されないデータがあることで、nemやカタパルトの評判が悪くなるか。**
  3. **移行できるか。**
3. **データの移行に際し、何らかの法的な影響があるか。**
4. **データの移行に際し、技術的責務が伴うか。**

### データ移行：アカウント

アカウントデータとは、NEMブロックチェーンパブリックネットワーク（MAIN_NET）上のアカウントに関連するデータを意味する。

次のサブセクションは、NIS1ネットワーク上のアカウントに関連するデータについて定義する。

**マルチシグの履歴**

関連:
- [Multi-Signature Information](#multi-signature-information)
- [Modify Multisig Transaction](#modify-multisig-transaction)

移行に関する質問事項: (省略)

**インポータンス委任**

関連:
- [Importance Transfer Transaction](#importance-transfer-transaction)

移行に関する質問事項: (省略)

**マルチシグに関する情報**

関連:
- [Multi-Signature Conversions](#multi-signature-conversions)

移行に関する質問事項: (省略)

**XEMの残高**

関連:
- [Dataset Migration: Namespaces](#dataset-migration-namespaces)
- [Dataset Migration: Mosaics](#dataset-migration-mosaics)

移行に関する質問事項: (省略)

**モザイクの残高**

関連:
- [Dataset Migration: Namespaces](#dataset-migration-namespaces)
- [Dataset Migration: Mosaics](#dataset-migration-mosaics)
- [Register Namespace Transaction](#register-namespace-transaction)
- [Mosaic Definition Transaction](#mosaic-definition-transaction)

移行に関する質問事項: (省略)

**インポータンス**

移行に関する質問事項: (省略)

### データ移行：トランザクション履歴

NIS1ネットワークのトランザクション履歴は、**NEMブロックチェーンパブリックネットワーク上のトランザクション**と言われるデータを表す。いくつかの種類のトランザクションが利用可能であり、それらのいくつかは移行する必要とがあるかもしれない。

以下のサブセクションでは、NIS1ネットワーク上の**トランザクション履歴**に関連するデータについて定義する。

**Transfer Transaction**

関連:
- [Distribution (Transfers)](#distribution-transfers)

移行に関する質問事項: (省略)

**Modify Multisig Transaction**

関連:
- [Multi-Signature Information](#multi-signature-information)

移行に関する質問事項: (省略)

**Importance Transfer Transaction**

関連:
- [Account importance](#account-importance)

移行に関する質問事項: (省略)

**Register Namespace Transaction**

関連:
- [Dataset Migration: Namespaces](#dataset-migration-namespaces)

移行に関する質問事項: (省略)

**Mosaic Definition Transaction**

関連:
- [Dataset Migration: Mosaics](#dataset-migration-mosaics)

移行に関する質問事項: (省略)

### データ移行：ネームスペース

NIS1ネットワークのネームスペースは、**NEMブロックチェーンパブリックネットワーク上で期限付きのネームスペースの登録**として識別されるデータを表します。

以下のサブセクションでは、NIS1ネットワーク上の**ネームスペース**に関連するデータについて定義する。

**ルートネームスペース**

関連:
- [Register Namespace Transaction](#register-namespace-transaction)

移行に関する質問事項: (省略)

**サブネームスペース**

関連:
- [Register Namespace Transaction](#register-namespace-transaction)

移行に関する質問事項: (省略)

**モザイク**

関連:
- [Mosaic Definition Transaction](#mosaic-definition-transaction)

移行に関する質問事項: (省略)

### データ移行：モザイク

NIS1ネットワークのモザイクは、**NEMブロックチェーンPublic Networkで作成されたカスタムモザイク**として識別されるデータを表す。

以下のサブセクションでは、NIS1ネットワーク上の**モザイク**に関連するデータについて定義する。

**残高**

移行に関する質問事項: (省略)

**分配**

関連:
- [Transfer Transaction](#transfer-transaction)

移行に関する質問事項: (省略)

**ネームスペース**

関連:
- [Mosaic Definition Transaction](#mosaic-definition-transaction)

移行に関する質問事項: (省略)

### データ移行：セカンドレイヤー

NIS1ネットワークのセカンドレイヤーは、**NEMブロックチェーンパブリックネットワークに格納されているデータ**に関連するデータを表す。これには**アポスティーユ**、**投票／調査**などがあるが、それ以外についても含む。

以下のサブセクションでは、NIS1ネットワーク上の**セカンドレイヤー**に関連するデータについて定義する。

**アポスティーユ**

関連:
- [Transfer Transaction](#transfer-transaction)

移行に関する質問事項: (省略)

**投票データ**

関連:
- [Transfer Transaction](#transfer-transaction)

移行に関する質問事項: (省略)

### データ移行：取引所

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

以下のサブセクションでは、NIS1ネットワークにおける**取引所**に関連するデータについて定義する。

**XEM Buy / Sell Integrations**

移行に関する質問事項: (省略)

:warning: 移行をどのようにするかについて、XEMモザイクを扱う取引所へ問い合わせをしなければなりません。

List of available XEM Buy / Sell Integrations:

- **取引所のリスト（予定）**

**Custom Mosaics Buy / Sell Integrations**

移行に関する質問事項: (省略)

:warning: **NEMブロックチェーンパブリックネットワーク上でカスタムモザイクを発行した企業は、Catapultを使用する手法について探るために連絡をする必要がある**。

### 技術的責務について

パブリックネットワーク上でのカタパルトのリリースに関する意思決定の過程で、行われた決定/決議により技術的債務が発生する可能性がある。円滑なリリースのためには、その技術的債務が当文書上で計画、構成、説明されていることが重要である。

そのため、以下の表に、**技術的債務**をSIG別に記載します。

| SIG | 技術的責務 | 割り当て済み？ | 中断中？ |
| --- | --- | --- | --- |
| #sig-api | SDK(TS/JS)のKeccak実装 | :white_check_mark: | **いいえ** |
| #sig-api | SDK(Java)のKeccak実装 | :no_entry_sign: | **いいえ** |
| #sig-api | ノードの立ち上げの手順 | :no_entry_sign: | **いいえ** |
| #sig-client | 移行ツール | :no_entry_sign: | **YES, needed resolution on [Possible Outcomes](#possible-outcomes)** |
| #sig-docs | 解説 | :white_check_mark: | **YES, needed resolution on [Possible Outcomes](#possible-outcomes)** |
| #sig-testing | e2eテスト | :white_check_mark: | **いいえ** |
| catapult-server | ビルドの手順 | :no_entry_sign: | **いいえ** |

## 後方互換性

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

Catapultの後方互換性のないすべてのモジュールおよび機能は、移行が行われる前にトピックの解決策を見つけるために吟味されている。

:warning: **問題が解決された際には、追加の情報をこのセクションに記す**

## 参考文献

- [`NIS1`: NemProject/nem.core](https://github.com/NemProject/nem.core)
- [`Catapult`: nemtech/catapult-server](https://github.com/nemtech/catapult-server)
- [catapult-service-bootstrap](https://github.com/nemtech/catapult-service-bootstrap)
- [catapult-server](https://github.com/nemtech/catapult-server/blob/master/BUILDING.md)
- [catapult-rest](https://github.com/nemtech/catapult-rest)
- [nem2-sdk-typescript-javascript](https://github.com/nemtech/nem2-sdk-typescript-javascript)
- [nem2-cli](https://github.com/nemtech/nem2-cli)
- [nem2-docs](https://github.com/nemtech/nem2-docs)
- [nem2-e2e-tests](https://github.com/nemtech/nem2-e2e-tests)
- [@nemtech](https://github.com/nemtech)
- [nemtech/community](https://github.com/nemtech/community)
- [Tax Considerations for ICOs](https://nem2.slack.com/files/U9G1B8BAT/FJKB78FJA/tax-considerations-for-icos.pdf)

## 履歴

| **日付**     | **バージョン**   |
| ------------ | ------------- |
| 2019/05/10 | 初回ドラフト |