Pages:
Author

Topic: [IDEA] - Bitcoin-Powered Database - page 2. (Read 2202 times)

legendary
Activity: 1358
Merit: 1003
Ron Gross
June 17, 2012, 12:17:47 AM
#13
Yeah ripper234, you are onto what I've been planning for a long time. I am planning an art registration business using the blockchain to verify authenticity of original paintings, prints, and other physical works of art.

Yeah, my idea isn't original ... all I propose is to standardize and open source the protocol and client library.
legendary
Activity: 1358
Merit: 1003
Ron Gross
June 17, 2012, 12:16:32 AM
#12
What if I don't use the service?  Does the mere fact that the service is commandeering resources on my hard drive and bandwidth on my internet connection mean I should be happy and that I am benefiting somehow?

None of us really like downloading an ever-growing block chain.  But we tolerate it for now because we want Bitcoin to succeed and trust that solutions to cut the growth of that burden will be forthcoming.  Don't confuse that with a presumed willingness of Bitcoin users to donate their computing resources to anything anybody feels like throwing their way just because they feel they can.  Look to Wuala to crowdsource storage needs.  (they even accept BTC)

You will not hold the blockchain on your personal hard drive forever. Eventually it will migrate to dedicated miner servers with strong hard drives.

If this "feature" of Bitcoin, the ability of its users to pay money in exchange for everybody to store their data forever, is a fundemental unsolvable property of the blockchain (in other words, if future-proof methods of encoding data in the chain exist), then you have no choice in the matter - to participate as a full client in the Bitcoin network, you'll have to store this data. I wonder if this is (yet another) Tragedy of the Commons situation ...

The cost of storing something in the chain is fixed - whatever the fee is at the time of encoding. The overall cost to Bitcoin miners over the future could be unbounded (depends how quickly the price of storage/network solutions drops). So this might be an inherent externality in the protocol (because the net benefit to everyone, of storing data in the chain might be negative). However, this does't mean Bitcoin is doomed because it will become everybody's favorite porn hard drive - if Bitcoin's overall net benefit to users is greater than this negative cost (and I suspect it is greater by several orders of magnitude), then Bitcoin will continue buzzing along despite being used to store "irrelevant" data.
donator
Activity: 1736
Merit: 1014
Let's talk governance, lipstick, and pigs.
June 16, 2012, 09:09:53 PM
#11
Yeah ripper234, you are onto what I've been planning for a long time. I am planning an art registration business using the blockchain to verify authenticity of original paintings, prints, and other physical works of art.
vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
June 16, 2012, 08:39:32 PM
#10
I have never understood why people don't like it. This usage pays for itself.

What if I don't use the service?  Does the mere fact that the service is commandeering resources on my hard drive and bandwidth on my internet connection mean I should be happy and that I am benefiting somehow?

None of us really like downloading an ever-growing block chain.  But we tolerate it for now because we want Bitcoin to succeed and trust that solutions to cut the growth of that burden will be forthcoming.  Don't confuse that with a presumed willingness of Bitcoin users to donate their computing resources to anything anybody feels like throwing their way just because they feel they can.  Look to Wuala to crowdsource storage needs.  (they even accept BTC)
legendary
Activity: 1358
Merit: 1003
Ron Gross
June 16, 2012, 08:16:38 PM
#9
Sure, some clients that actually bothered to download the backups before the attack took place would complain, but how would they prove their version is in fact the correct one? The point in my proposal is having a way to formally prove the balance without relying on anything except a small open source client program, and the blockchain.

They would provide the signed GPG message where the service provider committed to the hash.  The block chain doesn't prove anything and is the wrong tool for the job.  The block chain proves that data X was known on or before time Y, but an attacker could just as easily be building his bogus data and putting it in the chain.  The right tool for this sort of job is message signing, something we had long before Bitcoin, and in fact something Bitcoin relies upon for its existence.

Every user of the service knows his on guid upon registration, and can monitor all records with this guid on a daily basis. How can an attacker build a false history for this guid? An attacker could append transactions to my account that weren't authorized by me, but this would be detected immediately (I get a notification every time an object with this guid is written). After the hack becomes known, the approximate attack date can usually be traced, and all transactions after this date are considered invalid. I would have a complete, authentic, verifiable record of all asset transactions up until the moment of attack.


