Using BlockChain for file-transfer. Case Study

21/11/18 3 min. read

The different Blockchain platforms are surely and steadily making headway and currently consist of public and private platforms. While Bitcoin has stirred up quite a sensation in the media, it is a mere Blockchain platform for transferring this digital currency.

There are other more generic networks for other types of transfers or exchanges such as Ethereum or Hyperledger.

blockchain file transfer
Hyperledger and Ethereum Networks for BlockChain file-transfer

For instance, healthcare centres can use private platforms to share patient data, thus enabling any healthcare providers to have access to the corresponding medical records of all visiting patients.

Blockchain is infinitely scalable and can be deployed across a country, continent or as wide a scope as limited by our own imagination. This example could be used at universities to transfer student data, by banking entities for posting stolen credit card numbers, or for transferring public files.

We are going to develop a file transfer network step by step:

Let’s begin:

  • BlockChain Ethereum in private mode
  • DocStamp
  • InterPlanetary File System (IPFS)
  • Pretty Good Privacy (PGP)

What is DocStamp?

DocStamp is an application for verifying signatures and seals on files and will work as a notarisation tool.

What is IPFS?

IPFS (InterPlanetary File System) (InterPlanetary File System) is a peer-to-peer public network that indexes file hashes and stores the file. To get a better idea of this concept: like a BitTorrent.

What is PGP?

PGP (Pretty Good Privacy), is a program we’ll use to encrypt. This encryption program provides cryptographic privacy and authentication for data communication.

So, let’s start:

The following illustrations show the architecture in AWS (Amazon Web Services) and the architecture at a functional level. In order to explain in more detail, we’ve prepared an example of two persons realizing a file-transfer.

The architecture in AWS (Amazon Web Services)would look like this:

amazon web services

Functional level:

blockchain transfer using ethereum, ipfs, docstamp and pgp
  1. Mario (the user who will share the file) records the document and signs it in DocStamp. Mario tells Lucy (recipient user) of the file’s hash and the DocStamp public key.
  2. The Blockchain block stores:
    • File hash
    • File name
    • User that recorded it in DocStamp, which is Mario in our case.
  3. Mario uploads the document into the IPFS front-end web already encrypted (PGP) with Lucy’s public key
  4. The file is sent to the IPFS network and stored in Blockchain. The document is certified as follows:
    • File hash
    • Person recording the file in the IPFSUsers who want to recover the file will need:
      • File hash in the IPFS
      • Private encryption key
  5. Our file recipient, Lucy, simply has to go to the IPFS front-end web page,using the file hash to download the file.
  6. When downloading, she will be prompted to enter the private decryption key.
  7. To verify who and when it has been signed in the Blockchain, Lucy will go to DocStamp with the file and its public key.
  8. The query returns that it has been recorded properly in Blockchain, securing that it hasn´t been modified in the IPFS.

What do you think?

This could be useful solution for us to improve security and transparency when sharing documents, including documentation for official organisations or banking institutions, in which the sender of the file is identified and the security that the contents are authentic, which would open new opportunities to process civil documentation.

javier salo

Javier Saló

Santander Global Tech


Other posts