Skip to main content

Blockchain in Theory - Blockchain, Bitcoin, Mining

 


  •  Blockchain is the software protocol that tell the Internet how to transfer money and assets.
  • Blockchain is the layer and Bitcoin is the application. Just one of many cryptocurrency kinds of applications.
  • When one user send email to another then both users do not have to know about the underlaying process except email address. Similarly,  User don't need to know anything other than other user's wallet address to send some bitcoin or other cryptocurrencies. 
  • Any file on Internet may have multiple copies but money is something that should not be copied multiple times. This has been a longstanding problem in computing networks namely the double spend problem.
  • Satoshi Nakamoto introduced white paper for digital cash system in 2008 to resolve the double spending problem and fortified by a ledger which enforces the money is only spent once.
  • It took 15 years alone for corporate email as the main application to be a standard thing in our lives. And similarly the money Internet block chain could take 30 to 40 years or longer to fully roll out because it deals with money and it is more sensitive.
  • One reason we need something like block chain is because it's a decentralized Financial Network.
  • Crypto wallet: 
    • The interesting thing is that software wallets don't fool money they hold keys.
    • It means that your wallet on your phone holds the public and private keys that allow you to access your money in the sense of access direct transactions up on the Internet web based ledger system.
    • Download the bitcoin wallet app on mobile from app store and once it's on your phone then initialize it will set of a public private key pair. So the basic technology used is PKI infrastructure i.e. the public key infrastructure.
    • So what this means there is a pair of public key a 32 character alphanumeric address. That's your personal  bitcoin address. And then of course a private key that you don't see it. only the software plumbing of the Internet sees when you're trying to submit a transaction.
    • When you try to send bitcoin then you would scan the other party's address with a QR code or entering in it in the 32 digit alphanumeric code and specify the amount of the transaction and submit it to send money from your wallet to somebody else's wallet.
    • And then the internet software will confirm that you indeed have the money available in your account in your ledger balance and it will transfer it to the balance of the other address that you specify.
    • There is only one unified Ledger on the Internet anybody can look at it any time it's all public and open in terms of which wallet addresses have which balances.
    • It's called pseudonymous in the sense that you can see that a certain wallet address  has this amount of bitcoin in it. But it's unknown what personal entity this wallet address might correspond to.
    • It can take several minutes for the transaction to confirm as the mining block confirms that transaction.
  • Blockchain is a peer to peer distributed software system out on the Internet. And there are about 7000 machines worldwide running the whole Bitcoin. It is called bitcoin daemon.
  • You are welcome to run this peer to participate in hosting. you can check that out online or distributed locally.
  •  But the issue is to run the whole transaction ledger so far is already 100 gigabits, so this is pretty substantial.
  • Bitcoin Mining:
    • Mining is a software based accounting function to record the transactions in the block chain ledger.
    • The network issues a random number at the interval of 10 minutes, this random number is called "nonce" 
    • Then every participating mining machine which is our software hardware combination itself makes guesses about what this random number might be.
    • These mining machine make guesses on the order of 4 billion per second.
    • So you can run mining software on your own laptop  but it will probably never make it correct because it is not operating at the specialized speed of four billion guesses per second.
    • China makes these mining chips and consequently most of the big mining farms are close to the ASIC factories in China and they are huge data centers of machines with mining ASIC chips that just sit there and guess these nonce.
    • One machine at random worldwide will guess close to the nonce or guess closest to the nonce and be awarded the mining rewards. This is often called a new block is being discovered.
    • There are a specific dollar amount of rewards in bitcoin that accompany the new block.
    • Mining is often called wasteful because indeed it does take a lot of electricity to operate these mining machines. However it's much cheaper than the cost to run brick and mortar banking branches with human personnel.
    • The point is that the mining effort is designed to be purposefully wasteful and that you want only good players on your network.
  • Bitcoin and Ethereum
    • Bitcoin is used for immediate cash transfers of monetary value and digital payment system.
    •  Ethereum is more like a virtual computer and it's more for smart contracts for future transactions, setting up some kind of agreement about some kind of transfer of information or asset in the future.
  • Blockchain Consensus Algorithm
    • Consensus means how do we come to a new true state of affairs in our network and update on those.
    • Blockchain is state change machine. it maintains a state i.e. state of the ledger balances until something happens and then that truth state needs to be updated to the new truth state.
    • That's a new truth State of the network and that information used to be propagated and updated by all nodes.
    • So the mechanism for updating the truth State of the network is called consensus.
      • Proof of work
        • the first one is called proof of work and this is the mechanism for consensus used by the bitcoin network.
        • The proof of work is exactly the mining process of making the investment to guess that random number (the nonce) four billion times per second. 
        • The chip performs computational tasks in order to guess that random number and conducting a proof of work to obtain the rewards to convince the network software that it's a honest player. It means well it is honestly trying to guess the number and reap the rewards for that work. 
        • It's providing a proof of work and so that's the consensus algorithm by which the Bitcoin block chain runs.
      • Proof of stake
        • The other kind of consensus algorithm is called proof of stake.
        • Proof of stake is more like a voting system.
to be contd..

Comments

  1. Thank you for sharing useful information with us. please keep sharing like this. And if you are searching a unique and Top University in India, Colleges discovery platform, which connects students or working professionals with Universities/colleges, at the same time offering information about colleges, courses, entrance exam details, admission notifications, scholarships, and all related topics. Please visit below links:

    Top Architecture Institutes and Colleges in Noida

    Top Architecture Institutes and Colleges in Gurgaon

    Top Architecture Institutes and Colleges in Delhi

    Top Architecture Institutes and Colleges in Sonepat

    Top Architecture Institutes and Colleges in Bangalore

    ReplyDelete

Post a Comment

Popular posts from this blog

How to kill a process running on particular port in Linux

  If port 8080 needs to be kill use below single command: kill -9 $(lsof -t -i:8080) Note: remove -9 from the command, if you don't want to kill the process violently. To list any process listening to the port 8080: lsof -i:8080 Use any port number that you want to kill.

How to Setup Virtual Environment in Python with venv

A virtual environment is the most used tool by the developers to isolate the dependencies for different projects. Suppose you have two projects say porj1 and proj2 . proj1 needs the Django dependency with version 3.2 but your proj2 needs the Django dependency with version 2.2. In this situation you need a virtual environment to keep the both version on your system separately.  How to create virtual environment in python:  Decide a directory where you want to create the virtual environment. You can use your project directory or any other directory as per your wish.  Run the below command. Here` awesome_proj_env ` is the folder where virtual environment will be created. if the folder does not exists then it will be created automatically. python3 -m venv awesome_proj_env    Activate the virtual environment: On Linux/Mac OSX: source awesome_proj_env/bin/activate  On Windows: awesome_proj_env \Scripts\activate.bat Deactivate the virtual environment in Python: type " deactivate "