The Blog

 

The buzz right now in business is about blockchain. It’s a disruptive technology — and for good reason: If you aren’t disrupting your industry, you are most likely being disrupted. The financial, supply chain, and distribution segments are leading this charge into adopting what began in the crypto-currencies with bitcoin and is now becoming the default technology upon which to build a secure and trusted application environment.

A solid infrastructure layer, including storage, is a critical element to that environment. Throughout this blog, we will help you understand how each component of that infrastructure contributes to the overall blockchain network.

Blockchain is a single, trusted ledger that’s shared between participants in a transaction but implemented digitally. Whether it be a mortgage, sale of a diamond, or a supply chain for vegetables or car parts, a blockchain can be used to provide a single view of all phases of the transaction to each participant. This provides immutability, visibility, and trust that the transaction was completed ethically and according to the accepted business rules that are laid out in the smart contracts that control the blockchain entries.

Blockchain technology is still in its infancy, particularly with enterprise adoption, and as with any new technology, adoption has its challenges.

Network speed and bandwidth

Since blockchain data is shared amongst all participants in the network, this can lead to performance issues based on the speed of the underlying network, the amount of data stored in the blockchain, and the number of participating blockchain nodes (participants in the transaction). Since a quorum of participants (determined by the peers) must approve the transaction — and all peers have a copy of the blockchain — the underlying network must have adequate bandwidth and speed to sustain the needed flow of blockchain transactions, messages, and data.

Instead of all participants receiving a complete copy of the entire blockchain each time it is changed, a preferred method would be to send only the changed blocks (similar to how an Oracle RAC shared buffer environment works). This way, with the appropriate locking constraints, proper serialization of transactions can be ensured. One issue with Oracle RAC environments, especially with the advent of solid state disks and Flash technology, is that transfers across all but the fastest networks requires more time than re-retrieving the block from Flash. Another performance-related issue is the requirement that all participants must approve all transactions. This can set up the old two-phase commit issue that was common with distributed databases where a transaction is held up because a participant hasn’t approved a transaction.

In addition to network requirements, most processing should be done in memory or near-memory architectures to allow high speed Flash chip-based memory to be utilized like memory.

Security

One of the lynchpins of the blockchain paradigm is that it functions as a secure, decentralized, single point of truth data store. This is only true when the underlying platform, network, and storage all provide adequate security. In addition, the entries in the blockchain are identified by cryptographic hash signatures that track each block with the block that follows, creating a daisy chain of related hash values that will reveal any attempt to tamper with the block contents after they have been added to the blockchain. However, while they do ensure that block contents cannot be manipulated, these hash chains do not guarantee that the data within the block will be secure from data breaches.

At the block level, any blockchain — whether it is Hyperledger, Ethereum, or some other implementation — must be encrypted and kept in a secure environment. With advances in quantum technology, even 256-bit or larger keys may no longer be able to guarantee absolute security.

IBM Z with LinuxONE provides security to all provisioned containers, without requiring any code changes. In addition, the LinuxONE architecture provides for a crypto-appliance that offloads the crypto calculations to a separate processor. Use of a dedicated crypto engine provides up to four times the acceleration of crypto-related calculations.

In addition, the use of a whitelist-based security ensures only authorized access to an asset.

IBM provides the highest level of available security through its IBM Z platform, and is investing in quantum key research as a leader in quantum computer technology to ensure that all data, not just blockchain, is secure.

On-chain storage

On-chain storage

Because of the immutable nature of the blockchain, storage capacity needs are only expected to grow. Therefore, even a medium-sized blockchain can reach an estimated petabyte within the first three years in operation. Assuming that redundant copies and backup are also needed, it is easy to imagine how storage for primary blockchain needs to be plentiful, scalable, and fast.

Off-chain storage

Off-chain storage

Off-chain storage is not something that is often discussed in the context of blockchain, but is a critical element in the deployment. Given the propensity for the blockchain itself to continue to grow in size, it is not a good practice to store any backing data (such as copies of contracts, pictures of diamonds, or spec sheets for a flywheel) in the primary blockchain. Instead, it is a good habit to place these in off-blockchain storage also known as off-chain storage with a simple hash pointer located within the blockchain.

This off-chain storage requires that either each peer needs to keep a copy of the off-blockchain materials, or a high-speed data link or network should be made available to allow retrieval of the off-blockchain materials from other peers when it is needed.

Several solutions, such as BigDB, NoSQL, CouchDB, DB2, Oracle, and SQL Server, provide off-chain storage. Some are still developing technologies that may not be suitable for a big business. Others are proven technologies that can deliver what an enterprise needs.

IBM offers a wide range of storage choices — from IBM Cloud Object Storage, the Spectrum Virtualize family of arrays FlashSystem 9100, or Storwize V7000 and V5000 to the IBM Elastic Storage Server appliance that can provide off-chain storage covering all of your needs, regardless of type, object, block, or file.

Storage requirements

Off-chain storage

While blockchain storage for a medium-transaction-rate blockchain can reach a petabyte over a three-year span, off-chain data can be several times that size, for various reasons such as additional data granularity, unstructured data, and growing networks. The ability to quickly and transparently scale off-chain storage is critical to the performance of the entire blockchain network. All peers in the blockchain that require on-site copies of the off-chain data must agree on the specification and type of off-chain storage to be used, since performance is dependent on meeting both main blockchain processing of storage and off-chain storage service-level agreements.

All of this requires systems that have selectable compression, deduplication, sharding, and other space-saving measures, as well as high performance. The IBM Storage portfolio is by far the best option for meeting these demanding requirements for a properly implemented blockchain.

Summary

Blockchain is a new disruptive paradigm for many technologies that require a single source of truth. Whether it be Hyperledger, Ethereum, or another blockchain technology, all implementations require proper levels of processing, storage, networking, and security to work optimally. Look for IBM as your single IT vendor, with pre-tested and validated blueprints that can implement your blockchain environment, host it in a hybrid multicloud environment, and provide you with all the necessary infrastructure from compute to networking to storage as we provide you with step-by-step guidance.