Ein Artikel, der Sie tiefer in die Protokolle Arc-20 und Brc-20 einführt

FortgeschritteneFeb 01, 2024
Dieser Artikel geht aus technischer Sicht auf die Details, Vor- und Nachteile der beiden Protokolle ein.
Ein Artikel, der Sie tiefer in die Protokolle Arc-20 und Brc-20 einführt

Einführung

Kürzlich hat die Einführung des Arc-20-Protokolls erneut für Aufregung auf dem Beschriftungsmarkt gesorgt. In diesem Artikel werden die Details sowie die Vor- und Nachteile der beiden Protokolle aus technischer Sicht erläutert.

Warum gibt es Brc-20 und Arc-20?

Bitcoin wurde ursprünglich als sichere, stabile und zuverlässige dezentrale digitale Währung konzipiert. Allerdings eignet sich Bitcoin aufgrund seiner technischen Architektur und der im Vergleich zu Ethereum relativ wenig flexiblen Skriptsprache nicht für die direkte Ausführung von Smart Contracts.

Dennoch haben die innovativen Ideen und mutigen Versuche der Entwickler dem Bitcoin-Ökosystem Wohlstand gebracht. Ein typisches Beispiel ist das Brc-20-Protokoll. Die Kernidee des Protokolls ist eine experimentelle Token-Form, die sich auf Memes konzentriert. Jeder kann diese Token nach dem Prinzip „Wer zuerst kommt, mahlt zuerst“ direkt in der Bitcoin-Kette prägen, ohne auf intelligente Verträge angewiesen zu sein. Das Hauptmerkmal des Brc-20-Tokens ist sein dezentraler Charakter, der Mechanismen wie Privatverkäufe, Vorverkäufe und Freischaltung oder Absteckung eliminiert. Dies gewährleistet ein wirklich dezentrales Engagement.

In diesem Zusammenhang hat das Arc-20-Protokoll erneut ein starkes Interesse an Inschriften geweckt.

Was ist das UTXO-Modell?

Die Protokolle Brc-20 und Arc-20 basieren beide auf der Btc-Kette. Bevor wir also das Arc-20-Protokoll und das Brc-20-Protokoll offiziell vorstellen, wollen wir kurz UTXO (nicht ausgegebene Transaktionsausgabe) verstehen.

Wenn wir über Bitcoin sprechen, ist das UTXO-Modell (Unspent Transaction Output) ein wichtiges Designkonzept. Dabei handelt es sich um eine Art Kontomodell, das von Bitcoin verwendet wird und sich von herkömmlichen Kontostandmodellen wie Bankkonten unterscheidet.

Im UTXO-Modell erzeugt jede Bitcoin-Transaktion eine Reihe nicht ausgegebener Ausgaben, wobei jede Ausgabe eine bestimmte Menge Bitcoin darstellt. Bei diesen nicht ausgegebenen Ausgaben handelt es sich im Wesentlichen um ungenutzte Einheiten digitaler Währung, ähnlich wie Papierscheine oder Münzen. Wenn Sie Bitcoin erhalten, hat jemand tatsächlich eine neue, nicht ausgegebene Ausgabe erstellt, die Ihrer Bitcoin-Adresse zugeordnet ist. Diese Ausgabe ist das UTXO.

Lassen Sie uns das UTXO-Modell anhand eines einfachen Beispiels erklären:

Wenn Sie zwei Transaktionen haben, von denen eine 0,7 BTC und die andere 0,5 BTC erhält, erhalten Sie zwei UTXOs, eines im Wert von 0,7 BTC und eines im Wert von 0,5 BTC. Wenn Sie 1 BTC bezahlen möchten, können Sie nicht einfach ein UTXO verwenden, sondern müssen die beiden UTXOs zu einem neuen UTXO (mit insgesamt 1,2 BTC) zusammenführen und dann 1 BTC mit den restlichen 0,2 BTC an den Empfänger senden als Veränderung zu dir selbst zurückgekehrt. Die tatsächliche Änderung kann jedoch weniger als 0,2 BTC betragen, da Benutzer eine Transaktionsgebühr an die Miner zahlen müssen, um den reibungslosen Ablauf der Transaktion sicherzustellen.

Technische Umsetzung des Brc-20-Protokolls

