Pages:
Author

Topic: Forkless Towncoin Subnet proposal - final sketch - please tear it apart - page 2. (Read 10138 times)

member
Activity: 98
Merit: 10
To me it sounds like you are overengineering the problem of setting up a local exchanger that offers a mining pool.

Any quiet Sunday morning sipping lemonade and eating watermelons I might agree. There's a slight problem. This can't wait. Developing a trade exchange rate would presume a community that would be willing to do commit to waiting that long. The offer is to hobble the output in exchange for seamless connection. The result is that all subnets have effective difficulty above the network difficulty.
full member
Activity: 182
Merit: 100
To me it sounds like you are overengineering the problem of setting up a local exchanger that offers a mining pool.
legendary
Activity: 2618
Merit: 1007
Doesn't the system accept coins with higher difficulty?
Yes it does. However it is quite hard already to solve blocks at the current ~500,000 difficulty... solving more difficult blocks and just claiming the current difficulty for them will work, but why doing the effort for that? You would limit people artificially beyond BTC mining.

Would it be difficult to make so the system accepts blocks if localdiff / localbcperblock = getdifficulty / bcperblock ? The output is the same over time.
As you want to change the btc per block (and block generation speed), this is something that the vanilla network will not accept (and it is against the initial BTC spec). There is NO way that the system accepts other blocks, that might even out "over time". This requires a full fork of the blockchain.


Maybe a few other questions:
Should the Towncoin/USD rate be as stable as possible?
How many Towncoins (or USD equivalents) do you want to have initially? (something like "1 million of USD in Towncoins")
How many BTC should be equivalent to 1 Towncoin?
Do you want townfolk to mine or not? You mentioned that they might NOT be interested in "dealing with nuclear computer parts", on the other hand you seem to want to let people mine their own coins with their CPUs.
member
Activity: 98
Merit: 10
I'm not sure to which 3rd world country you're refering to....

How many of those techs are Microsoft BTC Economics Certified, licensed, and bonded?

Compatible with the network means:
Difficulty in the block header = http://blockexplorer.com/q/getdifficulty
Payout at the beginning of each block = http://blockexplorer.com/q/bcperblock

Doesn't the system accept coins with higher difficulty?

Would it be difficult to make so the system accepts blocks if localdiff / localbcperblock = getdifficulty / bcperblock ? The output is the same over time.

Quote
This would again mean you will have to keep up with the global hash rate (otherwise your pool will earn less and less, leading to deflation of towncoins)

The global rate to town rate ratio determines the reward and difficulty drop for Rule A.

