{"type":"rich","version":"1.0","author_name":"npub1m230cem2yh3mtdzkg32qhj73uytgkyg5ylxsu083n3tpjnajxx4qqa2np2","author_url":"https://nostr.ae/npub1m230cem2yh3mtdzkg32qhj73uytgkyg5ylxsu083n3tpjnajxx4qqa2np2","provider_name":"njump","provider_url":"https://nostr.ae","html":"📅 Original date posted:2015-02-12\n📝 Original message:My replace-by-fee patch is now available for the v0.10.0rc4 release:\n\n    https://github.com/petertodd/bitcoin/tree/replace-by-fee-v0.10.0rc4\n\nAlong with demo scripts of the functionality:\n\n    https://github.com/petertodd/replace-by-fee-tools\n\nNew to this version is a comprehensive set of unittests under\nqa/replace-by-fee\n\nAdditionally the preferential peering support now preferentially peers\nwith Bitcoin XT¹ nodes that support Andresen/Harding's double-spend\nrelaying² patch. While Bitcoin XT nodes don't accept double-spends into\ntheir mempool, they do relay them perfectly well and thus are an asset\nto those doing replace-by-fee mining.³\n\nI've had a number of requests from miners for a version of\nreplace-by-fee against Luke-Jr's Eligius patches⁴; I'll be also\nreleasing that shortly once this release has undergone some more\ntesting.\n\n\nWhat's replace-by-fee?\n----------------------\n\nCurrently most Bitcoin nodes accept the first transaction they see\nspending an output to the mempool; all later transactions are rejected.\nReplace-by-fee changes this behavior to accept the transaction paying\nthe highest fee, both absolutely, and in terms of fee-per-KB. Replaced\nchildren are also considered - a chain of transactions is only replaced\nif the replacement has a higher fee than the sum of all replaced\ntransactions.\n\nDoing this aligns standard node behavior with miner incentives: earn the\nmost amount of money per block. It also makes for a more efficient\ntransaction fee marketplace, as transactions that are \"stuck\" due to bad\nfee estimates can be \"unstuck\" by double-spending them with higher\npaying versions of themselves. With scorched-earth techniques⁵ it gives\na path to making zeroconf transactions economically secure by relying on\neconomic incentives, rather than \"honesty\" and alturism, in the same way\nBitcoin mining itself relies on incentives rather than \"honesty\" and\nalturism.\n\nFinally for miners adopting replace-by-fee avoids the development of an\necosystem that relies heavily on large miners punishing smaller ones for\nmisbehavior, as seen in Harding's proposal⁶ that miners collectively 51%\nattack miners who include doublespends in their blocks - an unavoidable\nconsequence of imperfect p2p networking in a decentralized system - or\neven Hearn's proposal⁷ that a majority of miners be able to vote to\nconfiscate the earnings of the minority and redistribute them at will.\n\n\nInstallation\n------------\n\nOnce you've compiled the replace-by-fee-v0.10.0rc4 branch just run your\nnode normally. With -debug logging enabled, you'll see messages like the\nfollowing in your ~/.bitcoin/debug.log indicating your node is replacing\ntransactions with higher-fee paying double-spends:\n\n    2015-02-12 05:45:20 replacing tx ca07cc2a5eaf55ab13be7ed7d7526cb9d303086f116127608e455122263f93ea with c23973c08d71cdadf3a47bae45566053d364e77d21747ae7a1b66bf1dffe80ea for 0.00798 BTC additional fees, -1033 delta bytes\n\nAdditionally you can tell if you are connected to other replace-by-fee\nnodes, or Bitcoin XT nodes, by examining the service bits advertised by\nyour peers:\n\n    $ bitcoin-cli getpeerinfo | grep services | egrep '((0000000000000003)|(0000000004000001))'\n            \"services\" : \"0000000000000003\",\n            \"services\" : \"0000000004000001\",\n            \"services\" : \"0000000004000001\",\n            \"services\" : \"0000000000000003\",\n            \"services\" : \"0000000004000001\",\n            \"services\" : \"0000000004000001\",\n            \"services\" : \"0000000000000003\",\n            \"services\" : \"0000000000000003\",\n\nReplace-by-fee nodes advertise service bit 26 from the experimental use\nrange; Bitcoin XT nodes advertise service bit 1 for their getutxos\nsupport. The code sets aside a certain number of outgoing and incoming\nslots just for double-spend relaying nodes, so as long as everything is\nworking you're node should be connected to like-minded nodes a within 30\nminutes or so of starting up.\n\nIf you *don't* want to advertise the fact that you are running a\nreplace-by-fee node, just checkout a slightly earlier commit in git; the\nactual mempool changes are separate from the preferential peering\ncommits. You can then connect directly to a replace-by-fee node using\nthe -addnode command line flag.\n\n1) https://github.com/bitcoinxt/bitcoinxt\n2) https://github.com/bitcoin/bitcoin/pull/3883\n3) https://github.com/bitcoin/bitcoin/pull/3883#issuecomment-45543370\n4) https://github.com/luke-jr/bitcoin/tree/0.10.x-ljrP\n5) http://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/msg05211.html\n6) http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg06970.html\n7) http://www.mail-archive.com/bitcoin-development%40lists.sourceforge.net/msg04972.html\n\n-- \n'peter'[:-1]@petertodd.org\n000000000000000013c290b77d45d2ea7f9220aedfadfd556ad41b6bd39822f3\n-------------- next part --------------\nA non-text attachment was scrubbed...\nName: signature.asc\nType: application/pgp-signature\nSize: 650 bytes\nDesc: Digital signature\nURL: \u003chttp://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150212/a1703e85/attachment.sig\u003e"}
