Can’t touch this: Digital Currency Bitcoin und Digital Disruptor Blockchain

Blockchain und die Bitcoin-Plattform – eine Einführung

Lothar Wieske

© Shutterstock / Zapp2Photo

Bitcoin ist eine Kryptowährung und ein Bezahlsystem. Es wird dezentral verwaltet in einem weltweiten Rechnerverbund, und die Transaktionen werden mit kryptografischen Methoden abgesichert. Die zugrunde liegende Blockchain-Technologie erlaubt sichere und schnelle Bezahlvorgänge. Das bekommen jetzt schon die Banken zu spüren. Mit allgemeineren Blockchains geraten Geschäftsmodelle in vielen Branchen rund um das Thema Vermittlung in den Sog der digitalen Disruption.

Bitcoins haben wenig Ähnlichkeit mit herkömmlichen Währungen. Für klassische Währungen wie Euro oder Dollar steuern Zentralbanken die Geldmengen und legen Zinsen fest. All das gibt es bei Bitcoins nicht. Ihnen fehlen fundamentale – staatliche – Faktoren wie Zinsen, Inflation, Staatsverschuldung, Handelsüberschuss und Wirtschaftswachstum. Wichtige Währungsstatistiken für Bitcoin sind Marktpreis, Marktkapitalisierung und Transaktionsvolumina – üblicherweise in der Leitwährung US-Dollar (USD). Der Marktpreis eines Bitcoins lag mit einem Allzeithoch um den Jahreswechsel 2013/2014 schon einmal bei über 1 000 USD und liegt Mitte November 2016 wieder über 700 USD. Die Marktkapitalisierung überstieg im Jahr 2013 erstmalig die 1-Milliarden-USD-Marke. Und im Jahr 2016 wurde die 10-Milliarden-USD-Marke geknackt.

Geldmenge und Geldschöpfung von Bitcoins folgen einem klaren Verlauf. Stündlich wächst die Blockchain um etwa sechs neue Blöcke. Mit jedem neuen Block in der Blockchain gibt es neue, weitere Bitcoins. Der Urblock (Genesis Block) wurde am 3. Januar 2009 ins Netz gestellt, und mit jedem neuen Block wurden neue 50 Bitcoins (BTC) geschöpft. Auf diese erste Bitcoin Reward Era folgte nach genau 210 000 Blöcken und etwa vier Jahren die zweite Reward Era mit nur noch 25 BTC pro Block. Und so geht es weiter: 50 Prozent Reduktion nach jeweils 210 000 Blöcken oder etwa vier Jahren. Das jüngste Reward Halving erfolgte im Juli 2016. Es gibt jetzt nur noch 12,5 BTC für jeden Block in der Blockchain. Voraussichtlich im Jahr 2040 werden die letzten Bitcoins geschöpft. Dann gibt es knapp 21 Millionen Bitcoins – mehr werden es nicht.

Kaufleute machen doppelte Buchführung: das Grundbuch (Journal) ordnet Vorgänge zeitlich und das Hauptbuch (Ledger) verbucht sie sachlich auf Konten. Bitcoin baut mit seiner Blockchain ein manipulationssicheres Grundbuch. Deswegen wird Blockchain-Technologie (Blocktech) auch gerne als Distributed Ledger Technology (DLT) bezeichnet. Für Blocktech gibt es verschiedene Architekturstile für unterschiedliche Einsatzbereiche. Um weitere prominente Blockchains wie Ethereum, Ripple, Hyperledger oder auch das neue Zcash geht es in weiteren Artikeln. Für hier und jetzt reicht die Einordnung von Bitcoin als Public und Permissionless. Das heißt flapsig gesprochen: Wer sich an die Spielregeln hält, darf mitschreiben und mitlesen. Und Falschspieler haben es bei Bitcoin sehr, sehr schwer.

Die Bitcoin-Plattform

Die wesentlichen Nutzer der Bitcoin-Plattform sind User (Einzahlende und Abhebende), Exchanges und Merchants (Abb. 1). Exchanges bilden Brücken zu anderen Währungen und Merchants zu anderen Gütern. Im Hintergrund schreiben Miner die Blockchain ständig weiter (append-only) und werden dafür mit Rewards belohnt.

Abb. 1: Die Bitcoin-Platform