Quote
and people are arbitratily limited to using Bitcoins generated by the town pool I guess (if that's your implementation).

Not limited, but the people will want to be able to get in so they would mine. As the town economy becomes more solid, mining gets less profitable. As the town activity increases, mining becomes less profitable. The more the town economy looks like the mainline the more the towncoin generation resembles bitcoins. It's dynamic.


Quote
A possible implementation of your proposal would be to send out difficulty 1 shares to CPU miners in a pool but difficulty 5(6? 10?) shares to GPU miners, paying them all the same per submitted share however. This would mean, GPU mining would become less attractive/efficient.
Then you would need a client, that only accepts coins mined by this special pool, so you can enforce your rules (otherwise ppl. would just go to a non-discriminating pool).
The problem still remains that you rely on mining for creating coins, you do not have a fixed amount of coins, you will start with only a tiny amount of coins and you also have to rely on constant growth compared to the global hashrate to ensure more money is being minted.

Once again:
Whatever rules you come up with - if these are NOT compatible with the current Bitcoin implementation, you'll either need to have a private segment of the blockchain (only special coins are accepted by your local clients) OR a complete fork including a different blockchain (that is very very vulnerable if you decide to have coins generated continuously via mining like in the main client).

I had that idea a 5 weeks ago. This one is has fewer obstacles, fewer levers, fewer trust interfaces needed.
legendary
Activity: 2618
Merit: 1007
In a town, you need farm equipment, a few good strong workers, enough sales to pay the bank for the property. Tell those people you want to sell them a Radioactive 6990 with an processor with 7 eyeballs (what do you think an i7 with a Radeon 6990 sounds like to the average person?) and they will tell you to take a hike. They will look upon the computer as an extra gadget getting in their way. They will never understand why they need to spend all that money.
I'm not sure to which 3rd world country you're refering to, but in my ~5000 inhabitants hometown there are 2 public computer stores and a few service providers for stuff like setting up networks etc. at companies...

Also again: What benefit do a few measly miners bring to towncoins if they are integrated (=forkless) in the bitcoin blockchain?

Rule A. Reduced reward with reduced difficulty is equivalent output. This rule makes no change in the value of towncoin with respect to the network.
Rule B. Reduced reward with increased mining. This is equivalent to higher difficulty. Again this makes towncoin even more compatible.
Rule C. Increased difficulty with more transactions. This makes towncoin extremely compatible with the network.

I'll answer the rest in a bit. That's the hard ratio. The more attractive ratio has some interesting properties. But would you agree that the bare bones formula makes towncoins very compatible?
Compatible with the network means:
Difficulty in the block header = http://blockexplorer.com/q/getdifficulty
Payout at the beginning of each block = http://blockexplorer.com/q/bcperblock

You can NOT influence at all how blocks not mined in your town are going to be like (which transactions they include and who will be paid for the block). The only blocks you can influence are the ones mined by your own miners (or a whole pool, if you want to have a "town pool"). This would again mean you will have to keep up with the global hash rate (otherwise your pool will earn less and less, leading to deflation of towncoins) and people are arbitratily limited to using Bitcoins generated by the town pool I guess (if that's your implementation).


A possible implementation of your proposal would be to send out difficulty 1 shares to CPU miners in a pool but difficulty 5(6? 10?) shares to GPU miners, paying them all the same per submitted share however. This would mean, GPU mining would become less attractive/efficient.
Then you would need a client, that only accepts coins mined by this special pool, so you can enforce your rules (otherwise ppl. would just go to a non-discriminating pool).
The problem still remains that you rely on mining for creating coins, you do not have a fixed amount of coins, you will start with only a tiny amount of coins and you also have to rely on constant growth compared to the global hashrate to ensure more money is being minted.

Once again:
Whatever rules you come up with - if these are NOT compatible with the current Bitcoin implementation, you'll either need to have a private segment of the blockchain (only special coins are accepted by your local clients) OR a complete fork including a different blockchain (that is very very vulnerable if you decide to have coins generated continuously via mining like in the main client).
member
Activity: 98
Merit: 10
I'm not getting why/how people become obsessed with mining.

Some because they want to be big stars. But town people want an economy not a LAN party. They need to get in quick.

Quote
Again:
A single GPU miner is enough to make a BTC system produce blocks at a steady 6 blocks/hour rate. More miners just make this system more secure, but don't add any value beyond this. Transactions still take the same time, blocks still need to be distributed + confirmed by other network nodes etc.

In a town, you need farm equipment, a few good strong workers, enough sales to pay the bank for the property. Tell those people you want to sell them a Radioactive 6990 with an processor with 7 eyeballs (what do you think an i7 with a Radeon 6990 sounds like to the average person?) and they will tell you to take a hike. They will look upon the computer as an extra gadget getting in their way. They will never understand why they need to spend all that money.



Quote
To make towncoins forkless, you wold need to play by the official Bitcoin rules. These include: Coin generation in each block for a few years, globally set and globally agreed upon difficulty.

There is NO way without a fork to let CPUs find blocks in a reasonable amount of time, as such lower difficulty blocks would simply not be accepted by the rest of the vanilla network.

Rule A. Reduced reward with reduced difficulty is equivalent output. This rule makes no change in the value of towncoin with respect to the network.
Rule B. Reduced reward with increased mining. This is equivalent to higher difficulty. Again this makes towncoin even more compatible.
Rule C. Increased difficulty with more transactions. This makes towncoin extremely compatible with the network.

I'll answer the rest in a bit. That's the hard ratio. The more attractive ratio has some interesting properties. But would you agree that the bare bones formula makes towncoins very compatible?

Keep in mind it would be best if people could get their towns started without waiting for the USD to go bonkers so that BTC also goes bonkers equally in reverse. Alabama and Tennessee are damaged now and suffering now. They can't wait. Not the only use for this system, but it is a future goal.
member
Activity: 98
Merit: 10
So what's the next step?

Do you need to build support for this or can you do it without asking (via plug in)?

Also, are these towncoins in your proposal different from BTC in terms of having their own supply or is it just BTC generated differently?

It seems like the latter.  I have no preference.  Just looking for clarification.

It's just generated differently. I'm gonna have to make pretty pictures, though. Sigh.

Also see me on IRC, I have an idea for our earlier arrangement.
legendary
Activity: 2618
Merit: 1007
I'm not getting why/how people become obsessed with mining.

Again:
A single GPU miner is enough to make a BTC system produce blocks at a steady 6 blocks/hour rate. More miners just make this system more secure, but don't add any value beyond this. Transactions still take the same time, blocks still need to be distributed + confirmed by other network nodes etc.

In the decentralized Bitcoin (global) world, there cannot be a good/safe secure way to hand out coins, so miners are allowed by the network to generate 50/25/12.5... coins for each block to arbitrary addresses for some years to have an incentive that the network gets secure.

In a towncoin scenario everything will be regional though, so there IS the chance of having a central authority (if shops need to accept towncoins, they might probably even request this...) that hands out towncoins.

To make towncoins forkless, you wold need to play by the official Bitcoin rules. These include: Coin generation in each block for a few years, globally set and globally agreed upon difficulty.

There is NO way without a fork to let CPUs find blocks in a reasonable amount of time, as such lower difficulty blocks would simply not be accepted by the rest of the vanilla network.

What you could do though is to declare some special Bitcoins in the network as "towncoins" and track (+sell) these seperately.
For example you could take 50 freshly minted BTC and declare that you will sell + buy each Satoshi of these for 1 US cent (or whatever price).

You would still have the problem, that if your towncoins are worth far more than regular Bitcoins, transaction fees might become very expensive. Some pools like Eligius don't accept free transactions for their blocks, so just using a client that does transactions for free might also be no solution. This means you need to be very careful when setting the initial conversion rate, as towncoins need to be worth much more than Bitcoins (but stable!), on the other hand they need to be cheap enough to pay (low) transaction fees to not penalize the towncoin users and spam the BTC network with free transactions.

Once the BTC becomes worth more than the towncoin, your people can (should) then switch to the regular bitcoin which by that time should hopefully be already stable enough (at 1 cent/100 TowncoinSatoshis, 1 BTC needs to be worth more than 10000 USD, so there's a little time until that point is reached...). All the townpeople would need to do then is to either remove the towncoin plugin or jsut use the regular BTC client.



TL;DR:
In the end I don't really get how you will NOT fork Bitcoin but allow CPU mining (whatever kind of calculations you do), as there is no way to include blocks with different difficulty in vanilla BTC.
I would suggest using a few trackable BTC to provide a artificially stabilized/subsidized basis for trade until a certain BTC/USD ratio is reached and it is cheaper to use real BTC for your townpeople.
member
Activity: 84
Merit: 11
So what's the next step?

Do you need to build support for this or can you do it without asking (via plug in)?

Also, are these towncoins in your proposal different from BTC in terms of having their own supply or is it just BTC generated differently?

It seems like the latter.  I have no preference.  Just looking for clarification.
member
Activity: 98
Merit: 10
C. A higher difficulty matches increased trading.

This is part of what doesn't make sense to me.  You want a lower difficulty, to enable CPU mining.  Yet there will be 10x the number of transactions.  So, that's contrary to your formula C here.

There are three parts to the formula. Two reduce reward. Don't forget reward. Everyone gets fixated on difficulty. Lower difficulty at lower reward is no change effectively. If all three parts reduced reward, no one would get into it. Mainline people would join for the drop in difficulty and then freak out at the reward compared to what they are used to. Town people need to make transactions to have an economy.

Quote
Currently, there is no real per-transaction cost.  It is more of an "all or nothing" type of fixed cost.  You're saying that difficulty should be proportional to the number of transactions?

Not exactly.

There are two parts to the contract: the hard ratio, which you are quoting, and the actual attractive ratio. The hard ratio is used as a reference for how to make it work. The actual ratio depends on the square root of that.

Main principle is to cause zero net effective, practical, and productive change in BTC. Each benefit the town gets comes at a cost. This allows towncoin to exist without there being a divergence in principle even if the variables change. That way towncoin is equivalent to Bitcoin because it does not come out of thin air, but out of a bargain.
legendary
Activity: 1330
Merit: 1000
C. A higher difficulty matches increased trading.

This is part of what doesn't make sense to me.  You want a lower difficulty, to enable CPU mining.  Yet there will be 10x the number of transactions.  So, that's contrary to your formula C here.

Currently, there is no real per-transaction cost.  It is more of an "all or nothing" type of fixed cost.  You're saying that difficulty should be proportional to the number of transactions?
member
Activity: 98
Merit: 10
Honestly I have to say I'm not sure I completely understand your proposal.

But can you tell us in what way this is not a fork?  Because, it seems to me, that if you have a different difficulty then you have a different blockchain.  And if your clients must accept a lower difficulty, then you must use modified clients.  How is this "forkless"?

Because the changes are balanced. The counter balances are based on principles that people here agree with. The changes can be introduced via plugin.

A. A lower difficulty matches a lower reward. No real change.
B. A lower reward matches higher participation in mining. Town people are going to participate anyways.
C. A higher difficulty matches increased trading. Internal difficulty feature.

C is an internal counter balance to A. So the difficulty and reward both behave nicely without spiraling.

No one is forced to accept. And any pools can choose to accept.
It merely introduces decentralization tendencies.
legendary
Activity: 1330
Merit: 1000
Honestly I have to say I'm not sure I completely understand your proposal.

But can you tell us in what way this is not a fork?  Because, it seems to me, that if you have a different difficulty then you have a different blockchain.  And if your clients must accept a lower difficulty, then you must use modified clients.  How is this "forkless"?
member
Activity: 98
Merit: 10
Sounds like a plan.  I will have to leave others to tearing apart the details.  Lack of a fork makes it simple to get started and keeps everything in the BTC family.

What happens to towncoin subnets if there's a crackdown on the mainline BTC.

Mainline, by definition, has a certain degree of inferred centralization.

We are going for soccer mom coin status. An army of women in hairnets lugging tvs with Oprah and soap operas all descending down on 1600 Pennsylvania Avenue will keep bitcoins safe from harm.
member
Activity: 84
Merit: 11
Sounds like a plan.  I will have to leave others to tearing apart the details.  Lack of a fork makes it simple to get started and keeps everything in the BTC family.

What happens to towncoin subnets if there's a crackdown on the mainline BTC.

Mainline, by definition, has a certain degree of inferred centralization.
member
Activity: 98
Merit: 10
All righty, then. This is it.

The purpose of "towncoin" is decentralization, participation, and circulation. If bitcoin crosses the soccer mom barrier all the "SCAM! PONZI! NO EXPERTS!" wankers will eat their words. Now instead of imposing demurrage or inflation, we use natural analogies. Your heavy Monster Truck isn't worth as much as my heavy farm equipment. I hate arbitrary ego inflating decisions.

Mainline wants blocks to trade. Speculators in mainline do most of the trading. This increases prices but increases instability. Difficulty corrects this process.
Town wants products to use. Producers exchange recycled bitcoin to create products. This gives value to bitcoins and reduces instability. Difficulty interferes with this process.
The benefit to the town is something that works for them. The benefit to mainline is that once a few town pools are up operating on productivity, real bitcoin value will rise many times which benefits everyone.

What I'm proposing induces the feedback loop that people think won't ever happen. They are trying to saddle bitcoin with all sorts of elitist crank modifications. I may be wrong but I won't impose anything on bitcoin. This is just a way to interact with subnets.

The hard ratio: A reference not the actual value
The purpose of lowering difficulty is to reduce the time that CPU miners need to find a block. The town economy is small so entry time is important. High difficulty reduces trade volume. I can build 10 widgets with the same bitcoin if it circulates 10x as fast. But participation doesn't guarantee recycled bitcoin. Shorter entry time is more important than payout. People need circulation and entry ability. Mainline miners sell to currency traders. Town miners buy equipment and sell produce, products, and services to town buyers.
Higher participation and higher trading per participant will lead to higher recycling. Bitcoin which purchases things people need adds value to the coin itself which helps the global value.

Mainline miners increase recycling between currency traders.
Town partcipants (miners and product traders) increase recycling which creates wealth by producing more for less total bitcoins.

So we argue that as a reference and not necessarily the actual value.
A. 50 BTC at difficulty 500,000 = 5 BTC at difficulty 50,000. This is statistically correct.
B. 50 BTC at 1000 traders for every miner is worth 5 BTC at 100 to 1. A reference only.
C. 500,000 difficulty at 100 trades per participant is worth 5,000,000 difficulty at 1000 trades per participant. A reference only.

A. This is like splitting a stock.
B. This is like offering free samples.
C. This is like selling advertising.

B and C will lead to more recycling. Neither is guaranteed to do so alone so they are only reference values. Instead of dropping reward in C we increase difficulty because it avoids speculation at the expense of production and because more drops in reward would cause chaos for prices in stores.

For A we use the hash rate ratio between pools to drop the difficulty and reward. We want more blocks so more can enter the market.
For B we use the mining participation ratio to drop the reward. The increase in participation is natural. We want more people producing to get more recycling.
For C we use the trading participation ratio to increase the difficulty. More people will trade to get more recycling going.

Typically a GPU gets 100x the hash rate of a cpu.
Typically a town pool needs 10x the participants compared to mainline.
Typically a town will have 10x the trades per parti compared to mainline.

In A, drop in reward balances a drop in difficulty.
In B, drop in reward balances an increase in mining participation.
In C, increase in difficulty balances an increase in transactions.

All these favor the town. The town then boosts real world value of bitcoins.

A. 100x drop in reward for change of difficulty = effectively no change at all
B. 10x for change in participation = effectively no change in long term, but an immediate 10 fold drop for short term.
C. 10x for change in circulation = effectively an improvement in bitcoin's value, but another 10 fold compounded drop.

The attractive ratio.
Now we have a problem. Payout is fast for CPU miners who do not want to buy GPUs nor care nor sweat nor drool over them but it undercuts the benefits GPU miners might have expected. So none of the big guys want to join.

To make this more acceptable we take the square root of the ratio:

10000x drop in reward is a bit nuts, even at the lower difficulty. It's an effective 100x drop in output. The town's people don't care. Bitcoin in town means something else from what it does at MtGox. They see the entry time reduced which is a plus. They also see more currency recycling which creates more products for a given amount of currency. This effectively drives up the price of global bitcoin and everybody wins.

Square root of 10000 is 100. So for an effective 100x drop originally, you get a 100x drop in output. As the town gets stronger, it becomes more and more like a classic GPU pool but backed by commerce as well.

Viva la Renaissance.
Pages:
Jump to: