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

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

紹介

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

注釈

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

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

Symbol Bootstrap を使用して有効化

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

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

注釈

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

nodeUseRemoteAccount: false

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

手動で有効化

If you have deployed a node yourself, for example by following the catapult-client instructions, then you have to enable harvesting manually.

The catapult-client documentation explains how to enable local harvesting, which stores your main account's private key on the client. This section explains how to enable remote harvesting instead, which uses a proxy account and is therefore much more secure.

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

  1. ノード設定にハーベスタとして リモートアカウント を設定します。

  2. メインとリモートアカウントのリンクに AccountKeyLinkTransaction をアナウンスします。

  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

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

Now edit the config-harvesting.properties file (it should be in a resources directory if you followed the catapult-client instructions). Look for the harvesterSigningPrivateKey field and write the remote account's private key.

ステップ 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 とメインアカウントをリンクするために VrfKeyLinkTransaction をアナウンスします:

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

最後に

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

  • インポータンスが高いアカウントは、ハーベスティングを実行するためにより頻繁に選択されます。正常にリモートハーベスティングを有効にしても、メインアカウントの インポータンススコア が十分に高くない限りは、ブロックをハーベストする (手数料報酬を受け取る) ことはありません。

  • インポータンススコアの計算は継続的に行われません。デフォルトでは、アカウントインポータンススコアは、1440 ブロックごと (約 12 時間ごと) に再計算されます。 ネットワークプロパティの設定 ガイドの importanceGrouping プロパティを参照してください。