Why Asimov's Laws of Robotics are not good enough and why smart contracts will require human intervention
Human intervention required
In one of my previous posts I mentioned the Three Laws of Robotics as one of the reasons why unreliable immutable smart contracts on Ethereum are not safe. In this post I will discuss the Three Laws of Robotics and introduce some conceptual ideas on how we may be able to make sure that no matter what our AI remains in a symbiotic and beneficial state.
Some of the main problems from this video are listed below.
- We can't agree on a universal definition of what is human.
- We cannot agree on a universal definition of harm.
- We don't all have the same ethics or agree on the meaning of words because unlike with math the meaning changes over time.
These are basic problems with natural language in general. So while you could perhaps encode rules according to logic in a way for a smart contract (intelligent agent) to ruthlessly follow it, you still end up with the problem that words are not clearly or cleanly defined. If I ask anyone to tell me what a human is then almost no one will agree and even if we know what a human is in 2016, it is not static because a human in 2026 could be something entirely different, and cyborgs which are hybrid with AI will fall in between so how do we deal with that?
The problem of hard computing and hard coding
Certain individuals in the blockchain/smart contract community do not like soft computing and or soft coding. The problem with hard computing is you cannot solve certain problems at all with hard computing because there is never a fixed and precise solution. The solution is always an approximation, a result of consensus, and ethics are a perfect example, as is justice, or the price functions in a market. There is no way for anyone to hard code what something must always be priced because there is no objective way to determine what the price of anything is. The only way to determine what something is worth to everyone in a community is to use the market itself.
Human computation must be integrated into smart contract platforms
In order to reach a conclusion we have to look into integrating human computation with AI. If the smart contract represents at best an intelligent agent or autonomous agent then what is the role of the human being? The role of the human being in this case is to express the preferences of human beings and to for lack of better a better phrase domesticate the smart contracts. For people who believe that a DAO or DAC or smart contract exists to serve human beings then human beings may require an ability to intervene.
Human computation can in fact be facilitated through smart contracts. These smart contracts can be used to merge human and machine computation together to form a hybrid swarm intelligence or hybrid computation network. This is what I have in the past called a swarm computer.
A swarm computer computes primarily through swarm intelligence. Bees for example are a good example of this kind of swarm computation mechanism. Swarm intelligence is inherently a mechanism of soft computing and the market itself is also of a similar mechanism. The price of something in a market is not determined by a formula, or a code, but is determined by how much people are willing to pay and influenced by how much supply there is. Prediction markets may lead to futarchy which is a form of swarm computation which allows a market to "bet on beliefs" rather than "vote on values".
What is human computation and how should it work?
It is not good enough to just slap a voting platform on top of a smart contract platform. Just adding voting is not going to be good enough and at best would only duplicate the negatives of any voting system. Instead there should be a decision support system which can include voting but which should not be restricted exclusively to voting. In addition, human computation in a system can include any decision which comes from a human which can be voting, acting as an oracle, writing code, or computing micro-tasks which we today call crowdsourced labor. One of the major benefits of smart contracts is that any job can be distributed to the crowd as necessary when you need to use the wisdom or talent of the crowd.
Crowdlang is an example to duplicate for distributed smart contract platforms
Crowdlang and similar languages will allow for addressing societal problems through smart contracts
For Crowdlang and similar languages to work to combine human and machine computation we must first make sure that the smart contracts are reliable. In the case where you have reliable smart contracts which always work as intended then you can bring in the human computation components and make use of the "global brain".
But in order to even make use of the global brain we will have to understand the need for the equivalent of error correcting codes. We will have to understand that the soft computing paradigm is necessary because there is no objective ethics which every human being will agree on within every blockchain community. The ability of humans to split off or fork is a short term way to mitigate the problem but the long term solution requires taking full advantage of generalized human computation in a crisis.
Hard computing and hard coding assumes that any human being can figure out the optimal solution to problems which have no optimal solution. Immutability assumes that in absence of an optimal solution that the humans should simply eat the costs and accept the rigid code. This is a problem because evolution works on trial and error in an environment where the code is always able to change except for the code which is critical to the survival of the species.
Blockchain communities as complex adaptive systems
Under the model that a blockchain is just a data structure and that the what we really have is a complex adaptive system then we can take a different approach. The human beings are a part of the complex adaptive system. The human beings in fact are the core part of the complex adaptive system. In a complex adaptive system the human beings solve the problems that the machines can't solve because the machines cannot solve those problems efficiently yet or ever.
In a complex adaptive system the more human beings who enter the system the more valuable the system becomes because it gains an increasing capacity to solve a greater diversity of problems which can't be solved by non-humans. Machines have some advantages over humans in the ability to process big data but human beings have advantages over machines when it comes to understanding, to dealing with specific tasks. The ability of a blockchain community to go from fully autonomous to semi-autonomous allows a complex adaptive system to be able to shift into different gears according to what is necessary for the health of the system.
Why fixed laws aren't good enough (code is not infallible)
In the beginning I mentioned that the Three Laws of Robotics are not good enough. Now I'll go further and say no fixed set of rules will be good enough. The rules have to adapt to the circumstances according to the preferences of the humans and the outcomes the rules are generating. A smart contract is nothing more than a proof; which is nothing more than a set of axioms and rules. As a result, the smart contract as designed today are not very adapted, and tend to be hard coded according to expected usage. But with no formal verification there is no way to know that the proof is correct and even with formal verification you can have a smart contract which is correct yet still dangerous to the complex adaptive system.
Constitutions exist because humans recognized that having fixed inflexible laws could result in oppression. Oppression in the form of religious oppression. Oppression in the form of thought control by the high authority. In order to combat oppressive laws which can't change or which aren't continuously reinterpreted there was a constitution set up specifically to guard certain liberties, and this constitution can be amended indefinitely in theory. This means that as problems arise which invalidate or threaten the existence of the liberties the constitution was set up to protect the constitution can be changed to address that.
But in order to change the constitution through an amendment is hard. It requires a convention, or a long and difficult process. That being said the constitution is not immutable or unchanging. It can change because people change. In fact we could say that the constitution is too slow to change in times where technology is changing quickly.
In the high tech space the technology is evolving faster than social norms can keep up. The only way to address this is to improve the quality of governance using the latest technologies. In the case of a community where the community can quickly adapt to technological changes then that community can evolve with rather than be threatened by the changes. Not enough research has gone into simulating how a complex adaptive system might evolve under different governance models or social norms in the blockchain community. No one so far has offered a simulation on how a complex adaptive system might evolve in an environment where a blockchain is immutable and smart contracts are reliable or unreliable.
Research must study how a complex adaptive system might evolve under different data structures
The blockchain is a data structure but if we assume it is immutable then what are the immediate pros and cons of this? What are the long term pros and cons of this? And how might the community evolve? A community typically requires certain services of governance, so how might those services by provided without losing immutability? How would an immutable blockchain effect society over the next 10 or 20 years?
What we need from people who believe in blockchain immutability is a more futurist oriented discussion where the individuals who take this side come up with some simulations or some multi-agent systems which demonstrate an ideal model of future blockchain society. These simulations could then allow us to at least try to look at the impact of fork vs no fork even if these simulations are not that complicated.
In addition we require the signalling from prediction markets on the fork vs no fork issue. Augur may be able to provide insight here but we really do not know anything and because of the lack of prediction markets we cannot determine if people are expressing their true opinions or trying to socially engineer a particular outcome. A prediction market would allow a community to bet on the outcome that the community expects to see and this in my opinion would be more effective than voting, polls, and could even provide us with an ability to forecast along with rough simulations of different approaches.
Conclusion
So in conclusion I would say the hard computing and hard coding approach to smart contract distributed computing platforms is a mistake. We cannot rely on there ever being perfect code and must always continuously update the code of digital society just as we update ourselves. We must bring human computation into the mix so that decisions which cannot be made by a machine or questions a machine cannot answer can be passed to humans as necessary. We must improve our ability to do simulations so that we can have a Blockchain Futurist Society or Futurist Institute of Blockchain Society to run the necessary simulations, make long term arguments about the results of these simulations, and inform the debate from the perspective of futurists, modeled after the Future of Humanity Institute or OpenAI.
References
- http://natureofcode.com/book/chapter-6-autonomous-agents/
- https://mason.gmu.edu/~rhanson/futarchy.html
- https://en.wikipedia.org/wiki/Human-based_computation
- http://humancomputation.org/
- https://en.wikipedia.org/wiki/Evolvability
- https://www.fhi.ox.ac.uk/
- https://openai.com/
- https://en.wikipedia.org/wiki/Microwork
Even Asimov, admitted his laws weren't good enough; that was kind of the point :-)
CG
We've already had lengthy discussions on this subject in other threads but I can see that you over and over again make the same intellectual abuse - in your argumentation you do not clearly distinguish between these two very different cases:
This is very unfortunate, as it obscures the picture. While I fully agree with you on (1), I have the opposite view regarding (2). To be clear, the blockchain immutability issue refers only to situation (2). So please do not use arguments supporting situation (1) to support your case regarding situation (2).
Regarding situation (2), I think this is the dilemma we actually have:
If we make immutability an axiom and do not allow to retroactively change the outcome of smart contracts, we run the risk of having clearly undesired situations similar to the DAO incident:
(a) People are unhappy because the smart contract executed in an unintended way and a significant part of their funds was lost as a result.
(b) One could argue that this option encourages hackers to constantly look for loopholes in smart contracts and make a morally questionable business out of it.
If we remove the axiom of immutability and allow to retroactively change the existing outcome, we remove the problem of unhappy users - a smart contract execution is undone and funds are returned to their original owners. But this comes at a big cost - we create two additional problems which you failed to mention:
(a) As it is practically impossible to salvage all smart contracts, we create a too-big-to-fail situation, which implies we establish some sort of financial elite which gets a special treatment.
(b) We encourage a business model based on irresponsibility ("we take a risk, if the outcome is good only we collect the profit and if the outcome is bad we get bailed out"), which in my view is a fundamental flaw of the current corporate culture.
Thus each approach has its upsides and downsides. For me the downsides of the first option (i.e. no immutability axiom) are significantly bigger than downsides of the second option (i.e. keep the immutability axiom), and that's why I support the latter.