Archiv Ternäres System


Ternäres System – Was ist das und besteht dadurch ein Vorteil?

Die ternäre Logik, die bei IOTA eingesetzt wird, zieht sich durch das gesamte Projekt. Angefangen bei dem ternären Mikrocontroller JINN, der Hash-Funktion Troika, oder dass der Seed nur aus Großbuchstaben von A-Z und der Zahl 9 besteht, bis hin zur Tatsache das genau 2.779.530.283.277.761 MIOTA Token existieren.

Bevor wir klären, warum IOTA auf eine ternäre Logik setzt, müssen wir uns zuerst die beiden Systeme etwas genauer anschauen, die für diesen Artikel relevant sind.

Das binäre System: Ein Bit (binary digit) kann genau zwei Zustände (2 x 1 = 2) annehmen: 0 und 1. Acht Bits ergeben ein Byte (28 = 256) und können somit 256 Kombinationen abbilden.

Das ternäre System: Ein Trit (trinary digit) kann genau drei Zustände (3 x 1 = 3) annehmen: -1, 0 und 1.
Drei Trits ergeben ein Tryte (33 = 27) und können somit 27 Kombinationen abbilden.

Die Gegenzahl jeder balancierten ternären Zahl, wird durch das Vertauschen jeder −1 durch 1 und umgekehrt ermittelt. Negative Zahlen können dadurch ebenso leicht dargestellt werden wie positive Zahlen, da im Gegensatz zum Dezimalsystem kein negatives Vorzeichen notiert werden muss. Dieser Umstand macht einige Berechnungen im ternären System, effizienter als im binären System.

Da Trytes noch komplexer als Bytes sind, ist es wichtig diese leserlicher zu machen. Dabei werden sie in eine Art andere Sprache umgewandelt. Hierfür hat das IOTA Development Team das Tryte-Alphabet erschaffen. Dieses besteht aus der Zahl 9 und den Großbuchstaben A-Z. Das macht insgesamt 27 verschiedene Ziffern, also genau die Anzahl der Kombinationen eines Trytes. Somit kann jede Kombination eines Trytes durch eine Ziffer dargestellt werden.

IOTA Seed: IOTA nutzt genau dieses Alphabet für den Seed, Adressen, Hashes etc.

Der Seed selbst besteht aus 81 Ziffern, also 81 Trytes. Beispiel:

CIIXLALQIZSAYXTYLOGYHMY9MSCDGCRXQFOHTZRXFRSFBQJJFFXRMVOJQWZJAILCKFSYEFWNLFWIHISEF

Jedes Tryte hat 27 Kombinationen. Damit hat IOTAs Seed 27^81Kombinationen = 8.7189642485960958 * 10^115. Das ist deutlich mehr als es Atome im gesamten sichtbaren Universum gibt. Die Wahrscheinlichkeit einen Seed zu erraten ist praktisch 0.


Zum Vergleich, die möglichen Schlüsselpaare beim Bitcoin betragen eigentlich 2^256 (elliptischen Kurve secp256k1), jedoch wird jeder Public Key noch einmal durch die Hashfunktion RIPEMD160 verschlüsselt, dies hat zur Folge, dass die möglichen Schlüsselpaare auf 2^160 komprimiert werden. Damit kommt der Bitcoin auf 1.4615016373309029 * 10^115 = 1461501637330902918203684832716283019655932542976 mögliche Schlüsselpaare.


Warum gibt es genau 2.779.530.283.277.761 IOTA Token?

Diese hat ebenfalls etwas mit den Trytes zu tun. Trytes “balancieren” sich um den Wert 0 und das von -13 bis +13. Daher auch der Begriff balanced trinary systemAls Beispiel haben wir 27 Kombinationen und den maximalen Wert 13. Dieser kann auch mathematisch berechnet werden:

((3^3) – 1) / 2 = 13, 27 Kombinationen bei drei Trits (1 Tryte).

33 Trits ergeben das maximale Supply: ((3^33) – 1) / 2 = 2.779.530.283.277.761 IOTA

PS: Es war wichtig eine hohe Anzahl an Token zu erschaffen, da sie für Mikrobezahlungen zwischen Maschinen genutzt werden sollen und dabei sind hohe Preise pro Token sehr hinderlich. Sollte es in ferner Zukunft, durch eine sehr hohe Nachfrage, nötig sein, die maximale Anzahl der Token zu erhöhen, so ist dies möglich. (Stichwort: Komma verschieben)


Warum ergeben genau 33 Trits das max. Supply?

Das Wertefeld in einer Transaktion ist 81 Trits lang, von denen 33 Trits aktuell verwendet werden. Es werden genau 33 Trits verwendet, weil festgelegt wurde (mutmaßlich von Cfb), dass die aktuelle max. supply die maximale positive Anzahl ist, die mit 33 Trits im balanced ternary dargestellt werden kann, was genau ((3^33) – 1) / 2 oder 2.779.530.283.277.761 ist.

Da 81 Trits für das Wertfeld reserviert wurden, kann bei Bedarf das max. Supply auf ((3^81) – 1) / 2 erhöht werden. In diesem Fall würde jeder derzeitige Eigentümer immer noch den gleichen Anteil am Gesamtwert besitzen, aber diese Beträge können nun in kleinere Einheiten aufgeteilt werden.