BRC-20 ist ein experimenteller Standard, der die Möglichkeit demonstriert, fungible Token auf Schicht 1 von Bitcoin zu erstellen, indem er Ordinaltheorie und Inschriften nutzt. Das Ordinals-Protokoll (das erste nach den Protokollstandards geprägte Token) ermöglicht das Einprägen von Inhalten, einschließlich Text, Bildern oder Videos, auf die kleinste Einheit von Bitcoin, Satoshi, und so die Schaffung einzigartiger digitaler Assets.

Die Ordinaltheorie ist der Schlüssel zur Implementierung von Inschriften im BTC-Netzwerk.

Jeder Satoshi ist im Wesentlichen gleich, und Ordinals haben mithilfe der Erzähltheorie ein Satoshi-Ordnungsprotokoll entwickelt. Diese Reihenfolge basiert auf dem Mining von Satoshis und der Reihenfolge ihrer Transaktionseingaben und -ausgaben.

Es gibt verschiedene Möglichkeiten, Ordnungszahlen darzustellen:

  • Ganzzahlschreibweise: 2099994106992659 ist eine Ordnungszahl, die entsprechend der Reihenfolge zugewiesen wird, in der Satoshi abgebaut wird.
  • Dezimalschreibweise: 3891094,16797 Die erste Zahl ist die Höhe des Blocks, in dem Satoshi abgebaut wurde, und die zweite Zahl ist der Versatz von Satoshi innerhalb des Blocks.
  • Gradangabe: 3°111094′214″16797‴. Dazu kommen wir später.
  • Perzentilnotation: 99,99971949060254 %. Gibt die Position von Satoshi im Bitcoin-Angebot an, ausgedrückt als Prozentsatz.

Der Gradausdruck besteht aus vier Teilen: A°B′C″D‴, und A, B, C und D haben unterschiedliche Bedeutungen:

  • A: Zeitraum, nummeriert bei 0. (Periodischer Zyklus: Alle sechs Halbierungen geschieht etwas Magisches: Die Halbierung und die Schwierigkeitsanpassung erfolgen gleichzeitig. Dies ist die sogenannte Konjunktion. Der Zeitraum zwischen den Konjunktionen ist ein Zyklus. Es wird etwa alle 24 Jahre einmal passieren. Konjunktion, die erste Konjunktion sollte irgendwann im Jahr 2032 stattfinden.)
  • Blockindex während der Halbierungsära.
  • Blockindex während der Schwierigkeitsanpassung.
  • Index von Satoshi innerhalb des Blocks.

Die Erzähltheorie bestimmt die Reihenfolge eines Satoshi durch Gradausdruck und definiert durch die Reihenfolge unterschiedliche Seltenheitsstufen für jeden Satoshi, wodurch die Einzigartigkeit jedes Satoshi erreicht wird

  • Häufig: Alle nicht-ersten Satoshi im Block.
  • Gelegentlich: Der erste Satoshi jedes Blocks.
  • Selten: Der erste Satoshi jedes Schwierigkeitsanpassungszyklus.
  • Episch: Der erste Satoshi in jeder Halbierungsepoche.
  • Legendär: Der erste Satoshi jedes Zyklus.
  • Mythos: Der erste Satoshi im Genesis-Block.

Beispielsweise wird ein vorhandener Grad als 1°1′0″0‴ ausgedrückt, wobei

  • 1°: stellt den zweiten Zyklus dar
  • 1′: stellt den ersten Block dar, der nicht der Halbierungszyklus ist
  • 0″: stellt den ersten Block der Schwierigkeitsanpassung dar
  • 0‴: stellt den ersten Satoshi des Blocks dar

Mit der oben genannten Seltenheitsdefinition wird dieser Satoshi als seltener Stoshi definiert.

Der allgemeine Ablauf ist wie folgt:

Wie wird es durch Code in Ordinals implementiert?

py# Berechnen Sie die Erzählung (Belohnung) eines Blocks bei gegebener Höhe

def Subvention(Höhe):

Rückgabe 50*100_000_000 >> Höhe // 210_000

Diese Funktion wird verwendet, um die Belohnung für einen Bitcoin-Block einer bestimmten Höhe zu berechnen, wobei 50*100_000_000 die Startbelohnung von Bitcoin ist und >> der rechte Verschiebungsoperator ist, der einer Division durch zwei ganzzahlige Divisionen entspricht. Diese Funktion gibt eine Ganzzahl zurück, die den Belohnungsbetrag für einen Block bei einer bestimmten Höhe darstellt.

