I want to save my passwords and some other personal data on a ethereum like blockchain. it seems more persistant to me. I may lose my e-mail , my pc may crush and I may lose my usb stick. But nothing will happen to a blockchain.

I will encryp it and put require(msg.sender,myaddress); to even read functions. But still is there a way someone else can retrieve these information as it would be very bad because they could just easily login to my wallets with that info and steal funds.

  • 1
    We don't need to invoke your contract functions in order to read your contract data (state variables). Oct 24, 2020 at 17:34
  • even if they aren't public? how would you do that?
    – lazyCoding
    Oct 24, 2020 at 17:50

1 Answer 1


There is nothing secret in Ethereum blockchain. So, yes, it would be an extremely bad idea to store password there.

Even if a variable is private it only means it can't be read directly by other smart contract. But everyone outside the blockchain can get the data if they want to. There are two approaches:

  1. See what transactions the contract has received and read their data (that data can't be hidden)

  2. Analyze the contract state from your client (a lot more difficult approach)

  • Then how does Storj work? I thought saving encrypted data on the blockchain was already an established use case. Apr 26, 2022 at 8:34
  • no idea how storj works. Apr 26, 2022 at 13:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.