Dapps
乙太坊是否提供加密的點對點通信應用程序?
我想知道乙太坊是否可以用於加密的點對點通信,例如在兩方或多方之間批量傳送加密短消息或加密數據。
有沒有我可以查看的範例或應用程序?
在https://github.com/ethereum/wiki/wiki/Whisper-Overview查看 Ethereum Whisper 協議中的案例部分:
shh.post({ "topic": t, "payload": p });
無簽名,無加密:匿名廣播;有點像匿名主題過濾的 Twitter 提要。shh.post({ "from": myIdentity, "topic": t, "payload": p });
開放簽名,不加密:明文簽名廣播;有點像普通的 twitter 提要——任何感興趣的人都可以看到一個特定的身份正在向任何人發送特定的東西。shh.post({ "to": recipient, "topic": t, "payload": p });
無簽名,加密:加密匿名消息;有點像匿名投遞箱 - 郵件對投遞箱的所有者是私有的。他們無法分辨出這是誰。shh.post({ "from": myIdentity, "to": recipient, "topic": t, "payload": p });
秘密簽名、加密:加密簽名消息;就像一個安全的電子郵件。一個身份告訴另一個身份——沒有其他人能讀懂它。只有收件人知道它來自發件人。shh.post({ "from": myIdentity, "to": recipient, "topic": t, "payload": p, "deniable": d });
秘密簽名,具有可選的似是而非的可否認性的加密。如果布爾參數 d 為 false,則相當於之前的呼叫。如果 d 為真,則收件人無法向任何第三方證明消息來自發件人,但仍可以自己驗證。這是通過在對稱會話加密密鑰而不是消息正文上計算數字簽名來實現的。在下面回复您的評論
引用什麼是加密/解密儲存在智能合約中的數據的有效技術
Péter Szilágyi
?:由於區塊鏈上的所有交易和數據都是公開的,因此您需要在乙太坊之外加密數據並插入已經加密的數據。同樣,您需要提取加密數據並在本地解密。我確信有很多用於 javascript 的加密庫可以讓你這樣做,我懷疑 web3 包含這樣的功能,因為它超出了它的範圍。
並引用Can smart contract 計算加密數據嗎
dbryson
?:如果我正確理解您的問題,您所指的是所謂的安全多方計算,這不是智能合約的目前能力。事實上,這是一個具有挑戰性的問題,最好在區塊鏈之外完成,因為它可能是計算密集型的。我建議初學者先看看 MIT 的 enigma 和 openPDS 項目。我還沒有看到乙太坊中此功能的任何計劃里程碑。
您可能還想查看以下內容:
- MIT Enigma 項目在http://enigma.media.mit.edu/
- 乙太坊 ecrecover 簽名驗證和加密