Berechnen Sie die Ordnungszahl der ersten Belohnung für einen Block einer bestimmten Höhe

def first_ordinal(height):

Start = 0

für h im Bereich (Höhe):

Start += Subvention(h)

Rückkehrstart

Diese Funktion berechnet die Ordnungszahl der ersten Belohnung für einen Block in einer bestimmten Höhe. Berechnen Sie die Gesamtzahl der Belohnungen vom ersten Block bis zu einer bestimmten Höhe, indem Sie die Höhen durchlaufen und die Belohnungen für jeden Block akkumulieren, was die Ordnungszahl der ersten Belohnung ergibt.

Ordnen Sie dem angegebenen Block eine Ordnungszahl zu

def ask_ordinals(block):

first = first_ordinal(block.height)

last = first + subsidy(block.height)

Coinbase_ordinals =list(range(first, last))

Ordnen Sie dem angegebenen Block eine Ordnungszahl zu

def ask_ordinals(block):

first = first_ordinal(block.height)

last = first + subsidy(block.height)

Coinbase_ordinals =list(range(first, last))

für Transaktion in block.transactions[1:]:

Ordnungszahlen = []

für die Eingabe intransaction.inputs:

 ordinals.extend(input.ordinals)

für die Ausgabe intransaction.outputs:

 output.ordinals = ordinals[:output.value] 

 der ordinals[:output.value]

coinbase_ordinals.extend(ordinals)

für die Ausgabe in block.transactions[0].outputs:

Output.ordinals = Coinbase_ordinals[:output.value]

der Coinbase_ordinals[:output.value]

Diese Funktion wird verwendet, um einem bestimmten Bitcoin-Block eine Ordnungszahl zuzuweisen. Zunächst wird der Ordnungsbereich der ersten und letzten Belohnungen des Blocks berechnet. Als nächstes iteriert es über jede Transaktion im Block und weist jeder Ausgabe eine Ordnungszahl zu. Schließlich werden den Ausgaben der Transaktion Ordnungszahlen zugewiesen, um sicherzustellen, dass alle Satoshis im gesamten Block eindeutige Ordnungszahlen haben.

Kurz gesagt, durch die Ordinaltheorie machen Originale jeden im Wesentlichen denselben Satoshi durch Verarbeitung einzigartig und definieren eine seltene Vertrautheit für jeden Satoshi durch Regeln, die Realisierung von Sammlungsattributen oder die Formulierung von Regeln, die zum Gameplay passen.

Anwendungsfall

  • Interessant: Einzigartige und interessante Protokolle werden dem Bitcoin-Ökosystem wieder Wohlstand bringen.
  • Ausgabe von Vermögenswerten: BRC-20-Token können als digitale Darstellung von Vermögenswerten, Aktien oder anderen fungiblen Einheiten dienen. Dies können Stablecoins, Utility-Token oder Meme-basierte Token sein.
  • dApp-Integration: Entwickler können BRC-20-Token in dezentrale Anwendungen integrieren, die das Bitcoin-Netzwerk nutzen. Ihre Anwendungen reichen von der Generierung von Erträgen und besicherten Krediten bis hin zum Einsatz für Eigenkapital.
  • Asset-Tokenisierung: Der brc-20-Standard erleichtert die Tokenisierung aller Vermögenswerte oder Interessen und eröffnet viele Möglichkeiten wie tokenbasierte Community- oder DAO-Abstimmungen.
  • Austauschmechanismus: BRC-20-Token können auf der ersten Ebene des Bitcoin-Netzwerks bequem über verschiedene Plattformen ausgetauscht und gehandelt werden. Während sie derzeit über das Orderbuch zugänglich sind, sind kürzlich Pläne aufgetaucht, sie in Liquiditätspool-Börsen zu integrieren.

Arc-20 Technische Umsetzung

Das Atomicals-Protokoll ist ein einfaches und flexibles Protokoll zum Prägen, Übertragen und Aktualisieren digitaler Objekte (traditionell als nicht fungible Token bekannt) auf einer Blockchain mit nicht ausgegebenen Transaktionsausgaben (UTXOs) wie Bitcoin. Ein Atomical (oder „Atom“) ist eine Möglichkeit, die Erstellung, Übertragung und Aktualisierung digitaler Objekte zu verwalten – im Wesentlichen eine digitale Eigentumskette, die durch einige einfache Regeln definiert wird.

