Contract-Development
區塊鏈中的加密數據和數字簽名?
假設 Alice 在使用 Bob 的公鑰加密的區塊鏈上發布了一些數據。Bob 然後解密數據。稍後 Bob 想證明他是該數據的所有者,即他想證明他是唯一可以解密該數據的人。網路中的每個人都必須能夠驗證這一點。是否可以通過數字簽名實現這一點?如果是這樣,我應該如何使用它們?
Bob 是唯一可以解密該數據的人 <=> Bob 是唯一擁有私鑰的人。
後一種說法可以通過簡單地讓 Bob 提供一個商定消息的簽名(例如使用“eth_sign” )來證明。生成的簽名可以用他的公鑰來驗證(例如,Etherscan 有一個 UI 可以很容易地檢查這個驗證過程)。
這證明 Bob 擁有與數據最初加密時使用的公鑰配對的私鑰。
散列是指獲取任意數量的輸入數據,對其應用某種算法,並生成稱為散列的固定大小的輸出數據的概念。輸入可以是任意數量的位,可以表示單個字元、MP3 文件、整本小說、銀行歷史電子表格,甚至整個網際網路。關鍵是輸入可以無限大。可以根據您的需要選擇散列算法,並且有許多公開可用的散列算法。關鍵是該算法採用無限的位輸入,對其進行一些計算,並輸出有限數量的位。例如,256 位。
謝謝