Im letzten Beitrag ging es darum, wie man einen SmartMeter in eine Blockchain bekommt. Dies ist wichtig, aber nur der Anfang einer ganzen Kette von Abläufen, die letztendlich die Wertschöpfung zwischen Stromerzeugung, Verteilung und Verbrauch ausmachen.

Mit Hilfe sogenannter Smart Contracts lassen sich  die einzelnen Glieder der Kette nach und nach zusammenbauen.  Der Einspeisezähler war hierbei der erste Vertrag; die darin gemessenen Strommengen mit einem Entnahmezähler auszutauschen, sind der zweite Schritt. Das Ziel ist es, mit einer Blockchain nach und nach alle Vertragskontrollen zu automatisieren und dadurch die Gültigkeit von Transaktionen in die Hände einer Technologie zu legen, anstelle diese mühsam über Verfahrensanweisungen umzusetzen.

Motivation

Im Januar schrieb der Verteilnetzbetreiber Syna GmbH an blog.stromhaltig bezugnehmend auf die Zählerstandsgangmessung:

„Um Ihnen diskriminierungsfrei eine Abrechnung und Bilanzierung in Anlehnung an die registrierende Lastgangmessung (RLM) anbieten zu können, müssen diese Punkte Branchenweit geklärt werden. Entsprechende Arbeitsgruppen sind u. a. beim BDEW eingerichtet, welche sich mit diesem Thema beschäftigen.“

Grenzen von Smart Contracts

Bei der Erstellung eines Smart Contract läuft man sehr schnelle Gefahr, dass man versucht zu viele Aufgaben und Bestandteile in einem Vertrag zu implementieren. Bei Ethereum wird dies recht schnell damit bestraft, dass der sogenannte Gaspreis nach oben geht. Der Gaspreis ist eine Art Gebühr, die vom Sender einer Transaktion zu zahlen ist. Beim Versuch einen generischen Stromliefervertrag aufzubauen, beschränkt man sich daher auf die elementaren Bestandteile, die den Vertrag ausmachen.

Konkret bedeutet dies, dass man nicht versucht gleichzeitig die Engpässe im Netz zu bewirtschaften oder Adressdaten auszutauschen. Letztendlich muss der Vertrag lediglich sicherstellen, dass tatsächlich die versprochene Leistung (hier Arbeit in Wh) von A nach B hätte gehen können. „Hätte“, da man in weiten Teilen des Strommarktes vom Ideal einer Kupferplatte ausgeht, bei der Verträge über eine weite Distanz abgeschlossen werden, tatsächlich der Strom jedoch vom Kraftwerk in der Nachbarschaft kommt.

Bestandteile eines Stromliefervertrages

Klasse PowerDelivery
Klasse PowerDelivery

Eine Stromlieferung ist der Austausch von elektrischer Energie zwischen einem Einspeiser und einem Entnehmer. Hat jede Partei lediglich einen Vertrag, so ist es Aufgabe des Vertrages sicherzustellen, dass sich beide Zähler „synchron“ weiterdrehen. Die Bilanz muss stimmen, d.h. die Mittelherkunft und Mittelverwendung müssen die gleiche Summe ergeben.

In der Praxis wird dies so allerdings nie passieren. Heute haben die Haushaltskunden meist einen Vertrag über eine angegebene Jahresarbeit (Strommenge), über das Jahr wird der Stromlieferant entsprechend einem Profil diese Menge in das Netz einspeisen. Irgendwann kommt dann der Zeitpunkt einer Zählerablesung, wodurch sich eine Differenz ergibt, welche nachträglich richtig gestellt werden muss, damit die Bilanz stimmt.

Ein generischer Stromliefervertrag besteht somit über einen Gültigkeitszeitraum, sowie einer Strommenge. Im Smart-Contract werden zusätzlich die Elemente „max_inbalance“ und „max_per_interval“ hinzugefügt. Beim erstereren handelt es sich um einen Wert, welcher angibt wie weit die Einspeisung (From) und die Entnahme (To) im Vertrag abweichen darf, damit die jeweilige Seite ihre Bilanz mit diesem Vertrag weiter entlasten darf. Der zweite Wert gibt an, wie viel Strom innerhalb eines Zeitintervalls (in Europa meist 15 Minuten) maximal gegen diesen Vertrag abgerechnet werden kann.

Lebzeit eines Vertrages

Erstellt werden kann der Vertrag zunächst von jedem.  Hat ein Netzmitglied Interesse, den Vertrag einzugehen, so signiert er mittels der Funktion setFrom() oder setTo() diesen Vertrag. Sind  Einspeisung und Entnahme bekannt, geht der Vertrag über in die Phase „Verhandelt“, bis die Startzeit erreicht ist. Sobald diese erreicht wurde, wird alle „Interval“ Sekunden die Funktion Execute() ausgeführt. Diese Funktion sorgt dafür, dass die Parteien sich entsprechend der  voran definierten Bedingungen „entlasten“ können, was nichts mehr bedeutet, wie ihre angesammelten Zählerdrehungen gegen diesen Vertrag zu verrechnen.

Wichtig: Es wird nur mit positiven Zahlen gearbeitet!

Implementierung

ethereum

Auf Basis von Ethereum wurde der Vertrag bereits implementiert und dessen Einhaltung fortan von der Blockchain kontrolliert (0x3e254e363458d1f06f2d67bbd95fda726c7c57a5). Wer dem Vertrag auf die Finger schauen möchte, der kann die Adresse und Interface Code verwenden (download).

Dieser Vertrag arbeitet aktuell noch mit einem reinen P2P Modell. Die Verteilnetzbetreiber werden noch nicht berücksichtigt, würden aber über eine Proxy-Funktion ihre Kosten für die Verteilung angeben, bevor der Vertrag von den Parteien gezeichnet wird. In der aktuell für Deutschland erstellten Fassung des Stromliefervertrages enthält diese Proxy-Funktion auch die Abrechnung von zum Beispiel der Konzessionsabgabe oder Umlagen.

Einsatzgebiet

Der große Vorteil an der Verwendung von Smart-Contracts ist, dass eigentlich nur dann etwas schief gehen kann, wenn jemand den Vertrag nicht einhält. Die Kontrolle wird an die Blockchain ausgelagert, eine Kontrolle, bei der auch im konventionellen System keiner tatsächlich Geld verdient.

(Beitragsbild: edar @ pixabay)

Den Beitrag "Stromliefervertrag in der Blockchain offline Lesen:

Kommentar hinterlassen

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

benötigt