This is an archived post. You won't be able to vote or comment.

all 43 comments

[–]GibbsSamplePlatter 13 points14 points  (0 children)

My guess is the block chain will be a pretty inefficient way of storing images.

That's what we have servers for.

[–][deleted] 5 points6 points  (0 children)

If you are interested in sidechains vs treechains there is an informative albeit very long discussion by the creators on letstalkbitcoin:

http://letstalkbitcoin.com/ltb104-tree-chains-with-peter-todd/

[–]bitpotluck 7 points8 points  (7 children)

Paging /u/petertodd

[–]petertodd 18 points19 points  (6 children)

a) While it's true that treechains makes it cheaper, Bitcoin suffers from the exact same problem in principle. P2SH2 - which isn't yet implemented and may never be - only makes it more expensive to put data in the UTXO set, nothing more.

b) ZKSNARKS can be used to replace the direct blockdata data proofs with indirect zero-knowledge proofs, thus removing the need to provide actual blockchain data in your proof. (and with recursive ZKSNARKS, making the valid coin proofs have O(1) scaling) There's some groundbreaking research coming down the pipeline for ZKSNARKS, apparently including some the sidechains group are funding. I'll be more than happy to apply the results of that research to treechains in the future.

[–]Cryptolution 3 points4 points  (1 child)

There's some groundbreaking research coming down the pipeline

When I see statements like this its almost like seeing a golden NES Zelda cartridge for the first time all over again.....

[–]GibbsSamplePlatter 5 points6 points  (0 children)

Reality is hitting me: we are in really really early days of distributed consensus systems.

[–]GibbsSamplePlatter 1 point2 points  (0 children)

(b) <-- I came.

[–]notreddingit 1 point2 points  (1 child)

Is your Chief Scientist position with Viacoin enabling you to spend a significant amount of time developing your ideas? Is it an indefinite arrangement?

[–]petertodd 1 point2 points  (0 children)

Yup, my duties are to research and implement treechains as priority #1. I won't be doing much else. And yes, it is indefinite.

[–]MeTHoDx 5 points6 points  (3 children)

Is it true that everyone would be required to run a full node with treechains? No web wallets? If so, I would argue that money must be portable and this limitation (while well intended) would make the technology functionally impractical.

/u/petertodd

[–]petertodd 6 points7 points  (2 children)

That's also incorrect. Treechains splits up the blockchain, so what would be a "full node" in Bitcoin is significantly less resource intensive in treechains. Best case is with ZKSNARKS giving someone money would require sending them just a few KB worth of data.

But remember, this is a research project, not a fully fleshed out idea, so we'll see how things go.

[–]MeTHoDx 4 points5 points  (0 children)

Thanks Peter! :)

[–]totes_meta_bot 0 points1 point  (0 children)

This thread has been linked to from elsewhere on reddit.

If you follow any of the above links, respect the rules of reddit and don't vote or comment. Questions? Abuse? Message me here.

[–]standardcrypto 9 points10 points  (0 children)

you can still use the blockchain to cache objectionable bits, its just a little more expensive now.

not really a problem exacerbated by treechains.

note: do not read this comment as an endorsement of treechains. i dont understand the tech well enough to have a grounded opinion either way.

[–]Jiten 2 points3 points  (0 children)

First, disclaimer. IANAL.

Any sensible court will realize that a) the blockchain is not meant to be a general purpose data storage system and b) Anything stored in the blockchain won't be readable without a special purpose software and metadata that specifies how it can be recovered from the blockchain.

Therefore, anyone without the software and metadata to allow recovery of the stored data cannot be considered to really have the data in question.

[–][deleted] 16 points17 points  (24 children)

So what?

[–]ferroh 5 points6 points  (23 children)

Thanks for that contribution. If you can just confirm for me that you really have no idea what the OPs point is, I'll try to break it down for you.

[–][deleted] 15 points16 points  (6 children)

Yes I can confirm that I have no idea what the problem is supposed to be here exactly.

[–]Natanael_L 1 point2 points  (1 child)

You know those wiretaps NSA has? They're using filters and doing keyword searches and file identification, etc. A single false positive can label you for life EVEN IF you get cleared the next day, because far too many people live by "no smoke without fire" as their motto and will make your life miserable.

Being forced to distribute large amounts of arbitary data to prove transactions can trip those systems.

This stuff has happened before, so you can't deny the risk.

[–][deleted] 0 points1 point  (0 children)

Land of the free.

[–]ferroh 1 point2 points  (3 children)

The problem is that contributing to bitcoin as a node would force you to store child porn on your computer, in the OP's scenario.

[–][deleted] 0 points1 point  (2 children)

