リモートハーベスティングの有効化

セキュリティ強化のために、プロキシアカウントを介して新しいブロックのハーベスティングします。

紹介

リモートハーベスティングノード所有者 に、ノード設定ファイルにメインアカウントの秘密鍵を 公開せずに 新しいブロックの生成報酬を受け取ることができます。

注釈

ブロックはノードだけがハーベストできます。ノードは所有していないが、ハーベスティング手数料を受け取りたい場合は デリゲートハーベスティングノードにハーベスティングをリクエスト します。

このガイドでは 2つのセクション があり、 Symbol Bootstrap を使用して、または手動でノードを構築したかによります。

Symbol Bootstrap を使用して有効化

Symbnol ノードの立ち上げ ガイドに従った場合は、ノードを構築する際に Symbol Bootstrap を使用したはずです。 すぐに使用できるプリセットにより、デフォルトでリモートハーベスティングが可能になる ので、そのガイドに従い、ハーベスティングを有効にした場合は、何もする必要はありません。

明確にするために、 Symbol Bootstrap はリモートアカウント (addresses.yml ファイルで remote とラベル付けされている) を自動的に作成し、それを新しいブロックの署名者として設定します。 (harvesterSigningPrivateKey プロパティの秘密鍵を使用) 次に symbol-bootstrap link コマンドは、アクティベーションを完了するために必要な AccountKeyLink および VrfKeyLink トランザクションをアナウンスします。

注釈

注目すべき点として 非推奨ですカスタムプリセットファイル のこの行を使用して、リモートアカウントを省略し メインアカウントで直接 新しいブロックに署名できます:

 nodeUseRemoteAccount: false

メインアカウントの秘密鍵はノード設定ファイルに存在し、ノードに侵入されたはアクセスされる恐れがあることは言うまでもありません。

手動で有効化

例えば catapult-server インストラクション に従ってノードを自分でデプロイした場合は 手動でハーベスティングを有効 にする必要があります。

catapult-server ドキュメント では、サーバがメインアカウントの秘密鍵を保有する方式で ローカルハーベスティング を有効化する方法について説明があります。このセクションでは より安全な プロキシアカウントを使用した リモートハーベスティング を有効化する方法を説明します。

これは symbol-cli ツールを使用して実行されます。必要な手順は次のとおりです:

  1. ノード設定にハーベスタとして リモートアカウント を設定します。
  2. メインとリモートアカウントのリンクに AccountKeyLink transaction をアナウンスします。
  3. (任意) VRFアカウント が未設定の場合は構成を行います。

ステップ 1: リモートアカウントのセットアップ

リモートアカウント として機能する新しいアカウントを作成します。このアカウントは トランザクションを送受信したことがない 必要があり、リモートアカウントとして機能している間はトランザクションに関与できないため、最初から作成するのが最も安全です。

これをターミナルで実行します:

 catapult.tools.addressgen --network public
# Change the network type to suit your needs
 symbol-cli account generate
# Do NOT save the account, and set the import type to PrivateKey

新規アカウントの 公開鍵秘密鍵 を書き留めてください。

config-harvesting.properties ファイルを編集します (catapult-server 手順 に従っている場合は resources ディレクトリ内にあります) harvesterSigningPrivateKey フィールドを探し出し、リモートアカウントの秘密鍵を書き込みます。

ステップ 3: VRF アカウントの設定

すべての 適格アカウント は VRF キーを登録する必要があります。 config-harvesting.properties ファイルの harvesterVrfPrivateKey フィールドを確認してください。すでに入力されている場合はこの手順をスキップできます。

それ以外の場合は、手順 1 と同じように別のアカウントを作成して、VRF アカウントとします。

 catapult.tools.addressgen --network public
# Change the network type to suit your needs
 symbol-cli account generate
# Do NOT save the account, and set the import type to PrivateKey

構成ファイルの harvesterVrfPrivateKey フィールドに 秘密鍵 を書き込み、VRF とメインアカウントをリンクするために VrfKeyLink トランザクション をアナウンスします:

 symbol-cli transaction vrfkeylink --action Link -u <PUBLIC-VRF-KEY> --sync

最後に

これでノードはリモートハーベスティング構成になりました。ただし、次の重要な点に注意してください。

  • インポータンスが高いアカウントは、ハーベスティングを実行するためにより頻繁に選択されます。正常にリモートハーベスティングを有効にしても、メインアカウントの インポータンススコア が十分に高くない限りは、ブロックをハーベストする (手数料報酬を受け取る) ことはありません。
  • インポータンススコアの計算は継続的に行われません。デフォルトでは、アカウントインポータンススコアは、1440 ブロックごと (約 12 時間ごと) に再計算されます。 ネットワークプロパティの設定 ガイドの importanceGrouping プロパティを参照してください。