I wanted to continue one of the blog posts that I recently posted “Navigating the financial revolution: AI, Blockchain and Traditional Banking” and seized the opportunity to write some stuff about Blockchain. It’s 100% sure, I cannot cover everything about Blockchain in a single blog post, however, I hope that it’s useful.
Blockchain and Cryptocurrencies
A blockchain is a decentralized database. So from a user point of view, you update it with data and authorize it. On the Internet, the blockchain’s database has two main features: When data is uploaded, it’s stored in a specific way using a specific algorithm and secondly, because it is a decentralized system, database data needs to be synced with everyone authorized to see it. So there are several notable blockchain systems such as Bitcoin, Ethereum, Litecoin, etc,
It’s important to note that:
- The blockchain space is dynamic, and new blockchain projects continue to emerge. What mainly differentiates blockchain is the type of data uploaded and how agreement is reached between parties in the network.
- Instead in a traditional system as data are uploaded in the cloud, it is broadcasted to a peer-to-peer network of connected nodes. A collection of nodes behaves as a database server using a unique chain data structure, hence Blockchain.
In one of my previous articles: Navigating the financial revolution: AI, Blockchain and Traditional Banking, I mentioned that we have decentralized technologies (currencies in a decentralized system such as Bitcoin, Litecoin, etc..) that are not regulated, but those currencies since they are kept in copies in the network’s node, they also have ledgers which illustrate the transactions, payment, and ownerships. However, there are some controversies here about this type of payment.
Blockchain and Smart Contracts
A blockchain is not only used for cryptocurrency purposes but also to host code or a program that the blockchain can run. One example is Tezos. In that case, the network of nodes will execute the program as a single component. Programs are usually called “smart contracts”. Smart contracts are self-executing contracts with the “terms of the agreement” directly written into code. They run on blockchain technology and automatically execute and enforce the terms of a contract when predefined conditions are met. There are many challenges to this design such as:
- Security Concerns: Flaws in smart contract code can lead to vulnerabilities and security breaches.
- Regulatory Uncertainty: The legal and regulatory status of smart contracts varies globally, posing challenges for widespread adoption.
- Irreversibility: Once deployed, changes to a smart contract are challenging, and in some cases, impossible.
As well as many advantages:
- Automation: Once deployed, smart contracts operate autonomously, executing actions and transactions without the need for intermediaries. This automation streamlines processes and eliminates the need for a trusted third party.
- Code-Based: Smart contracts are written in programming languages specifically designed for the blockchain environment. Ethereum, for example, uses Solidity as its programming language for smart contracts.
- Immutable: Once deployed on the blockchain, smart contracts are immutable, meaning their code cannot be altered. This ensures the integrity and reliability of the contract terms.
Enterprise-focussed Blockchain
Enterprise-focused blockchain refers to the application and use of blockchain technology specifically within the context of large organizations, businesses, or enterprises. Unlike public blockchains, which are open and decentralized, enterprise blockchains are often private or permissioned, meaning that access and participation are restricted to authorized entities. There is also regulatory compliance, where the enterprise operates within the regulatory framework such as data protection, financial regulations, and industry-specific compliance. Examples are Hyperledger Fabric, Corda, and Quorum.
Utility tokens, Security tokens, and Stablecoins
Utility tokens are a type of cryptocurrency that is designed to provide access to a specific product or service within a blockchain platform. One example of a use case is when a holder of a token needs access to a specific feature within an app on the blockchain. Security tokens are mostly representative of ownership and might be used for regulatory compliance.
Stablecoins are a type of cryptocurrency designed to maintain a stable value by pegging their value to another asset, typically a fiat currency like the US Dollar. However, there are still controversies behind USDC. For instance, at the time, I am writing this article Coinbase is offering a generous 4% interest rate. “USDC may not be volatile, but it’s tied to the crypto world and all the risks that come with it.” – fool.com
Public and Private Blochain? Which one?
So accessibility and transparency are the key features here. Since everything is on the internet, anyone can join and become a node, so security is very important here. Therefore, someone who is behind data behind the blockchain can maintain a high level of anonymity although everyone on the node has the same level of data.
Both Public and Private Blockchain require a high level of Permissioning. In a Public Blockchain, data could be made publicly available by an anonymous person. But in a Private Blockchain, although data can be made publicly available, not everyone can become a node.
Identity in Blockchain
The concept of identity within a blockchain pertains to representing and verifying individuals or entities actively participating in the blockchain network. Blockchain-based identity systems strive to establish a secure and decentralized framework for managing and confirming identity-related information. For example, in systems like Bitcoin and Ethereum, a pair of private and public keys is utilized to uphold user anonymity, with each key being linked to a specific wallet.
It’s noteworthy that individuals can possess multiple wallets within the blockchain, and some may opt for a distinct wallet for each transaction. It’s crucial to understand that the blockchain records transactions made using the public/private key pair. However, when a user initiates a transaction from one of their wallets to another, the transaction is still recorded on the blockchain, but the level of details to external observers will vary a lot.
Hashing
Hashing in the context of blockchain refers to the process of applying a cryptographic hash function to input data, resulting in a fixed-size string of characters, which is typically a hash value or hash code. The purpose of hashing in blockchain is to create a unique and secure representation of data that is efficiently verifiable. Bitcoin primarily uses the SHA-256 (Secure Hash Algorithm 256-bit) hashing algorithm. Litecoin uses the Scrypt hashing algorithm.
Bitcoin primarily uses the SHA-256 (Secure Hash Algorithm 256-bit) hashing algorithm. This cryptographic hash function is a core component of Bitcoin’s proof-of-work (PoW) consensus mechanism. In the context of Bitcoin, SHA-256 is used in various aspects, including:
- Block Hashing
- Mining Process
- Transaction
- Verification
- Digital Signatures