:: Re: [Libbitcoin] ignore spam transa…
Top Page
Delete this message
Reply to this message
Author: Grazcoin
Date:  
To: libbitcoin
Subject: Re: [Libbitcoin] ignore spam transactions
How about ignoring all non-standard transaction (e.g. with outputs
smaller than dust limit 5430 satohis)?
We could still keep an option to enable the non-standard transactions
using a command line argument.

On reference implementation since 0.8.2:

https://bitcointalk.org/index.php?topic=219504.0

Payments (transaction outputs) of 0.543 times the minimum relay fee
(0.00005430 BTC) are now considered 'non-standard', because storing them
costs the network more than they are worth and spending them will
usually cost their owner more in transaction fees than they are worth.

Non-standard transactions are not relayed across the network, are not
included in blocks by most miners, and will not show up in your wallet
until they are included in a block.


On 02/14/2014 07:57 AM, Amir Taaki wrote:
> Hey, you're right. What rules do you propose that are elegant that we
> can use to prioritise transactions and filter spam? I don't believe the
> mempool rules in Satoshi bitcoind are well designed.
>
> On 13/02/14 22:41, Grazcoin wrote:
>>
>> The transaction:
>> c5e2814507f49b5370f70c4477b02854a34c16af2c301cf097d1a634c4721ee6
>> is an example for a spam transaction (part of the attack on bitcoin
>> network).
>>
>> $ sx fetch-transaction
>> c5e2814507f49b5370f70c4477b02854a34c16af2c301cf097d1a634c4721ee6 | wc
>>       1       1   51317

>>
>> $ sx fetch-transaction
>> c5e2814507f49b5370f70c4477b02854a34c16af2c301cf097d1a634c4721ee6 | sx
>> showtx | head -n 20
>> hash: c5e2814507f49b5370f70c4477b02854a34c16af2c301cf097d1a634c4721ee6
>> version: 1
>> locktime: 0
>> Input:
>> previous output:
>> 9d9dd3402bb4ad7c409f3b5cf1b695a2d7815a58ef12982d0aeaa6a6a6880aee:0
>> script: [
>> 30450221008eb4a4a7d91468fa1ec083dd72868dd0ccb314df580e0a84e76b51df43c58ae402205d07ddf588ee43bd4780ba9241c7075ec46cc1e83c9d21e4c49e3a01aefa516701
>> ] [
>> 045cce731a4d6308e5baf7d73ad2fcab298563bbc86404905d84e2b0ec314946a6d0e8076bd9db8e85ca0e7e5bd33f2adc629d48ac26f10e6ee459fc64efb5b8f5
>> ]
>> sequence: 4294967295
>> address: 1SochiWwFFySPjQoi2biVftXn8NRPCSQC
>> Output:
>> value: 1
>> script: dup hash160 [ addd9328c13df98785d28be84ea8b93af1777969 ]
>> equalverify checksig
>> address: 1GrKLUduDbS5WM8zMJ4qzPCZ7UMpxj9AMo
>> Output:
>> value: 1
>> script: dup hash160 [ 5754bc1d08e76b8c021d7e04c7448ab751df5dad ]
>> equalverify checksig
>> address: 18xmJAisJ1GBLVpuyFmqaA7LNmj8d6NE73
>> Output:
>> value: 1
>> script: dup hash160 [ ad731d73d79a753ae71d64aa80c7697ee7cd603f ]
>> equalverify checksig
>> address: 1Gp7oXBtT2V5a4gqGcDVetw2aPw7vFPx1D
>>
>> It just sends 1 satoshi to a long list of addresses, and it is clear
>> that it will never get included in a block.
>> Shouldn't we just ignore the tx (not keep it in the memory pool and not
>> forward it)?
>> blockchain.info does.
>>
>> If for some reason it does enter a block, we'll get it anyway.
>> Grazcoin
>>
>>