close-circle
Close
0%
0%

Data Storage Blockchain

A blockchain that can store massive amounts of data without messing up your computer

Similar projects worth following
close
First: THIS IS NOT A NEW CRYPTO CURRENCY!

Unlike crypto currencies, this blockchain doesn't need the entire blockchain to be downloaded for security. Thus sub-blocks can be more than terabytes in size without being nightmares.

I have been interested in cryptocurrencies for a while now. It's about time I made a blockchain to learn about how things work 'under the hood'. And hopefully store massive amounts of data at the same time.

Since many crypto wallets (which are basically just blockchain clients) download THE ENTIRE BLOCKCHAIN >:(, and therefore uploading gigabytes of data to a blockchain would kinda mess things up, I decided I could change the protocol a bit. Most blockchains only accept valid blocks on the longest branch, but what if some really large blocks could be 'floating around', and were pointed to by smaller blocks?

If you don't know anything about how a blockchain works, basically what I'm saying is "why give someone a hard drive of data when you could write a short URL for them instead?". The smaller block is like a URL, the larger block is like a multi-gigabyte file you could download from a server.

Then how does a blockchain look, then, for this new design?

Like this:

And you could store anything, so you could build anything off of the blockchain, even new cryptocurrencies... Or databases, and more.

Where would these giant blocks be stored?

It is impractical for clients to function as nodes, so miners would also store this data.

Why mine and store other people's information?

I might make an ethereum contract to pay miners, and a cost in ether for storage on the blockchain.

Why not just use the ethereum network?

Ethereum is not designed for storing files like that. It would also be expensive. See here and here. For many files it may even be impossible (2nd link).

  • Moving to Java and Using More Cryptography

    Dylan Brophy11/11/2017 at 18:42 0 comments

    I have moved the entire project to Java and created a new protocol for the blockchain.  My work is undocumented and has been put into a larger undocumented java project.

    I am currently on a trip and cannot properly document everything from where I am, so I will document it when I get back.

    I like Python a lot, but I must say that it is slower than java (much slower than c++), not exactly organized, and not exactly precise as far as variable types.  Although I could use c++ to make things much faster, I do not have enough skill in C++ to make such a large project with it.  I also program not Python, but its less known brother Python 3.  I have moved to Java for these reasons.

    The original blockchain protocol did not use ECDSA for transactions (there were no transactions), so the address lengths were too short.  The entire protocol worked but was poorly planned and lacked too many features.  I have been working on a new standard.

    So far the new blockchain is working well!  The network is VERY WIP.  It isn't really working yet.

    Unfortunately the new code is not compatible with my old blockchain and network protocol, but the first version of the blockchain helped my understand how these things work, drawbacks, etc. 

    See you soon!

  • Network Success!!!

    Dylan Brophy06/28/2017 at 07:23 0 comments

    After a few days of trying to figure out peer to peer networking I got some basic code working. I created, mined, and downloaded a block on my own blockchain. Next step is making the network able to locate and save new peers. Here is a pic:

View all 2 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates