Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Datacoin (datacoin.info)
101 points by karlzt on Dec 24, 2013 | hide | past | favorite | 50 comments


Somehow I don't think many people will be willing to store arbitrary data like this on their hard drives. It only takes one person to inject something illegal before the entire blockchain becomes incredibly dangerous to handle. There's not really much worthwhile in storing something in this expensive format over an http/ftp/gopher server server if it's not illegal in some way, which will probably lead to it being quickly unsavoury.

On the technology side, you'll get to the point where no solved blocks include any data because it's causing massive orphans for the miner. I can't see this ever working the way the author intends. That already happens in the bitcoin system where blocks are extremely well compacted, and still people don't want to include transactions against the risk of losing their income.


It only takes one person to inject something illegal before the entire blockchain becomes incredibly dangerous to handle.

Which has already happened with Bitcoin:

https://bitcointalk.org/index.php?topic=191039.msg1980099#ms...


This is also an issue with Freenet. Granted, Freenet has not taken off the way Tor has, however, it is still chugging along.


Won't this process become much more expensive over time, thus invalidating the attack vector?


This is already a problem with namecoin. If you grep through the blockchain there's all sorts of dubious stuff in plain text.


A blockchain isn't a particularly great data storage or retrieval mechanism. The core value of the blockchain with proof-of-work is achieving global consensus through majority hash voting. I don't see why data storage would benefit from this kind of structure.

For example, the basic premise of the blockchain is a backwards linked list. New transactions in the chain are collected into blocks which must be placed at the tail of the blockchain. Miners race to get their blocks on the tail. This is a great property if you're trying to prevent counterfeiting and provide protection against double-spends, but what does counterfeiting and double-spending have to do with data storage?

Blockchains are incredibly cool, but when you have a hammer...


What would be a better platform for storing, say, a database of torrent magnet links, or a dump of leaked documents, in a way that makes censorship computationally infeasible?


How can you make censorship computationally infeasible? Implicating everyone running a client as co-conspirators for distributing top secret documents seems like a bad plan. FBI agents busting down doors of anyone running these clients would make a lot of people think twice about running one.

Compare this to, for example, just running your own Tor hidden service with the documents you want to share. Doesn't implicate anyone, and actually respects the privacy of anyone interested in reading what you are serving. Well, maybe :-)


botnets. The ad revenue of the information hosted by datacoin could be linked to demand for advertising. Then, if datacoin mining is outlawed, it will become more profitable the way drug dealing is more profitable because it is illegal. People wanting to make money will mine using VPN or by using botnets. Some CPUs will stop mining if it is outlawed, only making it more profitable for those who continue.


intellectual property system.

if you want to keep track of who submitted the content anonymously, a block chain is good for that.

imagine a corporation that starts paying employees of other corporations with datacoins to publish their employers secrets on the web, then datacoin profits off of ad revenue


What is the economics of the incentive system for data storage vs cost of storage?

For the miner who mines a block, he only needs to store the additional data in the block. But the commons of the miner network needs to store all data, so isn't there a tragedy of the commons? Perhaps the number of miners would continue to wind down until only a handful can actually service the network, reducing the security and usefulness of the system.

What incentivizes a miner to actually store the data anyways? Are there proper incentives to ensure that miners or whatnot actually continue to store all that data?

The right incentive system would allow users to pay for data downloaded. Not sure if that's in the spec or code.


I really want to like these storage-coin ideas, but it seems like the obvious advance needed is a conceptual way to distribute the blockchain so each individual computer doesn't have to hold all of the data, and (hand-in-hand) to eventually allow data to be removed from the chain. I don't understand how they can otherwise be sustainable long-term. It also seems like they could take some lessons from BitTorrent, where peers get credit for transferring data rather than computations.


I'd be much more interested in a blockchain designed to secure other sources of data than one that attempts to store data itself (NMC or DTC). Hashes and signatures of important files, personal and corporate public keys, etc.


You can put file hashes in Datacoin, no? If we made a coin that only allowed storing hashes, folks could just encoded their data to make it look like hashes.

Unless...we could build a system that would allow storing of hashes but only after somehow verifying that the submitter actually possessed data of a nontrivial size which produced that hash value. So maybe a little less like regular hashing and a little more like public-key encryption? Just a thought.


