Befugnis zur Unterzeichnung von Transaktionen und was Sie damit tun können

Ich habe mit staatlichen Kanälen herumgespielt und fange an, die Macht des Signierens von Informationen/Transaktionen zu erkennen, habe aber keine ganz klare Vorstellung davon, was ich damit machen kann. Ich denke , ich kann Folgendes tun und würde es wirklich schätzen, Klärung, zusätzliche Gedanken und wo ich einfach falsch liege!

  1. Eine Zahlung signieren, aber nicht an die Blockchain senden, sondern an eine andere Person senden, um sie dann an die Blockchain zu senden.

Die unterzeichnete Transaktion verhält sich wie ein Scheck (GB)/Scheck (US). Ich unterschreibe eine Zahlung, aber anstatt die Daten an die Blockchain zu senden, kann ich sie an die Person senden, der ich Geld schulde, und sie sendet es an die Blockchain, und daher zahlen sie die Transaktionsgebühr, ein bisschen wie ein staatlicher Kanal sendet die signierte Nachricht an die andere Partei, ohne überhaupt über die Blockchain zu gehen.

  1. Eine Zahlung unterschreiben, dabei aber eine alte stornieren.

Stellen Sie sich vor, ich tue das oben Gesagte, aber bevor der Empfänger der signierten Transaktion sie an die Blockchain übergibt, schulde ich ihm mehr Geld. Also unterzeichne ich eine neue Transaktion, die die Summe aus dem ursprünglichen + dem neuen Geld ist, das ich schulde. Gibt es eine Implementierung, die ich verwenden kann, um zu bedeuten, dass die alte Transaktion nicht funktionieren würde, wenn sie die neue einreichen (oder umgekehrt?) - Ich denke vage an Nonces/Sequenznummern oder so etwas. Ich kann es mir nicht ganz vorstellen, aber ich weiß, dass ich bei staatlichen Kanälen für beispielsweise eine Schachpartie, wenn ich einen Zug an die Blockchain sende, keine früheren Züge basierend auf der Sequenznummer übermitteln kann. Was ist mit zukünftigen ....? Irgendwelche skurrilen Ansätze hier?

  1. Zahlung der Transaktionsgebühren im Namen einer unterzeichneten Transaktion

Wenn ich eine Transaktion unterschreibe, sie aber an jemand anderen schicke, anstatt an die Blockchain, damit sie sie einreichen kann, wer zahlt dann die Transaktionsgebühr? Die Person, die bezahlt hat, hat die Transaktion gesendet, oder die Person, die die Transaktion unterzeichnet hat?

  1. Unterzeichnen einer Transaktion zum Bereitstellen eines Vertrags

Stellen Sie sich vor, ich habe einen Vertrag, der nicht in der Blockchain bereitgestellt wurde. Jemand anderes möchte es einreichen, damit er der Vertragseigentümer ist. Können sie eine Transaktion unterzeichnen, die bedeutet, dass ich diesen Vertrag in ihrem Namen bereitstellen kann? Wenn ja, was ist hier der Mechanismus? Der Vorteil besteht darin, dass sie für die Bereitstellung des Vertrags bezahlen und nicht für mich. Oder ist die einzige Möglichkeit, wenn ich ihren privaten Schlüssel nicht habe, ihn bereitzustellen und ihnen das Eigentum zu übertragen?

  1. Wenn ich Geld in meiner Brieftasche habe und im Namen einer anderen Person, die kein Geld in ihrer Brieftasche hat, etwas über einen Smart Contract kaufen möchte, kann sie eine Transaktion unterzeichnen und an mich senden, damit ich sie senden kann den Vertrag und zahle die Kosten selbst, aber sie werden auf der Blockchain als Zahler registriert. Mir ist klar, dass dies möglicherweise nicht in der Transaktion auftaucht, da sie die Person ist, die bezahlt hat, aber aus der Perspektive des Smart Contracts sagen wir, es gibt eine Funktion, payableich bezahle diese Funktion, aber die Funktion zeichnet im Vertrag ihre Adresse auf (vielleicht ihre Adresse steht im Datenfeld der Transaktion) - gibt es dafür eine Standardvorgehensweise?

Danke!

Antworten (1)

Eine Zahlung signieren, aber nicht an die Blockchain senden, sondern an eine andere Person senden, um sie dann an die Blockchain zu senden.

A kann eine Transaktion unterzeichnen, die besagt, dass eine bestimmte Menge an Token oder Ether an B geht, und B kann sie dann an die Blockchain übermitteln. A kann jedoch gleichzeitig alle seine Gelder auf ein anderes Konto verschieben, sodass die an B gesendete Transaktion ungültig wird.

Aus diesem Grund sperren die Teilnehmer in staatlichen Kanälen eine Menge Ether oder Token. Diese werden in einem Smart Contract gespeichert, dann kann B die unterzeichnete Transaktion an den Smart Contract senden, um sicherzustellen, dass die Gelder nicht von A bewegt werden können.

Eine Zahlung unterschreiben, dabei aber eine alte stornieren.

Der Schlüssel hier ist die Nonce. Stellen Sie sich vor, A zahlt B x Ether, sie stimmen zu, dass B es später einreichen wird. Stellen Sie sich vor, A muss eine neue Zahlung an B leisten, und B hat die vorherige Rechnung nicht eingereicht. A kann eine neue Zahlung mit derselben Nonce und dem aktualisierten Betrag veranlassen. Nur eine dieser Transaktionen ist gültig und B wird auf jeden Fall die mit dem vollen Betrag einreichen.

  1. Zahlung der Transaktionsgebühren im Namen einer unterzeichneten Transaktion
  2. Signieren einer Transaktion zum Bereitstellen eines Vertrags 5.

Das Konto wird von dem Konto signiert, das es signiert hat.

Sie können natürlich einen Vertrag erstellen, der es einer Person ermöglicht, etwas zu bezahlen und es an eine andere Person zu senden, aber nicht über den von Ihnen beschriebenen Mechanismus.

Ich hoffe das hilft.