Suppose the owners of the exchange are themselves the attackers - they could arrange for many dishonest users (real or sockpuppets) to claim that their version of history is the correct one.

Unless all of those sockpuppets are able to sign messages with the service provider's signing key, it probably isn't going to work.  If they could, the mere existence of multiple signatures asserting the validity of differing history records for the same day would be evidence on its face that the key was mismanaged.


Sure, the key might have been mismanaged, but we need a way to understand, post-mortem, which version of history is the correct one. Bitcoin is the most secure way to provide a time stamped record of authenticity / commitment. There is no other data structure that is safe from deletion, tampering, and capturing by governments.
legendary
Activity: 1358
Merit: 1003
Ron Gross
June 16, 2012, 08:06:07 PM
#8
I wasn't suggesting an alternate coin.

I know, but you would need hash power to keep the central database secure. "Confirmations" are backed by hash power, and not many users are going to leave bitcoin to hash your chain for no monetary benefit to themselves, leaving it wide open to attack resulting in blocks rolled back. Merged mining gives you the benefits of the Bitcoin network hash power with not much additional work needed to make it happen.

NB: My use of the word "central" above means universally accessible, not centralized. It would be decentralized in the same manner as Bitcoin.

I was suggesting storing the database on the bitcoin blockchain. No additional hash power is required.

I wouldn't like the idea of massive amount of unrelated information being dumped into the blockchain.  Now w/ merged mining and an alt-chain containing encrypted backups that might be interesting.

I have never understood why people don't like it. This usage pays for itself. I haven't gotten into the details of implementing a PUT operation, but I assume there exists a method of doing this that is resistant to reasonable future changes in the Bitcoin protocol e.g. blockchain pruning. I don't know enough about the details of the existing methods of encoding messages in the blockchain to know whether they are resistant to such changes or not. For sake of discussion, let's assume there is such a method.

If such a method exists, then, nobody has to like or dislike it - it just works. Let the free market speak for itself, and price transactions accordingly. Bitcoin has always had to deal with transaction spam, this is just one form of it ... but any transaction that pays the fees is legitimate, even if it is intended as encoded data.
vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
June 16, 2012, 07:59:42 PM
#7
You would still need an agreed, secure way to publish it, and later verify it. If for example they published it on their FTP server, an attacker could  steal their PGP key, and publish an alternate history of nightly backups.

By definition, it's encrypted.  Plain FTP/HTTP would be more than plenty.  Their PGP key isn't secret, unless you mean their private key, which wouldn't need to be on an FTP server in the first place.  It could be on a Crypto-Stick for all we know, where it would be totally unstealable.

Sure, some clients that actually bothered to download the backups before the attack took place would complain, but how would they prove their version is in fact the correct one? The point in my proposal is having a way to formally prove the balance without relying on anything except a small open source client program, and the blockchain.

They would provide the signed GPG message where the service provider committed to the hash.  The block chain doesn't prove anything and is the wrong tool for the job.  The block chain proves that data X was known on or before time Y, but an attacker could just as easily be building his bogus data and putting it in the chain.  The right tool for this sort of job is message signing, something we had long before Bitcoin, and in fact something Bitcoin relies upon for its existence.

Suppose the owners of the exchange are themselves the attackers - they could arrange for many dishonest users (real or sockpuppets) to claim that their version of history is the correct one.

Unless all of those sockpuppets are able to sign messages with the service provider's signing key, it probably isn't going to work.  If they could, the mere existence of multiple signatures asserting the validity of differing history records for the same day would be evidence on its face that the key was mismanaged.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
June 16, 2012, 07:43:54 PM
#6
With the advent of merged mining, the blockchains of such parallel databases can be secured as well as Bitcoin itself, without needing another alt coin to accompany it.

I wasn't suggesting an alternate coin.

