2

If someone sends a transaction to the network, let's say they execute the transfer function on a solidity contract, is there any way for someone to see their interaction with the contract? Meaning the amount and whom they sent it to? A sort of way like XSS scripting to act as a go-in-between? To peer inside and see what's going on? Can miners see or decrypt transactions?

1

Of course everyone can see the transaction contents, because it is not encrypted by the sender and decrypted by the receiver, but signed by the sender and verified by the receiver.

The difference between these two schemes is this:

  • In the encryption/decryption scheme, everyone can encrypt the message (using a publicly known key), but only the receiver can decrypt it (using his/her private key)
  • In the signature/verification scheme, only the sender can sign the message (using his/her private key), but everyone can verify it (using a publicly known key)

Subsequently, this means that:

  • In the encryption/decryption scheme, only the receiver can see the message contents
  • In the signature/verification scheme, everyone can see the message contents

In case you were wondering, the fact that everyone can see everyone else's transactions is actually a crucial part of the blockchain's idea and one of its basic concepts - security is achieved via exposure instead of via concealing. In other words, the fact that everybody knows what the data should be, makes it is very hard for one malicious user to change it.

| improve this answer | |
  • Let's assume a large network. Assuming many transactions, can anyone see all these transactions across the ethereum network and different miners? Is it because subsequently someone can look through the signature/verification scheme someone can see all the message contents of whom sent to whom? So as a past reference, someone can go back and see all transactions sent to a contract/token. – Nik Loladze Mar 8 at 7:36
  • @NikLoladze: Yes. Everyone can see everyone else's transactions. In fact, that (transparency) is a crucial part of the blockchain's idea and one of its basic concepts - security (integrity of the data) is achieved via exposure instead of via concealing (i.e., everybody knows what the data should be, so it is very hard for one malicious user to change it). – goodvibration Mar 8 at 7:40
  • Are there any tools for this? So retroactively, everything can be read. What about in a present state. Let's say, there are thousands of people in a network and to read state of each individual, would require an active call to each participant. Through obscurity would this work and then retroactively someone would be able to read the state of each person in the network? – Nik Loladze Mar 8 at 7:48
  • @NikLoladze: Yes, etherscan.io (and also Google Big Query I believe, but that one is most likely a paid service). – goodvibration Mar 8 at 7:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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