I've noticed a few transactions that have zero-length input and/or output scripts. There's a couple examples in block 0000000000000159a27442ee8b7f9ffad0cd799b003eafe007de9fbb47bd6ce7:

Txs: cdb553214a51ef8d4393b96a185ebbbc2c84b7014e9497fea8aec1ff990dae35, af32bb06f12f2ae5fdb7face7cd272be67c923e86b7a66a76ded02d954c2f94d


Is there ever a legitimate reason to create a transaction with a zero-length script? Should the protocol even allow it?

-Eric Lombrozo