With the words “blockchain” and “Bitcoin” on everyone’s lips these days, it seems you risk seeming outdated if you can’t discuss it in your after-work weekly catch-ups or at home during dinner.
Whether you’ve heard about it at your most recent conference, at the office, or even in your local newspaper, you probably found yourself in the same situation we did—confused about what’s behind this “dark and secret” highly hyped technology.
In simple terms, blockchain is a shared public ledger on which cryptocurrencies like Bitcoin rely. But if blockchain is basically just the technology underlying Bitcoin, why are people so excited about it?
Because blockchain is much more than just Bitcoin, and the PLM sphere is beginning to recognize how it can reshape the way companies manage their products and information flows.
Blockchain puts the product at the heart of the data structure. It enables different organizations, with completely distinct data models, to collaborate across the product’s lifecycle.
And blockchain does this by maintaining a clean audit trail and an immutable data thread.
Untangling the blockchain wires
At its core, blockchain is a new way of storing and managing data. Think of a blockchain as a database that can be used to store and share records of value. However, it’s not like a traditional database, where information is stored in a central location.
Blockchain databases aren’t stored in any single location, like a bank or a cloud datacenter. Information in a blockchain is held on the individual computers of the people who use the database. That’s why blockchain is often described as a decentralized, distributed ledger.
This “distributed ledger” is used to keep track of transactions. In a blockchain, transactions are packaged into blocks. A “block” is a collection of transactions that are validated at the same time. Each block is then “chained” to the next block, in linear, chronological order, using cryptography. Cryptography is the underlying foundation of blockchain. It’s used to sign transactions, authorize exchanges of value and much more.
Blockchain allows consumers and suppliers to trade without intermediaries, to connect directly and remove the need for a third party.
Anatomy of blockchain
Each blockchain is made up of a series of blocks containing validated transactions.
Let’s do a deeper dive on each of the core components of a blockchain.
1. The Transactions
A business transaction is a transfer of value, such as goods, money or services between two parties. Every transaction involves:
- A digital asset: Information stored in a blockchain can be anything – from money, stocks or even identities to digital goods such as art, music or even code!
- Sender: The person who wants to send a digital asset. To initiate the transaction, the sender only needs to know the address of the person she wants to send transfer the digital asset to
- Receiver: The person who receives the digital asset. She needs to share the blockchain address with the sender each time a transaction is to be made.
Authenticating a transaction
Each transaction must be verified before it’s allowed to enter the blockchain.
The verification process is often done using two keys, a public key and a private key. Everyone can see the public key, but the private key is secret.
Public and private key pair
Blockchain uses PKI to authenticate transactions. Every blockchain user has a private and public key pair: a public and a private key to encrypt and / or sign data. Private keys are mathematically related to public keys. However, it’s impossible to extract a private key from a public key thanks to a strong encryption code base.
To better understand how public private key pairs work, let’s imagine that you have a mailbox. The public key is the address of the mailbox. A person can insert letters into your mailbox, but cannot retrieve them; you need to use your private key to open the mailbox and retrieve the letters.
Encrypting and decrypting is like locking and unlocking your mailbox. If anyone encrypts (“locks”) a transaction using your public key, only you can decrypt it (“unlock”) it with your private key. If you encrypt (“lock”) a transaction with your private key, anyone can decrypt (“unlock”) it. This action serves as a “digital signature.”
In the digital world, keys are just text strings with many digits. You can generate your own public and private keys using this online tool.
A cryptographic digital signature
Transactions are authenticated with digital signatures. A digital signature is created with a sign function that depends both on the transaction itself and on the private key.
Since the digital signature is created with your private key, no one can produce it but you. Additionally, by also using transaction data to create the signature, the sign function ensures that no one can copy the signature multiple times.
Whenever you want to receive a transaction, you share your public key with the sender. The sender locks the message with his signature and your public key, and then sends the transaction to you. Finally, you verify the transaction using your private key.
2. The Blocks
Transactions in a blockchain are stored in fixed structures called “blocks”. The important parts of a block are:
- Block content: A validated list of transactions.
- Block header: It contains key metadata about a block. There are four main sets of metadata in a block header
- A block identifier: To identify a block, we use digital signatures that are generated using cryptographic hashes. And what are cryptographic hashes?
A cryptographic hash is a kind of ‘signature’ for a text or data file. A hash is a function that converts data of any size into a fixed-size string.
Whether the input is a single number, a long text or a digital file, the resulting hash is always the same size.
Converting a string to a signature is called hashing. Hashing only goes in one direction; you can’t take the fixed-length data output and recreate the string. Blockchains often use a SHA-256 hashing function, which generates an almost-unique 256-bit (32-byte) signature for a text.
This hashing online tool allows you to generate the SHA256 hash for any string:
-The previous block hash: Every block includes a link back to the previous block. This way we can access all previous blocks in a blockchain – they are linked together, and the database retains the complete history of transactions.
-A Merkle tree root: It’s a data structure that condenses the transactions in the block. A Merkle tree is built by hashing pairs of transactions until we come up with only one hash.
The node at the top of the Merkle tree is called the root. To come up with a Merkle root, we start from the bottom. We take the transactions and hash them. Then we pair those hashes, concatenate them and hash them again. And so on, until we come up with only one hash.
– Proof of work: Valid blocks contain the answer to a complex mathematical problem created using an irreversible cryptographic hash function. The only way to solve this mathematical problem is to guess random numbers. We’ll explore the proof of work more in detail a bit later.
If you want to explore the block’s content by yourself, have a look at one of the blocks in the blockchain.info public records.
3. The Blockchain
All confirmed transactions and blocks are included in the blockchain. To confirm pending blocks, blockchains use a process called mining. Mining prevents previous blocks from being modified, protects the neutrality of the network, and ensures consensus.
Now let’s explore the main actors in the mining process.
- The miners:Transaction requests are sent to every computer on the network so the transactions can be validated. These computers are also called miners. Miners validate new transactions and record them on the blockchain.
To validate the transactions, they must solve a difficult mathematical problem based on a cryptographic hash algorithm. This problem can only be solved by guessing the numbers. Every miner on the network competes to guess the solution to the problem.
- The Proof of Work: The solution to this mathematical problem is called the Proof Of Work. When a block is ‘solved’, the transactions contained in the block are considered confirmed.
The first miner to solve this mathematical problem gets a reward, as the mining process uses a lot of computer power and electricity.
Exchanging value with blockchain
Imagine you have created a PLM API that gathers and presents data from CRM, ERP and PDM systems. You want to license and sell this application using a blockchain-based “PLM marketplace”.
You can use a token to identify your PLM API digitally. This token is stored on the blockchain and contains a link to the PLM API, stored somewhere on the cloud. Everyone on the PLM Marketplace blockchain agrees that the API belongs to you and that your API is officially licensed. If I want to buy your API, I sign the transaction with the API’s token, your public key and my private key. Once the network validates the transaction, it’s added to a block stored in the blockchain, and the PLM API’s license is mine. I can now use it freely; if someone wants to check the authenticity of the license, they can go back to the blockchain and audit track the transaction.
PLM and blockchain: what does the future hold?
It’s still early, but blockchain may well play a significant role in the PLM world. It has the potential to ease integrations, simplify migrations and enable end-to-end collaboration, and provide an accurate record of the “who, what, where and when” across the product’s lifecycle.
It promises to connect businesses whose applications, data models, part numbering and coding systems are different. Blockchain puts the product at the heart of the systems and allows them to focus on the data they need to collaborate on.
Other opportunities—in copyright protection, additive manufacturing, supply management, IoT data management, and sustainability—are on the horizon.
Nevertheless, it will likely take some time before the technology is in productive use. The technology is still in its infancy: lack of standards, scalability, incompatibility between different blockchains and the unfathomable amount of computing resources and energy used throughout the mining process are only a few of the challenges that blockchain needs to meet before it becomes commonplace.