ハーベスティング

新しい ブロック を生成するプロセスをハーベスティングと呼びます。

このプロセス中に ハーベスタ と呼ばれる、ブロックをハーベストする アカウント は、生産した トランザクション手数料 と発生した インフレーション トークンで報われます。

生成された各ブロックは、ハーベスタアカウントの公開鍵とそれが作成したブロック署名を ヘッダー に格納します。

適格基準

インポータンススコア はハーベストが有効になっているすべてのアカウントの中から、次のブロックを収集するためにアカウントを選択する確率を決定します。

Symbol のパブリックネットワークでは、0 より大きいインポータンススコアを獲得するために、アカウントは 10,000 以上の ハーベスティングモザイク を保有している必要があります。 ノードの運用 または、別のノードに デリゲートハーベスティング を有効にすることで、適格なアカウントはそのインポータンススコアを使用して新しいブロック生成を行います。

選択した方法に関係なく、 ハーベスティングをアクティブ化したいアカウント は、最初に有効な VrfKeyLinkTransaction を通知します。このキーは Symbol のランダムなハーベスタ選択に必要です。

ハーベスティングモザイク

Symbol プラットフォームは様々なビジネスニーズに合わせたハーベスティングを目的とした モザイク定義 をサポートします。

例えばコンソーシアムネットワークではインフラを運営する企業間でハーベスティングモザイクを配布することができますが、他の参加者はサービスを利用するために 通貨モザイク を支払う必要があります。

これとは対照的に、パブリックネットワークではトランザクション手数料の支払いとネットワーク運用には同じモザイクを使用することがあります。たとえば Symbol のパブリックネットワークでは symbol.xym をハーベストモザイクとして使用して、適格な参加者が新しいブロックをハーベストできるようにしています。

報酬

ネットワークオペレーターはハーベスト報酬 (ブロック 手数料 および インフレーション)の割合を受け取る ネットワーク手数料シンクアカウント を定義できます。パブリックメインネットワークにおいて、この料金は 5% に設定されており、さまざまな 報酬プログラム をサポートするために使用されます。

さらに、各ノードは 受益者アカウント を設定して、ハーベスト報酬の割合 (最大25%) を共有できます。ノードオペレータはこの機能を使用して、ノードサポータのインセンティブ構造を作成できます。

受取人の共有比率とネットワークシンクアカウントは ネットワークごとに設定可能 です。

../_images/network-sink-beneficiary.png

ネットワークシンクに対するネットワークの共有率が20%、受益者に対するネットワークの共有率が10%である場合の報酬区分。

注釈

受益者の割合の計算は、ネットワークシンク計算後に行われます。ノードオペレーターが受取人またはネットワーク手数料シンクを定義しない場合、すべての報酬はブロック署名者に送られます。

ハーベスティングタイプ

ハーベスタアカウントがノードを所有しているか、および要求するセキュリティレベルに応じて、さまざまな種類のハーベスティングを利用できます。: ローカル, リモート そして デリゲート です。

ローカルハーベスティング

これは 最も簡単なセットアップ手順 ですが 最も安全ではない方法 です。ノード設定を変更する必要があるため、ノード所有者のみが利用できます。これは ノード構成 ファイルにハーベスティングプロパティを適切に入力することで有効になります。

ご覧の通り、作成されたブロックに署名するために harvesterSigningPrivateKey に指定されたハーベスタアカウントの 秘密鍵 が要求されます。このアカウントには資産が含まれており、ノードが侵害された場合、侵入者が設定ファイルにアクセスする可能性という セキュリティ上の懸念 が存在します。資産が提供されたアカウントの 秘密鍵は常にオフラインで保存する必要があります

そのため この方法はあまり良くありませんリモート または デリゲート ハーベスティングを推奨します。

リモートハーベスティング

ノード所有者は プロキシとして機能 する リモートアカウント を使用して、新しく作成されたブロックに署名しますが、ハーベスト手数料は引き続きメインアカウントが徴収されます。 リモートアカウントは資産を持たない ので、その秘密鍵がノード上の設定ファイルに記述されていることは問題になりません。引き続き、メインアカウントの 重要度スコア に基づきます。

この設定では、簡単にするために、引き続きメインアカウントは ハーベスタ と呼ばれますが、リモートアカウントは プロキシ と呼ばれます。

リモートハーベスティングは ローカルハーベスティング と同様に有効になりますが、 harvesterSigningPrivateKey プロパティに設定されたリモートアカウントの秘密鍵を使用し、リモートアカウントとメインアカウントをリンクする AccountKeyLinkTransaction をアナウンスします。

これはノード所有者に 推奨される方法 です。リモートハーベスティングをアクティブ化する方法の詳細な手順については、 ハーベスティングガイド を参照してください。

デリゲートハーベスティング

ノードを所有していない 適格なアカウントそれらのアカウントのハーベストをノードにリクエスト することで、ハーベスティング報酬の恩恵を受けることができます。アカウントの インポートスコア が使用され、収集された手数料はアカウントとノードの受益者の間で分割 (報酬 セクションで説明) されます。 これはアカウントとノードの両方にとって有益 です。

その後、アカウントはノードに デリゲートハーベスティング すると言われますが、依然としてアカウントはハーベスタと見なされます。

Delegated harvesting is enabled similarly to remote harvesting but, since the account has no access to the node's configuration, it announces a PersistentDelegationRequest transaction instead (This can be done effortlessly from the Wallet). Upon receiving the request, the node may or may not grant it, depending on its configuration and the rest of requests received.

リモートハーベスティング と同様に、プロキシリモートアカウントが使用されるため、メインアカウントの秘密鍵が危険に晒されることはありません。

デリゲートハーベスティングを有効にする、ステップ・バイ・ステップの手順については ハーベスティングガイド を参照し、デリゲートリクエストが許可されているかを確認します。

Persistent Delegation Request Transaction

This is actually a TransferTransaction sent to the node owner's account with a special 132-byte message, formatted as a 264-characters hexadecimal string:

Bytes

Hex digits

説明

8

16

Header: FE2A8061577301E2

32

64

Ephemeral keypair public key.

Below is encoded with the ephemeral key:

16

32

AES GCM tag.

12

24

AES GCM initialization vector.

32

64

remoteLinkedPrivateKey

32

64

vrfPrivateKey