Fetch.AI virtual machine (VM) introduction

Fetch.AI virtual machine (VM) introduction
(Picture from internet)

The Fetch.AI team announced the first two days that the virtual machine (VM) is now online. A VM is a computer program that emulates a processor that is used to execute a smart contract (another computer program) when trading over a network.

The integration of artificial intelligence and other distributed ledger VMs in Fetch.AI is important because it supports the deployment of smart contracts and transactions can run in multiple places. In short, it supports spanning all computers at the time of acquisition and can replicate the execution of smart contracts on a large scale. Artificial intelligence networks involve different types of hardware. Smart books, that is, records for each smart contract are stored.

Smart contracts are important because they make distributed ledgers "universal." Developers can leverage the potential of the underlying infrastructure to build smart contracts to solve specific problems. In the VM, we turned on the get function. Provide artificial intelligence to the developer community so they can conceive and deploy new innovations.

You may be familiar with Ethereum and its virtual machines. This VM represents a major breakthrough because it supports large-scale deployment of smart contracts. Since then, we have seen Ethereine virtual machines being used for a variety of things, from simple insurance smart contracts, such as "aircraft delays of more than 3 hours, paying policyholders compensation" to encryption cats And a lot of things in between. But with the advent of Fetch.AI, we focus on the decentralized solution to the next level of problem, often requiring advanced machine learning algorithms.

Today's blockchain virtual machines are not designed to solve data-intensive machine learning problems and are not suitable for operation. In the Ethereum VM, its design requires "gas" to perform computational functions, which is a clever solution to prevent spam, but it is too costly for the use cases we are concerned about. In fact, the Fetch.AI virtual machine is the first and only virtual machine designed specifically for data-intensive, decentralized machine learning tasks.

We envision our network users packaging complex optimization and scheduling issues in a smart contract that can then be encoded and executed in the VM. The "miners" are selling. Then, as part of the network consensus process, artificial intelligence networks compete with each other for returns. They do this by providing the best algorithm solution for a whole problem or a subset of the problem.

Fetch.AI smart contracts may include issues such as package delivery optimization. For example, they may solve the problem: "How do I organize a group of independent delivery drivers in a city to most efficiently deliver a series of packages to a known destination and the delivery time of those packages? Signing a specific service level agreement before and after? This type of problem requires the ability to perform statistical analysis and advanced procedures on a variety of distributed machines using different hardware.

We invested in the local math library for more than a year. One of the reasons why VMs are not suitable for statistical analysis tasks is the lack of available mathematical precision. If you are building a centralized machine learning model on standardized hardware, this is not a problem. LAPACK provides a huge library of mathematics that developers have been using and has been maintaining it since the 1950s. The problem is that LAPACK uses the "double" and "float" criteria to specify a decimal number.

However, smart contracts can only be used to specify the "integer" standard for numbers. There is a good reason for this. The numeric representation provided by double-precision floating-point and floating-point numbers is slightly different when using different hardware processors. Therefore, the numbers on the Raspberry Pi may be different from the representation of the same numbers on the Intel processor. This is a problem for decentralized machine learning.

When you are practicing decentralized computing, you must have full consensus and reproducibility, otherwise you will get the same number of but very different hashes. Of course, these are not important to the user, but important to the machine.

Remember, there are no math libraries built for integers. This is a real headache for developers who want to create statistical analysis smart contracts. That's why we created the local version of the famous BLAS math library, AI VM, directly in Fetch. Because this allows us to easily write statistical functions such as matrix and vector multiplication. The result is a very high-level statistical analysis in smart contracts that can be replicated on any machine. It took us more than a year to achieve this goal, as this is the key to our vision of a collaborative smart contract.