Während Bitcoin ursprünglich für die dezentrale Speicherung und Verwaltung von Werten geschaffen wurde, haben andere Netzwerke in andere Bereiche expandiert und Möglichkeiten entwickelt, dezentrale Anwendungen zu hosten.
Dezentrale Anwendungen (DApps) haben an Popularität gewonnen, was zu einer Bewegung geführt hat, diese Anwendungen auf der Bitcoin-Blockchain zu erstellen. Dies war jedoch nicht der ursprüngliche Zweck von Bitcoin und macht es komplizierter als viele Smart-Contract-fähige Netzwerke wie Ethereum.
Wie funktionieren also die Bitcoin-Versionen von Smart Contracts, und welche Möglichkeiten sind mit diesem Ansatz verfügbar?
Unterstützt Bitcoin intelligente Verträge?
Die Bitcoin-Blockchain unterstützt tatsächlich intelligente Verträge. Smart Contracts können auf Bitcoin mit Script, einer Skriptsprache, geschrieben und bereitgestellt werden. Script ist nicht Turing-komplett, d.h. es ist weniger vielseitig als Sprachen, die für Smart Contracts auf anderen Blockchains verwendet werden, wie z.B. Ethereum's Solidity, aber es erhöht die Sicherheit und Vorhersagbarkeit.
Im Gegensatz zu anderen Blockchains, wie z.B. Ethereum, fehlen in Bitcoins Script die Opcodes, die den aktuellen "Zustand" der Blockchain lesen und schreiben können. Diese Opcodes sind für die Erstellung komplexer automatisierter Aufgaben, die durch eine Blockchain-Transaktion ausgelöst werden, unerlässlich.
Bitcoin-Skript verfügt nicht über diese Opcodes, was bedeutet, dass es zu keinem Zeitpunkt einen aufgezeichneten aktuellen "Zustand" aufrechterhält. Stattdessen konzentriert es sich auf die Aufzeichnung des Eigentums und ermöglicht die Übertragung von Münzen über UTXOs, mit begrenzten Bedingungen für die Ausführung von Wertübertragungen.
Sehen wir uns an, wie sie funktionieren.
Wie funktionieren Bitcoin-Smart Contracts?
Bitcoin-Smart Contracts sind, ähnlich wie in anderen Netzwerken, Codeschnipsel, die automatisch bestimmte Aktionen ausführen, wenn bestimmte Bedingungen erfüllt sind. Es wird eine eigene Programmiersprache, Script, verwendet, die auf einem "Schlüssel-Schloss-System" basiert, um Smart Contracts auszuführen.
Bei der Initiierung einer Transaktion legt der Absender eine Bedingung oder Regel fest, die als "Schloss" fungiert. Gleichzeitig muss der Empfänger einen entsprechenden "Schlüssel" in Form eines Codes in der Schrift bereitstellen, um die Bedingung des Absenders zu erfüllen.
Arten von Bitcoin-Smart Contracts
Bitcoin-Smart Contracts sind zwar weniger flexibel als die von Ethereum, können aber mit verschiedenen Methoden implementiert werden, um komplexe Transaktionen und Funktionalitäten zu ermöglichen.
Pay-to-public-Key-Hash-Skripte (P2PKH)
Pay-to-public key hash (P2PKH) Skripte sind eine Art von Skript, das in Bitcoin zum Sperren und Entsperren von Transaktionen verwendet wird. Sie sind der häufigste Skripttyp und werden verwendet, um Bitcoins an einen Public-Key-Hash zu senden.
Hier ist eine Aufschlüsselung, wie es funktioniert:
- Pay-to: Gibt an, dass das Skript verwendet wird, um Bitcoins an einen Empfänger zu senden.
- Hash des öffentlichen Schlüssels: Das Skript sperrt die Bitcoins mit einem Hash des öffentlichen Schlüssels des Empfängers.
- Skripte: Eine Reihe von Anweisungen, die ausgeführt werden müssen, um die Bitcoins zu entsperren.
Das P2PKH-Skript hat folgendes Format:
OP_DUP OP_HASH160 <pubkey_hash> OP_EQUALVERIFY OP_CHECKSIG
Wobei:
- OP_DUP dupliziert das oberste Element des Stapels.
- OP_HASH160 nimmt den öffentlichen Schlüssel und hasht ihn mit SHA-256 und dann RIPEMD-160.
- pubkey_hash> ist der gehashte öffentliche Schlüssel.
- OP_EQUALVERIFY prüft, ob der gehashte öffentliche Schlüssel mit dem angegebenen Schlüssel übereinstimmt.
- OP_CHECKSIG prüft die Signatur anhand des öffentlichen Schlüssels.
P2PKH-Skripte werden bei den meisten Bitcoin-Transaktionen verwendet und gelten als sichere und effiziente Methode zur Übertragung von Bitcoins.
Mehrfachsignatur-Skripte (MultiSig)
Multisignatur-Skripte (MultiSig) erfordern mehrere Signaturen (private Schlüssel), um eine Transaktion zu autorisieren. Das bedeutet, dass eine Transaktion nur durchgeführt werden kann, wenn mehrere Parteien zustimmen, was es zu einem leistungsstarken Instrument für sichere und kooperative Transaktionen macht.
Das MultiSig-Skriptformat ist:
m <Schlüssel1> <Schlüssel2> ... <SchlüsselN> n OP_CHECKMULTISIG
Wobei:
- m ist die Mindestanzahl der erforderlichen Unterschriften (Schwellenwert).
- n ist die Gesamtzahl der öffentlichen Schlüssel.
- pubkey1> <pubkey2> ... <pubkeyN> sind die öffentlichen Schlüssel.
- OP_CHECKMULTISIG prüft die Signaturen anhand der öffentlichen Schlüssel.
Ein 2-von-3-MultiSig-Skript würde zum Beispiel zwei von drei Signaturen erfordern, um eine Transaktion zu autorisieren. MultiSig-Skripte bieten eine zusätzliche Ebene der Sicherheit und Flexibilität bei Kryptowährungstransaktionen.
Zeitgesperrte Bitcoin-Transaktionen (nLockTime und nSequence)
Diese Funktion ermöglicht die Erstellung einer Transaktion zu einem beliebigen Zeitpunkt, wobei die Validierung erst zu einem bestimmten zukünftigen Datum oder einer bestimmten Blockhöhe erfolgt. Es ist eine Methode, eine Bitcoin-Transaktion zu planen und ist für verschiedene finanzielle Vereinbarungen von Vorteil. Sie fungiert als eine Art Zeitbeschränkung für Transaktionen.
Zeitgesperrte Transaktionen wurden durch BIP-65 und die Einführung neuer Opcodes in Verbindung mit den Feldern "nLockTime" und nSequence durch BIP-112 möglich gemacht. Mit diesen Opcodes kann ein Eintrag im Wesentlichen den frühesten Zeitpunkt angeben, zu dem er in einen Block aufgenommen werden kann, so dass die Transaktion erst nach einer bestimmten Anzahl von Blöcken oder nach Ablauf einer bestimmten Zeitspanne abgeschlossen werden kann.
nLockTime(TLS):
- nLockTime ist eine Funktion auf Transaktionsebene, die es ermöglicht, eine Mindestblockhöhe oder einen Zeitstempel festzulegen, ab dem eine Transaktion in die Blockchain aufgenommen werden kann.
- Sie stellt sicher, dass eine Transaktion erst dann bestätigt wird, wenn eine bestimmte Zeit oder Blockhöhe erreicht ist.
- nLockTime wird in der Kopfzeile der Transaktion angegeben und wird von den Knoten und Minern durchgesetzt.
nSequence(SQ):
- nSequence ist eine Funktion auf Eingabeebene, mit der eine relative Zeitsperre für jede Eingabe in einer Transaktion festgelegt werden kann.
- Sie gibt die Anzahl der Blöcke an, die vergehen müssen, bevor eine Eingabe ausgegeben werden kann.
- nSequence wird in Kombination mit nLockTime verwendet, um komplexere zeitgesperrte Transaktionen zu erstellen.
nLockTime und nSequence helfen dabei, anspruchsvollere und sicherere Transaktionsabläufe zu erstellen, die neue Anwendungsfälle und Anwendungen auf der Blockchain ermöglichen.
Skript-Hash bezahlen (P2SH - BIP16)
Pay to Script Hash (P2SH) ist eine Bitcoin-Skriptfunktion, die 2012 durch BIP16 (Bitcoin Improvement Proposal 16) eingeführt wurde. Sie ermöglicht es Nutzern, Bitcoins an einen Skript-Hash statt an einen Public-Key-Hash zu senden, was komplexere Transaktionsszenarien ermöglicht.
nsec1a2c9azelclw0dgws4ldgv9xzs29m90gu5q0f86cusen0k7alc87qgm262d
P2SH ermöglicht die Verwendung komplexer Skripte, wie Multi-Signatur (MultiSig) und Smart Contracts, ohne die Skriptdetails in der Transaktion offenzulegen. Nur der Hash des Skripts wird auf der Blockchain gespeichert, was den Speicherbedarf reduziert und die Netzwerkeffizienz verbessert. Darüber hinaus bleibt das Skript privat, bis die Transaktion ausgegeben wurde, was die Privatsphäre der Nutzer verbessert.
So funktioniert P2SH:
- Ein Benutzer erstellt ein Skript und hasst es.
- Der Nutzer sendet Bitcoins an den Hash des Skripts (P2SH-Adresse).
- Um die Bitcoins auszugeben, muss der Nutzer das ursprüngliche Skript offenlegen und dessen Bedingungen erfüllen.
P2SH-Adressen beginnen mit "3" und sind länger als herkömmliche Bitcoin-Adressen. Wallets und Nodes unterstützen sie weitgehend und sind ein wesentliches Merkmal des Bitcoin-Netzwerks geworden.
Pay-to-taproot (P2TR – BIP341)
Pay-to-Taproot-Smart-Verträge (P2TR – BIP341) sind eine Art Bitcoin-Smart-Vertrag, der das Taproot-Protokoll-Upgrade (BIP341) nutzt, um Datenschutz, Flexibilität und Effizienz zu verbessern. Diese Smart Contracts ermöglichen komplexe Bedingungen für die Ausgabe von Bitcoins und gewährleisten gleichzeitig ein hohes Maß an Vertraulichkeit und Effizienz.
Taproot-Smart-Verträge verbergen die Komplexität der Ausgabebedingungen, sodass es für Außenstehende schwierig ist, die genauen Bedingungen zu bestimmen, die für die Ausgabe der Bitcoins erforderlich sind. P2TR-Smart-Verträge unterstützen verschiedene Ausgabebedingungen, einschließlich komplexer Logik und mehrerer Signaturen. Sie sind auch hinsichtlich des Blockchain-Speicherplatzes effizienter, da die komplexen Ausgabebedingungen erst dann offengelegt werden, wenn die Bitcoins ausgegeben werden.
Gibt es NFTs im Bitcoin-Netzwerk?
NFTs (Non-Fungible Tokens) im Bitcoin-Netzwerk haben durch mehrere innovative Methoden und Protokolle an Bedeutung gewonnen, obwohl das ursprüngliche Design von Bitcoin nicht auf komplexe Datenspeicherung oder intelligente Verträge wie Ethereum zugeschnitten ist.
Bitcoin's NFT
Das Netzwerk von Bitcoin war ursprünglich nicht für die Unterstützung von NFTs konzipiert, es wurden jedoch mehrere Methoden und Protokolle entwickelt, um diese Funktionalität zu ermöglichen. Einer der frühesten Versuche, NFTs auf Bitcoin zu erstellen, war Colored Coins. Dieses Konzept verwendet kleine Mengen Bitcoin oder „Satoshis“ als Marker, um das Eigentum an Vermögenswerten darzustellen.
Aufgrund der Einschränkungen der Skriptsprache von Bitcoin gab es jedoch Einschränkungen, was zu einer eingeschränkten Funktionalität und Akzeptanz führte. Counterparty (XCP) wurde 2014 eingeführt und fungiert als Protokoll, das auf der Bitcoin-Blockchain läuft und es Benutzern ermöglicht, Token, einschließlich NFTs, zu erstellen und zu handeln. Es bettet Daten in Bitcoin-Transaktionen ein, um Token zu verwalten, wobei bemerkenswerte Projekte wie „Rare Pepes“, sammelbare Meme-Karten, seine Verwendung veranschaulichen.
Stacks
Stacks (ehemals Blockstack) ist ein weiterer wichtiger Akteur, der eine Layer-2-Blockchain anbietet, die in Bitcoin integriert ist. Es führt Clarity ein, eine neue intelligente Vertragssprache, die die Erstellung und Verwaltung von NFTs erleichtert und gleichzeitig die Sicherheit von Bitcoin nutzt.
In ähnlicher Weise fungiert RSK (Rootstock) als Sidechain und ermöglicht intelligente Verträge auf Bitcoin. Es verwendet eine 2-Wege-Anbindung, um Bitcoin zur Verwendung in Smart Contracts in „Smart Bitcoin“ (RBTC) umzuwandeln und unterstützt so NFTs.
Ordinals
Bitcoin Ordinals, am 20. Januar 2023 vom Entwickler Casey Rodarmor eingeführt, markierten einen bedeutenden Schritt bei der Tokenisierung auf der Bitcoin-Blockchain. Dieses Protokoll ermöglicht es Benutzern, Daten wie Texte, Bilder, Videos und sogar Smart Contracts direkt in die Bitcoin-Blockchain einzutragen. Ordinals, bekannt als Bitcoin NFTs, haben in der Kryptowährungs-Community sowohl Begeisterung als auch Skepsis hervorgerufen.
Ordinalzahlen wurden durch wichtige Bitcoin-Netzwerk-Upgrades ermöglicht: das 2017 Segregated Witness (SegWit) und das 2021 Taproot-Upgrade. Diese Verbesserungen verbesserten die Fähigkeit von Bitcoin, intelligente Verträge und große Datenmengen zu verarbeiten. Inschriften sind Informationen, die in Satoshis, den kleinsten Einheiten von Bitcoin, eingebettet sind.
BRC-20
Wie der ERC-20-Standard von Ethereum ermöglicht BRC-20 die Erstellung und Übertragung von fungiblen Token im Bitcoin-Netzwerk durch Ordinalinschriften.
BRC-20-Token erlebten in nur drei Monaten ein schnelles Wachstum und erreichten eine Marktkapitalisierung von 1 Milliarde US-Dollar. Dieser Anstieg führte jedoch aufgrund der zahlreichen generierten nicht ausgegebenen Transaktionsausgaben (UTXOs) zu einer erheblichen Überlastung des Netzwerks, was zu einem Rückstau im Netzwerk führte.
Bitcoin Runes
Bitcoin Runes führt eine neue Möglichkeit ein, intelligente Verträge und programmierbare Vermögenswerte im Bitcoin-Netzwerk zu implementieren, ohne dessen Kernstruktur zu ändern. Runes wurde entwickelt, um die Erstellung fungibler Token zu vereinfachen und UTXO-Aufblähungsprobleme von BRC-20-Tokens zu beheben. Es verwendet das UTXO-Modell von Bitcoin und den OP_RETURN-Opcode.
Runes weist UTXOs mithilfe von Protokollnachrichten eindeutige digitale Assets zu, die Details wie Runen-ID, Ausgabeindex und Menge enthalten, die alle in OP_RETURN-Ausgaben gespeichert sind. Diese Methode nutzt den On-Chain-Datenspeicher von Bitcoin und reduziert so die Entstehung übermäßiger UTXOs, die das Netzwerk überlasten können.
Runenguthaben werden innerhalb von UTXOs verfolgt und nicht mit Wallet-Adressen verknüpft. Sie werden über Bitcoin-Transaktionen mit OP_RETURN-Ausgängen übertragen, die die Übertragungsdetails angeben. Runen können mithilfe von Nachrichten (Runensteinen), die in Bitcoin-Transaktionsausgaben gespeichert sind, erstellt (geätzt), generiert (geprägt) und übertragen werden.
Beim Ätzen werden Eigenschaften wie Name und Symbol festgelegt, beim Prägen werden Token basierend auf diesen Eigenschaften erstellt und bei der Übertragung müssen die Ausgabenummer, die Runen-ID und der Betrag angegeben werden.
Herausforderungen bei der Implementierung von NFTs auf der Bitcoin-Blockchain
Die Integration von NFTs in das Bitcoin-Netzwerk ist aufgrund der Blockgröße und des begrenzten Transaktionsdurchsatzes von Bitcoin mit Herausforderungen verbunden, was die Skalierbarkeit zu einem erheblichen Problem macht. Die Implementierung von NFT-Funktionalitäten erfordert aufgrund ihrer Komplexität häufig Layer-2-Lösungen oder Sidechains.
Anwendungsfälle und Beispiele
NFTs haben im Bitcoin-Netzwerk verschiedene Einsatzmöglichkeiten. Beispiele hierfür sind digitale Kunst, Sammlerstücke und einzigartige digitale Vermögenswerte. Projekte wie Rare Pepes und das Ordinals-Protokoll haben digitale Kunstsammlungen und Sammlerstücke ermöglicht. NFTs wurden auch mithilfe von Stacks oder RSK in Gaming-Plattformen integriert, was zeigt, wie vielseitig sie sein können.
Zukunftsaussichten
NFTs haben im Bitcoin-Netzwerk eine vielversprechende Zukunft. Die laufende Entwicklung Bitcoin-basierter NFT-Protokolle und das gestiegene Interesse von Benutzern und Entwicklern deuten auf eine zunehmende Akzeptanz hin. Es besteht Potenzial für kettenübergreifende Lösungen, die die Interoperabilität verbessern und es NFTs ermöglichen könnten, zwischen Bitcoin und anderen Blockchains zu wechseln und so ihren Nutzen und ihre Reichweite zu erweitern.