Pages:
Author

Topic: The economics of generalized bitcoin (Read 8101 times)

full member
Activity: 215
Merit: 100
Shamantastic!
legendary
Activity: 1596
Merit: 1099
December 24, 2010, 03:18:30 AM
#44
Please fix your quoting Smiley
full member
Activity: 215
Merit: 100
Shamantastic!
December 24, 2010, 01:56:01 AM
#43

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. Wink
full member
Activity: 224
Merit: 141
December 10, 2010, 10:07:08 AM
#42
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.
donator
Activity: 826
Merit: 1060
December 10, 2010, 07:32:04 AM
#41
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.
legendary
Activity: 1596
Merit: 1099
December 09, 2010, 06:57:33 PM
#40
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.
full member
Activity: 224
Merit: 141
December 09, 2010, 06:25:22 PM
#39
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.

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.
legendary
Activity: 1246
Merit: 1016
Strength in numbers
December 09, 2010, 05:07:36 PM
#38
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.
newbie
Activity: 22
Merit: 0
December 09, 2010, 04:36:21 PM
#37
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.
legendary
Activity: 980
Merit: 1014
December 09, 2010, 04:33:10 PM
#36
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.
newbie
Activity: 22
Merit: 0
December 09, 2010, 04:25:38 PM
#35
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.
jr. member
Activity: 36
Merit: 13
December 09, 2010, 03:24:29 PM
#34
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:




 ... and so on for each bit-app ...



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.



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.
full member
Activity: 224
Merit: 141
December 09, 2010, 03:20:18 PM
#33
Then do we disagree?  Smiley

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?
jr. member
Activity: 36
Merit: 13
December 09, 2010, 03:16:13 PM
#32
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.
donator
Activity: 826
Merit: 1060
December 09, 2010, 02:51:50 PM
#31
... strictly speaking servers are separate from the bitdns protocol itself ...

Good. Now I still don't understand the need for the "Fee adjust" transaction.
hero member
Activity: 482
Merit: 501
December 09, 2010, 01:32:21 PM
#30
Didn't realize that they weren't doing distributed registration. And bitdns only does Domain Name Registration?
My DomainChain proposal 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 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 Smiley - but strictly speaking servers are separate from the bitdns protocol itself.
hero member
Activity: 482
Merit: 501
December 09, 2010, 01:20:47 PM
#29
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:




 ... and so on for each bit-app ...



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.



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.
donator
Activity: 826
Merit: 1060
December 09, 2010, 12:31:37 PM
#28
Didn't realize that they weren't doing distributed registration. And bitdns only does Domain Name Registration?
My DomainChain proposal 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 makes several references to servers, but they would need to clarify what they have in mind.
donator
Activity: 826
Merit: 1060
December 09, 2010, 12:26:43 PM
#27
... 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.
legendary
Activity: 980
Merit: 1014
December 09, 2010, 12:23:14 PM
#26

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

Seem to be a non-sequitur.
Pages:
Jump to: