代幣標準與 NFT
靈魂綁定代幣
靈魂綁定代幣是一種一旦由你持有便無法轉移的代幣——它被綁定在你的錢包(你的「靈魂」)上。這名稱借自電玩,其中「靈魂綁定」的道具是你能裝備、卻永遠無法交易出去的。正因為它無法被買、賣或搬動,SBT 不適合用來代表金錢或收藏品,反而適合代表那些本就不該可交易之物:憑證、會員資格、出席紀錄、聲譽與身分。
技術上,SBT 通常是一種轉移函式被停用的代幣(常以 ERC-721 為基礎)——合約覆寫 transferFrom 與 safeTransferFrom 使其回滾,只允許 mint(發給你)、有時還有 burn(你自行丟棄)。標準已將此具體化:EIP-5192 為不可轉移的 ERC-721 定義了一個極簡的 locked() 旗標與一個 Locked 事件;EIP-5114 則描述了在鑄造時即綁定的徽章。這個構想由 Vitalik Buterin、Glen Weyl 與 Puja Ohlhaver 的〈去中心化社會〉論文發揚光大。
靈魂綁定代幣之所以重要,是因為「可轉移性」是身分的大敵。一張你能賣掉的文憑,作為你曾就學的證明便毫無價值;一張你能賣掉的選票,便成就了賄選;一個你能轉讓的「獨特真人」徽章,便成就了女巫攻擊。藉由使代幣不可轉移,SBT 把一項主張綁在特定的行為者身上,從而成就了鏈上憑證、出席證明(POAP 是相關構想)、用於不足額抵押借貸的聲譽,以及抗女巫的治理等用途。仍未解的難題是金鑰遺失(你的靈魂就是你的私鑰)與隱私(公開的憑證是公開的)。
function _update(address to, uint256 id, address auth) internal override returns (address) {
address from = _ownerOf(id);
require(from == address(0) || to == address(0), "Soulbound: non-transferable");
return super._update(to, id, auth); // allow mint (from==0) and burn (to==0) only
}藉由只允許鑄造與銷毀來停用轉移。
靈魂綁定不代表無法偽造或具隱私——任何人都能在鏈上讀到你的 SBT,而一把被竊的私鑰會把你的「靈魂」一併帶走。不可轉移解決的是「交易」問題,而非金鑰保管或機密性。
又称
另见