Blockchain is a system in which a record of transactions made in bitcoin or another cryptocurrency are maintained across several computers that are linked in a peer-to-peer network.
- There are certain issues with the current technology we are using, for example internet has changed technologies it has changed the way business works Think about facebook, google , amazon they are all running because of internet. Now internet was meant to be open to everyone but now the internet is actually controlled by few companies.and we dont want to have central power because its good now but what about the future?
- When you do online transactions, lets say if you need to send money to someone you need a bank between, thats not really an issue but think of transaction costs, also time if you do an international transaction it can even take days thats why blockchain comes in with the idea of decentralized applications.
- Blockchain also gives you trust, because every transaction you do online blockchaim saves it on ledger If you have a ledger there and you are storying alot of transactions, we dont want it to be changed we want every transaction to be saved in the same way for longer time and it should not be changed . we want it be immutable and blockchain does provide that
- Secure,, the entire blochain system works on cryptography
- Developers
- Experts
- cryptography - Cryptography, or cryptology, is the practice and study of techniques for secure communication in the presence of adversarial behavior more resources
- Distributed computing - A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system.
The blockchain works on peer-to-peer network (We don't need a central server). for example you have multipe nodes or people and the want to share music, they can do it using peer-to-peer , i.e ABCD are nodes A and B have same music album, C can download the album from A and B, lets say half from A and half from B and at the same time C can upload the album so that D can download it. Torentz works with peer-to-peer network P2P is awesome but it doesnt matter which network you are using, we have 4 main concerns:
- Confidentiality
- Integrity
- Non repudiation
- Authentication
Sender Message(Readable) - Encrption- (Message|Cipher) - Decryption - Message(Readable) - Receiver
-
Full node Full node is basically a computer which will have the entire blockchain.It verify and store blocks
-
Partial Node
Example of different hashing Algorithms:
- MD (Message Digest) Message Digest Algorithm 5 (MD5) is a cryptographic hash algorithm that can be used to create a 128-bit string value from an arbitrary length string. Although there has been insecurities identified with MD5, it is still widely used. MD5 is most commonly used to verify the integrity of files.
- SHA (Secure Hash algorithm Build by NSA (National Security Agency) is a cryptographically broken but still widely used hash function which takes an input and produces a 160-bit (20-byte) hash value known as a message digest – typically rendered as a hexadecimal number, 40 digits long. We have SHA0, SHA1 , SHA2 (normally used by bitcoin), and SHA3. Two pupoluar values for SHA2 are 256 and 512
In blockchain we have several blocks connected with the hash of values. Every block will have transactions. This can be one transaction or thausands of transactions. Now if you want to find the hash of one block will you combine the hash of all transactions or find hash of each transaction in a block (this means you have to store hash of each transactions) which is not a good idea. We can solve this puzzle with the helpe of Merkle trees/root?
Blockchain is simply database. One example of public blockchain is Bitcoin. Bitcoin block which we use to send money may have from, to and money info all stored in bitcoin block
Blockchain hash network (in the diagram below)
- a block has to be validated before making a change
- it takes atleast 10 minutes to add the block in blockchain
- blockchain will be stored in multiple machines
- A concept of consensus algorithm comes in
-
Private Blockchain. Specifically for single company
-
Federated Blockchain - group of people/companies
-
Public - Open to entire world
Ethereum is the community-run technology powering the cryptocurrency ether (ETH) and thousands of decentralized applications. Read more All these web apps runs on internet(Centralized), we need Ethereum to be able to run them on decentralized network Ethereum Virtual Machine (EVM), if you want to run softwares on Ethereum network you need this machine Basically Ethereum is a platform where you can create decentralized applications
Case Study
: Suppose we have a company ABC that is selling merchandise, and XYZ is a delivery company,, I fully trust ABC but I have trust issues with XYZ, How do we solve this?
Well, if I make an order and pay, ABC will only receive the money after the product has been delivered to me by XYZ. This whole concept is called smart contracts