Ist es möglich, zu verhindern, dass Knoten auf einer privaten Blockchain schürfen?

Ist es möglich, das Mining in einer geschlossenen Blockchain zu verhindern, in dem Sinne, dass nur eine Reihe von Adressen Transaktionen durchführen, aber nicht minen dürfen?

Das Mining sollte immer von einer vorgewählten Anzahl von Knoten mit bekannten Adressen durchgeführt werden.

Die Lösung wäre vorzuziehen, Pyethapp oder Pyethereum zu verwenden.

Sie können geth so einrichten, dass es keine neuen Knoten entdeckt und einen maximalen Satz von Peers hat, mit einer Liste vordefinierter statischer Knoten ( ethdocs.org/en/latest/network/connecting-to-the-network.html ). Obwohl dieses Setup ungültige Knoten nicht zurückweist. Zusammen mit Firewall-Regeln zum Trennen von Verbindungen von unbekannten Orten kann es für Tests funktionieren.
Vielen Dank. Ich dachte an eine Lösung, die auf Whitelisting basiert; nur Transaktionen von einem bekannten Satz von Adressen zulassen und alle anderen verwerfen. Ich frage mich, ob das in den Python-Implementierungen möglich ist?

Antworten (2)

Was Sie suchen, ist eine zugelassene Blockchain . Standardknotenclients wie geth, eth oder pyehtereum implementieren diese Art von Funktionalität nicht, daher benötigen Sie etwas Komplexeres, das eine Berechtigungsschicht implementiert.

Einige gute Ausgangspunkte sind die Eris-Plattform (mein Favorit, ich mag die Gesamtarchitektur und den Docker-Ansatz) oder die BlockApps STRATO-Plattform , Ethereum-Plattform out-of-the-box und Microsoft Azure ready .

Weitere Informationen zu öffentlichen und privaten Blockchains finden Sie in diesem Beitrag von Vitalik Buterin .

Sie können grundsätzlich einige gethmit und einige ohne beginnen --mine. Wenn Sie dies wirklich erzwingen wollen, sollten Sie die Maschinen mit Privilegien konfigurieren, sodass sie nur ein Skript starten können, das Mining durchführt, und einige, die dies nicht tun. Einfache Sysadmin-Aufgabe, richtig?

Nein, es ist keine einfache Aufgabe, da sie gegen das verteilte Prinzip der Blockchain verstößt. Mein Setup ist, dass ich eine Instanz auf pyethapp habe, die auf einer Maschine und eine auf einer separaten Maschine läuft (diese Boxen haben unterschiedliche Netzwerkadressen), und diejenige, die anfänglich die Blockkette speichert, sollte der anderen nicht erlauben, abzubauen.