Bitswift Bundler System
Create child chain blocks (a special typeof Ardor transactions), consisting themselves of child chain transactions. Bundlers collect fees from child chain transaction senders, in native child chain token. Bundlers Pay fees to the Ardor forgers, in order to have their child chain block included in an Ardor block. Anyone can participate as a Bitswift bundler, provided they have enough ARDR to pay fees to the Ardor forgers to ensure their bundled transactions are secured by the parent chain (Ardor). Bundlers can decide which transaction to include in the child chain block, and how much in fees, if any, in the native token, to charge for each.
It is up to the ChildBlock bundler which child transactions to include in a ChildBlock, and this selection can be customized by defining a custom filter in the nxt.bundlingFilter property. The default bundler behavior is to select child transactions ordered by fee per byte, up to the count and payload limits of a child block, creating several child blocks if necessary. Within a child block, child transactions are sorted based on their full hash, but executed based on sorting them after adding the block hash to the child transaction hash,i.e. the execution order of child transactions within a block is deterministic but not predictable and not controllable by the bundler or by the forger. This is in order to prevent front-running of asset exchange and other trading orders.
Will add this section with details and pictures.
Create Ardor chain blocks consisting of Ardor transactions. Collect fees from bundlers and from Ardor transaction senders, all in ARDR. The ability to forge depends on the effective ARDR balance of the forger's account Forgers can decide which transactions to include or exclude from their block. Forgers can control in what order transactions in their block are processed, but the default is based on transaction arrival timestamp. ARDR fees are fixed, determined based on transaction type and parameters, and cannot be changed by the forgers.