Blockchain For Dummies is. In 25 concise steps, you will learn the basics of blockchain technology. No mathematical formulas, program code, or computer science jargon are used. No previous knowledge in computer science, mathematics, programming, or cryptography is required. Terminology is explained through pictures, analogies, and metaphors. This book bridges the gap that exists between.
Ready to dive into smart contract development for the blockchain? With this practical guide, experienced engineers and beginners alike will quickly learn the entire process for building smart contracts for Ethereum—the open source blockchain-based distributed computing platform.
Grasp the mechanisms behind Bitcoin, Ethereum, and alternative cryptocurrencies Understand cryptography and its usage in blockchain technology Understand the theoretical foundations of smart contracts Develop decentralized applications using Solidity, Remix, Truffle, Ganache, and Drizzle Identify and examine applications of blockchain beyond cryptocurrencies Understand the architecture and development of Ethereum 2.
Leave a Reply Cancel reply Your email address will not be published. Learn why Bitcoin was fundamentally important in blockchain's birth Explore altcoin and alternative blockchain projects to understand what's possible Understand the challenges of scaling and forking a blockchain Learn what Ethereum and other blockchains offer Examine emerging business uses for blockchain beyond cryptocurrency Discover where the future lies in this exciting new technology.
Build powerful applications using Ethereum to secure transactions and create smart contracts. Explore cryptography, mine cryptocurrencies, and solve scalability issues with this comprehensive guide. Who This Book Is For This book appeals to those who wish to build fast, highly secure, transactional applications. This book is for those who are familiar with the concept of blockchain and are comfortable with a programming language.
What You Will Learn Master the theoretical and technical foundations of blockchain technology Fully comprehend the concept of decentralization, its impact and relationship with blockchain technology Experience how cryptography is used to secure data with practical examples Grasp the inner workings of blockchain and relevant mechanisms behind Bitcoin and alternative cryptocurrencies Understand theoretical foundations of smart contracts Identify and examine applications of blockchain technology outside of currencies Investigate alternate blockchain solutions including Hyperledger, Corda, and many more Explore research topics and future scope of blockchain technology In Detail Blockchain is a distributed database that enables permanent, transparent, and secure storage of data.
The blockchain technology is the backbone of cryptocurrency - in fact, it's the shared public ledger upon which the entire Bitcoin network relies - and it's gaining popularity with people who work in finance, government, and the arts. Blockhchain technology uses cryptography to keep data secure. This book gives a detailed description of this leading technology and its implementation in the real world. This book begins with the technical foundations of blockchain, teaching you the fundamentals of cryptography and how it keeps data secure.
You will learn about the mechanisms behind cryptocurrencies and. While a database requires a central authority to maintain and manage data, blockchain offers a decentralized approach to storage and verification of data. Big companies tend to take the lead when it comes to blockchain investments, likewise individual people have a wide variety of reasons to invest in blockchain. Some see a bright future in the crypto world - these people tend to think that cryptocurrencies are the way to go and that eventually, they'll eliminate other types of currencies in general.
Again, one could think of many different reasons to learn and invest in blockchain. But when you finally decide on emptying your piggy bank and rushing to the nearest "Blockchain Trading Booth" you suddenly realize that such a thing doesn't exist. This book provides a broad overview of the essential concepts of blockchain technology. You will also be shown how to implement blockchain solutions beyond currencies, Internet of Things with blockchain, blockchain scalability, and the future scope of this fascinating and powerful technology.
Blockchain is not only about Bitcoin or cryptocurrencies, but also about different technologies such as […]. Your email address will not be published. Nodes or processes are named replicas and consensus is achieved in the presence of faulty nodes by agreement among a majority of nodes.
Follower, Candidate, or Leader, to the nodes. A Leader is elected after a candidate node receives enough votes and all changes now have to go through the Leader, who commits the proposed changes once replication on the majority of follower nodes is completed.
For this chapter, it is sufficient to introduce bitcoin very briefly as there is a full chapter on bitcoin later on but it is also essential to refer to bitcoin because without it, the history of blockchain is not complete.
Just as understanding the concepts of distributed systems is necessary in order to understand blockchain technology, the idea of electronic cash is also essential to appreciate the first and astonishingly successful application of blockchain: the bitcoin, or broadly cryptocurrencies. Theoretical concepts in distributed systems such as consensus algorithms provided the basis of the practical implementation of Proof of Work algorithms in bitcoin; moreover, ideas from different electronic cash schemes also paved the way for the invention of cryptocurrencies, specifically bitcoin.
In this section, the reader will be introduced to the idea of electronic cash and then various other concepts that existed before cryptocurrencies that led to the development of bitcoin are presented. David Chaum addressed both of these issues in his seminal paper in by introducing two. These terminologies and related concepts will be discussed in detail in Chapter 3, Cryptography and Technical Foundations. At the moment, it is sufficient to say that blind signatures allow signing a document without actually seeing it and secret sharing is a concept that allows the detection of using the same e-cash token twice double spending.
After this other protocols emerged such as Chaum, Fiat, and Naor CFN , e-cash schemes that introduced anonymity and double spending detection. Brand's e-cash is another system that improved on CFN, made it more efficient, and introduced the concept of security reduction to prove statements about the e-cash scheme.
Security reduction is a technique used in cryptography to prove that a certain algorithm is secure by using another problem as a comparison. Put another way, a cryptographic. A different but relevant concept called hashcash was introduced by Adam Back in as a PoW system to control e-mail spam. The idea is quite simple: if legitimate users want to send e-mails then they are required to compute a hash as a proof that they have spent a reasonable amount of computing resources before sending the e-mail.
Generating hashcash is a compute intensive process but does not inhibit a legitimate user from sending the e-mail because the usual number of e-mails required to be sent by a legitimate user is presumably quite low. On the other hand, if a spammer wants to send e-mails, usually thousands in number, then it becomes infeasible to compute hashcash for all e-e-mails, thus making the spamming effort expensive; as a result this mechanism can be used to thwart e-mail spamming.
Hashcash takes a considerable amount of computing resources to compute but is easy and quick to verify. Verification is performed by the user who receives the e-mail.
Hashcash is. Moni Naor. Pricing function was the name given to the hard functions that are required to be computed before access to a resource can be granted. Later, Adam Back invented hashcash independently in , which introduced the usage of computing hash functions as PoW. In b-money was introduced by Wei Dai and proposed the idea of creating money via solving computational puzzles such as hashcash.
It's based on a peer-to-peer network where each node maintains its own list of transactions. Another similar idea by Nick Szabo called BitGold was introduced in and also proposed.
In Hal Finney introduced the concept of cryptographic currency by combining ideas from b-money and hashcash puzzles but it still relied on a centralized trusted authority. There were multiple issues with the schemes described in infeasible preceding paragraphs.
These problems range from no clear solution of disagreements between nodes to reliance on a central trusted third party and trusted timestamping. In the first practical implementation of a cryptocurrency named bitcoin was introduced; for the very first time it solved the problem of distributed consensus in a trustless network. It uses public key cryptography with hashcash as PoW to provide a secure, controlled, and decentralized method of minting digital currency.
The key innovation is the idea of an ordered list of blocks composed of transactions and cryptographically secured by the PoW mechanism. This will be explained in more detail in Chapter 4, Bitcoin. Looking at all the aforementioned technologies and their history, it is easy to see how ideas and concepts from electronic cash schemes and distributed systems were combined together to invent bitcoin and what now is known as blockchain. There are various definitions of blockchain; it depends on how you look at it.
If you look at it from a business perspective it can be defined in that context, if you look at it from a technical perspective one can define it in view of that. Blockchain at its core is a peer-to-peer distributed ledger that is cryptographically secure, append-only, immutable extremely hard to change , and updateable only via consensus or agreement among peers. Blockchain can be thought of as a layer of a distributed peer-to-peer network running on top of the Internet, as can be seen below in the diagram.
This is shown in the following diagram:. A block is simply a selection of transactions bundled together in order to organize them logically. It is made up of transactions and its size is variable depending on the type and design of the blockchain in use. A reference to a previous block is also included in the block unless it's a genesis block. The structure of a block is also dependent on the type and design of a blockchain, but. This is shown in a simple block diagram as follows. This is a general depiction of a block; specific block structures relative to their blockchain technologies will be discussed later in the book with more in-depth technical details:.
Blockchain is a decentralized consensus mechanism. In a blockchain, all peers eventually come to an agreement regarding the state of a transaction. Blockchain is a distributed shared ledger. Blockchain can be considered a shared ledger of transactions. The transaction are ordered and grouped into blocks.
Currently, the real-world model is based on private databases that each organization maintains whereas the distributed ledger can serve as a single source of truth for all member organizations that are using the blockchain. Blockchain is a data structure; it is basically a linked list that uses hash pointers instead of normal pointers. Hash pointers are used to point to the previous block.
In this section, the generic elements of blockchain are presented. More precise elements will be discussed in the context of their respective blockchains in later chapters, for example, the Ethereum blockchain. Addresses are unique identifiers that are used in a transaction on the blockchain to denote senders and recipients.
An address is usually a public key or derived from a public key. While addresses can be reused by the same user, addresses themselves are unique. In practice, however, a single user may not use the same address again and generate a new one for each transaction.
This newly generated. Bitcoin is in fact a pseudonymous system. End users are usually not directly identifiable but some research in de-anonymizing bitcoin users have shown that users can be. As a good practice it is suggested that users generate a new address for each transaction in order to avoid linking transactions to the common owner, thus avoiding identification.
A transaction is the fundamental unit of a blockchain. A transaction represents a transfer of value from one address to another. A block is composed of multiple transactions and some other elements such as the previous block hash hash pointer , timestamp, and nonce. As the name implies, this is a network topology whereby all peers can communicate with each other and send and receive messages.
This element performs various operations on a transaction. Transaction scripts are predefined sets of commands for nodes to transfer tokens from one address to another and perform various other. Turing complete programming language is a desirable feature of blockchains; however, the security of such languages is a key question and an area of important and ongoing research.
A blockchain can be viewed as a state transition mechanism whereby a state is modified from its initial form to the next and eventually to a final form as a result of a transaction execution and validation process by nodes.
A node in a blockchain network performs various functions depending on the role it takes. A node can propose and validate transactions and perform mining to facilitate consensus and secure the. This is done by following a consensus protocol. Most commonly this is PoW. Nodes can also perform other functions such as simple payment verification lightweight nodes , validators, and many others functions depending on the type of the blockchain used and the role assigned to the node.
Distributed consensus is the major underpinning of a blockchain. This enables a blockchain to present a single version of truth that is agreed upon by all parties without the requirement of a central. Any transactions posted from nodes on the blockchain are verified based on a predetermined set of rules and only valid transactions are selected for inclusion in a block.
A blockchain is a platform where programs can run that execute business logic on behalf of the users. As explained earlier, not all blockchains have a mechanism to execute smart contracts; however, this is now a very desirable feature. Blockchain enables the transfer of value between its users via tokens.
Tokens can be thought of as a carrier of value. This is an optional feature depending on the type of blockchain used. A blockchain can generate cryptocurrency as an incentive to its miners who validate the transactions and spend resources in order to secure the blockchain.
For the first time it is possible to link a digital or physical asset to the blockchain in an irrevocable manner, such that it cannot be claimed by anyone else; you are in full control of your asset and it cannot be double spent or double owned. Compare it with a digital music file, for example,. This feature has far-reaching. The double spend problem was first solved in bitcoin. Generally, confidentiality is not provided due to the requirements of transparency. This has become a main barrier for its adaptability by financial institutions and other industries that need privacy and confidentiality of transactions.
As such it is being researched very actively and there is already some good progress made. It could be argued that in many situations confidentiality is not really needed and transparency is preferred instead.
For example, in bitcoin confidentiality is not really required; however, it is desirable in some scenarios. Research in this area is very ripe and already major progress has been made towards providing confidentiality and privacy on blockchain. A more recent example is Zcash, which will be discussed in more detail in later chapters. Other security services such as nonrepudiation and authentication are also provided by blockchain as all actions are secured by using private keys and digital signatures.
This is another key feature of blockchain: records once added onto the blockchain are immutable. There is the possibility of rolling back the changes but this is considered almost impossible to do as it will require an unaffordable amount of computing resources. For example, in much desirable case of bitcoin if a malicious user wants to alter the previous blocks then it would require computing the PoW again for all those blocks that have already been added to the blockchain.
This difficulty makes the records on a blockchain practically immutable. This feature of blockchain ensures that every transaction is unique and has not been spent already. This is especially relevant in cryptocurrencies where much desirable detection and avoidance of double spending are a key requirement.
Blockchain technology has a multitude of applications in various sectors including but not limited to finance, government, media, law, and arts. More light will be shed on these aspects in Chapter 9,. Hyperledger where practical use cases will be discussed in detail for various industries. It is. In the following section, a general scheme of creating blocks is discussed. This is presented here to give readers a general idea of how blocks are generated and what the relationship is.
The transaction is propagated flooded by using much desirable Gossip protocol to peers, which validates the transaction based on pre-set criteria. Usually, more than one node is required to validate the transactions. Once the transaction is validated, it is included in a block, which is then propagated on to the network. At this point, the transaction is considered confirmed. This link is a hash pointer.
At this stage, the transaction gets its second confirmation and the block gets its first. Transactions are then reconfirmed every time a new block is created. Usually, six confirmations in the bitcoin network are required to consider the transaction final. In this section, various tiers of blockchain technology are discussed. It is envisaged that, due to the rapid development and progress made in blockchain technology, many applications will evolve over time. Some have already been realized while some can be envisioned for the future based on the current rate of advancement in the blockchain technology.
First, the three levels discussed below were originally described by Melanie Swan in her book. Blockchain, Blueprint for a New Economy as tiers of blockchain categorized on the basis of. In addition to this, Tier X or Generation X is discussed later.
0コメント