Bitcoin Forum

Alternate cryptocurrencies => Announcements (Altcoins) => Topic started by: develCuy on July 24, 2014, 01:00:11 AM



Title: [SC2] just another Proof-of-Storage coin
Post by: develCuy on July 24, 2014, 01:00:11 AM
Hey there everyone!

A little background first

My wife is environmental engineer and she hates ASIC miners, I born in the Southamerican Andes and my city is suffering climate change, so anything that is not energy efficient is out of discussion for us. Yet we are not green-tards, we just try to improve our consumption habits. This is a mess! I know!

So, in short, Proof-of-Work is not for us, period. Let's try to build something that is energy efficient.

Proof-of-Storage

There are plenty of gigabytes not used in millions of computers connected to the internet, some of them use BitTorrent, but what about private files? Lets think on system that can compress, split, crypt and distribute several copies of my private data over the Internet, securely. A system where uploads and downloads are always free and where nodes providing storage service get rewarded with SC2 coins.

I spend yesterday afternoon and evening designing the idea, sorry if this is too drafty but guess is time to release the idea since my background on cryptocurrencies is yet too short:


  • file storage, uploads and downloads are always free!
  • 2^21 SC2 "pre-mined" to pay initial seed nodes infrastructure
  • the network makes sure that each file has at least 10 copies of each chunk
  • proof of storage:
     
    • get rewarded to proof storage of files
    • node stores each successful confirmation in the  blockchain
    • 8 confirmations needed each 32 min to consider the chunk is really stored there
  • the confirmation:
     
    • confirmations older than 8 min will be rejected by nodes
    • created by the node that stores a copy of the chunk
    • the node randomly picks 32 positions within the chunk, they are concatenated along with the microtimestamp and hashed with SHA256, which is then used as confirmation key
    • confirmation database:
         
      • chunk id
      • confirmation id: UUID
      • confirmation key
      • microtimestamp
       
  • the blockchain
     
    • a new block is generated every 2 minutes
    • a block contains
         
      • all found confirmations from last 8 min
      • all transactions from last 8 min
       
    • nodes find to each other by broadcast
  • the transaction
     
    • address to send coins from
    • receiving addresses and what amount should each receive
  • the SC2 address
     
    • 'SC' prefix
    • long-random-key
    • 'SC' suffix
  • the node
     
    • stores a full copy of the blockschain
  • the storage node
     
    • just like any other node
    • stores copies of random chunks
  • the wallet
     
    • has a RSA-8192 pair: public-key and a private key
    • the public key is used as the AES key
    • stores the the list of chunks that compose the file tree
  • the chunk
     
    • each chunk is a part of a file
    • compressed with xz
    • crypted with the private wallet key
    • named after its SHA-256 hash: [sha256].xz
    • no need duplicate storage of identical chunks
    • max chunk size starts at 1MB and varies by the total file size, the rules might change overtime as internet connection speeds improve worldwide
  • the file descriptor
     
    • split in chunks
    • named after UUID: [uuid].file
    • JSON format
    • contains:
         
      • filename
      • filesize
      • list of chunks that belong to the original file
       
  • the file tree
     
    • is just another file
    • contains the file tree (directory structure)

And that is it, willing to get your feedback!


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: KeyserSozeMC on July 24, 2014, 01:00:29 AM
That's a great concept.

Are you looking someone to fund it?


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: bathrobehero on July 24, 2014, 01:05:28 AM
Sounds great, wonder how demanding would it be on the upload side, though.


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: escalicha on July 24, 2014, 01:08:26 AM
Sound Great! Im in, keep working!  :o


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: develCuy on July 24, 2014, 02:21:44 AM
That's a great concept.

Are you looking someone to fund it?

Sure, all help is welcome! Guess that I should add non-PoW coins donation addresses, or is that too radical?


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: Vendettacoin on July 24, 2014, 10:10:28 AM
a great concept. keep working


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: overthetop2011 on July 24, 2014, 12:41:06 PM
I think the project is quiet difficult to implement.

Think about the difficulty of setup one distributed database. and SC2 is more complex than that because of one more feature of decentralized .



Title: Re: [SC2] just another Proof-of-Storage coin
Post by: sidhujag on July 24, 2014, 11:22:09 PM
I'll post this for future reference


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: provenceday on July 24, 2014, 11:55:44 PM
Hey there everyone!

A little background first

My wife is environmental engineer and she hates ASIC miners, I born in the Southamerican Andes and my city is suffering climate change, so anything that is not energy efficient is out of discussion for us. Yet we are not green-tards, we just try to improve our consumption habits. This is a mess! I know!

So, in short, Proof-of-Work is not for us, period. Let's try to build something that is energy efficient.

Proof-of-Storage

There are plenty of gigabytes not used in millions of computers connected to the internet, some of them use BitTorrent, but what about private files? Lets think on system that can compress, split, crypt and distribute several copies of my private data over the Internet, securely. A system where uploads and downloads are always free and where nodes providing storage service get rewarded with SC2 coins.