Well, obviously you could never entirely prevent abuse (as bitcoin shows), only make it costly. Low fixed limits on storage size would at least keep people from throwing an avi in most of the time.

I think maybe hashes wouldn't make much sense, though, anyways. If you were say ubuntu and you wanted to make your releases verifiable through the blockchain you'd just put a public key in under ubuntu.releases and it'd be the signature of the file matching that would matter.

When it comes right down to it I guess I basically want a namespaced, blockchain-verified, pgp. With maybe more flexibility about key types so you could throw things like ssh keys or bitcoin addresses or such in. Or maybe dnscurve/dnssec keys.

And yeah, you could use either namecoin or datacoin to do this, but I think they're trying to be too much and that will be a problem. Could you imagine how big a block chain that contained the entirety of dns as it exists now would be? There's a reason the internet moved from distributing a hosts file to everyone.


It's already the case with bitcoin that each computer does not need to hold all of the data. You're just not running a full node at that point. Which makes sense.


You don't need to have all the data to run a full node. That's just what the reference client does.


That may be right given a certain definition of "full node," but without all the data, you cannot validate transactions all the way back.

In other words, you really only "need" to know all the unspent outputs; those are the only bitcoins that can be spent validly. But how do you _know_ that your list of unspent outputs is correct? You would only know by validating all the way back to the beginning of the blockchain. Otherwise, you are going off "trust" at some point in the past.

You may know a lot more than I do, so fill me in if I'm missing something here.


> But how do you _know_ that your list of unspent outputs is correct?

Because you calculated it. For full security you need to witness the entire block chain, but as soon as you've validated a block and processed its transactions into the unspent transaction output set, you can throw it away. You know the UTXO set is valid because you trust your past self to have calculated it correctly (and if you negate that assumption then you quickly end up not able to trust anything at all).

This isn't even considering UTXO commitment schemes which let you retrieve from the network UTXO data with SPV level of security, or to validate from the genesis block while storing nothing, not even the UTXO set.

FWIW, "full node" is usually taken as shorthand for "fully validating node" which doesn't necessarily require storage of block chain data, whereas "archive node" indicates a node that does keep full block chain history.


this is likely under development and will be built on top of the original DTC block chain. See "personal chains" on the DTC website. It's hush hush right now because early adopters want the price to stay low so they can buy as many DTC as possible until this new development is released, when the price will skyrocket


So basically, you want a DHT?


>Data is stored in the blockchain forever and can be retrieved using a transaction hash as an identifier.

so, if someone stores any piece of copyright material the MPAA/RIAA would need to destroy whole ecosystem of the given coin? bamboo roots come to mind.


If you combine this with something similar to Namecoin, for dns, this might be an interesting distributed website hosting solution. Or, perhaps publishing scientific studies (documents and data) instead of using academic journals[1].

It might be horribly inefficient as a hosting solution, but i'm sure that can be optimized.

[1] https://news.ycombinator.com/item?id=6960989


There's absolutely no reason to construct a new chain for this. You can do data storage in the block chain using Merkle trees whose roots are committed in the coinbase string or an OP_RETURN txout.


What makes it valuable as a currency? Are people expected to buy DTC to pay storage fees? I don't know that this will work from an economics standpoint.


Not all Bitcoin-derived technologies are necessarily intended to be an actual currency, though some do still get traded for other currencies (usually for a very low amount).


Those which don't need a new currency shouldn't create one. Build on top of bitcoin instead.


The Bitcoin developers really don't want people storing data in the Bitcoin blockchain.


Because you don't need to. (I am a bitcoin developer, btw.) You can do just fine committing summaries of data (e.g. a Merkle hash root) to the coinbase string in cooperation with a miner, or to a short data field in a provably unspendable output of any transaction. Both of these work fine on vanilla bitcoin, accomplish the typical goals of blockchain data witness, don't require full nodes to store your data, and don't require a new coin.


wrong. data witness?? what is good about that? Someone may want to submit content and generate an income off of the ad revenue from that content. Why should Google collect ad revenue for videos on youtube created by individuals? The person making the movie should get the ad revenue.

Bitcoin can do this?!! HAHA don't make me laugh. Proof of storage was not done academically until after the release of Bitcoin, which is probably why Bitcoin is not designed with mass data storage in mind.

