IOTA seeds consist of 81 trytes. Assuming a balanced trinary system, the tryte domain is $[-1, 0, 1]$. The maximum decimal number of a single tryte is 13, because $1\cdot3^0 + 1\cdot3^1 + 1 \cdot 3^2 = 13$. Consequently, I would need 4 bits to store a tryte.

I am wondering how many bits are necessary to store a IOTA seed. The maximum decimal number of an IOTA seed would be $x = \sum\limits_{i=0}^{80} 3^i $. The number of necessary bits would be $log_2(x)$, which is quite large.

Is this calculation correct?

  • While the maximum value is 13, the minimum value is not 0 but -13, so you have a total of 27 values and need 5 bits and not 4 to store a tryte. – mihi Oct 30 '18 at 22:21
  • IOTA seeds consist of 81 trytes?? Programmatically I can create a Seed consisting only of 2 TRYTES. 1 TRYTE is not possible since there is a mechanism to go through a Seeds address space on the first TRYTE. – instantlink Nov 17 '18 at 17:43

You are confusing trits and trytes, see this for details.

A (balanced) trit is something that can represent an element of the set $\{-1,0,1\}$ but a tryte is an element made by 3 trits. As such, it can represent $3^3=27$ values. It follows that 81 trytes can represent $27^{81}$ values and you would need $\lceil \log_2(27^{81}) \rceil=386$ bits to represent that space.

However it could be simpler to represent a trit as two bits, a tryte as 6 bits, and therefore a seed as $6*81=486$ bits as this would be simpler to convert to/from ternary.

| improve this answer | |
  • 1
    Or a tryte as 5 bits (instead of 6). – mihi Oct 30 '18 at 22:21

I do not get why one trit would be able to store 13 decimal values. The difference between trit and bit is that bit can store 2 possible values (thus base 2) and trit can store 3 possible values (base 3).

The calculation $log_2(3^{81})$ seems correct (thanks Christoph).

| improve this answer | |
  • You want $log_2(3^{81})$ without the extra summ around. – Christoph Egger Oct 30 '18 at 15:37
  • Yes, you are right, $3^{81}$ is the maximum decimal number. – Damian Oct 30 '18 at 15:41
  • A balanced tryte can store 27 values. However, 13 is the largest decimal one, because 1*3^0 + 1*3^1 + 1*3^2 = 13. The domain of a balanced tryte is [-13, 13]. – null Oct 31 '18 at 7:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.