Wäre es möglich, einen Mining-Pool-Dienst zu erstellen, der speziell nur bestimmte Transaktionen verarbeitet?

Ich habe gesehen, dass es möglich ist, benutzerdefinierte Daten in der Blockchain zu codieren.

Ich frage mich, ob es möglich ist, dass jemand einen Mining-Pool gründet, der aus Kunden besteht, die einige Metadaten entweder in Brieftaschen oder ihren Transaktionen verwenden, um nur einige Transaktionen zu verarbeiten, möglicherweise ohne Gebühren, die ein Bestätigungszeit-Service-Level bieten.

Wenn ja, wie würde man die Menge an Verarbeitungsleistung bestimmen, die erforderlich ist, um ein bestimmtes Service-Level zu erfüllen?

Würde dieser Dienst einige grundlegende technische Mechanismen des Bitcoin-Netzwerks untergraben?

Antworten (1)

Soweit ich weiß, fragen Sie, ob man einen Client, der in einem Mining-Pool läuft, so anpassen kann, dass er einige Transaktionen bevorzugt, basierend auf Faktoren wie den enthaltenen Metadaten oder dem Ort, von dem sie gesendet wurden.

Die Antwort lautet: Ja, es wäre ziemlich einfach, wenn Sie in der Lage wären, einen benutzerdefinierten Client oder eine Pool-Software zu programmieren.

Die Suche nach einer Information in einer Transaktion ist ziemlich einfach und sollte nicht zu viel Rechenleistung erfordern (man könnte zum Beispiel OP_PUSHDATA und später OP_DROP verwenden, um einige Daten zu speichern, ohne die Transaktion zu beeinträchtigen). Der Nachteil ist, dass jeder sehen konnte, welche Transaktionen möglicherweise so vorbereitet wurden.

Wenn Sie basierend darauf unterscheiden wollten, woher die Daten stammen (z. B. Ihr eigenes eWallet oder eine benutzerdefinierte Brieftasche, die auf einem Computer ausgeführt wird), müssten Sie etwas mehr Zeit mit dem Codieren verbringen, aber Sie könnten nicht zwischen Ihren speziellen Transaktionen unterscheiden und die normalen. Sie könnten zum Beispiel den Client codieren, um die Transaktion in ein Datenpaket zu verpacken und es mit einem bestimmten Schlüssel und Algorithmus zu signieren, bevor Sie es an Ihren Server senden. Sie müssten einen speziellen Code schreiben, um die Signatur zu überprüfen und die Informationen an den Pool weiterzuleiten, aber es sollte nicht zu schwer sein.

Ein solcher Service würde sicherlich gegen den Geist von Bitcoin verstoßen, und wahrscheinlich würden Sie von der Community eine Gegenreaktion bekommen, wenn sie es herausfände, aber es ist trotzdem möglich. Wenn ein solcher Pool jedoch nicht eine beträchtliche Menge an Hashing-Leistung des Bitcoin-Netzwerks enthalten würde, würde er die Funktionsweise des Netzwerks nicht stören. Wenn es jedoch 51+% Prozent der Hashing-Geschwindigkeit erreichen würde, wie es bei einem solchen Angriff immer der Fall ist, könnte es das gesamte Netzwerk kontrollieren.

Nur um das klarzustellen, ich habe nicht die Absicht, zu versuchen, einen solchen Dienst zu codieren. Auch wenn ich nach der Untergrabung des Netzwerks frage, meine ich wirklich technisch und nicht idealistisch, denn könnte ein solcher Pool alternativer Clients als Angriffsform angesehen werden oder das Netzwerk in irgendeiner Weise destabilisieren? Ich habe zur Verdeutlichung bearbeitet
@barrymac Entsprechend bearbeitet. Grundsätzlich sollte das Netzwerk sicher sein, es sei denn, Sie verfügen über die Mehrheit der Hashing-Macht. Andernfalls würde es nur die Wartezeit für die Aufnahme von Transaktionen in die Blöcke verlängern (im Durchschnitt um den Prozentsatz der Netzwerk-Hashing-Geschwindigkeit, den es besitzt).
Wollen Sie damit wirklich sagen, dass ein Versuch eines bestimmten Kunden oder Pools, einige Transaktionen gegenüber anderen zu beschleunigen, tatsächlich das Gegenteil der beabsichtigten Wirkung haben und sie tatsächlich verzögern würde? interessant!
@berrymac Wenn Sie NUR bevorzugte Transaktionen einbeziehen möchten, würden sich andere Transaktionen verzögern, da sie von anderen Pools abgebaut werden müssten. Wenn Sie einen Block lösen, müssen andere Pools von vorne beginnen, daher die Verzögerung.