Arc-20 übernimmt das farbige Münzmodell, was bedeutet, dass ein Arc-20-Token über eine Satoshi-Unterstützung verfügen muss, im Gegensatz zu Brc-20-Token, die sich durch die Reihenfolge unterscheiden. Da Arc-20-Token vollständig auf Satoshis basieren, können sie geteilt und zusammengeführt werden (ähnlich wie die am Anfang des Artikels erwähnten UTXOs) und direkt über das Bitcoin-Netzwerk übertragen werden.

Mithilfe des Atomicals-Protokolls können wir beispielsweise 100 Satoshis als 100 „Kinokarten“ definieren, und Benutzer können mit einem dieser 100 Satoshis in einem Kino bezahlen, das das Atomicals-Protokoll unterstützt, und als Kinokarte fungieren.

Allerdings können Miner und das Bitcoin-Netzwerk nicht wissen, welche UTXOs „atomisiert“ wurden, was Arc-20-Token fälschlicherweise als Miner-Gebühren betrachten könnte. Um dieses Problem zu lösen, weist Atomicals an, dass jeder Arc-20-Token die erste Ausgabe einer Transaktion sein sollte, um eine versehentliche Zerstörung des Tokens zu vermeiden.

Anwendungsfall

  • Digitale Sammlerstücke, Medien und Kunst
  • Digitale Identität, Authentifizierung und Token-Gating-Inhalte.
  • Webhosting und Dateispeicherung
  • Punkt-zu-Punkt-Swaps und Atom-Swaps
  • Numerische Namensraumzuordnung
  • Virtuelle Land- und Eigentumsregistrierung
  • Dynamische Objekte und Zustände im Spiel
  • Social-Media-Profile, Beiträge und Communities
  • Überall sind Sicherheit und Dezentralisierung zentrale Themen. Mit Sicherheits- und Verifizierungsanforderungen auf Militärniveau.

Brc-20 gegen Arc-20

Als nächstes analysieren und vergleichen wir die Ähnlichkeiten und Unterschiede zwischen den beiden Protokollen.

Brc-20

Die Vereinbarung gliedert sich grob in drei Schritte

  1. Der Bereitsteller muss die relevanten Informationen des Tokens gemäß dem Protokollformat in die BTC-Kette schreiben.

{

„p“: „brc-20“,

„on“: „bereitstellen“,

„tick“: „ordi“,

„max“: „21000000“,

„lim“: „1000“

}

  1. Der Indexer liest Daten, die sich auf Token in der Kette beziehen
  2. Das Off-Chain-Ledger erfasst die relevanten Token-Salden und verarbeitet Transfers

Da die Token-Informationen selbst von BTC nicht erkannt werden können, wenn der Bereitsteller das Token bereitstellt, ist ein Indexer erforderlich, um relevante Daten in der Kette zu erhalten und diese Daten zu verwenden, um ein Hauptbuch außerhalb der Kette zu erstellen, um relevante Historie und prozessbezogene Betriebs- und Leistungsdaten aufzuzeichnen Aktualisierung.

Der Off-Chain-Indexer muss das Offline-Ledger für jede Token-Operation genau erfassen und aktualisieren. Allerdings werden, ähnlich wie bei der Blockchain, mit zunehmender Anzahl von Transaktionen die von den Knoten gespeicherten Daten immer größer. Die Gewährleistung der Integrität des Hauptbuchs und das Finden der Informationen, die in der riesigen Datenmenge geändert werden müssen, wird für BRC-20 zu einer Herausforderung.

Arc-20

Ebenso muss das Arc-20-Protokoll bei der Bereitstellung von Token auch relevante Informationen entsprechend dem Format in der BTC-Kette aufzeichnen.

program.command('init-dft')

.description('Fungible Token (FT) atomar im dezentralen Ausgabemodus initialisieren')

.argument('<ticker>', 'string')

.argument('<mint_amount>', 'number')

.argument('<max_mints>', 'number')

.argument('<mint_height>', 'number')

.argument('<file>', 'string')

.option('—rbf', 'Ob RBF für Transaktionen aktiviert werden soll.')

.option('—funding <string>', 'Wallet-Alias-WIF-Schlüssel für Finanzierung und Wechselgeld verwenden')

.option('—satsbyte <number>', 'Satoshis pro Byte in Gebühren', '15')

