Skip to main content

Smart Contracts zur Nachweisführung

Einführung in Smart Contracts

Smart Contracts sind selbstausführende Verträge, deren Bedingungen direkt in Code geschrieben sind. Sie laufen auf einer Blockchain und werden automatisch ausgeführt, wenn die festgelegten Bedingungen erfüllt sind. Smart Contracts garantieren Transaktionssicherheit und Transparenz, da sie unveränderlich und überprüfbar sind. In diesem Konzept werden Smart Contracts verwendet, um die Erstellung, Verwaltung und den Handel von GrünstromNachweisen und den zugrunde liegenden ERC-20 Tokens zu automatisieren und zu sichern.

Die Struktur des Smart Contracts

GrünstromNachweis (CoriHKN)

Der Smart Contract CoriHKN stellt einen GrünstromNachweis dar, der als Optionsrecht auf ERC-20 Tokens fungiert. Hier sind die wichtigsten Komponenten und Funktionen des CoriHKN Contracts:

Initialisierung

Der Contract wird mit einem spezifischen Token, einer Menge sowie einer Ursprungs-ID (originId) initialisiert.

constructor(address _token, uint256 _amount, address _originId)
ERC20("CoriHKN", "HKN")
Ownable(msg.sender)
{
	originId = _originId;
	token = IERC20(_token);
	_mint(msg.sender, _amount);
	initialTokens = _amount;
}


Token-Transfer und Clearing

Der Contract ermöglicht es, die eingesparten CO2-Emissionen in Form von ERC-20 Tokens zu transferieren und zu verrechnen.

function credit(uint256 _amount) public {
	uint256 balance = this.balanceOf(msg.sender) - this.creditOut(msg.sender);
	if (balance >= _amount) {
      this.transferFrom(msg.sender, address(this), _amount);
      token.transferFrom(this.owner(), msg.sender, _amount);
      creditOut[msg.sender] += _amount;
      clearedTokens += _amount;
	} else {
		revert("Not enough inner tokens");
	}
}
Teilweitergabe und Leerverkäufe

Der Contract erlaubt Teile von GrünstromNachweisen zu übertragen und sogar Leerverkäufe durchzuführen, wenn der ursprüngliche Besitzer die Tokens zu einem gegebenen Zeitpunkt nicht mehr hat.

function debit(uint256 _amount) public {
  if (this.balanceOf(msg.sender) - this.creditOut(msg.sender) >= _amount) {
	  token.transferFrom(msg.sender, this.owner(), _amount);
	  this.transfer(msg.sender, _amount);
	  creditOut[msg.sender] -= _amount;
	  clearedTokens -= _amount;
  } else {	
	  revert("Higher than share");
  }
}
Ownership-Transfer

Der Contract erlaubt den Transfer des Eigentums, unter der Bedingung, dass der neue Besitzer alle ERC-20 Tokens entsprechend der ursprünglichen Bedingungen abdeckt.

function transferOwnership(address _newOwner) public onlyOwner override {
  if (! _funded(_newOwner)) revert("Not coverable by new owner");
  _transferOwnership(_newOwner);
}

Smart Contract Factory (CoriHKNFactory)

Der Smart Contract Factory, CoriHKN-Factory, ist verantwortlich für die Erstellung und Verwaltung der GrünstromNachweise (CoriHKN). Hier sind die wichtigsten Komponenten und Funktionen des CoriHKNFactory Contracts:

Erstellung von CoriHKN

Die Factory erstellt neue GrünstromNachweise und transferiert die ERC-20 Tokens an den neuen Eigentümer.

function createHKN(address _holder, uint256 _amount, address _event) public onlyOwner returns (CoriHKN) {
  CoriHKN hkn = new CoriHKN(address(token), _amount, _event);
  token.mint(_holder, _amount);
  hkn.transfer(_holder, _amount);
  hkn.transferOwnership(_holder);
  hkns[msg.sender].push(hkn);
  hknscount[msg.sender] = hkns[msg.sender].length;
  lastHKN = address(hkn);
  emit IssuedHKN(address(hkn), _holder, _amount, _event);
  return hkn;
}
Token-Management

Die Factory verwaltet aktualisierte Token und delegiert Token-Rechte an andere Factories oder Smart Contracts.

function updateToken(CoriToken _newToken) public onlyOwner {
  if (_newToken.hasRole(_newToken.MINTER_ROLE(), address(this))) {
    token = _newToken;
    emit TokenUpdate(address(_newToken));
  } else revert("Not in Minter Role!");
}

function delegateToken(address _toFactory) public onlyOwner {
  token.grantRole(token.MINTER_ROLE(), _toFactory);
  token.grantRole(token.DOMAIN_SEPARATOR(), _toFactory);
  token.grantRole(token.DEFAULT_ADMIN_ROLE(), _toFactory);
  emit DelegateToken(_toFactory);
}

Prozessfluss mit Smart Contracts

Der Einsatz von Smart Contracts in diesem Konzept gewährleistet die effiziente und transparente Erstellung und Verwaltung von GrünstromNachweisen. Ein typischer Prozessfluss sieht wie folgt aus:

  1. Energieeinspeisung: Ein Betreiber einer Photovoltaikanlage speist Strom ins Netz ein. Der Messstellenbetreiber erfasst die genauen Zählerdaten.
  2. Datenübermittlung: Diese Zählerdaten werden an den Auditor übermittelt, der den GrünstromIndex verwendet, um die entsprechenden CO2-Einsparungen zu berechnen.
  3. Erzeugung von ERC-20 Tokens und GrünstromNachweisen: Der Auditor nutzt die Smart Contract Factory, um einen neuen CoriHKN Contract zu erstellen, der die genauen Mengen an eingespeisten Strom und CO2-Einsparungen widerspiegelt.
  4. Zuweisung der Tokens und Nachweise: Die erzeugten ERC-20 Tokens und der GrünstromNachweis werden an den Besitzer übertragen.
  5. Handel und Verwaltung: Der Besitzer kann die Tokens und GrünstromNachweise verwalten, handeln oder für zukünftig strategische Entscheidungen nutzen.

Vorteile der Smart Contracts

  • Automatisierung: Smart Contracts automatisieren viele der komplexen Prozesse im Rahmen der Nachweisführung und dem Emissionshandel, was die Effizienz steigert und Fehler reduziert.
  • Transparenz: Alle Transaktionen und Aktionen, die von den Smart Contracts ausgeführt werden, sind transparent und auf der Blockchain öffentlich einsehbar.
  • Sicherheit: Smart Contracts sind manipulationssicher und unveränderlich, was Vertrauen und Integrität im Prozess der Nachweisführung gewährleistet.
  • Kostenersparnis: Durch die Automatisierung und Dezentralisierung von Prozessen können Unternehmen erhebliche Kosten sparen, die sonst für manuelle Verifikation und Verwaltung anfallen würden.

Zusammenfassung

Der Einsatz von Smart Contracts, insbesondere CoriHKN und CoriHKNFactory, stellt eine zentrale Komponente im Konzept der digitalen Nachweisführung und Tokenökonomie dar. Sie ermöglichen die präzise, transparente und sichere Erstellung, Verwaltung und den Handel von Energiemengen und CO2-Emissionen. Dieses innovative System bietet Betriebswirten neue Möglichkeiten, ihre Nachhaltigkeitsberichterstattung zu optimieren und gleichzeitig ökonomische Anreize für umweltfreundliches Verhalten zu schaffen.