In diesem Artikel wollen wir gemeinsam ein eigenes kleines public & permissioned Netzwerk aufsetzen, welches Proof-of-Authority als Consensus nutzen wird.

Was genau heißt das?

Proof-of-Authority Netzwerk ist eines von vielen Konsens-Mechanismen welche genutzt werden können und unterscheidet sich darin, dass es nicht „brute-forcing“ zu Suche nach einer Lösung (wie bei Proof-of-Work) nutzt oder man seinen Anteil am Gesamtsystem (Proof-of-Stake) nachweist bzw. einbringt, sondern ganz klassich seine Authorität. Proof-of-Authority unterscheiden sich also oft alleine schon dadurch das nicht jeder einen neuen Block in die Blockchain einbringen kann, sondern lediglich diejenigen, welchen es vorab erlaubt wurde.
Wie diese bestimmt werden hängt oft davon ab, wer am Anfang dabei ist (und meistens muss man auch etwas bezahlen). Technisch gesehen stehen die Validatoren bereits zu Anfang fest, können aber nachträglich hinzugefügt werden, je nach Implementierung.

Ein Beispiel wäre Beispiel Tobalaba der Energy Web Foundation, welche ein Proof-of-Authority Setup nutzt, um einen neue Plattform zu errichten, über die zukünftig der Handel von Energie abgewickelt werden kann.

Die dort genannten Vorteile sind es die viele Firmen anführen, wenn es um die Vorteile einer PoA-Netzwerkes gegenüber eines offenen Systems geht:

  • Geschwindigkeit: Blockzeiten von etwa 3 Sekunden
  • Widerstandsfähigkeit: PoA verhindert äußere Einflüsse daran Entwicklung auszubremsen

Aber wie schwierig ist es für mich als Firma, selbst so ein Netzwerk aufzubauen? Dieser Frage wollen wir uns in diesem Beitrag widmen und eine kleines PoA Netzwerk aufbauen. Wir wählen dabei erstmal das kleinstmögliche Setup, d.h. wir nehmen lediglich einen Validator. Was ist ein Validator? So werden quasi die „Miner“ genannt, es gibt nichts zu minen, aber Transaktionen zu validieren und in Blöcken zusammen zu fassen, dies geschieht durch die Validators. Diese Validatoren (oder Authorities) wechseln sich in dem von uns gewählten Proof-of-Authority Modus damit ab, den nächsten validen Block erstellen zu dürfen.
Dieser Konsensus-Mechanismus wird als „authorityRound“ bezeichnet.

Es gibt eine weitere PoA-Variante, das sogenannte Tendermint. Diese ähnelt der authorityRound stark, hat aber den Unterschied das die Validatoren nicht abwechselnd einen Block unterschreiben, sondern alle über den nächsten Block abstimmen, erreicht dieser eine 2/3 Mehrheit, gilt dieser als gültig und wird der Blockchain angehangen.

Validatoren ändern

Validatoren werden definiert im Genesis-State, d.h. in der Konfigurations-Datei mit welcher die Blockchain gestartet wird. Alternativ kann auch ein Smart Contract dort hinterlegt werden, welcher die Funktionen zur Verwaltung der Validatoren beinhaltet und eine Liste aller gültiger Validatoren selbst.

PoA-Netzwerk aufsetzen, was wir benötigen:

  • Eine Instanz von Ubuntu, dies kann ein VPS bei dem Hoster deiner Wahl sein oder auf deinem lokalen Raspberry Pi laufen

Wir werden die Kommandozeile nutzen, um alles einzurichten und unseren Validator am Ende zu starten

DigitalOcean bietet günstig sogenannte Droplets an, das 5$ Droplet reicht vollkommen aus um einen Validator-Knoten aufzusetzen, da unsere Blockchain bei 0 anfängt ohne jegliche Transaktionen oder Blöcke, braucht diese kaum Speicherplatz, die 25 GB des kleinsten Droplets tragen uns also erstmal weit genug.

5$ Ubuntu Droplet

Über Base58 die ersten 2 Monate umsonst!

Hier geht es zum Ubuntu Droplet für einen schmalen 5er!

  • mit mail registrieren
  • E-mail besätigen
  • Zahlungsdaten hinterlegen (CC / Paypal)
  • Beschreibung setzen
  • PayPal abschließen, 5$ zahlen (4,20€)
  • create new Droplet
  • warte bis es geladen ist
  • Passwort kommt per Mail

Constantin Vennekel
Autor
Constantin interessierte sich Ende 2010 bereits früh für Kryptowährungen und verfolgte als einer der ersten einen Master (MSc) in Digitalen Währungen, um sich auf verwandte Bereiche wie Disruptive Innovation, Blockchain Technology and Applications, Open Financial Systems, Money and Banking zu konzentrieren. Bevor er zu KI kam, arbeitete er als Entwickler im Bereich Bitcoin Wallet und Ethereum Energy.

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here