Zum InhaltBlockAssay

Freeze, Eigentümerschaft und Befugnisse

P08-L04 · P08 · P08-M01

Privilegierte Kontrollen einschließlich Proxys und Upgrade-Berechtigung identifizieren

ILLUSTRATIVE · needs_review

Voraussetzungen: P08-L03

Lernziele

  • Salden-, Einschränkungs-, Anwendungs- und Upgrade-Ebenen abbilden.
  • Enge Eigentümerschaftsaussagen anhand verbleibender Kontrollen beurteilen.
  • Benötigte Belege für Schwelle, Ereigniszuordnung und Unveränderlichkeit identifizieren.

EN-Quellmaster · P08-L04 · 45 Minuten geschätzt · needs_review

Warum das wichtig ist

Ein Abzeichen „Eigentümerschaft aufgegeben“ kann neben einer aktiven Pause-Rolle oder einem Upgrade-Controller bestehen. Eine entfernte Mint-Berechtigung kann neben einer Freeze-Berechtigung bestehen. Jede dieser Aussagen kann wahr sein, während die breite Schlussfolgerung „niemand hat Kontrolle“ falsch ist.

Diese Lektion vermittelt eine mehrschichtige Kontrollkarte. Du verbindest jedes Privileg mit Objekt, aktuellem Inhaber, Bedingung und möglichem Verwaltungspfad. Das Ergebnis ist ein Belegdatensatz, kein Sicherheitswert oder Vorwurf.

Erklärung

Das kontrollierte Objekt definieren

Verwende Eigentümer nicht ohne Bezugsobjekt. Der Programmeigentümer eines Solana-Datenkontos, eine Tokenkonto-Berechtigung, ein EVM-Ownable-Eigentümer und ein NFT-Positionseigentümer sind unterschiedliche Felder. Ihre Namen ähneln sich, steuern aber unterschiedliche Mechanismen. Schreibe Feld und Objekt neben den Wert.

Trenne Tokensaldenkontrolle, Einschränkungen auf Mint-Ebene, Anwendungsrollen und codeverändernde Befugnisse. Ein Befund auf einer Ebene kann keine Berechtigung auf einer anderen auslöschen. Beispielsweise kann einer Token-Mint die Mint-Berechtigung fehlen, während eine mit dem Token interagierende Anwendung upgradefähig bleibt. Prüfe die Anwendungsrolle getrennt, statt anzunehmen, dass sie das Standard-Token-Program selbst steuert.

Eine Kontrollkarte ist ein Fähigkeitsgraph, kein Graph menschlicher Identitäten. Eine aufgeführte berechtigte Stelle kann ein Nutzerkonto oder eine programmvermittelte Adresse sein. Öffentliche Kontolabels stellen nicht fest, wer die Schlüssel besitzt oder ob mehrere Konten einen Controller teilen.

Freeze als Zustandseinschränkung verstehen

Solanas Freeze-Mechanismus bewahrt Tokenkonto-Eigentümer, Mint und Saldo, verhindert aber die dokumentierten Empfangs-, Transfer- und Burn-Vorgänge bis zur Freigabe durch Thaw [S08-FREEZE]. Er löscht keinen Saldo und überträgt nichts an die Freeze-berechtigte Stelle.

Zustand und Befugnis müssen getrennt dokumentiert werden. Eine Freeze-Berechtigung kann bestehen, während ein Konto aktuell nicht eingefroren ist. Umgekehrt sagt die Beobachtung eines eingefrorenen Zustands nicht, dass ein bestimmter Mensch ihn verursacht hat. Fordere den erfolgreichen Vorgang und dessen Autorisierung an, wenn Zuordnung wichtig ist.

Widerruf entfernt eine ausgewählte Berechtigungsrolle, nicht eine universelle Sammlung von Befugnissen [S08-SET]. Unterstelle nicht, dass ein Mint-Rollenwiderruf den Freeze-Zustand änderte. Bereits eingefrorene Konten und mögliche Wiederherstellungs-/Thaw-Pfade benötigen eigene Untersuchung; beschreibe einen engen Widerruf nicht als Beweis, dass jedes Konto übertragbar ist.