Die User verwenden für das Erstellen und Einreichen von Transaktionen und zur Verwaltung ihrer kryptografischen Schlüssel unterschiedliche Typen von Wallet Software. Hot Wallets sind online, Cold Wallets sind offline. Hot Wallets bedienen eher Kleingeld für den Alltag und Cold Wallets eher bewegungsarme große Summen. Desktop/Mobile/Web-Wallets (Hot) erleichtern die Arbeit mit Bitcoins auf entsprechenden Endgeräten oder im Browser. Viele Einsteiger installieren für erste Gehversuche mit Bitcoin einen Full Node auf der aktuellen Grundlage des Bitcoin Core (v0.13.1 im November 2016) – aber bitte nur mit ganz kleinen Beträgen. Physikalische Wallets (Cold) mit ausgedruckten QR Codes (Paper Wallet) oder Krypto Sticks mit BLE/NFC/USB-Konnektivität (Hardware Wallet) kommen mit geeigneten Apps zum Einsatz.

Im Bitcoin-Netzwerk arbeiten mehr als 5 000 Nodes (Rechner) im Internet auf der Grundlage des Bitcoin-P2P-Protokolls zusammen. Die Zahl der Nodes schwankt, weil ständig Nodes dem Netzwerk beitreten und es verlassen (Public/Permissionless). Außerdem arbeiten die Nodes mit unterschiedlichen Varianten und Versionen des User Agents. Die aktuelle Version /Satoshi:0.13.1/ läuft auf der Mehrzahl der 5 000 Nodes. Wer sich im Bitcoin-Netzwerk umschauen will, findet unter https://bitnodes.21.co/nodes/ Tabellen und einen Link zu Visualisierungen, und unter http://bitcointicker.co/transactions/ offenbart sich die Dynamik der Transaktionen.

Auch die Kryptowährung Bitcoin kennt Kleingeld. Ein Bitcoin (abgekürzt 1 BTC) ist der Anfang von allem. Die wichtigsten Teilungen sind Millibitcoin (1 mBTC = 0,001 BTC), Microbitcoin (1 μBTC = 0,000001) und Satoshi (1 Satoshi = 0,00000001 BTC).

Die Bitcoin Blockchain

Die Bitcoin Blockchain ist eine lange lineare Kette von zeitlich aufeinander folgenden Blöcken, mit denen wiederum zeitliche aufeinander folgende Transactions gekapselt werden. Transactions sind mehrarmig, d. h. sie verknüpfen jeweils mehrere Inputs mit mehreren Outputs. Das heißt außerdem, dass sie keine Konten im landläufigen Sinn kennen. Solange über einen Output nicht in einer folgenden Transaction verfügt wurde, wird er als UTXO (Unspent Transaction Output) bezeichnet. Andernfalls wird er in genau einer folgenden Transaction vollständig vernascht und dann zu einem TXO (Abb. 2). Die Bitcoin Blockchain überlagert also zwei Graphen: Zeitfolge und Geldflüsse der Transactions. Die Blöcke sind das Journal, und die Liste aller UTXO ist der Ledger.

Abb. 2: Bitcoin Blockchain: Die Transaction „i“ ändert mit drei Inputs und zwei Outputs in Block „m+1“ den Ledger so, dass die vorherigen drei roten UTXOs gestrichen und zwei grüne UTXOs neu dazugeschrieben werden

Die Abbildungen 3 und 4 zeigen Details zur Bitcoin Blockchain anhand der dritten Transaction in Block 209999, also im letzten Block mit dem Reward von 50 BTC. Diese Transaction a6..5f kam wahrscheinlich aus Deutschland und fand Ende November 2012 statt. Sie löste den Output mit Index 0 in der Transaction c1..b1 aus dem Block 207557 von Mitte November 2012 ein.

Abb. 3: Transaction „c1..b1“ in Block 207557

Abb. 4: Transaction „a6..5f“ in Block 209999

Sicherungsmechanismen der Bitcoin Blockchain

Bitcoin implementiert für die Chain, Blocks und Transactions Sicherungsmechanismen, die dafür sorgen, dass alle Nodes im Bitcoin-Netzwerk mit einheitlichen Kopien der Blockchain arbeiten, die Blocks nicht nachträglich geändert werden können und nur von Verfügungsberechtigten auf UTXOs und die hinterlegten Beträge zugriffen wird. Die Bitcoin Blockchain arbeitet mit digitalen Prüfsummen und digitalen Unterschriften. Beide basieren auf Einwegfunktionen nach dem Prinzip „hin ist kinderleicht und zurück ist sauschwer“.

