Bitcoin Forum

Economy => Economics => Topic started by: jgarzik on December 09, 2010, 01:49:39 AM



Title: The economics of generalized bitcoin
Post by: jgarzik on December 09, 2010, 01:49:39 AM
Jumping over from this excellent post (http://bitcointalk.org/index.php?topic=1790.msg28343#msg28343) by appamatto...

In the original formulation, bitDNS is simply an example of a possible generalization of bitcoin.  It should be possible to dream up many such applications requiring block chains for systems that need some kind of quorum.
[...]
BitX is essentially an uber-chain which has hashes of app (bitcoin, bitDNS, ...) payloads as its payload.

+1, think this is a fantastic idea.

However, I feel that economically, the mainline bitcoin block chain should be a currency-only block chain.

I don't like how bitDNS ties a single "blessed" market -- distributed data publishing -- so closely with the underlying currency.  It seems like those who use bitcoins for reasons unrelated to the block chain data publishing would be more unduly impacted by the use of currency for distributed data publishing.

Someone really needs to start a new block chain, BitX / GenCoins.  That would relieve the pressure off trying to stuff all these ideas into the world's digital software-fiat currency.


Title: Re: The economics of generalized bitcoin
Post by: appamatto on December 09, 2010, 02:38:14 AM
Jumping over from this excellent post (http://bitcointalk.org/index.php?topic=1790.msg28343#msg28343) by appamatto...

In the original formulation, bitDNS is simply an example of a possible generalization of bitcoin.  It should be possible to dream up many such applications requiring block chains for systems that need some kind of quorum.
[...]
BitX is essentially an uber-chain which has hashes of app (bitcoin, bitDNS, ...) payloads as its payload.

+1, think this is a fantastic idea.

However, I feel that economically, the mainline bitcoin block chain should be a currency-only block chain.

I don't like how bitDNS ties a single "blessed" market -- distributed data publishing -- so closely with the underlying currency.  It seems like those who use bitcoins for reasons unrelated to the block chain data publishing would be more unduly impacted by the use of currency for distributed data publishing.

Someone really needs to start a new block chain, BitX / GenCoins.  That would relieve the pressure off trying to stuff all these ideas into the world's digital software-fiat currency.


Thanks for the backup. :p

Yes, I think that the different bit-apps should be as orthogonal as possible, both to each other and to the "uber-chain" of BitX.

Honestly, bitcoin may not be the killer app for the block chain platform.  If this is the case then we run the risk of a more popular app leaving bitcoin in the dust, and then having someone incorporate a currency platform into that app, thereby dwarfing the bitcoin block history and popping the bubble.

That's why I think it's essential to "bind the fates" of the various bit-apps together in a single BitX "uber-chain" that can provide mutual protection for bit-apps like bitDNS and bitcoin as well as easily foster new apps.


Title: Re: The economics of generalized bitcoin
Post by: Judson on December 09, 2010, 04:14:52 AM
Agreed.

Not to mention that a decentralized DNS system, which I am not against, will have a tendency to skew towards the illegal/fringe uses where avoidance of the law is paramount.

For every Wikileaks, there are probably two somalian child porn sites (or pick your poison) that would enjoy freedom from government intervention.

Just my 2c


Title: Re: The economics of generalized bitcoin
Post by: kiba on December 09, 2010, 04:23:08 AM
Not to mention that a decentralized DNS system, which I am not against, will have a tendency to skew towards the illegal/fringe uses where avoidance of the law is paramount.

With all due respect, taking the site's domain name down won't do anything against criminal activity. It just make it harder to track.

Also, it was human elements that force domain name to be taken off the net.

If you have to say "Sorry, we can't do anything about it. It's against the protocol", than you can't take down the domain name or interfere with its operation.


Title: Re: The economics of generalized bitcoin
Post by: Judson on December 09, 2010, 04:32:19 AM
1) I understand that taking a domain name doesn't shut down the operation, but having a domain name at least makes it easier for the content to be accessed, and easier for it to be profitable for the wrongdoer, who can change hosts, etc, and just update the IP behind the domain.

2) Maybe you misunderstood what I meant by my post.

The point of my post was, why on earth would anyone want the main block chain of a new currency to be wrapped up in a decentralized DNS system that will tend to skew towards illegal (or at least *fringe*) activity? That isn't going to increase adoption.

Im aware that saying "its against the protocol" disallows anyone from taking a domain, but that is the point. Why would Bitcoin want to be a part of a DNS system anyway?


Title: Re: The economics of generalized bitcoin
Post by: kiba on December 09, 2010, 04:43:21 AM
1) I understand that taking a domain name doesn't shut down the operation, but having a domain name at least makes it easier for the content to be accessed, and easier for it to be profitable for the wrongdoer, who can change hosts, etc, and just update the IP behind the domain.

It also make them easier to track down. The authorities would ban/censor such site instead of actually solving problems.


Title: Re: The economics of generalized bitcoin
Post by: kiba on December 09, 2010, 04:44:42 AM
Im aware that saying "its against the protocol" disallows anyone from taking a domain, but that is the point. Why would Bitcoin want to be a part of a DNS system anyway?

That's a rather strange conception. DomainChain/BitDNS are available to anybody who wishes to use it.


Title: Re: The economics of generalized bitcoin
Post by: nanotube on December 09, 2010, 04:46:41 AM
Thanks for the backup. :p

Yes, I think that the different bit-apps should be as orthogonal as possible, both to each other and to the "uber-chain" of BitX.

Honestly, bitcoin may not be the killer app for the block chain platform.  If this is the case then we run the risk of a more popular app leaving bitcoin in the dust, and then having someone incorporate a currency platform into that app, thereby dwarfing the bitcoin block history and popping the bubble.

