転送トランザクション⚓︎
- 転送トランザクション
- あるアカウントから別のアカウントへモザイクや任意のメッセージを送信するためのトランザクション。
転送トランザクションは Symbol で最も一般的なタイプであり、資産の移転や簡易な通信を可能にします。
主な特徴⚓︎
-
モザイク転送
1 つまたは複数のモザイクを転送トランザクションに添付できます。 すべてのモザイクは 1 人の送信者から 1 人の受信者へ送られます。 このため、転送トランザクションはシンプルで直接的な資産移転に最適です。
-
メッセージ機能
任意の平文または暗号化メッセージを含めることができます。 モザイクを含める必要はないため、メッセージだけを送信することも可能です。 これにより、資産転送に加えて簡単な通信も行えます。
-
アグリゲート対応
複数の転送トランザクションを 1 つのアグリゲートトランザクションにまとめることができます。 これにより、1 件のトランザクションで複数の送信者および複数の受信者を扱うことが可能になります。
-
マルチシグ対応
転送トランザクションは他のトランザクションと同様にマルチシグアカウントに対応しています。 これにより、複数のアカウントによる承認を要求でき、複雑なガバナンススキームを構築できます。
構造⚓︎
共通トランザクション構造に加えて、 転送トランザクションには以下の属性があります。
| 属性名 | 説明 |
|---|---|
| 受信者アドレス | 受信者を特定するアドレスまたはネームスペースのエイリアス。 |
| 転送するモザイクの一覧 | 転送対象の 0 個以上のモザイク。 |
| 任意のメッセージ | 最大 1024 バイトの平文または暗号化メッセージ。 |
受信者アドレス⚓︎
受信者はアドレスまたはネームスペースのエイリアスで指定できます。
注意
チェーン上にまだ出現していないアドレス宛にモザイクを送信することが可能です。
これは通常の動作としてサポートされていますが、 受信者がその宛先アドレスを制御していることを十分に確認する必要があります。 対応する秘密キーを誰も持っていない場合、送信されたモザイクは永久にロックされてしまいます。
転送するモザイクの一覧⚓︎
この一覧には、それぞれの転送対象モザイクのモザイク ID(またはネームスペースのエイリアス)と、転送する数量が含まれます。
当然ながら、送信者は各モザイクを十分に保有していなければなりません。 不足している場合、そのトランザクションは拒否されます。
この一覧を空にすることもでき、その場合は資産を伴わないメッセージのみを送信できます。
任意のメッセージ⚓︎
トランザクションには最大 1024 バイトのメッセージを含めることができます。
Symbol プロトコルはメッセージのエンコーディング形式を標準化していません。 送信者と受信者がフォーマットやエンコーディング方式(例:UTF-8、JSON、HEX)を事前に合意する必要があります。 慣例的に、ほとんどのウォレットやアプリケーションは UTF-8 エンコーディングを使用します。
暗号化の慣例
暗号化をサポートするため、Symbol 上のアプリケーションでは「最初の 1 バイト」で暗号化の有無を示す慣例が定められています。
- 先頭バイトが
0x00の場合、後続のバイトは暗号化されていないメッセージです。 - 先頭バイトが
0x01の場合、後続のバイトは受信者の公開キーを用い、 Bouncy Castle の AES ブロック暗号(CBC モード)で暗号化されたメッセージです。 この場合、受信者のみが復号できます。
この接頭バイトの分、メッセージの最大長は 1023 バイトになります。
この慣例は Symbol デスクトップウォレット、 Symbol Explorer など多くのアプリケーションでサポートされていますが、 Symbol プロトコルそのものの一部ではありません。