In diesem Artikel werden wir versuchen, die Hauptaufgabe der Provisionen in Bitcoin, ihre Funktionsweise und ihre Auswirkungen detailliert zu beschreiben. Wir werden die Gründe für die Volatilität der Provisionen, Verzögerungen bei der Bestätigung von Transaktionen erläutern und Ansätze zur Lösung dieser Probleme beschreiben. Darüber hinaus werden wir erläutern, wie genau das Update für getrennte Zeugen zur Senkung der Transaktionskosten beiträgt. Und als Bonus werden wir unsere Gedanken darüber teilen, wie die Freundschaft mit Bergleuten die Provisionen auf Null reduziert und wozu dieser Trend in Zukunft führen könnte. Also fangen wir an.
Transaktionsbestätigungszeit
Es ist wichtig, den Prozess der Verarbeitung von Transaktionen (Verifizierung) vom Prozess ihrer Bestätigung (Bestätigung) zu unterscheiden. Im Bitcoin-Netzwerk werden Transaktionen fast sofort verarbeitet und bestätigt - für eine ganze Stunde. In anderen digitalen Währungen kann alles innerhalb weniger Sekunden erledigt werden. Was bestimmt die Zeit, um eine Transaktion in einer dezentralen Umgebung vollständig zu bestätigen? Meistens aus dem Mechanismus der Konsensbildung.
In seiner reinsten Form kann
PoW nicht in weniger als einer Stunde einen Konsens erzielen.
PBFT- basierte Konsensprotokolle und
DPoS- basierte
Protokolle können wiederum
innerhalb von Sekunden einen Konsens erzielen. Der Grad der Dezentralisierung und Unabhängigkeit solcher Systeme ist jedoch viel geringer als bei Bitcoin.

Gemäß den Regeln des Bitcoin-Protokolls müssen die Eigentümer des größten Teils der Rechenleistung die Transaktion (den Block, der diese Transaktion enthält) bestätigen, um als vollständig bestätigt zu gelten. Das heißt, basierend auf dem Block, in dem die Transaktion die erste Bestätigung erhalten hat, müssen mehrere weitere Blöcke erstellt werden. Darüber hinaus sollte diese Kette die längste sein und es sollte keine wettbewerbsfähigen Ketten geben. Die Anzahl dieser Blöcke (Transaktionsbestätigungen) wird vom Zahlungsempfänger nach eigenem Ermessen selbst festgelegt. Er orientiert sich an der Regel, dass je mehr Bestätigungen eine Transaktion hat, desto weniger wahrscheinlich ist, dass sie später storniert wird.
Bandbreitenbeschränkungen
Mit der Popularität von Bitcoin hat der Fluss neuer Transaktionen im Netzwerk erheblich zugenommen. Es ist bekannt, dass die Blockgröße durch die Protokollregeln bestimmt wird und streng begrenzt ist. In Bitcoin beträgt die maximale Blockgröße 1 MB, daher ist die Bandbreite begrenzt (1,7 KB / s). Wenn der Fluss neuer Transaktionen den Durchsatz überschreitet, werden nicht alle verarbeitet. Und solche Situationen passieren oft. Welche Transaktionen werden zuerst bestätigt und welche warten - dies ist eine Frage, die eine klare Antwort erfordert. Das Wesentliche ist, dass Transaktionen miteinander konkurrieren müssen.
Die Rolle der Kommissionen
Der Provisionsmechanismus in Bitcoin ist erforderlich, um verteilte Netzwerkdienste zu bezahlen, bei denen der Netzwerkdienst tatsächlich eine zuverlässige Datenspeicherung ist. Benutzer des Bitcoin-Netzwerks zahlen tatsächlich für jedes Datenbyte, das der gemeinsamen Datenbank hinzugefügt wird. Aufgrund der Tatsache, dass die Bandbreite dieser Datenbank begrenzt ist, konkurrieren Benutzer untereinander um die Priorität der Aufzeichnung.

Bei der Bildung von Transaktionen legen Benutzer eine Provision in Form einer bestimmten Menge Satoshi für ein Datenbyte fest. Darüber hinaus stellt jeder Validierungsknoten alle nicht bestätigten Transaktionen so in die Warteschlange, dass zunächst Transaktionen bestätigt werden, für die eine hohe Provision für eine Gewichtseinheit gezahlt wird. Offensichtlich können Transaktionen, die am Ende der Warteschlange stehen, lange Zeit nicht bestätigt werden.
Eine weitere wichtige Aufgabe, die der Kommissionsmechanismus löst, ist die „Tragödie der Gemeinschaften“. Im Zusammenhang mit Bitcoin wird der Schutz vor Spam durch Transaktionen impliziert. Das Vorhandensein von obligatorischen Provisionen bedeutet, dass es für einen Angreifer teuer sein wird, das Netzwerk für lange Zeit mit gefälschten Transaktionen zu verstopfen, wenn er solche Absichten hat.
Schreiben Sie die Preisvolatilität
Benutzer von Bitcoin-Netzwerken stoßen von Zeit zu Zeit auf ungewöhnlich hohe Provisionsvolatilität. Zum Beispiel lag der durchschnittliche Preis für das Schreiben eines Datenbytes in die Bitcoin-Blockchain im Jahr 2017 zwischen 1 und 500 Satoshi. Und die Warteschlange unbestätigter Transaktionen reichte von einigen KiB bis zu zehn und sogar Hunderten von MiB.
Aufgrund der Tatsache, dass sich der Preis für die Datenaufzeichnung dramatisch ändern kann, sind Benutzer gezwungen, fast blind miteinander zu konkurrieren. Dies liegt daran, dass die Transaktion im Durchschnitt innerhalb von 8 Minuten bestätigt wird, während die Bearbeitungsgebühr vor der Unterzeichnung festgelegt werden muss. Daher bleibt die Frage einer ordnungsgemäß eingerichteten Provision weiterhin relevant, da jeder eine schnelle Bestätigung seiner Transaktionen mit minimalen Kosten wünscht. Natürlich ist die Zahlung von mehr als 50 USD für eine typische Transaktion nicht die beste Option, insbesondere wenn Sie bei korrekter Berechnung der Provision bis zu 90% dieses Betrags sparen können.
Die Folgen eines starken Anstiegs des Flusses neuer Transaktionen sind die Entstehung einer großen Warteschlange ausstehender Transaktionen in der Blockchain von Transaktionen. Darunter sind diejenigen Transaktionen, deren Absender entweder die Änderung des Rekordpreises nicht beachtet oder im Moment vor dem starken Anstieg eine Transaktion gebildet haben. Oft liegt das Problem nicht beim Benutzer, sondern bei der Brieftaschensoftware oder den Bitcoin-Verwaltungsdiensten. Ein aktiver Benutzer stößt häufig auf Softwareprodukte für die Arbeit mit Bitcoin, bei denen die Provisionsverwaltung im Allgemeinen verborgen ist.
Lösung des Problems mit der Volatilität der Provisionen
Unabhängig davon, ob es möglich ist, die Priorität der Aufzeichnung generierter Transaktionen manuell zu steuern, können Bitcoin-Wallets Mechanismen verwenden, um den aktuellen Preis für die Datenaufzeichnung zu schätzen, anstatt konstante oder manuell aktualisierte Werte zu verwenden. Dies gibt der Brieftasche einen großen Vorteil in Bezug auf die Verwaltung der Priorität der Aufzeichnung der Transaktion in einer gemeinsamen Datenbank und die Einsparung von Provisionskosten.
Es sollte beachtet werden, dass eine Prognose des Preises eines Datensatzes ebenfalls möglich ist, diese Prognosen jedoch häufig nur für sehr kurze Zeiträume (im Durchschnitt mehrere Minuten) funktionieren. Wenn die Prognose veraltet ist und die Transaktion nicht bestätigt wird, können Sie wahrscheinlich lange auf die Bestätigung warten - meistens mehrere Stunden und manchmal sogar Tage.
Transaktionsgebühr = Transaktionsgröße * BytepreisDynamische oder adaptive Berechnung einer Transaktionsgebühr bedeutet eine automatische Bewertung der gesamten Transaktionsgröße in Bytes und eine Schätzung des Preises für das Schreiben eines Bytes in die Bitcoin-Blockchain für die nächsten Stunden. Für beide Bewertungen gibt es spezielle Algorithmen zur Analyse von Transaktionen und Aktivitäten im Netzwerk. Nach dem Erhalten einer Schätzung der Transaktionsgröße in Bytes und des Aufzeichnungspreises von einem Byte werden diese Werte multipliziert und der tatsächliche Betrag in Bitcoins erhalten, der der Transaktion als Provision hinzugefügt werden muss.
Der Vorteil des adaptiven Bewertungsansatzes besteht darin, dass eine genauere Provision in die Transaktion einbezogen wird, die über dem Mindestschwellenwert liegt, jedoch nicht zu hoch ist, wodurch das Geld des Benutzers gespart wird. Darüber hinaus ist die Wahrscheinlichkeit, dass sich die Transaktion tief in der Warteschlange der unbestätigten befindet, minimal. Es gibt jedoch Ausnahmen. Daher betrachten wir genauer, was im Notfall wichtig ist.
Provisionserhöhung nach Transaktionsversand
Beachten Sie, dass das Bitcoin-Protokoll in Bezug auf Provisionen sehr flexibel ist. Beispielsweise gibt es zwei Protokollverbesserungen: Ersetzen durch Gebühr und Kindergeld für Eltern, mit denen Sie die Provision für eine bereits generierte und gesendete Transaktion erhöhen können. Leider implementieren nur sehr wenige Geldbörsen diese Funktionalität für die Benutzer, obwohl sie im Laufe der Zeit immer umfangreicher werden.
Darüber hinaus weist diese Funktion eine Reihe technischer Nuancen und organisatorischer Anforderungen für die korrekte Verwendung auf. Eine dieser Anforderungen besteht darin, dass der Benutzer (oder die Software im automatischen Modus) die Transaktionsgebühr neu bewerten, eine neue (alternative) Transaktion bilden und signieren, an das Netzwerk verteilen und ihren Status weiter überwachen muss.
Wie getrennte Zeugen helfen
Eine der Protokolländerungen, die durch das Segregated Witness-Update eingeführt wurden, ist die Einführung eines neuen Transaktionsformats und seines Transaktionsgewichts. Vor dem Aufkommen von Segregated Witness wurde bei der Berechnung der Provision normalerweise nur der Umfang der Transaktion berücksichtigt. Jetzt sind sowohl Größe als auch Transaktionen und deren Gewicht wichtig. Die neue Transaktion speichert den Besitznachweis für Münzen in einer separaten Struktur (Zeugenaussagen). Um die Gesamtgröße einer Transaktion in ihr Gewicht zu übersetzen, wird die Größe der Zeugendaten mit einem kleineren Koeffizienten multipliziert als die übrigen Transaktionsdaten. Das Transaktionsgewicht wird nach einer speziellen Formel berechnet:
Gewicht = Grundgröße * 3 + Gesamtgröße .
In diesem Fall entspricht die Basisgröße der Größe der Transaktion, ausgenommen die Größe der Zeugen. Wie Sie vielleicht erraten haben, erfordern alle Daten, die in Zeugen-Daten enthalten sind, viermal weniger Provision als andere Transaktionsdaten. Ein solcher Ansatz ermöglicht es Bergleuten, eine rentablere Transaktion in Bezug auf den im Block belegten Platz und die erhaltene Belohnung zu bestimmen.
Es ist bekannt, dass etwa 60% aller Transaktionsdaten genau der Besitznachweis für Münzen sind (d. H. Solche, die in Zeugen-Daten aufgezeichnet werden können). Dementsprechend wird sich das Gewicht der Transaktionen des neuen Formats erheblich verringern. Somit kann der Benutzer weniger für die Bestätigung einer neuen Transaktion bezahlen, während er unter Bergleuten die gleiche Priorität hat, wenn er in den Block aufgenommen wird, wie die alte Transaktion mit einer höheren Provision.

