Hat Bitcoin eine Omni-Schicht?

Ich habe mich mit dem Omni-Protokoll befasst und konnte einige Dinge nicht ganz herausfinden. Ich würde Ihre Meinungen wirklich schätzen. Ich habe versucht, mir alle Antworten von Bitcoin Stachexchange anzusehen, aber nichts hat so viel mit dem zu tun, was ich frage.

Zuerst dachte ich, dass Omni eine ganz neue Blockchain ist (sie haben sie von Bitcoin abgezweigt), und dann fügte ich etwas mehr Code hinzu, um Verträge zu implementieren, damit Vermögenswerte übertragen werden konnten.

Zweitens habe ich gelesen, dass Omni Daten in die Bitcoin-Blockchain selbst schreibt.

Frage 1) Warum ist die Omni überhaupt keine neue Blockchain, wenn sie sie von Bitcoin geforkt hat? wir können das auf github sehen.

Frage 2) nehmen wir an, es handelt sich nicht um eine neue Blockchain – dann bedeutet dies, dass mein zweiter Gedanke richtig ist. Wie schreibt es Daten in die Bitcoin-Blockchain? Mir fällt ein Weg ein: P2SH Scripts, wollte aber sicher gehen.

Frage 3) Wenn der Omni gar keine neue Blockchain ist, wie funktioniert dann sein Explorer? Ich schätze, ihr Explorer ruft alle ihre Verwandten P2SH Scriptsvon Bitcoin selbst ab. Rechts ?

Antworten (1)

Frage 1) Warum ist die Omni überhaupt keine neue Blockchain, wenn sie sie von Bitcoin geforkt hat? wir können das auf github sehen.

Wie Murch sagte, verwendet Omni Bitcoin als unveränderliche Datenbank. Omni ist also wie eine separate Blockchain, da die Inhalte von Omni-Transaktionen, die in die Bitcoin-Blockchain eingebettet sind, für Bitcoin-Knoten nicht relevant sind. Wenn es eine ungültige Omni-Transaktion gibt, würden BTC-Knoten sie trotzdem akzeptieren.

Omni hat kein direkt verbundenes Peer-to-Peer-Netzwerk. Es stützt sich auf Daten-Pushs auf Bitcoin.

Frage 2) nehmen wir an, es handelt sich nicht um eine neue Blockchain – dann bedeutet dies, dass mein zweiter Gedanke richtig ist. Wie schreibt es Daten in die Bitcoin-Blockchain? Ich kann mir eine Möglichkeit vorstellen: P2SH-Skripte, wollte aber sicher gehen.

Sie könnten P2SH verwenden – ich habe eine Website, die P2SH verwendet, um Daten in die Blockchain einzubetten, und es funktioniert perfekt. Derzeit verwendet Omni jedoch reine OP_RETURN-Skripte. Höchstwahrscheinlich haben sie nie daran gedacht, P2SH zu verwenden, als sie es zum ersten Mal entworfen haben, damit sie sich möglicherweise keine bahnbrechende Änderung (für Omni, nicht für BTC) leisten können, die P2SH-Daten-Pushs einführt. P2SH-Pushes sind derzeit eigentlich eher machbar .

Frage 3) Wenn der Omni gar keine neue Blockchain ist, wie funktioniert dann sein Explorer? Ich schätze, ihr Explorer ruft alle zugehörigen P2SH-Skripte von Bitcoin selbst ab. Rechts ?

Omni hat seine eigene Software – ein Fork von Bitcoin Core. Sie hören auf das Bitcoin-Netzwerk und aktualisieren ihre Blockchain. Wenn sie jedes Mal Daten von P2SH ziehen würden, wäre das eine Verschwendung von Rechenressourcen.

Jedes Mal, wenn ein neues Omni-Update auf Bitcoin auftritt, aktualisieren sie ihre Blockchain und verwenden dann ihre Blockchain als Datenquelle.