Hashing (digitale Prüfsummen) mit SHA-256 ist das Brot-und-Butter-Geschäft von Bitcoin. SHA-256 berechnet Hashes mit einer Länge von 256 Bit. RIPEMD-160 kommt aber auch mal vor.

Signing (digitale Unterschriften) mit ESDSA (Elliptic Curve Digital Signature Algorithm) gewährleisten einen sicheren Zugriff auf die wertvollen Bitcoins. Auf die erste Generation asymmetrischer Kryptografie mit RSA (Rivest, Shamir, Adleman) Mitte der 70er Jahre folgt seit Mitte der 80er Jahre diese zweite Generation ECC (Elliptic Curve Cryptography). Der Nutzer erstellt mit seinem Private Key eine Signature, und alle können sie mit dem Public Key überprüfen.

Exkurs: Elliptische Kurven für Eilige

In der Algebra ist ein Körper eine Menge mit den Grundoperationen Addition und Multiplikation und speziellen Eigenschaften. Und Primzahlen machen mit Restklassenarithmetik einen besonders schönen so genannten Galoiskörper. Die elliptische Kurve von Bitcoin ist die Lösungsmenge (Punkte x, y) einer speziell geformten Gleichung über einem Galoiskörper. Alle Gitterpunkte der Lösungsmenge erfüllen die Gleichung. Darauf kann eine Abelsche Gruppe konstruiert werden, d. h. Punkte können addiert und mit einem Skalar multipliziert werden. Und nun kommt ECC. Skalare sind die Private Keys von ECC und Public Keys das Ergebnis der skalaren Multiplikation. Das skalare Produkt ist kinderleicht zu berechnen, die entgegengesetzte Richtung – der diskrete Logarithmus – ist hingegen sauschwer (ECDLP, Elliptic Curve Discrete Logarithm Problem). Vom Galoiskörper zur Abelschen Gruppe – das ist die Grundlage für digitale Signaturen mit ECDSA für Bitcoin.

Im Kleinen lässt sich das ausgehend vom Galoiskörper GF(43) schön visualisieren. Abbildung 5 zeigt die Abelsche Gruppe. Bitcoin verwendet dieselbe Gleichung aber eine größere Primzahl. Der Generator (8, 8) spannt durch fortgesetzte Additionen die Abelsche Gruppe vollständig auf, was der grüne Linienzug in Abbildung 6 zeigt. Der Generator ist somit der zentrale Bezugspunkt für die Abelsche Gruppe. Ein Private Key ist eine zufällige und geheime Zahl zwischen eins und der Ordnung der Abelschen Gruppe. Der zugehörige Public Key entsteht durch fortgesetzte Addition des Generators. Der Private Key gibt die die Zahl der Summanden vor (skalare Multiplikation). Für ECDSA wird mit einer zweiten Zufallszahl ein Session Key gebildet und nur für diese eine Signature Session verwendet. In Abbildung 7 wird mit dem Private Key 9 der Public Key (13, 22) gebildet und der Session Key ist (12, 31). Der Generator ist grün, der Public Key ist rot und der Session Key ist blau. Als Signature wird ein Punkt (r, s) der Abelschen Gruppe berechnet und weitergeben. Der Wert r (x-Koordinate der Signatur) ist die x-Koordinate des Session Keys. In den Wert s gehen der öffentliche Hash-Wert des zu unterschreibenden Schriftstücks und die beiden geheimen und zufälligen Werte zur Erstellung von Public Key und Session Key ein. Für die Prüfung ist r so etwas wie eine Prüfgröße und s so etwas wie eine Arbeitsgröße.

