全 29 件のコメント

[–]basil00 [スコア非表示]  (8子コメント)

This transaction relates to the coinwallet July 2015 spam attack.

The attack consisted of splitting 100s of BTCs into 1000s of 0.00001BTC outputs. After the attack, and about 5months ago, coinwallet decided to consolidate all of the remaining spam outputs into the address 135zDqhbNcmPk3gbyeJmH75yiLdVZechsK. They generated 1000s of transactions such as the one OP linked creating a ~1GB backlog.

There is an old wive's tale around here that transactions are forgotten by the network after 72hours (or something like that). This is not true, the transactions are valid forever (unless double spent) and can bounce around the network indefinitely (as long as nodes, esp. older nodes, keep rebroadcasting them).

As such, transactions such as the one OP linked have been getting confirmed (slowly but surely) for the last 5months. They have not been getting confirmed recently as they are currently priced out of the market (fee too low).

So far coinwallet have only managed to recover a fraction of the spam UTXOs.

[–]Onetallnerd [スコア非表示]  (0子コメント)

Jokes on them when the price explodes and those spam transactions that no one will mine are valid and worth a lot. lol

[–]ismith23redditor for 3 months [スコア非表示]  (5子コメント)

I suspect it was only with Bitcoin Core 0.12 that transactions older than 72 hours (3 days) were dropped.

[–][削除されました]  (4子コメント)

