ハーベスティング

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

ハーベスティング アカウント - ハーベスタと呼びます - はブロック内のトランザクションに応じた 手数料インフレーション を取得します。これによりハーベスタにはできるだけ多くのトランザクションをブロックに追加するインセンティブが与えられます。

適格基準

インポータンススコア はそのアカウントがハーベスティングがオンになっていて、他のすべてのアカウントもハーベストしている場合に、アカウントが次のブロックをハーベストする確率を決定します。

注釈

設定パラメータは編集可能です。インポータンススコア計算式とハーベストに必要な最小保有量の設定はパブリックネットワークでは異なる可能性があります。

このアカウントは 0 より大きい重要度を持つためにこのハーベスティングモザイクを 最低限の残高 だけ保有する必要があります。

ハーベスティングアカウントの所有者は 運用しているノード または リモートノード へのデリゲートによって、インポータンススコアを新しいブロックの生成に利用できます。

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

Catapult ソフトウェアはビジネスニーズに合わせて構成可能なプロパティを使用して、ハーベスティング用の モザイク定義 することが許可されています。Catapult テストネットワークはこのモザイクを cat.harvest と命名しています。

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

これとは対照的に、パブリックネットワークではトランザクション手数料の支払いとネットワーク運用に同じモザイクを使用する可能性があります。

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

ノード のインストールをする際、ハーベスティングに使われるアカウントを設定するように尋ねられます。 ブロックヘッダ はハーベスティングアカウントの公開鍵と署名を含みます。

さらに各ノードはある割合のハーベスティング報酬( 手数料インフレーション )を共有するために 受益者 公開鍵を設定することができ、共有比率は各ネットワークごとに設定可能です。ノードが受取人を定義しない場合、すべての報酬はブロック署名者が受け取ります。

ローカルハーベスティングでは、プライベートキーを格納しているノードのインスタンスに誰もアクセスしない限りは安全です。

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

デリゲートハーベスティングでは、アカウントはノードと安全に共有できるプロキシ秘密鍵を使用できます。つまり、自分のアカウントの重要性スコアを利用して、ノードの運用をせずに新しいブロックを作成することができます。

アカウントのデリゲートハーベスティングを有効になると、そのインポータンススコアがリモートアカウントに転送されます。リモートアカウントは元のアカウントの重要性を継承します。

セキュリティについて、リモートノードとプロキシ秘密鍵を共有しても次の理由から元のアカウントが侵害されることはありません:

  • リモートアカウントは残高0です。
  • リモートアカウントそれ自身だけでは、インポータンスを他のアカウントに移すことはできません。
  • 元のアカウントは結果の手数料を受け取ります。

以下の条件を満たす場合、リモートハーベスターは全報酬を受け取ることができません:

  • ネットワークハーベスティング共有率が 0 より大きい。
  • 受益者アカウント を定義している選択されたノード。
ローカルとデリゲートハーベスティングの比較
  ローカルハーベスティング デリゲートハーベスティング
設定 ノードのセットアップ リモートハーベスティングの有効化
コスト ノードのメンテナンス(電気、VPNのコスト) トランザクション手数料の有効化
セキュリティ ノードは秘密鍵を保存します。 プロキシ秘密鍵はノードと共有されます。
報酬 トータル報酬。ノード所有者は報酬の一部を受取アカウントと共有できます。 合計報酬 - 受益者分配

スキーマ

AccountLinkTransaction

アカウントのインポータンスをプロキシアカウントにデリゲートするために、アカウントリンクトランザクションをアナウンスします。そうすることで、デリゲートハーベスティングが有効にできます。

デリゲートハーベスティングのために remoteAccountKey として代理アカウントが受け入れられるために、以下の条件を満たす必要があります:

  • モザイクを保有することはできません。
  • 他のいかなるアカウントの連署者になることはできません。
  • マルチシグアカウントになることはできません。
  • 別のアカウントのデリゲートアカウントにはできません。
  • 自身のデリゲートアカウントになることはできません。

さらにアカウントがデリゲートアカウントとして使用されている間は、次のことが制限されます:

  • いかなるトランザクションの開始。
  • あらゆる種類のトランザクションへの関与。

Version: 0x01

エンティティタイプ: 0x414C

インライン

プロパティ タイプ 説明
remoteAccountKey Key Public key of the remote account.
linkAction LinkAction Account link action.

LinkAction

Enumeration: uint8

Id 説明
0 アカウントを関連付ける
1 アカウントの関連付けをやめる