Kanzlei 3.0

  • Prozessidentifizierung
  • Prozessoptimierung
  • Anwendungsentwicklung
  • Tool-Assist

Der Beruf des Rechtsanwalts ändert sich zunehmend. Die Qualitätsanforderungen steigen stetig. Eine Realisierung von Geschwindigkeit und Qualität ist nur durch Erarbeitung von Prozessabläufen und Standardisierung möglich. Hierfür ist der Einsatz von individuell abgestimmten Kleinstprogrammen und digitalen Tools, zur Optimierung der eigenen Arbeitsschritte, bestens geeignet.

Mit eigener, anpassbarer Individual-Software, wird höchste Flexibilität erzielt. Hierdurch sind schnelle Anpassungen auf notwendige oder gewünschte Veränderungen der Arbeitsprozesse zur best möglichsten Effizienz möglich.

Mit dem hier von mir bereit gestellten Mietminderung-berechnungs-Tool, kann man ein solches digitales Tool testen.

Code

  • Java & JavaFX
  • HTML, CSS & JS
  • Bootstrap Framework
  • Solidity
  • Photoshop

Java hat als plattformunabhängige Programmiersprache den Vorteil, universell einsetzbar zu sein.

HTML, CSS und JavaScript sind Kernsprachen der Webentwicklung.

Solidity ist die Programmiersprache zur Entwicklung von Smart Contracts auf der Ethereum-Blockchain.

Großprojekt Freespace

  • 1. SULaw
  • 2. Space
  • 3. Freespace

Die Realisierung der Softwarelösung Freespace erfolgt in drei Hauptschritten. Die sich ursprünglich in Entwicklung befindende Anwendung SULaw wird in einem ersten Schritt vollständig in Space übergehen - SULaw wurde noch in JAVA entwickelt. Space und Freespace werden hingegen als Webanwendung entwickelt - Nach Abschluss von Space wird als letzter Schritt der Übergang von Space in Freespace erfolgen.

Der Übergang von SULaw, in Space erfolgte aufgrund der überwiegenden Vorteile einer web-basierten Anwendung.

Der Fortschritt von Space kann anhand der Roadmap verfolgt werden.

Smart Contracts

Der Anwaltstag 2017 in Essen hatte das Moto "Innovationen und Legal Tech". Online-Rechtsberatungsprodukte, bei denen Anwälte und Programmierer zusammenarbeiten, setzten neue Trends. Die Vorteile durch Kombination von juristischen und technischen Fähigkeiten rücken in den Focus der Anwaltschaft und Rechtsberatung.

Smart Contracts sind die Verschmelzung von Recht und Informationstechnologie. Die Zukunft wird zeigen, wie die Rechtsprechung zukünftig mit Umsetzungsfehlern beim Erstellen des Smart Contracts umgehen wird und diese durch Vertragsauslegung nach den bisherigen Regeln im Privatrecht löst oder der in der IT bisher geltende Grundsatz "Code ist Law" sich durchsetzen wird.


Beispiel eines einfachen Schenkungs-Smart-Contracts auf der Ethereum-Blockchain:

pragma solidity ^0.4.24;
contract Schenkung {
address eigentuemer;
bool _flag = false;
event logEinzahlung(string _msg, address user, uint amount);
event logAuszahlung(string _msg);

function Schenkung() {
eigentuemer = msg.sender;
}

modifier ifEigentuemer() {
if(msg.sender != eigentuemer) {
throw;
}
_;
}

function Einzahlung() payable {
emit logEinzahlung("Folgende Adresse hat eingezahlt:", msg.sender, msg.value);
}

function Auszahlung(uint amount) ifEigentuemer {
if(eigentuemer.send(amount)){
emit logAuszahlung("Auszahlug durch den Eigentuemer");
_flag = true;
} else {
_flag = false;
}
}

function getFunds() ifEigentuemer constant returns(uint) {
return this.balance;
}
}

Bereitstellen des Smart Contracts

assets/img/sol1.png

Von der Wallet bzw. vom Nutzer 0xca35b7... wurde der Vertrag "Schenkung" auf der Vertragsadresse 0x5c3c15... bereit gestellt. Hierfür sind Kosten in Höhe von 315651 gas angefallen. Die Ausführung des Vetrags hat Kosten in Höhe von 199803 gas verursacht.

Einzahlung

assets/img/sol2.png

Das Wallet bzw. der Nutzer 0x14723a... hat durch den Vertrag "Schenkung" 1.000 Ether auf die Vertragsadresse 0x5c3c15... eingezahlt. Die Einzahlung erfolgt unter der Transaktionsnummer 0x4ca465...
Die Adresse der Einzahlung und die Höhe des Einzahlungsbetrags wurde als Log-Eintrag auf der Blockchain gespeichert, da in den Vertrag die Funktion "logEinzahlung" geschrieben wurde, welche die Parameter "msg.sender" und "msg.value" in die Blockchain speichert. Ohne diese Funktion, würde lediglich der Betrag in den Vertrag eingezahlt werden, ohne zu erkennen, welcher Betrag von welcher Adresse eingezahlt wurde.
Man müsste dann die gesamte Transaktionshistorie prüfen, um herauszufinden, welche Einzahlungen erfolgten.

Auszahlung

assets/img/sol3.png

Der Vertragseigentümer, also das Wallet bzw. der Nutzer 0xca35b7... hat sich 200 Ether auf die Vertragsadresse 0x5c3c15... auszahlen lassen.
Die Auszahlung erfolgt unter der Transaktionsnummer 0x1cfe2d... .
Auch hier erfolgte durch eine vorher in den Vertrag geschriebene Funktion "logAuszahlung" ein Log-Eintrag in die Blockchain, dass eine Auszahlung an den Eigentümer stattgefunden hat.
Der Vertrag wurde durch den modifier "ifEigentuemer" so konzpiert, dass sich lediglich der Eigentümer des Vertrags, also das Wallet bzw. der Nutzer, der den Vertrag auf der Blockchain bereitgestellt hat, eine Auszahlung vornehmen kann.
Daher ist es nicht erforderlich einen Log-Eintrag vorzunehmen, welche Adresse eine Auszahlung vorgenommen hat.



Blockchain

  • Smart Contracts

Durch die Blockchain-Technologie sollen Datensicherheit und Datenhoheit gewährleistet werden. Durch die Dezentralisierung von Daten kann ein Datenzugriff nur schwer verhindert und Datenmanipulation so gut wie ausgeschlossen werden.

Zukünftig wird die Blockchain-Technologie mit hoher Wahrscheinlichkeit Einzug in unsere Gesellschaft finden. Bereits jetzt sind mehrere Branchen an dieser Technologie interessiert. Smart Contracts und DApps sind nur ein Anwendungsbereich der Blockchain-Technologie.

Learn more