Anwendungsrollen jenseits von Ownable prüfen

OpenZeppelin-Ownable-Verzicht deaktiviert Funktionen, die durch seine Eigentümerprüfung geschützt sind, während rollenbasierte Berechtigungen ein getrenntes Muster sind [S08-ACCESS]. Ob ein bereitgestellter Token diese Muster kombiniert, ist eine Frage von Code und Zustand. Bleibt eine Pauser-Rolle, kann Eigentümerverzicht allein sie nicht entfernen.

Erstelle eine Tabelle für Eigentümerschaft, Pause, Rollenvergabe/-widerruf und Upgrades. Dokumentiere je Zeile tatsächliche Prüfung, aktuelle berechtigte Stelle, Verwaltungspfad und Unsicherheit. Ein Rollenname ist nur beschreibend, bis er mit einem erreichbaren Vorgang verbunden wird. „PAUSER“ in Metadaten belegt keine Pause-Funktion.

Eine Kontrolle kann von Timelock oder Multisig abhängen. Verifiziere relevanten Vertrag, Schwelle, Verzögerung und Umgehungsbedingungen, statt ein Abzeichen zu akzeptieren. Eine Verzögerung ist eine Zeitbedingung, kein Verschwinden der Kontrolle. Eine Multisig-Schwelle beschreibt Unterschriften, nicht notwendigerweise unabhängige Menschen.

Proxy- und Implementierungskontrolle nachverfolgen

Unterscheide bei Proxys im ERC-1967-Stil die Implementierungs- oder Beacon-Verknüpfung vom optionalen Admin-Slot. Ein Beacon löst Logik für zugehörige Proxys auf; Autorisierung im UUPS-Stil kann in Implementierungslogik liegen, sodass ein leerer Admin-Slot allein keine vollständige Schlussfolgerung ist [S08-PROXY; S08-UUPS].

Die nutzerseitige Proxyadresse kann gleich bleiben, wenn sich ihre Regeln ändern. Verankere die Implementierung im geprüften Kontext und prüfe dann den Pfad, der sie ändern kann. Prüfe nicht eine verifizierte Implementierungsseite und lasse die Proxyverknüpfung ungeprüft. Eine spätere Implementierung kann frühere Verhaltensannahmen ungültig machen.

Diese Lektion vermittelt keine Upgrade-Ausführung. Sie vermittelt, wie der vorgegebene Autorisierungspfad rein lesend beschrieben wird. Sind die internen Controller-Regeln nicht verfügbar, kennzeichne sie als unbekannt, auch wenn die externe berechtigte Adresse bekannt ist.

Solana-Programmupgrades von Mint-Rollen unterscheiden

Unter Solana loader-v3 hängen Programmupgrades von der Programm-Upgrade-Berechtigung ab; deren Entfernung macht dieses Programm unveränderlich [S08-DEPLOY]. Dies ist nicht das Mint-Authority-Feld der Mint. Es gilt für das geprüfte Programm und den Loader-Mechanismus, nicht jeden verbundenen Vertrag oder Off-Chain-Dienst.

Eine Mint unter einem Standard-Token-Program sollte nicht leichtfertig als unabhängig upgradefähig beschrieben werden, nur weil eine benutzerdefinierte Anwendung sie verwendet. Benenne das benutzerdefinierte Programm und erkläre seine Relevanz. Im Übungsdatensatz ist PROGRAM-X eine Hilfsanwendung, nicht das Token Program, dem MINT-F gehört.

Unveränderlichkeit ist auf das Codeobjekt begrenzt. Sie belegt weder ehrliche Nutzer noch unveränderliche Metadaten, ausreichende Liquidität oder sichere umgebende Systeme. Ebenso belegt aktive Upgrade-Befugnis eine Fähigkeit unter Bedingungen, nicht eine künftige bösartige Codeänderung.

Ein mehrschichtiges Ergebnis berichten

Ein vertretbarer Satz benennt Kontext und Grenzen: „Bei S0 ist das Eigentümerfeld aufgegeben, während PAUSER zugewiesen bleibt und der Proxy-Upgrade-Controller vorgegeben ist, seine interne Schwelle aber unbekannt ist.“ Dies ist informativer als ein kategorisches Label „dezentral“.

Frage, ob eine Aussage durch eine einzige verbleibende Zeile widerlegt werden kann. „Keine privilegierten Kontrollen“ widerspricht einer einzigen nachgewiesenen aktiven Fähigkeit. Eine enge Aussage wie „die Ownable-Eigentümerrolle fehlt“ kann gestützt bleiben, auch wenn die breite Aussage scheitert. Bewahre beide.

Begriffe

  • Freeze-Zustand: Vorgangseinschränkung auf einem Tokenkonto.
  • Ownable-Eigentümer: Befugnis unter einem bestimmten Eigentümerprüfmuster.
  • Rolleninhaber: Konto, das eine bestimmte Mitgliedschaftsprüfung erfüllt.
  • Upgrade-Controller: Befugnis, die einen Codeänderungspfad steuert.
  • Beacon: Mechanismus zur Proxy-Logikverknüpfung.
  • Timelock: Bedingung, die bestimmte Vorgänge verzögert.

Historisches Beispiel

ILLUSTRATIVE — FIX-P08-04. Getrennte fiktive Objekte bei S0.

DatensatzObjektVorgegebene Kontrolle/Zustand
F1SIM-SOL-A / MINT-FMint-Berechtigung fehlt; Freeze-Berechtigung F
F2ACCOUNT-U von MINT-Fnicht eingefroren, Saldo 100
F3ACCOUNT-V von MINT-Feingefroren, Saldo 50; keine Ereigniszuordnung vorgegeben
P1SIM-EVM-A / PROXY-Qdelegiert an LOGIC-Q bei S0
P2PROXY-Q-AnwendungszustandOwnable-Eigentümer fehlt; PAUSER=P; Rollenadmin G
P3PROXY-Q-Upgrade-PfadController C; Schwelle/Verzögerung von C nicht verfügbar
X1SIM-SOL-A / PROGRAM-Xloader-v3-Hilfsanwendung; Upgrade-Berechtigung U

PROGRAM-X ist nicht das Token Program, das MINT-F steuert. Der Übungsdatensatz liefert nicht die Codeeffekte, die diese Hilfsanwendung mit der Mint verbinden.

Was die Evidenz belegt

OBSERVED im Übungsdatensatz: F bleibt, V ist eingefroren, P/G bleiben und C/U sind vorgegebene Upgrade-berechtigte Stellen.

INFERRED: „Alle Kontrollen entfernt“ widerspricht diesen getrennten Fähigkeiten. Aufgegebene Eigentümerschaft ist eine engere gestützte Aussage über P2.

Was die Evidenz nicht belegt

UNKNOWN: Interne Regeln von C, menschliche Controller, wer V einfror und die genauen Anwendungseffekte von PROGRAM-X.

INSUFFICIENT EVIDENCE: Freeze bedeutet nicht, dass der Saldo von V vernichtet wurde. Ein fehlender Eigentümer belegt keine Abwesenheit von Rollen oder Upgrades. U belegt nicht, dass U das Standard-Token-Program kontrolliert.

Häufige Fehler

Eigentümer ohne sein Objekt verwenden; eingefrorenen Saldo mit Null verwechseln; annehmen, dass ein leerer Proxy-Admin-Slot alle Upgrades ausschließt; ein Multisig-Label als verifizierte unabhängige Kontrolle deuten; und Hilfsprogramm-Befugnis mit Mint-Befugnis vermischen.

Praktische Übung

Erstelle vier Kontrollebenen: Kontozustand, Mint-Rollen, EVM-Anwendungsrollen und Implementierungsänderungspfade. Formuliere „alle Eigentümerschaft ist aufgegeben, daher ist alles unveränderlich“ um. Nenne die nächsten für C und V benötigten Belege.

Ausführliche Lösung anzeigen

Ausgearbeitete Korrektur und erwartete Begründung

Kontozustand: U ist nicht eingefroren mit 100; V eingefroren mit 50. Mint-Rollen: Mint-Berechtigung fehlt, Freeze F vorhanden. EVM-Anwendung: Eigentümer fehlt, PAUSER P vorhanden, Rollenadmin G. Codeänderungen: PROXY-Q-Controller C und Hilfs-PROGRAM-X U mit getrennten Umfängen.

Eine begrenzte Umformulierung lautet: „Bei S0 fehlt die Ownable-Eigentümerrolle von PROXY-Q, aber Pause-/Rollenverwaltung und Upgrade-Kontrolle bleiben vorgegeben. MINT-F behält F, und V ist ohne zugeordnetes Ereignis eingefroren. PROGRAM-X hat eine separate Upgrade-Berechtigung; seine Auswirkungen auf diesen Vermögenswert sind ungeklärt.“

Fordere für C Controller-Code/-Konfiguration, Unterzeichner/Schwelle oder Verzögerung und anwendbare Umgehungspfade an. Fordere für V erfolgreiches Freeze-Ereignis, Kontext und Autorisierungsbelege an. Bewahre50; dokumentiere keinen Burn.

Bewertung von zehn: Vier-Ebenen-Karte (vier), enge Umformulierung (drei), C/V-Beleganforderungen (zwei), Programm-/Mint-Trennung (eins).

Checkliste

  • Das Objekt jedes Eigentümerfelds nennen.
  • Befugnis vom aktuellen Zustand trennen.
  • Rollen nach Eigentümerverzicht prüfen.
  • Logik und Upgrade-Pfade im selben Kontext auflösen.
  • Schwellen/Verzögerungen statt Labels verifizieren.
  • Unveränderlichkeit auf das geprüfte Objekt begrenzen.

Zusammenfassung

Kontrolle ist mehrschichtig. Eine entfernte Rolle stellt einen engen Fakt fest; aktive Rollen und Codeänderungspfade brauchen getrennte Prüfung.

Zusammenfassung

Freeze ist eine Einschränkung, keine Löschung. Eigentümerverzicht ist kein Verzicht auf alle Kontrollen. Proxy-, Programm- und Mint-Befugnisse sind getrennt.

Visuelle Spezifikationen

Berechtigungskarte mit vier Bahnen und F1–F3,P1–P3,X1-Verweisen; unveränderten eingefrorenen Saldo 50 zeigen. PROXY-Q→LOGIC-Q und separaten Controller C zeichnen; PROGRAM-X/U von MINT-F isolieren. C-Konfiguration als unbekannt markieren.

Illustrative mehrschichtige Kontrollen; fehlender Eigentümer ist eine enge Aussage.

Deterministische SVG/HTML oder Diagramme mit Textalternativen, dunklem Marineblau/Schwarz und zurückhaltendem Cyan, leuchtendem Blau und Violett verwenden. Jede Menge und Unsicherheit beschriften. Bei 390px Panels untereinander anordnen; 768px/Desktop- und arabische RTL-Verifizierung bleiben künftige Asset-Arbeit. Kennungen LTR und faktische Achsen-/Kantenrichtungen unverändert halten. Falls Branding ergänzt wird, nur das offiziell vorgegebene BlockAssay-Zeichen verwenden. Beide Datensätze sind Spezifikationen, keine gelieferten Assets.

Werkzeuge

RADAR für den begrenzten didaktischen Zweck dieser Lektion nur verwenden, wenn Netzwerkunterstützung, genaue Identität, Felder und Herkunft verifiziert sind. Dieser Inhalt behauptet keinen Laufzeitendpunkt und keine Anbieterfähigkeit. Den eingebetteten Offline-Übungsdatensatz ohne kostenpflichtigen Zugang verwenden. Fehlende Daten bleiben unbekannt; weder Wallet-Verbindung noch Transaktionssignatur, Tokenstart oder Live-Handel sind erforderlich. Academy-Fortschritt, Zahlungen und Empfehlungen verändern Radar-Belege niemals. Ein Diagnostic Passport bewahrt Beobachtungen und Grenzen, keine Preisprognose und kein Sicherheitszertifikat.

Quellen und Aussagegrenzen

  • OpenZeppelin 5.x Proxy — Transparente, Beacon- und implementierungsbasierte UUPS-Upgrade-Mechanismen; tatsächliche Autorisierung muss geprüft werden. Geprüft 2026-09-30.
  • Solana-Konto einfrieren — Kontozustandseinschränkungen getrennt von Betrag oder Eigentümerschaft. Geprüft 2026-09-30.
  • Solana-Berechtigung setzen — Rollenspezifische Änderungen und Widerruf; kein globales Sicherheitsurteil. Geprüft 2026-09-30.
  • OpenZeppelin 5.x Zugriffskontrolle — Ownable- und rollenbasierte Privilegienmuster; tatsächliche bereitgestellte Autorisierung prüfen. Geprüft 2026-09-30.
  • ERC-1967-Proxy-Speicherslots — Implementierungs-, Beacon- und optionale Admin-Slots; mechanismusspezifische Prüfung. Geprüft 2026-09-30.
  • Solana-Programmbereitstellung — loader-v3-Programm-Upgrade-Berechtigung; keine Token-Mint-Rolle. Geprüft 2026-09-30.

Dokumentation stützt Mechanismen, nicht fiktive Datensatzwerte. Alle Beispiele und Übungsdatensätze sind eigenes ILLUSTRATIVE Material, in dieser Datei fixiert. S0/S1 sind synthetische Kontextlabels; observedAt ist null, weil keine Live- oder historische Ledger-Messung erhoben wurde. Dokumentation und tatsächlich bereitgestelltes Verhalten vor jeder Veröffentlichung oder Integration erneut prüfen.

Nächste Lektion

P08-L05 nach der ausgearbeiteten Übung und Quizprüfung.

Visuelle Spezifikationen

P08-L04-V01

SPECIFICATION_ONLY · ILLUSTRATIVE

Welche Kontrolle bleibt auf jeder Ebene bestehen?

Illustrative mehrschichtige Kontrollen; fehlender Eigentümer ist eine enge Aussage.

Berechtigungskarte mit vier Bahnen und F1–F3,P1–P3,X1-Verweisen; unveränderten eingefrorenen Saldo 50 zeigen. PROXY-Q→LOGIC-Q und separaten Controller C zeichnen; PROGRAM-X/U von MINT-F isolieren. C-Konfiguration als unbekannt markieren.

Mint-Freeze bleibt; EVM-Eigentümer fehlt, aber P,G,C bleiben; separates Hilfsprogramm hat U.

390px Panels untereinander mit Textäquivalent; später 768px und Desktop prüfen

RTL-Beschriftungen und Navigation; Kennungen LTR isoliert; numerische Achsen, Ereignisfolge und faktische Kantenrichtung bewahren.

FIX-P08-04

P08-L04-V02

SPECIFICATION_ONLY · ILLUSTRATIVE

Welche Aussage ist gestützt, bedingt, unbekannt oder ungestützt?

Illustrative Beleggrenzen; kein Sicherheits- oder Anlageurteil.

Vier beschriftete OBSERVED/INFERRED/UNKNOWN/INSUFFICIENT EVIDENCE-Zeilen, die mit Aussagen und Datensatz-IDs dieser Lektion verbunden sind. Beobachtungen sind vorgegebene fiktive Datensätze, keine Live-Messungen.

Vier Belegzustandszeilen mit Datensatzverweisen und nächsten Verifizierungsschritten.

390px Panels untereinander mit Textäquivalent; später 768px und Desktop prüfen

RTL-Beschriftungen und Navigation; Kennungen LTR isoliert; numerische Achsen, Ereignisfolge und faktische Kantenrichtung bewahren.

FIX-P08-04

Quellen und Aussagegrenzen

S08-FREEZE · official_documentation_or_standard

Solana-Konto einfrieren