Für die Verification wird aus dem Punkt (r, s) ein Hilfspunkt (u1, u2) gebildet. Die Werte (u1, u2) werden nun so verwendet, dass damit die Summe u1*G + u2*P mit u1-maliger Addition des Generators und u2-maliger Addition des Public Keys gebildet wird. Beide Punkte – Generator und Public Key – sind öffentlich. Die speziellen Eigenschaften der mathematischen Konstruktion führen dazu, dass als Summe der Session Key herauskommt. Die Prüfung der Signatur vergleicht dann übereinstimmende x-Koordinaten. In der Visualisierung steht die grüne Line für u1*G und die rote Linie für u2*P. Der blaue Punkt ist der Session Key und die blaue Linie dessen zu überprüfende x-Koordinate. Die Werte sind (r, s) = (12, 22) und (u1, u2) = (25, 9) (Abb. 8).

Die Elliptische Kurve secp256k1 von Bitcoin ist gigantisch. Der endliche Körper hat ungefähr 2^256 = 1.16e+77 Elemente. Im sichtbaren Universum gibt es etwa 1e+80 Teilchen – genau weiß man das nicht; wahrscheinlich verhaspelt man sich ständig beim Auszählen. Die Parameter der Bitcoin-Kurve secp256k1 kann man sich mit OpenSSL anschauen:

% openssl ecparam -param_enc explicit -text -noout -name secp256k1

Abb. 5: Abelsche Gruppe

Abb. 6: Der Generator spannt die Abelsche Gruppe durch fortgesetzte Addition auf

 

Abb. 7: Mit dem Private Key 9 wird der Public Key (13, 22) gebildet und der Session Key ist (12, 31)

Abb. 8: Signaturprüfung

Die amerikanische Standardisierungsbehörde NIST hat für Hashing und Signing die Standards SHS (Secure Hashing Standard) und DSS (Digital Signature Standard) empfohlen. Die Sicherheitsbehörde NSA hat daran mitgearbeitet – das war immer öffentlich. Offengelegte Dokumente (Edward Snowden) legen nahe, den ECC-Empfehlungen der NIST nicht mehr zu vertrauen. Offenbar hat die NSA sowohl Institutionen (NIST) als auch Unternehmen (RSA Security, Teil von EMC) beim Einbau kryptografischer Hintertüren für kleptokratische Angriffe unterstützt. Kryptografen verwenden gerne unregelmäßig zusammengesetzte, aber nicht willkürlich ausgewählte Zahlen für ihre Konstanten, die so genannten Nothing-up-my-sleeve Numbers. Denn Zauberer zeigen dem Publikum meist ihre Ärmel, um zu verdeutlichen, dass dort nichts versteckt ist. Mit SHA-256 fürs Hashing ist Satoshi Nakamoto den SHS-Empfehlungen gefolgt, und die Konstruktion verwendet begründbare und begründete Konstanten. Mit secp256p1 fürs Signing folgte er den DSS-Empfehlungen nicht, die Kurve verwendet vielleicht begründbare, aber nicht begründete Konstanten. Und aus heutiger Sicht ist die Kurve secp256p1 vielleicht auch nicht die stärkste Wahl, wie Untersuchungen von Daniel J. Bernstein und Tanja Lange zeigen. Langsam wird es eben auch für Bitcoin Zeit, sich auf Post Quantum Cryptography (PQC) vorzubereiten. Vielleicht mit Lattice-based Cryptography (LBC)?

Sicherungsmechanismus für einheitliche Kopien der Blockchain

Wer Betriebssysteme oder Anwendungen installiert, nutzt Prüfsummen (MD5, SHA-256), um abzusichern, dass ein Original heruntergeladen worden ist. Solche Prüfsummen bettet Bitcoin kurzerhand in die Blöcke ein – und zwar gleich mehrere. Der Block Header enthält einen PrevHash für den Hash des vorherigen Block Headers und eine Merkle Root für die Transactions im eigenen Block Body. Jede Transaction bekommt auf der untersten Stufe eines binären Baums ihren Hash zugeordnet. Diese Blätter werden dann paarweise wieder einem Hash zugeordnet. Das geht im Baum nach oben weiter, bis nur noch ein Wert übrigbleibt. Und der kommt als Merkle Root in den Block Header (Abb. 9). So sichert die Merkle Root die Integrität der vollständigen Liste der Transactions und kann sogar Teillisten mit vergleichsweise geringem Aufwand sichern. Jeder Prev Hash sichert als Teil einer Dominokette alle anderen folgenden mit. Wer also am fünftletzten Block fummelt, muss auch an allen folgenden fummeln.

Abb. 9: Bitcoin-Security: Chain Level