That's why I think it's essential to "bind the fates" of the various bit-apps together in a single BitX "uber-chain" that can provide mutual protection for bit-apps like bitDNS and bitcoin as well as easily foster new apps.

you seem to be suggesting that somehow there would be a general "bitx" chain, which all the different apps use, and thus there's no fragmentation of cpu power. sounds theoretically nifty... but how would you achieve that? the point of bitcoin is that it makes it expensive, and verifiable, to insert data into the chain. if you have a separate chain that doesn't actually have any data in it... then how do you tie the 'apps' into it? it seems that you have not offered even an inkling of an approach that would make it possible? or am i wrong and i missed something in the upstream post?


Title: Re: The economics of generalized bitcoin
Post by: Judson on December 09, 2010, 05:00:27 AM
Kiba, maybe I'm not being clear or something?

Bitcoin is a currency.

People spend it. Use it as an investment. And in the future, it could be a rival to the currencies of some countries.

Why would the Bitcoin community want to have a distributed DNS system piggybacked on its chain? Yea, you could do that with the old client releases, but the new official client release does not support BitDNS/DomainChain. (I am upgrading, and won't support BitDNS/DomainChain).

If someone ***really*** wants a distributed dns chain, make your own chain!


Title: Re: The economics of generalized bitcoin
Post by: kiba on December 09, 2010, 05:02:52 AM
Why would the Bitcoin community want to have a distributed DNS system piggybacked on its chain? Yea, you could do that with the old client releases, but the new official client release does not support BitDNS/DomainChain. (I am upgrading, and won't support BitDNS/DomainChain).

Who say that I actually support BitDNS/DomainChain piggyback on the bitcoin chain?


Title: Re: The economics of generalized bitcoin
Post by: Judson on December 09, 2010, 05:08:31 AM
Then what point that I have mentioned are you against?

That having a domain name would help a hypothetical illicit online business?

That Bitcoin being interwoven with said illicit hypothetical online business by virtue of being its DNS provider is a bad thing?


Title: Re: The economics of generalized bitcoin
Post by: kiba on December 09, 2010, 05:25:06 AM
That having a domain name would help a hypothetical illicit online business?

That Bitcoin being interwoven with said illicit hypothetical online business by virtue of being its DNS provider is a bad thing?

Define an "illict" business.

Look, all I am saying that if somebody is doing something bad, it would better if we know about it, rather than remaining underground.

If he protocol will not get minced by "exceptions"...well all know how well that road turn out.[edit]


Title: Re: The economics of generalized bitcoin
Post by: Judson on December 09, 2010, 05:36:36 AM
Then do we disagree?  :)

You are against the protocol being filled with "other uses" (like BitDNS - an exception to normal use). If the official client only allows standard transactions, then the protocol is not getting "minced".

I feel like BitDNS stuff like this is just a phase. It won't last long, and will eventually be forgotten by the discovery of a new way to mine Bitcoins faster with the same hardware (or applicable "next big thing").


Title: Re: The economics of generalized bitcoin
Post by: kiba on December 09, 2010, 05:42:44 AM
Then do we disagree?  :)

Bad communication exacerbated by my brain not processing right(sleep deprived).
Quote
You are against the protocol being filled with "other uses" (like BitDNS - an exception to normal use). If the official client only allows standard transactions, then the protocol is not getting "minced".

"Minced" is allowing humans to do whatever they want, instead of adhering to strict procedure defined by software code. In other words, introduction unpredictable, and eventually a lack of respect for the rule of law. "Let censor this shit because I don't like it" that kind of thing.That is what I mean here. Unfortunately, my brain thought process wasn't translated accurately in the writing.


Title: Re: The economics of generalized bitcoin
Post by: jgarzik on December 09, 2010, 07:03:37 AM
Another point is that BitDNS is essentially an autonomous entity that runs a paid service in a niche market (decentralized, timestamped, notarized data storage).  As such, it seems fundamentally unfair to integrate one service directly into the currency itself, while all other services ("the rest of the world") simply uses the currency itself.  BitDNS becomes a "blessed" provider, elevated above other websites, stores and services due to its direct integration into the currency transactions themselves.

This is certainly uncharted territory when it comes to currencies, but I would not like to speculate on how this changes the economics of bitcoin's value.

Succeed or fail, bitcoin-the-currency should stand on its own.


Title: Re: The economics of generalized bitcoin
Post by: da2ce7 on December 09, 2010, 09:04:09 AM
The problem is that when I make a transaction, I announce: Please include this data, and I'll pay you this much for the service.

As a generator I don't care what the data is, providing it is paid for.

If somebody wants to put junk data into the chain, fine, but they should pay for it.  I don't care if it is currency data, or BitDns data, or whatever. Obviously _somebody_ cares about it enough to pay me to include it.

In essence, if the generators accept coins for including other data,  they are both supporting the bitcoin economy, and strengthening bitcoin from attack.

The reality is reality the network always will be run from the whims of the generators, this is by design.  There is no way to stop it.  The generators (as a group) have the power.


Title: Re: The economics of generalized bitcoin
Post by: Timo Y on December 09, 2010, 11:25:45 AM
Not to mention that a decentralized DNS system, which I am not against, will have a tendency to skew towards the illegal/fringe uses where avoidance of the law is paramount.

Serious criminals already operate mostly in darknets, not on the public web. The DNS is of no importance to them.


Title: Re: The economics of generalized bitcoin
Post by: Judson on December 09, 2010, 03:27:17 PM
Everyone is stuck on a hypothetical I gave out, with the point being that, IMO, bitcoin would need to be free from any uses that might discourage its uses, otherwise, the average user may not use it.

I think jgarzik says it best.

