Inspiration

Currently, the only way to verify someone's contribution to genomic data is by trusting an authority. This makes it possible for bureaucracy to take over a system and prevent others from acknowledging the valuable contributions. If I contribute data to a research organization to do a genetic sequence of myself, the company assumes ownership of that data. Target users are individuals who want to have a decentralized way to verify ownership of their biological data. Some companies sell the genomics data of individuals to other companies for profit without any return to the individual who provided it. It's an interesting problem because I think it would be cool if future automated labs could offer sequencing for students and use the blockchain, which is defined as a system in which a record of transactions made are maintained across several computers that are linked in a peer-to-peer network, to verify student ownership.

What it does

  • Create private and public keys for the user
  • Encrypt DNA sequencing data from .fasta files and put it on the blockchain
  • Print the blockchain which shows all the blocks and encrypted data.
  • Print your wallet which shows all the decrypted data that you can have access to on the blockchain.
  • Transfer data from a .fasta file and encrypt it with someone else's public key so they have access to it.

How we built it

100% go code. We use badger for the key-value database and offline storage.

Challenges we ran into

  • RSA encryption can only encrypt small amounts of data.
  • Networking with different nodes on a decentralized network is a big task that I don't think I can reasonably tackle without learning more.

Accomplishments that we're proud of

  • Actually making encryption work on the blockchain so that only the person it is meant for can read it.
  • Making my first ever blockchain
  • Having a sweet cli

What we learned

  • how to make a basic blockchain
  • basic rsa encryption can't encrypt a lot of data
  • bytes in go
  • proof of work on the blockchain
  • blockchains and encryption are interesting and complicated

What's next for Bio Data Blockchain

  • Networking Module so that other users can join the blockchain through consensus.
  • Private/Public Key encryption that allows for larger data encryption.
  • Seeing if this is a project that advanced research universities are interested in.

Built With

  • fasta
  • go
  • rsa
Share this project:

Updates

Submission history