Blockchain Understanding

5.1. What is a blockchain?

A blockchain is a shared, immutable ledger for recording and tracking digital assets in a network. Blockchains make intermediaries obsolete. Their decentralized, open, and cryptographic nature allow people to trust each other and transact peer to peer. To put it another way, think of a blockchain as a ledger, with no central administration. It’s called a “blockchain” because of the way it stores data — in bundles of data called “blocks” that record and confirm the time and sequence of transactions. These blocks are then linked together to form a chain. Each block contains a timestamped batch of recent valid transactions, and the hash of the previous block.

The previous block hash links the blocks together and prevents any block from being altered or inserting a block between two existing blocks. Each subsequent block strengthens the verification of the previous block and the entire blockchain. This distributed, duplicated, peer-validation method renders the blockchain tamper-evident. Also, blockchain-powered databases have extreme fault tolerance because of their built-in redundancy. Every node processes every transaction, so no individual node is critical to the database as a whole. Because nodes connect to each other peer-to-peer, many communication links would have to fail before the system collapses.

5.2. How are blockchains secure?

Traditional databases are controlled by a single entity, which makes them easier to alter.
A blockchain is a massive decentralized and distributed public record of all actions executed throughout a computer network. It is decentralized because no party in the network contains critical information that makes a single part irreplaceable. A blockchain does not require a central administrator — eliminating the risks that come with holding data in a central place. The ledger of blockchain activities is spread across all components. Blockchain transactions inherently contain both proof of validity and proof of authorization, instead of using centralized application logic to enforce those constraints. Transactions are verified and processed independently by multiple “nodes,” with the blockchain acting as a consensus mechanism to ensure that those nodes stay in sync.

5.3. What are public and private keys?

A “public key” is a long, randomly-generated string of numbers that serve as a user’s address on the blockchain. Digital assets that are sent across the network from a user get recorded as belonging to that address. Because blockchain security methods use encryption technology to protect digital assets, you need some way of accessing them. A “private key” is a code that gives the owner access to the digital assets held behind a virtual door. You can only access the digital asset by providing the private key.

5.4. What is the difference between public and private blockchains?

The difference between private and public blockchains is related to who is allowed to participate in the network, execute the consensus protocol and maintain the shared ledger. A public blockchain network is completely open and anyone can join and participate in the network. Bitcoin is one of the largest public blockchain networks today.

Private blockchains, also called a “permissioned” network, require an invitation and each network participant must be validated by either the network starter or by a set of rules that are given by the network starter or also called network “admin”.

5.5. Why are public blockchains often less scalable?

All blockchains must balance scalability, decentralization, and security. By design, in a typical un-permissioned public blockchain, security and decentralization characteristics are strongly valued over scalability. Because permission less public blockchains were specifically designed for transactions between distrustful parties, transactions are handled independently by every node in the network. “Miners” group transactions into “blocks” which are added to the “blockchain” — the shared historical record of all transactions. Block sizes are limited, which means transactions that exceed the capacity for a block get stuck in a queue waiting for the next block. Compare this to centralized databases, which only process transactions once (or twice).

In today’s most prominent blockchains, ensuring that nodes in the network reach consensus takes a considerable effort of predetermined average time — in the case of Bitcoin, ten minutes. Because of its distributed, peer-to-peer nature, blockchain-based transactions can only complete when everyone updates their respective ledgers — a process that can take hours. For example, on Bitcoin, a transaction is only considered confirmed if it has been added to a block six blocks ago. Also, consensus mechanisms can involve significant back-and-forth communication, using forks and rollbacks, or other costly methods. A limited number of transactions per block together with the predetermined time per block predetermines the maximum throughput, typically below 30 transactions per second, for everything, worldwide.

5.6. Why are public blockchains slow?

Centralized databases only process transactions once (or twice). In a blockchain, transactions must be handled independently by every node in the network. “Miners” group transactions into “blocks” which are added to the “blockchain”— the shared historical record of all transactions. Block sizes are limited, which means transactions that exceed the capacity for a block get stuck in a queue waiting for the next block.

In today’s most prominent blockchains, ensuring that nodes in the network reach consensus takes a considerable effort of predetermined average time — in the case of Bitcoin, ten minutes. Because of its distributed, peer-to-peer nature, blockchain-based transactions can only complete when everyone updates their respective ledgers — a process that can take hours. For example, on Bitcoin, a transaction is only considered confirmed if it has been added to a block six blocks ago. You can see how if the blocks get stacked up in queues, this can take quite some time. Also, consensus mechanisms can involve significant back-and-forth communication, using forks and rollbacks, or other costly methods. A limited number of transactions per block together with the predetermined time per block predetermines the maximum throughput, typically below 30 transactions per second, for everything, worldwide.

5.7. What are testnets and how do they differ from “production” blockchains?

As the name suggests, testnets are blockchains meant to be used for development and prototyping purposes. They can be reset or taken down with little or no warning, and thus do not offer the same uptime and stability as production blockchains. Cryptowerk’s trial version writes into Bitcoin and Ethereum testnet. Once you switch to the production server, hashes will be written into Bitcoin and Ethereum mainnet by default.

5.8. Does Cryptowerk recommend particular blockchains?

Cryptowerk’s Horizon standard product support Bitcoin and Ethereum blockchain. For other blockchain integration request, Cryptowerk does not take any position on which blockchains should be used. However, if the application requires a high degree of security and assurance, we recommend that even if you want to write to a private blockchain, hashes of the data should be written into at least one of the public blockchains in parallel. In most cases we believe public blockchains are superior to private blockchains because they are less prone to security issues due to the very large number of nodes and decentralized nature. However, your use case may lend itself to using private blockchains, and we support integration to them.

We support nearly 20 different blockchains by customer request. Requesting other blockchains than Bitcoin or Ethereum is not included in the current pricing.

5.9. If I require specific blockchains, will Cryptowerk support my request?

Yes, Cryptowerk Horizon has connectors to the most widely used public or private blockchains, including Bitcoin, Ethereum, Hyperledger, SAP’s Blockchain-as-a-Service, as well as several next-generation consensus mechanisms such as Hedera Hashgraph and Multichain. We can connect to nearly 20 blockchains by customer request. Requesting other blockchains than Bitcoin or Ethereum is not included in the current pricing.
Please contact our sales team at sales@cryptowerk.com for such a request.

Previous – Go to Chapter 4 |