Ardor Burn Account
02 五月 2019
Wondering how to burn tokens on the Ardor platform?
In Nxt, there is this special "Genesis" account, which has a negative balance and is unable to send outgoing transactions. Nxt coins sent to this account are permanently destroyed.
In Ardor, due to a slightly different design in how the Genesis block is loaded, there is no such account by default to be used for destroying tokens. For some holdings, such as assets or aliases, the platform provides custom transaction types that allow their deletion, e.g. deleteAssetShares and deleteAlias. Still, there was no way to permanently burn child chain coins, or monetary system currencies - until now.
To provide a general method for burning any type of tokens on the Ardor platform, Jelurida decided to define an "Ardor Burn Account".
Ardor Burn Account Creation Process
Jelurida posted the following announcement as cloud data on the Ignis child chain, on April 30, 2019, with transaction id 2:7e189241324b61b117ff04c88887f631ae80dc2507dcc968b90b753e31c9cd07:
Ardor Burn Account Creation Process.
A burn account is an Ardor account for which no known passphrase exists. Users can send to the burn account various holdings (child chain coins, assets, currencies) that they want to destroy forever. Since the passphrase of the burn account is unknown, no one will ever be able to submit a transaction from this account to recover the destroyed holdings. To create the burn account without possibly knowing its passphrase, Jelurida will follow these steps: Submit the text of this document as a cloud data transaction from the account used by Jelurida to set version aliases, ARDOR-XNBG-5TB4-SC4R-B73ZW. Note the transaction block height H and wait for 1440 blocks. Use the first "generation signature" of a block at a height equal to or higher than H+1440 which also represents a canonical public key as the public key of the burn account. Convert the public key to an RS account address. Announce the public key of the burn account using a message with recipientPublicKey attachment. In the next planned software update, permanently blacklist the burn account address in the code and do not allow outgoing transactions from it.
The above transaction was accepted in the blockchain at height 706870, and as announced, 1440 blocks later we selected the block at height 708310 as the source of the public key for a burn account. The generation signature of block 708310 was found to be db6362e104504f9262400bfe2f948a1927ba7c8fdd7b270a5d586aa8958a895b, which corresponds to account ARDOR-Q9KZ-74XD-WERK-CV6GB.
ARDOR-Q9KZ-74XD-WERK-CV6GB was therefore officially selected as the Ardor Burn Account. Its public key was announced to the blockchain using a recipientPublicKey attachment and the Ignis alias @ArdorBurnAccount transferred to said account. In the next scheduled Ardor release, this account will also be permanently blacklisted in the code as forbidden from sending outgoing transactions, even if someone attempted to brute force a passphrase for it.
From now on, anyone wishing to permanently delete some tokens can just send them to the ARDOR-Q9KZ-74XD-WERK-CV6GB account or use the alias @ArdorBurnAccount as recipient in the wallet. That said, do not take this action without fully considering the consequences.
Note that in some cases, where a dedicated token delete transaction type already exists, it may be more appropriate to use that special transaction type.
For example, deleting asset shares using deleteAssetShares is better than sending them to the burn account, because shares owned by the burn account will still receive dividend payments, which is probably not what the asset issuer intends. Deleting an alias using deleteAlias will also allow someone else to register again that alias, while sending the alias to the burn account will make it permanently owned by the burn account. Therefore, think twice before sending something to the @ArdorBurnAccount!