I spend yesterday afternoon and evening designing the idea, sorry if this is too drafty but guess is time to release the idea since my background on cryptocurrencies is yet too short:


  • file storage, uploads and downloads are always free!
  • 2^21 SC2 "pre-mined" to pay initial seed nodes infrastructure
  • the network makes sure that each file has at least 10 copies of each chunk
  • proof of storage:
     
    • get rewarded to proof storage of files
    • node stores each successful confirmation in the  blockchain
    • 8 confirmations needed each 32 min to consider the chunk is really stored there
  • the confirmation:
     
    • confirmations older than 8 min will be rejected by nodes
    • created by the node that stores a copy of the chunk
    • the node randomly picks 32 positions within the chunk, they are concatenated along with the microtimestamp and hashed with SHA256, which is then used as confirmation key
    • confirmation database:
         
      • chunk id
      • confirmation id: UUID
      • confirmation key
      • microtimestamp
       
  • the blockchain
     
    • a new block is generated every 2 minutes
    • a block contains
         
      • all found confirmations from last 8 min
      • all transactions from last 8 min
       
    • nodes find to each other by broadcast
  • the transaction
     
    • address to send coins from
    • receiving addresses and what amount should each receive
  • the SC2 address
     
    • 'SC' prefix
    • long-random-key
    • 'SC' suffix
  • the node
     
    • stores a full copy of the blockschain
  • the storage node
     
    • just like any other node
    • stores copies of random chunks
  • the wallet
     
    • has a RSA-8192 pair: public-key and a private key
    • the public key is used as the AES key
    • stores the the list of chunks that compose the file tree
  • the chunk
     
    • each chunk is a part of a file
    • compressed with xz
    • crypted with the private wallet key
    • named after its SHA-256 hash: [sha256].xz
    • no need duplicate storage of identical chunks
    • max chunk size starts at 1MB and varies by the total file size, the rules might change overtime as internet connection speeds improve worldwide
  • the file descriptor
     
    • split in chunks
    • named after UUID: [uuid].file
    • JSON format
    • contains:
         
      • filename
      • filesize
      • list of chunks that belong to the original file
       
  • the file tree
     
    • is just another file
    • contains the file tree (directory structure)

And that is it, willing to get your feedback!

watch this.


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: U on July 26, 2014, 09:45:51 AM
More detailed info needed.


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: zhizhi321 on August 02, 2014, 08:16:39 AM
any further info?


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: constary on August 02, 2014, 10:38:47 AM
it maybe a great idea,how do i join?


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: develCuy on August 03, 2014, 12:34:02 AM
it maybe a great idea,how do i join?

That is the question I was expecting!! Seeing fair interest for this project in this thread so lets move a bit forward.

I created a wiki page on devtome with next steps: http://devtome.com/doku.php?id=sc2_secure_cloud_storage_coin



Title: Re: [SC2] just another Proof-of-Storage coin
Post by: develCuy on August 03, 2014, 08:38:16 AM
Good news!

Github just let me register a new organization under the SC2 name, you are welcome to send your insight to the issue queue: https://github.com/sc2/core/issues/new


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: Vendettacoin on August 06, 2014, 01:40:03 AM
Good news!

Github just let me register a new organization under the SC2 name, you are welcome to send your insight to the issue queue: https://github.com/sc2/core/issues/new
any real development? This could attract attention


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: ButtCrack on August 06, 2014, 01:48:29 AM
Great idea !


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: zhizhi321 on August 11, 2014, 02:05:47 AM
how is the project going?


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: develCuy on August 11, 2014, 05:30:52 AM
how is the project going?

There is some interest on this project so far. I'm awaiting for feedback on the technical specifications.

Btw, apart from thinking on the protocol, nodes, etc. There are 4 things I'm thinking about:

1. The user interface: "SC2 file explorer". SC2 has to be a decent product. What do you guys think about making it similar to Dropbox? Perhaps not deeply integrated to OS file explorers at the beginning, but a program called "SC2 file explorer" would be the first thing to work on. It should embed the sc2 and a wizard that allows to configure how many storage room will be used to host chunks.
2. Cloud storage limits and business model: There will be 2 ways to pay for storage room 1) a minimum 1:10 relation between the amount of available cloud storage one can use and the amount of storage one is hosting for the network. One gets paid for the difference. 2) To pay an x amount of SC2 per megabyte.
3. Connectivity: The cloud storage will be reliable only if enough clients are connected, this is the same as torrents, and that is why the SC2 network needs replication, some files (specially the big ones) will take about 24 hours to be downloaded
4. Unbreakable encryption algorithm: The main reason for splitting files in chunks and to distribute several copies of those small pieces across several different hosts, is simple: obfuscation, but computers will get more powerful in the future, so an old copy of the network would be eventually decrypting files in the future. There has to be some kind of mixer or mutexer with an increasing difficulty that obfuscates the files enough to delay decryption time to at least 100 years (when one is supposed to be dead and will not care about privacy :P). Other alternative, is to filter out 10% of random parts of each chunk, which should be stored in the original source only, with a file descriptor, and store the other 90% in the cloud. This will increase difficulty of bruteforce attacks by million times!

