Close
0%
0%

Data Storage Blockchain

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

Similar projects worth following
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 (well, theoretically).

Also, the currency is NOT meant to be traded and the supply is unlimited because it is meant for data storage, not a quick buck.

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).

  • Switch to PoS and overhauled node+client

    Dylan Brophy06/05/2018 at 02:54 0 comments

      This weekend I programmed this for about 15-20 hours.  Everything is much better.

      Brief overview of improvements:

      1. Moved to PoS. Now we won't wast electricity like Bitcoin (very sadly) does.
      2. Websites can be hosted on the blockchain (more on this soon)
      3. Client network status (how many blocks downloaded, etc)
      4. More efficient code, caching validator and account data for faster data refresh
      5. Better logging
      6. Not properly covered in previous log : public file upload and download 
      7. More but I can't remember

      One can download files!  and upload them!

      Also, websites can be hosted on the blockchain.  An account can register a blockchain domain, which allows the whole world to look at special files uploaded by your account.

      URL is http://68.4.23.94:81/bc/nti.com, if you want to give it a try.

      ^ Logging much improved.  We have a thread name and a time.  Sweet.

        Next step is letting people make nodes, but i can't do that until another 1000 KiB are minted.

       * Currency is in KiB, because this blockchain is mainly for data storage.  Seems fitting.

      Soon I will also add:

      1. AES encryption for uploaded files
      2. Scripts running on the node for the websites (like PHP or something, or like a smart contract)
      3. more nodes
      4. (Any suggestions?)

  • All Java now on GitHub, and many improvements!

    Dylan Brophy04/12/2018 at 04:30 0 comments

    Github:

    https://github.com/NuclearManD/JavaSlitherEngine

    This is a large project which aims to make java programming easier.  It contains my blockchain too, but the wallet is in another repository:

    https://github.com/NuclearManD/NuclearBlocks

    Improvements:

    • BUGFIXES.  Now the network works beyond LAN and most terrible glitches are gone
    • Some added functionality to the wallet
    • 10 main-chain blocks so far, and a few file uploads for tests (which worked!

  • 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 4 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