Gestützte Aussage
Kontozustandseinschränkungen getrennt von Betrag oder Eigentümerschaft.
Verifikationsgrenze
Primärseite zur redaktionellen Mechanismusstützung geprüft; kein bereitgestellter Vermögenswert oder Ledger-Übungsdatensatz unabhängig gemessen.
Prüfdatum
2026-09-30
Primärquelle öffnen
https://solana.com/docs/tokens/basics/freeze-account

S08-SET · official_documentation_or_standard

Solana-Berechtigung setzen

Gestützte Aussage
Rollenspezifische Änderungen und Widerruf; kein globales Sicherheitsurteil.
Verifikationsgrenze
Primärseite zur redaktionellen Mechanismusstützung geprüft; kein bereitgestellter Vermögenswert oder Ledger-Übungsdatensatz unabhängig gemessen.
Prüfdatum
2026-09-30
Primärquelle öffnen
https://solana.com/docs/tokens/basics/set-authority

S08-ACCESS · official_documentation_or_standard

OpenZeppelin 5.x Zugriffskontrolle

Gestützte Aussage
Ownable- und rollenbasierte Privilegienmuster; tatsächliche bereitgestellte Autorisierung prüfen.
Verifikationsgrenze
Primärseite zur redaktionellen Mechanismusstützung geprüft; kein bereitgestellter Vermögenswert oder Ledger-Übungsdatensatz unabhängig gemessen.
Prüfdatum
2026-09-30
Primärquelle öffnen
https://docs.openzeppelin.com/contracts/5.x/access-control

S08-PROXY · official_documentation_or_standard

ERC-1967-Proxy-Speicherslots

Gestützte Aussage
Implementierungs-, Beacon- und optionale Admin-Slots; mechanismusspezifische Prüfung.
Verifikationsgrenze
Primärseite zur redaktionellen Mechanismusstützung geprüft; kein bereitgestellter Vermögenswert oder Ledger-Übungsdatensatz unabhängig gemessen.
Prüfdatum
2026-09-30
Primärquelle öffnen
https://eips.ethereum.org/EIPS/eip-1967

S08-DEPLOY · official_documentation_or_standard

Solana-Programmbereitstellung

Gestützte Aussage
loader-v3-Programm-Upgrade-Berechtigung; keine Token-Mint-Rolle.
Verifikationsgrenze
Primärseite zur redaktionellen Mechanismusstützung geprüft; kein bereitgestellter Vermögenswert oder Ledger-Übungsdatensatz unabhängig gemessen.
Prüfdatum
2026-09-30
Primärquelle öffnen
https://solana.com/docs/core/programs/program-deployment

S08-UUPS · official_documentation

OpenZeppelin 5.x Proxy

Gestützte Aussage
Transparente, Beacon- und implementierungsbasierte UUPS-Upgrade-Mechanismen; tatsächliche Autorisierung muss geprüft werden.
Verifikationsgrenze
Primärdokumentation geprüft; kein bereitgestellter Proxy untersucht.
Prüfdatum
2026-09-30
Primärquelle öffnen
https://docs.openzeppelin.com/contracts/5.x/api/proxy

Datenherkunft

id: FIX-P08-04

dataStatus: ILLUSTRATIVE

observedAt: null

source: Original frozen educational fixture embedded in lesson

timeBasis: Synthetic S0/S1 snapshots, not UTC observations or real blocks

identifiers: Deliberately invalid fictional network, asset and account labels; never use as transaction targets

scope: Fictional freeze-state, application-role and upgrade-control records on separate objects.

Prüfe deine Begründung

P08-L04-Q1 · Was ist der vorgegebene Saldo von V im eingefrorenen Zustand?
P08-L04-Q2 · Was folgt aus fehlendem Ownable-Eigentümer und PAUSER=P?
P08-L04-Q3 · C hat ein Multisig-Label, aber keine Konfiguration. Was ist festgestellt?
P08-L04-Q4 · Was identifiziert U von PROGRAM-X?
P08-L04-Q5 · Ein ERC-1967-Admin-Slot ist leer. Was folgt als Nächstes?