ZYCORD Doku
Deutsch
ZycordDokuGlossar

Glossar

Zertifikat, Fold, Skip, Underwriter, Zelle. Mehrere davon bedeuten hier etwas Engeres als anderswo, und ein paar benennen Ereignisse, für die die meisten Chains kein Wort haben.

Das Vokabular, das dieses Protokoll verwendet, in dem Sinn, in dem es das tut. Mehrere dieser Wörter bedeuten hier etwas Engeres als anderswo, und zwei davon — Skip und Drop — benennen Ereignisse, für die die meisten Chains kein Wort haben, weil sie keine Entsprechung dazu haben.

Zertifikat#

Der einzige Transaktionstyp in Zycord. Ein Zertifikat trägt den Zustand, den es gelesen, und den Zustand, den es geschrieben hat, dazu das Programm, das beide verbindet, die Signaturen, die es autorisieren, einen Underwriter, eine TTL und ein Gebot in jedem der beiden Gebührenmärkte. Weil es seine eigenen Eingaben und Ausgaben mitträgt, verlangt die Prüfung, ob es gültig ist, überhaupt keinen Zustand.

Fold#

Die deterministische Schleife, die das Ledger voranbringt. Sie durchläuft die Zertifikate eines Blocks in einer Gesamtordnung und prüft für jedes, ob seine deklarierten Reads noch gelten: tun sie es, schreibt sie die Writes fest, tun sie es nicht, überspringt sie es. Der Fold führt Vergleiche, Additionen und Schreibvorgänge auf einem heißen Key-Value-Arbeitssatz aus — keine Codeausführung, keine Signaturprüfung, keine erneute Ausführung und keine Arithmetik auf elliptischen Kurven. Er ist die einzige Stufe des Systems, die nicht parallelisiert.

Skip#

Was mit einem Zertifikat geschieht, dessen deklarierte Reads nicht mehr gelten. Seine Gebühr wird seinem Underwriter belastet, und der Block bleibt gültig. Skip ist Semantik, kein Fehlschlag: Aufnahme und Anwendung sind verschiedene Ereignisse, und genau das erlaubt es einem Block Producer, blind zu sein — er kann durch die Aufnahme eines veralteten Zertifikats nie einen ungültigen Block erzeugen.

Drop#

Ein nicht abgerechnetes Nicht-Ereignis, und der Begriff, den die Implementierung dem Vokabular des Whitepapers hinzufügt. Ein Zertifikat, das die Anwendung mit bereits verbrauchter Einlage erreicht, wird gedroppt: nicht abgerechnet, nicht als gesehen markiert und frei zur erneuten Einreichung gegen eine frische Einlage. Ehrliche Nutzer verlieren daher nichts durch Wettläufe auf ihrer eigenen Einlagezelle.

Underwriter#

Die Partei, deren hinterlegte Mittel für ein Zertifikat einstehen. Kein Zertifikat existiert ohne einen. Ein Skip darf nicht umsonst sein, sonst ersäuft der Mempool — aber das übersprungene Zertifikat hat das Guthaben des Absenders nie berührt, es gibt also nichts, was dem Absender zu belasten wäre. Der Underwriter ist das, was jedem Konflikt einen Eigentümer gibt. In Era 0 ist der einzige Modus selbstversichert: der Absender hängt eine kleine Einlage aus einer unbelasteten Zelle an.

Zelle#

Der Wert an einem Slot — eine vorzeichenlose 256-Bit-Ganzzahl, in 32 Bytes big-endian gespeichert. Null ist Abwesenheit: ein nie beschriebener Slot und ein auf null geschriebener Slot sind derselbe Slot. Das ist eine Konsensanforderung, keine Bequemlichkeit: es hält den State Root zu einer Funktion des Zustands statt der Historie, die ihn hervorgebracht hat.

One-Shot-Adresse (0x01)#

Eine Adresse, deren Signaturbefugnis durch ihre erste Belastung dauerhaft verbrannt wird. An eine frisch abgeleitete One-Shot-Adresse zu zahlen ist der konfliktfreie schnelle Weg, und je Zahlung eine frische abzuleiten ist es, was eine Zahlung mit der nächsten unverknüpfbar macht. Der Preis dafür ist, dass “gib einen Teil davon aus” etwas ist, was eine One-Shot-Adresse nicht kann — siehe Wallet-Regel 1.

Persistente Adresse (0x02)#

Eine wiederverwendbare Adresse. Sie kann nie in die Spent-Registry gelangen, hat also überhaupt keine Angriffsfläche für Burn-Grief. Händler, Spendenadressen und Mining-Auszahlungen müssen eine verwenden; zycordd --payout weist alles andere ab.

Spent-Address-Registry#

Die dauerhafte Konsensmenge der One-Shot-Adressen, deren Befugnis verbrannt wurde. Zellwerte unter einer ausgegebenen Adresse dürfen nach dem Undo Horizon beschnitten werden, der Registry-Eintrag aber nie — er ist es, was die Wiederauferstehung der Adresse verhindert. Etwa 33 Bytes pro Adresse, für immer: das ehrliche offene Problem des Protokolls, strukturell geteilt mit jedem Nullifier-Set-Entwurf.

Gültig vs. anwendbar#