Datacoin is not a currency, it is a crypto anarchist corporation. It is the first publicly traded company not traded on any centralized stock exchange.


Please explain how Bitcoin is a distributed autonomous corporation that pays people to leak/publish information and then generates income via demand for advertisements


What's the difference with Namecoin other than the hashing algorithm and block speed?


More storage space (although still fairly small).


bitcoin can already provide proof of existence in a similar way if that is the key advantage expressed, if they claim to be able to store an indefinite amount of future data instead, as could be inferred by a quick scanning of the text, I find it very hardly scalable at all, there could be useful files of any size passing through the voting system and the blockchain should be replicated by each client on the network in theory in order to safeguard the network from possible missing nodes


Maybe I just suck at this, but I've found that compiling the needed tools for various cryptocurrencies is kinda hellishly difficult. I've been trying to get this one going on OS X Mavericks for the past hour with little luck.

I'd really like to play with more of these, but the state of the documentation across the board for them (except Bitcoin) seems to be slim at best, non-existant and incorrect at worst.

Trying to figure it out and post my results to the Github issue tracker...


They all have basically the same dependencies and build process. Incidentally, I'm in the middle of setting up a docker image for just this purpose, so I can download any satoshi reference client fork and compile it with a build script without worrying about a malicious client stealing my wallets. If all goes as planned I should be able to just pass it the git repo address and use json-rpc to play around with it. <3 docker.

EDIT: I think people don't consider the security implications of downloading $altcoin_of_the_day_client and running it on the same machine they keep their bitcoin wallet on. It's like leaving all of your cash on your kitchen table and letting strangers walk in and out of your house all day. I'd say there's a pretty good chance that anyone downloading an altcoin client already has a bitcoin wallet sitting in their home directory, and it would be trivial for someone to release a malicious client and steal coins from unsuspecting users.


Damn. Good point. I was actually thinking of firing up an EC2 instance just to test/play with them (clearly, mining with AWS isn't generally profitable, but its ok to play with for a few hours).

Lemme know if you get the docker stuff up and running. I've been meaning to try that, but haven't yet.


How many of those do we need? At least this one is using flat design. Guys, you should call it flatcoin, that's a good name too.


About as many as NoSql databases.


Huh.. Yet another Alt Coin wants Donations in BTC?? http://prntscr.com/2e111d


Anyone know if this is merge mined with Primecoin or does it just use the same algorithm?


not merge mined


Why is CPU mining a plus?


The goal of CPU mining is to making it difficult for well-funded parties to control the network's hashpower by amassing powerful GPU/FPGA/ASIC miners. If you look at the distribution of hashpower [0] in the Bitcoin network, you can see that two pools (GHash.io and BTC Guild) together control a majority of the network. To be fair, many believe that this is nonetheless incentive-safe because the gains from executing double-spends would be small compared to the lost mining revenue from the subsequent massive drop in value of BTC.

That said, there was a double spend executed by a rogue operator of GHash.io [1].

[0] - https://blockchain.info/pools

[1] - https://bitcointalk.org/index.php?topic=321630.msg3445371#ms...


Greater vulnerability to botnet operators? Higher costs for proof of work validation? Widely varying computational costs?

Oh wait, those aren't advantages.


because of how proof of storage is performed by a distributed network of computers. proof of storage by a decentralized network is really almost identical to proof of work. the stored data keeps getting encrypted to generate a random string, and then a computer has to find a challenge string that when hashed with the encrypted data file creates an output of a string of zeroes (for the proof). Essentially, storage is proved over a period of work rather than a period of time. The additional computational power for increased hashing rate doesn't mean the data was stored longer, only that the server storing the information had more processing power. If the function is being performed with storage in mind its better to use CPUs.

(1kb / 30 seconds) * (1 second / 10000 MH) ...filed stored for 30 seconds

(1kb / 30 seconds) * (1 second / 100 GH) ...filed still only stored for 30 seconds

the work performed is redundant in proof of storage


Less computation power required to store new data.


very interesting, not sure even bitcoin will stay afloat but there is room for other players to make a splash


Well, this is very interesting idea...


And another pump&dump coin sees the bright daylight.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: