jgarzik
Legendary
Offline
Activity: 1596
Merit: 1099
|
|
December 09, 2010, 03:46:06 AM |
|
Currency transactions would have to fight harder -- pay more fees -- to make sure they're processed in a timely fashion, due to all the non-currency data in the block chain. Increasing the block size does not reduce transaction fees.
Sorry I have to disagree with you, the transaction fees are based upon the 'cost' to generator to include the transaction. The cost is directly related to the amount of data needed to be included. This is not an opinion; read the source. Transaction fees vary on total block size, not just transaction size. Thus, larger blocks == higher fees. Thus, more data spam, or more overall network traffic (currency or not) == higher fees.
|
Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own. Visit bloq.com / metronome.io Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
|
|
|
da2ce7
Legendary
Offline
Activity: 1222
Merit: 1016
Live and Let Live
|
|
December 09, 2010, 04:07:08 AM |
|
This is not an opinion; read the source. Transaction fees vary on total block size, not just transaction size.
Yes, that is what the source says for the moment, in the future I do not expect the generators to just arbitrarily follow the current rules, rather I expect the generators to be quite discerning in what rules they enforce or ignore. Yes, larger block will be more expensive, (eg. bandwidth, and risk of rejection costs), but as the average amount of data in the blocks increase, the _relative_ cost per data amount will go down.
|
One off NP-Hard.
|
|
|
jgarzik
Legendary
Offline
Activity: 1596
Merit: 1099
|
|
December 09, 2010, 04:29:54 AM |
|
These experiments are better suited for an alternate network and block chain. Leave the currency as a currency, and preserve the investments that many have already made in bitcoin. It could be as simple as a patch that accepts "-datanet" and non-standard transactions, such as http://yyz.us/bitcoin/patch.bitcoin-datanet-fork(warning: demonstration patch, do not use; you would want a real genesis block for a production network)
|
Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own. Visit bloq.com / metronome.io Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
|
|
|
nanotube
|
|
December 09, 2010, 06:19:05 AM |
|
consider also that it's possible to encode data into the bitcoin blockchain already, merely by specially crafting the transaction. (See the 'first' option on http://privwiki.dreamhosters.com/wiki/Bitcoin_DNS_System_Proposal#Overcoming_potential_resistance_bitcoin_developers.2Fcommunity ). alternatively, only timestamping and proof of expense (i.e., a regular transaction with a fee) may be used, pushing off the actual data storage off to external service (see 'third' option, ibid.) but why not make it easier on everyone and just allow say, 64 or 128 bytes of random data in a transaction? it seems that in the net, these side-band uses of bitcoin will only serve to increase the security of the network, by increasing the mining incentive, and bringing on more generation power.
|
|
|
|
davout
Legendary
Offline
Activity: 1372
Merit: 1007
1davout
|
|
December 09, 2010, 07:10:30 AM |
|
I guess we have the first official release that is disputed by the majority of computation power, Bitcoin's coming off age :-)
I do however like that the changes are communicated in an open and unbiased way. One thing that would be nice is to have links to the particular Threads, Checkins, whatever to be able to track/understand changes more easily.
You already have that
|
|
|
|
chaord
|
|
December 09, 2010, 07:17:12 AM |
|
but why not make it easier on everyone and just allow say, 64 or 128 bytes of random data in a transaction? it seems that in the net, these side-band uses of bitcoin will only serve to increase the security of the network, by increasing the mining incentive, and bringing on more generation power.
I personally agree with nanotube's point here, especially in light of the fact that arbitrary data can already be disguised in standard transactions if a person is motivated enough. I have not looked at the source code, but from what I understand I think that a much more pleasant (politically and technically speaking) solution would be to: by default disallow non-standard transactions that exceed 128 bytes (or whatever threshold is agreeable)?I would like to hear why the above option was thrown out by the developers. While I agree that bitcoin transactions themselves should be the primary use of the blockchain, a good currency need not ostracize itself either.
|
|
|
|
theymos
Administrator
Legendary
Offline
Activity: 5348
Merit: 13316
|
|
December 09, 2010, 08:17:19 AM |
|
by default disallow non-standard transactions that exceed 128 bytes (or whatever threshold is agreeable)?
I would be happy with 128 bytes of arbitrary data. But it seems pointless for the official Bitcoin client to attempt to "legislate" any restrictions of this type when all miners have an interest in including any and all fee-carrying transactions. As long as these restrictions exist, miners are incentivized to: - Remove the restrictions to get more fees - Connect to as many peers as possible to get a higher chance of catching any non-standard transactions that would be produced, further increasing the load on those few nodes accepting incoming connections. The restriction on relaying these transactions should be removed, at the very least.
|
1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
|
|
|
jgarzik
Legendary
Offline
Activity: 1596
Merit: 1099
|
|
December 09, 2010, 08:38:27 AM |
|
by default disallow non-standard transactions that exceed 128 bytes (or whatever threshold is agreeable)?
I would be happy with 128 bytes of arbitrary data. But it seems pointless for the official Bitcoin client to attempt to "legislate" any restrictions of this type when all miners have an interest in including any and all fee-carrying transactions. As long as these restrictions exist, miners are incentivized to: - Remove the restrictions to get more fees - Connect to as many peers as possible to get a higher chance of catching any non-standard transactions that would be produced, further increasing the load on those few nodes accepting incoming connections. ...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.
|
Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own. Visit bloq.com / metronome.io Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
|
|
|
sturle
Legendary
Offline
Activity: 1437
Merit: 1002
https://bitmynt.no
|
|
December 09, 2010, 08:55:05 AM |
|
by default disallow non-standard transactions that exceed 128 bytes (or whatever threshold is agreeable)?
I would be happy with 128 bytes of arbitrary data. I introduced six persons to bitcoins yesterday, and one so far today, by giving them 20 BTC each for a promise to put the coins into circulation. They all had the same complaint: It took ages, for one of them almost two hours, to download the initial blocks! It doesn't get any faster by adding junk to the blocks. I don't get it? Why is it so important for people here to make Bitcoins slow and inefficient? Fees? Come on, miners! How much do you make from fees?
|
Sjå https://bitmynt.no for veksling av bitcoin mot norske kroner. Trygt, billig, raskt og enkelt sidan 2010. I buy with EUR and other currencies at a fair market price when you want to sell. See http://bitmynt.no/eurprice.plWarning: "Bitcoin" XT, Classic, Unlimited and the likes are scams. Don't use them, and don't listen to their shills.
|
|
|
da2ce7
Legendary
Offline
Activity: 1222
Merit: 1016
Live and Let Live
|
|
December 09, 2010, 09:16:01 AM |
|
Fees? Come on, miners! How much do you make from fees?
Not much, I've made about 0.5 BTC from fees. It is just too profitable to just mine for the hell of it, I get 50 BTC each time I make a block, and (if I'm very lucky, I make 0.05 BTC from fees). About the large chain size, this isn't a issue, in the future it will be possible to 'prune' the chain with balances. This will reduced the size by a vast amount. When extra data is included in the chain, it is likely to be forgotten by (most) the network if it stops being important. For example, the BitDns guys will keep a relocation of a the DNS data for ages, however the banks are likely to just keep the bitcoin currency transfer data and drop the rest.
|
One off NP-Hard.
|
|
|
m0mchil
|
|
December 09, 2010, 09:20:36 AM |
|
There are many questions still unclear about bitcoin. We have yet to see a lightweight client, freed of the block chain's burden. We still have to see how the TX fee market will develop. There is uncertainty about what the average number of transactions per minute would be in, say, two years.
Distributed DNS using bitcoin concepts is really cool. But isn't this a separate currency/commodity? Why not create a separate chain for it? Why force bitcoin users to support services they aren't aware of?
What if I want only BitDNS? And I don't need the payments stuff?
|
|
|
|
Timo Y
Legendary
Offline
Activity: 938
Merit: 1001
bitcoin - the aerogel of money
|
|
December 09, 2010, 09:21:06 AM |
|
You've gotta love the free market!
We should not trust the "free market" blindly. The problem is that including a lot of data in a block creates costs, not just for the miner who includes the data, but for all other miners and all other users, for all eternity. In the current implementation, the user is passing on the costs to the miner, and the miner is passing on the costs to the rest of the network. However, the user's transaction fee only compensates the miner's costs. As long as this tragedy of the commons situation hasn't been sorted out, the free market won't fix anything.
|
|
|
|
da2ce7
Legendary
Offline
Activity: 1222
Merit: 1016
Live and Let Live
|
|
December 09, 2010, 10:02:32 AM |
|
In the current implementation, the user is passing on the costs to the miner, and the miner is passing on the costs to the rest of the network. However, the user's transaction fee only compensates the miner's costs.
Current implementations, in the future the clients will only keep the stuff they care about. The DNS client will keep the DNS stuff, the bitcoin currency traders will keep the currency transactions. Let the generators worry about the chain; if bitcoins become worthless, then they will not have any incentive to generate! I for one have lots of faith in the free market, after all I'm a laissez-faire capitalist , I will be voting will my generation. I suggest you invest in more that 50% of the generation network (or with like minded people), and ignore my the block I generate if you disagree with the data they contain. That is the life in a free market. When we all bought into bitcoin, we all knew that then network is dictated by the majority of generation power. All I'm arguing is that the generators will look out for their best interests, and their interests happen to fit very nicely with bitcoin: A strong bitcoin currency.
|
One off NP-Hard.
|
|
|
da2ce7
Legendary
Offline
Activity: 1222
Merit: 1016
Live and Let Live
|
|
December 09, 2010, 10:07:38 AM |
|
I propose a law:
"He who makes the chain, gets to decide what it looks like"
|
One off NP-Hard.
|
|
|
sturle
Legendary
Offline
Activity: 1437
Merit: 1002
https://bitmynt.no
|
|
December 09, 2010, 10:57:47 AM |
|
I propose a law:
"He who makes the chain, gets to decide what it looks like"
This could work combined with: "Everyone can choose to accept a block or discard it" I don't want everyone to be spammed by blocks full of junk, and prefer to try to nullify it by generating a competing block without including the junk. The junk will of course make it eventually, unless the majority of miners switch on their spam filters.
|
Sjå https://bitmynt.no for veksling av bitcoin mot norske kroner. Trygt, billig, raskt og enkelt sidan 2010. I buy with EUR and other currencies at a fair market price when you want to sell. See http://bitmynt.no/eurprice.plWarning: "Bitcoin" XT, Classic, Unlimited and the likes are scams. Don't use them, and don't listen to their shills.
|
|
|
ShadowOfHarbringer
Legendary
Offline
Activity: 1470
Merit: 1006
Bringing Legendary Har® to you since 1952
|
|
December 09, 2010, 01:51:20 PM |
|
Well I spport Satoshi completely in this matter.
Leaving a possibility to store data in bitcoin chain is an accident waiting to happen. Just wait until somebody encodes kiddie porn into the chain - it would stay there forever. And the governments would have a perfect propaganda possibility for fighting it. "Normal" people won't use bitcoin at all if it is associated with perverts, mafia, and financial scams.
|
|
|
|
satoshi (OP)
Founder
Sr. Member
Offline
Activity: 364
Merit: 7065
|
|
December 09, 2010, 02:37:05 PM |
|
New transaction templates can be added as needed. Within a few days, there will be plenty of GPU power that accepts and works on it. Network support will be thorough long before there'll be enough clients who understand how to receive and interpret the new transaction. Timestamp hashes are still already possible: txin: 0.01 txout: 0.00 <appid, hash> OP_CHECKSIG fee: 0.01 If there's an actual application like BitDNS getting ready to actually start inserting hashes, we can always add a specific transaction template for timestamps. I like Hal Finney's idea for user-friendly timestamping. Convert the hash of a file to a bitcoin address and send 0.01 to it: I thought of a simple way to implement the timestamp concept I mentioned above. Run sha1sum on the file you want to timestamp. Convert the result to a Bitcoin address, such as via http://blockexplorer.com/q/hashtoaddress . Then send a small payment to that address. The money will be lost forever, as there is no way to spend it further, but the timestamp Bitcoin address will remain in the block chain as a record of the file's existence. I understand that this is arguably not a good use of the Bitcoin distributed database, but nothing stops people from doing this so we should be aware that it may be done.
|
|
|
|
Gavin Andresen
Legendary
Offline
Activity: 1652
Merit: 2301
Chief Scientist
|
|
December 09, 2010, 02:51:07 PM |
|
by default disallow non-standard transactions that exceed 128 bytes (or whatever threshold is agreeable)?
I would like to hear why the above option was thrown out by the developers.
Several months ago, around the time when the 0.3.9 bugs were found, I privately told Satoshi that I thought whitelisting acceptable transaction types was a better way to go, rather than blacklisting transaction types that we find out cause problems. The danger is similar websites that try to blacklist <script> tags in HTML entered by users to prevent cross-site-scripting hacks. See http://ha.ckers.org/xss.html for a nice sampling of how creative hackers can be. I haven't asked Satoshi if the recent discussion of BitDNS putting extra data in the block chain swayed his opinion or if he woke up in the middle of the night and realized that a creative use of OP_SOMETHING might lead to an exploit. I don't think it matters; I'm still convinced that whitelisting acceptable transaction types is the right thing to do. As for "the above option was thrown out by the developers" -- nothing has been thrown out! Again, I haven't talked to Satoshi, but I'm open to the idea of a third 'standard' transaction type that includes extra, arbitrary data. Lets have that discussion, implement it on the -testnet, poke at it, try to imagine all the possible ways it can be misused, try to estimate the benefits and costs... and if there's general consensus that it is a good idea, roll it into production.
|
How often do you get the chance to work on a potentially world-changing project?
|
|
|
satoshi (OP)
Founder
Sr. Member
Offline
Activity: 364
Merit: 7065
|
|
December 09, 2010, 03:17:53 PM |
|
I came to agree with Gavin about whitelisting when I realized how quickly new transaction types can be added. why not make it easier on everyone and just allow say, 64 or 128 bytes of random data in a transaction?
That's already possible. <pubkey> OP_CHECKSIG. <pubkey> can be 33 to 120 bytes. I also support a third transaction type for timestamp hash sized arbitrary data. There's no point not having one since you can already do it anyway. It would tell nodes they don't need to bother to index it.
|
|
|
|
Timo Y
Legendary
Offline
Activity: 938
Merit: 1001
bitcoin - the aerogel of money
|
|
December 09, 2010, 03:27:10 PM |
|
Just wait until somebody encodes kiddie porn into the chain - it would stay there forever.
It is impossible to completely prevent that kind of abuse unfortunately. For example, someone could encode information in the decimal figures of amount sent, or in a "vanity plate" Bitcoin address. Probably not practical for jpeg or mpeg files, but for other low-bandwidth "illegal data" such as Blu-Ray keys, this is bound to happen sooner or later. Even "low bandwidth kiddie porn" could create big problems for us one day. All over the world, legislation is becoming more draconian every year and in some countries even the "wrong" kind of fiction and poetry is now considered kiddie porn by the courts and thus illegal.
|
|
|
|
|