I know, but you would need hash power to keep the central database secure. "Confirmations" are backed by hash power, and not many users are going to leave bitcoin to hash your chain for no monetary benefit to themselves, leaving it wide open to attack resulting in blocks rolled back. Merged mining gives you the benefits of the Bitcoin network hash power with not much additional work needed to make it happen.

NB: My use of the word "central" above means universally accessible, not centralized. It would be decentralized in the same manner as Bitcoin.
donator
Activity: 1218
Merit: 1079
Gerald Davis
June 16, 2012, 07:42:28 PM
#5
I wouldn't like the idea of massive amount of unrelated information being dumped into the blockchain.  Now w/ merged mining and an alt-chain containing encrypted backups that might be interesting.
legendary
Activity: 1358
Merit: 1003
Ron Gross
June 16, 2012, 07:32:22 PM
#4
With the advent of merged mining, the blockchains of such parallel databases can be secured as well as Bitcoin itself, without needing another alt coin to accompany it.

I wasn't suggesting an alternate coin.


How would this work fundamentally better, than, say, Bitcoinica publishing a nightly encrypted backup (a dump) that anybody can download (either via http or torrent), and also publishing a PGP signature to commit to its hash on a particular date?

This would be a whole lot simpler and less complicated and trivial for stakeholders to participate in the solution.

If there were a need to demonstrate that prior revisions aren't changing and that only thing happening is new records being added, the backups could simply be an archive file, where the backup of any night n contains identical copies of all the files that were present in the backup of night n-1, plus a new file representing that day's activity.

You would still need an agreed, secure way to publish it, and later verify it. If for example they published it on their FTP server, an attacker could  steal their PGP key, and publish an alternate history of nightly backups.

Sure, some clients that actually bothered to download the backups before the attack took place would complain, but how would they prove their version is in fact the correct one? The point in my proposal is having a way to formally prove the balance without relying on anything except a small open source client program, and the blockchain.

Suppose the owners of the exchange are themselves the attackers - they could arrange for many dishonest users (real or sockpuppets) to claim that their version of history is the correct one.
vip
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
June 16, 2012, 07:17:24 PM
#3
How would this work fundamentally better, than, say, Bitcoinica publishing a nightly encrypted backup (a dump) that anybody can download (either via http or torrent), and also publishing a PGP signature to commit to its hash on a particular date?

This would be a whole lot simpler and less complicated and trivial for stakeholders to participate in the solution.

If there were a need to demonstrate that prior revisions aren't changing and that only thing happening is new records being added, the backups could simply be an archive file, where the backup of any night n contains identical copies of all the files that were present in the backup of night n-1, plus a new file representing that day's activity.
rjk
sr. member
Activity: 448
Merit: 250
1ngldh
June 16, 2012, 07:12:35 PM
#2
With the advent of merged mining, the blockchains of such parallel databases can be secured as well as Bitcoin itself, without needing another alt coin to accompany it.
legendary
Activity: 1358
Merit: 1003
Ron Gross
June 16, 2012, 07:02:43 PM
#1
https://en.bitcoin.it/wiki/Bitcoin-Powered_Database

I would imagine that the above was discussed here before, but I'm not sure ... if so, please point me towards that discussion (in fact, I vaguely recall posting about it myself in the past, but I'm not really sure).

As far I know, the Bitcoin blockchain is pretty much the only data structure that is both global and tamper-proof.

global - There is one global instance of the blockchain (up to forks ... which are then resolved).
tamper-proof - If a block enters the blockchain, after 6+ confirmations this block can't be feasible faked or altered.

A Bitcoin-powered database would be an API over the blockchain, that would expose a subset of the usual CRUD database operations. In fact, it would be an append-only data structure, because nothing can ever be really deleted from the blockchain - so only CREATE and READ operations will be implemented. Object Versioning will be used to emulate updates and deletions.

One major use case for this would an Undeletedable, Auditable Asset Ledger. It bothers me greatly that GLBSE, Mt. Gox, and other trading websites only use an internal database to record assets. As the recent Bitcoinica incident has shown, such records can be tampered with or even completely deleted. A BPD can serve as a verifiable copy of the asset records, that can't be deleted.
Pages:
Jump to: