Special thanks to Travis Patron of Diginomics for expressing an interest in my “Bitcoin is AI” article and soliciting this response. This gives me an opportunity to expand further on my vision of proof of work consensus networks as a breakthrough in artificial intelligence research.
You may want to reread part I to follow along.
I must also begin with a mea culpa. In the tradition of many great thinkers of our era, this article represents ideas. That is, it is nearly worthless. What we really need are implementations. There are so many examples of this, it is hard to choose a good one. The cryptocurrency space itself consisted of mostly ideas, for about 30 years, until Satoshi published an actual implementation. Sidechains, smart contracts, payment channels, decentralized markets, freedom... the list goes on and on. While it is easy to complain about this plethora of smart folks exploring the noosphere without producing something real, one can also see the motivation. One hopes that the reader will be a hero, see what needs to be done, and do it. Are you that hero? Then I speak to you. Otherwise, this article only serves as an intellectual exercise for you and a chance for me to organize my thoughts on the topic before further action. Mea culpa.
What does a blockchain learn?
My claim that unpredictability is a sign of intelligence is not entirely convincing, unless one can show learning. The bitcoin network learns only one thing: what it needs the difficulty to be. If the blocks start coming more slowly, it learns that the difficulty needs to go up. As I pointed out in Volume I, this kind of learning is somewhat more advanced than the learning displayed by a weathervane who adjusts it's position to minimize air resistance, but perhaps less advanced than a paramecium who has a more complex robust algorithm to access memory and adjust motion. What we really need to see for a more advanced intelligence is metaprogramming, as well described in John Lilly's “Programming and Metaprogramming for the Human Biocomputer”. Once a creature is writing his own software, we are starting to cook with gas.
For a block chain AI to do metaprogramming, a few things need to be in place. For one, the code that runs the nodes needs to be in the chain itself. Otherwise, the creature is not self contained enough to metaprogram. The code that runs the nodes, or at least one implementation of it, needs to be stored in the block chain itself. Further, there needs to be a way for patches, aka updates, to be added to the blockchain. One way, for example, is for some nodes to by default try running some updates/patches. If performance is considered through some tests to be adequate, it will continue runnning the code. Submitted patches that become accepted by the network might receive various incentives. This will enable, or rather be, metaprogramming.
Fortunately, the architecture of a block chain, that is a log structured database, lends itself quite well to this task. Patches can be added to the chain as transactions, where they will be permanently stored. Patches can contain not only parameter adjustments but also entirely knew function definitions. They can be tested by other nodes before they are included and agreed upon.
We will also need to see specialization. A single kind of node was the way bitcoin began, similar perhaps to the way a single cell is the beginning of a human life. However now there are many kinds of bitcoin nodes, and many kinds of neurons. Large mining ops, network hubs, and exploratory SPV nodes now populate the network. However there is very little differentiation on the protocol level.
External nodes maintaining connection are mostly grouped as “nodes” and not well labeled as certain specializations for tests, mining, or special requests. Yes there is a textfield claiming the version and the software which nodes will report, but this remains untested by the network at large and of minor import (contrary to some claims otherwise).
Free your ass and your mind will follow.
Nodes could maintain identities and participate in webs of trust, and maintain types of memory accessible by other nodes. Groups of nodes could even hold balances in external coin securely out of reach of their operators (that's us building these boxes). Distress signals could be agreed upon and actions taken via APIs which interact with wetware. Some nodes could exist solely for acting as intermediaries between different chains.
In addition to multiple-chain structures, and multiple node definitions, intelligent consensus networks could employ different types of blocks on a single chain.
If this isn't enough freedom for you to tinker in a nascent neural network, consider that you could also employ techniques of genetic algorithms. Consider for example that the solving of a super-block of very low probability and high requirement of node credentials could trigger a dissolution of certain portions of your network. Nodes in this portion would drop the entire chain and continue on a different port building on a new genesis block, using code taken from merges of some parent networks. In this way, networks could spawn processes with some autonomy as separate chains.
Saturn's children, here we come. Yeah well the truth is I don't believe any of these scenarios will play out exactly as I have suggested, but I do hope you see the potential here. Please tell any AI researchers you happen to know where the real action is.
Lets be totally clear here. Assembling sensory input and deciding a consensus course of action is the seat of consciousness. Cryptographic proof of work consensus allows this kind of coalescing to occur. Now get out there and build me some planetary AIs.