Sicherungsmechanismus gegen nachträgliche Änderungen

Im Block Header stellen Difficulty und Nonce (number used once) sicher, dass niemand mal eben ein paar Blocks für einen Betrugsversuch neu rechnen kann. Die Nonce ist eine Stellschraube für den Hash des Block Headers (Abb. 10), und Hashes reagieren auch auf kleinste Änderungen mit großen Zeigerausschlägen. Die Difficulty gibt einfach einen Zielkorridor für den Hash des Block Headers in Gestalt einer Mindestzahl führender Nullen vor. Mining findet also für einen Block eine passende Nonce in einem weltweiten Wettbewerb. Übrigens: Nicht alle Miner arbeiten am gleichen Block. Jeder Miner baut eigene Blockkandidaten mit seiner eigenen Auswahl der Transactions. Für die richtige Nonce gibt es keine Formel. Es muss einfach eine astronomische Anzahl von Versuchen gerechnet werden. Deswegen nennt sich das Verfahren Proof-of-Work (PoW), und die Difficulty wird alle zwei Wochen so neu justiert, dass im Verhältnis zur gesamten Rechenleistung im Bitcoin-Netzwerk etwa alle zehn Minuten ein neuer Block gefunden wird. Die Rechenleistung des Bitcoin-Netzwerks wird als Hashing Power gemessen und liegt im November 2016 bei etwa 2 Milliarden GH/s – es werden also pro Sekunde etwa 2  Milliarden Hashes gerechnet. Wer einen neuen Block eintüten will, muss selbst viel rechnen oder fällt bei der schnellen Prüfung der Integrität des Block Headers auf und durch. Deswegen befinden sich Betrüger in einer „Theo gegen den Rest der Welt“-Situation, und eine ehrliche Mehrheit im Bitcoin-Netzwerk macht ihnen mit ihrer geballten gemeinsamen Rechenleistung den Garaus.

Gelegentlich kommt es vor, dass mehrere Miner annähernd zeitgleich einen neuen Block finden und die eigentlich lineare Blockchain verzweigt und lose Enden hat. Der dezentrale Mechanismus von Bitcoin stellt mit der Regel „Longest Chain First“ wieder ein einziges loses Ende her (Consensus). Indem über einige Zeit ein loses Ende immer mehr Miner hinter sich vereint, d. h. ihre neuen Blöcke an dieses lose Ende andocken, gewinnt ein loses Ende, und nur mit diesem wird weitergerechnet. Die Blöcke außerhalb der Chain stellen ihre Transactions zur Bestätigung erneut ins Netz, und die werden dann gegebenenfalls erst später in einem neuen Block bestätigt. Deswegen gilt eine Transaction zwar im ersten Block formal als bestätigt, doch besser ist es, sechs Blöcke und damit eine Stunde zu warten. Länger dauern die Wettläufe bei losen Enden nicht. Aus demselben Grund darf ein Miner seinen Reward erst nach hundert Blöcken ausgeben, nämlich wenn ganz sicher ist, dass sein Block in der Chain überlebt.

Die Mischung Consensus und Proof-of-Work gibt der Blockchain Integrität bei gleichzeitiger Probabilität. Und diese Probabilität macht es Bitcoin im Besonderen und bestimmten Typen von Blockchains im Allgemeinen sehr schwer, in üblichen Rahmenwerken zu Governance und Compliance aufgenommen zu werden. An konformen Formulierungen für „mer waases net“ bei gleichzeitigem „ruckelt sich fest“ wird wohl noch einige Zeit gearbeitet.

Abb. 10: Bitcoin-Security: Block Level

Sicherungsmechanismus gegen unberechtigte Verfügungen über UTXOs

Die Abbildungen 3 und 4 zeigten schon die beiden Transactions, die die Input-/Output-Beziehungen bei Pay to public Key Hash (P2PKH) verdeutlichen sollen. In Wallets gibt es unterschiedliche Typen von Abholscheinen. Bei P2PKH wird nicht der ECC Public Key direkt, sondern ein daraus gebildeter Doppel-Hash als Abholschein für das Einlösen eines UTXO verwendet. Für jedes Output/Input-Paar wird ein Skript ausgewertet, das sich aus zwei Hälften zusammensetzt, dem TX-OUT-Anteil (Locking) und dem TX-IN-Anteil (Unlocking). Mit den Skripthälften bleibt Bitcoin offen für andere Typen von Abholscheinen. P2PKH ist der bei weitem am häufigsten verwendete Abholschein. Die scriptPubKey-Hälfte kommt vom Output der eingelösten, die scriptSig-Hälfte vom Input der einlösenden Transaction.