Zwei Prädikate, die eine herkömmliche Chain vermengt. Gültig ist zustandslos, parallel und von jedem allein aus den Bytes des Zertifikats prüfbar. Anwendbar ist zustandsbehaftet, sequenziell und allein durch die Position im Ledger entschieden. Zwei gültige Zertifikate dürfen denselben Eingabewert für denselben Slot deklarieren; höchstens eines kann anwendbar sein.

Guarded Delta#

Eine Zugriffsdisziplin, in der ein Zertifikat ein Prädikat über einen Slot behauptet — balance ≥ 10 —, ohne den Wert in die Berechnung einzulesen, und ein vorzeichenbehaftetes Delta schreibt. Beliebig viele bewachte Belastungen und Gutschriften auf denselben Slot kommutieren, sodass ein Skip nur bei einer echten Überziehung auftritt und nicht bloß, weil sich das Guthaben geändert hat. Diese eine Disziplin deckt Überweisungen, angebotsbegrenzte Prägungen, Freigaben und Vault-Anteile ab.

Pure Delta#

Ein vorzeichenbehaftetes Delta ohne Guard. Es kann nie in Konflikt geraten und nie zu einem Skip führen. Trinkgelder, Zähler, Akkumulatoren, Belohnungssummen.

Exact Read#

Die Disziplin nach Art von SLOAD: der Lesezugriff gibt den Wert des Slots in die Berechnung zurück und bindet das Zertifikat daran. Beliebige Logik, Konflikte auf stark genutzten Slots, und die Domäne der Anwendungs-Sequencer.

Epoch Beacon#

Ein reservierter Slot, den das Protokoll einmal pro Epoche schreibt. Programme dürfen Umgebungswerte wie den Zeitstempel oder die Höhe nicht direkt lesen — das würde die Ausführung zu einer Funktion von etwas anderem als den deklarierten Reads machen —, also lesen sie den Beacon wie jeden anderen Slot, idealerweise mit einem Bereichs-Guard. Er ist Proof-of-Work-Ausgabe und für hochwertige Lotterien ungeeignet, bis eine VRF kommt.

Epoche#

2.880 Blöcke — etwa ein Tag bei 30-Sekunden-Blöcken. Die Einheit, an der die Subvention absinkt, das sequenzielle Kapazitätsziel wandert und der Beacon erneuert wird.

TTL#

Die Höhe, bis zu der ein Zertifikat festgeschrieben sein muss, um gültig zu sein. Konsensseitig auf 240 Blöcke (etwa zwei Stunden) begrenzt, was das Seen Set beschneidbar hält. Ein gesehenes oder abgelaufenes Zertifikat aufzunehmen macht den Block ungültig — eine Signatur ist also höchstens einmal abrechenbar, und nur an einer Position, die ihr Unterzeichner mit dem Signieren akzeptiert hat.

Sequential Gas und Parallel Gas#

Gebühren teilen sich in zwei Märkte: einen für sequenzielle Zustandsänderung, die knapp ist, und einen für parallele Verifikation, die es nicht ist. Eine Signaturprüfung konkurriert daher nicht in derselben Auktion wie ein Speicherschreibvorgang, und genau das macht schwere Kryptografie konstruktionsbedingt billig.

Ära#

Eine Stufe des Launches, ausgelöst durch on-chain gemessene Schwellen — Blockhöhe und anhaltender Stake —, nie durch ein Kalenderdatum oder eine Abstimmung. Era 0 ist Mining und native Assets, und zwei Höhen darin schalten die Bonds (40.320) und danach die cEVM, die Sequencer und die Zwangsaufnahme (80.640) frei; Era 1 fügt Checkpoint-Finalität hinzu, sobald der besicherte Stake 1 % des Angebots dauerhaft hält; Era 2 verlagert den Vorschlag auf ein Stake-Komitee; Era S fügt vertrauliche Zahlungen hinzu, und das erst nach veröffentlichten Audits.

RandomX#

Die Proof-of-Work-Funktion, optimiert für Allzweck-CPUs, damit gewöhnliche Hardware konkurrenzfähig bleibt. Sie ist ein Konsensparameter, keine Einstellung: eine Binärdatei, die die pow_engine eines Netzwerks nicht berechnen kann, verweigert den Start, statt zurückzufallen.

Treasury#

Die eigene Guthabenzelle der Protokolladresse, der ab Block 0 3 % jeder Blocksubvention gutgeschrieben werden. Sie hat bei Genesis keinen Schlüssel, keine Adresse und kein Quorum und kann vor Era 2 nicht geöffnet werden, wenn ein 3-aus-5-Schlüsselsatz per Hard Fork festgelegt werden darf. Wenn nie jemand öffentlich auftritt, um sie zu beanspruchen, werden die Coins nie ausgegeben.

State Root#

Das Commitment auf den gesamten Zustand bei einer Höhe. Ein Node berechnet es beim Start neu und verweigert den Betrieb, wenn das gespeicherte abweicht, und es dient zugleich als Differenzabgleich zwischen Nodes im Produktivbetrieb: zwei Implementierungen, die aus einer Blockfolge zu verschiedenen Roots gelangen, haben in einer von beiden einen Fehler gefunden.

Wo jeder Begriff normativ definiert ist#

Diese Seite ist eine Lesehilfe. Die bindenden Definitionen stehen in der Spezifikation und den Golden Vectors; die Begründung steht im Whitepaper, und der Vokabularabschnitt der Implementierung selbst steht in docs/ARCHITECTURE.md.