Well, there is no such thing as "unbreakable", but SC2 aspires to be the hardest thing to decrypt ever.

I invite everyone to contribute with ideas, we could have a lot of fun designing a decentralized secure model and it will worth the effort!



Title: Re: [SC2] just another Proof-of-Storage coin
Post by: sidhujag on August 11, 2014, 05:38:02 AM
have u seen xcloudcoin or siacoin, is the idea similar? compare?


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: develCuy on August 13, 2014, 04:30:15 PM
have u seen xcloudcoin or siacoin, is the idea similar? compare?

xcloudcoin looks like a lot more than file storage, and looks closer to etherum (cloud services over a distributed network) for me.

siacoin is for sharing files publicly like bittorrent. The network hides the identity of the person uploading the files. Yet this concept is closer to SF2 but different purpose.

SF2 is for storing private files, similar to dropbox and google drive, yet there could be a file sharing feature in the future.


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: Vendettacoin on August 26, 2014, 07:58:43 AM
ended?


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: develCuy on August 26, 2014, 03:02:54 PM
ended?

I'm still around with the idea, just would like to see more interest from people, they want to see something in action, but one man can't do everything, that is not fun.


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: Taek on September 04, 2014, 05:05:22 AM
siacoin is for sharing files publicly like bittorrent. The network hides the identity of the person uploading the files. Yet this concept is closer to SF2 but different purpose.

Hey, Siacoin dev here. Siacoin can definitely be used for personal and private files, needing only that encryption be applied. Once we have a beta, all files will be encrypted by default, unless the user explicitly specifies that the file should not be encrypted.

Of the multiple cloud storage protocols under development (Ethereum's seems to have, MaidSAFE's got one, there's datacoin, there's Sia, Storj, Filecoin.io, Filecoin.org, and potentially others as well), is there a particular reason that you've chosen to make your own? Would you be interested in seeing your particular use cases weaved into another proof-of-storage coin? Sia in particular is meant to be the cheapest available cloud storage solution, in addition to being very fast and robust, private and secure, and of course decentralized.

Happy to see more people working in this space of course, the more thought that goes into this type of project, the closer a full fledged proof-of-storage coin is to reality.


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: develCuy on September 04, 2014, 03:35:02 PM
Hey, Siacoin dev here. Siacoin can definitely be used for personal and private files, needing only that encryption be applied. Once we have a beta, all files will be encrypted by default, unless the user explicitly specifies that the file should not be encrypted.

Hey Taek! Glad to have feedback from you. I'm worried about brute force attacks, since the chain is public, if someone has a copy of it, a powerful computer in the near future could decrypt the files. What is your approach to that?

Quote
Of the multiple cloud storage protocols under development (Ethereum's seems to have, MaidSAFE's got one, there's datacoin, there's Sia, Storj, Filecoin.io, Filecoin.org, and potentially others as well), is there a particular reason that you've chosen to make your own? Would you be interested in seeing your particular use cases weaved into another proof-of-storage coin? Sia in particular is meant to be the cheapest available cloud storage solution, in addition to being very fast and robust, private and secure, and of course decentralized.

SC2 tries to be libre, so everyone can use the network, yet the market needs several alternatives, there is no fun without competition.

Quote
Happy to see more people working in this space of course, the more thought that goes into this type of project, the closer a full fledged proof-of-storage coin is to reality.

Me too!


Title: Re: [SC2] just another Proof-of-Storage coin
Post by: Taek on September 04, 2014, 03:46:33 PM
The best defense you're going to have against brute force attacks is keeping the encryption algorithm out of the specification, and instead make it client side.

For standard, non-quantum computing, your usual AES/Twofish/Serpent encryption at 256bits is going to be sufficient to stop anything for the next few decades, even if non-quantum computers get much, much faster and computing clusers also get much, much larger. If you're worried about 1 being broken (because the crypto gets reversed or something), you can chain them together. This will make encryption a lot slower, but then in order to break through, all 3 of the algorithms will have to be broken. (Chaining essentially makes your encryption as strong as the strongest of the 3 - not stronger, but since you don't know which of the 3 is the strongest (none have been broken yet), it's still a useful thing to do).

For quantum computing, I don't think there's an encryption algorithm that's been created which is safe from quantum attacks. Luckily, quantum computers are probably a few decades away from being able to tackle standard encryption tools. But if IBM suddenly releases a really powerful quantum computer, I don't think there's anything we can do about it. So instead you just have to make your protocol able to adjust as soon as better encryption techniques are developed.