...unless the use of bitcoin for non-currency purposes discourages currency use.  Some uses of the network can act as an overall disincentive against mainstream use.  If people see that miners care little for currency transactions on the bitcoin network, or all the data spam increases TX fees to annoying levels, currency users will find a new network elsewhere.  If people find out law-enforcement-objectionable data such as "kiddie-pr0n.p2p DNS data" is being managed on this network, that increases the incentive for currency users to go elsewhere.

Maybe that makes some miners happy in the short term, and you happy, but I'm here for the revolutionary new type of digital cash.

And this generalized data timestamping/notary service seems like it has the distinct probability of degrading service for digital cash, if it is even remotely successful.


The truth, probably, is that bitdns will never be anything big. Heck, the guy from The Pirate Bay is making his own distributed DNS. The main client shouldn't have a transaction type specifically for DNS.


Title: Re: The economics of generalized bitcoin
Post by: kiba on December 09, 2010, 03:34:05 PM
The truth, probably, is that bitdns will never be anything big.

And why do you think that is?
Quote
Heck, the guy from The Pirate Bay is making his own distributed DNS.

I started the bounty pledge drive precisely because I didn't like what the The Pirate Bay is doing.


Title: Re: The economics of generalized bitcoin
Post by: ribuck on December 09, 2010, 03:40:54 PM
Heck, the guy from The Pirate Bay is making his own distributed DNS.

It's important to understand a distinction here. They are making a distributed Domain Name Service, but are planning to depend on a centralized Domain Name Registration Service.

Bitcoin provides a great way to do a decentralized Domain Name Registration Service which would be a great match for their distributed DNS.


Title: Re: The economics of generalized bitcoin
Post by: appamatto on December 09, 2010, 03:50:36 PM
Thanks for the backup. :p

Yes, I think that the different bit-apps should be as orthogonal as possible, both to each other and to the "uber-chain" of BitX.

Honestly, bitcoin may not be the killer app for the block chain platform.  If this is the case then we run the risk of a more popular app leaving bitcoin in the dust, and then having someone incorporate a currency platform into that app, thereby dwarfing the bitcoin block history and popping the bubble.

That's why I think it's essential to "bind the fates" of the various bit-apps together in a single BitX "uber-chain" that can provide mutual protection for bit-apps like bitDNS and bitcoin as well as easily foster new apps.

you seem to be suggesting that somehow there would be a general "bitx" chain, which all the different apps use, and thus there's no fragmentation of cpu power. sounds theoretically nifty... but how would you achieve that? the point of bitcoin is that it makes it expensive, and verifiable, to insert data into the chain. if you have a separate chain that doesn't actually have any data in it... then how do you tie the 'apps' into it? it seems that you have not offered even an inkling of an approach that would make it possible? or am i wrong and i missed something in the upstream post?

This was touched upon in the original mega-thread for BitX, but it's worth restating here simply.

Basically a BitX block looks something like this:

<hash of previous block (BitX backlink)>
<hash of bit-foo name> <hash of bit-foo block> <bit-foo backlink>
<hash of bit-bar name> <hash of bit-bar block> <bit-bar backlink>
 ... and so on for each bit-app ...
<timestamp>
<nonce>

Notice that no app-data is present in the actual BitX block.  The app blocks are separate although probably are distributed in the same way as the BitX blocks.

So I need to answer for you: where are the multiple chains, and how are blocks in each accepted/refuted?

The BitX chain is straight-forward although a key observation here is that BitX blocks should never be rejected for bit-app reasons, i.e. a client should be able to accept/reject a BitX block without ever downloading app blocks.  This is how bitcoin for example operates without ever needing to know about bitDNS data, other than a couple hundred bytes of metadata.  BitX blocks can be rejected only if they have a bad timestamp, fail to meet difficulty criteria or have some other formatting problem.  Oh, and there is an additional restriction that only one new app be created per block, to prevent spam in the chain.

The bit-app chains aren't really the domain of concern for BitX.  BitX simply provides three fields that can be used by apps to do bit-app-like things.  The (current) suggestion is that the bit-foo backlink be a hash of the BitX block which contains the head of the last valid bit-foo app chain.  An alternative is for this field to simply be an integer which is the offset in the chain from the current BitX block, indicating the same thing.  In any case this allows bit-apps to form their own linked lists with their own accept/reject rules.  Rejection for a bit-foo means pointing further back in the BitX chain to the last sane bit-foo entry.  Rejection for a bit-app does not entail rejecting the current BitX head itself.

Conceptually you have a single BitX chain with several bit-app chains weaving in and out of it.  Generating a BitX block will then allow you to generate a bitcoin block, a bitDNS block, a bit-foo block, etc.

That's the protocol.  In terms of the likely market behavior of this system, I think the most powerful incentive is toward participation in meaningful bit-apps; It costs almost nothing to generate bitDNS names while you are generating bitcoin, with a large possible payoff.  The earlier you are in adopting new bit-apps, the more you stand to gain as a miner.

The principle behind BitX is to provide the smallest possible block chain kernel to support decentralized but mutually-beneficial bit-app development.  This, in my opinion, is the only way to ensure success given that none of us may have already thought of the killer bit-app yet; it may be neither bitDNS nor bitcoin.


Title: Re: The economics of generalized bitcoin
Post by: Gavin Andresen on December 09, 2010, 04:01:58 PM
Conceptually you have a single BitX chain with several bit-app chains weaving in and out of it.  Generating a BitX block will then allow you to generate a bitcoin block, a bitDNS block, a bit-foo block, etc.

...

The BitX chain is straight-forward although a key observation here is that BitX blocks should never be rejected for bit-app reasons, i.e. a client should be able to accept/reject a BitX block without ever downloading app blocks

