Security

如何證明 NFT 元數據是由發行人編寫的?

  • November 25, 2021

我想問一個有點類似於某人如何證明他們是 NFT 的創造者的問題?

在這種情況下,NFT 已經被鑄造了。根據 ERC721 標準的描述,它確實包含一個包含此 NFT 元數據的 URI(Web 或 IPFS,與本範例無關)。

我的問題是,鑑於此元數據,如何證明它是由與 NFT 發行者相同的一方編寫的?我試圖在EIP-721 標准文件中編寫的元數據格式描述中找到某種簽名欄位,但我無法得到答案。

我的動機是,我想像如果 URI 只是一個網路連結(因此元數據內容變得可變),那麼這種攻擊尤其具有威脅性。第三方可以通過一種中間人攻擊來注入虛假的元數據 JSON 對象。如果沒有發行者簽名,接收者無法證明元數據來自 NFT 的發行者。

我想我一定錯過了什麼。任何澄清表示讚賞!

如果錢包的操作建構正確,那麼鑄幣交易的內容由發送方的賬戶簽名,如果交易內容受到 MIM 攻擊,您將違反發送方賬戶的正確簽名並且交易不會被執行。

為了保護 NFT 元數據,必須在鑄造期間簽署的契約內容中包含其雜湊值。這可以通過對 NFT 元數據(例如 IPFS)使用內容定址的不可變儲存或通過在合約中明確包含元數據雜湊來完成。或者,對象的雜湊值可以包含在指向它的 URI 中——它將是 2 合 1

引用自:https://ethereum.stackexchange.com/questions/114174