Alle Inputs werden aufaddiert. Die Beträge stehen in den jeweils vorausgehenden Transactions. Alle Outputs werden ebenfalls aufaddiert und die Beträge dafür stehen in der Transaction selbst. Der Summe der Inputs muss natürlich größer sein als die Summe der Outputs. Die Differenz ergibt das Fee. Das bekommt der Miner für die Transaction gutgeschrieben, zusätzlich zum Reward für den gesamten Block. Beide Hälften des scriptSig/scriptPubKey-Paars werden über Kreuz entgegen dem Geldfluss im Graphen zusammengesetzt und ausgeführt:

30..01
04..0a
OP_DUP
OP_HASH160
7a..2f
OP_EQUALVERIFY
OP_CHECKSIG

Abb. 11: Bitcoin-Security: Transaction Level

Beim Erstellen der Transaction wird nur der pubkeyhash hinterlegt. Der Empfänger gibt ihn als erste Hälfte des Abholscheins an den Sender des Betrags. Beim Einlösen des Betrags erstellt der Empfänger mit dem zum pubkey gehörenden privkey eine digitale Unterschrift für die Transaction. Im Unlock Script hinterlegt er eben diese Signatur und den pubkey. So können alle die Gültigkeit der Signatur und damit die Verfügungsberechtigung überprüfen. Dazu zwei Bemerkungen: Für die Unterschrift wird eine spezielle Transaction gebaut und unterschrieben. Mit der Verfügung über einen Betrag wird zum pubkeyhash der pubkey offengelegt. Ein pubkeyhash sollte deswegen niemals wiederverwendet werden, weil seine Sicherheit damit herabgestuft wird.

Messen und Wiegen im Bitcoin-Netzwerk

Das Bitcoin-Netzwerk wurde am 3. Januar 2009 mit dem Genesis Block gestartet. Im November 2016 gab es etwa 440 000 Blöcke, und damit sind etwa 75 bis 80 Prozent der bis zum Jahr 2040 insgesamt zu schöpfenden 21 Millionen Bitcoins im Umlauf. 5 000 bis 7 000 Nodes berechnen etwa alle zehn Minuten einen neuen Block mit durchschnittlich etwa 1 800 bis 2 000 Transactions und einem Tagesvolumen von etwa 250 000 bis 300 000 Transactions. Bitcoin ist mittlerweile ein milliardenschwerer Gegenentwurf zu staatlichen Währungen und mit seiner alternativen Geldschöpfung und dezentralen Blockchain ein beachtliches volkswirtschaftliches Experiment.

Fazit

Bitcoin ist derzeit die wichtigste Kryptowährung. Im Bezahlsystem werden einzelne Bitcoin Transactions mit elliptischen Kurven autorisiert (Signatures) und die Integrität der vollständigen Blockchain wird ständig auf der Ebene der Chain mit Proof-of-Work, Consensus und auf der Ebene der Transactions im Block mit Merkle Roots verifiziert (Hashes). Soweit die Grundprinzipien der Bitcoin Blockchain. Mittlerweile haben sich aus der Kernidee mit Bitcoin unter der Bezeichnung Blocktech (Blockchain-Technologie) weitere Ansätze entwickelt, die in Richtung Smart Contracts, Decentralized Applications und Internet of Value führen. Darum geht es in einem weiteren Artikel. Die Grundlagen von Bitcoin-Erfinder Satoshi Nakamoto finden sich unter folgendem Link, sowie hier und hier. Der Bitcoin Core liegt auf GitHub.

Verwandte Themen:

Geschrieben von
Lothar Wieske
Lothar Wieske
Lothar Wieske ist Cloud Architect. Ihn interessiert das Zusammenspiel von Cloud/Data/IoT/Mobile/Social und digitaler Disruption als Bindeglied und Wirkmechanismus. Mal schauen, was Augmented Reality, Bionics, Blockchain und Cognitive Computing demnächst noch so bringen.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.