Dokumentation

Konzepte

Geschützte Pools, Assets, Gebühren, Memos, Blöcke und Validatoren sowie der Tauschpool.

Testnetz: Die Coins haben keinen Wert

Geschützte Pools und Noten

Ihr Guthaben auf Tint ist eine Menge von Noten. Eine Note ist ein Eintrag, verschlüsselt an eine Adresse, der sagt: „So viel von diesem Coin gehört Ihnen.“ Noten liegen als Commitments in einem Merkle-Baum auf der Chain, sodass niemand sie lesen oder erkennen kann, wem sie gehören.

Zum Bezahlen gibt Ihre Wallet einige Noten aus und erstellt neue: eine für den Empfänger und Wechselgeld für Sie. Sie beweist mit einem Halo-2-Beweis, dass ihr die ausgegebenen Noten gehören, dass sie existierten und dass die Werte stimmen, ohne zu sagen, welche Noten. Jede ausgegebene Note legt einen Nullifier offen, eine Marke, mit der das Netzwerk eine zweite Ausgabe derselben Note ablehnt, ohne zu erfahren, welche Note es war.

Die Wallet des Empfängers liest jeden Block und versucht, jede neue Note mit ihrem Viewing Key zu entschlüsseln. Eine Note, die sich entschlüsseln lässt, gehört ihm. Diese Probeentschlüsselung ist der Grund, warum ein Knoten nicht erkennen kann, für wen eine Zahlung bestimmt ist.

Assets

Ein Coin ist ein Asset mit einer Nummer. Asset 0 ist der native Coin TINT; Asset 1 ist der Test-Dollar TUSD. Eine Chain kann bis zu 16 Assets definieren. Jedes Asset ist sein eigener geschützter Pool: Eine Zahlung bewegt Noten eines Assets, und die Börse ist der einzige Ort, an dem zwei Assets aufeinandertreffen.

Beträge sind ganze Zahlen von Einheiten. Ein Coin sind 100,000,000 Einheiten (8 Nachkommastellen), der kleinste Betrag von TINT ist also 0.00000001.

Gebühren

Jede Aktion einer Zahlung zahlt eine Mindestgebühr, und die Gebühr wird in dem Coin gezahlt, den Sie senden. Sie brauchen nie einen zweiten Coin für Gas. Im aktuellen Testnetz beträgt das Minimum:

CoinGebühr pro Aktion
TINT0.00005
TUSD0.001

Eine Transaktion hat mindestens eine Aktion und höchstens 64. Die Wallet zeigt die genaue Gebühr vor der Bestätigung. Die Gebühr ist öffentlich.

Memos

Jede Note enthält ein Memo-Feld von 512 Byte, das zusammen mit der Note verschlüsselt wird. Schreiben Sie dort einen kurzen Text hinein, und nur die Wallet des Empfängers kann ihn lesen. Ein leeres Memo kostet nichts extra, denn jede Note hat das Feld ohnehin.

Blöcke und Validatoren

Tint ist Proof-of-Stake. Eine feste Gruppe von Validatoren einigt sich über einen BFT-Konsens (Simplex, aus der Bibliothek commonware) auf jeden Block. Ein Block ist endgültig, sobald sich die Validatoren auf ihn geeinigt haben: Man muss nicht warten, bis sich Bestätigungen ansammeln.

  • Ein Block mit Zahlungen entsteht, sobald es eine Zahlung gibt, die aufgenommen werden kann.
  • Eine ruhige Chain erzeugt etwa alle 5 Sekunden einen leeren Block, damit leere Blöcke nicht die Festplatte füllen. Eine Zahlung wartet nicht auf diese Pause.
  • Die Konsensparameter legen mindestens eine halbe Sekunde zwischen zwei Blöcken fest.
  • Die Validatoren werden im Genesis-Block gewählt und ändern sich noch nicht. Im öffentlichen Testnetz laufen alle vier auf einem Server.

Block-Belohnungen bezahlen die Validatoren: Das Testnetz beginnt bei 2 TINT pro Block, halbiert sich alle 15,768,000 Blöcke und pendelt sich bei einer Restbelohnung von 0,1 TINT ein.

Der Tauschpool

Die Chain hat einen eingebauten Pool, der TINT und TUSD gegeneinander handelt. Er folgt der Regel des konstanten Produkts (x · y = k): Der Preis ändert sich, wenn sich die beiden Reserven des Pools ändern. Der Pool behält 0,3 % des Eingezahlten, und die Gebühr bleibt im Pool.

Er beginnt mit 200,000 TINT und 100,000 TUSD, einem Preis von einem halben Test-Dollar pro Coin. Niemand betreibt den Pool, und seine Coins lassen sich nicht abheben: Er kann nur handeln.

Ein Tausch nennt das Minimum, das er akzeptiert. Hat sich der Preis des Pools so verschoben, dass er dies nicht mehr liefern kann, antwortet der Knoten mit price_moved, und nichts wird ausgegeben.

Grenzen

GrenzeWert im Testnetz
Aktionen in einer Transaktion64
Aktionen in einem Block2,048
Jüngste Roots, auf die eine Transaktion verankert sein darf1,000 Blöcke
Wie weit voraus eine Transaktion ihr Ablaufdatum setzen darf1,000 Blöcke