Encryption

在 Etherscan 上加密和未加密數據的外觀如何?

  • July 19, 2022

我想了解在將敏感數據發送到乙太坊智能合約之前對其進行加密的重要性,以及與我們不加密它們的情況相比它的顯著優勢。

案例 1:無加密 例如,在我們想在乙太坊區塊鏈上註冊學位的案例中,可能需要學生的出生日期、出生地、父母姓名等數據來註冊認證。

  1. 如果這些數據沒有加密,任何人都可以查看它們嗎?例如,在 Etherscan 上,有人可以看到確切的出生日期、出生地點等嗎??
  2. 如果是這樣,他們是否將其視為普通的人類可讀文本?

案例 2:在第二種情況下,假設我們在將上述數據發送到智能合約之前對其進行加密。假設我們使用了一個 javascript 庫來做到這一點。

  1. 現在,如果有人試圖在 Etherscan 中查看此交易,他們會看到什麼?例如,諸如任意字元串之類的東西不能深入了解它的含義?

提前謝謝你,尼古拉斯。

區塊鏈上的所有數據都被視為純文字,任何人都可以自由訪問。因此,如果有人想讀取未加密的數據,它將以純文字形式顯示。包括出生日期和所有其他數據。數據的編碼方式可能有點奇怪,但任何知道自己在做什麼的人都可以輕鬆地對其進行解碼。

例如,這是我從 Etherscan 中挑選的一個隨機交易:https ://etherscan.io/tx/0x9b12db4b430e1fff1843427d2a27b838de15587ef901a2ad485a299ae7f7ffc2 。The original input data is actually close to 0xa22cb4650000000000000000000000001e0049783f008a0085193e00003d00cd54003c710000000000000000000000000000000000000000000000000000000000000001 , but Etherscan does a lot of the decoding for you and therefore it can even display the function name for you.

區塊鏈不了解數據加密。它只儲存它給出的數據,所以它不知道數據何時加密,何時不加密。

如果您在將數據發送到區塊鏈之前對其進行加密,那麼每個人都會看到加密的字元串。很可能對他們來說是不可讀的,因為他們沒有解密密鑰。

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