Danke für die Antwort. Was ich nicht verstehe ist folgendes: Okay, Omni ist eine separate Blockchain. Es hat die Smart-Contract-Funktion oder so etwas, sodass wir Assets darauf erstellen und übertragen können. Wenn ich also eine Transaktion durchführe, geht sie an Omni-Knoten. Nun, was macht Omni Node? legt und speichert es nicht das tatsächliche in seinem eigenen Hauptbuch und teilt es mit jedem anderen Knoten? Warum braucht es überhaupt die Bitcoin-Blockchain?
@NikaKurashvili Ihre Transaktion geht nicht an Omni-Knoten. Ihre Transaktionen werden vom Bitcoin-Netzwerk verarbeitet. Sobald sie in einen Block aufgenommen wurde, schreiben die Omni-Knoten, die den neuen Block empfangen, die neue Transaktion, sofern sie gültig ist, in ihre Datenbank. Dies erspart Omni die Notwendigkeit, eigene Netzwerk-Miner zu haben.
Nehmen wir an, ich bin ein normaler Benutzer und werde 3 Assets von meiner Adresse an jemand anderen übertragen. Ich mache eine Transaktion, sie geht an die Omni-Blockchain, die einige Dinge damit macht, damit Bitcoin-Knoten sie akzeptieren. Nachdem Bitcoin-Knoten diese Transaktion haben, fügen sie sie in einen Block ein. Ich denke, Omni hört auf den neuen Block, damit es diesen neuen Block auch zu seiner eigenen Datenbank hinzufügen kann. Bin ich alles richtig? Es stellt sich dann heraus, dass die Omni-Blockchain eine einzige Datenbank zu haben scheint. und der einzige Zweck davon ist, Transaktionen in OP_RETURN-Code oder so zu ändern, damit sie von Bitcoin akzeptiert werden
@NikaKurashvili Nein, nein, Ihre Brieftasche erstellt Ihre Omni-Transaktion und fügt sie dem OP_RETURN Ihrer neuen Bitcoin-Transaktion hinzu (diese beiden Transaktionen werden gleichzeitig erstellt, da auch die Bitcoin-Transaktion der Omni-Spezifikation folgen muss). Die Bitcoin-Knoten empfangen und Bitcoin-Miner akzeptieren Ihre Transaktion. Jedes Mal, wenn ein neuer Block akzeptiert wird, empfangen auch Omni-Knoten, die sich mit Bitcoin-Knoten verbinden, den Block und scannen ihn nach Omni-Transaktionen. Gültige werden zu ihrer Omni-Blockchain hinzugefügt.
aha, im Grunde existieren also Omni-Knoten und sie speichern auch die Kopie des Ledgers. Es ist nur so, dass Omni die Bitcoin-Blockchain verwendet, damit Transaktionsbestätigungen, die Überprüfung von Signaturen, die längste Blockchain-Regel und vieles mehr auf dem Bitcoin passieren. Omni scheint nur ein Umleitungsmechanismus zu sein und ist nur sehr vereinfacht als Bitcoin. richtig ?
@NikaKurashvili Ja, genau! Es ist die Aufgabe von Bitcoin, die akzeptierte, unveränderliche Reihenfolge von Transaktionen zu bestimmen. Der Rest wird von Omni gehandhabt, das kein separates Netzwerk hat, sondern nur auf neue Bitcoin-Blöcke wartet. (Also ja, 100% von dem, was du gesagt hast)
Irgendeine Idee, warum sie OMNI überhaupt implementiert/erstellt haben? Es scheint, als wäre es gut, Assets zu erstellen. Ethereum ist einfach da. Warum überhaupt Omni verwenden?
Weil Ethereum noch nicht existierte, als Omni geschaffen wurde.
Ich habe zwei Fragen, wenn Sie nichts dagegen haben. 1) Wallet erstellt also eine Bitcoin-Transaktion mit OP_RETURN und übergibt seine eigenen Omni-Daten. Ich denke, damit ein Benutzer OMNI verwenden kann, muss er zuerst der Benutzer des Bitcoin sein und einige nicht ausgegebene Transaktionen haben, denn wenn Omni Wallet eine BTC-Transaktion erstellt und sendet, muss sie zuerst mit dem privaten Schlüssel signiert werden das etwas Geld im Bitcoin-Netzwerk besitzt, da Transaktionen kostspielig sind. zustimmen ?
2) gist.github.com/caffeinum/f64a51ce55d5ac9075bb2f5f2f439c0d gibt es eine Zeile - tx.addOutput(recipient_address, fundValue). da wir über token sprechen, warum senden wir eigentlich auch btc an den empfänger ?
@NikaKurashvili 1 ist richtig, deshalb zeigt Omni Core auch das Bitcoin-Guthaben an. 2 weil es die Spezifikation verlangt . (Und die Zieladresse wird Referenz genannt ). 546 Satoshis werden verwendet, da dies der kleinste Betrag ist, während Bitcoin dies als Standardtransaktion betrachtet und
der tatsächlich übertragene Tokenwert steht in OP_RETURN. Das Senden von sehr wenig BTC an die Referenz ermöglicht das Einsparen von Bytes, da die Referenz nicht auch zu OP_RETURN hinzugefügt werden muss.