In the Tronix contract code (a large ICO listed on many exchanges) lies this modifier which is used for all token transfers :
modifier validAddress {
assert(0x0 != msg.sender);
_;
}
The code is written by serious professionals : not the kind of Ponzi scheme coder leaving useless code that cost money to everyone while processing transactions. As the contract is no longer maintained, developers are no longer replying on such questions (mailto:service@tron.network).
The point is msg.sender
is set by the network : contract cannot act on that value.
Most of time unofficial answers I’m getting is it’s indeed possible to send transactions as 0x0
: that is Keccak256(ECDSASIGN(transaction_data_to_sign,e, c, v)[1:])[12:]
where Secp256k1
is used would returns NULL.
So… First, are there known keccak256 values that would return NULL once truncated or does NULL involve bruteforcing like all other values ?
0x0
is some kind of special value. That would also mean this is not a cryptography question. $\endgroup$ – Ruben De Smet Jun 9 '18 at 16:59