Post
Topic
Board Development & Technical Discussion
Re: Design notes for sharing work between multiple independent chains
by
0x6763
on 05/05/2011, 19:34:14 UTC
Quote from: [mike]
If you are already happy with the existing domain name system (or whatever), you don't care about those transactions. You aren't planning on taking part in that system so those domain names will never "come around" to you. You also don't care if somebody else owns any particular name. It's additional expense that gains you nothing.

Gains you nothing...oh, except for maybe a more robust and secure network and a more valuable and more widely used currency.  What each person loses and gains is for each individual person to decide for themselves and only themselves.  Again, please don't state your assumptions of what other people gain or lose as though it's some provable objective fact.

Quote from: [mike]
I think you're overfocussing on the DNS case. There are several possible use cases for alternative chains. Nobody will care about all of them. Some of them may involve significant amounts of data, far beyond a DNS system.

And the miners can and most likely will charge the fees that gets them the most profit for those types of transactions, causing the number of them to be lower than if they were free.  To reduce costs in fees, the people designing the system could provide a more cost effective system by limiting the amount of data put into the transactions/block chain to a minimum that merely references where to find the data in some other system (which is exactly how I would do DNS).  The incentives to prevent it from blowing up out of control already exist (except for perhaps the lack of flexibility for setting fees in the bitcoin client and mining software).

Quote from: [mike]
The technical reason is that trying to combine every possible proof of work based quorum into a single chain does not scale.

Scaling is generally an economic issue, not a technical one.  With enough resources you can scale anything up in an incredibly inefficient way if you wanted to (just look at most governments).  The nice thing about bitcoin is that the miners can charge transaction fees, reducing the externalization of costs to others from people putting non-bitcoin related data into the block chain, because the fees will make it cost prohibitive to just throw whatever or however much data they want into the block chain.  The miners could pick and choose which types of transactions they will put into a block according to their own economic goals, and the people making the transactions will pick and choose what transactions they will make and pay fees for based on their own economic goals.  The network will adjust and scale according to the values of its users.

Quote from: [mike]
This is not a matter of personal preference, it's about solid engineering.

All engineering is intended to meet some arbitrary subjective goal, to provide some subjective value to one or more people.  From what you have stated thus far, it seems that among your goals (preferences, values, or whatever you wish to call them) you want the bitcoin block chain to hold only data related to bitcoins, and nothing else, with the exception of making some changes to include some non-bitcoin related data in coinbase transactions.  You've chosen an arbitrary trade-off to meet your goals...some people like it, and some people don't.  Others are willing to make the arbitrary exception of just simplifying things to the point that you can include data in a transaction that references something in some other datastore.  And others are willing to go as far as putting a lot of data into the block chain (entire DNS records and other data).  Every single one of these is completely arbitrary, and the network can technically handle every single one.

The problem is not a technical one, but an economical one.  Storing large amounts of data in the block chain is likely not very economical, but the amount stored would be prevented from growing beyond a certain point due to transaction fees.  Creating an alternative block chain and making exceptions to allow a reference to this alternate chain in a coinbase transaction is certainly less burdensome on the bitcoin network, but I'm not confident that anyone's fully solved all the issues of miner incentive and asynchronous difficulty between the two chains.  Unless those issues are definitely solved, an alternative chain sharing work with bitcoin is likely to suffer and not have a chance of having widespread use.  I personally think that allowing people to put arbitrary references to outside data in bitcoin transactions makes the most sense technically (it's simple) and can be well accommodated by the bitcoin network economically (the market rate chosen by miners and those sending special transactions will regulate how much of this data goes into the block chain).


Quote from: [mike]
If the names are free then somebody will just do a dictionary attack on the network and claim all useful names.

Yes, that's another reason (in addition to the one where I said the miners need an incentive to even bother creating the blocks), for there to be a fee.

Quote from: [mike]
But regardless, if for your 0x6763 chain you don't want to charge any coins you don't have to.

It seems you misunderstood what I was saying.  I was not saying that I want to create a system where the domain names would be free, because I am already well aware that won't work.

Quote from: [mike]
Miners don't need much incentive to work on alternative chains as long as the CPU cost of receiving and verifying your transactions isn't too high. They just connect your software to BitCoin and their mining hardware works on both simultaneously. Beyond an hour or twos setup time nothing more is required.
...
Believing in "the cause" is probably enough.

That's awfully short-sighted of you.  For bootstrapping, sure, 'believing in "the cause"' may be enough just like it was for bitcoin.  But "this doesn't scale" to wide use of the system.  The vast increase in bitcoin difficulty is due to the fact that the price of bitcoins increased, resulting in more opportunity to make a profit from mining, leading to more people investing in mining.  In the future, I doubt most people are going to be investing in multi-million dollar data centers for bitcoin mining just because they 'believe in "the cause"', and I believe the same will be true for a decentralized DNS.  What significant reason does any other miner have to spend even just a couple hours to get setup for working on the alternative block chain if they don't already 'believe in "the cause"' and don't earn extra money from it?