Blockchain & Artificial Intelligence / Machine Learning FAQs
Context
I posted a few articles earlier attempting to answer general questions about Artificial Intelligence & Machine Learning. I received several follow-up questions related to the application of Artificial Intelligence in Blockchain & decentralized applications.
I am trying to answer some of the questions below. I have attempted to use nontechnical language as much as possible (Though I am not sure I am successful always).
Commonly used terminologies in Blockchain and Decentralized applications (DApps)
To understand the blockchain and distributed applications, we need to look at the software application landscape in a different way than what we are used to doing for past 4-5 decades. Most of the software programs presently used by businesses, governments, and individuals are centralized where a central computer/node controls them. They are also referred to as ‘centralized applications.’
Programs that will run on a network of computers with no single node instructing any other node as to 'what to do' are known as ‘Decentralized Applications’. In decentralized applications, both data & instructions are distributed but any changes made to them are visible to all parties in the network
Blocks
A ‘block’ could represent transactions and data of many types — the identity of people, bill-of-materials of a 'product' that like an automobile/truck, currency that changes hands or any data that need to be shared between different parties who are a part of the chain.
In blocks, the data is stored in rigid structures called blocks, which are connected to each other in a chain through a hash. Each block also includes a time-stamp and a link to the previous block via its hash). The blocks have a header, which contains metadata, and a content, which includes the real transaction data. Since every block is connected to the previous one, as the number of participants and blocks grow, it is tough to modify any information without having the network consensus.
Blockchain
A blockchain is a record of transactions, like a traditional ledger. The transactions that are recorded in a blockchain can be a record of goods moving through the supply chain, government-issued identification like a passport of a traveler when he/she travels around the world, assets like bonds/securities/stocks changing hands, etc. In other words, blockchain is a distributed database that consists of the data & what happened to the data (transactions).
In a blockchain, a change in the record will be detected by other users that make it a transparent system. On the network, the record is combined with other transactions into a block—like a traditional computer database, transactions time-stamped. Other participants on the network may be sending out their blocks at the same time, and they get added to the network in the right order, and the information is shared with all participants in the network. In other words, a blockchain organizes data into blocks, and then chain them together securely and share with the other computers in the blockchain network.
Blockchain-based on the different network access permission, i.e., whether it is free for anyone to view it (permissionless vs. permission) or to participate in the consensus formation (public vs. private).
Smart Contracts
A ‘smart contract’ is a set of instructions (or application code) captured in 'blocks' in a 'blockchain' that automatically performs the obligations the parties have committed to under the agreement in blockchain network. They are not a ‘contract’ in traditional terms. The application ‘code’ move with the blockchain through the system through the different nodes and gets executed as appropriate/needed based on the conditions defined in the block.
DApp (Decentralized Application)
DApp is another word for decentralized applications. A DApp need to meet the following criteria
- Open Source – Source code of App is available to all.
- Decentralized – It should use a blockchain-like cryptographic technology.
- Incentive – The App should have crypto-tokens/digital assets for fueling itself (funding).
- Algorithm/Protocol – The App should generate tokens and has an inbuilt consensus mechanism.
Once an app is built, it needs to be decentralized by using a blockchain. The blockchain serves as a permanent ledger of records/transactions which anyone can refer to at any time. Records/transactions are added to the ledgers to such ledgers and tokens are used which are mined or pre-mined using different algorithms/protocol. The commonly used protocols are
- Proof-of-work (POW) that allows miners to mine blocks and receive reward. Mining blocks (Validating blocks) and adding them to the chain is a consumptive energy process, hence rewards for people/companies who perform this activity need to be rewarded. The POW also keeps the blockchain secure.
- Proof-of-stake (POS) requires holding and staking of tokens to become an eligible master node. This also secures the blockchain and helps in processing transactions.
Etherium
Ethereum is a decentralized platform for building applications (smart contracts) that can run in a blockchain. Ethereum allows you to build and execute smart contracts and Distributed Autonomous Applications (DApps), without censorship, downtime, or any third party. Etherium has an inbuilt programming language called 'Solidity' and it is used to write smart contracts and DApps. The cryptocurrency asset (Ether) helps in executing these apps and contracts. Ethereum is not just a blockchain it’s a decentralized programmable blockchain-based software platform.
Can you provide a few examples of how blockchain can change how we do things?
Blockchain (‘Blocks’ in concert with ‘Smart Contracts’) has the potential to improve how individuals, companies, government do business. The primary reason for this is that a blockchain can provide transparency to business transactions and cut out the middlemen.
An example is car business. The process of building cars starts with the producers of raw material like steel, aluminum manufacturers, glass manufacturers, etc. The raw materials are shipped to the suppliers who build the parts/components of the automobile. Later the parts/components get shipped to the manufacturing facilities of with Original Equipment Manufacturers (OEMs) who assemble parts into a car and then it is shipped to the car dealers from whom we buy a car. In other words, the process of building, selling cars involves a large number of suppliers, transportation companies. Banks are included in each step of the way, and they finance the suppliers, transportation companies, OEMs, dealers. Every organization in this chain has their computers, software applications that they use to manage the process. These complexities lead to errors, delays, added costs and unnecessary risks.
An automobile blockchain can help simplify the end-end process of building & selling of automobiles by keeping a blockchain that passes from the suppliers to OEM to Dealers and customer and reduce the overhead of third parties including the banks/financial institutions. The blockchain can serve as a digital twin of the car containing all information about the car including what parts were used and who manufactured it and when. A ‘Smart Contract’ in the automotive blockchain can have clauses like ‘If the component arrived two days late then 5% of the shipment cost is forfeited.
Another example is 'International ID' blockchain that can be used by governments and business, accessible anywhere in the world, that allow people to prove their identity, connect with family members and even receive money without a bank account. If a person chooses to include the health records in that blockchain, that record can be securely be made available to their healthcare providers and payors.
The above are only general examples but the potential application of blockchain is extensive and almost all industry sectors can benefit from it. In other words any transactions involving more than one humans, organizations, governmental entities etc. can benefit from blockchain & DApps.
What is the relationship between Blockchain & Cryptocurrencies like Bitcoin & Ether?
Blockchains were initially conceptualized for bitcoin (a cryptocurrency) to act as a ledger for the transactions done through bitcoin. Since a blockchain by definition are not owned by any single party, to compensate organizations who maintain the blockchain a cryptocurrency is generally added to the blocks and the nodes which participate can 'mine' the transactions for which they get paid. Mining a transaction means validating the transactions and getting paid for doing the work (validating transactions and helping to add blocks to the chain). The network can validate the transaction through different mechanisms, but the the most popular methods are “proof-of-work” or a “proof-of-stake.” A Blockchain need not operate for the sole purpose of dealing with cryptocurrencies, and it can work with the primary intent to provide ‘data’ visibility and for executing ‘smart contracts’.
There is extensive literature available on bitcoin, hence I am not detailing how bitcoin works in this article.
What is the relationship between Artificial Intelligence and blockchain?
AI and blockchain evolved independently for different reasons but can be used in concert to solve complex business problems. AI can be used to help in the ‘mining’ process of blockchain. Mining blockchain is a time-consuming and energy consuming process since it requires a lot of computing power. This process can be optimized using Artificial Intelligence. The security of blockchain can be improved using AI techniques.
However, blockchain technologies might be useful in the area of Artificial Intelligence in the quest of Artificial General Intelligence (AGI). AGI is the advanced form of AI that makes machines do tasks that are similar to human brain. There are several architectures that are proposed to replicate how brain works in Artificial Intelligence. WBA (Whole Brain Architecture) formulated by Yamakawa and team is one of them. A schematic of WBA is provided below.
Whole Brain Connectomic Architecture (WBCA) is a static and schematic version of WBA and is a good candidate to build up artificial general intelligence (AGI), based on biological connectomes, or wiring diagrams of the brain. WBCA is also proposed by Yamakawa and team and is build on WBA.
An implementation of WBCA can be achieved using Blockchain. A schematic example is provided below. I will write a separate article on AGI and will provide more details.
Conclusion
Please send me a note at anandramachandran2012@gmail.com if you have questions or comments.
Informative and to the point!!!
Great breakdown :)