[Ethereum] a “raw transaction” and what is it used for

raw-transaction

I come across a lot of posts on Ethereum Stack Exchange about "raw transactions" (more than 45 posts have this tag at the moment), but I don't really understand what it is. I have searched both Stack Exchange and the web and can't find a 101 explanation, with the exception of this one post where in answer to a question about the difference between raw transactions and other transactions, "eth" defined a raw transaction as "a transaction in raw bytes." Being new to both computing and the blockchain world, that did not clarify all that much for me, and still left me wondering: What is a transaction "in raw bytes"? And what are they useful for? Most posts seem to be focused on how to generate or sign a raw transaction, get a raw transaction from Hash, parse one etc. I'd love to understand what it actually is and what it enables.

Best Answer

A transaction as defined in the Yellow Paper section 4.3 it consist of several fields (like gasPrice, value, etc). To store them in the blockchain they are encoded using the Recursive Length Prefix algorithm into a sequence of bytes. This sequence is called a raw transaction.

Basically a raw transaction is a machine representation of a transaction, with the signature attached to it.