.option('—mintbitworkc <string>', 'Ob für die Prägung ein Bitwork-Arbeitsnachweis erforderlich sein soll. Gilt für die Commit-Transaktion.')

.option('—mintbitworkr <string>', 'Ob für die Prägung ein Bitwork-Arbeitsnachweis erforderlich ist. Gilt für die Offenlegungstransaktion.‘)

.option('—bitworkc <string>', 'Ob ein Bitwork-Arbeitsnachweis in die Token-Prägung eingefügt werden soll. Gilt für die Commit-Transaktion.')

.option('—bitworkr <string>', 'Ob ein Bitwork-Arbeitsnachweis in die Token-Prägung eingefügt werden soll. Gilt für die Offenlegungstransaktion.‘)

.option('—parent <string>', 'Ob ein übergeordneter Atomwert erforderlich ist, der zusammen mit der Minze ausgegeben werden soll.')

.option('—parentowner <string>', 'Wallet-Besitzer des übergeordneten Elements, das zusammen mit der Münze ausgegeben werden soll.')

.option('—disablechalk', 'Ob die Echtzeit-Kreideprotokollierung jedes Hashs für Bitwork-Mining deaktiviert werden soll. Verbessert die Mining-Leistung, um dieses Flag zu setzen.‘)

.action(async (ticker, mintAmount, maxMints, mintHeight, file, options) => {

…..

}

Im atomicals-js-CLI- Quellcode finden Sie die Anweisungen zum Initialisieren eines Tokens. Die Parameter, die in der Kette aufgezeichnet werden müssen, sind:

Ticker: Token-Name

mint_amount: Gesamtmenge an Minze

max_mints: die Anzahl der Münzprägungen auf einmal

mint_height: Gibt die Höhe des Blocks an, mit dem Mint beginnen soll

Datei: zugehörige Metadaten

Aber im Gegensatz zu Brc20 verwendet Arc20 ein farbiges Währungsmodell. Nachdem die tokenbezogenen Informationen in die BTC-Kette eingegeben wurden, verankert das Protokoll den Token mit Sats:1 token = 1 sat。

Gleichzeitig ermöglicht die Verwendung des farbigen Währungsmodells Benutzern, Transaktionen direkt über das BTC-Netzwerk statt über Off-Chain-Ledger durchzuführen. Da der Token-Saldo mit den Satoshis in UTXO übereinstimmt, können die damit verbundenen Änderungen im Token intuitiv in der Kette widergespiegelt werden. . Der Indexer in Arc-20 wird nur verwendet, um die relevanten Bereitstellungsinformationen von Token in der Kette zu lesen und zu überprüfen, welche Token mit dem Arc-20-Protokoll kompatibel sind.

Abschluss

Die Designstruktur von Brc-20 basiert mehr auf Off-Chain-Ledgern, während Arc-20 eher den Eigenschaften von Btc entspricht und im Vergleich zu Brc-20 stärker dezentralisiert ist. Das farbige Münzmodell verhindert jedoch, dass Arc-20 die Ausgabe von Meme-Münzen abschließen kann, da Meme-Münzen oft über einen hohen Gesamt-Token-Vorrat verfügen und die Funktion 1 Token = 1 Sat erfordert, dass bei der Ausgabe von Memes eine große Menge an BTC verbraucht werden muss Münzen.

Autor:https://twitter.com/YanAemons@YanAemons

Haftungsausschluss:

  1. Dieser Artikel wurde von [Medium] nachgedruckt. Alle Urheberrechte liegen beim ursprünglichen Autor [@YanAemons]. Wenn Sie Einwände gegen diesen Nachdruck haben, wenden Sie sich bitte an das Gate Learn- Team, das sich umgehend darum kümmern wird.
  2. Haftungsausschluss: Die in diesem Artikel geäußerten Ansichten und Meinungen sind ausschließlich die des Autors und stellen keine Anlageberatung dar.
  3. Übersetzungen des Artikels in andere Sprachen werden vom Gate Learn-Team durchgeführt. Sofern nicht anders angegeben, ist das Kopieren, Verbreiten oder Plagiieren der übersetzten Artikel verboten.
ابدأ التداول الآن
اشترك وتداول لتحصل على جوائز ذهبية بقيمة
100 دولار أمريكي
و
5500 دولارًا أمريكيًا
لتجربة الإدارة المالية الذهبية!
إنشاء حساب الآن