代幣標準與 NFT

代幣銷毀

銷毀一枚代幣,意味著永久摧毀它、把它從流通供給中徹底移除。對 ERC-20 而言,這是一次對 _burn(from, amount) 的呼叫,它從持有者餘額中扣除,而且關鍵在於——也從 totalSupply 中扣除,因此這些代幣並非被搬給了誰,而是不復存在。一種較舊、較粗糙的方法是把代幣送往一個沒有已知私鑰的銷毀地址(如零地址或 0x...dEaD);技術上這些代幣仍「在那裡」,卻永遠花不出去,因為無人能為該地址簽章。

為何要刻意摧毀價值?多半是為了管理稀缺性與經濟。通縮型代幣經濟學會隨時間銷毀一部分代幣,以抵銷發行、或藉縮減供給來回饋持有者;回購銷毀則動用協議營收於市場上買進代幣並銷毀之,在不發股利的情況下把價值還給持有者。以太坊自身的 EIP-1559 會銷毀每筆交易的基本費,因此網路使用一旦繁忙,便可能使 ETH 淨通縮。銷毀也具功能性:贖回包裝代幣時,會銷毀包裝以釋出基礎資產;而銷毀一枚「神秘箱」NFT,正是觸發揭曉其內容物的動作。

兩點提醒。其一,銷毀按設計即不可逆——沒有復原、沒有救回,意外的銷毀(誤把代幣送往銷毀地址)就是單純地賠掉。其二,銷毀不同於鎖倉或解鎖排程:被鎖的代幣仍然存在、日後可重新進入供給,而被銷毀的代幣則已完全自 totalSupply 中消失。評估一枚代幣的「供給縮減」時,務必查清楚代幣是真被銷毀了(totalSupply 下降),還是僅僅被搬進了團隊掌控的某個錢包。

function burn(uint256 amount) external {
    _balances[msg.sender] -= amount;   // remove from holder
    _totalSupply       -= amount;      // and from existence
    emit Transfer(msg.sender, address(0), amount);
}

真正的銷毀會降低 totalSupply,而不只是某個餘額。

送往銷毀地址與呼叫 _burn 看似相同,實則有別:_burn 會降低 totalSupply,而銷毀地址則使 totalSupply 不變,只是把代幣凍結在搆不著的地方。

又称
burning銷毀