The rlp encoded transaction that is stored in the ethereum database does not include the from
address. How is the from
address known and how is it associated to the rlp transaction data when retrieving a historic transaction ?
1 Answer
The encoded transaction when decoded has properties v, r and s.
{
"nonce": "0x0",
"maxFeePerGas": "0x1234",
"maxPriorityFeePerGas": "0x1234",
"gas": "0x55555",
"to": "0x07a565b7ed7d7a678680a4c162885bedbb695fe0",
"value": "0x1234",
"input": "0xabcd",
"v": "0x26",
"r": "0x223a7c9bcf5531c99be5ea7082183816eb20cfe0bbc322e97cc5c7f71ab8b20e",
"s": "0x2aadee6b34b45bb15bc42d9c09de4a6754e7000908da72d48cc7704971491663",
"hash": "0xeba2df809e7a612a0a0d444ccfa5c839624bdc00dd29e3340d46df3870f8a30e"
}
From this you can compute the public key of the sender, and then the address.
To compute the public Key check this answer.