I am trying to understand how the Address Look Up Tables work under the hood. I understand that you can include multiple transactions, cause address are kinda referenced by a 1 byte 'pointer' or something similar. The thing I don't understand is how. And also I don't understand if a look up Table is extended let's say with an array x which contains 22 keypairs. Why in the case when I send a transaction of transferring solana to other 22 keypairs, and I add that transaction in the lookup table, I get an error.
My assumption, is a lookup table references 22 addresses by 1 byte. I assume there is a starting point or transaction, and the next ones have an offset that is between 0-255, otherwise I can't understand how this could be implemented and works under the hood.