Hinweis: Eine genauere Ausführung gibt es im Themenbereich Token.


Warum verwenden derzeitige Computer das binäre Zahlensystem?

Zu den Anfangszeiten der Computertechnik wurden mechanische Rechenmaschinen durch elektrische Rechenmaschinen abgelöst, diese ersten Computer funktionierten mit Relais die auch nur die Zustände “an” oder “aus” annehmen konnten. Weil Relais aber mit einem hohen Anteil an mechanischen Bauteilen sehr störanfällig sind wurden diese durch Transistoren ersetzt, die ebenfalls nur die Zustände “an” oder “aus” annehmen (Spannung ein, Spannung aus). Da Transistoren ohne mechanische Bauteile auskommen, können sie in ihren Abmaßen sehr klein gefertigt werden.

Heutige Computer besteht aus vielen Verbindungen und Komponenten, die zur Übertragung und Speicherung von Daten sowie zur Kommunikation mit anderen Komponenten verwendet werden. Der größte Teil der Speicherung, Übertragung und Kommunikation geschieht heute mit digitaler Elektronik, diese nutzen immer noch das Binärsystem mit den zwei klar voneinander getrennte Zuständen an=1 und aus=0.

Binärsysteme werden immer noch wegen ihrer hohen Geschwindigkeit bei der Veränderung von Schaltungs-zuständen eingesetzt. Transistoren sind sehr schnelle und wirksame Schalter, im Zusammenspiel der Menge an Transistoren und der Art ihrer Zustände lassen sich schnell unterschiedliche Zeichen abbilden und Rechenoperationen durchführen. Der Nachteil ist: Um die Geschwindigkeit eines auf elektrischen Transistoren basierendem Chip zu erhöhen, muss man mehr Transistoren in diesen Chip verbauen. Dazu muss man entweder den Chip größer oder die einzelnen Transistoren kleiner herstellen. Derzeit tendiert man zu kleineren Transistoren, was aber den Nachteil der höheren Hitzeentwicklung, sowie höhere Fehleranfälligkeit mit sich bringt.


Vorteile eines ternären Systems

Ein System mit drei Zuständen, hätte insofern Vorteile, dass man auf andere Grundelemente statt Transistoren setzen könnte um effizientere ICs (integrierter Schaltkreise) herzustellen. Ternär ist effizienter, da es die höchste Dichte an Informationsdarstellung unter anderen ganzzahligen Basen (2,4…) aufweist. Im ternären System lassen sich also größere Zahlen in weniger Speicher unterbringen. So wäre die Dezimalzahl 6 im Binärsystem die Zahl 110 (benötigt 3 Bits), im ternären System nur noch 20 (eine Stelle weniger). Der Wirkungsgrad eines Nummernsystems zur Basis von 3 ist effizienter als zu 2 (etwa 1,58-fach effizienter). Man spart also Speicher und Berechnungen würden schneller ablaufen, bei geringerer Takt Zahl des Chips.


Der für ein ternäres System erforderliche Aufwand, um eine komplexe logische Schaltung innerhalb der CPU aufzubauen, kann auf etwa 36% gegenüber einem gleichwertigen binären System reduziert werden. Das führt neben einer platzsparenden kleineren Bauform des Mikrocontrollers zu einer entsprechenden Energieeinsparung. Ternäre Baugruppen wurden in der Computerbranche bisher nicht verwendet, da die Umsetzung der Hardware viel komplexer ist, zudem fehlt die breite Unterstützung des Massenmarkts. Ist diese Hardware Umsetzung, aber einmal gelungen so sind diese Mikrocontroller deutlich energiesparender und viel leistungsstärker als ihr binäres Pendant.

Mit dem Aufkommen, der in Massenproduktion gefertigten binären Bauteile für Computer wurden ternäre Rechner (die es zu der Zeit schon gab) leider zu einer kleinen Fußnote der Computergeschichte, obwohl das balancierte ternär System eine effizientere Zahldarstellung in der Mathematik darstellt als das Binäre. In den Siebziger Jahren wurde die Entwicklung ternärer Computer weitestgehend eingestellt, weil binäre Systeme sich schneller und billiger weiterentwickeln ließen. Wie des Öfteren in der Vergangenheit, hat sich im Laufe der Zeit nicht das technisch überlegende Konzept durchgesetzt, sondern das Konzept, welches von der Hardware am einfachsten und am billigsten für den damaligen Massenmarkt umzusetzen war. Es stellt sich die Frage, wo die ternäre Computertechnik heute wäre, wenn diese ebenfalls ständig weiterentwickelt worden wäre.

In Anbetracht der Eleganz und Effizienz der ternären Logik, wird von dem Experten Donald E. Knuth, ein Wiederaufkommen von ternären Computern in der Zukunft prognostiziert. Mögliche Wege, wie sich die Weiterentwicklung ternärer Computer in Zukunft gestalten könnte, ist auch die Kombination eines optischen Computers mit dem ternär System. Ein ternärer Computer unter Verwendung von Lichtwellenleitern könnte dunkel als 0 und zwei orthogonale Polarisationen von Licht als 1 und −1 verwenden.

Wer tiefer in das Thema einsteigen möchte, kann dies auf dieser Seite tun: The Ternary Manifesto (engl.)