Blockchain + Digital Signature
With Blockchain taking the world by storm, we take a look at how digital signatures can be used in conjunction with Blockchain to help further protect your transaction records.
Join the DZone community and get the full member experience.Join For Free
A distributed register can be used to store static records and/or dynamic transaction data without central coordination by using a consensus-based mechanism to check the validity of transactions. A blockchain is a distributed database that maintains a continuously growing list of data records that cannot be tampered with.
Blockchain is a public ledger of all transactions made with Bitcoin and is meant to replace an external, trusted third-party certificate authority while also preventing anyone from being able to go backward and cover their tracks if they corrupted an entry.
The technology works on the following properties:
Log replication: To create resiliency, log-based replication is increasingly used for distributed systems to replicate logs to all peers in the network.
Provable value chain: The values stored in the blockchain can be digital currency (such as the widely known Bitcoin), data, documents, and other assets. Hash chains are kept for each block, providing a history of changes, which helps protect data integrity of the block asset.
Public-key cryptography: Blockchain uses different types of cryptography, including ECDSA and elliptic curve to authenticate transactions.
Decentralized transaction ledger: The ledger is blockchain and is maintained without a central authority — and acts as a decentralized reconciliation system.
Blockchain with digital signatures has become a key control in many organizations' security strategies, relying on the use of certificates and complex mathematical algorithms to provide authenticity of the data and protection against forgery.
But suppose a company wants to accept Bitcoins for its trades. Now, because of security reasons, the company would not want a single employee to have access to the company’s Bitcoin wallet’s password. Any transaction should need approval from more than one employee of the company. A multisignature address is created for that purpose.
A multisignature address is an address associated with more than one ECDSA private keys. So, in an m-of-n address, when a Bitcoin address is generated, it is associated with n private keys. And, at least m private keys will be required to make a transaction possible.
And this concept can be used in making digital signatures. One can create a multisignature m-of-n address using n private keys and use that to record digital signature of documents in a blockchain. Anyone can verify the digital signature using public keys, but to make the digital signature one would need at least m private keys, out of n private keys associated with the multisignature address. By using private keys between the signer and the recipient, data transactions can be maintained by only approved parties.
Published at DZone with permission of Abhishek Giri, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.