回复:交易/垃圾信息洪泛攻击正在进行
原始发布页
打开来源页面查看 1 个交叉存档
引用自:creighto 于 2010 年 11 月 19 日 下午 08:29:12
或许除了最近实施的币龄优先级规则之外,还应该规定无交易费时的最低币龄。换句话说,或许可以制定一条生成规则,规定一笔免费交易必须达到 3 个区块深度,才能再次免费转移。这仍会让真实用户在必要时立即花费新资金,同时也允许真实用户根据需要重新调配资金,而不用承担额外成本。我认为,这会显著遏制目前正在进行的这类垃圾信息攻击。
我正在做类似的事情。优先级是你所描述概念的一种更正式的版本。
引用自:FreeMoney 于 2010 年 11 月 19 日 下午 05:39:44
按目前的情况,3.15 有大量免费交易空间,而且这些空间会优先分配给 [币龄]*[价值]/[大小] 最高的交易,对吗?让免费空间中的某个任意比例要求 [币龄]*[价值]/[大小] > C,是否合理?
或许可以设定 C,使标准的 1BTC 交易能进入下一个区块的主要免费区域,而 .1 的交易可以在等待约 10 个区块后进入。并让允许 [币龄]*[价值]/[大小] < C 的区域接纳大约十几笔交易。
是的,就像这样。而不要求优先级的区域是 3K,每个区块大约可容纳十几笔交易。
我刚上传了 SVN rev 185,它为免费交易设置了最低优先级要求。交易洪泛由反复重新花费的币构成,因此它们会一再依赖自己的 0 确认交易。0 确认交易的优先级为 0,所以像这样的免费交易将不得不等待,每次只能有一笔交易进入一个区块。
版本 0.3.15 不会创建依赖 0 确认交易的新交易,除非只剩下这种交易可用,所以普通用户通常不应该遇到问题。
我认为,在不把默认交易费设为 0.01 的前提下,这是个不错的折中方案。要求免费交易只能每隔一段时间用来周转同一批币,并不过分。如果你使用免费交易,你就是在接受施舍,因此用同一批币享用这种服务的频率必须有所限制。
我们一直都说免费交易的处理速度可能较慢。你可以添加 -paytxfee=0.01,帮助确保交易快速通过。
英文原文
展开英文原文
Quote from: creighto on November 19, 2010, 08:29:12 PM
Perhaps in addition to the age priority rule recently implimented, there should be a minimum age rule without a transaction fee. Said another way, perhaps a generation rule that says that a free transaction must be 3 blocks deep before it can be transfered again for free. This will still allow real users to immediately spend new funds if they have to, while still permitting real users to reshuffle funds to suit their needs without an overhead cost. I think that this would significantly inhibit the type of spamming attack that is currently underway.
I'm doing something like that. Priority is a more formalised version of the concept you're describing.
Quote from: FreeMoney on November 19, 2010, 05:39:44 PM
As it stands now 3.15 has a lot of free transaction space and that space is given first to transactions with the highest [age]*[value]/[size] correct? Would it be reasonable to make some arbitrary portion of the free space require [age]*[value]/[size] > C ?
Maybe set C so that a standard 1BTC transaction can get into the main free area on the next block. And a .1 can get in after waiting about 10 blocks. And make the area which allows [age]*[value]/[size] < C to let in about a dozen transactions or so.
Yes, like this. And the no-priority-requirement area is 3K, about a dozen transactions per block.
I just uploaded SVN rev 185 which has a minimal priority requirement for free transactions. Transaction floods are made up of coins that are re-spent over and over, so they depend on their own 0 conf transactions repeatedly. 0 conf transactions have 0 priority, so free transactions like that will have to wait for one transaction to get into a block at a time.
Version 0.3.15 doesn't write transactions using 0 conf dependencies unless that's all it has left, so normal users shouldn't usually have a problem with this.
I think this is a good compromise short of making the default fee 0.01. It's not so much to ask that free transactions can only be used to turn coins over so often. If you're using free transactions, you're taking charity and there has to be some limit on how often you can use it with the same coins.
We've always said free transactions may be processed more slowly. You can help ensure your transactions go through quickly by adding -paytxfee=0.01.