[deleted]

    [–]ismith23redditor for 3 months [スコア非表示]  (1子コメント)

    This is source of information on removal from memory pool after 72 hours.

    https://www.reddit.com/r/Bitcoin/comments/3pn78s/moving_forward_with_mempool_pr_6722_merged_into/

    [–]jensuth [スコア非表示]  (0子コメント)

    I was wrong; you and /u/phantomcircuit are correct:

    /** Default for -mempoolexpiry, expiration time for mempool transactions in hours */
    static const unsigned int DEFAULT_MEMPOOL_EXPIRY = 72;
    

    [–]phantomcircuit [スコア非表示]  (1子コメント)

    0.12 also drops transactions more than 72 hour old.

    [–]blockonomics_co [スコア非表示]  (0子コメント)

    Upgrade to 0.12 with maxmempool setting should fix this.

    [–]bitbombs [スコア非表示]  (10子コメント)

    Mempools are dependent on the individual node. Tell tradeblock to reboot their node if you'd like.

    [–]jensuth [スコア非表示]  (8子コメント)

    In other words, the title should read:

    • Why are there 5 month old transactions sitting in this one particular node's mempool?

    Doesn't sound so provocative anymore...

    [–]bitsteiner[S] [スコア非表示]  (7子コメント)

    It's not limited to this particular node. After I found it in my node, I rebooted my node and after a while it showed up again. At least one node keeps rebroadcasting them, rebooting does not help here.

    [–]rydan [スコア非表示]  (3子コメント)

    So you mean Bitcoin was actually working as designed? Why would you use a payment system that forgot about payments that were sent?

    [–]bitsteiner[S] [スコア非表示]  (2子コメント)

    When more and more such zombie-tx can float around forever, will they clog the network at a certain point?

    [–]jensuth [スコア非表示]  (0子コメント)

    I don't think so. A node can decide to put into its mempool whatever it wants; you can program your node to ban any node that rebroadcasts something you don't want, or just simply drop it quietly.

    [–]wtogami [スコア非表示]  (0子コメント)

    Why It's OK for some "Valid" transactions to never be mined

    Say you want to buy something online with the cost of $100k. You have the money to buy it, but you broke it into 10 million 1 cent coins buried in locations around the country. You give the vendor a complete list of GPS coordinates to find all 100k of the coins.

    How should the vendor respond to your payment method? Is this a valid payment? You insist that they could collect all the coins and obtain the face value thus this is a valid payment.

    In reality the vendor would ignore you because the cost of realizing the face value of your "payment" greatly exceeds the value they would receive. Your payment might be "valid" but it's OK for the transaction to never complete. Eventually everyone forgets about it and life goes on.

    In the case of Bitcoin, these spam transactions are meant to disrupt the network by artificially inflating the cost born by all full participants. It is OK for such otherwise "valid" transactions to be ignored and forgotten because they were never meant to be an actual payment where a receiver is expecting to realize economic value.

    Note that this is a different issue from real non-spam payments that were mistakenly sent with a fee that is too low. That is generally the fault of wallet software that must become smarter in awareness of market conditions. I think good wallet software should also give options to users to choose a fee rate based upon their appetite for confirmation delay. Over time wallets will become smarter not only in fee estimation, but also utilizing more advanced ways of reducing the global network cost of transactions like cut-through, signature aggregation or payment channels.

    [–]bitbombs [スコア非表示]  (1子コメント)

    I found thousands of them.

    You actually went through thousands?

    [–]bitsteiner[S] [スコア非表示]  (0子コメント)

    I can extract a list of almost 3000 suspicious transactions from my mempool and when I look them up randomly on tradeblock 9 out of 10 show up as such 5 months old.

    [–]jensuth [スコア非表示]  (0子コメント)

    That's not quite the point I was making.

    Anyway, why do you care? Curiosity?

    [–]TwoFactor2 [スコア非表示]  (0子コメント)

    You're confused, there's a difference between an unconfirmed transaction and a mempool. This is most likely not in their mempool, but they still provide a lookup on the transaction for reference. Most mempool tx's are cleared after 24-72 hours.

    [–]DavidRabahy [スコア非表示]  (0子コメント)

    Blockchain.info https://blockchain.info/search/9a19915cf0c4f9afb41ec191f71684ca10ea0bbae9a27a80768c8a6ecc578c9a indicates "Transaction rejected by our node. Reason: The Maximum Very Small Inputs Exceeded. Expected at least (150000) satoshi fee".

    [–]DavidRabahy [スコア非表示]  (2子コメント)

    I rebooted today after upgrading to 0.12. Using the console of my Bitcoin application;

    getrawtransaction "9a19915cf0c4f9afb41ec191f71684ca10ea0bbae9a27a80768c8a6ecc578c9a"

    Does indeed return the transaction hexstring? I suppose that means it is indeed in my mempool (where else would it come from?).

    getmempoolinfo

    {

    "size": 15244,

    "bytes": 139702343,

    "usage": 299364320,

    "maxmempool": 300000000,

    "mempoolminfee": 0.00000000

    }

    One wonders how to clean this out.

    [–]sumBTC [スコア非表示]  (0子コメント)

    Put minrelaytxfee=0.0002 in bitcoin.conf

    {

    "size": 1624,

    "bytes": 869887,

    "usage": 2550480,

    "maxmempool": 300000000,

    "mempoolminfee": 0.00000000

    }

    You have: 9164 bytes per transaction (strange).

    I have 535 bytes per transaction (normal)

    [–]marcus_of_augustus [スコア非表示]  (1子コメント)

    Pool guy got sacked ... tradeblock needs to sync their mempool with that of the miner's for more accurate info/stats.

    [–]BTCTrader1111redditor for 7 days [スコア非表示]  (0子コメント)

    that is what he get for trying to Spam the network.

    [–]luckdragon69 [スコア非表示]  (1子コメント)

    The mempool build up is proof that Bitcoin isnt ready for 2 Mb blocks

    If we double the amount of transactions, we will be more than doubling the number of dumb-dumbs who cant include the right fees to get transactions confirmed.

    Obviously we need a lot more work put into fixing all these little hickups first before we start asking for adoption.

    [–]steb2k [スコア非表示]  (0子コメント)

    Block size increase does not automatically double the number of transactions. Block size increase lowers fee pressure which means some of these old items will clear.

    [–]imahotdoglol [スコア非表示]  (0子コメント)

    Because bitcoin is fast and instant.