I am thinking if secure encryption like one time pad (OTP) is achievable using bitcoin blockchain? The reason is bitcoin blockchain size is over 70 GB, which could potentially encrypt/decrypt 70 GB worth of data. All that is needed by the sender and receiver is blockchain and an application that encrypts and decrypts the data on the sender and receiver end respectively. Please share your thoughts if it is a bad or wild idea and why? How about using other public blockchains like Ethereum or private ones like Eris or Hyperledger. What would make it work?

1 Answer 1


The requirement for a one time pad to be secure is that it consists of uniformly random data, only known to the participants that should be able to encrypt/decrypt.

The blockchain is not random (it's created by miners and users creating transactions), certainly not uniformly random (blocks and transactions have a very strict syntactic structure), and worst of all it is designed to be known to the entire world (or in the case of private blockchains, to all those who should be able to audit).

Short answer: bad idea.

  • Thanks a lot for your answer. Can one also not use blockchain as a source of generating random one time key? This means not using blockchain directly but as a source or intermediate step, Commented Apr 12, 2016 at 15:53
  • I did n't get the idea of audit. Should n't the private blockchain be accessible to only the sender and receiving parties? Who are auditors that you mentioned? Thanks Commented Apr 12, 2016 at 15:54
  • 1
    If a private blockchain is only accessible to the sender and the receiver, why do you need a blockchain? Just a digital signature suffices. The blockchain is there to interoperate with others that can verify the validity of the transactions. And no, it is not random data, sorry. Every byte in it is chosen by some party; if you can influence that party, you can influence the outcome. Commented Apr 12, 2016 at 16:09
  • In my humble understanding, Digital signature is for non-repudiation. It is not substitute for encryption/decryption. The validity of the transaction is done by the recipient (who could be one or more). Sorry to drag this but its good to clear some points of confusion. Thanks very much again Commented Apr 12, 2016 at 16:14
  • 1
    A blockchain is not a substitute for encryption either. Commented Apr 12, 2016 at 16:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.