アグリゲートトランザクションは複数のトランザクションを一つにまとめ、 トラストレスな交換 や高度なロジックを可能にします。 Symbol は一度きりの破棄可能なスマートコントラクトを生成することでこれを実現しています。
Instead of signing each inner transaction individually, the aggregate transaction gathers all required signatures (called then cosignatures). Only when all necessary signatures have been provided the aggregate transaction can be processed, and all inner transactions are executed simultaneously.
Symbol の パブリックネットワーク は (maxTransactionsPerAggregate
と maxCosignaturesPerAggregate
プロパティで定義されている通り) 100 以内のインナートランザクション、 25 以内の異なる連署者が関わるアグリゲートトランザクションをサポートしています。他のアグリゲートトランザクションをインナートランザクションとして組み込むことはできません。
An Aggregate Transaction is complete when it requires signatures from multiple participants and all of them are available when the transaction is announced.
The cosigners can sign the transaction without using the blockchain. Once it has all the required signatures, any one of them can announce it to the network. If the inner transaction setup is valid, and there is no validation error, the transactions will get executed at the same time.
アグリゲートコンプリートトランザクションは、複数のインナートランザクションを集めることで、ブロックへさらに多くのトランザクションを追加できます。
An Aggregate Transaction is bonded when it requires signatures from multiple participants and NOT all of them are available when the transaction is announced.
Once an aggregate bonded is announced, it enters the partial state and the cosigners whose signatures are still required are notified through their wallets.
When a cosigner signs the transaction and announces its aggregate bonded cosignature, the network checks if all the required signatures are available. If so, the transaction moves to the unconfirmed state meaning that it will be confirmed and included in the next block if everything is correct.
Transactions can remain in the partial state for up to 48 hours: This is the deadline all cosigners have to provide their signatures before the aggregate bonded transaction expires.
注釈
Before announcing an Aggregate Bonded Transaction, an account must announce and get confirmed a HashLockTransaction locking 10 XYM. This is refunded when the transaction is confirmed and serves as an anti-SPAM mechanism.
Dan は二つの転送トランザクションを集約した AggregateTransaction をアナウンスします。Alice と Bob は同時にモザイクを受け取るでしょう。
この例では Alice がチケットを currency:euro
モザイク で購入しています。チケット販売者は AggregateTransaction に署名し、交換はアトミックに起こります。
Alice は 10 currency.euro
を Bob へ支払うためにアプリで送ります。しかし、彼女はブロックチェーンのトランザクション手数料を支払う分の symbol.xym
を持っていません。
AggregateBondedTransaction を作ることで、彼女は currency.euro
を手数料のための symbol.xym
に替えることができます。これで Alice と Bob は symbol.xym
を購入したり保有することなく、 Symbol のパブリックブロックチェーンを使うことができます。
アプリの製作者はオープンソースの支払いアプリに独自ブランドを付けられるので、Alice と Bob は彼らがブロックチェーン技術を使っていることに気が付かないでしょう。