1.1.
Das semiotische Dreieck ^
Auf Charles W. Morris1 geht diejenige Version des ursprünglich von Charles Sanders Peirce2 entwickelten semiotischen Dreiecks zurück, die die semantische, pragmatische und syntaktische Dimension des Zeichens und seiner Bedeutung bzw. von Information allgemein und von Rechtsinformation im Besonderen unterscheidet. Ein Zeichen (syntaktische Dimension) hat demnach eine bestimmte Bedeutung (semantische Dimension), die in einem bestimmten Anwendungskontext (pragmatische Dimension) relevant wird.
1.2.
Vertragliche Rechtsgestaltung veranschaulicht am semiotischen Dreieck ^
Irrten beide Parteien gemeinsam, so ist das unerheblich, selbst wenn der Vertragstext abweicht («falsa demonstratio non nocet»). Bei einseitigen Irrtümern oder in Streitfällen steht jederzeit wieder die semantische Ebene zur Verfügung, durch erneute Diskussion mit dem Vertragspartner, notfalls unter Anrufung einer Behörde (Gericht) und eines Verfahrens.
1.3.
«Smart Contracts» im semiotischen Dreieck ^
Bei Smart Contracts werden in einer bestimmten Situation (Pragmatik) bestimmte rechtliche Bedeutungen und Wirkungen (Semantik) durch übereinstimmende Willenserklärungen aus der natürlichen Sprache in einer abstrakte Programmiersprache als Softwarecode fixiert (Syntax) und dieses auf einer Blockchain initialisiert. Der Programmcode wird anschließend automatisch realisiert, d.h. im Alltag verwirklicht (Pragmatik).
Spätestens hier wird klar, dass ein isolierter Smart Contract nur bedingt mit der Alltagsrealität zu tun hat und sich sogar gewissermassen «autistisch» von den eigentlichen Absichten der Vertragspartner entfernen kann. Isolierte Smart Contracts sind also nur beschränkt alltagstauglich. Bøgh-Anderson kann nur zugestimmt werden, wenn er schreibt: «We quickly discover, that it is only half-truth that the source code stands for the domain»3.
1.4.
Legal Programming mit Smart Contexts ^
Das nachfolgend vorgestellte Konzept des Legal Programmings und von Smart Contexts lässt sich folgendermassen visualisieren: Der «Smart Contract» wird Teil des «Smart Contexts» als Gesamtvertrag.
Durch Nutzung eines kontrollierten Vokabulars kann der Programmcode in einer semantisch äquivalenten Darstellung (Metarepräsentation) dargestellt werden. Diese Metarepräsentation ist syntaktisch mit dem Sourcecode gekoppelt und bleibt als User Story oder Test Case IT-affin, ist aber für Menschen einfach nachvollziehbar als abstrakter Programmcode. Der Smart Contract erhält dadurch einen alltagstauglichen Smart Context.
2.
Blockchains als Grundlage für Smart Contracts ^
3.
Legal Programming ^
- Programmcode und Vertragstexte können beide als Form der Literatur angesehen werden.
- Zwischen den einzelnen Textelementen bestehen enge inhaltliche Verbindungen.
- Das Endergebnis sollen zwei unterschiedliche Texte sein, wobei einer davon die Grundlage für ausführbaren Programmcode ist.
3.1.
Minimale Beispieltexte ^
3.1.1.
Text des Smart Context ^
3.1.2.
Text des Smart Contract ^
3.2.
Schritt 1: Vertrags-Parameter ^
Typisch für Parameter ist, dass sie bereits im Text auch als solche verwendet werden («nachfolgend Verkäufer»), wenn der Text als Vorlage wiederholt genutzt wird.
3.3.
Schritt 2: Markup ^
Es wird dabei eine Textauszeichnung, die an Markdown angelehnt ist verwendet. Textauszeichnungen wie Überschriften, … werden nicht dargestellt.
3.4.
Schritt 3: notwendige Abstraktion ^
- Programmcode ist noch immer im bearbeiteten Text enthalten.
- Die Texte wurden noch weniger verständlich und bearbeitbar, als in den Ausgangstexten.
- Programmierkenntnisse wären zum Nachbearbeiten der Texte notwendig.
- Das Verhalten des Smart Contracts ist für die Vertragsparteien nicht vollständig nachvollziehbar.
definiert wird, dann sind sowohl die Parameter-Werte, als auch das Verhalten des Smart-Contracts definiert.
Wie im TDD üblich, werden auch Beschreibungen des Verhaltens bei nicht erwünschten Fällen bzw. nicht erfüllten Bedingungen formuliert:
4.
Legal Programming: der Editor als Simulator des Smart Contracts ^
5.
Literatur ^
Abegg, Lukas, Code is law? Not Quite Yet, coindesk, https://www.coindesk.com/code-is-law-not-quite-yet/, 27. August 2016.
Adrian, Axel, Der Richterautomat ist möglich – Semantik ist nur eine Illusion, Rechtstheorie 2017, S. 77–121.
Bøgh-Anderson, Peter, A Theory of Computer Semiotics: Semiotic Approaches to Construction and Assessment of Computer Systems, Cambridge 2008.
Dannen, Chris, Introducing Ethereum and Solidity, Apress, New York 2017.
Dülpers, Christian, Smart contracts sind weder smart noch contracts, Legal Tribune Online, 2017, S. 21–24.
Erbguth, Jörn, Lösung Blockchain-basierter Konflikte. In: Schweighofer, Erich/Kummer, Franz/Hötzendorfer, Walter/Sorge, Christoph (Hrsg.), Trends und Communities in der Rechtsinformatik. Tagungsband des 20. Internationalen Rechtsinformatik Symposions IRIS 2017, books@ocg.at, Wien 2017, S. 155–160.
Fill, Hans-Georg, Metamodelling as an interface between syntax and semantics. In: Glück, Beate/Lachmayer, Friedrich/Schefbeck, Günther/Schweighofer, Erich (Hrsg.), Elektronische Schnittstellen in der Staatsorganisation. Festschrift zum 60. Geburtstag von Dr. Josef Souhrada, Österreichische Computer Gesellschaft, Wien 2015, S. 43–50.
Greenspan, Gideon, Smart contracts and the DAO implosion, MultiChain, https://www.multichain.com/blog/2016/06/smart-contracts-the-dao-implosion/, 22. Juni 2016.
Haapio, Helena, Designing Readable Contracts: Goodbye to Legal Writing – Welcome to Information Design and Visualization. In: Schweighofer, Erich/Kummer, Franz/Hötzendorfer, Walter (Hrsg.), Abstraktion und Applikation. Tagungsband des 16. Internationalen Rechtsinformatik Symposions IRIS 2013, books@ocg.at, Wien 2017, S. 445–452.
Hazard, James/Haapio, Helena, Wise Contracts: Smart Contracts that Work for People and Machines. In: Schweighofer, Erich/Kummer, Franz/Hötzendorfer, Walter/Sorge, Christoph (Hrsg.), Trends und Communities in der Rechtsinformatik. Tagungsband des 20. Internationalen Rechtsinformatik Symposions IRIS 2017, books@ocg.at, Wien 2017, S. 425–432.
Kahlig, Wolfgang, Ist Rechtsklarheit überhaupt erwünscht? In: Glück, Beate/Lachmayer, Friedrich/Schefbeck, Günther/Schweighofer, Erich (Hrsg.), Elektronische Schnittstellen in der Staatsorganisation. Festschrift zum 60. Geburtstag von Dr. Josef Souhrada, Österreichische Computer Gesellschaft, Wien 2015, S. 109–117.
Kahlig, Wolfgang/Kahlig, Eleonora, Rechtsvisualisierung – Viribus Unitis – mit C.O.N.T.E.N.T. In: Schweighofer, Erich/Kummer, Franz/Hötzendorfer, Walter (Hrsg.), Kooperation. Tagungsband des 18. Internationalen Rechtsinformatik Symposions IRIS 2015, books@ocg.at, Wien 2015, S. 425–442.
Kargl, Rolf-Dieter, Gesetzeslücken?, read_it, 02/2017, S. 10.
Knuth, Donald e., Literate Programming, http://www.literateprogramming.com/knuthweb.pdf, 1983.
Lenk, Klaus, Die neuen Instrumente der weltweiten digitalen Governance, Verwaltung und Management, 2016, S. 227–240.
Mielke, Bettina/Walser Kessel, Caroline/Wolff, Christian, 20 Jahre Rechtsvisualisierung – Bestandsaufnahme und Storytelling. In: Schweighofer, Erich/Kummer, Franz/Hötzendorfer, Walter/Sorge, Christoph (Hrsg.), Trends und Communities in der Rechtsinformatik. Tagungsband des 20. Internationalen Rechtsinformatik Symposions IRIS 2017, books@ocg.at, Wien 2017, S. 377–386.
Morris, W. Charles, Foundations of the theory of signs Chicago, Ill: Univ. Chicago Press. 1938.
Siegel, David, It’s Time for Smart Law, Medium, https://medium.com/@pullnews/its-time-for-smart-law-f218598dee92, 2. Mai 2017.
Swan, Melanie, Blockchain, O’Reilly, Sebastopol 2015.
- 1 Morris.
- 2 Peirce.
- 3 Bøgh-Anderson, S. 4.
- 4 Die Bezeichnung «smart» ist im Zusammenhang mit Blockchains nicht als «schlau», «intelligent» oder ähnliches zu interpretieren, sondern wird in diesem Kontext verwendet, wenn eindeutig identifizierbare Objekte bearbeitet werden. Vgl. Swan, S viii (Hervorhebung im Original): «In this system, all property could become smart property; this is the notion of encoding every asset to the blockchain with a unique identifier such that the asset can be tracked, controlled, and exchanged (bought or sold) on the blockchain.»
- 5 https://www.ethereum.org (alle Websites zuletzt besucht im Januar 2018).
- 6 http://solidity.readthedocs.io/en/develop.
- 7 Dannen, S. 47 ff.
- 8 Dülpers; Kargl.
- 9 Ab einer gewissen Komplexität ist jede Software fehlerbehaftet und nicht in mehr in allen Aspekten überblickbar, weshalb sich bei Fehlverhalten des Programms immer die Frage stellen wird, ob dies Teil der Vereinbarung ist. Bei Smart Contracts wird diese Problematik noch verschärft, da Fehler im Code nicht einfach behoben werden können, da die Blöcke einer blockchain nicht verändert werden können und verteilt ausgeführter Code nicht an einer zentralen Stelle ausgeführt wird. Ein einfaches Update ist damit nicht möglich. Dies zeigte auch der Fall der Blockchain «The DAO» (vgl. dazu Greenspan; Abegg).
- 10 Vgl. Adrian, S. 114: «Man könnte überspitzt sagen, dass die Verträge dann gerichtsfest sind, wenn der Vertragstext dem Text strukturell möglichst ähnlich ist, der in dem Nachschlagewerk enthalten ist, das der Richter benutzt, wenn er über die juristische Qualität dieses Vertrages zu entscheiden hat.»
- 11 Knuth, S. 1 (Hervorhebung im Original): «I believe that the time is ripe for significantly better documentation of programs, and that we best can achieve this by considering programs to be works of literature.»
- 12 Knuth, S. 2.
- 13 Vgl. Siegel: «I think in five years most law schools will be teaching, probably requiring, coding skills. Thinking like a lawyer and thinking like a programmer aren’t that different.»
- 14 Das Beispiel ist angelehnt an die unter http://solidity.readthedocs.io/en/develop/common-patterns.html beschriebenen Code-beispiele für die Programmiersprache Solidity des Ethereum-Projekts.
- 15 Hazard, James/Haapio, Helena, Wise Contracts: Smart Contracts that Work for People and Machines, S. 425f.
- 16 Vgl. z.B. https://cucumber.io.