Solidity

目前從合約發送加密消息的方法

  • November 1, 2019

我想了解目前是否存在將消息從契約發送到另一個契約或私人地址的方法?用於此的 Solidity 程式碼會是什麼樣子?也許事件可以用於此?

鑑於區塊鏈上沒有隱私,顯然每個人都可以閱讀該消息。所以我能想到的唯一方法是使用收件人的公鑰加密消息。

下面是一些相關的問題,但他們沒有我的問題的答案(看起來 Whisper 還沒有實現):

你不能讓乙太坊合約以明文開始並有意義地加密消息,因為所有合約執行都必須由網路中的所有節點驗證,所以正如你所說,每個人也必須能夠看到你的明文。

如果你想從合約的一個使用者向合約的另一個使用者發送消息,顯而易見的事情是讓合約為想要接收消息的使用者管理一個標識符——比如 PGP 指紋——然後發件人使用它在正常密鑰伺服器上查找他們的 PGP 公鑰,並使用它為他們加密消息。

您可能不希望加密消息實際傳輸到區塊鏈,除非它非常小,因為它會花費 gas,但您可能希望使用區塊鏈讓接收者知道在哪裡可以找到加密消息 - 例如,儲存加密的消息IPFS 中的消息,並讓發送者更新合約,讓接收者知道他們放在 IPFS 上的文件的雜湊值。

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