Blockchain – Privacy As the ledger which is recording all the bitcoin transactions is made truly public, the privacy is at stake. Anybody in the world would be able to know who paid whom? The traditional banking system is able to maintain this kind of privacy by keeping its records confidential. Privacy in Bitcoin system is achieved by a different strategy. Note that we said that the sender of a bitcoin needs to know whom to pay. So he asks for the public key of the vendor to which he desires to make the payment. This public key can be anonymous. In the sense, as a vendor of some services, when somebody asks you where to send the payment, you would simply send him your public key. The association of this public key with you is not recorded anywhere in the ledger. That way anybody outside of this transaction would only know how much money is transacted and to which public key the money is paid out. To achieve a higher degree of privacy, for every transaction, you may generate a new private/public key for each transaction so that multiple transactions made by you cannot be grouped together by a third party. For an outsider, this would simply mean that multiple transactions of smaller values were made and they will never will be linked to a common source. Lastly, any online internet based system is vulnerable to abuses. I will now describe few possible types of attacks on Bitcoin system and how those are mitigated.
Category: blockchain
Discuss Blockchain A blockchain is a growing list of records, called blocks, which are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data. Blockchain has been in a lot of buzz these days. And that is mainly because it is backbone of the very famous cryptocurrency in the world – the Bitcoin. Many Governments and leading Banks have decided to bring many of their conventional transactions based on Blockchain concept. The applications and potential of this framework is huge and is considered to be changing the way transactions are made in various domains.
Bitcoin – Mitigating Attacks I will discuss three different types of probable attacks in the Bitcoin system − Race Attack As an attacker, you may send the same coin to different vendors in rapid succession, probably by using two different machines. If the vendors do not wait for the block confirmation before delivering the goods, they will very soon realize that the transaction was rejected during the mining process. The solution to this kind of attack is that the vendor must wait for at least one block confirmation before sending out the goods. Finney Attack In this case, the attacker is the miner. The miner mines a block with his transaction and does not release it in the system. He now uses the same coins in a second transaction and then releases the pre-mined block. Obviously, the second transaction would be rejected eventually by other miners, but this will take some time. To mitigate this risk, the seller should wait for at least six block confirmations before releasing the goods. The 51% Attack In this kind of attack, we come up with an impractical assumption that somebody owns 51% of the computing power of the network. The attacker in this kind of attack mines a private blockchain where he double-spends the coins. As he owns the majority of computing power, he is guaranteed that his private blockchain at some point of time would be longer than the chain of “honest” network. He then releases his private blockchain in the system making all the transactions earlier recorded in the honest blockchain to be invalid. This kind of attack is fictitious as it is very expensive to acquire computing power which equals or exceeds 51% of the computing power of the entire network.
Blockchain – Quick Guide Blockchain – Introduction In recent years, there is a lot of buzz on Blockchain. Many have described this as a most disruptive technology of the decade. Especially, the financial markets could be the most affected ones. The technology is being adapted into many verticals like Healthcare, Medicines, Insurance, Smart Properties, Automobiles, and even Governments. However, so far the most successful implementation of Blockchain is the Bitcoin – A Peer-to-Peer Electronic Cash System, which incidentally is also the first implementation of blockchain technology. Thus, to understand blockchain technology, it is best to understand how Bitcoin System is designed and implemented. In this article, you will learn what is Blockchain, its architecture, how it is implemented and its various features. I will site Bitcoin implementation while describing the intricacies of blockchain. The blockchain architecture is not so trivial and many have written good articles, tutorials including several videos. These range audience from Novice to Professionals. In this tutorial, I will focus on the conceptual understanding of blockchain architecture, keeping both Novice and Professionals on mind. Before delving into the blockchain, it is important to know why the need for this new technology emerged? The answer to this question lies in what is known as Double − Spending. Blockchain – Double Spending Consider a situation shown in image − As clearly seen here, Bob is tendering a $10 bill to Lisa in exchange of a book. Once the Lisa receives this physical $10 bill, there is no way for Bob to re-use this money for some other transaction, as the physical currency is now in Lisa’s possession. Now, consider a situation where the money is paid in Digital form. This is illustrated in image − As the format for money exchange is in the digital format, it is essentially a binary physical file stored somewhere on Bob’s device. After Bob gives this file (digital money) to Lisa, he can also a give a copy of the file to Alice. Both now think that they have received the money without having any means of authenticating the digital coin and would thus deliver their respective goods to Bob. This is called double-spending where the sender spends the same money at more than one place for obtaining services or goods from multiple vendors. To solve this problem of double-spending, one would employ a centralized authority to monitor all the transactions. This is illustrated in image − The centralized authority, which in common terms is your bank, maintains a ledger book recording all the transactions. Now, Bob has to send his digital money to the bank who would make an entry into its ledger debiting Bob’s account. After ensuring that Bob has sufficient balance to pay for the digital money which he wants to send, would send the money to Lisa crediting her account in its ledger. Now, it is guaranteed that Bob cannot double spend the money. If every digital transaction is routed through a centralized authority like this, the problem of double-spending would be solved. This also provides another benefit in validating the authenticity of each coin (digital money) that it receives in the transaction. So the fake money (duplicate money as in the case of Bob paying to Alice using a copy) would be easily detected and prevented from the circulation. The introduction of centralized authority though it solves the double-spending problem, introduces another major issue – the cost of creating and maintaining the centralized authority itself. As the banks need money for their operations, they start cutting commissions on each currency transaction they do for their clients. This sometimes can become very expensive, especially in overseas transfer of money where multiple agents (banks) may be involved in the entire deal. All the above issues are solved by the introduction of digital currency, called Bitcoin. I will now give you a brief background on what Bitcoin is before delving into its design and architecture. Bitcoin – Brief History The Bitcoin was introduced in this world by Satoshi Nakamoto through a research-style white paper entitled in the year 2008. The Bitcoin not only solved the double-spending problem, but also offered many more advantages, One such advantage worth mentioning here is the anonymity in the transactions. Satoshi who created the system and did transact few coins on this system is totally anonymous to the entire world. Just imagine, in this world of social media, when the privacy of each individual is at stake, the world is not able to trace out so far who is Satoshi? In fact, we do not know whether Satoshi is an individual or a group of people. Googling it out also revealed the fact that the bitcoins Satoshi Nakamoto holds is worth about $19.4 billion – that money now remains unclaimed in the Bitcoin system. So what is Bitcoin – let us have a look! What is Bitcoin? As you saw earlier, the bank maintains a ledger recording each transaction. This ledger is privately held and maintained by the bank. Satoshi proposed that let this ledger be public and maintained by the community. The moment you make such a ledger public, several considerations would come to your mind. This ledger has to be tamper-proof so that nobody can modify its entries. As each entry in the ledger is publicly visible, we will have to figure out how to maintain the anonymity – obviously you would not like everybody in the world to know that I paid you one million dollars. Also, as there is only one single ledger keeping track of each and every transaction in the world, the size of ledger would be another great concern. Providing a solution to these intricacies was not trivial and that’s what I am attempting it here to make you understand underlying architecture of Bitcoin in simple words. This underlying architecture is the Blockchain and that’s what this tutorial is about. To understand the Blockchain architecture, you need to understand a few key features on which it is based
Blockchain – Useful Resources The following resources contain additional information on Blockchain. Please use them to get more in-depth knowledge on this. Useful Links on Blockchain − Blockchain, its history and various other terms has been explained in simple language. −Official site Useful Books on Blockchain To enlist your site on this page, please drop an email to [email protected]
Blockchain – Incentives to Miners As we saw in the chapter Bitcoin – Mining, a miner may be flooded with many transactions at any given period of time. The maximum size for a block is pre-defined in the system necessitating that only a certain number of transactions be included in the block. The number of transactions in the block is determined by the pre-defined block size and the average length of each block. An important tip here is that the sender should not include too much information in its message so as to make it short and thereby incentivizing the miner to accept it before the other lengthy messages. A sender generally will also add a transaction fee in terms of a certain number of bitcoins so as to incentivize the miner for early inclusion in his block. The other consequence in building the blockchain is its mere size. Over a period of time, the entire blockchain may become too large for a node to store it on its disk. This is solved by using Merkle Tree which is described next.
Blockchain – Conclusion In this short tutorial you were introduced to several concepts of Blockchain by taking Bitcoin as a case study. The Bitcoin is the first successful implementation of blockchain. Today, the world has found applications of blockchain technology in several industries, where the trust without the involvement of a centralized authority is desired. So welcome to the world of Blockchain. Further Readings − Original paper by Satoshi − Official site −
Blockchain Tutorial Job Search A blockchain is a growing list of records, called blocks, which are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data. Blockchain has been in a lot of buzz these days. And that is mainly because it is backbone of the very famous cryptocurrency in the world – the Bitcoin. Many Governments and leading Banks have decided to bring many of their conventional transactions based on Blockchain concept. The applications and potential of this framework is huge and is considered to be changing the way transactions are made in various domains. Audience This tutorial has been prepared for professionals aspiring to learn the basics of Blockchain. We tried to explain Blockchain concepts through Bitcoin Crypto Currency. This course is going to give you great understanding for the students and professionals aspiring to make a career in the Blockchain technology. This tutorial will teach you blockchain technology, the driving force behind the cryptocurrency, Bitcoin. You will learn various aspects of cryptography, process of creating and chaining Blocks, Network & Mining and many other concepts associated with blockchain technology including designing of a blockchain network.
Blockchain – Resolving Conflicts As we have seen the Bitcoin network contains several miners. It is possible, that the two different miners solve the Proof-of-Work at the same time and thus add their blocks to the last known block in the chain. This is illustrated in below image − Now, we have two branches after Block 3. Both the branches are valid. So the next mined block may be added in either of the branches. Suppose, the miner adds the newly mined block to Block 104-A, the branch containing Block 104-A will be longer than the branch containing Block 104-B. This is illustrated in below image − In Bitcoin architecture, the longest branch always wins and the shorter ones are purged. So the Block 104-B has to be purged. Before purging this block, all transactions in this block will be returned to the transaction pool so that they are mined and added to some future block. This is how the conflicts are resolved and only one single chain of blocks is maintained by the system.
Bitcoin – Mining When Bob creates a purchase request for Lisa, he does not send it to Lisa alone. Rather the request message is broadcasted on the entire network to which he is connected. Bob’s network is depicted in image. The message goes to all the connected nodes (machines). Some of the nodes in the diagram are marked as miners. These are the machines which run a piece of software for mining the bitcoin message. I will now explain you what this mining means. Mining Process As the entire network is widely distributed, every miner in the network is expected to receive multiple messages from multiple vendors at any given period of time. What the miner does is he combines these messages in a single block. This is illustrated in image − After a block of messages is formed, the miner creates a hash on the block using the hashing function described earlier. Now, as you know if any third party modifies the contents of this block, its hash would become invalid. Incidentally, each message is time-stamped so that nobody can modify its chronological order without affecting the block’s hash value. Thus, the messages in the block are perfectly secured from tampering. How this fact is used in securing all the transactions in the network is explained further.