The Blockchain is an unstoppable revolution and one of the greatest inventions since the Internet. This is like a gigantic, forgery-proof database, with a continuously expanding list of records called "blocks", which are concatenated using cryptographic techniques. Even larger and well-known companies are starting to use the Blockchain for themselves, as well as developing projects on blockchain. The first successful project on this blockchain was the now well-known Bitcoin. A digital currency that works completely decentralized. That means without any financial institution, such as a bank, a central bank, a government, or any middlemen.
A blockchain is a continuously expandable list of records called "blocks" that are concatenated using cryptographic techniques. Each block typically contains a cryptographically secure hash of the previous block, a timestamp and transaction data. The term blockchain is more commonly used for a concept that allows an accounting system to be decentralized while still achieving consensus on the correct state of accounting, even though many participants are involved in accounting. This concept is referred to as distributed ledger technology (decentralized account balance technology) or DLT. What is kept in the bookkeeping system book, is irrelevant to the concept of Blockchain. Crucially, later transactions build on previous transactions and confirm them as correct by demonstrating knowledge of past transactions. This makes it impossible to manipulate or pay for the existence or content of the previous transactions, while at the same time destroying all later transactions that have already been confirmed.
Other decentralized accountants who are still aware of the later transactions would simply recognize a malicious copy of the blockchain as having inconsistencies in the calculations.
The process of cryptographic chaining in a decentralized accounting system is the technical basis for cryptocurrencies, but can also help in distributed systems to improve or simplify transaction security compared to centralized systems.
The functionality is similar to the journal of accounting. It is therefore also referred to as the "Internet of values". A blockchain allows a unity between the nodes to be achieved in a decentralized network.
The oldest blockchain still in operation is the crypto-currency Bitcoin.
The concept of Blockchain as a distributed database management system was first described in 2008 by Satoshi Nakamoto in the White Paper on Bitcoin. The following year, he released the first implementation of the Bitcoin software, thereby launching the first publicly distributed blockchain.
Properties of the blockchain
New blocks are created through a consensus process and then attached to the blockchain. The most popular consensus method is the proof-of-work method; However, there are many other forms of consensus building (Proof of Stability, Proof of Capacity, Proof of Burn, Proof of Activity). By sequentially storing data in a blockchain, they can not be changed at a later time without damaging the integrity of the overall system. This considerably complicates the manipulation of data. The decentralized consensus mechanism replaces the need for a trusted third party to verify the integrity of transactions.
In Bitcoin, a blockchain consists of a series of data blocks, in which one or more transactions are combined and given a checksum. They are combined into a hash tree in pairs. The root of the tree (also called Merkle root or top hash) is then stored in the associated header. The entire header is then also hashed; this value is stored in the following header. This ensures that no transaction can be changed without changing the associated header and all subsequent blocks.
The blockchain of Bitcoin is the oldest blockchain. It started in January 2009, had a size of approx. 144.5 GB at the beginning of December 2017 and was redundant and publicly accessible on December 9, 2017 at approx. 11,900 nodes.
Application example auditing
Auditing is about recording safety-critical operations of software processes. This applies in particular to accessing and changing confidential or critical information. The auditing is therefore suitable for a blockchain because it produces relatively small amounts of data and at the same time has high security requirements.
A blockchain can protect the audit log (also called an audit trail) against change. In addition, the individual entries should be provided with a digital signature to ensure authenticity. A decentralized consensus mechanism, such as Bitcoin, is not required. However, decentralized storage of the blockchain ensures relatively secure storage of the audit trail.
Since, on the one hand, confidential information is stored and on the other hand, no element of the blockchain can be deleted without invalidating it. Encryption of the individual entries is also used. Instead of deleting the entries from the blockchain, the cryptographic key can be deleted to make the data permanently unreadable.
Since the implementation of blockchains and an appropriate cryptographic infrastructure is currently (as of May 2018) very time-consuming and expensive due to the lack of easy-to-use implementations, the use is recommended only for particularly sensitive information.
Examples include auditing medical information systems (eg electronic health records), contracts and financial transactions of high financial value, military secrets, legislation and electronic voting, security management of critical assets, or data from large corporations operating under the Sarbanes- Oxley Act or similar guidelines.
How does the blockchain ensure consensus?
Mining is a process of recording the transactions with cryptocoins in the blockchain, the generally viewable database of all cryptocoin operations. The nodes of the network use the blockchain to distinguish the real transactions from the attempts to multiply transfer one and the same means. The main goal of mining is the consensus between the nodes of the network to confirm and legitimize transactions. In addition, mining is an option to reward the minted coin and transaction fees for solving certain cryptographic math tasks. This process requires a lot of resources and is very complicated as the number of blocks increases.
During mining, the computer performs a cryptographic hash function. The so-called block header. For each new hash, the mining software uses another randomly generated number for the block header. This number is called Nonce. Depending on the nonce and everything else contained in the block, the hash function creates a hash such as this one:
This hash is a pretty long number. (It's a hexadecimal number, which means the letters A-F are numbers 10-15.) To make the mining difficult, there is still the target difficulty. To create a valid block, the miner must find a hash that is smaller than the target difficulty. For example, let's say the target difficulty is:
Any number starting with a 0 would therefore be smaller than the target difficulty, for example:
If we now reduce the target difficulty to
, we now need two zeros at the beginning to be smaller than them:
Because the target difficulty is such a long number, you usually use a smaller number to indicate the target difficulty. This number is called mining Difficulty. The mining difficulty illustrates how much harder it is to create the current block over the first one. A difficulty of 70000 means that the current block will require 70,000 times more work than Satoshi Nakamoto needed to make the first block.
The difficulty is adjusted to all 2016 blocks. The network is trying to adjust the difficulty so that it takes about 14 days for the entire network to produce blocks in 2016. Therefore, as the performance of the network increases, the difficulty level increases in parallel.
The world of mining is currently in transition to the Application Specific Integrated Circuit (ASIC). An ASIC is a chip with an electronic circuit that is made only for a very specific job. Unlike FPGAs, ASICs can not do any other work. An ASIC built for mining bitcoins can and will always mine only bitcoins.
The power consumption is the most important factor of an ASIC-Miner in relation to the Hashrate. It is very likely that an ASIC device that is purchased today will still be energy efficient in two years time and will outperform electricity costs. However, the return is also determined by the exchange rates. However, one can usually say: the higher the energy efficiency, the higher the yield.
The Ethereum Blockchain
Ethereum is a distributed system in the field of financial technology, which offers the creation, management and execution of decentralized programs or contracts (Smart Contracts) in its own blockchain. It is an alternative to the classic client-server architecture.
Ethereum uses the internal crypto-currency Ether (abbreviated to ETH) as payment for transaction processing, which is handled by participating computers.
As of July 2018, Ether is the second-largest crypto-currency after Bitcoin.
Ethereum, like Bitcoin, is based on blockchain technology. In contrast to Bitcoin, however, Ethereum is not just a crypto currency, but also a platform for so-called Dapps (DistributedApps), which consist of smart contracts. There are a variety of applications for Smart Contracts, including e-voting systems, virtual organizations, identity management and crowdfunding.
Ethereum is a distributed system whose participants (Ethereum Accounts or Contracts) use Ethereum's own peer-to-peer network to exchange data without a central server. All participants work with a common database, the Ethereum Blockchain. To participate, you need an Ethereum client that synchronizes with the network before use, that is, downloads and validates every transaction documented in the blockchain since the last synchronization. For the initial synchronization, some clients have a fast mode that does not require the complete blockchain to be downloaded. Wallets include Ethereum Wallet, Mist, MyEtherWallet, Parity, and Exodus (multi-asset wallet for various cryptocurrencies).
Ethereum is currently being created by a so-called proof-of-work algorithm, which will be replaced during the development phases, however, by a proof-of-stake algorithm.
Ethereum consists of a number of components or concepts that are interlinked.
Peer to Peer network
The advantages of cryptocurrencies result to a significant extent from the decentralized peer-to-peer architecture without a central instance and equal nodes. This approach applies to all building blocks of the system, e.g. in data storage, data verification, data publishing and distribution and data transmission.
There is no trust between the nodes (= Bitcoin clients) and each node independently checks the Bitcoin protocol to see if any passing transactions are valid. When a new node joins the network, connections to other Bitcoin clients are first searched for using DNS servers that are voluntarily operated by subscribers. This process is also called bootstrapping and takes place on all P2P systems. Routing algorithms then establish connections to other nodes. Leaving the network is explicitly not possible. Nodes that are no longer connected will be recognized by the routing algorithm after some time and removed from the list of nodes. The number of inbound and outbound connections to / from other Bitcoin nodes can be set in most Bitcoin clients. The default number of inbound connections is set to 8 (Bitcoin Core Client). The average of connections for nodes that also accept outgoing connections is 32. The Bitcoin protocol governs how nodes interchange transactions and blocks among themselves. Transactions and blocks are only forwarded if they have been verified as valid. Invalid transactions or blocks are ignored and discarded.
Types of nodes / nodes that can be reached via TCP / IP in the P2P network
A node is a computer that is part of the Ethereum network. It stores either an incomplete (Light Client) or full (Full Node) copy of the blockchain and writes it permanently.
Full nodes (or full clients) store the entire blockchain locally, allowing for the self-contained signature of transactions. The clients implement the entire Bitcoin protocol and execute actions on their own. An example of this is the Bitcoin core client. The setup / download time and the CPU usage are significantly higher than with Light Weight Nodes.
Light Weight Node
These types of nodes use Full Nodes as servers to perform transactions. Such nodes are used, for example, on mobile devices because they are less efficient and often have low bandwidth. The disadvantage here is that the servers must be trusted in certain things (for example, error messages). However, the bitcoins can not be stolen or otherwise insecure since the private key is managed by the user of the client.
Centralized cryptocurrency functions are based on cryptographic hash functions, public-key cryptography and digital signatures. The safety of these methods is mathematically proven and is due to NP-complete problems that can not be solved efficiently (for example prime factorization).
A hash function is a one-way function m à H (m), where H (m) does not allow inference to m. An equal value of m always generates the same hash value. Different values of m practically always generate different hash values. The length of the generated hash value is determined by the hash method used and is independent of the input value. Generating bitcoin addresses uses hash functions SHA-256 (Secure Hashing Algorithm) and RIPEMD-160. SHA-256 is part of the SHA-2 standard and is generally considered a secure algorithm. The length of the hash value is 256 bits.
Smart Contracts are programs that run automatically as soon as any amount specified in the contract has been transferred to Ether. Thus, no (manual) verification of a payment receipt is required, because the transfer starts directly the set in the program consideration.
Each transaction is stored within the entire blockchain - that is, on all devices connected to the network. The decentralized concept of Blockchain permanently checks the integrity of the entire database.
The Smart Contracts are usually written in the programming language Solidity specially developed for Ethereum. They are then translated in bytecode and run on the Ethereum Virtual Machine (EVM). A virtual machine basically encapsulates a client environment away from the host environment, which is the other applications on a computer.
The cryptocurrency of Ethereum Blockchain
Ether is the "currency" of the Ethereum network. The network, however, allows any other currencies - called tokens - to be generated, which can then be traded for ethers.
Decentralized Autonomous Organization DAO
A Decentralized Autonomous Organization DAO is an organization whose management structure and rules are digitally and unchangeably codified by a Smart Contract, executed on a decentralized basis (here through the Ethereum Network) and therefore without conventional decision-making bodies such as get a board.
The DAO is the most popular DAO that has been implemented in the Ethereum block chain. Broadly speaking, the task of The DAO is to take over ethers by selling voting shares, to hold a decision-making body on the use of the collected ether, and to transfer the collected ether. It is therefore basically an autonomous and automated investment firm. The DAO was uploaded to Blockchain in April 2016. The DAO tokens that authorize voting in The DAO can be traded on a variety of crypto exchanges.
On June 17, 2016, a stranger made 3.6 million ethers unusable due to an error in The DAO's Smart Contract. These were worth at the time more than 65 million euros. A hard split, which reverses the attack, was very controversial in the community, but was then decided in a vote. This hard cleavage removed the ether from the attacking DAO; this resulted in two blockchains, of which the original as Ethereum Classic (ETC) is continued.