Weekly design meeting, #16 (simple attestation format)

Good idea, except we can't use 1003 - let's keep the version element taking only 1 octet in general. Gas is expensive.

Let's use 0x𝑎𝑏 where 𝑎 is the attestation version and 𝑏 is the x.509 version. This gives us an upper limit of 16 versions. Should that not enough, we can always use the next 1 bis for smaller revision numbers.

0x00 -> attestation version 1
0x02 -> attestation that can act as X.509 v3
0x10 -> attestation version 2
0x12 -> attestation version 2 based on X.509 v3

If by the time we made version 5, we realised that 16 versions are not going to be enough, we may invade another bit, and make the next version 5.1:

0x4A -> attestation version 5.1 based on X.509 v3 

(0xA is 1010 in binary, where the first 1 bit is the minor versions for attestations)

I'll ignore the minor inconsistence that the major version 1 is encoded 0 while the minor version 1 is encoded as 1, since it's a future problem that may or may not manifest.