IOTAs ternäres System - Was ist es und warum wird es benutzt?

in #cryptocurrency7 years ago (edited)

Es ist kein Zufall, dass genau 2.779.530.283.277.761 IOTA existieren oder das der Seed nur aus Großbuchstaben von A-Z und der Zahl 9 besteht. Das sind alles Folgen des verwendeten ternären Systems.

iota_ternary.png

Quelle: https://commons.wikimedia.org/wiki/File:IOTA.jpg, Author: Tiagodimas2, transformed, licensed under CC 4.0

Aber um ein ternäres System zu verstehen sollten wir uns kurz klar machen wie der "Vorgänger", das binäre System funktioniert. Dieser Artikel ist ziemlich technisch, dennoch versuche ich nicht zu tief in die Materie zu gehen.

Das binäre System

Den Begriff hat sicherlich jeder schon gehört. In diesem System existieren nur die Ziffern 0 (Null) und 1 (Eins). Ein Bit (Binary Digit) kann als den Wert 0 oder 1 annehmen.

binary-3041674_640.jpg

source

Im Vergleich dazu hat unser im Alltag verwendetes Dezimalsystem genau 10 verschiedene Ziffern (0 bis 9). Jede Zahl die du dir ausdenkst kann aus einer Kombination aus diesen 10 Ziffern dargestellt werden. Und genau das Gleiche funktioniert auch mit binären Zahlen, allerdings ist es für den menschliche Gehirn deutlich komplexer diese zu lesen. Dafür werden Bytes verwendet. Ein Byte besteht aus 8 Bits (Beipsiel: 01111011).

123 (dezimal) = 01111011 (binär)

Die dezimale Zahl 123 kann also genau so als 01111011 im binären System dargestellt werden. Auf die genaue Umrechnung möchte ich jetzt nicht eingehen. mehr erfahren

Warum verwenden alle Computer das binäre Zahlensystem?

Um es einfach zu halten: Ein 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 mit digitaler Elektronik. Digitale Elektronik nutzt das Binärsystem (EIN/AUS). Ein Signal mit einer Reihe von EIN/AUS-Impulsen ist gleich einer Binärzahl (1/0).

  • Zwei klar voneinander getrennte Zustände, die einen Sicherheitsbereich für Zuverlässigkeit bieten.
  • Geringstmögliche Anzahl an notwendigen Schaltkreisen, was sich in geringstmöglichem Platzbedarf, Energieverbrauch und Kosten niederschlägt.

Das ternäre System

Beim ternären System kommt eine weiterer Wert hinzu. Ein Trit (Trinary Digit) kann also drei Werte annehmen. Hier muss zunächst zwischen dem gewöhnlichen

  • unbalancierten ternären Systems mit den Werten 0, 1 und 2 und dem
  • balancierten ternären Systems mit den Werten -1, 0 und 1

unterschieden werden. IOTA verwendet letzteres, weshalb in diesem Artikel auch nur dieses verwendet wird. Ähnlich zum Byte existiert im ternären System ein Tryte, welches aus drei Trits besteht (Beispiel: -1, 1, 0). Anstatt -1 wird häuft ein T benutzt, also T, 1, 0.

1 Tryte = 3 Trits = 3^3 Kombinationen = 27 Kombinationen

Da ein Tryte aus 3 Trits besteht und jedes Trit drei verschiedene Werte haben kann (T, 0, 1), so ein kann ein Tryte insgesamt 27 verschiedene Kombinationen haben.

Wie genau Trytes in Bytes oder Dezimalzahlen umgewandelt werden können ist für diesen Artikel eher uninteressant. Bei Interesse empfehle ich euch dieses (englische) Video.

Trytes leserlicher machen

wood-cube-473703_640.jpg

source

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.

Das Tryte-Alphabet

Hier ein Auszug:

TryteDezimalzahlZiffer
0, 0, 009
1, 0, 01A
-1, 1, 02B
...... 3-12...C-L
1, 1, 113M
-1, -1, -1-13N
0, -1, -1-12O
...... -11 - -3... P-X
1, -1, 0-2Y
-1, 0, 0-1Z

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^81 Kombinationen. Das sind ~8.71 * 10^115 Kombinationen. Also deutlich mehr als es Atome im gesamten sichtbaren Universum gibt. Die Wahrscheinlichkeit da einen Seed zu erraten is praktisch 0. Selbst Bitcoins Private Key sind praktisch ebenfalls nicht zu erraten und diese haben "nur" 2^256 = ~1.15^77 Kombinationen. Bei Quantencomputern und der Rückrechnung von Adressen auf Seeds bzw. Private Keys hat da IOTA aber die Nase vorn durch die deutlich gesteigerte Anzahl an Möglichkeiten im Vergleich zu Bitcoin.

Warum gibt es genau 2.779.530.283.277.761 IOTA?

Diese hat ebenfalls etwas mit den Trytes zu tun. Wie ihr oben der Tabelle entnehmen konntet "balancieren" sich Trytes um den Wert 0. Im obigen Beispiel von -13 bis 0 und bis +13. Daher auch der Begriff balanced trinary system. Bei dem Beispiel hatten wir 27 Kombinationen und den maximalen Wert 13. Dieser kann auch mathematisch berechnet werden:

