作者:黃世亮
來源:閃電HSL
原文標題:《如何拉黑加密數字貨幣——從穩定幣(USDC 和USDT)黑名單地址說起》
加密數字貨幣是去中心化的存在,幣圈一直以幣無法被凍結為驕傲。但事實上,幣圈最大的兩個穩定幣USDT 和USDC,現在都有一個黑名單地址,在黑名單上的USDT 和USDC 都無法使用。
這是不是打破了加密數字貨幣不可被凍結的神話?
USDC 和USDT 被凍結
USDC 是在以太坊上發行的一個ERC20 代幣,錨定美元的穩定幣,使用智能合約發行。合約賬戶為:
USDC 合約:
0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48
近日USDC 被新聞報出將一個10 萬USDC 的地址列入黑名單,這意味著這個地址上10 萬美元的資產將不可被使用。這和銀行凍結銀行卡是一樣的。
USDC 合約的黑名單地址也是不可以接收新的USDC 的。
USDT 是幣圈最著名的穩定幣,也有ERC20 版本的USDT,合約賬戶為:
USDT ERC20 版合約:
0xdac17f958d2ee523a2206206994597c13d831ec7
目前這個USDT ERC20 合約也有一個黑名單地址,一共有40 個以太坊地址,凍結了上百萬的USDT。
USDT black list:
https://explore.duneanalytics.com/public/dashboards/3zhIaRUCFgmZMKqHG0pguvSvw1aOGL8gxFtZ2ujf
USDC 官網是明確說明,USDC 合約是帶有黑名單功能的,見下:
The only circumstance where a transfer might fail to be executed by the USDC smart contract is when either the sender or receiver wallet address has been blacklisted.
USDC 智能合約維護著一個全球黑名單地址,可以禁止和凍結其接收發送USDC。
使用智能合約規則來禁止和凍結幣
USDT 除了ERC20 版本的代幣外,還在其他多條鏈上均發布了代幣。 BTC 上發行了omni 版本的USDT,波場上有TRC20 版的USDT,在BCH 上有slp 版的USDT……
USDT 的ERC20 和TRC20 版本都是採用智能合約來發行,即Tether 公司在以太坊上寫了一個代碼並部署在以太坊網上,波場也一樣。
智能合約代碼就可以定義所有的USDT 規則,其中就可以包括黑名單禁用地址。任何USDT-ERC20 的轉賬是要依賴於USDT-ERC20 這個合約代碼的執行。這就非常容易在代碼裡設定黑名單規則。
智能合約代碼寫的規則不是以太坊的共識規則,比如USDT-ERC20 合約是無法禁止其黑名單地址接受和花費以太幣及其他代幣。一個合約只能夠禁止合約自己的代幣。只要你持有一個地址的私鑰,那你還是可以花費上面的ETH,哪怕是該地址在USDT-ERC20 的黑名單地址上。
一個智能合約的規則是由項目方來定義的,這不是以太坊的共識規則。所以一個智能合約發行的代幣的信用和價值是要依賴於項目方的。項目方有能力也有權通過合約代碼來定義其代幣。
以太坊上的智能合約是不可篡改的(理論上是可以改,但很難,目前以太坊社區公認為合約規則不可隨便改)。一個合約發布後,其代幣規則就定義好了。 USDC 和USDT 的黑名單功能是在合約發佈時定義好的。
BTC 的omni 和BCH 的SLP
USDT-omni 和USDT-slp 這兩個版本的USDT 不是使用智能合約技術,採用的是比特幣的Op-return 字段附代特殊信息的技術。
Op-return 是BTC 和BCH 的交易輸出的一種,這是比特幣交易的一部分,這是比特幣協議的共識規則。
Op-retrun 在功能上相當於寫備註信息的小紙條,就像你在銀行轉賬時的備註信息一樣。
Omni 和slp 協議都是在交易的op-return 字段裡填寫信息來實現代幣功能的。 omni 和slp 代幣的交易都是BTC 和BCH 交易中的交易。你要發一筆omni 代幣交易,是要在發一筆比特幣交易里內置一筆omni 代幣交易,slp 交易也一樣。
所以說,omni 和slp 交易是「交易內的交易」,這些交易都要遵守比特幣協議規則。
opreturn 裡的信息具體寫的是什麼,比特幣協議是不管的。使用omni 和slp 協議來發代幣,則是將代幣規則寫進opreturn 裡。所以代幣規則是受omni 和slp 協議的約束,而omni 和slp 協議也是需要寫一套代碼來追踪和檢查代幣交易是否遵守規則。
理論上,omni 和slp 協議也可以內置地址黑名單功能,但是這兩個協議都已經寫好了,並且已經獲得了BTC 和BCH 的共識,協議裡不帶黑名單功能。
所以我們看不到Tether 公司推出USDT-omni 的黑名單地址。
ETH-智能合約和omni\slp
以太坊的智能合約是由第三方書寫並發布的,合約代碼規則是由項目方決定。使用智能合約發行代幣,項目方有權有能力決定代幣的功能,包括黑名單。
而omni 和slp 協議,是BTC 和BCH 的第二層協議,協議已經定義好了,已經成了網絡共識的一部分。使用omni 和slp 協議來發代幣,絕大多數功能是受到了協議的約束,遠不如智能合約那麼靈活。
所以你看omni 和slp,本質上就只有孤零零的發幣功能。雖然理論上omni 定義好了交易功能,但我們根本看不到產品。理論上slp 協議也定義好了非同質化代幣(ERC721)功能,但我們也沒看到產品。這都是因為協議定死了,留給開發者的發揮空間太窄。
而反觀智能合約,允許開發者使用代碼實現任何想像。這也是我們看到了以太坊上什麼亂七八糟的項目都有,如DApp,DeFi 這些名類繁多的產品。
但同時也意味著和智能合約代幣對比,omni 和slp 協議的代幣,發行方的權力更小,代幣用戶的權力更大。用戶使用omni 和slp 代幣不用擔心被列入黑名單。
礦工黑名單
這是不是意味著USDT-omni 和USDT-slp 絕對不可能被拉黑呢?
理論上不是的。
比特幣和以太幣,任何轉賬,包括BTC 交易,ETH 交易轉賬,以及各種代幣的轉賬,所有的轉賬都是由礦工挖礦發佈區塊來打包,最終確認交易完成。
用戶可以構建交易,將自己的幣發給任何地址,但礦工如果不打包的話,那這筆交易就會被作廢。
所以如果想拉黑USDT-omni 和USDT-slp,就可以通過礦工體係來拉黑。讓礦工全體維持一個黑名單地址。
但比特幣和以太坊的挖礦是開放的,是去中心化的,而且是匿名的,很難有一個辦法讓全體礦工共同維持一個黑名單。哪怕是聯合國出面並執法,都很難行的通。
幣安交易所曾經被黑客盜走7000 個BTC,老闆趙長鵬發推特希望比特幣礦池幫忙凍結並回滾黑客的交易。結果是得到了全體幣圈的嘲笑。
改協議建黑名單
還有一種辦法凍結幣,改協議。以太坊在2016 年的The DAO 硬分叉,本質上也是通過改協議來實現對幣的所有權的更改。
想要改協議,不但要徵得開發者的同意寫代碼,還得徵得礦工的同意來更新軟件,還要徵得交易所來配合,還要用戶最終還能接受新的協議。
對於一個成功去中心化的幣,想通過改協議來實現幣的凍結是太難了,只存在理論上的可能性。
USDT 借助omni 協議非常成功,一個重大的特性就是匿名化。 USDT-ERC20 可以被凍結了,不知道會不會引髮用戶對USDT 的不信任。
作為USDT 用戶,我覺得還是優先接受不可被凍結的版本為好。

