What is the maximum size of single (i)SCSI LUN from perspective of SCSI protocol, what is the limit?
The answer would appear to be heavily dependent on the generation of the SCSI protocol, as it has gone through a handful of revisions through its days of glory.
First, 512 bytes = 2^9 bytes.
The earliest SCSI protocols used 21-bit LBA. Using 512-byte blocks, this gives 2^21 * 2^9 bytes or 1 GiB addressable space. (2^21 * 2^9 = 2^30.) (source)
Newer SCSI variants allow for 32-bit LBA addresses, which gives you 2^41 bytes (2 TiB) addressable. (source) But also see below.
Current in ATA is LBA48, or 48-bit LBA, although I cannot find any definitive statement on whether any current variant of SCSI uses 48-bit LBA. (It makes sense, though, and some Googling provides some fairly strong indications that such is the case. If anyone has a definitive source either way, please comment.) This gives you 2^57 bytes (128 PiB) addressable over the protocol itself, assuming 512 byte blocks. If we are allowed to raise this to 4096 (2^12) byte blocks, that becomes 2^60 bytes = 1 EiB.
According to a comment left by JdeBP, in SCSI, 64-bit LBA support has been mandatory since the turn of the century. With 512 byte sectors and 64-bit addresses, that gives us 2^73 bytes addressable, or 8 ZiB. A ZiB is 1024^3 TiB.
So the realistic answer with current generation hardware is probably either 8 ZiB or 128 PiB maximum LUN size addressable over (i)SCSI, with the former being more likely.
While a total storage capacity of 128 PiB is possible to approach in really large setups, 8 ZiB seems to me to be well out of pretty much anyone's reach for now. Using these newfangled 8 TB drives, that would require approximately 1000^3 = 10^9 drives, for a power requirement for just keeping them spinning of approaching 10 MW.