Vor kurzem habe ich etwas über Blockchains und Smart Contracts geforscht. Dabei bin ich auf das Konzept öffentlicher, zugangskontrollierter und privater Blockchains und Smart Contracts gestoßen. Ethereum und Eris können verwendet werden, um solche Arten von Dapps zu entwickeln. Aber dazu brauche ich noch eine Erklärung.
Im Fall von Ethereum sollte der Benutzer von Dapp über einen Ethereum-fähigen Browser wie Mist oder einen Browser mit Metamask und einen lokalen Knoten verfügen, um mit Ethereum und den Smart Contracts von Dapp zu interagieren.
Müsste ein Benutzer also einen Ethereum-fähigen Browser und einen lokalen Knoten mit Eris-basierten zugriffskontrollierten Dapps ausführen, die in der Cloud bereitgestellt werden, oder müssten nur Parteien, die am Betrieb des Dapp beteiligt sind, einen Knoten ausführen?
Vielen Dank.
Im Prinzip ist die Art und Weise, wie Endbenutzer mit zugelassenen Ketten wie Eris und Hydrachain interagieren, genau die gleiche wie die Art und Weise, wie sie mit Ethereum interagieren. Es gibt eine Reihe von Knoten, die im Netzwerk ausgeführt werden, von denen einige Mining betreiben (oder im Fall von Eris/Hydrachain validieren), aber Mining/Validierung ist nicht erforderlich, um mit dem Netzwerk zu interagieren.
Sie benötigen also eine Software, mit der der Benutzer interagiert, in der Regel einen Allzweck-Smart-Contract-Browser wie Mist oder eine dedizierte JavaScript-App. Dieser muss wiederum mit einem mit dem Netzwerk verbundenen Knoten kommunizieren, der häufig lokal ausgeführt wird (obwohl dies wie bei Ethereum nicht sein muss).
Die Wendung ist, dass manchmal Leute wollen, dass ihre zugelassenen Netzwerke privat sind, sodass Transaktionen auf ihnen nur von Leuten mit spezieller Erlaubnis gesehen werden können. Um dies zu erreichen, können Sie sowohl den Knoten als auch den Browser, der darauf zugreift, in ein privates Netzwerk oder VPN einfügen. Alternativ können Sie einen Serverprozess ausführen (als ich dies tun musste, habe ich express.js und socket.io verwendet), um mit dem Knoten zu kommunizieren, und diesen Prozess die Kommunikation mit dem Browser des Benutzers vermitteln lassen, einschließlich der Verwaltung von Zugriffsberechtigungen.
Nicolas Massart