Quick reaction:  what stops malicious or lazy BitX chain generator from implementing a type of denial-of-service attack against some bit-app they either don't like or don't know about?  If BitX blocks are never rejected for bit-app reasons, then what is the incentive for main-BitX chain generators to include only (or any!) valid bit-app hashes?   What stops me from constantly flooding the BitX network with bogus bit-app hashes and asking them to be included in BitX blocks?


Title: Re: The economics of generalized bitcoin
Post by: Judson on December 09, 2010, 04:10:55 PM
Heck, the guy from The Pirate Bay is making his own distributed DNS.

It's important to understand a distinction here. They are making a distributed Domain Name Service, but are planning to depend on a centralized Domain Name Registration Service.

Bitcoin provides a great way to do a decentralized Domain Name Registration Service which would be a great match for their distributed DNS.

Didn't realize that they weren't doing distributed registration. And bitdns only does Domain Name Registration?

The truth, probably, is that bitdns will never be anything big.

And why do you think that is?
Quote
Heck, the guy from The Pirate Bay is making his own distributed DNS.

I started the bounty pledge drive precisely because I didn't like what the The Pirate Bay is doing.

Because there are 200 million domain names that use the other service and have no reason to "mine" for domains when they can just buy one. You can't be suggesting that even if BitDNS was integrated, it would be more than a niche.


Title: Re: The economics of generalized bitcoin
Post by: kiba on December 09, 2010, 04:13:26 PM
Because there are 200 million domain names that use the other service and have no reason to "mine" for domains when they can just buy one. You can't be suggesting that even if BitDNS was integrated, it would be more than a niche.

Nonsense, most people will still buy domain names.


Title: Re: The economics of generalized bitcoin
Post by: Judson on December 09, 2010, 04:20:35 PM
Because there are 200 million domain names that use the other service and have no reason to "mine" for domains when they can just buy one. You can't be suggesting that even if BitDNS was integrated, it would be more than a niche.

Nonsense, most people will still buy domain names.


Haha, then why even worry about getting it into the main client as a transaction type?


Title: Re: The economics of generalized bitcoin
Post by: kiba on December 09, 2010, 04:23:14 PM

Haha, then why even worry about getting it into the main client as a transaction type?
???

Seem to be a non-sequitur.


Title: Re: The economics of generalized bitcoin
Post by: ribuck on December 09, 2010, 04:26:43 PM
... most people will still buy domain names.

Haha, then why even worry about getting it into the main client as a transaction type?

If you build something better, people will eventually use it. But I don't think there will be a landrush.

In addition, there's a personal satisfaction from providing for the world a better way to do something.


