LOKI.CODE

Visual Programming Applications in Smart Contract Creation

Abstract

“Smart Contracts”, was the name of a seminal paper by Nick Szabo, in which he coined the term for a new technology that is becoming more and more popular today. In his paper, Nick outlined the various domains in which smart contract technology can be applied to, such as contractual law and economics. He further mentioned that the idea of using this new technology will allow ways for businesses and social institutions to be created, such as in finance or real estate. However, despite the huge popularity of Ethereum and Solidity in 2014, as evidenced with the number of ICOs around this period, there is still a vast number of people who do not know what smart contracts are, how they work, and how they can be used for their own professions. This has resulted in  people simply acquiring digital assets for investment reasons without fully being able to explore the various blockchain use cases that exist. The professionals within these industries face two huge hurdles today when trying to work with smart contracts: not only do they need to know everything within their respective fields, they also need to learn a whole new technology. Additionally, these professionals/investors might always feel that they are at a disadvantage compared to software engineers and their more technical counterparts (given their focus and emphasis on their own careers and their lack of technical knowledge).

Grayscale AUM

Furthermore, there are individuals who might see smart contracts as a threat to their jobs. These are people who work as bankers, notaries, etc. However, as a society we pay a huge hidden “tax” to employ these services and individuals.
Coming from first-level principles, we are faced with employing their services in order to maintain trust in our day-to-day transactions. As Francis Fukuyama mentions in his aptly-titled novel, “Trust”, this trust has a cost. A society that trusts each other (or doesn’t have to trust each other) can create a prosperous economy; a great country, with amazing businesses that employ millions of people. On the other hand, a country where their citizens have a huge amount of distrust in each other results in a poorer economy, resulting in slower human innovation and progress.

wp2With the promise of smart contracts to reduce the need for middlemen and the fees they collect, it is very important that more and more people learn about this technology and begin applying them to their own careers. This is so that we can minimize the cost that it takes to maintain trust in society and reallocate that capital to more efficient purposes, unlocking more human innovation.

In order to make more people comfortable in using smart contracts, we propose using a VPL (visual programming language) to democratize the knowledge and creation of smart contract technology. The reason for this is because no-code/low-code solutions have recently gained vast popularity in the past 10 to 20 years as a way of creating rapid prototypes and producing sophisticated web applications  (look at Bubble Outsystems, etc).

In this way, non-technical individuals can focus on what they do best, such as running their businesses, and easily build the technology needed to service their customers. We believe that by lowering the technical hurdle to work with smart contracts, new use cases and business value will be unlocked similar to what has happened so far by using no-code solutions in the Web 2.0 era. Furthermore, as various platforms are being developed for different purposes such as the tangle network for IOTA (in regards to smart contracts related to the Internet of Thing) or Ethereum Solidity (in regards to smart contracts related to financial instruments), it is important to have a solution that is agnostic to the underlying platform.

Imagine the innovation that can take place with smart contracts once the technical barriers are lowered and sped up for easy prototyping/implementation of ideas. This leads us to a couple of proposed hypotheses that we still seek to validate:

Hypotheses:

1. How beneficial are smart contracts to non-technical users? e.g. how much are lawyers, insurance firms trying to understand and create smart contract products? (so far, due to initial testing, we believe the answer is yes)

2. How useful are the other blockchain systems? e.g. if I get a smart contract to work on the Ethereum network, is there a benefit to getting it to work on the Interledger network?

3. How complex or complicated is it to turn the code/blocks into a human readable document?

4. With the risk of encountering problems like the Deutsch limit, is there a benefit to having a domain-specific language for smart contracts generally or should it be blockchain specific (slidedeck explaining this problem here)

5. How many industry professionals really need to take advantage of the Turing Complete nature of certain smart contract languages like Solidity, i.e. recursion?

While we are still validating these hypotheses, what gives us hope that we are on the right path is the early successes prior applications of visual smart contract languages had. These attempts were purely limited to just research projects but have been met with high praise and support.  A classical example of such an attempt was Etherscripter back in 2014. It was a great tool that people had used during the rise of ICOs for educating themselves and others on how to best start creating and using smart contracts (see here for the old website that is still live: https://etherscripter.com/0-5-1/). 

Additionally, assuming that most use cases will not involve a lot of turning complete characteristics, the logic to implement said applications should be fairly straight forward.

wp3

In terms of companies that exist out there that are not exactly creating a VPL for smart contracts, but are still trying to make smart contract creation easier; a couple of company names are relevant here. These are as follows: Clause.io (related to the Accord Project, but are trying to create legal smart agreements), SimbaChain (providing a VPL for process automation apps including smart contract creation as part of their offerings), and Outsystems (generalized VPL for building web apps with some blockchain app creation).

We feel that while these solutions might have some value for their respective users, we believe they fail on any one or combination of these three core ideas:

1. They do not encourage an easy way of collaboration/no easy bridge of non-technical users with technical users (we believe this cross-collaboration is necessary because of the deep skill sets needed in traditional industries and tech).

2. Somewhat due to rule 1, there is almost a “chicken or the egg” problem in the smart contract space still where there are early solutions targeted at making smart contract development easier but not necessarily educating people (both technical and non-technical) as to why smart contracts are important and how does it apply to them. Coinbase for example, can be seen as a stellar example of solving this problem for cryptocurrencies where they pay users tokens for going through their educational content. It is important here that these tools make the learning process as easy as possible. We believe that as long as people can deal with the complexities of modeling in Microsoft Excel, that they should also be able to use a VPL to create their smart contracts.

3. Early solutions are very much targeted on one platform, on one kind of tribe of people (Cordapp loyalists, Ethereum Solidity enthusiastss, etc.), since there have already been proven use cases for these various platforms and the technology is still young, it is important to abstract all the various differences and distill smart contract creation to make the process as easy as possible (of course, as someone learns more and becomes more of an advanced user they can decide which tribe or use cases they would rather subscribe to).

Finally, we acknowledge that the smart contract space is still young and that standards and tools are still being created for developers (examples like https://alchemyapi.io/). It can be difficult to abstract smart contract development on something that is still dramatically changing for even those technically skilled. However, we believe the reason for the explosion in demand for low-code/no-code solutions is because of the increasing complexity and digitization of our world (please see here). Additionally, due to the large advancements in Category Theory, State Machines, Petri Nets, and other related research, low-code/no-code solutions will be far better than previously was possible. Due to these recent technological advancements, we believe there is a huge amount of potential in applying VPLs to smart contract creation.

Quoting from MetaMask developer, Erik Marks, from his great post on the importance of VPLs in smart contracts (please see here), "the time to democratize smart contract creation is now.”

Please send any questions or comments to the team at: info@lokicode.io

Things mentioned in this paper are subject to change but this is to serve as a rough draft. 02/02/2022