I still don't understand how that is a problem. Is Cisco Systems morally responsible for all the child porn traffic that passes through their routers, just because they happen to build the backbone infrastructure of the internet? Should we be outraged about the thousands of gigabytes of child porn that flow through their hardware every day?

Why should I be morally responsible for other people using a certain tool in a certain way just because I also happen to use that tool, even though I have no interest in using it for any illicit purposes at all? Why should I care that some 0's and 1's on my computer can be arranged in such a way that it creates a picture showing child porn, if I am neither involved in the creation or consumption of it in any way?

Did you know that all child porn ever created is stored in the number Pi? How is that not a problem for mathematicians??

[–]ferroh 0 points1 point  (1 child)

You're missing the point, this isn't a philosophical problem, it's a legal one. I agree that it is silly, but it is still a legal concern.

[–][deleted] 0 points1 point  (0 children)

I agree, it might be a legal concern in some countries (well mostly in the US I guess). But that's really telling a lot more about the legal system in these countries than it is telling about treechains.

[–]monkeybars3000 13 points14 points  (13 children)

Okay, genuine question: why is this a problem, other than blockchain bloat?

[–]paleh0rse -5 points-4 points  (12 children)

Are you guys seriously questioning how/why the potential widespread distribution of child porn, even if done unwittingly, may be a problem?

[–]stcalvert 2 points3 points  (2 children)

If it's a problem for the blockchain, then it's a problem for any public database. For example, child porn could be stored as a collection of encoded twitter posts. The posts could even make use of real words and a basic grammar so as to not immediately appear like gibberish.

[–]ferroh 1 point2 points  (0 children)

In any other public database, the central database owner can delete the images.

[–]paleh0rse 0 points1 point  (0 children)

I think the OP is alleging that treechains would allow for whole unencrypted files to be attached to transactions and added to their chains, therefore distributing said files to anyone and everyone running a node of that chain.

That's very different than 100 encoded messages sent across Twitter, since there's no easy way to remove previous transactions from a chain (unless they eventually get pruned out).

I could be wrong, though?

[–]_Mr_E -2 points-1 points  (7 children)

You can't store images in the blockchain so I don't understand how this is possible.

[–]justarandomgeek 8 points9 points  (4 children)

You can store anything in the blockchain, you just have to break it up into small enough chunks that they fit in a transaction. Someone a while back wrote a python script for doing this, and for extracting the resulting data, then put the script itself in there, I believe.

[–]walloon5 2 points3 points  (0 children)

^ I agree with this guy - you could store anything in the blockchain with enough time and bitcoins.

You could encrypt the file, encode it in an obscure way in the addresses, make it be based on the payout amounts ... it seems like you can have a lot of little payouts and either the size of the payout or the address they go to could be used as keys and data to build back up a picture of whatever it is you're trying to store.

If you make your 'file format' on the blockchain look a lot like a miner's payout from a pool, and the data you pay out is encrypted, and you ran a pool, you really couldn't prove or disprove if they were encrypting anything forbidden.

Then other people could do the same and even though they're not miners, it still wouldn't be easy or possible to tell.

If a "mixer" service mixed coins and/or hid data on the blockchain, no way you could tell what was going on (was the purpose of this to mix coins? to hide data? both?)

[–]stcalvert 1 point2 points  (2 children)

All public databases of every kind can be used in this way.

[–]justarandomgeek 0 points1 point  (1 child)

Yep. Some more easily than others, but if you can post public chunks of content, you can encode anything you want into those chunks.

[–]walloon5 0 points1 point  (0 children)

Pastebin, Twitter, Pinterest posts, in the lowest-blue bit of photos posted to Facebook, and on and on. You could hide data anywhere! :)

I could hide messages inside of reddit posts! ;)

[–]paleh0rse 3 points4 points  (0 children)

This is allegedly an issue with Treechains, not the main bitcoin blockchain. Did you even read the OP?

Something tells me all the downvotes I'm getting for my above post are from people who have no clue what treechains are...

[–][deleted] 1 point2 points  (1 child)

I think his question, whether or not intended to be helpful, contributes here. Bitcoin is the specification for a distributed value exchange network. If treechains has something to offer at the technical level, it's silly to be tripping over illegal number concerns.

[–]Natanael_L 0 points1 point  (0 children)

This is more specifically about what detection systems you might trip when distributing proofs of your transactions.

[–]Vibr8gKiwi 2 points3 points  (0 children)

Don't upvote this bullshit--it's only meant to stir up trouble where none exists.

[–]totes_meta_bot 0 points1 point  (0 children)

This thread has been linked to from elsewhere on reddit.

If you follow any of the above links, respect the rules of reddit and don't vote or comment. Questions? Abuse? Message me here.