Monday, November 20, 2017

Using New Generation Blockchains for AI

Dr. Ben Goerzel, and Dr. David Hanson, of Hanson Robotics, have worked in the field of Artificial intelligence for many years and were recently in the news when they introduced Hanson’s humanoid robot Sophia.
They propose to use a network (SyngularityNET) to make Artificial General Intelligence (AGI) available worldwide by using the blockchain, and built on Ethereum smart contracts. They envision an “open market” of AI solutions available to anyone who needs them.
However, several issues seem to be insurmountable using current blockchain technology.
For example, end-user AGI devices (Agents) will need information that includes code and data objects. These may be many terabytes of information. This information may need to be continuously updated, and must be made available in real time.

Blockchain requirements for AGI are conceptually similar to other general distributed applications (GApps). That is, most applications need to solve the CARS problems: Communication, Addressability and unique identification, Replication of data, and Security.
  1. The communication problem has been solved by the Internet and throughput continues to improve.
  2. The addressability of devices, on the Internet, is centralized and subject to attacks. Furthermore, the unique identity of devices and users is not guaranteed and applications must have their own authorization procedures that often involve disclosure of personal information.
    The current public crypto-networks are essentially anonymous and have no way of identifying and addressing devices and users.
  3. The replication of data is tackled by current crypto-networks, but they have scalability, throughput and cost problems.
  4. The security problem is solved by crypto-networks through encryption techniques.
So, “the blockchain” (the term most often used to describe the state of the art in the field of crypto-networks) at this time can score at best two and a half out of four.
Probably for this reason the SingularityNet project already plans to move away from Ethereum to a more advanced crypto-network.
Furthermore, SingularityNet wants to achieve their objective with “near zero transaction cost”. For this reason they are looking for a crypto-network with a new, much less expensive, or free, consensus mechanism.
New generation crypto-networks will need to solve satisfactorily all the above requirements before they can support general distributed applications.
Ethereum smart contracts (DApps), are objects running on the blockchain. They use the blockchain for every elementary operation. They can be found on the blockchain by looking for a hash of their code. This is a very limited and expensive solution, as we pointed out in a previous article ( ). For most distributed applications the blockchain needs to be involved only for critical operations.
Most of the time peer partners could communicate directly, through the network, without issuing smart contract transactions that imply a modification of the blockchain.
This direct communication is possible only if the partners (or Agents) have a method for identifying and addressing each other uniquely, and only if the crypto-network provides a (secure) messaging service. Both these features are missing in current crypto-networks.
SingularityNet is an example of a GApp implementing a specific purpose network over the crypto-network (i.e., a virtual private blockchain network – VPBN). Addressability and unique identification can be provided for their Agents and databases. However, current crypto-networks do not provide addressability and unique identification within the crypto-network, for the Points of Entry to the crypto-network.
Points of Entry to a crypto-network could be, for example, servers of organizations owning IoT devices, or providing any type of service imaginable through GApps. They could be wearable devices uniquely identifying their owners and using any imaginable service provided by GApps through the crypto-network. In the future, they could be unique autonomous robots registered on the blockchain, and using the crypto-network.
Points of Entry to the crypto-network must be specified, uniquely identified, and addressable, when more functionality is required than what is provided by smart contracts.
Furthermore, in general, only a small portion of the data created and used by distributed applications is critical or historical, and needs to be seen and verified by everyone else in the world for ever. Most of the data can be stored and retrieved on a server off the blockchain. This is also very difficult to do, through the crypto-network, without a method for uniquely identifying and addressing Points of Entry.
Most people intuitively understand the advantages of a public network without intermediaries that is able to store needed information reliably everywhere. Thus, all sorts of plans are put in place, and money is invested, to use “the blockchain” for projects that require reliable identification and addressability of distributed partners and information. In the meantime, the trend of existing public crypto-networks is towards user anonymity.
New generation crypto-networks will reconcile both requirements. In addition to scalability and throughput, they will provide new functionality, including addressability of devices, unique identification of users, secure messaging among unique partners, registration objects on the blockchain, network governance by democratic polls, and much more.
They will be able to provide all the above new functionality without loss of privacy, without the need of IDs, passwords or personal information. For more detail, see:
General Distributed Applications
Connecting AGI devices, and sharing information among them, is conceptually similar to connecting and sharing information among IoT devices. Both robots and IoT devices need to share large quantities of information in real time, need to identify and verify each other, need to know how to address each other for sharing information, may need to exchange money for services, and can physically meet each other and cooperate for a specific purpose, while communicating through video and wireless technologies.
They also need to be uniquely identifiable and addressable. They need near zero transaction costs. They can be public, and respond or serve anyone they encounter, or they may belong to a private group, such as a VPBN managed by a proprietary GApp which may offer free services or charge a fee for other services.
Gorbyte, a new-generation cooperative public crypto-network, provides the whole infrastructure. It creates a Distributed Operating Environment (DOE), that can support general distributed applications. The aim is not to support a specific public social network, or an IoT application, or an AGI open market specifically, but to support any distributed application imaginable or ever conceived.
How can Gorbyte do all this? The scalability and the cost problems are solved through a new consensus mechanism. The CARS problems are solved by the crypto-network for all GApps, so that general distributed applications do not need to solve these problems individually.
GApps can be designed and implemented more securely and efficiently at a higher level, just like Apps written for an iPhone do not need to solve time-sharing or virtual memory problems.

The people at Hanson Robotics are on the right track. They included in their design the ability to possibly switch the carrier crypto-network to a new generation crypto-network that supports a less costly consensus mechanisms. New crypto-networks will also provide them with the needed functionality, such as addressability and unique identification of those entities that will need to interact through the crypto-network and use the blockchain functionality in the AGI open market.

Friday, November 3, 2017

Solving the Scalability Problem of Unpermissioned Crypto-networks

How are current crypto-networks going to cope with increased application demand?
Bitcoin’s demand is generated mostly by financial transactions. These are an important, but small fragment of all distributed applications. Ethereum’s demand, in addition to financial transactions, is generated mostly by smart contracts used to generate tokens for ICOs.
Although ICOs are becoming very popular, again this is just a fragment of all possible distributed applications that could take advantage of “the blockchain”.
The researchers involved with both networks are aware of their current limitations in scalability. How could these network provide for the future market of general distributed applications, several orders of magnitude larger?
The scalability problem
Scalability can be a problem when some resource requirements grow exponentially with the number of nodes in the network. For example, the time to distribute or process transactions, or the time to process a block, or the communication time to distribute a block, or the space required for storing a block, or the space/time required to store and process unconfirmed transaction, etc.
These parameters can be kept in check, to a point. However, any system will have limits, given its design and the technology at that time.
The researchers at Gorbyte, Inc. provide two answers to scalability.
  1. One hundred to one thousand fold improvement in throughput, and
  2. Off-loading the blockchain by supporting general distributed applications (GApps). These are applications that can use the blockchain, but run off the blockchain.
1. Improvement in throughput: Current PoW crypto-networks are not designed for efficiency and most of the above example parameters will tend to grow faster than the number of miners in the network. One of the reasons is that the PoW system is not truly decentralized, but randomly centralized. Another reason is that most of the miners’ processing power is used for a conceptually simple task: to select a random “real” miner. PoS systems should do better, but are as yet unproven.
Gorbyte uses a more decentralized design for its consensus process:
  • Every node participates in the consensus agreement process.
  • Every node communicates only with a small number of random logical neighbors.
  • The reconciliation communication among all nodes happens in parallel.
  • Several precautions are taken in order for blocks to be similarly assembled by every node, at the start of reconciliation (e.g.: synchronous operation, canonical ordering of transactions, no picking and choosing of transactions by miners).
  • Only in a small percentage of cases a node will require information from outside its logical neighborhood.
Thus the agreement process requires a small amount of time and much less processing power.
If a node cannot reach an agreement within a predefined time (e.g.: delay or malfunction), it will have to reinitialize and get the last block from an active peer node.
For the above reasons, Gorbyte is not bound by processing power, but by communication broadcasting and downloading times.
Considering also the exponential improvements in new technologies, we predict that the Gorbyte architecture will remain scalable. That is, the increased demand for new resources (e.g. bandwidth, memory, processing power) is expected to continue to be satisfied as the number of nodes in the network grows.
2. Off-loading the blockchain: The second answer to the problem of scalability is provided by Gorbyte’s BRUD device architecture.
Gorbyte, in addition to supporting smart contracts (DApps), will support general distributed applications (GApps) that are able to use the blockchain for critical events and historical data, but run off the blockchain. For most applications, this greatly reduces the amount of processing and storage requirements on the blockchain, thus allowing the blockchain to be usable by the much larger market of general distributed applications without the limitations imposed by smart contracts.
Smart contracts are objects stored on the blockchain, running on the blockchain and producing results on the blockchain. Thus any input, execution or output event on such objects involves the blockchain and, by definition, it is replicated on all the network nodes.
While there is a need for smart contracts for critical applications, the majority of general distributed applications (an estimated five sixths of the total software market) will need to store only critical events and information on the blockchain, but can do most of their processing and data manipulation using resources off the blockchain.
The availability of GApps will reduce the requirement to develop every blockchain application using the only tool currently available (smart contracts), thus at the same time it will:
  • reduce the throughput and storage requirements of the crypto-network, and
  • allow for an expansion of the type and range of general distributed applications taking advantage of the blockchain.