Title: Re: The economics of generalized bitcoin
Post by: ribuck on December 09, 2010, 04:31:37 PM
Didn't realize that they weren't doing distributed registration. And bitdns only does Domain Name Registration?
My DomainChain proposal (http://domainchain.org/wiki/doku.php?id=start) most definitely only addresses Domain Name Registration, although I expect that one or more generators would run DNS servers to validate the concept.

The theymos/nanotube proposal (http://privwiki.dreamhosters.com/wiki/Bitcoin_DNS_System_Proposal) makes several references to servers, but they would need to clarify what they have in mind.


Title: Re: The economics of generalized bitcoin
Post by: nanotube on December 09, 2010, 05:20:47 PM
This was touched upon in the original mega-thread for BitX, but it's worth restating here simply.

Basically a BitX block looks something like this:

<hash of previous block (BitX backlink)>
<hash of bit-foo name> <hash of bit-foo block> <bit-foo backlink>
<hash of bit-bar name> <hash of bit-bar block> <bit-bar backlink>
 ... and so on for each bit-app ...
<timestamp>
<nonce>

Notice that no app-data is present in the actual BitX block.  The app blocks are separate although probably are distributed in the same way as the BitX blocks.
<snip>


who generates the bit-foo blocks? who ensures the integrity of the bit-foo block chain?
in order for the hash of bit-foo block to be actually linked to the backlink... something somewhere must be storing that data, and verifying the hashes...

further, and possibly more importantly, to prevent double-spending attacks on the bitfoo chain, the bitx generators must be able to deep-inspect the content of the bitfoo block, to make sure there are no double-spends in it. this means that with your current setup, bitx is /not/ in fact app-agnostic, but must know about the details of every foo/bar app that's trying to get in.


Title: Re: The economics of generalized bitcoin
Post by: nanotube on December 09, 2010, 05:32:21 PM
Didn't realize that they weren't doing distributed registration. And bitdns only does Domain Name Registration?
My DomainChain proposal (http://domainchain.org/wiki/doku.php?id=start) most definitely only addresses Domain Name Registration, although I expect that one or more generators would run DNS servers to validate the concept.

The theymos/nanotube proposal (http://privwiki.dreamhosters.com/wiki/Bitcoin_DNS_System_Proposal) makes several references to servers, but they would need to clarify what they have in mind.

what we have in mind is that anyone can put up a dns server at a moment's notice, by just reading the appropriate window in the block chain, and populating their dns database. so in effect, our system is also just about registration - the dns servers are separate entities, that simply read the protocol, and convert it into standard DNS record format to serve.

we talk about dns servers as they'd be necessary to 'complete the loop' in making a usable system, and we plan on releasing code for a reference dns server, so that they can spring up all over the world :) - but strictly speaking servers are separate from the bitdns protocol itself.


Title: Re: The economics of generalized bitcoin
Post by: ribuck on December 09, 2010, 06:51:50 PM
... strictly speaking servers are separate from the bitdns protocol itself ...

Good. Now I still don't understand the need for the "Fee adjust" transaction.


Title: Re: The economics of generalized bitcoin
Post by: appamatto on December 09, 2010, 07:16:13 PM
Conceptually you have a single BitX chain with several bit-app chains weaving in and out of it.  Generating a BitX block will then allow you to generate a bitcoin block, a bitDNS block, a bit-foo block, etc.

...

The BitX chain is straight-forward although a key observation here is that BitX blocks should never be rejected for bit-app reasons, i.e. a client should be able to accept/reject a BitX block without ever downloading app blocks

Quick reaction:  what stops malicious or lazy BitX chain generator from implementing a type of denial-of-service attack against some bit-app they either don't like or don't know about?  If BitX blocks are never rejected for bit-app reasons, then what is the incentive for main-BitX chain generators to include only (or any!) valid bit-app hashes?   What stops me from constantly flooding the BitX network with bogus bit-app hashes and asking them to be included in BitX blocks?


That's very possible.  The main incentive is that meaningful participation generates value for the miners.

Apps can reject app blocks, bogus app hashes aren't a problem.

Denial-of-service is a critical part of the system.  It isn't a free ride for all apps.  An app has to convince a miner that the app is worthwhile, and build in rewards to early adopters just like in the bitcoin system.  One man's DOS is another man's quality assurance.


Title: Re: The economics of generalized bitcoin
Post by: RHorning on December 09, 2010, 07:20:18 PM
Then do we disagree?  :)

You are against the protocol being filled with "other uses" (like BitDNS - an exception to normal use). If the official client only allows standard transactions, then the protocol is not getting "minced".

I feel like BitDNS stuff like this is just a phase. It won't last long, and will eventually be forgotten by the discovery of a new way to mine Bitcoins faster with the same hardware (or applicable "next big thing").

I don't think this is going to go away, as there are other application for Bitcion which can use this same principle.  As I've tried to abundantly explain, the method of "attack" here is also a more generalized database for other kinds of data besides DNS records.

The benefit to Bitcoins is in regards to the mining activity needed to produce block chains containing non-financial data:  Either that CPU activity can be applied to the main Bitcoin block chain and thus strengthening Bitcoin as a whole or it can be applied to a "parallel currency".

I've heard it suggested that nobody would want to abandon Bitcion and its blockchain as it already has an 18 month head start with a huge amount of CPU cycles already devoted to its construction.  Over time, I think that is generally true.

On the other hand, with a parallel currency devoted to some task such as processing DNS records or perhaps something else that may even have even more CPU resources thrown at it, I would argue that over time this "alternate" currency may have a substantially stronger currency train.  There are no guarantees here, but certainly I could see some people throwing CPU cycles at some of these alternate application simply because of what they do in terms of say DNS records rather than even as currency.  They will have this "alternate currency" which is then even better protected than Bitcoins, and my argument here is that the currency is thus a stronger currency which will drive Bitcoin out of the market place.

And like a Ronco advertisement, "that's not all"!  Since there are concrete applications for this alternate currency (buying domain records, paying transaction fees on the "Bitcoin stock exchange", buying certification from a document registrar, etc.) there is also built-in demand for this currency simply to have it.  That in turn is something that I think over time may even make this currency more valuable in terms of the overall size of the economy using these coins, further driving value out of the Bitcoin economy in a downward spiral.  Bitcoin will then just be a cryptographically weaker currency with fewer people trading a relatively worthless currency.  Is that really what Bitcoin users really want to see?


Title: Re: The economics of generalized bitcoin
Post by: appamatto on December 09, 2010, 07:24:29 PM
This was touched upon in the original mega-thread for BitX, but it's worth restating here simply.

Basically a BitX block looks something like this:

<hash of previous block (BitX backlink)>
<hash of bit-foo name> <hash of bit-foo block> <bit-foo backlink>
<hash of bit-bar name> <hash of bit-bar block> <bit-bar backlink>
 ... and so on for each bit-app ...
<timestamp>
<nonce>

Notice that no app-data is present in the actual BitX block.  The app blocks are separate although probably are distributed in the same way as the BitX blocks.
<snip>


who generates the bit-foo blocks? who ensures the integrity of the bit-foo block chain?
in order for the hash of bit-foo block to be actually linked to the backlink... something somewhere must be storing that data, and verifying the hashes...

further, and possibly more importantly, to prevent double-spending attacks on the bitfoo chain, the bitx generators must be able to deep-inspect the content of the bitfoo block, to make sure there are no double-spends in it. this means that with your current setup, bitx is /not/ in fact app-agnostic, but must know about the details of every foo/bar app that's trying to get in.


A miner can stuff arbitrary information into app blocks for any app that has every existed.  Or a miner can forget about app blocks altogether and just stuff arbitrary information into the hash field.  App blocks are not "generated" but simply written by miners.  None of this will result in the miner's BitX block and the phony hashes being excluded from the BitX chain.

A bit-foo block without a backlink or with an invalid backlink is equivalent to a bit-foo genesis block.  In other words these things don't need any sort of validation.

Double-spending is handled on the app level.  The way an app rejects a bit-foo block without rejecting a BitX block is by staying on the main BitX path, but pointing their backlink to the BitX block containing the last valid bit-foo app block.  Does that make sense?  So simply being an app-block in the BitX chain doesn't indicate app validity.  I hope I'm understanding your point correctly.


Title: Re: The economics of generalized bitcoin
Post by: Judson on December 09, 2010, 08:25:38 PM
I don't think this is going to go away, as there are other application for Bitcion which can use this same principle.  As I've tried to abundantly explain, the method of "attack" here is also a more generalized database for other kinds of data besides DNS records.

The benefit to Bitcoins is in regards to the mining activity needed to produce block chains containing non-financial data:  Either that CPU activity can be applied to the main Bitcoin block chain and thus strengthening Bitcoin as a whole or it can be applied to a "parallel currency".

If people want to use fake Bitcoin transactions and use either the timestamp or some other method of encoding data into a regular bitcoin transactions, that is fine. But what I am against is the main Bittorent protocol officially sanctioning some kind of Domain registry protocol, or any other arbitrary data protocol for that matter. The chain still benefits from the increased cpu power, without having to create a different transaction type.

Would you not agree that at least for mainstream adoption, you wouldn't want to confuse the message about what bitcoin actually is?

And FWIW, there is not more "built-in" demand for another alternate currency. If anything, only being able to use them in a DNS setting makes them a less viable competitor to Bitcoin.


Title: Re: The economics of generalized bitcoin
Post by: kiba on December 09, 2010, 08:33:10 PM
And FWIW, there is not more "built-in" demand for another alternate currency. If anything, only being able to use them in a DNS setting makes them a less viable competitor to Bitcoin.

Alternate currency? BitDNS is not a competitor to bitcoin, it's [edit] supposed to serve the purpose of domain registration.


Title: Re: The economics of generalized bitcoin
Post by: Judson on December 09, 2010, 08:36:21 PM
On the other hand, with a parallel currency devoted to some task such as processing DNS records or perhaps something else that may even have even more CPU resources thrown at it, I would argue that over time this "alternate" currency may have a substantially stronger currency train.  There are no guarantees here, but certainly I could see some people throwing CPU cycles at some of these alternate application simply because of what they do in terms of say DNS records rather than even as currency.  They will have this "alternate currency" which is then even better protected than Bitcoins, and my argument here is that the currency is thus a stronger currency which will drive Bitcoin out of the market place.

And like a Ronco advertisement, "that's not all"!  Since there are concrete applications for this alternate currency (buying domain records, paying transaction fees on the "Bitcoin stock exchange", buying certification from a document registrar, etc.) there is also built-in demand for this currency simply to have it.  That in turn is something that I think over time may even make this currency more valuable in terms of the overall size of the economy using these coins, further driving value out of the Bitcoin economy in a downward spiral.  Bitcoin will then just be a cryptographically weaker currency with fewer people trading a relatively worthless currency.  Is that really what Bitcoin users really want to see?

Sorry kiba, should have quoted it for you to follow along. RHorning was discussing another mainline only for DNS stuff. My response was to that.


Title: Re: The economics of generalized bitcoin
Post by: FreeMoney on December 09, 2010, 09:07:36 PM
And FWIW, there is not more "built-in" demand for another alternate currency. If anything, only being able to use them in a DNS setting makes them a less viable competitor to Bitcoin.

Alternate currency? BitDNS is not a competitor to bitcoin, it's [edit] supposed to serve the purpose of domain registration.

But there will be some reward for generating in the bitDNS chain, right? And that reward will be transferable? And used for fees? Maybe I'm confused, but that sounds like a good money.

I'm pretty conflicted on whether new apps should attach to the chain or start a new one. I know the security benefits of having only one chain. But doesn't it seem silly for the first bitDNS users to need the whole list of previous bitcoin transactions? And then both chains will grow faster than otherwise. It just doesn't seems optimal for every app to need all the data from every other app in order to work.

Reality is though that if a few people think it's good to put the data in there then they are going to do it. If this is a problem for bitcoin then it is a problem with how bitcoin works. We can't just trust that people won't use something that would be useful to them for all time because it wasn't the original intent.

I fully realize that I may be making a bad assumption about the viability of using the current chain as a DNS, I'd love to hear why it can't work or wouldn't be the most efficient way, an explanation that completely ignores any harm to bitcoin.


Title: Re: The economics of generalized bitcoin
Post by: RHorning on December 09, 2010, 10:25:22 PM
I don't think this is going to go away, as there are other application for Bitcion which can use this same principle.  As I've tried to abundantly explain, the method of "attack" here is also a more generalized database for other kinds of data besides DNS records.

The benefit to Bitcoins is in regards to the mining activity needed to produce block chains containing non-financial data:  Either that CPU activity can be applied to the main Bitcoin block chain and thus strengthening Bitcoin as a whole or it can be applied to a "parallel currency".

If people want to use fake Bitcoin transactions and use either the timestamp or some other method of encoding data into a regular bitcoin transactions, that is fine. But what I am against is the main Bittorent protocol officially sanctioning some kind of Domain registry protocol, or any other arbitrary data protocol for that matter. The chain still benefits from the increased cpu power, without having to create a different transaction type.

I am mostly in agreement here too in terms of putting a hash into Bitcion blocks, and then letting whoever has data to lock in with a block to decide on the protocol to associate with that hash.  There is no reason for uninterested parties to have to deal with BitDNS data.... that is up to those who want to participate in giving that hash any sort of meaning, however that meaning is established.

Satoshi himself seems to be mostly in agreement with at least that basic concept.  I'm glad that this is being addressed head on and being dealt with.  It is a hook to put data associated with a Bitcoin transaction block, not the data itself.  The data from a hash can represent a single byte or represent all of the data at various national repository libraries like the Library of Congress.  It is application specific for how that hash will have meaning, if any, and those are applications beyond Bitcoin.

Quote
Would you not agree that at least for mainstream adoption, you wouldn't want to confuse the message about what bitcoin actually is?

No, not really.  This is an additional service which can be provided to those in the Bitcoin community, and one that will also result in more widespread adoption of Bitcoins overall.  I think this is a good thing, even though I do think there should be some strongly proscribed limits in terms of how much of this junk data can be thrown in.  Restricting the extra data to just a single hash puts such a limit in.

The issue here is that a block chain in and of itself has value, and that somehow some applications can be derived which can use the concept of a block chain in some way to serve their own ends and add value to something they are doing.  Domain registration happens to be a good fit, and furthermore it is something which is currently of interest among those who are trying to develop a peer to peer registration system outside of the Bitcoin community.  It is a ripe opportunity to both further the cause of Bitcoin and to reach out to others.

I do agree that some sort of illicit types of activity would better be left to the side even though we as a community have discussed how to do various things like engaging in drug trade or sharing child pornography.  Bitcoin isn't a replacement for bittorrent and it certainly shouldn't see abuse like the Twitter File System.  TwitterFS is something to behold and really shows how a public free good can be abused.  The one check here, beyond rejecting "non-standard transactions", is also to charge for the bandwidth through requiring a transaction fee.

Quote
And FWIW, there is not more "built-in" demand for another alternate currency. If anything, only being able to use them in a DNS setting makes them a less viable competitor to Bitcoin.

On this I disagree, but then again it would be something settled in the marketplace of ideas.  I'm using economic theory here to suggest that Bitcions forcing these "non-standard" transactions into another currency is going to also drive value out of Bitcoin into that alternate currency.  If I am right and you are wrong, Bitcoin simply collapses as a currency.  It might be fun to find out though.... do you want to really engage in that kind of experiment?  That is why this is on the economic forum, as this is an economic question rather than simply a technical forum.

If you are correct and I'm wrong, no harm to Bitcion, yet I think there would still be some value in the alternate currency so far as rewarding "miners" who create the blocks.  I outlined at least one alternate currency idea in the BitDNS thread, even though now it is buried in a wall of discussion.  I also expressed concern that it could conceivably become stronger than Bitcion and tried to come up with perhaps a few "tweaks" to deliberately make it weaker but I'm not sure if that is possible either.

And FWIW, there is not more "built-in" demand for another alternate currency. If anything, only being able to use them in a DNS setting makes them a less viable competitor to Bitcoin.

Alternate currency? BitDNS is not a competitor to bitcoin, it's [edit] supposed to serve the purpose of domain registration.

But there will be some reward for generating in the bitDNS chain, right? And that reward will be transferable? And used for fees? Maybe I'm confused, but that sounds like a good money.

It is good money.  So good that in fact I think it might in the short term dominate Bitcoin for awhile depending on how it is done.  From a pure economic standpoint, we know for a fact that there are people willing to pay on the order of a few dollars to hundreds of dollars for buying domain names using existing domain registries.  Other figures are up that there are as many as 300,000 domain transactions per day going through InterNIC, so that represents potentially over a million dollars per day of overall economic activity for just this one concept.  That is huge money in terms of its impact upon the Bitcoin economy and perhaps even a "killer app" in terms of kick starting Bitcoin to being accepted by many more people than the current geek/paranoid about the government community we currently have.  I'm not saying that this would bring in millions of dollars for the collective BitDNS registrars in the first several years, but it certainly would bring in new users for Bitcions that don't exist.  By driving this concept into another currency, those people are thus driven from Bitcoin as well.

Quote
I'm pretty conflicted on whether new apps should attach to the chain or start a new one. I know the security benefits of having only one chain. But doesn't it seem silly for the first bitDNS users to need the whole list of previous bitcoin transactions? And then both chains will grow faster than otherwise. It just doesn't seems optimal for every app to need all the data from every other app in order to work.

Reality is though that if a few people think it's good to put the data in there then they are going to do it. If this is a problem for bitcoin then it is a problem with how bitcoin works. We can't just trust that people won't use something that would be useful to them for all time because it wasn't the original intent.

Pandora's box is already open on this issue.  The main thing is trying to see how to limit the damage this might cause, not if Bitcoin can be used in this fashion.

If you are setting up a second chain and thus a second currency, it is more than just security, it is also driving away a population of potential users.  Perhaps Bitcoin would be better off without them.  But that is a political and not a technical question.  I am suggesting that at this juncture that Bitcoin would suffer more harm than good.

Quote
I fully realize that I may be making a bad assumption about the viability of using the current chain as a DNS, I'd love to hear why it can't work or wouldn't be the most efficient way. An explanation that completely ignores any harm to bitcoin.

Anybody adding data to the current Bitcoin data chain (particularly for just a simple hash) is going to be required to "pay their freight" in terms of getting included in a particular block.  Large transactions already have to pay a per kilobyte fee that is rather substantial even with current network rules, and there is no reason why extra "penalties" can't be put upon those who shove other random data into Bitcoin.  I would suggest economic rules rather than technical rules to keep this stuff out if that is your goal.

The real potential harm here is that it will end the day for free transactions (for the most part).  This new "additional data" is valuable enough that getting it put into a block chain is going to throw down the gauntlet of transaction fees and would compete against those who just want to experiment with sending a few Bitcoins back and forth to try out how you might start up some sort of enterprise with Bitcoins.  Instead, to get those kind of transactions included may require paying a transaction fee instead.  I can see where some people are angry with that happening, but it is going to be a fact of life for those using Bitcoins sooner or later.  Raising the bar on fee transactions where there is a market willing to pay much higher fees for a transaction than is currently the case is certainly an issue, but one that I think Bitcoin will survive.  Having more transaction fees included in a block chain is also going to add an incentive to create a miner, as on average much more money is going to be "made" by doing that.

I really think the complaint here is on the part of those who don't want to pay transaction fees and want to keep that free.


Title: Re: The economics of generalized bitcoin
Post by: jgarzik on December 09, 2010, 10:57:33 PM
Arguments of "block sizes will get bigger anyway" miss the point.

If the total block size (and thus total fees) is higher for currency + data than currency alone (as is obvious), then the total network is that much more expensive for each transaction for currency+data than currency-only.  Adding users to the bitcoin chain adds value and CPU power -- but each user must pay more for that service.

Thus, assuming the same currency transactions rate, a currency+data chain will always have higher fees than a currency-only chain.

Adding a new application data stream (BitDNS) to the mainline block chain taxes everyone, not just the users of the new app.  The miners and the block chain benefit from this, but existing app users (bitcoin currency) suffer a bit.

This creates a natural tension that incentivizes creation of new block chains, when popular ones simply become too expensive due to large number of application users.  It is interesting to ponder how an application may move from one block chain to another, while retaining value.


Title: Re: The economics of generalized bitcoin
Post by: ribuck on December 10, 2010, 11:32:04 AM
The miners and the block chain benefit from this, but existing app users (bitcoin currency) suffer a bit.

Every app user is also a potential miner, even if it's in the form of distributed mining for the little guy. Bringing more economic value to mining is not a bad thing.


Title: Re: The economics of generalized bitcoin
Post by: RHorning on December 10, 2010, 02:07:08 PM
Adding a new application data stream (BitDNS) to the mainline block chain taxes everyone, not just the users of the new app.  The miners and the block chain benefit from this, but existing app users (bitcoin currency) suffer a bit.

This creates a natural tension that incentivizes creation of new block chains, when popular ones simply become too expensive due to large number of application users.  It is interesting to ponder how an application may move from one block chain to another, while retaining value.

BTW, I happen to agree on this point.  Adding new data to a block chain is going to raise transaction fees.  In addition, if some data which is at least for its bandwidth is more valuable than perhaps even the transaction data (which I think domain registration data fits that description) it skews the market for transaction fees in a negative way for those transactions which are purely financial transactions.

On top of all that, some of the fee proposals I've seen with BitDNS would further skew the market and I believe even challenge those who would claim that miners will take in all possible transaction fees no matter how small.  It certainly would drive up the cost to both run a node (and in particular a miner) and drive out the free transactions from the network.

For myself, I think it would be healthy to see what alternate currencies might do, but I do think it could drive Bitcoin itself under as a currency too, or at least marginalize it.  This isn't a given and only raw speculation based upon a gut instinct here and not based upon any sort of hard data.  I just don't know if Bitcoin could survive against other currencies based upon services which drive their value.


Title: Re: The economics of generalized bitcoin
Post by: FreddyFender on December 24, 2010, 05:56:01 AM

For myself, I think it would be healthy to see what alternate currencies might do, but I do think it could drive Bitcoin itself under as a currency too, or at least marginalize it.  This isn't a given and only raw speculation based upon a gut instinct here and not based upon any sort of hard data.  I just don't know if Bitcoin could survive against other currencies based upon services which drive their value.

"An economist, a philosopher and a coder walk into a bar..."

I agree that separation of bitcoin from other bitx clients is essential. We need a study group to examine the large pool of opportunity alternate currencies/apps might have on the original network. Tying any of them together more than technically through the chain is sound thought. What we need is to explain the different forces at play here.

We could create an allegory that describes bitcoin and any additional bitx (including bitDNS/domain). The original client is facinating because we are witnessing something new - a self-sustaining trust network. Topologically speaking, bitcoin engine is a closed loop torus with a constantly(?) increasing area of bitcoins creating the torus' girth. The central column of the torus is the engine or chain. The beauty of the design is this enclosed nature that can be verified by the lightness of the client/miner which creates these chains/increasing currency.

If we now juxtapose a tree's root system now, to describe the original chain, we can see that other trees are possible from the roots of the original. Just as shoots would spring up from from crown, or base of the tree. These other trees need protection while in the start phase to prevent "hackers" from overwhelming them. They rely on the original chain (roots) created by bitcoin and create there own root system (new chain) simultaneously. What no one but Hal has proposed yet is a protective system to guard the newly sprouted chains.

We could consider something akin to worker bees - scouts, workers, attack drones that monitor the trees of bitx. These bees would have ability to mimic transactions to avoid rejection. They should be able to check the codebase actively running and the directory tree files for modifications. They could make up a small percentage of current tx volume and increase their presence when intrusions or cartels enter the system. The attack bees would warn nearby nodes of something afoot, while trying to get fresh information to "hive servers" which could better determine the issue.

Scouts - looks like normal tx to everyone in the network, but generates a worker
Workers - examine codebase, registers, files, etc and report to hive
Attack drones - alert nearby nodes to potential threats - eliminate threats

Many ANT swarm networks use this technology to avoid network congestion and routing issues. We could likewise cure any routing issues that may isolate nodes, or nodes that lose connectivity. Workers simply let the client know that the chain is healthy and continue as normal.
Scouts would basically get a worker to gather info and send it back to the hive. Workers gather the integrity of running client/miner. Attack drones can isolate originating IPs or cartels that are disturbing the network and potentially block their progress by overwhelming the non-compliant chains.
Workers and scouts are necessary for clients/miners, but attack drones are reserved for hive servers and act as a health inspector.

Some simple Bayesian algorithms should suffice for the volume of scouts and workers created. Attack drone only appear when health of network is reporting problems.

Any thoughts on my allegory of trees and bees?

Hal, can you summarize your thoughts on a separate protective system/shell for the bitcoin client and help me with any missing points?

PS. sorry about jamming three topics into post but I was on a roll. ;)


Title: Re: The economics of generalized bitcoin
Post by: jgarzik on December 24, 2010, 07:18:30 AM
Please fix your quoting :)


Title: Re: The economics of generalized bitcoin
Post by: FreddyFender on December 24, 2010, 09:59:38 AM
This is another general application for the economics:
http://bitcointalk.org/index.php?topic=2299.0