Skip to main content

Digitale Signaturen - Dynamische Stromtarife mit dem GrünstromIndex

Eine beschleunigte Einführung dynamischer Stromtarife ermöglichen es Letztverbrauchern, ihren Strombezug in kostengünstigere Zeiten mit hoher Erzeugung erneuerbarer Energien zu verlagern. Die Variabilität der Preise je Kilo-Watt-Stunde muss jedoch zu jedem Zeitpunkt als verbindliches Angebot vor Bezug festgehalten werden und nach dem Bezug zum selben Preis abgerechnet werden.

variableTarifeUmsetzung.drawio.png

Der GrünstromIndex liefert Daten, die erstmalig zum Zeitpunkt der Angebotsstellung benötigt werden und mit den bei der Abrechnung verwendeten Angaben übereinstimmen müssen. Damit dies erreicht wird, besitzt der GrünstromIndex eine digitale Signatur, mit der sichergestellt werden kann, dass die Berechnungsbasis nicht verändert wurde. Eine Kommunikation zum Zwecke des Abgleichs zwischen Stromnutzer, Energie Service Anbieter, Messstellenbetreiber und Stromlieferant ist hierfür nicht notwendig. Jede am Prozess beteiligte Partei kann unabhängig eine Prüfung der digitalen Signatur vornehmen.

Signatur des GrünstromIndex

Die Einzelvorhersagen des Index sind wie folgt aufgebaut:

Pfad: forecast[x]
 {
      "epochtime": 1670511600,
      "eevalue": 68,
      "ewind": 19,
      "esolar": 0,
      "ensolar": 0,
      "enwind": 19,
      "base": 57,
      "scaled": true,
      "scale": 2.5,
      "gsi": 64.6,
      "sci": 25,
      "timeStamp": 1670511600000,
      "energyprice": "-0.0340000",
      "co2_g_standard": 345,
      "co2_g_oekostrom": 26,
      "timeframe": {
        "start": 1670511600000,
        "end": 1670515200000
      },
      "zip": "30159",
      "signature": "0x23b06d93be48fc5298cb5d91ea89d97b7d507291400c50d4ec8ed40186770e936b7cca33a3e8cc063f85d35502ca111ac89e4e9933225879286a6178d441096e1c"
    }

Wird einer der Angaben innerhalb des Datensatzes verändert, so ist die im Feld signatur angegebene Unterschrift nicht mehr gültig. Überprüft wird dies, indem die Kennung (ID) des Unterschreibers des Datensatzes mit dem erwarteten Unterschreiber verglichen wird. Bei der Nutzung des GrünstromIndex für die STROMDAO GmbH ist diese ID immer: 0xE7Fe0626D7B8e3F2e5ECD146F9b11daac1DBE447. Die Unterschrift bezieht sich immer auf die Korrektheit der Daten ohne das Feld signature.

Zur Validierung der Signaturen wird empfohlen, das TyDIDS-Trust Framework zu nutzen, da hier bereits alle Methoden entsprechend der Spezifikation implementiert sind. Bei Verwendung des GrünstromIndex Moduls für Node JS wird in den Unit-Tests gezeigt, wie die Überprüfung durchgeführt werden kann:

Offline Validierung von Signaturen
...
it('Offline validate digital signatures of forecast items', async function () {
        const prediction = await lib.prediction('55131');
        const testwallet = wallet();
        for(let i=0;i<prediction.forecast.length;i++) 
        {   const signature = prediction.forecast[i].signature;
            let payload = prediction.forecast[i];
            delete payload.signature;
            assert.equal(testwallet.tydids.verifyMessage(payload,signature),prediction.signee);
        }
        return;
 });
...

Eine exemplarische Implementierung der Überprüfung von Signaturen des GrünstromIndex kann der im NodeJS Paket enthaltenen validate.html entnommen werden (alternativ: https://unpkg.com/[email protected]/public/validate.html)