(3^3 - 1) / 2 = 13

Drei Kombinationen bei drei Trits (1 Tryte).

Nun gehen wir mal von 33 Trits aus:

(3^33 - 1) / 2 = 2.779.530.283.277.761

Überprüft es mit dem Google Rechner.

Exakt die Anzahl der maximalen Supply. Warum man allerdings 33 Trits und nicht mehr oder weniger benutzt hatte ist unklar. Es war auf jeden Fall wichtig eine hohe Anzahl an Coins zu erschaffen, da sie für Mikrobezahlungen zwischen Maschinen genutzt werden solle und dabei sind hohe Preise sehr hinderlich.

Warum verwendet IOTA überhaupt ein ternäres System?

Ja das ist die wirklich Interessante Frage! Beim binären System habe ich ja gesagt, dass dies für Computer ein gutes System sei:

  • Zwei klar voneinander getrennte Zustände, die einen Sicherheitsbereich für Zuverlässigkeit bieten.
  • Geringstmögliche Anzahl an notwendigen Schaltkreisen, was sich in geringstmöglichem Platzbedarf, Energieverbrauch und Kosten niederschlägt.

Aber ternäre Systeme sind noch besser. Sie wurden nur bisher nicht verwendet, da die Umsetzung (Hardware, nicht Software) viel komplexer ist, da man plötzlich einen weiteren Zustand hat. Ist diese Umsetzung aber einmal gelungen so sind diese Prozessoren deutlich energiesparender und viel leistungsstärker. Und das ist beides wie geschaffen für IOTA, denn diese konzentrieren sich auf das IoT, also kleine Geräte, die aber durch das benötigte Proof-of-Work relativ hohe Rechenleistung aufbringen müssen. Solche Geräte möchte man nicht jeden Tag eine neue Batterie einlegen wollen oder ewig warten bis sie mal etwas bezahlt haben. Und ja es gibt derzeit noch keine ternären Prozessoren, aber IOTA produziert diese mit Jinn "in naher Zukunft". Mal schauen was uns Projekt "Q" bringt :)

Ideen, Anregungen, Fragen? Hinterlasst einen Kommentar :)

Falls ihr noch mehr erfahren wollt oder euch dieser Artikel zu oberflächlich war empfehle ich die YouTube Playlist von Mobilefish.com (englisch). Hier geht es nich nur um Trits und Trytes, sondern um das gesamte IOTA Projekt und auch wenn es teilweise sehr technisch ist hat es mir beim Verständnis wie IOTA funktioniert sehr weitergeholfen.


steem-bio-chkoenig.png

undrlvlcrypto.png upcmevents.png

upvote.png

Sort:  
Loading...

Sehr guter, ausführlicher Artikel. Ich freue mich immer, wenn jemand dazu beiträgt IOTA bekannter zu machen.

Und ja es gibt derzeit noch keine ternären Prozessoren, aber IOTA produziert diese mit Jinn "in naher Zukunft". Mal schauen was uns Projekt "Q" bringt :)

Für mich klingt das auf den ersten Blick sehr riskant.

Wie die oben geschrieben hast hat das duale System Vorteile durch die "Einfachheit". Es gab ja schon Computer (damals eher Rechenmaschinen) die mit mehr als zwei Zuständen umgehen konnten. Die arbeiten aber nicht so zuverlässig, und stehen heute im Museum.

Die eigentliche Frage ist doch ob es wirklich das ternäre System sein wird, das das duale System ablöst. Gibt es da Anzeichen dafür?

Es könnten auch Quaternäre, Quinäre, Senäre usw. möglich sein. Vielleicht geht es bis zu unserem Denären Dezimalsystem oder sogar zum Hexadezimalsystem, oder noch weiter.

Letztendlich wird das durch eine Abwägung von Aufwand im Vergleich zu den darstellbaren Werten entschieden werden. Was wenn ein größerer Player wie z.b. IBM einen Hexadezimal-Chip entwickelt?

War die trenäre Programmierung dann umsonst?

Danke für die Antwort. Du lieferst da einen guten Einwand und sehr interessante Fragen! Ich kann dir hier keine konkreten Antworten geben, aber ich denke deine Fragen sind sowie rhetorisch. Sie regen mich definitiv an hier ein bisschen tiefer zu graben! Sie machen mich nachdenklich, was passiert, wenn das ternäre System wirklich scheitert? Ist es dann mit IOTA auch vorbei?

schöner Artikel!
resteemed

Vielen Dank :)

Loading...

Top Artikel, sehr professionell !

Congratulations @chkoenig! You received a personal award!

1 Year on Steemit

Click here to view your Board

Support SteemitBoard's project! Vote for its witness and get one more award!

Congratulations @chkoenig! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Congratulations @chkoenig! You received a personal award!

Thank you for the witness votes you made to support your Steem community and for keeping the Steem blockchain decentralized

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

Use your witness votes and get the Community Badge
Vote for @Steemitboard as a witness to get one more award and increased upvotes!