Privacy

查看乙太坊交易中的內容

  • March 8, 2020

如果有人向網路發送交易,假設他們在solidity合約上執行傳輸功能,有沒有辦法讓某人看到他們與合約的互動?意思是金額和他們寄給誰?一種像 XSS 腳本那樣充當中間人的方式?窺探內部,看看發生了什麼?礦工可以查看或解密交易嗎?

當然大家都可以看到交易內容,因為它不是由發送方加密,接收方解密,而是發送方簽名,接收方驗證。

這兩種方案的區別在於:

  • 在加密/解密方案中,每個人都可以加密消息(使用公開的密鑰),但只有接收者才能解密(使用他/她的私鑰)
  • 在簽名/驗證方案中,只有發送者可以對消息進行簽名(使用他/她的私鑰),但每個人都可以驗證它(使用公開的密鑰)

隨後,這意味著:

  • 在加解密方案中,只有接收方可以看到消息內容
  • 在簽名/驗證方案中,每個人都可以看到消息內容

如果您想知道,每個人都可以看到其他人的交易這一事實實際上是區塊鏈理念的關鍵部分,也是其基本概念之一——安全性是通過暴露而不是通過隱藏來實現的。換句話說,每個人都知道數據應該是什麼這一事實使得惡意使用者很難更改它。

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