Das Diagramm zeigt die Abhängigkeit des Schreibpreises eines Datenbytes in der Bitcoin-Blockchain von der Last (Strom nicht bestätigter Transaktionen), ausgedrückt in Bytes pro Sekunde. Die Schlussfolgerung kann sehr einfach gemacht werden: Wenn der Fluss neuer Transaktionen geringer oder gleich dem Durchsatz des Buchhaltungssystems ist, ist der Aufzeichnungspreis nahezu Null. Und wenn der Fluss neuer Transaktionen den Durchsatz übersteigt, steigt der Preis stark an.
Option mit einem Freund Bergmann
Stellen Sie sich vor, Sie haben einen Freund, der Bergbau betreibt und 10% der gesamten im Bitcoin-Netzwerk enthaltenen Verarbeitungsleistung kontrolliert. Im Durchschnitt wird alle 100 Minuten ein Block generiert. In diesem Fall können Sie Ihre eigene Transaktion erstellen, in der Sie eine Provision von Null festlegen und diese Transaktion dann zur Bestätigung an Ihren Freund senden.

Ihre Transaktion mit einer Wahrscheinlichkeit von 50% erhält die erste Bestätigung innerhalb von 50 Minuten und die vollständige Bestätigung - durchschnittlich 50 Minuten nach der ersten. Infolgedessen erhalten Ihre Transaktionen innerhalb von ca. 100 Minuten eine vollständige Bestätigung. Wenn Sie keinen solchen Freund hätten, würde die Transaktion innerhalb von etwa 60 Minuten eine vollständige Bestätigung erhalten, jedoch mit der Zahlung einer vollständigen Provision.
Wie Sie sehen können, haben Sie Glück, wenn Sie einen Bergmann haben, wenn es darum geht, Geld zu sparen. Aber wenn es keinen solchen Freund gibt, gibt es möglicherweise alternative Möglichkeiten, um einen Platz im Block zu bezahlen.
Tokenisierungsoption platzieren
Normalerweise arbeitet der Miner nach dem Standardschema und sortiert Transaktionen nach dem Preis für das Schreiben von 1 Byte Daten in die Blockchain. Jeder scheint es jetzt zu tun. Es ist jedoch möglich, dass der Bergmann eine bessere Motivation hat. Er kann unabhängig eine Politik der Monetarisierung seiner Tätigkeit formulieren. Mit anderen Worten, es kann in Bezug auf Transaktionen, die es in seinen Block schreibt, nicht standardisiert handeln. Wenn es günstigere Bedingungen gibt, als nur eine Provision für Ihre Transaktion zu erhalten, wird er höchstwahrscheinlich seine Richtlinien ändern.
Bei diesem Ansatz wird davon ausgegangen, dass Benutzer den Bergmann für die Bestätigung ihrer Transaktionen nicht über eine festgelegte Provision, sondern direkt (nach ihrem eigenen Schema) bezahlen.
In der Praxis kann jeder ausreichend große Bergbaupool seine Kampagne durchführen, um die Rentabilität zu steigern und dafür einfache Mechanismen zu verwenden, zum Beispiel:
- Definieren Sie Ihre Prioritäten für die Transaktionssortierung
- eine Partnerschaft mit einem bestimmten Dienst eingehen (Austausch, Speicher, Browser);
- Verkaufsgarantien für einen bestimmten Platz im Block in der Zukunft.
Darüber hinaus kann der Pool sogar freien Speicherplatz in seinen Blöcken tokenisieren (ja, um Token zu verkaufen).
Fazit
Wahrscheinlich werden wir in Zukunft viele verschiedene Möglichkeiten sehen, um für einen Eintrag in der „zuverlässigsten Datenbank der Welt“ zu bezahlen. Angesichts des Interesses vieler Dienste und Anwendungen an den Eigenschaften dieser Datenbank gibt es seit langem Lösungen von Drittanbietern zum Hinzufügen beliebiger Daten zur Bitcoin-Blockchain zum Zweck ihrer zuverlässigen „Zeitstempelung“. Solche Lösungen passen jedoch nicht gut zum Anwendungs-Ökosystem, und es ist für Entwickler schwierig, sie zu monetarisieren.
Im Moment mag die Option, Transaktionen „durch Freundschaft“ voranzutreiben, und die Option, freien Speicherplatz in Blöcken zu kennzeichnen, komisch erscheinen, aber im gegenwärtigen Entwicklungstempo der Branche könnten sich solche Szenarien als machbar herausstellen. Darüber hinaus können sie in der Beziehung zwischen Benutzern und Validatoren von grundlegender Bedeutung sein, dies ist jedoch nicht korrekt.