I'm glad Nano finally has its own dedicated forum!
I'll start my contribution to this forum by coming with a protocol proposal and hear what you guys have to say about it.
My proposal is the following: Send and receive blocks should support multiple inputs/outputs.
With this I mean, for example, that one send block can contain a list of receivers and the corresponding amounts. So if I want to send 1 Nano to address A and 2 Nano to address B, the send block's account field will now be a list of A and B, and there can be a new field field called amounts for example which is a list of how much you want to send each address. So, in this case,
"account": [A, B],
"amounts": ['1', '2'] (should really be ['10^30', '2*10^30'] since you are sending raw)
Then one simply checks that the the balance of this block minus the balance of the previous block equals the sum of the amounts list.
Similarly, one could make receive blocks which receives multiple send blocks. Example: Your address has received two unpocketed transactions, so instead of making two receive blocks, you make one. This receive block will then have a list of links which are the hashes of the two send blocks. Then the new balance is simply the the sum of the previous block balance and the two send blocks you want to pocket.
This proposal will make it easier for exchanges and services since it requires less work to send and receive Nano. It would also be less information stored on the ledger since two or more blocks can be compressed into one (this block would of course be bigger than a normal block, but still smaller than multiple blocks).
So what do you guys think? Is there a reason why this can not be achieved. It would of course require some kind of fork which can be done through epoch blocks. Let me know what you think.