https://tests.bitcoin.it/w/api.php?action=feedcontributions&user=Luke-jr&feedformat=atomBitcoin Wiki - User contributions [en]2024-03-29T01:48:53ZUser contributionsMediaWiki 1.30.0https://tests.bitcoin.it/w/index.php?title=Genesis_block&diff=70083Genesis block2024-03-21T15:15:41Z<p>Luke-jr: Reverted edits by Ihsan3789 (talk) to last revision by Diegorodriguezv</p>
<hr />
<div>A '''genesis block''' is the first block of a [[block chain]]. Modern versions of Bitcoin number it as '''block 0''', though very early versions counted it as block 1. The genesis block is almost always hardcoded into the software of the applications that utilize its block chain. It is a special case in that it does not reference a previous block, and for [[Bitcoin]] and almost all of its derivatives, it produces an unspendable subsidy.<br />
<br />
== Main network genesis block ==<br />
Here is a representation of the genesis block<ref name="block">{{cite block|hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f|0|year=2009|month=01|day=03}}</ref> as it appeared in a comment in an old version of Bitcoin ([http://sourceforge.net/p/bitcoin/code/133/tree/trunk/main.cpp#l1613 line 1613]). The first section defines exactly all of the variables necessary to recreate the block. The second section is the block in standard printblock format, which contains shortened versions of the data in the first section.<br />
<br />
GetHash() = 0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f<br />
hashMerkleRoot = 0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b<br />
txNew.vin[0].scriptSig = 486604799 4 0x736B6E616220726F662074756F6C69616220646E6F63657320666F206B6E697262206E6F20726F6C6C65636E61684320393030322F6E614A2F33302073656D695420656854<br />
txNew.vout[0].nValue = 5000000000<br />
txNew.vout[0].scriptPubKey = 0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704 OP_CHECKSIG<br />
block.nVersion = 1<br />
block.nTime = 1231006505<br />
block.nBits = 0x1d00ffff<br />
block.nNonce = 2083236893<br />
<br />
CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1)<br />
CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)<br />
CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)<br />
CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)<br />
vMerkleTree: 4a5e1e<br />
===Hash===<br />
The hash of the genesis block, '''000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f''',<ref name="block"/> has two more leading hex zeroes than were required for an early block.<br />
<br />
===Coinbase===<br />
[[File:jonny1000thetimes.png|thumb|256px|The Times 03/Jan/2009]]<br />
The [[coinbase]] parameter (seen above in hex) contains, along with the normal data, the following text:<ref>[http://web.archive.org/web/20140309004338/http://uk.reuters.com/article/2009/01/03/idUKPTIP32510920090103 Reuters' reference on The Financial Times article (archive.org cached copy)]</ref><br />
<br />
<blockquote>The Times 03/Jan/2009 Chancellor on brink of second bailout for banks<ref name="block"/></blockquote><br />
<br />
This was probably intended as proof that the block was created on or after January 3, 2009, as well as a comment on the instability caused by fractional-reserve banking. Additionally, it suggests that [[Satoshi Nakamoto]] may have lived in the United Kingdom.<ref>{{cite web|author=Davis, J.|year=2011|title=The Crypto-Currency|publisher=''The New Yorker''|url=http://www.newyorker.com/magazine/2011/10/10/the-crypto-currency}}</ref><br />
<br />
<br />
The detail "second bailout for banks" could also suggest that in a supposedly liberal and capitalist system, rescuing banks like that was a problem for Satoshi. The chosen topic could hint at bitcoin's purpose.<br />
<br />
===Block reward===<br />
The first 50 BTC block reward went to [[address]] ''1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa'',<ref name="block"/> though this reward can't be spent due to a quirk in the way that the genesis block is expressed in the code. It is not known if this was done intentionally or accidentally.<ref>http://bitcoin.stackexchange.com/questions/10009/why-can-t-the-genesis-block-coinbase-be-spent</ref><ref>https://www.reddit.com/r/Bitcoin/comments/1nc13r/the_first_50btc_block_reward_cant_be_spend_why/</ref><ref>https://github.com/bitcoin/bitcoin/blob/9546a977d354b2ec6cd8455538e68fe4ba343a44/src/main.cpp#L1668 - Genesis block transaction treated as a special case in the reference code</ref> It is believed that other outputs sent to this address are spendable, but it is unknown if Satoshi Nakamoto has the private key for this particular address, if one existed at all.<br />
<br />
===Timestamp===<br />
Although the average time between Bitcoin blocks is 10 minutes, the [[block timestamp|timestamp]] of the next block is a full 6 days after the genesis block. One interpretation is that Satoshi was working on bitcoin for some time beforehand and the ''The Times'' front page prompted him to release it to the public. He then mined the genesis block with a timestamp in the past to match the headline. It is also possible that, since the block's hash is so low, he may have spent 6 days mining it with the same timestamp before proceeding to block 1. The [[prenet hypothesis]] suggests that the genesis block was solved on January 3, but the software was tested by Satoshi Nakamoto using that genesis block until January 9, when all the test blocks were deleted and the genesis block was reused for the main network.<br />
<br />
===Raw block data===<br />
<br />
The [https://bitcointalk.org/index.php?topic=52706 raw hex version] of the Genesis block looks like:<br />
00000000 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00000020 00 00 00 00 3B A3 ED FD 7A 7B 12 B2 7A C7 2C 3E ....;£íýz{.²zÇ,><br />
00000030 67 76 8F 61 7F C8 1B C3 88 8A 51 32 3A 9F B8 AA gv.a.È.ÈŠQ2:Ÿ¸ª<br />
00000040 4B 1E 5E 4A 29 AB 5F 49 FF FF 00 1D 1D AC 2B 7C K.^J)«_Iÿÿ...¬+|<br />
00000050 01 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 ................<br />
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................<br />
00000070 00 00 00 00 00 00 FF FF FF FF 4D 04 FF FF 00 1D ......ÿÿÿÿM.ÿÿ..<br />
00000080 01 04 45 54 68 65 20 54 69 6D 65 73 20 30 33 2F ..EThe Times 03/<br />
00000090 4A 61 6E 2F 32 30 30 39 20 43 68 61 6E 63 65 6C Jan/2009 Chancel<br />
000000A0 6C 6F 72 20 6F 6E 20 62 72 69 6E 6B 20 6F 66 20 lor on brink of <br />
000000B0 73 65 63 6F 6E 64 20 62 61 69 6C 6F 75 74 20 66 second bailout f<br />
000000C0 6F 72 20 62 61 6E 6B 73 FF FF FF FF 01 00 F2 05 or banksÿÿÿÿ..ò.<br />
000000D0 2A 01 00 00 00 43 41 04 67 8A FD B0 FE 55 48 27 *....CA.gŠý°þUH'<br />
000000E0 19 67 F1 A6 71 30 B7 10 5C D6 A8 28 E0 39 09 A6 .gñ¦q0·.\Ö¨(à9.¦<br />
000000F0 79 62 E0 EA 1F 61 DE B6 49 F6 BC 3F 4C EF 38 C4 ybàê.aÞ¶Iö¼?Lï8Ä<br />
00000100 F3 55 04 E5 1E C1 12 DE 5C 38 4D F7 BA 0B 8D 57 óU.å.Á.Þ\8M÷º..W<br />
00000110 8A 4C 70 2B 6B F1 1D 5F AC 00 00 00 00 ŠLp+kñ._¬....<br />
<br />
Broken down it looks like this:<br />
<br />
01000000 - version<br />
0000000000000000000000000000000000000000000000000000000000000000 - prev block<br />
3BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A - merkle root<br />
29AB5F49 - timestamp<br />
FFFF001D - bits<br />
1DAC2B7C - nonce<br />
01 - number of transactions<br />
01000000 - version<br />
01 - input<br />
0000000000000000000000000000000000000000000000000000000000000000FFFFFFFF - prev output<br />
4D - script length<br />
04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73 - scriptsig<br />
FFFFFFFF - sequence<br />
01 - outputs<br />
00F2052A01000000 - 50 BTC<br />
43 - pk_script length<br />
4104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC - pk_script<br />
00000000 - lock time<br />
==References==<br />
<references/><br />
<br />
[[zh-cn:创世block]]<br />
[[es:Bloque Génesis]]<br />
__NOTOC__<br />
<br />
[[Category:Technical]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Wladimir_van_der_Laan&diff=69987Wladimir van der Laan2023-12-30T17:52:54Z<p>Luke-jr: </p>
<hr />
<div>{{infobox person<br />
|name=Wladimir van der Laan<br />
|names=Wlad, laanwj<br />
|active=2011–present<br />
|residence=Eindhoven, The Netherlands<br />
|knownfor=Contributions to [[Bitcoin Core]]<br />
|notableworks=[[Visucore]]<!-- was bitcoin-qt started by laan? --><br />
|twitter=orionwl<br />
}}'''Wladimir J. van der Laan''' is the current [[Core maintainer|maintainer]] of [[Bitcoin Core]].<br />
<br />
On April 7, 2014, [[Gavin Andresen]] stepped down from the position of Core maintainer and nominated Laan as his successor.<ref>{{cite web|title=Bitcoin Core Maintainer: Wladimir van der Laan|work=[[Bitcoin Foundation]]|date=7 April 2014|url=https://bitcoinfoundation.org/2014/04/bitcoin-core-maintainer-wladimir-van-der-laan/|author=[[Gavin Andresen|Andresen, Gavin]]|accessdate=19 September 2014}}</ref><br />
<br />
On January 21st, 2021, Wlad announced that he would be delegating his tasks.<ref>[https://laanwj.github.io/2021/01/21/decentralize.html The Widening Gyre on Lannwj's blog]</ref><br />
<br />
Wladimir gradualy stepped down in the following 2 years. On February 2023 Wladimir removed his own merge privileges. <ref>[https://github.com/bitcoin/bitcoin/pull/27054 Bitcoin Core pull request #27054]</ref><br />
<br />
==References==<br />
<references/><br />
{{s-start|Bitcoin [[Core maintainer]]|[[Gavin Andresen]]|2014–2022|No more "lead maintainer"}}<br />
{{developers}}{{stub}}<br />
[[Category:Core committers]]<br />
[[Category:Core developers]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_broadcasting&diff=69986Transaction broadcasting2023-12-30T17:51:55Z<p>Luke-jr: Reverted edits by Bitlabs (talk) to last revision by BitTools</p>
<hr />
<div>{{seealso|Satoshi Client Transaction Exchange}}<br />
<br />
==See Also==<br />
<br />
* [[Transaction accelerator]]<br />
<br />
Third party sites to (re-)submit a raw, signed transaction to the network; sometimes referred to as "pushtx":<br />
<br />
* https://bitaps.com/broadcast<br />
* https://btc.network/broadcast<br />
* https://blockchair.com/broadcast<br />
* https://live.blockcypher.com/btc/pushtx/<br />
* https://btc.com/tools/tx/publish<br />
* https://www.viabtc.com/tools/broadcast<br />
* https://www.blockchain.com/explorer/assets/btc/broadcast-transaction<br />
* https://blockstream.info/tx/push<br />
* https://coinb.in/#broadcast<br />
<br />
==Footnotes==<br />
[[Category:Developer]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69985Transaction accelerator2023-12-30T17:49:56Z<p>Luke-jr: Reverted edits by Bitlabs (talk) to last revision by BitTools</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: As editors, we strive to present you with the most reliable accelerators in the industry. However, we strongly encourage you to conduct your own research by reviewing authentic feedback and verifying the legitimacy of the businesses. It's important to be aware that there are numerous purported transaction accelerators that are, unfortunately, fraudulent schemes. Some of these claim to collaborate with mining pools on your behalf. Yet, due to the challenges in verifying such claims and the past contentious discussions around providing an exhaustive list, we have refined our approach.<br />
<br />
Hence, we are now exclusively listing accelerators that are definitively and verifiably operated by established pools or miners, possessing a minimum of 0.1% of the total network hash rate. This stringent criterion has been adopted to ensure the accuracy and reliability of the information we present.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, The Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69955Transaction accelerator2023-12-10T16:26:00Z<p>Luke-jr: </p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: As editors, we strive to present you with the most reliable accelerators in the industry. However, we strongly encourage you to conduct your own research by reviewing authentic feedback and verifying the legitimacy of the businesses. It's important to be aware that there are numerous purported transaction accelerators that are, unfortunately, fraudulent schemes. Some of these claim to collaborate with mining pools on your behalf. Yet, due to the challenges in verifying such claims and the past contentious discussions around providing an exhaustive list, we have refined our approach.<br />
<br />
Hence, we are now exclusively listing accelerators that are definitively and verifiably operated by established pools or miners, possessing a minimum of 0.1% of the total network hash rate. This stringent criterion has been adopted to ensure the accuracy and reliability of the information we present.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Comparison_of_mining_pools&diff=69954Comparison of mining pools2023-12-10T16:24:34Z<p>Luke-jr: Reverted edits by Luke-jr (talk) to last revision by Alejandrobitcoin</p>
<hr />
<div>Reward types & explanation:<br />
* '''CPPSRB''' - Capped Pay Per Share with Recent Backpay. [http://eligius.st/wiki/index.php/Capped_PPS_with_Recent_Backpay]<br />
* '''DGM''' - Double Geometric Method. A hybrid between PPLNS and Geometric reward types that enables to operator to absorb some of the variance risk. Operator receives portion of payout on short rounds and returns it on longer rounds to normalize payments. [https://bitcointalk.org/index.php?topic=39497.0]<br />
* '''ESMPPS''' - Equalized Shared Maximum Pay Per Share. Like SMPPS, but equalizes payments fairly among all those who are owed. [http://bitcointalk.org/index.php?topic=12181.msg378851#msg378851]<br />
* '''POT''' - Pay On Target. A high variance PPS variant that pays on the difficulty of work returned to pool rather than the difficulty of work served by pool [https://bitcointalk.org/index.php?topic=131376.0]<br />
* '''PPLNS''' - Pay Per Last N Shares. Similar to proportional, but instead of looking at the number of shares in the round, instead looks at the last N shares, regardless of round boundaries.<br />
* '''PPLNSG''' - Pay Per Last N Groups (or shifts). Similar to PPLNS, but shares are grouped into "shifts" which are paid as a whole.<br />
* '''PPS''' - Pay Per Share. Each submitted share is worth certain amount of BTC. Since finding a block requires <current difficulty> shares ''on average'', a PPS method with 0% fee would be 6.25 BTC divided by <current difficulty>. It is risky for pool operators, hence the fee is highest.<br />
* '''Prop.''' - Proportional. When block is found, the reward is distributed among all workers proportionally to how much shares each of them has found.<br />
* '''RSMPPS''' - Recent Shared Maximum Pay Per Share. Like SMPPS, but system aims to prioritize the most recent miners first. [http://eligius.st/wiki/index.php/Shared_Maximum_PPS]<br />
* '''Score''' - Score based system: a proportional reward, but weighed by time submitted. Each submitted share is worth more in the function of time ''t'' since start of current round. For each share score is updated by: score += exp(t/C). This makes later shares worth much more than earlier shares, thus the miner's score quickly diminishes when they stop mining on the pool. Rewards are calculated proportionally to scores (and not to shares). (at slush's pool C=300 seconds, and every hour scores are normalized)<br />
* '''SMPPS''' - Shared Maximum Pay Per Share. Like Pay Per Share, but never pays more than the pool earns. [http://eligius.st/wiki/index.php/Shared_Maximum_PPS]<br />
* '''FPPS''' - Full Pay Per Share. Similar to PPS,but not only divide regular block reward (6.25 BTC for now) but also some of the transaction fees. Calculate a standard transaction fee within a certain period and distribute it to miners according to their hash power contributions in the pool. It will increase the miners' earnings by sharing some of the transaction fees.<br />
* '''TIDES''' - Transparent Index of Distinct Extended Shares. As blocks are being mined, they generate the reward by a weighted percentage of effort to the most recently found proofs. The proof period funds are distributed across has been chosen such that each proof should be paid on average 8 times. Instead of a set amount of bitcoins per proof, the block reward is divided by percent, so transaction fees are included.<br />
<br />
A statistically valid analysis of some pools and their payout methods: [http://organofcorti.blogspot.com/ Bitcoin network and pool analysis]<br />
<br />
== Operational Pools ==<br />
<br />
The following mining pools are still running and paying out their users:<br />
<br />
{| class="wikitable sortable" border="1"<br />
|-<br />
! Name !! Location !! Size<ref name="hashrate2"/><br />
! Merged Mining<ref name="merged"/><br />
! Reward Type !! Transaction fees!!PPS Fee!!Other Fee!! [[File:Stm.png|link=Stratum_mining_protocol]] !! [[getblocktemplate|GBT]]<br />
! Launched !! Variance !! Forum !! Website<br />
|-<br />
| [[AntPool]] || China || Large || No || PPLNS & PPS || {{PoolFees}} || 2.5% || 0% || {{Yes}} || {{No}}<br />
| ? || ? || [https://bitcointalk.org/index.php?topic=855548 link] || [https://www.antpool.com/ link]<br />
|-<br />
| [[BTC.com]] || {{flag|cn}}{{flag|us|}}{{flag|eu}} || Medium || [[NMC]] || FPPS || {{SharedFees}} || 0% || 4% || {{Yes}} || {{No}}<br />
| 2016-09-13 || User || [https://bitcointalk.org/index.php?topic=1827718.0 link] || [https://pool.btc.com/ link]<br />
|-<br />
| [[DEMAND]] || Global || Small || No || SOLO || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2023-11-27 || || [https://bitcointalk.org/index.php?topic=5476679.0 link] || [http://DMND.WORK link]<br />
|-<br />
| [[F2Pool]] || {{flag|us|}}{{flag|eu|}}{{flag|cn|}} || Large || NMC, SYS, EMC || PPS+ || {{SharedFees}} || 2.5% || 0% || {{Yes}} || {{No}}<br />
| 2013-05-05 || Dynamic || [https://bitcointalk.org/index.php?topic=700411.0 link] || [https://www.f2pool.com link]<br />
|-<br />
| [[Golden Nonce Pool]] || {{flag|us}}{{flag|eu}}|| Small || No || DGM || {{PoolFees}} || || 0% || {{Yes}} || <br />
| 2018-03-27 || Dynamic || [https://bitcointalk.org/index.php?topic=3208073;all link] || [https://goldennoncepool.com link]<br />
|-<br />
| [[KanoPool]] || {{flag|us}}{{flag|sg}}{{flag|de}}{{flag|jp}}{{flag|nl}} || Medium || No || PPLNSG || {{SharedFees}} || || 0.9% || {{Yes}} || {{No}}<br />
| 2014-09-20 || User<ref name="changeable"/>/Dynamic 18SPM || [https://bitcointalk.org/index.php?topic=789369.0 link] || [http://www.kano.is link]<br />
|-<br />
| [[P2Pool]] || Global (p2p) || Small || Merged mining can be done on a "solo mining" basis <ref name="solomm"/> || PPLNS || {{SharedFees}} || || | 0% || {{Yes}} || {{No}}<br />
| 2011-06-17 || User<ref name="changeable"/> || [http://bitcointalk.org/?topic=18313 link] ||<br />
|-<br />
|-<br />
| [[Poolin]] || Global || Medium ||[[NMC]] VCASH || FPPS || {{SharedFees}} || 2.5% || 0% || {{Yes}} || {{Yes}}<br />
| 2017-10-01 || Dynamic || [https://bitcointalk.org/index.php?topic=5169994.0 link] || [https://poolin.com/ link]<br />
|-<br />
| [[SBICrypto Pool]] || Global || Medium || No || FPPS || {{SharedFees}} || 0% || 0% || {{Yes}} || {{Yes}}<br />
| 2020-11-03 || User<ref name="changeable"/>/Dynamic || || [https://sbicrypto.com/ link]<br />
|-<br />
| [[Slush Pool]]<br />
| Global || Medium || [[NMC]] || Score || {{SharedFees}} || || 2% || {{Yes}} || {{No}}<br />
| 2010-11-27 || User<ref name="changeable"/> || [http://bitcointalk.org/?topic=1976 link] || [https://slushpool.com/ link]<br />
|-<br />
| [[Luxor]] || {{flag|us|label=1}}|| Medium || No || FPPS & PPS || {{SharedFees}} || 2% || 0% || {{Yes}} ||<br />
| 2018-01-01 || VarDiff || || [https://mining.luxor.tech// link]<br />
|-<br />
| [[OCEAN]] || {{flag|us|label=1}}|| Small || No || TIDES || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2011-04-27 || Dynamic || || [http://ocean.xyz link]<br />
|-<br />
|}<br />
<br />
== Defunct Pools ==<br />
<br />
The following pools were once operational but have since shut down. They are listed for historical purposes only.<br />
<br />
{| class="wikitable sortable" border="1"<br />
|-<br />
! Name !! Location !! Size<ref name="hashrate2"/><br />
! Merged Mining<ref name="merged"/><br />
! Reward Type !! Transaction fees!!PPS Fee!!Other Fee!! [[File:Stm.png|link=Stratum_mining_protocol]] !! [[getblocktemplate|GBT]]<br />
! Launched !! Variance !! Forum !! Website<br />
|-<br />
| [[BCMonster.com]] ||{{flag|us|}}{{flag|eu}}{{flag|cn|}} || Small || No || PPLNS || {{SharedFees}} || || 0.5% || {{Yes}} || {{No}}<br />
| 2016-01-13 || Dynamic || [https://bitcointalk.org/index.php?topic=1327077.0 link] || [http://www.bcmonster.com link]<br />
|-<br />
| [[BitcoinAffiliateNetwork]] || {{flag|us|}}{{flag|eu}}{{flag|cn|}}{{flag|nl|}}{{flag|au|}} || ? || [[NMC]] || ? || {{PoolFees}} || ? || ? || {{Yes}} ||<br />
| 2014-07-15 || User/Dynamic || [https://bitcointalk.org/index.php?topic=722202.0 link] || [http://mining.bitcoinaffiliatenetwork.com/ link]<br />
|-<br />
| [[BitMinter]] || {{flag|us}}{{flag|ca|label=1}}{{flag|eu}} || Small || [[NMC]] || PPLNSG || {{SharedFees}} || || 1% || {{Yes}} || {{No}}<br />
| 2011-06-26 || User<ref name="changeable"/>/Dynamic || [https://bitcointalk.org/?topic=788753 link] || [https://bitminter.com link]<br />
|-<br />
| [[BTCDig]] || {{flag|us|label=1}}|| Small || No || DGM || {{PoolFees}} || || 0% || {{Yes}} ||<br />
| 2013-07-04 || User<ref name="changeable"/>/Dynamic 20SPM || [https://bitcointalk.org/index.php?topic=249627 link] || [http://btcdig.com/ link]<br />
|-<br />
| [[btcmp.com]] || {{flag|de|label=1}}|| Small || No || PPS || {{PoolFees}} || 4% || || {{Yes}} ||<br />
| 2011-06-28 || Diff 1 || || [http://www.btcmp.com/ link]<br />
|-<br />
| [[BTCC Pool]] || China, Japan || Large || [[NMC]] || PPS || {{PoolFees}} || 2.0% || 0% || {{Yes}} || {{Yes}}<br />
| 2014-10-21 || Dynamic || ? || [https://pool.btcc.com link]<br />
|-<br />
| [[btcZPool.com]] || {{flag|us|label=1}}|| Large || BitCoinZ || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-06-25 || VarDiff || || [http://www.btcZPool.com/ link]<br />
|-<br />
|-<br />
| [[BW Mining]] || China || Medium || ? || PPLNS & PPS || ? || ? || ? || {{Yes}} ||<br />
| ? || ? || ? || [https://www.bw.com/pool link]<br />
|-<br />
| [[Eligius]] || {{flag|us|label=1}}|| Small || [[NMC]] || CPPSRB || {{SharedFees}} || || 0% || {{Yes}} || {{Yes}}<br />
| 2011-04-27 || Dynamic: 32 shares/m || [https://bitcointalk.org/?topic=441465 link] || [http://eligius.st link]<br />
|-<br />
| [[EMCD Pool]] || CIS, EU, KZ, IR, China || Medium || - || FPPS+ || {{SharedFees}} || 1% || 0% || {{Yes}} || {{No}}<br />
| 2018-01-26 || Dynamic || || [https://pool.emcd.io link]<br />
|-<br />
| [[GHash.IO]] || {{flag|nl|label=1}}|| Small || [[NMC]], IXC, [[Devcoin]] || PPLNS || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2013-07-01 || User<ref name="changeable"/> || [https://support.cex.io link] || [https://ghash.io/ link]<br />
|-<br />
| [[Give Me COINS]] || {{flag|us}}{{flag|eu}} || Small || [[NMC]] || PPLNS || {{SharedFees}} || || 0%|| {{Yes}} || {{Yes}}<br />
| 2013-08-12 || Dynamic || [https://bitcointalk.org/index.php?topic=272017.0 link] || [http://give-me-coins.com link]<br />
|-<br />
| [[Jonny Bravo's Mining Emporium]] ||{{flag|us|}}{{flag|eu}} || Small || No || PPLNS || {{SharedFees}} || || 0.5% || {{Yes}} || {{No}}<br />
| 2015-11-19 || Dynamic || [https://bitcointalk.org/index.php?topic=1330452.0 link] || [http://www.bravo-mining.com link]<br />
|-<br />
| [[kmdPool.org]] || {{flag|us|label=1}}|| Large || Komodo || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-11-25 || VarDiff || || [http://www.kmdPool.org/ link]<br />
|-<br />
| [[MergeMining]] || Global || Small || CRW, DVC, HUC, I0C, IXC, XMY/MYR, NMC, SYS, UNO, TRC, ARG, EMC || PPLNS || {{SharedFees}} || || 1% || {{Yes}} || {{No}}<br />
| 2016-12-01|| User<ref name="changeable"/> || || [https://mergemining.com link]<br />
|-<br />
| [[Multipool]] || {{flag|us}}{{flag|eu}} || Small || [[NMC]] || Score || {{SharedFees}} || || 1.5% || {{Yes}} || {{No}}<br />
| 2012-03-15 || User || [https://bitcointalk.org/index.php?topic=311067.0 link] || [https://www.multipool.us/ link]<br />
|-<br />
| [[ZenPool.org]] || {{flag|us|label=1}}|| Large || ZenCash || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-10-25 || VarDiff || || [http://www.ZenPool.org/ link]<br />
|-<br />
|}<br />
<br />
<br />
== SPV Mining / Old Bitcoin Core ==<br />
<br />
The following pools are known or strongly suspected to be mining on top of blocks before fully validating them with Bitcoin Core 0.9.5 or later. Miners doing this have already lost over $50,000 USD during the 4 July 2015 fork and have created a situation where small numbers of confirmations are much less useful than they normally are.<br />
<br />
* BTC Nuggets<br />
* [https://www.f2pool.com/ F2Pool]<ref name="spv_despite_incident">[https://bitcointalk.org/index.php?topic=700411.msg11790734#msg11790734 Intention to continue SPV mining], Wang Chun, 4 July 2015</ref><br />
* AntPool<ref name="spv_despite_incident" /><br />
<br />
The following pools are believed to be currently fully validating blocks with Bitcoin Core 0.9.5 or later (0.10.2 or later recommended due to DoS vulnerabilities):<br />
<br />
* [[BitMinter]]<br />
* BTC China (described as SPV mining<ref name="spv_despite_incident" />, but they're performing effective valiation)<br />
* [[BTC Public Mining Pool]]<br />
* [[CKPool]]<br />
* [[Eligius]]<br />
* [[Golden Nonce Pool]]<br />
* [[P2Pool]]<br />
* [[Bitcoin Pooled Mining|Slush Pool]]<br />
* [[BCMonster.com]]<br />
* [[Jonny Bravo's Mining Emporium]]<br />
<br />
== References ==<br />
<br />
<references><br />
<br />
<ref name="hashrate2">Note that pool hashrate is largely irrelevant but can be seen as a popularity measurement. It is a theoretical security issue if one pool gains above 50% of the total computational power of the network, thus consider joining a pool based on other metrics. The pool's total hash rate is very dynamic on most pools. Over time, as the network grows, so does most pool's hash rates. The displayed values are the pool's relative sizes based on the network: Small: less than 2%, Medium: 2%-10% Large: greater than 10% of the network.</ref><br />
<br />
<ref name="merged">Merged mining allows miners to mine on multiple [[block chains]] at the same time with the same hashing.</ref><br />
<br />
<ref name="changeable">The difficulty of the shares can be changed by the user.</ref><br />
<ref name="solomm">Merged mining can be done on a "solo mining" basis (payouts in the merged chain are not pooled).</ref><br />
</references><br />
<br />
== See also ==<br />
* [[Pooled mining]]<br />
* [https://www.blocktrail.com/BTC/pools Pool Distribution Summary]<br />
* [https://www.bitcoinmining.com/ Bitcoin Mining]<br />
* [https://www.youtube.com/watch?v=GmOzih6I1zs Video: What is Bitcoin Mining]<br />
* [https://www.bitcoinmining.com/bitcoin-mining-pools/ Bitcoin Mining Pools]<br />
* [https://bitcoinchain.com/pools Bitcoin Mining Pools Comparison]<br />
[[Category:Mining]]<br />
{{Pools}}</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=DEMAND&diff=69953DEMAND2023-12-10T16:24:23Z<p>Luke-jr: Reverted edits by Luke-jr (talk) to last revision by Alejandrobitcoin</p>
<hr />
<div>{{infobox company|<br />
|founder= Alejandro De La Torre, CEO Co-Founder<br />
Filippo Merli, Technical Lead, Co-Founder<br />
|foundation= 2023<br />
|industry=[[Mining Pool]]<br />
|website=https://www.DMND.WORK}}<br />
[https://WWW.DMND.WORK DEMAND] is the first Stratum V2, bitcoin [[Mining Pool|mining pool]]. Both Solo and Pooled mining available. <br />
<br />
<br />
==External Links==<br />
<br />
* Website: https://www.DMND.WORK/<br />
<br />
<br />
[[Category:Services]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=DEMAND&diff=69952DEMAND2023-12-10T16:24:15Z<p>Luke-jr: Pools are not solo</p>
<hr />
<div>{{infobox company|<br />
|founder= Alejandro De La Torre, CEO Co-Founder<br />
Filippo Merli, Technical Lead, Co-Founder<br />
|foundation= 2023<br />
|industry=[[Mining Pool]]<br />
|website=https://www.DMND.WORK}}<br />
[https://WWW.DMND.WORK DEMAND] is the first Stratum V2, bitcoin [[Mining Pool|mining pool]].<br />
<br />
<br />
==External Links==<br />
<br />
* Website: https://www.DMND.WORK/<br />
<br />
<br />
[[Category:Services]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Comparison_of_mining_pools&diff=69951Comparison of mining pools2023-12-10T16:24:00Z<p>Luke-jr: Pools are not solo</p>
<hr />
<div>Reward types & explanation:<br />
* '''CPPSRB''' - Capped Pay Per Share with Recent Backpay. [http://eligius.st/wiki/index.php/Capped_PPS_with_Recent_Backpay]<br />
* '''DGM''' - Double Geometric Method. A hybrid between PPLNS and Geometric reward types that enables to operator to absorb some of the variance risk. Operator receives portion of payout on short rounds and returns it on longer rounds to normalize payments. [https://bitcointalk.org/index.php?topic=39497.0]<br />
* '''ESMPPS''' - Equalized Shared Maximum Pay Per Share. Like SMPPS, but equalizes payments fairly among all those who are owed. [http://bitcointalk.org/index.php?topic=12181.msg378851#msg378851]<br />
* '''POT''' - Pay On Target. A high variance PPS variant that pays on the difficulty of work returned to pool rather than the difficulty of work served by pool [https://bitcointalk.org/index.php?topic=131376.0]<br />
* '''PPLNS''' - Pay Per Last N Shares. Similar to proportional, but instead of looking at the number of shares in the round, instead looks at the last N shares, regardless of round boundaries.<br />
* '''PPLNSG''' - Pay Per Last N Groups (or shifts). Similar to PPLNS, but shares are grouped into "shifts" which are paid as a whole.<br />
* '''PPS''' - Pay Per Share. Each submitted share is worth certain amount of BTC. Since finding a block requires <current difficulty> shares ''on average'', a PPS method with 0% fee would be 6.25 BTC divided by <current difficulty>. It is risky for pool operators, hence the fee is highest.<br />
* '''Prop.''' - Proportional. When block is found, the reward is distributed among all workers proportionally to how much shares each of them has found.<br />
* '''RSMPPS''' - Recent Shared Maximum Pay Per Share. Like SMPPS, but system aims to prioritize the most recent miners first. [http://eligius.st/wiki/index.php/Shared_Maximum_PPS]<br />
* '''Score''' - Score based system: a proportional reward, but weighed by time submitted. Each submitted share is worth more in the function of time ''t'' since start of current round. For each share score is updated by: score += exp(t/C). This makes later shares worth much more than earlier shares, thus the miner's score quickly diminishes when they stop mining on the pool. Rewards are calculated proportionally to scores (and not to shares). (at slush's pool C=300 seconds, and every hour scores are normalized)<br />
* '''SMPPS''' - Shared Maximum Pay Per Share. Like Pay Per Share, but never pays more than the pool earns. [http://eligius.st/wiki/index.php/Shared_Maximum_PPS]<br />
* '''FPPS''' - Full Pay Per Share. Similar to PPS,but not only divide regular block reward (6.25 BTC for now) but also some of the transaction fees. Calculate a standard transaction fee within a certain period and distribute it to miners according to their hash power contributions in the pool. It will increase the miners' earnings by sharing some of the transaction fees.<br />
* '''TIDES''' - Transparent Index of Distinct Extended Shares. As blocks are being mined, they generate the reward by a weighted percentage of effort to the most recently found proofs. The proof period funds are distributed across has been chosen such that each proof should be paid on average 8 times. Instead of a set amount of bitcoins per proof, the block reward is divided by percent, so transaction fees are included.<br />
<br />
A statistically valid analysis of some pools and their payout methods: [http://organofcorti.blogspot.com/ Bitcoin network and pool analysis]<br />
<br />
== Operational Pools ==<br />
<br />
The following mining pools are still running and paying out their users:<br />
<br />
{| class="wikitable sortable" border="1"<br />
|-<br />
! Name !! Location !! Size<ref name="hashrate2"/><br />
! Merged Mining<ref name="merged"/><br />
! Reward Type !! Transaction fees!!PPS Fee!!Other Fee!! [[File:Stm.png|link=Stratum_mining_protocol]] !! [[getblocktemplate|GBT]]<br />
! Launched !! Variance !! Forum !! Website<br />
|-<br />
| [[AntPool]] || China || Large || No || PPLNS & PPS || {{PoolFees}} || 2.5% || 0% || {{Yes}} || {{No}}<br />
| ? || ? || [https://bitcointalk.org/index.php?topic=855548 link] || [https://www.antpool.com/ link]<br />
|-<br />
| [[BTC.com]] || {{flag|cn}}{{flag|us|}}{{flag|eu}} || Medium || [[NMC]] || FPPS || {{SharedFees}} || 0% || 4% || {{Yes}} || {{No}}<br />
| 2016-09-13 || User || [https://bitcointalk.org/index.php?topic=1827718.0 link] || [https://pool.btc.com/ link]<br />
|-<br />
| [[DEMAND]] || Global || Small || No || || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2023-11-27 || || [https://bitcointalk.org/index.php?topic=5476679.0 link] || [http://DMND.WORK link]<br />
|-<br />
| [[F2Pool]] || {{flag|us|}}{{flag|eu|}}{{flag|cn|}} || Large || NMC, SYS, EMC || PPS+ || {{SharedFees}} || 2.5% || 0% || {{Yes}} || {{No}}<br />
| 2013-05-05 || Dynamic || [https://bitcointalk.org/index.php?topic=700411.0 link] || [https://www.f2pool.com link]<br />
|-<br />
| [[Golden Nonce Pool]] || {{flag|us}}{{flag|eu}}|| Small || No || DGM || {{PoolFees}} || || 0% || {{Yes}} || <br />
| 2018-03-27 || Dynamic || [https://bitcointalk.org/index.php?topic=3208073;all link] || [https://goldennoncepool.com link]<br />
|-<br />
| [[KanoPool]] || {{flag|us}}{{flag|sg}}{{flag|de}}{{flag|jp}}{{flag|nl}} || Medium || No || PPLNSG || {{SharedFees}} || || 0.9% || {{Yes}} || {{No}}<br />
| 2014-09-20 || User<ref name="changeable"/>/Dynamic 18SPM || [https://bitcointalk.org/index.php?topic=789369.0 link] || [http://www.kano.is link]<br />
|-<br />
| [[P2Pool]] || Global (p2p) || Small || Merged mining can be done on a "solo mining" basis <ref name="solomm"/> || PPLNS || {{SharedFees}} || || | 0% || {{Yes}} || {{No}}<br />
| 2011-06-17 || User<ref name="changeable"/> || [http://bitcointalk.org/?topic=18313 link] ||<br />
|-<br />
|-<br />
| [[Poolin]] || Global || Medium ||[[NMC]] VCASH || FPPS || {{SharedFees}} || 2.5% || 0% || {{Yes}} || {{Yes}}<br />
| 2017-10-01 || Dynamic || [https://bitcointalk.org/index.php?topic=5169994.0 link] || [https://poolin.com/ link]<br />
|-<br />
| [[SBICrypto Pool]] || Global || Medium || No || FPPS || {{SharedFees}} || 0% || 0% || {{Yes}} || {{Yes}}<br />
| 2020-11-03 || User<ref name="changeable"/>/Dynamic || || [https://sbicrypto.com/ link]<br />
|-<br />
| [[Slush Pool]]<br />
| Global || Medium || [[NMC]] || Score || {{SharedFees}} || || 2% || {{Yes}} || {{No}}<br />
| 2010-11-27 || User<ref name="changeable"/> || [http://bitcointalk.org/?topic=1976 link] || [https://slushpool.com/ link]<br />
|-<br />
| [[Luxor]] || {{flag|us|label=1}}|| Medium || No || FPPS & PPS || {{SharedFees}} || 2% || 0% || {{Yes}} ||<br />
| 2018-01-01 || VarDiff || || [https://mining.luxor.tech// link]<br />
|-<br />
| [[OCEAN]] || {{flag|us|label=1}}|| Small || No || TIDES || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2011-04-27 || Dynamic || || [http://ocean.xyz link]<br />
|-<br />
|}<br />
<br />
== Defunct Pools ==<br />
<br />
The following pools were once operational but have since shut down. They are listed for historical purposes only.<br />
<br />
{| class="wikitable sortable" border="1"<br />
|-<br />
! Name !! Location !! Size<ref name="hashrate2"/><br />
! Merged Mining<ref name="merged"/><br />
! Reward Type !! Transaction fees!!PPS Fee!!Other Fee!! [[File:Stm.png|link=Stratum_mining_protocol]] !! [[getblocktemplate|GBT]]<br />
! Launched !! Variance !! Forum !! Website<br />
|-<br />
| [[BCMonster.com]] ||{{flag|us|}}{{flag|eu}}{{flag|cn|}} || Small || No || PPLNS || {{SharedFees}} || || 0.5% || {{Yes}} || {{No}}<br />
| 2016-01-13 || Dynamic || [https://bitcointalk.org/index.php?topic=1327077.0 link] || [http://www.bcmonster.com link]<br />
|-<br />
| [[BitcoinAffiliateNetwork]] || {{flag|us|}}{{flag|eu}}{{flag|cn|}}{{flag|nl|}}{{flag|au|}} || ? || [[NMC]] || ? || {{PoolFees}} || ? || ? || {{Yes}} ||<br />
| 2014-07-15 || User/Dynamic || [https://bitcointalk.org/index.php?topic=722202.0 link] || [http://mining.bitcoinaffiliatenetwork.com/ link]<br />
|-<br />
| [[BitMinter]] || {{flag|us}}{{flag|ca|label=1}}{{flag|eu}} || Small || [[NMC]] || PPLNSG || {{SharedFees}} || || 1% || {{Yes}} || {{No}}<br />
| 2011-06-26 || User<ref name="changeable"/>/Dynamic || [https://bitcointalk.org/?topic=788753 link] || [https://bitminter.com link]<br />
|-<br />
| [[BTCDig]] || {{flag|us|label=1}}|| Small || No || DGM || {{PoolFees}} || || 0% || {{Yes}} ||<br />
| 2013-07-04 || User<ref name="changeable"/>/Dynamic 20SPM || [https://bitcointalk.org/index.php?topic=249627 link] || [http://btcdig.com/ link]<br />
|-<br />
| [[btcmp.com]] || {{flag|de|label=1}}|| Small || No || PPS || {{PoolFees}} || 4% || || {{Yes}} ||<br />
| 2011-06-28 || Diff 1 || || [http://www.btcmp.com/ link]<br />
|-<br />
| [[BTCC Pool]] || China, Japan || Large || [[NMC]] || PPS || {{PoolFees}} || 2.0% || 0% || {{Yes}} || {{Yes}}<br />
| 2014-10-21 || Dynamic || ? || [https://pool.btcc.com link]<br />
|-<br />
| [[btcZPool.com]] || {{flag|us|label=1}}|| Large || BitCoinZ || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-06-25 || VarDiff || || [http://www.btcZPool.com/ link]<br />
|-<br />
|-<br />
| [[BW Mining]] || China || Medium || ? || PPLNS & PPS || ? || ? || ? || {{Yes}} ||<br />
| ? || ? || ? || [https://www.bw.com/pool link]<br />
|-<br />
| [[Eligius]] || {{flag|us|label=1}}|| Small || [[NMC]] || CPPSRB || {{SharedFees}} || || 0% || {{Yes}} || {{Yes}}<br />
| 2011-04-27 || Dynamic: 32 shares/m || [https://bitcointalk.org/?topic=441465 link] || [http://eligius.st link]<br />
|-<br />
| [[EMCD Pool]] || CIS, EU, KZ, IR, China || Medium || - || FPPS+ || {{SharedFees}} || 1% || 0% || {{Yes}} || {{No}}<br />
| 2018-01-26 || Dynamic || || [https://pool.emcd.io link]<br />
|-<br />
| [[GHash.IO]] || {{flag|nl|label=1}}|| Small || [[NMC]], IXC, [[Devcoin]] || PPLNS || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2013-07-01 || User<ref name="changeable"/> || [https://support.cex.io link] || [https://ghash.io/ link]<br />
|-<br />
| [[Give Me COINS]] || {{flag|us}}{{flag|eu}} || Small || [[NMC]] || PPLNS || {{SharedFees}} || || 0%|| {{Yes}} || {{Yes}}<br />
| 2013-08-12 || Dynamic || [https://bitcointalk.org/index.php?topic=272017.0 link] || [http://give-me-coins.com link]<br />
|-<br />
| [[Jonny Bravo's Mining Emporium]] ||{{flag|us|}}{{flag|eu}} || Small || No || PPLNS || {{SharedFees}} || || 0.5% || {{Yes}} || {{No}}<br />
| 2015-11-19 || Dynamic || [https://bitcointalk.org/index.php?topic=1330452.0 link] || [http://www.bravo-mining.com link]<br />
|-<br />
| [[kmdPool.org]] || {{flag|us|label=1}}|| Large || Komodo || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-11-25 || VarDiff || || [http://www.kmdPool.org/ link]<br />
|-<br />
| [[MergeMining]] || Global || Small || CRW, DVC, HUC, I0C, IXC, XMY/MYR, NMC, SYS, UNO, TRC, ARG, EMC || PPLNS || {{SharedFees}} || || 1% || {{Yes}} || {{No}}<br />
| 2016-12-01|| User<ref name="changeable"/> || || [https://mergemining.com link]<br />
|-<br />
| [[Multipool]] || {{flag|us}}{{flag|eu}} || Small || [[NMC]] || Score || {{SharedFees}} || || 1.5% || {{Yes}} || {{No}}<br />
| 2012-03-15 || User || [https://bitcointalk.org/index.php?topic=311067.0 link] || [https://www.multipool.us/ link]<br />
|-<br />
| [[ZenPool.org]] || {{flag|us|label=1}}|| Large || ZenCash || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-10-25 || VarDiff || || [http://www.ZenPool.org/ link]<br />
|-<br />
|}<br />
<br />
<br />
== SPV Mining / Old Bitcoin Core ==<br />
<br />
The following pools are known or strongly suspected to be mining on top of blocks before fully validating them with Bitcoin Core 0.9.5 or later. Miners doing this have already lost over $50,000 USD during the 4 July 2015 fork and have created a situation where small numbers of confirmations are much less useful than they normally are.<br />
<br />
* BTC Nuggets<br />
* [https://www.f2pool.com/ F2Pool]<ref name="spv_despite_incident">[https://bitcointalk.org/index.php?topic=700411.msg11790734#msg11790734 Intention to continue SPV mining], Wang Chun, 4 July 2015</ref><br />
* AntPool<ref name="spv_despite_incident" /><br />
<br />
The following pools are believed to be currently fully validating blocks with Bitcoin Core 0.9.5 or later (0.10.2 or later recommended due to DoS vulnerabilities):<br />
<br />
* [[BitMinter]]<br />
* BTC China (described as SPV mining<ref name="spv_despite_incident" />, but they're performing effective valiation)<br />
* [[BTC Public Mining Pool]]<br />
* [[CKPool]]<br />
* [[Eligius]]<br />
* [[Golden Nonce Pool]]<br />
* [[P2Pool]]<br />
* [[Bitcoin Pooled Mining|Slush Pool]]<br />
* [[BCMonster.com]]<br />
* [[Jonny Bravo's Mining Emporium]]<br />
<br />
== References ==<br />
<br />
<references><br />
<br />
<ref name="hashrate2">Note that pool hashrate is largely irrelevant but can be seen as a popularity measurement. It is a theoretical security issue if one pool gains above 50% of the total computational power of the network, thus consider joining a pool based on other metrics. The pool's total hash rate is very dynamic on most pools. Over time, as the network grows, so does most pool's hash rates. The displayed values are the pool's relative sizes based on the network: Small: less than 2%, Medium: 2%-10% Large: greater than 10% of the network.</ref><br />
<br />
<ref name="merged">Merged mining allows miners to mine on multiple [[block chains]] at the same time with the same hashing.</ref><br />
<br />
<ref name="changeable">The difficulty of the shares can be changed by the user.</ref><br />
<ref name="solomm">Merged mining can be done on a "solo mining" basis (payouts in the merged chain are not pooled).</ref><br />
</references><br />
<br />
== See also ==<br />
* [[Pooled mining]]<br />
* [https://www.blocktrail.com/BTC/pools Pool Distribution Summary]<br />
* [https://www.bitcoinmining.com/ Bitcoin Mining]<br />
* [https://www.youtube.com/watch?v=GmOzih6I1zs Video: What is Bitcoin Mining]<br />
* [https://www.bitcoinmining.com/bitcoin-mining-pools/ Bitcoin Mining Pools]<br />
* [https://bitcoinchain.com/pools Bitcoin Mining Pools Comparison]<br />
[[Category:Mining]]<br />
{{Pools}}</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Common_Vulnerabilities_and_Exposures&diff=69944Common Vulnerabilities and Exposures2023-12-10T02:50:20Z<p>Luke-jr: </p>
<hr />
<div>{| class="wikitable"<br />
!style="width:16ex"| CVE<br />
! Announced !! Affects !! Severity !! Attack is... !! Flaw !! Net<br />
|-<br />
| Pre-BIP protocol changes<br />
| n/a<br />
| All Bitcoin clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Implicit<ref name="hardfork">This is a protocol "hard-fork" that old clients will reject as invalid and must therefore not be used.</ref><br />
| [[Consensus versions|Various hardforks and softforks]]<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5137|CVE-2010-5137]]<br />
| 2010-07-28<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS">Attacker can disable some functionality, for example by crashing clients</ref><br />
|bgcolor=pink| Easy<br />
| OP_LSHIFT crash<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5141|CVE-2010-5141]]<br />
| 2010-07-28<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Theft<ref name="Theft">Attacker can take coins outside known network rules</ref><br />
|bgcolor=pink| Easy<br />
| OP_RETURN could be used to spend any output.<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5138|CVE-2010-5138]]<br />
| 2010-07-29<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Unlimited SigOp DoS<br />
|bgcolor=lime| 100%<br />
|-<br />
| '''[[CVE-2010-5139]]'''<br />
| 2010-08-15<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Inflation<ref name="inflation">Attacker can create coins outside known network rules</ref><br />
|bgcolor=pink| Easy<br />
| Combined output overflow<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5140|CVE-2010-5140]]<br />
| 2010-09-29<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Never confirming transactions<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2011-4447|CVE-2011-4447]]<br />
| 2011-11-11<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Exposure<ref name="Exposure">Attacker can access user data outside known acceptable methods</ref><br />
|bgcolor=lime| Hard<br />
| Wallet non-encryption<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2011-4447.html 100%]<br />
|-<br />
| [[#CVE-2012-1909|CVE-2012-1909]]<br />
| 2012-03-07<br />
| Bitcoin protocol and all clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit">Attacker can create multiple views of the network, enabling [[double-spending]] with over 1 confirmation</ref><br />
|bgcolor=lime| Very hard<br />
| Transaction overwriting<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-1909.html 100%]<br />
|-<br />
| [[#CVE-2012-1910|CVE-2012-1910]]<br />
| 2012-03-17<br />
| bitcoind & Bitcoin-Qt for Windows<br />
|bgcolor=pink| Unknown<ref name="Unknown">Extent of possible abuse is unknown</ref><br />
|bgcolor=lime| Hard<br />
| Non-thread safe MingW exceptions<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-1910.html 100%]<br />
|-<br />
| [[#BIP-0016|BIP 0016]]<br />
| 2012-04-01<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: P2SH<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/BIP-0016.html 100%]<br />
|-<br />
| [[#CVE-2012-2459|CVE-2012-2459]]<br />
| 2012-05-14<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Easy<br />
| Block hash collision (via merkle root)<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-2459.html 100%]<br />
<!--<br />
|-<br />
| [[#CVE-2012-3584|CVE-2012-3584]]<br />
| 2012-06-16<br />
| Bitcoin p2p protocol<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Poor miner incentives<br />
| (no fix)<br />
--><br />
|-<br />
| '''[[CVE-2012-3789]]'''<br />
| 2012-06-20<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| (Lack of) orphan txn resource limits<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20123789 100%]<br />
|-<br />
| [[#CVE-2012-4682|CVE-2012-4682]]<br />
| <br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
| <br />
| <br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-4682.html 100%]<br />
|-<br />
| '''[[CVE-2012-4683]]'''<br />
| 2012-08-23<br />
| bitcoind and Bitcoin-Qt<br />
| bgcolor=yellow| DoS<ref name="DoS"/><br />
| bgcolor=pink| Easy<br />
| Targeted DoS by CPU exhaustion using alerts<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-4683.html 100%]<br />
|-<br />
| '''[[CVE-2012-4684]]'''<br />
| 2012-08-24<br />
| bitcoind and Bitcoin-Qt<br />
| bgcolor=yellow| DoS<ref name="DoS"/><br />
| bgcolor=pink| Easy<br />
| Network-wide DoS using malleable signatures in alerts<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20124684 100%]<br />
|-<br />
| [[#CVE-2013-2272|CVE-2013-2272]]<br />
| 2013-01-11<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| Exposure<ref name="Exposure"/><br />
|bgcolor=pink| Easy<br />
| Remote discovery of node's wallet addresses<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132272 99.99%]<br />
|-<br />
| [[#CVE-2013-2273|CVE-2013-2273]]<br />
| 2013-01-30<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=lime| Exposure<ref name="Exposure"/><br />
|bgcolor=yellow| Easy<br />
| Predictable change output<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132273 99.99%]<br />
|-<br />
| [[#CVE-2013-2292|CVE-2013-2292]]<br />
| 2013-01-30<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=lime| Hard<br />
| A transaction that takes at least 3 minutes to verify<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132292 0%]<br />
|-<br />
| '''[[CVE-2013-2293]]'''<br />
| 2013-02-14<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Continuous hard disk seek<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132293 99.99%]<br />
|-<br />
| [[#CVE-2013-3219|CVE-2013-3219]]<br />
| 2013-03-11<br />
| bitcoind and Bitcoin-Qt 0.8.0<br />
|bgcolor=pink| Fake Conf<ref name="FakeConf"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Unenforced block protocol rule<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20133219 100%]<br />
|-<br />
| [[#CVE-2013-3220|CVE-2013-3220]]<br />
| 2013-03-11<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=lime| Hard<br />
| Inconsistent BDB lock limit interactions<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20133220 99.99%]<br />
|-<br />
| [[#BIP-0034|BIP 0034]]<br />
| 2013-03-25<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Height in coinbase<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/BIP-0034.html 100%]<br />
|-<br />
| [[#BIP-0050|BIP 0050]]<br />
| 2013-05-15<br />
| All Bitcoin clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Implicit<ref name="hardfork">This is a protocol "hard-fork" that old clients will reject as invalid and must therefore not be used.</ref><br />
| Hard fork to remove txid limit protocol rule<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?50 99.99%]<br />
|-<br />
| [[#CVE-2013-4627|CVE-2013-4627]]<br />
| 2013-06-??<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=yellow| Easy<br />
| Memory exhaustion with excess tx message data<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20134627 99%]<br />
|-<br />
| [[#CVE-2013-4165|CVE-2013-4165]]<br />
| 2013-07-20<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Theft<ref name="theft-local-timing">Local attacker could potentially determine the RPC passphrase via a timing sidechannel.</ref><br />
|bgcolor=lime| Local<br />
| Timing leak in RPC authentication<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20134165 99%]<br />
|-<br />
| [[#CVE-2013-5700|CVE-2013-5700]]<br />
| 2013-09-04<br />
| bitcoind and Bitcoin-Qt 0.8.x<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Remote p2p crash via bloom filters<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20135700 99%]<br />
|-<br />
| [[#CVE-2014-0160|CVE-2014-0160]]<br />
| 2014-04-07<br />
| Anything using OpenSSL for TLS<br />
|bgcolor=pink| Unknown<ref name="Unknown"/><br />
|bgcolor=pink| Easy<br />
| Remote memory leak via payment protocol<br />
| Unknown<br />
|-<br />
| CVE-2015-3641<br />
| 2014-07-07<br />
| bitcoind and Bitcoin-Qt prior to 0.10.2<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| (Yet) Unspecified DoS<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20135700 99.9%]<br />
|-<br />
| BIP 66<br />
| 2015-02-13<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Strict DER signatures<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?66 99%]<br />
|-<br />
| BIP 65<br />
| 2015-11-12<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: OP_CHECKLOCKTIMEVERIFY<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?65 99%]<br />
|-<br />
| BIPs 68, 112 & 113<br />
| 2016-04-11<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softforks: Rel locktime, CSV & MTP locktime<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?68 99%]<br />
|-<br />
| BIPs 141, 143 & 147<br />
| 2016-10-27<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Segwit<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?141 99%]<br />
|-<br />
| [[#CVE-2016-8889|CVE-2016-8889]]<br />
| 2016-10-27<br />
| Bitcoin Knots GUI 0.11.0 - 0.13.0<br />
|bgcolor=yellow| Exposure<br />
|bgcolor=lime| Hard<br />
| Debug console history storing sensitive info<br />
|bgcolor=lime| 100%<br />
|-<br />
| CVE-2017-9230<br />
| ?<br />
| Bitcoin<br />
| ?<br />
| ?<br />
| ASICBoost<br />
|bgcolor=pink| 0%<br />
|-<br />
| BIP 148<br />
| 2017-03-12<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Segwit UASF<br />
| ?<br />
|-<br />
| [[#CVE-2017-12842|CVE-2017-12842]]<br />
| 2018-06-09<br />
|<br />
|<br />
|<br />
| No commitment to block merkle tree depth<br />
|<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016189.html CVE-2016-10724]<br />
| 2018-07-02<br />
| bitcoind and Bitcoin-Qt prior to 0.13.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Keyholders<ref name="KeyholderEasy">Attacking requires signing with the publicly-disclosed alert key</ref><br />
| Alert memory exhaustion<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201610724 99%]<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016189.html CVE-2016-10725]<br />
| 2018-07-02<br />
| bitcoind and Bitcoin-Qt prior to 0.13.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Keyholders<ref name="KeyholderEasy">Attacking requires signing with the publicly-disclosed alert key</ref><br />
| Final alert cancellation<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201610724 99%]<br />
|-<br />
| [[#CVE-2018-17144|CVE-2018-17144]]<br />
| 2018-09-17<br />
| bitcoind and Bitcoin-Qt prior to 0.16.3<br />
|bgcolor=pink| Inflation<ref name="inflation"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Missing check for duplicate inputs<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201817144 80%]<br />
|-<br />
| [https://medium.com/@lukedashjr/cve-2018-20587-advisory-and-full-disclosure-a3105551e78b CVE-2018-20587]<br />
| 2019-02-08<br />
| Bitcoin Knots prior to 0.17.1, and all current Bitcoin Core releases<br />
|bgcolor=pink| Theft<ref name="theft-local-timing">Local attacker could potentially determine the RPC passphrase via a timing sidechannel.</ref><br />
|bgcolor=lime| Local<br />
| No alert for RPC service binding failure<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201820587 <1%]<br />
|-<br />
| [[#CVE-2017-18350|CVE-2017-18350]]<br />
| 2019-06-22<br />
| bitcoind and Bitcoin-Qt prior to 0.15.1<br />
|bgcolor=pink| Unknown<br />
|bgcolor=pink| Varies<ref>Depends on software configuration</ref><br />
| Buffer overflow from SOCKS proxy<br />
|bgcolor=yellow| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201718350 94%]<br />
|-<br />
| [[#CVE-2018-20586|CVE-2018-20586]]<br />
| 2019-06-22<br />
| bitcoind and Bitcoin-Qt prior to 0.17.1<br />
|bgcolor=lime| Deception<br />
|bgcolor=lime| RPC access<br />
| Debug log injection via unauthenticated RPC<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201820586 77%]<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-12998]<br />
| 2019-08-30<br />
| c-lightning prior to 0.7.1<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-12999]<br />
| 2019-08-30<br />
| lnd prior to 0.7<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO amount<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-13000]<br />
| 2019-08-30<br />
| eclair prior to 0.3<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO<br />
|-<br />
| [[#CVE-2020-14199|CVE-2020-14199]]<br />
| 2020-06-03<br />
| Trezor and others<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Social<ref>User must be tricked into cooperating (social engineering)</ref><br />
| Double-signing can enable unintended fees<br />
|-<br />
| [https://invdos.net/ CVE-2018-17145]<br />
| 2020-09-09<br />
| Bitcoin Core prior to 0.16.2<br>Bitcoin Knots prior to 0.16.1<br>Bcoin prior to 1.0.2<br>Btcd prior to 0.21.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| p2p memory blow-up<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201817145 87%]<br />
|-<br />
| [[#CVE-2020-26895|CVE-2020-26895]]<br />
| 2020-10-08<br />
| lnd prior to 0.10<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing low-S normalization for HTLC signatures<br />
|-<br />
| [[#CVE-2020-26896|CVE-2020-26896]]<br />
| 2020-10-08<br />
| lnd prior to 0.11<br />
|bgcolor=pink| Theft<br />
|bgcolor=yellow | Varies<ref>Depends on node configuration, only affects routable merchants, requires external knowledge of receiver's invoices and/or luck to identify receiver, only works against single-shot HTLCs (legacy or MPP)</ref><br />
| Invoice preimage extraction via forwarded HTLC<br />
|-<br />
| CVE-2020-14198<br />
| <br />
| Bitcoin Core 0.20.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Remote DoS<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?202014198 93%]<br />
|-<br />
| [[#CVE-2021-3401|CVE-2021-3401]]<br />
| 2021-02-01<br />
| Bitcoin Core GUI prior to 0.19.0<br>Bitcoin Knots GUI prior to 0.18.1<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Hard<br />
| Qt5 remote execution<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20213401 64%]<br />
|-<br />
| [[#CVE-2021-31876|CVE-2021-31876]]<br />
| 2021-05-06<br />
| Various wallets<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41591<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41592<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41593<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| BIPs 341-343<br />
| 2021-11-13<br />
| All Bitcoin nodes<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Taproot<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?343 57%]<br />
|-<br />
| [https://github.com/spesmilo/electrum/security/advisories/GHSA-4fh4-hx35-r355 CVE-2022-31246]<br />
| 2022-06-07<br />
| Electrum 2.1 until before 4.2.2<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Social<br />
|<br />
|-<br />
| [[#CVE-2023-50428|CVE-2023-50428]]<br />
| 2023<br />
| All Bitcoin nodes<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Bypass of datacarriersize limit using OP_FALSE,OP_IF<br />
|<br />
|}<br />
<br />
<references/><br />
<br />
__NOTOC__<br />
<br />
== CVE-2010-5137 ==<br />
<br />
<b>Date:</b> 2010-07-28<br />
<b>Summary:</b> OP_LSHIFT crash<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.4 || 0.3.5<br />
|}<br />
<br />
On July 28 2010, two bugs were discovered and demonstrated on the test network. One caused bitcoin to crash on some machines when processing a transaction containing an OP_LSHIFT. This was never exploited on the main network, and was fixed by Bitcoin version 0.3.5.<br />
<br />
After these bugs were discovered, many currently-unused script words were disabled for safety.<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5137 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5141 ==<br />
<br />
<b>Date:</b> 2010-07-28<br />
<b>Summary:</b> ?<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.4 || 0.3.5<br />
|}<br />
<br />
On July 28 2010, two bugs were discovered and demonstrated on the test network. One exploited a bug in the transaction handling code and allowed an attacker to spend coins that they did not own. This was never exploited on the main network, and was fixed by Bitcoin version 0.3.5.<br />
<br />
After these bugs were discovered, many currently-unused script words were disabled for safety.<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5141 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5138 ==<br />
<br />
<b>Date:</b> 2010-07-29<br />
<b>Summary:</b> Unlimited SigOp DoS<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.? || 0.3.?<br />
|}<br />
<br />
On July 29 2010, it was discovered that block [http://blockexplorer.com/block/00000000000997f9fd2fe1ee376293ef8c42ad09193a5d2086dddf8e5c426b56 71036] contained several transactions with a ton of OP_CHECKSIG commands. There should only ever be one such command. This caused every node to do extra unnecessary work, and it could have been used as a denial-of-service attack. A new version of Bitcoin was quickly released. The new version did not cause a fork on the main network, though it did cause one on the test network (where someone had played around with the attack more).<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5138 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5139 ==<br />
{{main|CVE-2010-5139}}<br />
<b>Date:</b> 2010-08-15<br />
<b>Summary:</b> Combined output overflow<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.10 || 0.3.11<br />
|}<br />
<br />
On August 15 2010, it was [http://bitcointalk.org/index.php?topic=822.0 discovered] that block 74638 contained a transaction that created over 184 billion bitcoins for two different addresses. This was possible because the code used for checking transactions before including them in a block didn't account for the case of outputs so large that they overflowed when summed. A new version was published within a few hours of the discovery. The block chain had to be forked. Although many unpatched nodes continued to build on the "bad" block chain, the "good" block chain overtook it at a block height of 74691. The bad transaction no longer exists for people using the longest chain.<br />
<br />
The block and transaction:<br />
<pre>CBlock(hash=0000000000790ab3, ver=1, hashPrevBlock=0000000000606865, hashMerkleRoot=618eba,<br />
nTime=1281891957, nBits=1c00800e, nNonce=28192719, vtx=2)<br />
CTransaction(hash=012cd8, ver=1, vin.size=1, vout.size=1, nLockTime=0)<br />
CTxIn(COutPoint(000000, -1), coinbase 040e80001c028f00)<br />
CTxOut(nValue=50.51000000, scriptPubKey=0x4F4BA55D1580F8C3A8A2C7)<br />
CTransaction(hash=1d5e51, ver=1, vin.size=1, vout.size=2, nLockTime=0)<br />
CTxIn(COutPoint(237fe8, 0), scriptSig=0xA87C02384E1F184B79C6AC)<br />
CTxOut(nValue=92233720368.54275808, scriptPubKey=OP_DUP OP_HASH160 0xB7A7)<br />
CTxOut(nValue=92233720368.54275808, scriptPubKey=OP_DUP OP_HASH160 0x1512)<br />
vMerkleTree: 012cd8 1d5e51 618eba<br />
<br />
Block hash: 0000000000790ab3f22ec756ad43b6ab569abf0bddeb97c67a6f7b1470a7ec1c<br />
Transaction hash: 1d5e512a9723cbef373b970eb52f1e9598ad67e7408077a82fdac194b65333c9</pre><br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=822.0 Discovery]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5139 US-CERT/NIST]<br />
<br />
== CVE-2010-5140 ==<br />
<br />
<b>Date:</b> 2010-09-29<br />
<b>Summary:</b> Never confirming transactions<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.12 || 0.3.13<br />
|}<br />
<br />
Around September 29, 2010, people started [https://bitcointalk.org/index.php?topic=1306.0 reporting] that their sent transactions would not confirm. This happened because people modified Bitcoin to send sub-0.01 transactions without any fees. A 0.01 fee was at that time required by the network for such transactions (essentially prohibiting them), so the transactions remained at 0 confirmations forever. This became a more serious issue because Bitcoin would send transactions using bitcoins gotten from transactions with 0 confirmations, and these resulting transactions would also never confirm. Because Bitcoin tends to prefer sending smaller coins, these invalid transactions quickly multiplied, contaminating the wallets of everyone who received them.<br />
<br />
Bitcoin was changed to only select coins with at least 1 confirmation. The remaining sub-0.01 transactions were cleared by generators who modified their version of Bitcoin to not require the micropayment fee. It took a while for everything to get cleared, though, because many of the intermediate transactions had been forgotten by the network by this point and had to be rebroadcast by the original senders.<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=1306.0 Initial reports]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5140 US-CERT/NIST]<br />
<br />
<br />
== CVE-2011-4447 ==<br />
<br />
<b>Date:</b> 2011-11-11<br />
<b>Summary:</b> Wallet non-encryption<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || 0.4.0 - 0.4.1rc6 || 0.4.1<br>0.5.0<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=51604.0 Announcement]<br />
* [https://bitcointalk.org/index.php?topic=51474.0 Finding]<br />
* [http://bitcoin.org/releases/2011/11/21/v0.5.0.html 0.5.0]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4447 US-CERT/NIST]<br />
<br />
<br />
== CVE-2012-1909 ==<br />
<br />
<b>Date:</b> 2012-03-07<br />
<b>Summary:</b> Transaction overwriting<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin protocol || Before March 15th, 2012 || BIP 30<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.4rc2<br>0.5.0rc1 - 0.5.0.4rc2<br>0.5.1rc1 - 0.5.3rc2<br>0.6.0rc1 - 0.6.0rc2 || 0.4.4<br>0.5.0.4<br>0.5.3<br>0.6.0rc3<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=67738.0 Announcement]<br />
* [https://en.bitcoin.it/wiki/BIP_0030 Fix]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=407793 Gentoo bug tracker]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1909 US-CERT/NIST]<br />
<br />
== CVE-2012-1910 ==<br />
<br />
<b>Date:</b> 2012-03-17<br />
<b>Summary:</b> Non-thread safe MingW exceptions<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind for Windows<br>Bitcoin-Qt for Windows || 0.5.0rc1 - 0.5.0.4<br>0.5.1rc1 - 0.5.3.0<br>0.6.0rc1 - 0.6.0rc3 || 0.5.0.5<br>0.5.3.1<br>0.5.4<br>0.6.0rc4<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=69120.0 Announcement]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1910 US-CERT/NIST]<br />
* [http://gavintech.blogspot.com/2012/03/full-disclosure-bitcoin-qt-on-windows.html Full disclosure]<br />
<br />
== BIP-0016 ==<br />
<br />
<b>Date:</b> 2012-04-01<br />
<b>Summary:</b> Mandatory P2SH protocol update<br />
<b>Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.4<br>0.5.0rc1 - 0.5.0.5<br>0.5.1rc1 - 0.5.3<br>0.6.0rc1 || 0.4.5<br>0.5.0.6<br>0.5.4rc1<br>0.6.0rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0016]]<br />
<br />
== CVE-2012-2459 ==<br />
<br />
<b>Date:</b> 2012-05-14<br />
<b>Summary:</b> Block hash collision (via merkle tree)<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.6rc1<br>0.5.0rc1 - 0.5.5rc1<br>0.6.0rc1 - 0.6.0.7rc1<br>0.6.1rc1 - 0.6.1rc1 || 0.4.6<br>0.5.5<br>0.6.0.7<br>0.6.1rc2<br />
|}<br />
<br />
Block hash collisions can easily be made by duplicating transactions in the merkle tree.<br />
Such a collision is invalid, but if recorded (as Bitcoin-Qt and bitcoind prior to 0.6.1 did) would prevent acceptance of the legitimate block with the same hash.<br />
This could be used to fork the blockchain, including deep double-spend attacks.<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/?topic=81749 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=415973 Gentoo bug tracker]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-2459 US-CERT/NIST]<br />
* [https://bitcointalk.org/?topic=102395 Full Disclosure]<br />
<br />
== CVE-2012-3789 ==<br />
{{main|CVE-2012-3789}}<br />
<b>Date:</b> 2012-06-20<br />
<b>Summary:</b> (Lack of) orphan txn resource limits<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.4.7rc3<br>0.5.6rc3<br>0.6.0.9rc1<br>0.6.3rc1<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-3789]]<br />
* [https://bitcointalk.org/?topic=88734 0.6.3rc1 Announcement]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-3789 US-CERT/NIST]<br />
<br />
== CVE-2012-4682 ==<br />
<br />
<b>Date:</b> <br />
<b>Summary:</b> <br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.4.7rc3<br>0.5.6rc3<br>0.6.0.9rc1<br>0.6.3rc1<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4682]]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=435216 Gentoo bug]<br />
<br />
== CVE-2012-4683 ==<br />
{{main|CVE-2012-4683}}<br />
<b>Date:</b> 2012-08-23<br />
<b>Summary:</b> Targeted DoS by CPU exhaustion using alerts<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.7.0 <br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4683]]<br />
* [https://bitcointalk.org/index.php?topic=148038.0 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=435216 Gentoo bug]<br />
<br />
== CVE-2012-4684 ==<br />
{{main|CVE-2012-4684}}<br />
<b>Date:</b> 2012-08-24<br />
<b>Summary:</b> Network-wide DoS using malleable signatures in alerts<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 - 0.6.3rc1 || 0.7.0 <br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4684]]<br />
* [https://bitcointalk.org/index.php?topic=148109.0 Announcement]<br />
<br />
== CVE-2013-2272 ==<br />
<br />
<b>Date:</b> 2013-01-11<br />
<b>Summary:</b> Remote discovery of node's wallet addresses<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.8rc4<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.10rc4<br>0.6.1rc1 - 0.6.4rc4<br>0.7.0rc1 - 0.7.2 || 0.4.9rc1<br>0.5.8rc1<br>0.6.0.11rc1<br>0.6.5rc1<br>0.7.3rc1<br />
|}<br />
<br />
=== References ===<br />
<br />
* [https://bitcointalk.org/?topic=135856 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2273 ==<br />
<br />
<b>Date:</b> 2013-01-30<br />
<b>Summary:</b> Predictable change output<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.8rc4<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.10rc4<br>0.6.1rc1 - 0.6.4rc4<br>0.7.0rc1 - 0.7.2 || 0.4.9rc1<br>0.5.8rc1<br>0.6.0.11rc1<br>0.6.5rc1<br>0.7.3rc1<br />
|}<br />
<br />
=== References ===<br />
<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2292 ==<br />
<br />
<b>Date:</b> 2013-01-30<br />
<b>Summary:</b> A transaction that takes at least 3 minutes to verify<br />
<b>Fix Deployment:</b> 0%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || All versions || No fix yet<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2013-2292]]<br />
* [https://bitcointalk.org/?topic=140078 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2293 ==<br />
{{main|CVE-2013-2293}}<br />
<b>Date:</b> 2013-02-14<br />
<b>Summary:</b> Continuous hard disk seek<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.7.3rc1 || No fix yet (0.8.0 unaffected)<br />
|}<br />
<br />
=== References ===<br />
<br />
* [[CVE-2013-2293]]<br />
* [https://bitcointalk.org/?topic=144122 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-3219 ==<br />
<br />
<b>Date:</b> 2013-03-11<br />
<b>Summary:</b> Unenforced block protocol rule<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.8.0rc1 - 0.8.0 || 0.8.1<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050|BIP 50]]<br />
<br />
== CVE-2013-3220 ==<br />
<br />
<b>Date:</b> 2013-03-11<br />
<b>Summary:</b> Inconsistent BDB lock limit interactions<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc1<br>0.5.0rc1 - 0.5.8rc1<br>0.6.0rc1 - 0.6.5rc1<br>0.7.0rc1 - 0.7.3rc1 || 0.4.9rc2<br>0.5.8rc2<br>0.6.5rc2<br>0.7.3rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050|BIP 50]]<br />
<br />
== BIP-0034 ==<br />
<br />
<b>Date:</b> 2013-03-25<br />
<b>Summary:</b> Mandatory block protocol update<br />
<b>Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.9<br>0.6.1rc1 - 0.6.3 || 0.4.8rc1<br>0.5.7rc1<br>0.6.0.10rc1<br>0.6.4rc1<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0034]]<br />
<br />
== BIP-0050 ==<br />
<br />
<b>Date:</b> 2013-05-15<br />
<b>Summary:</b> Hard fork to remove txid limit protocol rule<br />
<b>Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc1<br>0.5.0rc1 - 0.5.8rc1<br>0.6.0rc1 - 0.6.5rc1<br>0.7.0rc1 - 0.7.3rc1 || 0.4.9rc2<br>0.5.8rc2<br>0.6.5rc2<br>0.7.3rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050]]<br />
<br />
== CVE-2013-4627 ==<br />
<br />
<b>Date:</b> 2013-06-??<br />
<b>Summary:</b> Memory exhaustion with excess tx message data<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc3<br>0.5.0rc1 - 0.5.8rc3<br>0.6.0rc1 - 0.6.5rc3<br>0.7.0rc1 - 0.7.3rc3<br>0.8.0rc1 - 0.8.3 || 0.4.9rc4<br>0.5.8rc4<br>0.6.5rc4<br>0.7.3rc4<br>0.8.4<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
<br />
== CVE-2013-4165 ==<br />
<br />
<b>Date:</b> 2013-07-20<br />
<b>Summary:</b> Timing leak in RPC authentication<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc3<br>0.5.0rc1 - 0.5.8rc3<br>0.6.0rc1 - 0.6.5rc3<br>0.7.0rc1 - 0.7.3rc3<br>0.8.0rc1 - 0.8.3 || 0.4.9rc4<br>0.5.8rc4<br>0.6.5rc4<br>0.7.3rc4<br>0.8.4rc1<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=287351 Bitcoin-Qt 0.8.4 release notes]<br />
* [https://github.com/bitcoin/bitcoin/issues/2838 The initial bug report]<br />
<br />
== CVE-2013-5700 ==<br />
<br />
<b>Date:</b> 2013-09-04<br />
<b>Summary:</b> Remote p2p crash via bloom filters<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.8.0rc1 - 0.8.3 || 0.8.4rc1<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=287351 Bitcoin-Qt 0.8.4 release notes]<br />
* [https://github.com/bitcoin/bitcoin/commit/37c6389c5a0ca63ae3573440ecdfe95d28ad8f07 The fix]<br />
* [https://github.com/bitcoin/bitcoin/pull/18515 An added test]<br />
<br />
== CVE-2016-8889 ==<br />
<br />
<b>Date:</b> 2016-10-27<br />
<b>Summary:</b> Debug console history storing sensitive info<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Knots GUI || 0.11.0 - 0.13.0 || 0.13.1<br />
|}<br />
<br />
=== References ===<br />
* [https://github.com/bitcoinknots/bitcoin/blob/v0.13.1.knots20161027/doc/release-notes.md Bitcoin Knots 0.16.1.knots20161027 release notes]<br />
* [https://nvd.nist.gov/vuln/detail/CVE-2016-8889 US-CERT/NIST]<br />
<br />
== CVE-2017-12842 ==<br />
<br />
<b>Date:</b> 2018-06-09<br />
<b>Summary:</b> No commitment to block merkle tree depth<br />
<br />
=== References ===<br />
* [https://bitslog.wordpress.com/2018/06/09/leaf-node-weakness-in-bitcoin-merkle-tree-design/ Explanation by Sergio Demian Lerner]<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-February/016697.html Further elaboration by Suhas Daftuar]<br />
<br />
== CVE-2017-18350 ==<br />
<br />
<b>Date:</b> 2019-06-22<br />
<b>Summary:</b> Buffer overflow from SOCKS proxy<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.7.0rc1 - 0.15.0 || 0.15.1rc1<br />
|}<br />
<br />
=== References ===<br />
* [https://medium.com/@lukedashjr/cve-2017-18350-disclosure-fe6d695f45d5 Disclosure of details]<br />
<br />
== CVE-2018-17144 ==<br />
<br />
<b>Date:</b> 2018-09-17<br />
<b>Summary:</b> Missing check for duplicate inputs<br />
<b>Fix Deployment:</b> 31%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.14.0rc1 - 0.14.2<br>0.15.0rc1 - 0.15.1<br>0.16.0rc1 - 0.16.2 || 0.14.3<br>0.15.2<br>0.16.3<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcoincore.org/en/2018/09/20/notice/ Full disclosure by Bitcoin Core]<br />
* [https://bitcoincore.org/en/2018/09/18/release-0.16.3/ Bitcoin Core 0.16.3 release notes]<br />
* [https://github.com/bitcoinknots/bitcoin/blob/v0.16.3.knots20180918/doc/release-notes.md Bitcoin Knots 0.16.3.knots20180918 release notes]<br />
* [https://nvd.nist.gov/vuln/detail/CVE-2018-17144 US-CERT/NIST]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=666669 Gentoo bug]<br />
<br />
== CVE-2018-20586 ==<br />
<br />
<b>Date:</b> 2019-06-22<br />
<b>Summary:</b> Debug log injection via unauthenticated RPC<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.12.0rc1 - 0.17.0 || 0.17.1rc1<br />
|}<br />
<br />
== CVE-2020-14199 ==<br />
<br />
<b>Date:</b> 2020-06-03<br />
<b>Summary:</b> Double-signing can enable unintended fees<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Trezor One || || 1.9.1<br />
|-<br />
| Trezor Model T || || 2.3.1<br />
|-<br />
| ???<br />
|}<br />
<br />
=== References ===<br />
* [https://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1-9-1-and-trezor-model-t-version-2-3-1-1eba8f60f2dd Disclosure of details by Trezor team]<br />
<br />
== CVE-2020-26895 ==<br />
<br />
<b>Date:</b> 2020-10-08<br />
<b>Summary:</b> Missing low-S normalization for HTLC signatures.<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| lnd || || 0.10.0<br />
|}<br />
<br />
=== References ===<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002858.html CVE-2020-26895: LND Low-S Tx-Relay Standardness]<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002856.html Full Disclosure: Full Disclosure: CVE-2020-26895 LND "Hodl my Shitsig"]<br />
<br />
== CVE-2020-26896 ==<br />
<br />
<b>Date:</b> 2020-10-08<br />
<b>Summary:</b> Invoice preimage extraction via forwarded HTLC.<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| lnd || || 0.11.0<br />
|}<br />
<br />
=== References ===<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002857.html CVE-2020-26896: LND Invoice Preimage Extraction]<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002855.html Full Disclosure: CVE-2020-26896 LND "The (un)covert channel"]<br />
<br />
== CVE-2021-3401 ==<br />
<br />
<b>Date:</b> 2021-02-01<br />
<b>Summary:</b> Qt5 remote execution<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Core GUI || || 0.19.0<br />
|-<br />
| Bitcoin Knots GUI || || 0.18.1<br />
|}<br />
<br />
== CVE-2021-31876 ==<br />
<br />
<b>Date:</b> 2021-05-06<br />
<br />
=== References ===<br />
<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-May/018893.html Full Disclosure: CVE-2021-31876 Defect in Bitcoin Core's bip125 logic]<br />
<br />
=== References ===<br />
* [https://achow101.com/2021/02/0.18-uri-vuln URI Argument Injection Vulnerability in Bitcoin Core 0.18 and Earlier]<br />
<br />
==Definitions==<br />
<br />
A critical vulnerability is one that will have disastrous consequences if it is exploited. A serious vulnerability is one that will have serious consequences if it is exploited<ref>[http://bitcointalk.org/index.php?topic=88892.0 http://bitcointalk.org/index.php?topic=88892.0]</ref>.<br />
<br />
==See Also==<br />
<br />
* [[Changelog]]<br />
* https://blog.bitmex.com/bitcoins-consensus-forks/<br />
<br />
== CVE-2023-50428 ==<br />
<br />
<b>Date:</b> 2023<br />
<b>Summary:</b> Bypass of datacarriersize limit using OP_FALSE,OP_IF<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Core || 0.9 and later || NOT FIXED<br />
|-<br />
| Bitcoin Knots || 0.9 - 23.0 || 25.1.knots20231115<br />
|-<br />
| btcd || ? || NOT FIXED<br />
|-<br />
| libbitcoin || ? || NOT FIXED<br />
|}<br />
<br />
==References==<br />
<references /><br />
<br />
[[Category:Security]]<br />
<br />
{{Bitcoin Core documentation}}</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Common_Vulnerabilities_and_Exposures&diff=69943Common Vulnerabilities and Exposures2023-12-10T02:49:56Z<p>Luke-jr: Add CVE-2023-50428</p>
<hr />
<div>{| class="wikitable"<br />
!style="width:16ex"| CVE<br />
! Announced !! Affects !! Severity !! Attack is... !! Flaw !! Net<br />
|-<br />
| Pre-BIP protocol changes<br />
| n/a<br />
| All Bitcoin clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Implicit<ref name="hardfork">This is a protocol "hard-fork" that old clients will reject as invalid and must therefore not be used.</ref><br />
| [[Consensus versions|Various hardforks and softforks]]<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5137|CVE-2010-5137]]<br />
| 2010-07-28<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS">Attacker can disable some functionality, for example by crashing clients</ref><br />
|bgcolor=pink| Easy<br />
| OP_LSHIFT crash<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5141|CVE-2010-5141]]<br />
| 2010-07-28<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Theft<ref name="Theft">Attacker can take coins outside known network rules</ref><br />
|bgcolor=pink| Easy<br />
| OP_RETURN could be used to spend any output.<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5138|CVE-2010-5138]]<br />
| 2010-07-29<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Unlimited SigOp DoS<br />
|bgcolor=lime| 100%<br />
|-<br />
| '''[[CVE-2010-5139]]'''<br />
| 2010-08-15<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Inflation<ref name="inflation">Attacker can create coins outside known network rules</ref><br />
|bgcolor=pink| Easy<br />
| Combined output overflow<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5140|CVE-2010-5140]]<br />
| 2010-09-29<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Never confirming transactions<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2011-4447|CVE-2011-4447]]<br />
| 2011-11-11<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Exposure<ref name="Exposure">Attacker can access user data outside known acceptable methods</ref><br />
|bgcolor=lime| Hard<br />
| Wallet non-encryption<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2011-4447.html 100%]<br />
|-<br />
| [[#CVE-2012-1909|CVE-2012-1909]]<br />
| 2012-03-07<br />
| Bitcoin protocol and all clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit">Attacker can create multiple views of the network, enabling [[double-spending]] with over 1 confirmation</ref><br />
|bgcolor=lime| Very hard<br />
| Transaction overwriting<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-1909.html 100%]<br />
|-<br />
| [[#CVE-2012-1910|CVE-2012-1910]]<br />
| 2012-03-17<br />
| bitcoind & Bitcoin-Qt for Windows<br />
|bgcolor=pink| Unknown<ref name="Unknown">Extent of possible abuse is unknown</ref><br />
|bgcolor=lime| Hard<br />
| Non-thread safe MingW exceptions<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-1910.html 100%]<br />
|-<br />
| [[#BIP-0016|BIP 0016]]<br />
| 2012-04-01<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: P2SH<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/BIP-0016.html 100%]<br />
|-<br />
| [[#CVE-2012-2459|CVE-2012-2459]]<br />
| 2012-05-14<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Easy<br />
| Block hash collision (via merkle root)<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-2459.html 100%]<br />
<!--<br />
|-<br />
| [[#CVE-2012-3584|CVE-2012-3584]]<br />
| 2012-06-16<br />
| Bitcoin p2p protocol<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Poor miner incentives<br />
| (no fix)<br />
--><br />
|-<br />
| '''[[CVE-2012-3789]]'''<br />
| 2012-06-20<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| (Lack of) orphan txn resource limits<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20123789 100%]<br />
|-<br />
| [[#CVE-2012-4682|CVE-2012-4682]]<br />
| <br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
| <br />
| <br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-4682.html 100%]<br />
|-<br />
| '''[[CVE-2012-4683]]'''<br />
| 2012-08-23<br />
| bitcoind and Bitcoin-Qt<br />
| bgcolor=yellow| DoS<ref name="DoS"/><br />
| bgcolor=pink| Easy<br />
| Targeted DoS by CPU exhaustion using alerts<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-4683.html 100%]<br />
|-<br />
| '''[[CVE-2012-4684]]'''<br />
| 2012-08-24<br />
| bitcoind and Bitcoin-Qt<br />
| bgcolor=yellow| DoS<ref name="DoS"/><br />
| bgcolor=pink| Easy<br />
| Network-wide DoS using malleable signatures in alerts<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20124684 100%]<br />
|-<br />
| [[#CVE-2013-2272|CVE-2013-2272]]<br />
| 2013-01-11<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| Exposure<ref name="Exposure"/><br />
|bgcolor=pink| Easy<br />
| Remote discovery of node's wallet addresses<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132272 99.99%]<br />
|-<br />
| [[#CVE-2013-2273|CVE-2013-2273]]<br />
| 2013-01-30<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=lime| Exposure<ref name="Exposure"/><br />
|bgcolor=yellow| Easy<br />
| Predictable change output<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132273 99.99%]<br />
|-<br />
| [[#CVE-2013-2292|CVE-2013-2292]]<br />
| 2013-01-30<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=lime| Hard<br />
| A transaction that takes at least 3 minutes to verify<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132292 0%]<br />
|-<br />
| '''[[CVE-2013-2293]]'''<br />
| 2013-02-14<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Continuous hard disk seek<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132293 99.99%]<br />
|-<br />
| [[#CVE-2013-3219|CVE-2013-3219]]<br />
| 2013-03-11<br />
| bitcoind and Bitcoin-Qt 0.8.0<br />
|bgcolor=pink| Fake Conf<ref name="FakeConf"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Unenforced block protocol rule<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20133219 100%]<br />
|-<br />
| [[#CVE-2013-3220|CVE-2013-3220]]<br />
| 2013-03-11<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=lime| Hard<br />
| Inconsistent BDB lock limit interactions<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20133220 99.99%]<br />
|-<br />
| [[#BIP-0034|BIP 0034]]<br />
| 2013-03-25<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Height in coinbase<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/BIP-0034.html 100%]<br />
|-<br />
| [[#BIP-0050|BIP 0050]]<br />
| 2013-05-15<br />
| All Bitcoin clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Implicit<ref name="hardfork">This is a protocol "hard-fork" that old clients will reject as invalid and must therefore not be used.</ref><br />
| Hard fork to remove txid limit protocol rule<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?50 99.99%]<br />
|-<br />
| [[#CVE-2013-4627|CVE-2013-4627]]<br />
| 2013-06-??<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=yellow| Easy<br />
| Memory exhaustion with excess tx message data<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20134627 99%]<br />
|-<br />
| [[#CVE-2013-4165|CVE-2013-4165]]<br />
| 2013-07-20<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Theft<ref name="theft-local-timing">Local attacker could potentially determine the RPC passphrase via a timing sidechannel.</ref><br />
|bgcolor=lime| Local<br />
| Timing leak in RPC authentication<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20134165 99%]<br />
|-<br />
| [[#CVE-2013-5700|CVE-2013-5700]]<br />
| 2013-09-04<br />
| bitcoind and Bitcoin-Qt 0.8.x<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Remote p2p crash via bloom filters<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20135700 99%]<br />
|-<br />
| [[#CVE-2014-0160|CVE-2014-0160]]<br />
| 2014-04-07<br />
| Anything using OpenSSL for TLS<br />
|bgcolor=pink| Unknown<ref name="Unknown"/><br />
|bgcolor=pink| Easy<br />
| Remote memory leak via payment protocol<br />
| Unknown<br />
|-<br />
| CVE-2015-3641<br />
| 2014-07-07<br />
| bitcoind and Bitcoin-Qt prior to 0.10.2<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| (Yet) Unspecified DoS<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20135700 99.9%]<br />
|-<br />
| BIP 66<br />
| 2015-02-13<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Strict DER signatures<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?66 99%]<br />
|-<br />
| BIP 65<br />
| 2015-11-12<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: OP_CHECKLOCKTIMEVERIFY<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?65 99%]<br />
|-<br />
| BIPs 68, 112 & 113<br />
| 2016-04-11<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softforks: Rel locktime, CSV & MTP locktime<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?68 99%]<br />
|-<br />
| BIPs 141, 143 & 147<br />
| 2016-10-27<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Segwit<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?141 99%]<br />
|-<br />
| [[#CVE-2016-8889|CVE-2016-8889]]<br />
| 2016-10-27<br />
| Bitcoin Knots GUI 0.11.0 - 0.13.0<br />
|bgcolor=yellow| Exposure<br />
|bgcolor=lime| Hard<br />
| Debug console history storing sensitive info<br />
|bgcolor=lime| 100%<br />
|-<br />
| CVE-2017-9230<br />
| ?<br />
| Bitcoin<br />
| ?<br />
| ?<br />
| ASICBoost<br />
|bgcolor=pink| 0%<br />
|-<br />
| BIP 148<br />
| 2017-03-12<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Segwit UASF<br />
| ?<br />
|-<br />
| [[#CVE-2017-12842|CVE-2017-12842]]<br />
| 2018-06-09<br />
|<br />
|<br />
|<br />
| No commitment to block merkle tree depth<br />
|<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016189.html CVE-2016-10724]<br />
| 2018-07-02<br />
| bitcoind and Bitcoin-Qt prior to 0.13.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Keyholders<ref name="KeyholderEasy">Attacking requires signing with the publicly-disclosed alert key</ref><br />
| Alert memory exhaustion<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201610724 99%]<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016189.html CVE-2016-10725]<br />
| 2018-07-02<br />
| bitcoind and Bitcoin-Qt prior to 0.13.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Keyholders<ref name="KeyholderEasy">Attacking requires signing with the publicly-disclosed alert key</ref><br />
| Final alert cancellation<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201610724 99%]<br />
|-<br />
| [[#CVE-2018-17144|CVE-2018-17144]]<br />
| 2018-09-17<br />
| bitcoind and Bitcoin-Qt prior to 0.16.3<br />
|bgcolor=pink| Inflation<ref name="inflation"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Missing check for duplicate inputs<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201817144 80%]<br />
|-<br />
| [https://medium.com/@lukedashjr/cve-2018-20587-advisory-and-full-disclosure-a3105551e78b CVE-2018-20587]<br />
| 2019-02-08<br />
| Bitcoin Knots prior to 0.17.1, and all current Bitcoin Core releases<br />
|bgcolor=pink| Theft<ref name="theft-local-timing">Local attacker could potentially determine the RPC passphrase via a timing sidechannel.</ref><br />
|bgcolor=lime| Local<br />
| No alert for RPC service binding failure<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201820587 <1%]<br />
|-<br />
| [[#CVE-2017-18350|CVE-2017-18350]]<br />
| 2019-06-22<br />
| bitcoind and Bitcoin-Qt prior to 0.15.1<br />
|bgcolor=pink| Unknown<br />
|bgcolor=pink| Varies<ref>Depends on software configuration</ref><br />
| Buffer overflow from SOCKS proxy<br />
|bgcolor=yellow| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201718350 94%]<br />
|-<br />
| [[#CVE-2018-20586|CVE-2018-20586]]<br />
| 2019-06-22<br />
| bitcoind and Bitcoin-Qt prior to 0.17.1<br />
|bgcolor=lime| Deception<br />
|bgcolor=lime| RPC access<br />
| Debug log injection via unauthenticated RPC<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201820586 77%]<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-12998]<br />
| 2019-08-30<br />
| c-lightning prior to 0.7.1<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-12999]<br />
| 2019-08-30<br />
| lnd prior to 0.7<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO amount<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-13000]<br />
| 2019-08-30<br />
| eclair prior to 0.3<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO<br />
|-<br />
| [[#CVE-2020-14199|CVE-2020-14199]]<br />
| 2020-06-03<br />
| Trezor and others<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Social<ref>User must be tricked into cooperating (social engineering)</ref><br />
| Double-signing can enable unintended fees<br />
|-<br />
| [https://invdos.net/ CVE-2018-17145]<br />
| 2020-09-09<br />
| Bitcoin Core prior to 0.16.2<br>Bitcoin Knots prior to 0.16.1<br>Bcoin prior to 1.0.2<br>Btcd prior to 0.21.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| p2p memory blow-up<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201817145 87%]<br />
|-<br />
| [[#CVE-2020-26895|CVE-2020-26895]]<br />
| 2020-10-08<br />
| lnd prior to 0.10<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing low-S normalization for HTLC signatures<br />
|-<br />
| [[#CVE-2020-26896|CVE-2020-26896]]<br />
| 2020-10-08<br />
| lnd prior to 0.11<br />
|bgcolor=pink| Theft<br />
|bgcolor=yellow | Varies<ref>Depends on node configuration, only affects routable merchants, requires external knowledge of receiver's invoices and/or luck to identify receiver, only works against single-shot HTLCs (legacy or MPP)</ref><br />
| Invoice preimage extraction via forwarded HTLC<br />
|-<br />
| CVE-2020-14198<br />
| <br />
| Bitcoin Core 0.20.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Remote DoS<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?202014198 93%]<br />
|-<br />
| [[#CVE-2021-3401|CVE-2021-3401]]<br />
| 2021-02-01<br />
| Bitcoin Core GUI prior to 0.19.0<br>Bitcoin Knots GUI prior to 0.18.1<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Hard<br />
| Qt5 remote execution<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20213401 64%]<br />
|-<br />
| [[#CVE-2021-31876|CVE-2021-31876]]<br />
| 2021-05-06<br />
| Various wallets<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41591<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41592<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41593<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| BIPs 341-343<br />
| 2021-11-13<br />
| All Bitcoin nodes<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Taproot<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?343 57%]<br />
|-<br />
| [https://github.com/spesmilo/electrum/security/advisories/GHSA-4fh4-hx35-r355 CVE-2022-31246]<br />
| 2022-06-07<br />
| Electrum 2.1 until before 4.2.2<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Social<br />
|<br />
|-<br />
| CVE-2023-50428<br />
| 2023<br />
| All Bitcoin nodes<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Bypass of datacarriersize limit using OP_FALSE,OP_IF<br />
|<br />
|}<br />
<br />
<references/><br />
<br />
__NOTOC__<br />
<br />
== CVE-2010-5137 ==<br />
<br />
<b>Date:</b> 2010-07-28<br />
<b>Summary:</b> OP_LSHIFT crash<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.4 || 0.3.5<br />
|}<br />
<br />
On July 28 2010, two bugs were discovered and demonstrated on the test network. One caused bitcoin to crash on some machines when processing a transaction containing an OP_LSHIFT. This was never exploited on the main network, and was fixed by Bitcoin version 0.3.5.<br />
<br />
After these bugs were discovered, many currently-unused script words were disabled for safety.<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5137 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5141 ==<br />
<br />
<b>Date:</b> 2010-07-28<br />
<b>Summary:</b> ?<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.4 || 0.3.5<br />
|}<br />
<br />
On July 28 2010, two bugs were discovered and demonstrated on the test network. One exploited a bug in the transaction handling code and allowed an attacker to spend coins that they did not own. This was never exploited on the main network, and was fixed by Bitcoin version 0.3.5.<br />
<br />
After these bugs were discovered, many currently-unused script words were disabled for safety.<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5141 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5138 ==<br />
<br />
<b>Date:</b> 2010-07-29<br />
<b>Summary:</b> Unlimited SigOp DoS<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.? || 0.3.?<br />
|}<br />
<br />
On July 29 2010, it was discovered that block [http://blockexplorer.com/block/00000000000997f9fd2fe1ee376293ef8c42ad09193a5d2086dddf8e5c426b56 71036] contained several transactions with a ton of OP_CHECKSIG commands. There should only ever be one such command. This caused every node to do extra unnecessary work, and it could have been used as a denial-of-service attack. A new version of Bitcoin was quickly released. The new version did not cause a fork on the main network, though it did cause one on the test network (where someone had played around with the attack more).<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5138 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5139 ==<br />
{{main|CVE-2010-5139}}<br />
<b>Date:</b> 2010-08-15<br />
<b>Summary:</b> Combined output overflow<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.10 || 0.3.11<br />
|}<br />
<br />
On August 15 2010, it was [http://bitcointalk.org/index.php?topic=822.0 discovered] that block 74638 contained a transaction that created over 184 billion bitcoins for two different addresses. This was possible because the code used for checking transactions before including them in a block didn't account for the case of outputs so large that they overflowed when summed. A new version was published within a few hours of the discovery. The block chain had to be forked. Although many unpatched nodes continued to build on the "bad" block chain, the "good" block chain overtook it at a block height of 74691. The bad transaction no longer exists for people using the longest chain.<br />
<br />
The block and transaction:<br />
<pre>CBlock(hash=0000000000790ab3, ver=1, hashPrevBlock=0000000000606865, hashMerkleRoot=618eba,<br />
nTime=1281891957, nBits=1c00800e, nNonce=28192719, vtx=2)<br />
CTransaction(hash=012cd8, ver=1, vin.size=1, vout.size=1, nLockTime=0)<br />
CTxIn(COutPoint(000000, -1), coinbase 040e80001c028f00)<br />
CTxOut(nValue=50.51000000, scriptPubKey=0x4F4BA55D1580F8C3A8A2C7)<br />
CTransaction(hash=1d5e51, ver=1, vin.size=1, vout.size=2, nLockTime=0)<br />
CTxIn(COutPoint(237fe8, 0), scriptSig=0xA87C02384E1F184B79C6AC)<br />
CTxOut(nValue=92233720368.54275808, scriptPubKey=OP_DUP OP_HASH160 0xB7A7)<br />
CTxOut(nValue=92233720368.54275808, scriptPubKey=OP_DUP OP_HASH160 0x1512)<br />
vMerkleTree: 012cd8 1d5e51 618eba<br />
<br />
Block hash: 0000000000790ab3f22ec756ad43b6ab569abf0bddeb97c67a6f7b1470a7ec1c<br />
Transaction hash: 1d5e512a9723cbef373b970eb52f1e9598ad67e7408077a82fdac194b65333c9</pre><br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=822.0 Discovery]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5139 US-CERT/NIST]<br />
<br />
== CVE-2010-5140 ==<br />
<br />
<b>Date:</b> 2010-09-29<br />
<b>Summary:</b> Never confirming transactions<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.12 || 0.3.13<br />
|}<br />
<br />
Around September 29, 2010, people started [https://bitcointalk.org/index.php?topic=1306.0 reporting] that their sent transactions would not confirm. This happened because people modified Bitcoin to send sub-0.01 transactions without any fees. A 0.01 fee was at that time required by the network for such transactions (essentially prohibiting them), so the transactions remained at 0 confirmations forever. This became a more serious issue because Bitcoin would send transactions using bitcoins gotten from transactions with 0 confirmations, and these resulting transactions would also never confirm. Because Bitcoin tends to prefer sending smaller coins, these invalid transactions quickly multiplied, contaminating the wallets of everyone who received them.<br />
<br />
Bitcoin was changed to only select coins with at least 1 confirmation. The remaining sub-0.01 transactions were cleared by generators who modified their version of Bitcoin to not require the micropayment fee. It took a while for everything to get cleared, though, because many of the intermediate transactions had been forgotten by the network by this point and had to be rebroadcast by the original senders.<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=1306.0 Initial reports]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5140 US-CERT/NIST]<br />
<br />
<br />
== CVE-2011-4447 ==<br />
<br />
<b>Date:</b> 2011-11-11<br />
<b>Summary:</b> Wallet non-encryption<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || 0.4.0 - 0.4.1rc6 || 0.4.1<br>0.5.0<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=51604.0 Announcement]<br />
* [https://bitcointalk.org/index.php?topic=51474.0 Finding]<br />
* [http://bitcoin.org/releases/2011/11/21/v0.5.0.html 0.5.0]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4447 US-CERT/NIST]<br />
<br />
<br />
== CVE-2012-1909 ==<br />
<br />
<b>Date:</b> 2012-03-07<br />
<b>Summary:</b> Transaction overwriting<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin protocol || Before March 15th, 2012 || BIP 30<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.4rc2<br>0.5.0rc1 - 0.5.0.4rc2<br>0.5.1rc1 - 0.5.3rc2<br>0.6.0rc1 - 0.6.0rc2 || 0.4.4<br>0.5.0.4<br>0.5.3<br>0.6.0rc3<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=67738.0 Announcement]<br />
* [https://en.bitcoin.it/wiki/BIP_0030 Fix]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=407793 Gentoo bug tracker]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1909 US-CERT/NIST]<br />
<br />
== CVE-2012-1910 ==<br />
<br />
<b>Date:</b> 2012-03-17<br />
<b>Summary:</b> Non-thread safe MingW exceptions<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind for Windows<br>Bitcoin-Qt for Windows || 0.5.0rc1 - 0.5.0.4<br>0.5.1rc1 - 0.5.3.0<br>0.6.0rc1 - 0.6.0rc3 || 0.5.0.5<br>0.5.3.1<br>0.5.4<br>0.6.0rc4<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=69120.0 Announcement]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1910 US-CERT/NIST]<br />
* [http://gavintech.blogspot.com/2012/03/full-disclosure-bitcoin-qt-on-windows.html Full disclosure]<br />
<br />
== BIP-0016 ==<br />
<br />
<b>Date:</b> 2012-04-01<br />
<b>Summary:</b> Mandatory P2SH protocol update<br />
<b>Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.4<br>0.5.0rc1 - 0.5.0.5<br>0.5.1rc1 - 0.5.3<br>0.6.0rc1 || 0.4.5<br>0.5.0.6<br>0.5.4rc1<br>0.6.0rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0016]]<br />
<br />
== CVE-2012-2459 ==<br />
<br />
<b>Date:</b> 2012-05-14<br />
<b>Summary:</b> Block hash collision (via merkle tree)<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.6rc1<br>0.5.0rc1 - 0.5.5rc1<br>0.6.0rc1 - 0.6.0.7rc1<br>0.6.1rc1 - 0.6.1rc1 || 0.4.6<br>0.5.5<br>0.6.0.7<br>0.6.1rc2<br />
|}<br />
<br />
Block hash collisions can easily be made by duplicating transactions in the merkle tree.<br />
Such a collision is invalid, but if recorded (as Bitcoin-Qt and bitcoind prior to 0.6.1 did) would prevent acceptance of the legitimate block with the same hash.<br />
This could be used to fork the blockchain, including deep double-spend attacks.<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/?topic=81749 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=415973 Gentoo bug tracker]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-2459 US-CERT/NIST]<br />
* [https://bitcointalk.org/?topic=102395 Full Disclosure]<br />
<br />
== CVE-2012-3789 ==<br />
{{main|CVE-2012-3789}}<br />
<b>Date:</b> 2012-06-20<br />
<b>Summary:</b> (Lack of) orphan txn resource limits<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.4.7rc3<br>0.5.6rc3<br>0.6.0.9rc1<br>0.6.3rc1<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-3789]]<br />
* [https://bitcointalk.org/?topic=88734 0.6.3rc1 Announcement]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-3789 US-CERT/NIST]<br />
<br />
== CVE-2012-4682 ==<br />
<br />
<b>Date:</b> <br />
<b>Summary:</b> <br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.4.7rc3<br>0.5.6rc3<br>0.6.0.9rc1<br>0.6.3rc1<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4682]]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=435216 Gentoo bug]<br />
<br />
== CVE-2012-4683 ==<br />
{{main|CVE-2012-4683}}<br />
<b>Date:</b> 2012-08-23<br />
<b>Summary:</b> Targeted DoS by CPU exhaustion using alerts<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.7.0 <br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4683]]<br />
* [https://bitcointalk.org/index.php?topic=148038.0 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=435216 Gentoo bug]<br />
<br />
== CVE-2012-4684 ==<br />
{{main|CVE-2012-4684}}<br />
<b>Date:</b> 2012-08-24<br />
<b>Summary:</b> Network-wide DoS using malleable signatures in alerts<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 - 0.6.3rc1 || 0.7.0 <br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4684]]<br />
* [https://bitcointalk.org/index.php?topic=148109.0 Announcement]<br />
<br />
== CVE-2013-2272 ==<br />
<br />
<b>Date:</b> 2013-01-11<br />
<b>Summary:</b> Remote discovery of node's wallet addresses<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.8rc4<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.10rc4<br>0.6.1rc1 - 0.6.4rc4<br>0.7.0rc1 - 0.7.2 || 0.4.9rc1<br>0.5.8rc1<br>0.6.0.11rc1<br>0.6.5rc1<br>0.7.3rc1<br />
|}<br />
<br />
=== References ===<br />
<br />
* [https://bitcointalk.org/?topic=135856 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2273 ==<br />
<br />
<b>Date:</b> 2013-01-30<br />
<b>Summary:</b> Predictable change output<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.8rc4<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.10rc4<br>0.6.1rc1 - 0.6.4rc4<br>0.7.0rc1 - 0.7.2 || 0.4.9rc1<br>0.5.8rc1<br>0.6.0.11rc1<br>0.6.5rc1<br>0.7.3rc1<br />
|}<br />
<br />
=== References ===<br />
<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2292 ==<br />
<br />
<b>Date:</b> 2013-01-30<br />
<b>Summary:</b> A transaction that takes at least 3 minutes to verify<br />
<b>Fix Deployment:</b> 0%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || All versions || No fix yet<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2013-2292]]<br />
* [https://bitcointalk.org/?topic=140078 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2293 ==<br />
{{main|CVE-2013-2293}}<br />
<b>Date:</b> 2013-02-14<br />
<b>Summary:</b> Continuous hard disk seek<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.7.3rc1 || No fix yet (0.8.0 unaffected)<br />
|}<br />
<br />
=== References ===<br />
<br />
* [[CVE-2013-2293]]<br />
* [https://bitcointalk.org/?topic=144122 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-3219 ==<br />
<br />
<b>Date:</b> 2013-03-11<br />
<b>Summary:</b> Unenforced block protocol rule<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.8.0rc1 - 0.8.0 || 0.8.1<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050|BIP 50]]<br />
<br />
== CVE-2013-3220 ==<br />
<br />
<b>Date:</b> 2013-03-11<br />
<b>Summary:</b> Inconsistent BDB lock limit interactions<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc1<br>0.5.0rc1 - 0.5.8rc1<br>0.6.0rc1 - 0.6.5rc1<br>0.7.0rc1 - 0.7.3rc1 || 0.4.9rc2<br>0.5.8rc2<br>0.6.5rc2<br>0.7.3rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050|BIP 50]]<br />
<br />
== BIP-0034 ==<br />
<br />
<b>Date:</b> 2013-03-25<br />
<b>Summary:</b> Mandatory block protocol update<br />
<b>Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.9<br>0.6.1rc1 - 0.6.3 || 0.4.8rc1<br>0.5.7rc1<br>0.6.0.10rc1<br>0.6.4rc1<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0034]]<br />
<br />
== BIP-0050 ==<br />
<br />
<b>Date:</b> 2013-05-15<br />
<b>Summary:</b> Hard fork to remove txid limit protocol rule<br />
<b>Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc1<br>0.5.0rc1 - 0.5.8rc1<br>0.6.0rc1 - 0.6.5rc1<br>0.7.0rc1 - 0.7.3rc1 || 0.4.9rc2<br>0.5.8rc2<br>0.6.5rc2<br>0.7.3rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050]]<br />
<br />
== CVE-2013-4627 ==<br />
<br />
<b>Date:</b> 2013-06-??<br />
<b>Summary:</b> Memory exhaustion with excess tx message data<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc3<br>0.5.0rc1 - 0.5.8rc3<br>0.6.0rc1 - 0.6.5rc3<br>0.7.0rc1 - 0.7.3rc3<br>0.8.0rc1 - 0.8.3 || 0.4.9rc4<br>0.5.8rc4<br>0.6.5rc4<br>0.7.3rc4<br>0.8.4<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
<br />
== CVE-2013-4165 ==<br />
<br />
<b>Date:</b> 2013-07-20<br />
<b>Summary:</b> Timing leak in RPC authentication<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc3<br>0.5.0rc1 - 0.5.8rc3<br>0.6.0rc1 - 0.6.5rc3<br>0.7.0rc1 - 0.7.3rc3<br>0.8.0rc1 - 0.8.3 || 0.4.9rc4<br>0.5.8rc4<br>0.6.5rc4<br>0.7.3rc4<br>0.8.4rc1<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=287351 Bitcoin-Qt 0.8.4 release notes]<br />
* [https://github.com/bitcoin/bitcoin/issues/2838 The initial bug report]<br />
<br />
== CVE-2013-5700 ==<br />
<br />
<b>Date:</b> 2013-09-04<br />
<b>Summary:</b> Remote p2p crash via bloom filters<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.8.0rc1 - 0.8.3 || 0.8.4rc1<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=287351 Bitcoin-Qt 0.8.4 release notes]<br />
* [https://github.com/bitcoin/bitcoin/commit/37c6389c5a0ca63ae3573440ecdfe95d28ad8f07 The fix]<br />
* [https://github.com/bitcoin/bitcoin/pull/18515 An added test]<br />
<br />
== CVE-2016-8889 ==<br />
<br />
<b>Date:</b> 2016-10-27<br />
<b>Summary:</b> Debug console history storing sensitive info<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Knots GUI || 0.11.0 - 0.13.0 || 0.13.1<br />
|}<br />
<br />
=== References ===<br />
* [https://github.com/bitcoinknots/bitcoin/blob/v0.13.1.knots20161027/doc/release-notes.md Bitcoin Knots 0.16.1.knots20161027 release notes]<br />
* [https://nvd.nist.gov/vuln/detail/CVE-2016-8889 US-CERT/NIST]<br />
<br />
== CVE-2017-12842 ==<br />
<br />
<b>Date:</b> 2018-06-09<br />
<b>Summary:</b> No commitment to block merkle tree depth<br />
<br />
=== References ===<br />
* [https://bitslog.wordpress.com/2018/06/09/leaf-node-weakness-in-bitcoin-merkle-tree-design/ Explanation by Sergio Demian Lerner]<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-February/016697.html Further elaboration by Suhas Daftuar]<br />
<br />
== CVE-2017-18350 ==<br />
<br />
<b>Date:</b> 2019-06-22<br />
<b>Summary:</b> Buffer overflow from SOCKS proxy<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.7.0rc1 - 0.15.0 || 0.15.1rc1<br />
|}<br />
<br />
=== References ===<br />
* [https://medium.com/@lukedashjr/cve-2017-18350-disclosure-fe6d695f45d5 Disclosure of details]<br />
<br />
== CVE-2018-17144 ==<br />
<br />
<b>Date:</b> 2018-09-17<br />
<b>Summary:</b> Missing check for duplicate inputs<br />
<b>Fix Deployment:</b> 31%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.14.0rc1 - 0.14.2<br>0.15.0rc1 - 0.15.1<br>0.16.0rc1 - 0.16.2 || 0.14.3<br>0.15.2<br>0.16.3<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcoincore.org/en/2018/09/20/notice/ Full disclosure by Bitcoin Core]<br />
* [https://bitcoincore.org/en/2018/09/18/release-0.16.3/ Bitcoin Core 0.16.3 release notes]<br />
* [https://github.com/bitcoinknots/bitcoin/blob/v0.16.3.knots20180918/doc/release-notes.md Bitcoin Knots 0.16.3.knots20180918 release notes]<br />
* [https://nvd.nist.gov/vuln/detail/CVE-2018-17144 US-CERT/NIST]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=666669 Gentoo bug]<br />
<br />
== CVE-2018-20586 ==<br />
<br />
<b>Date:</b> 2019-06-22<br />
<b>Summary:</b> Debug log injection via unauthenticated RPC<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.12.0rc1 - 0.17.0 || 0.17.1rc1<br />
|}<br />
<br />
== CVE-2020-14199 ==<br />
<br />
<b>Date:</b> 2020-06-03<br />
<b>Summary:</b> Double-signing can enable unintended fees<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Trezor One || || 1.9.1<br />
|-<br />
| Trezor Model T || || 2.3.1<br />
|-<br />
| ???<br />
|}<br />
<br />
=== References ===<br />
* [https://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1-9-1-and-trezor-model-t-version-2-3-1-1eba8f60f2dd Disclosure of details by Trezor team]<br />
<br />
== CVE-2020-26895 ==<br />
<br />
<b>Date:</b> 2020-10-08<br />
<b>Summary:</b> Missing low-S normalization for HTLC signatures.<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| lnd || || 0.10.0<br />
|}<br />
<br />
=== References ===<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002858.html CVE-2020-26895: LND Low-S Tx-Relay Standardness]<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002856.html Full Disclosure: Full Disclosure: CVE-2020-26895 LND "Hodl my Shitsig"]<br />
<br />
== CVE-2020-26896 ==<br />
<br />
<b>Date:</b> 2020-10-08<br />
<b>Summary:</b> Invoice preimage extraction via forwarded HTLC.<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| lnd || || 0.11.0<br />
|}<br />
<br />
=== References ===<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002857.html CVE-2020-26896: LND Invoice Preimage Extraction]<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002855.html Full Disclosure: CVE-2020-26896 LND "The (un)covert channel"]<br />
<br />
== CVE-2021-3401 ==<br />
<br />
<b>Date:</b> 2021-02-01<br />
<b>Summary:</b> Qt5 remote execution<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Core GUI || || 0.19.0<br />
|-<br />
| Bitcoin Knots GUI || || 0.18.1<br />
|}<br />
<br />
== CVE-2021-31876 ==<br />
<br />
<b>Date:</b> 2021-05-06<br />
<br />
=== References ===<br />
<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-May/018893.html Full Disclosure: CVE-2021-31876 Defect in Bitcoin Core's bip125 logic]<br />
<br />
=== References ===<br />
* [https://achow101.com/2021/02/0.18-uri-vuln URI Argument Injection Vulnerability in Bitcoin Core 0.18 and Earlier]<br />
<br />
==Definitions==<br />
<br />
A critical vulnerability is one that will have disastrous consequences if it is exploited. A serious vulnerability is one that will have serious consequences if it is exploited<ref>[http://bitcointalk.org/index.php?topic=88892.0 http://bitcointalk.org/index.php?topic=88892.0]</ref>.<br />
<br />
==See Also==<br />
<br />
* [[Changelog]]<br />
* https://blog.bitmex.com/bitcoins-consensus-forks/<br />
<br />
== CVE-2023-50428 ==<br />
<br />
<b>Date:</b> 2023<br />
<b>Summary:</b> Bypass of datacarriersize limit using OP_FALSE,OP_IF<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Core || 0.9 and later || NOT FIXED<br />
|-<br />
| Bitcoin Knots || 0.9 - 23.0 || 25.1.knots20231115<br />
|-<br />
| btcd || ? || NOT FIXED<br />
|-<br />
| libbitcoin || ? || NOT FIXED<br />
|}<br />
<br />
==References==<br />
<references /><br />
<br />
[[Category:Security]]<br />
<br />
{{Bitcoin Core documentation}}</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Comparison_of_mining_pools&diff=69930Comparison of mining pools2023-12-02T04:22:46Z<p>Luke-jr: Add OCEAN and TIDES</p>
<hr />
<div>Reward types & explanation:<br />
* '''CPPSRB''' - Capped Pay Per Share with Recent Backpay. [http://eligius.st/wiki/index.php/Capped_PPS_with_Recent_Backpay]<br />
* '''DGM''' - Double Geometric Method. A hybrid between PPLNS and Geometric reward types that enables to operator to absorb some of the variance risk. Operator receives portion of payout on short rounds and returns it on longer rounds to normalize payments. [https://bitcointalk.org/index.php?topic=39497.0]<br />
* '''ESMPPS''' - Equalized Shared Maximum Pay Per Share. Like SMPPS, but equalizes payments fairly among all those who are owed. [http://bitcointalk.org/index.php?topic=12181.msg378851#msg378851]<br />
* '''POT''' - Pay On Target. A high variance PPS variant that pays on the difficulty of work returned to pool rather than the difficulty of work served by pool [https://bitcointalk.org/index.php?topic=131376.0]<br />
* '''PPLNS''' - Pay Per Last N Shares. Similar to proportional, but instead of looking at the number of shares in the round, instead looks at the last N shares, regardless of round boundaries.<br />
* '''PPLNSG''' - Pay Per Last N Groups (or shifts). Similar to PPLNS, but shares are grouped into "shifts" which are paid as a whole.<br />
* '''PPS''' - Pay Per Share. Each submitted share is worth certain amount of BTC. Since finding a block requires <current difficulty> shares ''on average'', a PPS method with 0% fee would be 6.25 BTC divided by <current difficulty>. It is risky for pool operators, hence the fee is highest.<br />
* '''Prop.''' - Proportional. When block is found, the reward is distributed among all workers proportionally to how much shares each of them has found.<br />
* '''RSMPPS''' - Recent Shared Maximum Pay Per Share. Like SMPPS, but system aims to prioritize the most recent miners first. [http://eligius.st/wiki/index.php/Shared_Maximum_PPS]<br />
* '''Score''' - Score based system: a proportional reward, but weighed by time submitted. Each submitted share is worth more in the function of time ''t'' since start of current round. For each share score is updated by: score += exp(t/C). This makes later shares worth much more than earlier shares, thus the miner's score quickly diminishes when they stop mining on the pool. Rewards are calculated proportionally to scores (and not to shares). (at slush's pool C=300 seconds, and every hour scores are normalized)<br />
* '''SMPPS''' - Shared Maximum Pay Per Share. Like Pay Per Share, but never pays more than the pool earns. [http://eligius.st/wiki/index.php/Shared_Maximum_PPS]<br />
* '''FPPS''' - Full Pay Per Share. Similar to PPS,but not only divide regular block reward (6.25 BTC for now) but also some of the transaction fees. Calculate a standard transaction fee within a certain period and distribute it to miners according to their hash power contributions in the pool. It will increase the miners' earnings by sharing some of the transaction fees.<br />
* '''TIDES''' - Transparent Index of Distinct Extended Shares. As blocks are being mined, they generate the reward by a weighted percentage of effort to the most recently found proofs. The proof period funds are distributed across has been chosen such that each proof should be paid on average 8 times. Instead of a set amount of bitcoins per proof, the block reward is divided by percent, so transaction fees are included.<br />
<br />
A statistically valid analysis of some pools and their payout methods: [http://organofcorti.blogspot.com/ Bitcoin network and pool analysis]<br />
<br />
== Operational Pools ==<br />
<br />
The following mining pools are still running and paying out their users:<br />
<br />
{| class="wikitable sortable" border="1"<br />
|-<br />
! Name !! Location !! Size<ref name="hashrate2"/><br />
! Merged Mining<ref name="merged"/><br />
! Reward Type !! Transaction fees!!PPS Fee!!Other Fee!! [[File:Stm.png|link=Stratum_mining_protocol]] !! [[getblocktemplate|GBT]]<br />
! Launched !! Variance !! Forum !! Website<br />
|-<br />
| [[AntPool]] || China || Large || No || PPLNS & PPS || {{PoolFees}} || 2.5% || 0% || {{Yes}} || {{No}}<br />
| ? || ? || [https://bitcointalk.org/index.php?topic=855548 link] || [https://www.antpool.com/ link]<br />
|-<br />
| [[BCMonster.com]] ||{{flag|us|}}{{flag|eu}}{{flag|cn|}} || Small || No || PPLNS || {{SharedFees}} || || 0.5% || {{Yes}} || {{No}}<br />
| 2016-01-13 || Dynamic || [https://bitcointalk.org/index.php?topic=1327077.0 link] || [http://www.bcmonster.com link]<br />
|-<br />
| [[BTC.com]] || {{flag|cn}}{{flag|us|}}{{flag|eu}} || Medium || [[NMC]] || FPPS || {{SharedFees}} || 0% || 4% || {{Yes}} || {{No}}<br />
| 2016-09-13 || User || [https://bitcointalk.org/index.php?topic=1827718.0 link] || [https://pool.btc.com/ link]<br />
|-<br />
| [[BTCC Pool]] || China, Japan || Large || [[NMC]] || PPS || {{PoolFees}} || 2.0% || 0% || {{Yes}} || {{Yes}}<br />
| 2014-10-21 || Dynamic || ? || [https://pool.btcc.com link]<br />
|-<br />
| [[BW Mining]] || China || Medium || ? || PPLNS & PPS || ? || ? || ? || {{Yes}} ||<br />
| ? || ? || ? || [https://www.bw.com/pool link]<br />
|-<br />
| [[F2Pool]] || {{flag|us|}}{{flag|eu|}}{{flag|cn|}} || Large || NMC, SYS, EMC || PPS+ || {{SharedFees}} || 2.5% || 0% || {{Yes}} || {{No}}<br />
| 2013-05-05 || Dynamic || [https://bitcointalk.org/index.php?topic=700411.0 link] || [https://www.f2pool.com link]<br />
|-<br />
| [[Golden Nonce Pool]] || {{flag|us}}{{flag|eu}}|| Small || No || DGM || {{PoolFees}} || || 0% || {{Yes}} || <br />
| 2018-03-27 || Dynamic || [https://bitcointalk.org/index.php?topic=3208073;all link] || [https://goldennoncepool.com link]<br />
|-<br />
| [[KanoPool]] || {{flag|us}}{{flag|sg}}{{flag|de}}{{flag|jp}}{{flag|nl}} || Medium || No || PPLNSG || {{SharedFees}} || || 0.9% || {{Yes}} || {{No}}<br />
| 2014-09-20 || User<ref name="changeable"/>/Dynamic 18SPM || [https://bitcointalk.org/index.php?topic=789369.0 link] || [http://www.kano.is link]<br />
|-<br />
| [[Merge Mining Pool]] || {{flag|us|label=1}}|| Small || [[NMC]], IXC, [[Devcoin]]<br />
| DGM || {{SharedFees}} || || 1.5% || {{Yes}} || {{No}}<br />
| 2012-01-08 || User<ref name="changeable"/> || [http://bitcointalk.org/?topic=57148 link] || [http://mmpool.org link]<br />
|-<br />
| [[P2Pool]] || Global (p2p) || Small || Merged mining can be done on a "solo mining" basis <ref name="solomm"/> || PPLNS || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2011-06-17 || User<ref name="changeable"/> || [http://bitcointalk.org/?topic=18313 link] ||<br />
|-<br />
|-<br />
| [[Poolin]] || Global || Large ||[[NMC]] VCASH || FPPS || {{SharedFees}} || 2.5% || 0% || {{Yes}} || {{Yes}}<br />
| 2017-10-01 || Dynamic || [https://bitcointalk.org/index.php?topic=5169994.0 link] || [https://poolin.com/ link]<br />
|-<br />
| [[SBICrypto Pool]] || Global || Medium || No || FPPS || {{SharedFees}} || 0% || 0% || {{Yes}} || {{Yes}}<br />
| 2020-11-03 || User<ref name="changeable"/>/Dynamic || || [https://sbicrypto.com/ link]<br />
|-<br />
| [[Slush Pool]]<br />
| Global || Medium || [[NMC]] || Score || {{SharedFees}} || || 2% || {{Yes}} || {{No}}<br />
| 2010-11-27 || User<ref name="changeable"/> || [http://bitcointalk.org/?topic=1976 link] || [https://slushpool.com/ link]<br />
|-<br />
| [[Luxor]] || {{flag|us|label=1}}|| Medium || No || FPPS & PPS || {{SharedFees}} || 2% || 0% || {{Yes}} ||<br />
| 2018-01-01 || VarDiff || || [https://mining.luxor.tech// link]<br />
|-<br />
| [[OCEAN]] || {{flag|us|label=1}}|| Small || No || TIDES || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2011-04-27 || Dynamic || || [http://ocean.xyz link]<br />
|-<br />
|}<br />
<br />
== Defunct Pools ==<br />
<br />
The following pools were once operational but have since shut down. They are listed for historical purposes only.<br />
<br />
{| class="wikitable sortable" border="1"<br />
|-<br />
! Name !! Location !! Size<ref name="hashrate2"/><br />
! Merged Mining<ref name="merged"/><br />
! Reward Type !! Transaction fees!!PPS Fee!!Other Fee!! [[File:Stm.png|link=Stratum_mining_protocol]] !! [[getblocktemplate|GBT]]<br />
! Launched !! Variance !! Forum !! Website<br />
|-<br />
| [[BitcoinAffiliateNetwork]] || {{flag|us|}}{{flag|eu}}{{flag|cn|}}{{flag|nl|}}{{flag|au|}} || ? || [[NMC]] || ? || {{PoolFees}} || ? || ? || {{Yes}} ||<br />
| 2014-07-15 || User/Dynamic || [https://bitcointalk.org/index.php?topic=722202.0 link] || [http://mining.bitcoinaffiliatenetwork.com/ link]<br />
|-<br />
| [[BitMinter]] || {{flag|us}}{{flag|ca|label=1}}{{flag|eu}} || Small || [[NMC]] || PPLNSG || {{SharedFees}} || || 1% || {{Yes}} || {{No}}<br />
| 2011-06-26 || User<ref name="changeable"/>/Dynamic || [https://bitcointalk.org/?topic=788753 link] || [https://bitminter.com link]<br />
|-<br />
| [[BTCDig]] || {{flag|us|label=1}}|| Small || No || DGM || {{PoolFees}} || || 0% || {{Yes}} ||<br />
| 2013-07-04 || User<ref name="changeable"/>/Dynamic 20SPM || [https://bitcointalk.org/index.php?topic=249627 link] || [http://btcdig.com/ link]<br />
|-<br />
| [[btcmp.com]] || {{flag|de|label=1}}|| Small || No || PPS || {{PoolFees}} || 4% || || {{Yes}} ||<br />
| 2011-06-28 || Diff 1 || || [http://www.btcmp.com/ link]<br />
|-<br />
| [[btcZPool.com]] || {{flag|us|label=1}}|| Large || BitCoinZ || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-06-25 || VarDiff || || [http://www.btcZPool.com/ link]<br />
|-<br />
| [[Eligius]] || {{flag|us|label=1}}|| Small || [[NMC]] || CPPSRB || {{SharedFees}} || || 0% || {{Yes}} || {{Yes}}<br />
| 2011-04-27 || Dynamic: 32 shares/m || [https://bitcointalk.org/?topic=441465 link] || [http://eligius.st link]<br />
|-<br />
| [[EMCD Pool]] || CIS, EU, KZ, IR, China || Medium || - || FPPS+ || {{SharedFees}} || 1% || 0% || {{Yes}} || {{No}}<br />
| 2018-01-26 || Dynamic || || [https://pool.emcd.io link]<br />
|-<br />
| [[GHash.IO]] || {{flag|nl|label=1}}|| Small || [[NMC]], IXC, [[Devcoin]] || PPLNS || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2013-07-01 || User<ref name="changeable"/> || [https://support.cex.io link] || [https://ghash.io/ link]<br />
|-<br />
| [[Give Me COINS]] || {{flag|us}}{{flag|eu}} || Small || [[NMC]] || PPLNS || {{SharedFees}} || || 0%|| {{Yes}} || {{Yes}}<br />
| 2013-08-12 || Dynamic || [https://bitcointalk.org/index.php?topic=272017.0 link] || [http://give-me-coins.com link]<br />
|-<br />
| [[Jonny Bravo's Mining Emporium]] ||{{flag|us|}}{{flag|eu}} || Small || No || PPLNS || {{SharedFees}} || || 0.5% || {{Yes}} || {{No}}<br />
| 2015-11-19 || Dynamic || [https://bitcointalk.org/index.php?topic=1330452.0 link] || [http://www.bravo-mining.com link]<br />
|-<br />
| [[kmdPool.org]] || {{flag|us|label=1}}|| Large || Komodo || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-11-25 || VarDiff || || [http://www.kmdPool.org/ link]<br />
|-<br />
| [[MergeMining]] || Global || Small || CRW, DVC, HUC, I0C, IXC, XMY/MYR, NMC, SYS, UNO, TRC, ARG, EMC || PPLNS || {{SharedFees}} || || 1% || {{Yes}} || {{No}}<br />
| 2016-12-01|| User<ref name="changeable"/> || || [https://mergemining.com link]<br />
|-<br />
| [[Multipool]] || {{flag|us}}{{flag|eu}} || Small || [[NMC]] || Score || {{SharedFees}} || || 1.5% || {{Yes}} || {{No}}<br />
| 2012-03-15 || User || [https://bitcointalk.org/index.php?topic=311067.0 link] || [https://www.multipool.us/ link]<br />
|-<br />
| [[ZenPool.org]] || {{flag|us|label=1}}|| Large || ZenCash || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-10-25 || VarDiff || || [http://www.ZenPool.org/ link]<br />
|-<br />
|}<br />
<br />
<br />
== SPV Mining / Old Bitcoin Core ==<br />
<br />
The following pools are known or strongly suspected to be mining on top of blocks before fully validating them with Bitcoin Core 0.9.5 or later. Miners doing this have already lost over $50,000 USD during the 4 July 2015 fork and have created a situation where small numbers of confirmations are much less useful than they normally are.<br />
<br />
* BTC Nuggets<br />
* [https://www.f2pool.com/ F2Pool]<ref name="spv_despite_incident">[https://bitcointalk.org/index.php?topic=700411.msg11790734#msg11790734 Intention to continue SPV mining], Wang Chun, 4 July 2015</ref><br />
* AntPool<ref name="spv_despite_incident" /><br />
<br />
The following pools are believed to be currently fully validating blocks with Bitcoin Core 0.9.5 or later (0.10.2 or later recommended due to DoS vulnerabilities):<br />
<br />
* [[BitMinter]]<br />
* BTC China (described as SPV mining<ref name="spv_despite_incident" />, but they're performing effective valiation)<br />
* [[BTC Public Mining Pool]]<br />
* [[CKPool]]<br />
* [[Eligius]]<br />
* [[Golden Nonce Pool]]<br />
* [[P2Pool]]<br />
* [[Bitcoin Pooled Mining|Slush Pool]]<br />
* [[BCMonster.com]]<br />
* [[Jonny Bravo's Mining Emporium]]<br />
<br />
== References ==<br />
<br />
<references><br />
<br />
<ref name="hashrate2">Note that pool hashrate is largely irrelevant but can be seen as a popularity measurement. It is a theoretical security issue if one pool gains above 50% of the total computational power of the network, thus consider joining a pool based on other metrics. The pool's total hash rate is very dynamic on most pools. Over time, as the network grows, so does most pool's hash rates. The displayed values are the pool's relative sizes based on the network: Small: less than 2%, Medium: 2%-10% Large: greater than 10% of the network.</ref><br />
<br />
<ref name="merged">Merged mining allows miners to mine on multiple [[block chains]] at the same time with the same hashing.</ref><br />
<br />
<ref name="changeable">The difficulty of the shares can be changed by the user.</ref><br />
<ref name="solomm">Merged mining can be done on a "solo mining" basis (payouts in the merged chain are not pooled).</ref><br />
</references><br />
<br />
== See also ==<br />
* [[Pooled mining]]<br />
* [https://www.blocktrail.com/BTC/pools Pool Distribution Summary]<br />
* [https://www.bitcoinmining.com/ Bitcoin Mining]<br />
* [https://www.youtube.com/watch?v=GmOzih6I1zs Video: What is Bitcoin Mining]<br />
* [https://www.bitcoinmining.com/bitcoin-mining-pools/ Bitcoin Mining Pools]<br />
* [https://bitcoinchain.com/pools Bitcoin Mining Pools Comparison]<br />
[[Category:Mining]]<br />
{{Pools}}</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69904Transaction accelerator2023-10-12T20:21:32Z<p>Luke-jr: </p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: As editors, we strive to present you with the most reliable accelerators in the industry. However, we strongly encourage you to conduct your own research by reviewing authentic feedback and verifying the legitimacy of the businesses. It's important to be aware that there are numerous purported transaction accelerators that are, unfortunately, fraudulent schemes. Some of these claim to collaborate with mining pools on your behalf. Yet, due to the challenges in verifying such claims and the past contentious discussions around providing an exhaustive list, we have refined our approach.<br />
<br />
Hence, we are now exclusively listing accelerators that are definitively and verifiably operated by established pools or miners, possessing a minimum of 0.1% of the total network hash rate. This stringent criterion has been adopted to ensure the accuracy and reliability of the information we present.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69885Transaction accelerator2023-08-28T02:57:24Z<p>Luke-jr: </p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: As editors, we strive to present you with the most reliable accelerators in the industry. However, we strongly encourage you to conduct your own research by reviewing authentic feedback and verifying the legitimacy of the businesses. It's important to be aware that there are numerous purported transaction accelerators that are, unfortunately, fraudulent schemes. Some of these claim to collaborate with mining pools on your behalf. Yet, due to the challenges in verifying such claims and the past contentious discussions around providing an exhaustive list, we have refined our approach.<br />
<br />
Hence, we are now exclusively listing accelerators that are definitively and verifiably operated by established pools or miners, possessing a minimum of 0.1% of the total network hash rate. This stringent criterion has been adopted to ensure the accuracy and reliability of the information we present.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69884Transaction accelerator2023-08-28T02:56:56Z<p>Luke-jr: Undo revision 69883 by Apichmedmam (talk)</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: As editors, we strive to present you with the most reliable accelerators in the industry. However, we strongly encourage you to conduct your own research by reviewing authentic feedback and verifying the legitimacy of the businesses. It's important to be aware that there are numerous purported transaction accelerators that are, unfortunately, fraudulent schemes. Some of these claim to collaborate with mining pools on your behalf. Yet, due to the challenges in verifying such claims and the past contentious discussions around providing an exhaustive list, we have refined our approach.<br />
<br />
Hence, we are now exclusively listing accelerators that are definitively and verifiably operated by established pools or miners, possessing a minimum of 0.1% of the total network hash rate. This stringent criterion has been adopted to ensure the accuracy and reliability of the information we present.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tool/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69867Transaction accelerator2023-08-23T14:40:07Z<p>Luke-jr: </p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: As editors, we strive to present you with the most reliable accelerators in the industry. However, we strongly encourage you to conduct your own research by reviewing authentic feedback and verifying the legitimacy of the businesses. It's important to be aware that there are numerous purported transaction accelerators that are, unfortunately, fraudulent schemes. Some of these claim to collaborate with mining pools on your behalf. Yet, due to the challenges in verifying such claims and the past contentious discussions around providing an exhaustive list, we have refined our approach.<br />
<br />
Hence, we are now exclusively listing accelerators that are definitively and verifiably operated by established pools or miners, possessing a minimum of 0.1% of the total network hash rate. This stringent criterion has been adopted to ensure the accuracy and reliability of the information we present.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69860Transaction accelerator2023-08-22T20:00:30Z<p>Luke-jr: </p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: As editors, we strive to present you with the most reliable accelerators in the industry. However, we strongly encourage you to conduct your own research by reviewing authentic feedback and verifying the legitimacy of the businesses. It's important to be aware that there are numerous purported transaction accelerators that are, unfortunately, fraudulent schemes. Some of these claim to collaborate with mining pools on your behalf. Yet, due to the challenges in verifying such claims and the past contentious discussions around providing an exhaustive list, we have refined our approach.<br />
<br />
Hence, we are now exclusively listing accelerators that are definitively and verifiably operated by established pools or miners, possessing a minimum of 0.1% of the total network hash rate. This stringent criterion has been adopted to ensure the accuracy and reliability of the information we present.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69850Transaction accelerator2023-08-19T14:25:06Z<p>Luke-jr: Do not add sites that do not meet the new criteria.</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: As editors, we strive to present you with the most reliable accelerators in the industry. However, we strongly encourage you to conduct your own research by reviewing authentic feedback and verifying the legitimacy of the businesses. It's important to be aware that there are numerous purported transaction accelerators that are, unfortunately, fraudulent schemes. Some of these claim to collaborate with mining pools on your behalf. Yet, due to the challenges in verifying such claims and the past contentious discussions around providing an exhaustive list, we have refined our approach.<br />
<br />
Hence, we are now exclusively listing accelerators that are definitively and verifiably operated by established pools or miners, possessing a minimum of 0.1% of the total network hash rate. This stringent criterion has been adopted to ensure the accuracy and reliability of the information we present.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69840Transaction accelerator2023-08-17T12:50:35Z<p>Luke-jr: </p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: There are many supposed transaction accelerators that are outright scams. Some claim to work with pools on your behalf, but this wiki's editors cannot verify claims, and the prior attempt to provide a more comprehensive list was too heated. Therefore, only accelerators verifiably officially run by a pool or miner with at least 0.1% of network hashrate may be added to the list below.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_accelerator&diff=69837Transaction accelerator2023-08-17T02:03:10Z<p>Luke-jr: /* Bitcoin transaction accelerators */ Limit list to official mining pool accelerators</p>
<hr />
<div>=What to Do if Your Bitcoin Transaction Gets "Stuck"=<br />
<br />
The number of transactions on the Bitcoin network has steadily increased over the years. This means more blocks are filling up. And as not all transactions can be included in the blockchain straight away, backlogs form in miners’ “mempools” (a sort of “transaction queue.”)<br />
<br />
Miners typically pick the transactions that pay the most fees and include these in their blocks first. Transactions that include lower fees are “outbid” on the so called “fee market,” and remain in miners’ mempools until a new block is found. If the transaction is outbid again, it has to wait until the next block.<br />
<br />
This can lead to a suboptimal user experience. Transactions with too low a fee can take hours or even days to confirm, and sometimes never confirm at all.<br />
<br />
==Fee Bumping==<br />
<br />
The recommended approach to "accelerating" a transaction is to perform a [[fee bumping]] methods, either [[replace by fee|replace-by-fee]] (RBF), or [[Transaction fees#Feerates_for_dependent_transactions_.28child-pays-for-parent.29|child-pays-for-parent]] (CPFP), which are available to:<br />
<br />
* Sender of the Bitcoin transaction: Replace-by-fee (RBF), and Child-pays-for-parent (CPFP) <br />
* Recipient of the Bitcoin transaction: Child-pays-for-parent (CPFP)<br />
<br />
==Bitcoin transaction accelerators==<br />
<br />
Caution: There are many supposed transaction accelerators that are outright scams. Some claim to work with pools on your behalf, but this wiki's editors cannot verify claims, and the prior attempt to provide a more comprehensive list was too heated. Therefore, only accelerators verifiably officially run by a pool or miner with at least 0.1% of network hashrate may be added to the list below.<br />
<br />
===Mining Pool Accelerators===<br />
<br />
A mining pool may offer a premium service in which they will prioritize a transaction, usually for a fee. The ability for that pool to get a transaction confirmed is limited to their ability to get a block confirmed -- and most pools have a tiny [https://www.blockchain.com/pools fraction of the hashrate]. For example, if a pool has 10% of the hashrate, they mine about a block every 100 minutes (1 hour and 40 minutes), on average. If a pool has 5% of the hashrate, then they mine one block about every 200 minutes (3 hours and 20 minutes), on average. <br />
<br />
* [https://binance.com Binance Pool] - is a prominent cryptocurrency mining pool operated by Binance, one of the world's leading blockchain and cryptocurrency exchange platforms. In addition to its mining services, Binance Pool offers exclusive transaction acceleration services for VIP users, ensuring swift confirmation of their cryptocurrency transactions.<br />
<br />
* [https://pool.viabtc.com/tools/txaccelerator/ ViaBTC] - Working as of December 30, 2020. ViaBTC implemented this service to protest against the prior 1MB limitation of the Bitcoin network. ViaBTC gives priority to user-submitted transactions for the next mined blocks by the ViaBTC pool. The only requirement is the transaction must include a minimum fee of 10 sat/B. The free-to-use nature of the service may have made it widely popular as every hour, the number of transaction requested reaches its limit (of 100) and it is common to be presented with the message “Submissions are beyond limit. Please try later.” on the top middle of the page. This means one must wait for the next hour to try a new submission. After submitting a transaction, there is a wait for the next block to be mined by ViaBTC Pool.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=User:Chmod755&diff=69829User:Chmod7552023-08-16T03:57:19Z<p>Luke-jr: No scamcoins</p>
<hr />
<div>==Profiles==<br />
* [http://bitcoin-otc.com/viewratingdetail.php?nick=chmod755 Bitcoin OTC]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=User_talk:BitTools&diff=69806User talk:BitTools2023-07-31T12:52:51Z<p>Luke-jr: Created page with "==bitcoin accelerator sites== What is your relationship with the sites you've been adding to the wiki? How do they work? (It seems there are accusations of scam and worse...)..."</p>
<hr />
<div>==bitcoin accelerator sites==<br />
<br />
What is your relationship with the sites you've been adding to the wiki? How do they work? (It seems there are accusations of scam and worse...) Do not add them back until this discussion has been resolved. Thanks. --[[User:Luke-jr|Luke-jr]] ([[User talk:Luke-jr|talk]]) 12:52, 31 July 2023 (UTC)</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Help:Introduction&diff=69760Help:Introduction2023-07-03T13:23:55Z<p>Luke-jr: Update data and remove misinformation</p>
<hr />
<div>The purpose of this page is to provide a general overview of the Bitcoin system and economy.<br />
<br />
==Basic Concepts==<br />
<br />
===Currency===<br />
<br />
Alice wants to buy the [[Alpaca|Alpaca socks]] which Bob has for sale. In return, she must provide something of equal value to Bob. The most efficient way to do this is by using a medium of exchange that Bob accepts which would be classified as currency. Currency makes trade easier by eliminating the need for [https://en.wikipedia.org/wiki/Coincidence_of_wants coincidence of wants] required in other systems of trade such as barter. Currency adoption and acceptance can be global, national, or in some cases local or community-based.<br />
<br />
===Banks===<br />
<br />
Alice need not provide currency to Bob in-person. She may instead transfer this value by first entrusting her currency to a bank who promises to store and protect Alice's currency notes. The bank gives Alice a written promise (called a "bank statement") that entitles her to withdraw the same number of currency bills that she deposited. Since the money is still Alice's, she is entitled to do with it whatever she pleases, and the bank (like most banks), for a small fee, will do Alice the service of passing on the currency bills to Bob on her behalf. This is done by Alice's bank by giving the dollar bills to Bob's bank and informing them that the money is for Bob, who will then see the amount the next time he checks his balance or receives his bank statement.<br />
<br />
Since banks have many customers, and bank employees require money for doing the job of talking to people and signing documents, banks in recent times have been using machines such as ATMs and web servers that do the job of interacting with customers instead of paid bank employees. The task of these machines is to learn what each customer wants to do with their money and, to the extent that it is possible, act on what the customer wants (for example, ATMs can hand out cash). Customers can always know how much money they have in their accounts, and they are confident that the numbers they see in their bank statements and on their computer screens accurately reflect the number of dollars that they can get from the bank on demand. They can be so sure of this that they can accept those numbers in the same way they accept paper banknotes (this is similar to the way people started accepting paper dollars when they had been accepting gold or silver).<br />
<br />
Such a system has several disadvantages:<br />
* It is costly. [https://en.wikipedia.org/wiki/Electronic_funds_transfer EFTs] in Europe can cost 25 euros. Credit transactions can cost several percent of the transaction.<br />
* It is slow. Checking and low cost wire services take days to complete.<br />
* In most cases, it cannot be anonymous.<br />
* Accounts can be frozen, or their balance partially or wholly confiscated.<br />
* Banks and other payment processors like PayPal, Visa, and Mastercard may refuse to process payments for certain legal entities. <br />
<br />
<br />
Bitcoin is a system of owning and voluntarily transferring amounts of so-called ''bitcoins'', in a manner similar to an on-line banking, but pseudonymously and without reliance on a central authority to maintain account balances. If bitcoins are valuable, it is because they are useful and limited in supply.<br />
<br />
==Bitcoin Basics==<br />
<br />
===Creation of coins===<br />
<br />
The creation of coins must be limited for the currency to have any value. <br />
<br />
New coins are slowly [[Mining|mined]] into existence by following a mutually agreed-upon set of rules. A user [[Mining|mining]] bitcoins is running a software program that searches for a solution to a very difficult math problem the difficulty of which is precisely known. This difficulty is automatically adjusted on a predictable schedule so that the number of solutions found globally for a given unit of time is constant: the global system aims for 6 per hour. When a solution is found, the user may tell everyone of the existence of this newly found solution along with other information packaged together in what is called a "[[Block|block]]". The solution itself is a [[Proof of work| proof-of-work]] or PoW. It is hard to find, but easy to verify.<br />
<br />
Blocks create 6.25 new bitcoins at present [July 2023]. This amount, known as the block reward, is an incentive for people to perform the computation work required for generating blocks. Roughly every 4 years, the number of bitcoins that can be "mined" in a block reduces by 50%. Originally the block reward was 50 bitcoins; it halved in November 2012; it then halved again in July 2016. Any block that is created by a malicious user that does not follow this rule (or any other rules) will be rejected by everyone else. In the end, no more than 21 million bitcoins will ever exist. <br />
<br />
Because the block reward will decrease over the long term, miners will some day instead pay for their hardware and electricity costs by collecting [[Transaction_fee|transaction fees]]. The sender of money may voluntarily pay a small transaction fee which will be kept by whoever finds the next block. Paying this fee will encourage miners to include the transaction in a block more quickly.<br />
<br />
===Sending payments===<br />
<br />
To guarantee that a third-party, let's call her Eve, cannot spend other people's bitcoins by creating transactions in their names, Bitcoin uses [[Wikipedia:Public-key_cryptography|public key cryptography]] to make and verify digital signatures. In this system, each person, such as Alice or Bob, has a [[Wallet|wallet]] with one or more private keys. Only the user with the private key can sign a transaction to give some of their bitcoins to somebody else, but anyone can validate the signature using that user’s public key.<br />
<br />
Suppose Alice wants to send a bitcoin to Bob.<br />
* Bob sends his address to Alice.<br />
* Alice adds Bob’s address and the amount of bitcoins to transfer to a message: a 'transaction' message.<br />
* Alice signs the transaction with her private key.<br />
* Alice broadcasts the transaction on the Bitcoin network for all to see.<br />
<br />
(Only the first two steps require human action. The rest is done by the Bitcoin client software.)<br />
<br />
Looking at this transaction from the outside, anyone who knows that this address belongs to Bob can see that someone has agreed to transfer the amount to Bob, because nobody else has the correct private key. Alice would be foolish to give her private key to other people, as this would allow them to sign transactions, removing funds from her control.<br />
<br />
Later on, when Bob wishes to transfer the same bitcoins to Charley, he will do the same thing:<br />
* Charlie sends Bob his address.<br />
* Bob adds Charlie's address and the amount of bitcoins to transfer to a message: a 'transaction' message.<br />
* Bob signs the transaction with his private key.<br />
* Bob broadcasts the transaction on the Bitcoin network for all to see.<br />
<br />
Only Bob can do this because only he has the private key that can create a valid signature for the transaction.<br />
<br />
Eve cannot change whose coins these are by replacing Bob’s address with her address, because Alice signed the transfer to Bob using her own private key, which is kept secret from Eve, and instructing that the coins which were hers now belong to Bob. So, if Charlie accepts that the original coin was in the hands of Alice, he will also accept the fact that this coin was later passed to Bob, and now Bob is passing this same coin to him.<br />
<br />
===Preventing [[double-spending]]===<br />
<br />
The process described above does not prevent Alice from using the same bitcoins in more than one transaction. The following process does; this is the primary innovation behind Bitcoin.<br />
<br />
* Details about the [[Transactions|transaction]] are [[Network|sent and forwarded]] to all or as many other computers as possible.<br />
* A constantly growing chain of [[Blocks|blocks]] that contains a record of all transactions is collectively maintained by all computers (each has a full copy).<br />
* To be accepted in the chain, transaction blocks must be valid and must include [[proof of work]] (one block generated by the network every 10 minutes).<br />
* Blocks are chained in a way so that, if any one is modified, all following blocks will have to be recomputed.<br />
* When multiple valid continuations to this chain appear, only the longest such branch is accepted and it is then extended further.<br />
<br />
When Bob sees that his transaction has been included in a block, which has been made part of the single longest and fastest-growing block chain (extended with significant computational effort), he can be confident that the transaction by Alice has been accepted by the computers in the network and is permanently recorded, preventing Alice from creating a second transaction with the same coin. In order for Alice to thwart this system and double-spend her coins, she would need to muster more computing power than all other Bitcoin users combined.<br />
<br />
===Anonymity===<br />
<br />
When it comes to the Bitcoin network itself, there are no "accounts" to set up, and no e-mail addresses, user-names or passwords are required to hold or spend bitcoins. Each balance is simply associated with an address and its public-private key pair. The money "belongs" to anyone who has the private key and can sign transactions with it. Moreover, those keys do not have to be registered anywhere in advance, as they are only used when required for a transaction. Transacting parties do not need to know each other's identity in the same way that a store owner does not know a cash-paying customer's name.<br />
<br />
===Capitalization / Nomenclature===<br />
<br />
Since Bitcoin is both a currency and a protocol, capitalization can be confusing. Accepted practice is to use ''Bitcoin'' (singular with an upper case letter B) to label the protocol, software, and community, and ''bitcoins'' (with a lower case b) to label units of the currency.<br />
<br />
==See Also==<br />
* [http://bitcoinhelp.net Bitcoin Help] &mdash; the simple guide to Bitcoin.<br />
* Learn the entire history of Bitcoin in the interactive timeline at [http://historyofbitcoin.org History of Bitcoin].<br />
* [https://www.weusecoins.com What Is Bitcoin?]<br />
* [https://www.bitcoinmining.com What Is Bitcoin Mining?]<br />
<br />
[[zh-cn:简介]]<br />
<br />
[[de:Einführung]]<br />
[[fr:Introduction]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=CoinJoin&diff=69758CoinJoin2023-07-03T13:16:32Z<p>Luke-jr: Reverted edits by TheHiddenWiki (talk) to last revision by Jesse.am</p>
<hr />
<div>'''CoinJoin''' is a trustless method for combining multiple Bitcoin payments from multiple spenders into a single transaction to make it more difficult for outside parties to determine which spender paid which recipient or recipients. Unlike many other privacy solutions, coinjoin transactions do not require a modification to the bitcoin protocol.<br />
<br />
This type of transaction was first described in posts<ref>[https://bitcointalk.org/?topic=139581 I taint rich! (Raw txn fun and disrupting 'taint' analysis; >51kBTC linked!)]</ref><ref>[https://bitcointalk.org/?topic=279249 CoinJoin: Bitcoin privacy for the real world]</ref> by gmaxwell.<br />
<br />
==Motivation==<br />
<br />
Bitcoin is often promoted as a tool for privacy but the only privacy that exists in Bitcoin comes from pseudonymous addresses which are fragile and easily compromised through reuse, "taint" analysis, tracking payments, IP address monitoring nodes, web-spidering, and many other mechanisms. Once broken this privacy is difficult and sometimes costly to recover.<br />
<br />
Traditional banking provides a fair amount of privacy by default. Your inlaws don't see that you're buying birth control that deprives them of grandchildren, your employer doesn't learn about the non-profits you support with money from your paycheck, and thieves don't see your latest purchases or how wealthy you are to help them target and scam you. Poor privacy in Bitcoin can be a major practical disadvantage for both individuals and businesses.<br />
<br />
Even when a user ends address reuse by switching to [http://bitcoinism.blogspot.com/2013/07/reclaiming-financial-privacy-with-hd.html BIP 32 address chains], they still have privacy loss from their old coins and the joining of past payments when they make larger transactions.<br />
<br />
Privacy errors can also create externalized costs: You might have good practices but when you trade with people who don't (say ones using "green addresses") you and everyone you trade with loses some privacy. A loss of privacy also presents a grave systemic risk for Bitcoin: If degraded privacy allows people to assemble centralized lists of good and bad coins you may find Bitcoin's fungibility destroyed when your honestly accepted coin is later not honored by others, and its decentralization along with it when people feel forced to enforce popular blacklists on their own coin.<br />
<br />
==Concept==<br />
<br />
The idea is very simple, first some quick background:<br />
<br />
[[Image:Twotx.png|class=fullwidth]]<br />
<br />
A Bitcoin transaction consumes one or more inputs and creates one or more outputs with specified values.<br />
<br />
Each input is an output from a past transaction. For each input there is a distinct signature (scriptsig) which is created in accordance with the rules specified in the past-output that it is consuming (scriptpubkey).<br />
<br />
The Bitcoin system is charged with making sure the signatures are correct, that the inputs exist and are spendable, and that the sum of the output values is less than or equal to the sum of the input values (any excess becomes fees paid to miners for including the transaction).<br />
<br />
It is normal for a transaction to spend many inputs in order to get enough value to pay its intended payment, often also creating an additional 'change' output to receive the unspent (and non-fee) excess.<br />
<br />
There is no requirement that the scriptpubkeys of the inputs used be the same; i.e., no requirement that they be payments to the same address. And, in fact, when Bitcoin is correctly used with one address per payment, none of them will be the same.<br />
<br />
When considering the history of Bitcoin ownership one could look at transactions which spend from multiple distinct scriptpubkeys as co-joining their ownership and make an assumption: How else could the transaction [[Common-input-ownership heuristic|spend from multiple addresses unless a common party controlled those addresses?]]<br />
<br />
In the illustration 'transaction 2' spends coins which were assigned to 1A1 and 1C3. So 1A1 and 1C3 are necessarily the same party?<br />
<br />
This assumption is incorrect. Usage in a single transaction does not prove common control (though it's currently pretty suggestive), and this is what makes '''CoinJoin''' possible:<br />
<br />
The signatures, one per input, inside a transaction are '''completely''' independent of each other. This means that it's possible for Bitcoin users to agree on a set of inputs to spend, and a set of outputs to pay to, and then to individually and separately sign a transaction and later merge their signatures. The transaction is not valid and won't be accepted by the network until all signatures are provided, and no one will sign a transaction which is not to their liking.<br />
<br />
To use this to increase privacy, the N users would agree on a uniform output size and provide inputs amounting to at least that size. The transaction would have N outputs of that size and potentially N more change outputs if some of the users provided input in excess of the target. All would sign the transaction, and then the transaction could be transmitted. No risk of theft at any point.<br />
<br />
In the illustration 'transaction 2' has inputs from 1A1 and 1C3. Say we believe 1A1 is an address used for Alice and 1C3 is an address used for Charlie. Which of Alice and Charlie owns which of the 1D and 1E outputs?<br />
<br />
The idea can also be used more casually. When you want to make a payment, find someone else who also wants to make a payment and make a joint payment together. Doing so doesn't increase privacy much, but it actually makes your transaction smaller and thus easier on the network (and lower in fees); the extra privacy is a perk.<br />
<br />
Such a transaction is externally indistinguishable from a transaction created through conventional use. Because of this, if these transactions become widespread they improve the privacy even of people who do not use them, because no longer will input co-joining be strong evidence of common control.<br />
<br />
There are many variations of this idea possible, and all can coexist because the idea requires no changes to the Bitcoin system. Let a thousand flowers bloom: we can have diversity in ways of accomplishing this and learn the best.<br />
<br />
==Example==<br />
<br />
An example 2-party coinjoin transaction. https://chain.localbitcoins.com/tx/c38aac9910f327700e0f199972eed8ea7c6b1920e965f9cb48a92973e7325046<br />
The outputs to addresses 1MUzngtNnrQRXRqqRTeDmpULW8X1aaGWeR and 1Fufjpf9RM2aQsGedhSpbSCGRHrmLMJ7yY are coinjoined because they are both of value 0.01btc.<br />
<br />
Another example is this 3-party coinjoin. https://chain.localbitcoins.com/tx/92a78def188053081187b847b267f0bfabf28368e9a7a642780ce46a78f551ba<br />
<br />
==FAQ==<br />
<br />
===Don't you need tor or something to prevent everyone from learning everyone's IP?===<br />
<br />
Any transaction privacy system that hopes to hide user's addresses should start with some kind of anonymity network. This is no different. Fortunately networks like Tor, I2P, Bitmessage, and Freenet all already exist and could all be used for this. (Freenet would result in rather slow transactions, however)<br />
<br />
However, gumming up "taint analysis" and reducing transaction sizes doesn't even require that the users be private from each other. So even without things like tor this would be no worse than regular transactions.<br />
<br />
===Don't the users learn which inputs match up to which outputs?===<br />
<br />
In the simplest possible implementation where users meet up on IRC over tor or the like, yes they do. The next simplest implementation is where the users send their input and output information to some meeting point server, and the server creates the transaction and asks people to sign it. The server learns the mapping, but no one else does, and the server still can't steal the coins.<br />
<br />
More complicated implementations are possible where even the server doesn't learn the mapping.<br />
<br />
E.g. Using chaum blind signatures: The users connect and provide inputs (and change addresses) and a cryptographically-blinded version of the address they want their private coins to go to; the server signs the tokens and returns them. The users anonymously reconnect, unblind their output addresses, and return them to the server. The server can see that all the outputs were signed by it and so all the outputs had to come from valid participants. Later people reconnect and sign.<br />
<br />
Similar things can be accomplished with various zero-knowledge proof systems.<br />
<br />
===Does the totally private version need to have a server at all? What if it gets shut down?===<br />
<br />
No. The same privacy can be achieved in a decentralized manner where all users act as blind-signing servers. This ends up needing n^2 signatures, and distributed systems are generally a lot harder to create. I don't know if there is, or ever would be, a reason to bother with a fully distributed version with full privacy, but it's certainly possible.<br />
<br />
===What about DOS attacks? Can't someone refuse to sign even if the transaction is valid?===<br />
<br />
Yes, this can be DOS attacked in two different ways: someone can refuse to sign a valid joint transaction, or someone can spend their input out from under the joint transaction before it completes.<br />
<br />
However, if all the signatures don't come in within some time limit, or a conflicting transaction is created, you can simply leave the bad parties and try again. With an automated process any retries would be invisible to the user. So the only real risk is a persistent DOS attacker.<br />
<br />
In the non-decentralized (or decentralized but non-private to participants) case, gaining some immunity to DOS attackers is easy: if someone fails to sign for an input, you blacklist that input from further rounds. They are then naturally rate-limited by their ability to create more confirmed Bitcoin transactions.<br />
<br />
Gaining DOS immunity in a decentralized system is considerably harder, because it's hard to tell which user actually broke the rules. One solution is to have users perform their activity under a zero-knowledge proof system, so you could be confident which user is the cheater and then agree to ignore them.<br />
<br />
In all cases you could supplement anti-DOS mechanisms with proof of work, a fidelity bond, or other scarce resource usage. But I suspect that it's better to adapt to actual attacks as they arise, as we don't have to commit to a single security mechanism in advance and for all users. I also believe that bad input exclusion provides enough protection to get started.<br />
<br />
===Isn't the anonymity set size limited by how many parties you can get in a single transaction?===<br />
<br />
Not quite. The anonymity set size of a single transaction is limited by the number of parties in it, obviously. And transaction size limits as well as failure (retry) risk mean that really huge joint transactions would not be wise. But because these transactions are cheap, there is no limit to the number of transactions you can cascade.<br />
<br />
In particular, if you can build transactions with m participants per transaction you can create a sequence of m*3 transactions which form a three-stage [http://en.wikipedia.org/wiki/Clos_network switching network] that permits any of m^2 final outputs to have come from any of m^2 original inputs (e.g. using three stages of 32 transactions with 32 inputs each 1024 users can be joined with a total of 96 transactions). This allows the anonymity set to be any size, limited only by participation.<br />
<br />
In practice I expect most users only want to prevent nosy friends (and thieves) from prying into their financial lives, and to recover some of the privacy they lost due to bad practices like address reuse. These users will likely be happy with only a single pass; other people will just operate opportunistically, while others may work to achieve many passes and big anonymity sets. All can coexist.<br />
<br />
===How does this compare to [http://zerocoin.org/ zerocoin]?===<br />
<br />
As a crypto and computer science geek I'm super excited by Zerocoin: the technology behind it is fascinating and important. But as a Bitcoin user and developer the promotion of it as the solution to improved privacy disappoints me.<br />
<br />
Zerocoin has a number of serious limitations: <br />
* It uses cutting-edge cryptography which may turn out to be insecure, and which is understood by relatively few people (compared to ECDSA, for example).<br />
* It produces large (20kbyte) signatures that would bloat the blockchain (or create risk if stuffed in external storage).<br />
* It requires a trusted party to initiate its accumulator. If that party cheats, they can steal coin. (Perhaps fixable with more cutting-edge crypto.)<br />
* Validation is very slow (can process about 2tx per second on a fast CPU), which is a major barrier to deployment in Bitcoin as each full node must validate every transaction.<br />
* The large transactions and slow validation also means costly transactions, which will reduce the anonymity set size and potentially make ZC usage unavailable to random members of the public who are merely casually concerned about their privacy.<br />
* Uses an accumulator which grows forever and has no pruning. In practice this means we'd need to switch accumulators periodically to reduce the working set size, reducing the anonymity set size. And potentially creating big UTXO bloat problems if the horizon on an accumulator isn't set in advance.<br />
<br />
Some of these things may improve significantly with better math and software engineering over time.<br />
<br />
But above all: '''Zerocoin requires a soft-forking change to the Bitcoin protocol''', which all full nodes must adopt, which would commit Bitcoin to a particular version of the Zerocoin protocol. This cannot happen fast—probably not within years, especially considering that there is so much potential for further refinement to the algorithm to lower costs. It would be politically contentious, as some developers and Bitcoin businesses are very concerned about being overly associated with "anonymity". Network-wide rule changes are something of a suicide pact: we shouldn't, and don't, take them lightly.<br />
<br />
'''CoinJoin transactions work today''', and they've worked since the first day of Bitcoin. They are indistinguishable from normal transactions and thus cannot be blocked or inhibited except to the extent that any other Bitcoin transaction could be blocked.<br />
<br />
(As an aside: ZC could potentially be used externally to Bitcoin in a decentralized CoinJoin as a method of mutually blinding the users in a DOS attack resistant way. This would allow ZC to mature under live fire without taking its costs or committing to a specific protocol network-wide.)<br />
<br />
The primary argument I can make for ZC over CoinJoin, beyond it stoking my crypto-geek desires, is that it may potentially offer a larger anonymity set. But with the performance and scaling limits of ZC, and the possibility to construct sorting network transactions with CJ, or just the ability to use hundreds of CJ transactions with the storage and processing required for one ZC transactions, I don't know which would actually produce bigger anonymity sets in practice. E.g. To join 1024 users, just the ZC redemptions would involve 20k * 1024 bytes of data compared to less than 3% of that for a complete three-stage cascade of 32 32-way joint transactions. Though the ZC anonymity set could more easily cross larger spans of time.<br />
<br />
The anonymity sets of CoinJoin transactions could easily be big enough for common users to regain some of their casual privacy and that's what I think is most interesting.<br />
<br />
===How does this compare to [https://bitcointalk.org/index.php?topic=277389.0 CoinWitness]?===<br />
<br />
CoinWitness is even more rocket-sciency than Zerocoin, it also shares many of the weaknesses as a privacy-improver: Novel crypto, computational cost, and the huge point of requiring a soft fork and not being available today. It may have some scaling advantages if it is used as more than just a privacy tool. But it really is overkill for this problem, and won't be available anytime real soon.<br />
<br />
===Sounds great! Where is it?===<br />
<br />
The two main ready-to-use software CoinJoin implementations are [[Wasabi Wallet]] (https://wasabiwallet.io/) and [[JoinMarket]] (https://github.com/Joinmarket-Org/joinmarket-clientserver). Currently, crypto-processing [[Apirone]] (https://apirone.com/) use pre-mix of UTXO based on CoinJoin technology.<br />
<br />
Wasabi Wallet implements the [https://eprint.iacr.org/2021/206 WabiSabi] protocol for the construction of CoinJoin transactions with the aid of a central coordinator (run by zkSNACKs Ltd., the company that is sponsoring the development of Wasabi) who cannot steal from, nor breach the privacy of the participants. Coinjoining coins with a value above 0.01 BTC costs 0.3% as a [https://github.com/zkSNACKs/WalletWasabi/tree/master/WalletWasabi.Backend coordinator fee] + [https://mempool.space/ mining fees]. Inputs of 0.01 BTC or below do not pay coordinator fees, nor remixes, even after one transaction. Thus, a payment made with coinjoined funds allows the sender and the recipient to remix their coins without paying coordinator fees. <br />
<br />
{| class="wikitable" style="text-align:center;"<br />
|- style="text-align:left;"<br />
! <br />
! > 0.01 BTC<br />
! 0.01 BTC and less<br />
|- style="vertical-align:middle;"<br />
| Fresh input<br />
| 0.3% coordination fee + mining fees<br />
| mining fees<br />
|- style="vertical-align:middle; background-color:rgba(73, 88, 107, 0.1);"<br />
| Remix*<br />
| mining fees<br />
| mining fees<br />
|- style="text-align:left;"<br />
|}<br />
<nowiki>*</nowiki>Remix includes a 1 hop transaction<br />
<br />
<br />
JoinMarket, instead, works by creating a new kind of market consisting of one group of participants (called market makers) that will always be available to take part in CoinJoins at any time and another group participants (called market takers) that can create a CoinJoin at any time. The takers pay a fee which incentivizes the makers.<br />
<br />
==See Also==<br />
* [[User:Gmaxwell/state_of_coinjoin]]<br />
* [[Common-input-ownership heuristic]]<br />
* [[JoinMarket]]<br />
<br />
==References==<br />
<references><br />
</references><br />
<br />
[[Category:Privacy]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Wasabi_Wallet&diff=69759Wasabi Wallet2023-07-03T13:16:32Z<p>Luke-jr: Reverted edits by TheHiddenWiki (talk) to last revision by NotATether</p>
<hr />
<div>'''Wasabi Wallet''' is an open-source, non-custodial, '''privacy-focused''' Bitcoin wallet for Desktop that implements trustless '''[[CoinJoin]]'''. The code is on GitHub at [https://github.com/https://github.com/zkSNACKs/WalletWasabi zkSNACKs/WalletWasabi] where anyone can see, verify, and contribute to the project. Wasabi Wallet is trustless by design, meaning neither the public nor the developers can breach your privacy. This is accomplished via [https://github.com/bitcoin/bips/blob/master/bip-0158.mediawiki client-side block filtering](BIP158), communication over the [https://www.torproject.org Tor anonymity network], and the [https://github.com/zkSNACKs/WabiSabi WabiSabi] protocol: an anonymous credential scheme for centrally coordinated coinjoin transactions. The coinjoin coordinator is run by zkSNACKS Ltd., the company that sponsors the development of Wasabi Wallet. The developers have gone to great lengths to ensure that the coordinator cannot steal nor breach the privacy of any participant. This can all be verified by examining the open-source code.<br />
<br />
Wasabi Wallet strives toward establishing solid industry best practices and standards. It implements [https://en.bitcoin.it/wiki/Deterministic_wallet Hierarchical Deterministic wallets] , [https://en.bitcoin.it/wiki/Address_reuse address reuse avoidance], as well as mandatory coin labeling. The wallet uses BIP-158 client-side block filtering to obtain its own transaction history in a private way and it has a one-click partial full node integration as it ships with Bitcoin Knots. If the user already has a Bitcoin full node on a local or remote device, then it is possible to specify the IP address and port, or the Tor onion service, and Wasabi will use it to verify and enforce the rules of Bitcoin. <br />
<br />
In addition to this, Wasabi has advanced cutting-edge features like Opt-in PayJoin and [https://docs.wasabiwallet.io/FAQ/FAQ-UseWasabi.html#what-is-the-dust-threshold Dust attack] protections. You can find a full list of [https://docs.wasabiwallet.io/using-wasabi/BIPs.html#what-is-supported supported BIPs] in the wallet documentation. This is part of Wasabi Wallet’s [https://docs.wasabiwallet.io/ complete and detailed documentation] containing descriptions about the architecture and functionality of the wallet, as well as helpful tutorials on how to use it. There is also a [https://www.youtube.com/watch?v=ry6qIyQmzRE&list=PLPwc75tPMdsi2bSYL6qi79izHIvps2E6b tutorials playlist] on YouTube with short videos on how to use and interact with Wasabi Wallet.<br />
=Wasabi Wallet installation=<br />
[[File:Wasabiwallet.io.png|thumb|right|WasabiWallet.io homepage]]<br />
<br />
Wasabi Wallet is easy to install. First, you have to go to https://wasabiwallet.io or http://wasabiukrxmkdgve5kynjztuovbg43uxcbcxn6y2okcrsg7gb6jdmbad.onion (for the onion service) and download the version for your own operating system. Wasabi is available in most operating systems with 64-bit architecture.<br />
<br />
Linux, Windows and macOS (intel & M1) are the officially supported operating systems. For the complete compatibility list check the [https://github.com/zkSNACKs/WalletWasabi/blob/master/WalletWasabi.Documentation/WasabiCompatibility.md Wasabi Compatibility document]. It is also possible to manually verify the PGP signatures and the deterministic builds.<br />
<br />
For a step-by-step tutorial on the installation and PGP verification, you can follow the [https://docs.wasabiwallet.io/using-wasabi/InstallPackage.html relevant chapter in the documentation].<br />
<br />
Once the software is installed, icons will be created on the desktop and on the menu, you can click on them to open the program. If you have downloaded the ''.tar.gz'' version, then first extract it and then run the ''./wassabee'' command.<br />
<br />
=Run Wasabi Wallet=<br />
<br />
When you run Wasabi for the first time, you will be prompted to generate a wallet. You have the option to create a new wallet, connect to a hardware wallet, import a wallet from a file, or recover a wallet with a 12 word seed. When you generate the wallet, you will then be prompted to choose a unique name for it; choose a name that reflects the purpose of the wallet. If you create a new wallet you will be presented with 12 recovery words to record ([https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki BIP39]), followed by the option to encrypt your wallet with a secure password ([https://github.com/bitcoin/bips/blob/master/bip-0038.mediawiki BIP38]). You will always need the password in order to login to your wallet and whenever you spend your bitcoins, so remember to properly backup both the password and the 12 recovery words.<br />
<br />
=Send and Receive bitcoin via Wasabi Wallet=<br />
<br />
As explained above, Wasabi has '''mandatory coin labeling'''. This means that in order to send or receive bitcoin we have to specify custom labels for the address. These labels should be the name of any entities who know that this address is yours. Properly annotated labels is one of the most important features in Wasabi Wallet because it helps you better manage your privacy. A simple example of labeling is as follows: Alice pays you back for last night's pizza, so you label your receive address as ''Alice''. Now you have a record of the specific UTXO that Alice is aware of and can trace on the [[Block chain]].<br />
<br />
<br />
'''Receiving Bitcoin'''<br />
# Click ''Receive'' button<br />
# Add Labels<br />
# Scan or copy the unused bitcoin address.<br />
<br />
'''Sending Bitcoin'''<br />
# Click ''Send'' button<br />
# Paste bitcoin address<br />
# Enter amount in BTC or USD<br />
# Add Labels<br />
# Preview Transaction (option to specify custom transaction fee rate)<br />
# Enter password.<br />
<br />
=Coinjoin via Wasabi Wallet=<br />
<br />
[[File:Wasabi Wallet Coinjoin.png|thumb | right |Wasabi Wallet 2.0]]<br />
<br />
<br />
'''Coinjoins''' are the most important feature of Wasabi Wallet. '''Schnorr blind signatures''', (which is similar to the cryptography used in chaumian blind signatures and [[blinded bearer certificates]]) make it possible to run '''trustless''' (meaning nobody can steal) and '''private''' (meaning even the coordinator cannot spy) coinjoins where nobody learns the linkage between the mixed transaction inputs and outputs.<br />
<br />
Wasabi Wallet implements the [https://eprint.iacr.org/2021/206 WabiSabi] protocol, which is an anonymous credential scheme for central coordinated coinjoin transactions. The zkSNACKs Ltd. company is who coordinates the coinjoin transactions for Wasabi Wallet. They take a fee for coordinating the coinjoin and use these funds to sponsors the Wasabi developers. The fee structure is as follows: coins with a value above 0.01 BTC costs 0.3% as a [https://github.com/zkSNACKs/WalletWasabi/tree/master/WalletWasabi.Backend coordinator fee] + [https://mempool.space/ mining fees]. Inputs of 0.01 BTC or below do not pay coordinator fees, nor remixes, even after one transaction. Thus, a payment made with coinjoined funds allows the sender and the recipient to remix their coins without paying coordinator fees. <br />
<br />
<br><br />
<br />
{| class="wikitable" style="text-align:center;"<br />
|- style="text-align:left;"<br />
! <br />
! > 0.01 BTC<br />
! 0.01 BTC and less<br />
|- style="vertical-align:middle;"<br />
| Fresh input<br />
| 0.3% coordination fee + mining fees<br />
| mining fees<br />
|- style="vertical-align:middle; background-color:rgba(73, 88, 107, 0.1);"<br />
| Remix*<br />
| mining fees<br />
| mining fees<br />
|- style="text-align:left;"<br />
|}<br />
<nowiki>*</nowiki>Remix includes a 1 hop transaction<br />
<br />
<br><br />
<br />
[https://github.com/zkSNACKs/WabiSabi WabiSabi] was introduced in Wasabi Wallet 2.0 and improves upon the original [https://github.com/nopara73/ZeroLink ZeroLink] protocol of Wasabi Wallet 1.0. WabiSabi is a novel communication protocol for creating bitcoin coinjoin transactions with arbitrary amounts, which provides more privacy at less cost for the user. This new protocol utilizes keyed verification anonymous credentials and homomorphic value commitments to enable novel use cases and reduced overhead. WabiSabi enables the emergence of much larger coinjoins rounds with hundreds of inputs and outputs (e.g., [https://mempool.space/tx/4f0436e9406e5930f9cdaaf94144de72b2b204690e7b19fe5f80067545440a7c 4f0436e9406e5930f9cdaaf94144de72b2b204690e7b19fe5f80067545440a7c]).<br />
<br />
=Controversies=<br />
<br />
On March 13 2022, Wasabi announced that its zkSNACKs coordinator had plans for blacklisting tainted coins, which would prevent them from participating in CoinJoins.<ref>https://www.coindesk.com/tech/2022/03/14/wasabi-wallets-coinjoin-coordinator-to-blacklist-certain-bitcoin-transactions/</ref> This was met with backlash from some parts of the Bitcoin community who did not like the concept of taint.<ref>https://bitcointalk.org/index.php?topic=5405325.0</ref>. Wasabi has stated that they do not have access to any information that can link user identities, and acknowledged that the decision to blacklist tainted outputs was done proactively, with no legislation requiring them to do so.<ref>https://bitcoinist.com/wasabi-side-reasons-blacklisting-from-coinjoin/</ref><br />
<br />
[[Category:Privacy]]<br />
<br />
=References=</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Comparison_of_mining_pools&diff=69728Comparison of mining pools2023-06-21T18:18:02Z<p>Luke-jr: Remove impossible merge mining claims</p>
<hr />
<div>Reward types & explanation:<br />
* '''CPPSRB''' - Capped Pay Per Share with Recent Backpay. [http://eligius.st/wiki/index.php/Capped_PPS_with_Recent_Backpay]<br />
* '''DGM''' - Double Geometric Method. A hybrid between PPLNS and Geometric reward types that enables to operator to absorb some of the variance risk. Operator receives portion of payout on short rounds and returns it on longer rounds to normalize payments. [https://bitcointalk.org/index.php?topic=39497.0]<br />
* '''ESMPPS''' - Equalized Shared Maximum Pay Per Share. Like SMPPS, but equalizes payments fairly among all those who are owed. [http://bitcointalk.org/index.php?topic=12181.msg378851#msg378851]<br />
* '''POT''' - Pay On Target. A high variance PPS variant that pays on the difficulty of work returned to pool rather than the difficulty of work served by pool [https://bitcointalk.org/index.php?topic=131376.0]<br />
* '''PPLNS''' - Pay Per Last N Shares. Similar to proportional, but instead of looking at the number of shares in the round, instead looks at the last N shares, regardless of round boundaries.<br />
* '''PPLNSG''' - Pay Per Last N Groups (or shifts). Similar to PPLNS, but shares are grouped into "shifts" which are paid as a whole.<br />
* '''PPS''' - Pay Per Share. Each submitted share is worth certain amount of BTC. Since finding a block requires <current difficulty> shares ''on average'', a PPS method with 0% fee would be 6.25 BTC divided by <current difficulty>. It is risky for pool operators, hence the fee is highest.<br />
* '''Prop.''' - Proportional. When block is found, the reward is distributed among all workers proportionally to how much shares each of them has found.<br />
* '''RSMPPS''' - Recent Shared Maximum Pay Per Share. Like SMPPS, but system aims to prioritize the most recent miners first. [http://eligius.st/wiki/index.php/Shared_Maximum_PPS]<br />
* '''Score''' - Score based system: a proportional reward, but weighed by time submitted. Each submitted share is worth more in the function of time ''t'' since start of current round. For each share score is updated by: score += exp(t/C). This makes later shares worth much more than earlier shares, thus the miner's score quickly diminishes when they stop mining on the pool. Rewards are calculated proportionally to scores (and not to shares). (at slush's pool C=300 seconds, and every hour scores are normalized)<br />
* '''SMPPS''' - Shared Maximum Pay Per Share. Like Pay Per Share, but never pays more than the pool earns. [http://eligius.st/wiki/index.php/Shared_Maximum_PPS]<br />
* '''FPPS''' - Full Pay Per Share. Similar to PPS,but not only divide regular block reward (6.25 BTC for now) but also some of the transaction fees. Calculate a standard transaction fee within a certain period and distribute it to miners according to their hash power contributions in the pool. It will increase the miners' earnings by sharing some of the transaction fees.<br />
<br />
A statistically valid analysis of some pools and their payout methods: [http://organofcorti.blogspot.com/ Bitcoin network and pool analysis]<br />
<br />
== Operational Pools ==<br />
<br />
The following mining pools are still running and paying out their users:<br />
<br />
{| class="wikitable sortable" border="1"<br />
|-<br />
! Name !! Location !! Size<ref name="hashrate2"/><br />
! Merged Mining<ref name="merged"/><br />
! Reward Type !! Transaction fees!!PPS Fee!!Other Fee!! [[File:Stm.png|link=Stratum_mining_protocol]] !! [[getblocktemplate|GBT]]<br />
! Launched !! Variance !! Forum !! Website<br />
|-<br />
| [[AntPool]] || China || Large || No || PPLNS & PPS || {{PoolFees}} || 2.5% || 0% || {{Yes}} || {{No}}<br />
| ? || ? || [https://bitcointalk.org/index.php?topic=855548 link] || [https://www.antpool.com/ link]<br />
|-<br />
| [[BCMonster.com]] ||{{flag|us|}}{{flag|eu}}{{flag|cn|}} || Small || No || PPLNS || {{SharedFees}} || || 0.5% || {{Yes}} || {{No}}<br />
| 2016-01-13 || Dynamic || [https://bitcointalk.org/index.php?topic=1327077.0 link] || [http://www.bcmonster.com link]<br />
|-<br />
| [[BTC.com]] || {{flag|cn}}{{flag|us|}}{{flag|eu}} || Medium || [[NMC]] || FPPS || {{SharedFees}} || 0% || 4% || {{Yes}} || {{No}}<br />
| 2016-09-13 || User || [https://bitcointalk.org/index.php?topic=1827718.0 link] || [https://pool.btc.com/ link]<br />
|-<br />
| [[BTCC Pool]] || China, Japan || Large || [[NMC]] || PPS || {{PoolFees}} || 2.0% || 0% || {{Yes}} || {{Yes}}<br />
| 2014-10-21 || Dynamic || ? || [https://pool.btcc.com link]<br />
|-<br />
| [[BW Mining]] || China || Medium || ? || PPLNS & PPS || ? || ? || ? || {{Yes}} ||<br />
| ? || ? || ? || [https://www.bw.com/pool link]<br />
|-<br />
| [[F2Pool]] || {{flag|us|}}{{flag|eu|}}{{flag|cn|}} || Large || NMC, SYS, EMC || PPS+ || {{SharedFees}} || 2.5% || 0% || {{Yes}} || {{No}}<br />
| 2013-05-05 || Dynamic || [https://bitcointalk.org/index.php?topic=700411.0 link] || [https://www.f2pool.com link]<br />
|-<br />
| [[Golden Nonce Pool]] || {{flag|us}}{{flag|eu}}|| Small || No || DGM || {{PoolFees}} || || 0% || {{Yes}} || <br />
| 2018-03-27 || Dynamic || [https://bitcointalk.org/index.php?topic=3208073;all link] || [https://goldennoncepool.com link]<br />
|-<br />
| [[KanoPool]] || {{flag|us}}{{flag|sg}}{{flag|de}}{{flag|jp}}{{flag|nl}} || Medium || No || PPLNSG || {{SharedFees}} || || 0.9% || {{Yes}} || {{No}}<br />
| 2014-09-20 || User<ref name="changeable"/>/Dynamic 18SPM || [https://bitcointalk.org/index.php?topic=789369.0 link] || [http://www.kano.is link]<br />
|-<br />
| [[Merge Mining Pool]] || {{flag|us|label=1}}|| Small || [[NMC]], IXC, [[Devcoin]]<br />
| DGM || {{SharedFees}} || || 1.5% || {{Yes}} || {{No}}<br />
| 2012-01-08 || User<ref name="changeable"/> || [http://bitcointalk.org/?topic=57148 link] || [http://mmpool.org link]<br />
|-<br />
| [[P2Pool]] || Global (p2p) || Small || Merged mining can be done on a "solo mining" basis <ref name="solomm"/> || PPLNS || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2011-06-17 || User<ref name="changeable"/> || [http://bitcointalk.org/?topic=18313 link] ||<br />
|-<br />
|-<br />
| [[Poolin]] || Global || Large ||[[NMC]] VCASH || FPPS || {{SharedFees}} || 2.5% || 0% || {{Yes}} || {{Yes}}<br />
| 2017-10-01 || Dynamic || [https://bitcointalk.org/index.php?topic=5169994.0 link] || [https://poolin.com/ link]<br />
|-<br />
| [[SBICrypto Pool]] || Global || Medium || No || FPPS || {{SharedFees}} || 0% || 0% || {{Yes}} || {{Yes}}<br />
| 2020-11-03 || User<ref name="changeable"/>/Dynamic || || [https://sbicrypto.com/ link]<br />
|-<br />
| [[Slush Pool]]<br />
| Global || Medium || [[NMC]] || Score || {{SharedFees}} || || 2% || {{Yes}} || {{No}}<br />
| 2010-11-27 || User<ref name="changeable"/> || [http://bitcointalk.org/?topic=1976 link] || [https://slushpool.com/ link]<br />
|-<br />
| [[Luxor]] || {{flag|us|label=1}}|| Medium || No || FPPS & PPS || {{SharedFees}} || 2% || 0% || {{Yes}} ||<br />
| 2018-01-01 || VarDiff || || [https://mining.luxor.tech// link]<br />
|-<br />
|}<br />
<br />
== Defunct Pools ==<br />
<br />
The following pools were once operational but have since shut down. They are listed for historical purposes only.<br />
<br />
{| class="wikitable sortable" border="1"<br />
|-<br />
! Name !! Location !! Size<ref name="hashrate2"/><br />
! Merged Mining<ref name="merged"/><br />
! Reward Type !! Transaction fees!!PPS Fee!!Other Fee!! [[File:Stm.png|link=Stratum_mining_protocol]] !! [[getblocktemplate|GBT]]<br />
! Launched !! Variance !! Forum !! Website<br />
|-<br />
| [[BitcoinAffiliateNetwork]] || {{flag|us|}}{{flag|eu}}{{flag|cn|}}{{flag|nl|}}{{flag|au|}} || ? || [[NMC]] || ? || {{PoolFees}} || ? || ? || {{Yes}} ||<br />
| 2014-07-15 || User/Dynamic || [https://bitcointalk.org/index.php?topic=722202.0 link] || [http://mining.bitcoinaffiliatenetwork.com/ link]<br />
|-<br />
| [[BitMinter]] || {{flag|us}}{{flag|ca|label=1}}{{flag|eu}} || Small || [[NMC]] || PPLNSG || {{SharedFees}} || || 1% || {{Yes}} || {{No}}<br />
| 2011-06-26 || User<ref name="changeable"/>/Dynamic || [https://bitcointalk.org/?topic=788753 link] || [https://bitminter.com link]<br />
|-<br />
| [[BTCDig]] || {{flag|us|label=1}}|| Small || No || DGM || {{PoolFees}} || || 0% || {{Yes}} ||<br />
| 2013-07-04 || User<ref name="changeable"/>/Dynamic 20SPM || [https://bitcointalk.org/index.php?topic=249627 link] || [http://btcdig.com/ link]<br />
|-<br />
| [[btcmp.com]] || {{flag|de|label=1}}|| Small || No || PPS || {{PoolFees}} || 4% || || {{Yes}} ||<br />
| 2011-06-28 || Diff 1 || || [http://www.btcmp.com/ link]<br />
|-<br />
| [[btcZPool.com]] || {{flag|us|label=1}}|| Large || BitCoinZ || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-06-25 || VarDiff || || [http://www.btcZPool.com/ link]<br />
|-<br />
| [[Eligius]] || {{flag|us|label=1}}|| Small || [[NMC]] || CPPSRB || {{SharedFees}} || || 0% || {{Yes}} || {{Yes}}<br />
| 2011-04-27 || Dynamic: 32 shares/m || [https://bitcointalk.org/?topic=441465 link] || [http://eligius.st link]<br />
|-<br />
| [[EMCD Pool]] || CIS, EU, KZ, IR, China || Medium || - || FPPS+ || {{SharedFees}} || 1% || 0% || {{Yes}} || {{No}}<br />
| 2018-01-26 || Dynamic || || [https://pool.emcd.io link]<br />
|-<br />
| [[GHash.IO]] || {{flag|nl|label=1}}|| Small || [[NMC]], IXC, [[Devcoin]] || PPLNS || {{SharedFees}} || || 0% || {{Yes}} || {{No}}<br />
| 2013-07-01 || User<ref name="changeable"/> || [https://support.cex.io link] || [https://ghash.io/ link]<br />
|-<br />
| [[Give Me COINS]] || {{flag|us}}{{flag|eu}} || Small || [[NMC]] || PPLNS || {{SharedFees}} || || 0%|| {{Yes}} || {{Yes}}<br />
| 2013-08-12 || Dynamic || [https://bitcointalk.org/index.php?topic=272017.0 link] || [http://give-me-coins.com link]<br />
|-<br />
| [[Jonny Bravo's Mining Emporium]] ||{{flag|us|}}{{flag|eu}} || Small || No || PPLNS || {{SharedFees}} || || 0.5% || {{Yes}} || {{No}}<br />
| 2015-11-19 || Dynamic || [https://bitcointalk.org/index.php?topic=1330452.0 link] || [http://www.bravo-mining.com link]<br />
|-<br />
| [[kmdPool.org]] || {{flag|us|label=1}}|| Large || Komodo || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-11-25 || VarDiff || || [http://www.kmdPool.org/ link]<br />
|-<br />
| [[MergeMining]] || Global || Small || CRW, DVC, HUC, I0C, IXC, XMY/MYR, NMC, SYS, UNO, TRC, ARG, EMC || PPLNS || {{SharedFees}} || || 1% || {{Yes}} || {{No}}<br />
| 2016-12-01|| User<ref name="changeable"/> || || [https://mergemining.com link]<br />
|-<br />
| [[Multipool]] || {{flag|us}}{{flag|eu}} || Small || [[NMC]] || Score || {{SharedFees}} || || 1.5% || {{Yes}} || {{No}}<br />
| 2012-03-15 || User || [https://bitcointalk.org/index.php?topic=311067.0 link] || [https://www.multipool.us/ link]<br />
|-<br />
| [[ZenPool.org]] || {{flag|us|label=1}}|| Large || ZenCash || PPLNS || {{SharedFees}} || 1% || 0% || {{Yes}} ||<br />
| 2017-10-25 || VarDiff || || [http://www.ZenPool.org/ link]<br />
|-<br />
|}<br />
<br />
<br />
== SPV Mining / Old Bitcoin Core ==<br />
<br />
The following pools are known or strongly suspected to be mining on top of blocks before fully validating them with Bitcoin Core 0.9.5 or later. Miners doing this have already lost over $50,000 USD during the 4 July 2015 fork and have created a situation where small numbers of confirmations are much less useful than they normally are.<br />
<br />
* BTC Nuggets<br />
* [https://www.f2pool.com/ F2Pool]<ref name="spv_despite_incident">[https://bitcointalk.org/index.php?topic=700411.msg11790734#msg11790734 Intention to continue SPV mining], Wang Chun, 4 July 2015</ref><br />
* AntPool<ref name="spv_despite_incident" /><br />
<br />
The following pools are believed to be currently fully validating blocks with Bitcoin Core 0.9.5 or later (0.10.2 or later recommended due to DoS vulnerabilities):<br />
<br />
* [[BitMinter]]<br />
* BTC China (described as SPV mining<ref name="spv_despite_incident" />, but they're performing effective valiation)<br />
* [[BTC Public Mining Pool]]<br />
* [[CKPool]]<br />
* [[Eligius]]<br />
* [[Golden Nonce Pool]]<br />
* [[P2Pool]]<br />
* [[Bitcoin Pooled Mining|Slush Pool]]<br />
* [[BCMonster.com]]<br />
* [[Jonny Bravo's Mining Emporium]]<br />
<br />
== References ==<br />
<br />
<references><br />
<br />
<ref name="hashrate2">Note that pool hashrate is largely irrelevant but can be seen as a popularity measurement. It is a theoretical security issue if one pool gains above 50% of the total computational power of the network, thus consider joining a pool based on other metrics. The pool's total hash rate is very dynamic on most pools. Over time, as the network grows, so does most pool's hash rates. The displayed values are the pool's relative sizes based on the network: Small: less than 2%, Medium: 2%-10% Large: greater than 10% of the network.</ref><br />
<br />
<ref name="merged">Merged mining allows miners to mine on multiple [[block chains]] at the same time with the same hashing.</ref><br />
<br />
<ref name="changeable">The difficulty of the shares can be changed by the user.</ref><br />
<ref name="solomm">Merged mining can be done on a "solo mining" basis (payouts in the merged chain are not pooled).</ref><br />
</references><br />
<br />
== See also ==<br />
* [[Pooled mining]]<br />
* [https://www.blocktrail.com/BTC/pools Pool Distribution Summary]<br />
* [https://www.bitcoinmining.com/ Bitcoin Mining]<br />
* [https://www.youtube.com/watch?v=GmOzih6I1zs Video: What is Bitcoin Mining]<br />
* [https://www.bitcoinmining.com/bitcoin-mining-pools/ Bitcoin Mining Pools]<br />
* [https://bitcoinchain.com/pools Bitcoin Mining Pools Comparison]<br />
[[Category:Mining]]<br />
{{Pools}}</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=FAQ&diff=69644FAQ2023-03-16T17:12:55Z<p>Luke-jr: Reverted edits by Luke-jr (talk) to last revision by Taras</p>
<hr />
<div>#REDIRECT [[Help:FAQ]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=FAQ&diff=69643FAQ2023-03-16T17:12:01Z<p>Luke-jr: </p>
<hr />
<div>See [[Help:FAQ]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_replacement&diff=69566Transaction replacement2022-11-24T08:43:59Z<p>Luke-jr: /* Software support for replacement policies */ Bold current versions</p>
<hr />
<div>'''Transaction replacement''' occurs when a transaction seen by a node is conflicted with and ultimately replaced by another transaction.<br />
Typically, the replaced transaction had been unconfirmed, though it can happen sometimes in a [[blockchain reorganisation]] that a transaction with a few blocks confirmation can also be replaced.<br />
Transactions in the canonical blockchain must always replace conflicting transactions (a blockchain with two conflicting transactions is invalid).<br />
<br />
Unconfirmed transactions that do not conflict with the blockchain can, however, be replaced by other unconfirmed transactions at the whim of nodes, determined by the node operator's own policies.<br />
Hypothetically, a node could also keep track of and relay multiple conflicting transactions, though this is not typically done due to DoS risks.<br />
Most of this article focuses on this replacement of unconfirmed transactions, since the consensus rules are fixed and unlikely to change ever.<br />
<br />
Unconfirmed transaction replacement has been included in the first version of<br />
Bitcoin<ref>[https://github.com/trottier/original-bitcoin/blob/master/src/main.cpp#L434 Replacement in original Bitcoin source code], Satoshi Nakamoto, GitHub, ''Retrieved 2015-12-08''</ref> but was disabled in the 0.3.12 release with the comment,<br />
"Disable replacement feature for now".<ref>[https://github.com/bitcoin/bitcoin/commit/05454818dc7ed92f577a1a1ef6798049f17a52e7#diff-118fcbaaba162ba17933c7893247df3aR522 Commit disabling replacement "for now"], Satoshi Nakamoto, GitHub, ''Retrieved 2015-12-08''</ref> Since then, there have been various attempts to make<br />
transaction replaceability widely available again.<ref>[https://bitcointalk.org/index.php?topic=199947.0 Initial replace-by-fee implementation available for testnet], BitcoinTalk forum, posted 2013-05-09, ''retrieved 2015-12-09''</ref><br />
<br />
Beginning with Bitcoin Core 0.12.0 (released Feb 2016), one type of transaction replaceability, [[Replace by fee|replace-by-fee]] (RBF), became widely available.<br />
This page<br />
attempts to document the current state of transaction replaceability for<br />
wallet authors who want to use that feature.<br />
<br />
== Node policies ==<br />
<br />
Unconfirmed transaction replacement is optional (it is not, and cannot be,<br />
a consensus rule), but widespread adherence to the same or similar policies<br />
among nodes can help predict popular network-wide mempool policies<br />
with the following expected benefits:<br />
<br />
* Consistent policy makes it easy for wallet authors to write code that uses transaction replacement to provide usability-enhancing features.<br />
<br />
* Consistent policy helps ensure long-running mempools contain mostly the same transactions (mempool consistency), which makes it easier for wallets and nodes to make guesses about how long it will take a transaction to confirm.<br />
<br />
* Consistent mempools may help nodes more quickly validate newly-received blocks as well as reduce the bandwidth used to announce new blocks in the future.<br />
<br />
=== "First seen" / replacement-adverse ===<br />
<br />
The so-called "first seen" policy simply does not perform replacements at all (except as required by the consensus rules when a block confirms a conflicting transaction).<br />
A miner using a "first seen" policy can still end up mining a replacement in two notable cases:<br />
<br />
# If the miner saw the "replacement" first. This can be easy to arrange. From the miner's perspective, no replacement occurred, but that is not necessarily the case for other users.<br />
# If another miner produces a block that confirms a conflicting transaction, this policy discards the first-seen transaction in favour for the confirmed one (required by the consensus rules). Note, however, that even if the block confirming the replacement is later reorganised away, the replacement transaction it confirmed is still preferred to re-mining by a miner using this policy, even if it had replaced another it saw first.<br />
<br />
=== Sequential ===<br />
<br />
The sequential policy was used originally by Satoshi's Bitcoin node software, and simply allows any later transaction to replace an earlier one (indicated by the "sequence" counter in the transaction).<br />
This policy has a risk of denial-of-service attacks on nodes, and therefore hasn't been supported since 2010.<br />
<br />
=== Replace by fee (RBF) ===<br />
<br />
The DoS risk in the sequential replacement policy was addressed in 2015 by the concept of requiring transaction replacements to include a higher fee.<br />
While fees cannot compensate nodes for the cost of performing the replacement, it is presumed to be paid eventually to a miner, and as such acts as an effective rate limit on any would-be attacker.<br />
<br />
Despite fully addressing the dangers of the sequential policy, its deployment was met with resistance by people who have grown accustomed to the intermediate replacement-adverse policy and (irrationally) imagine transaction replacement to endanger their acceptance of unconfirmed transactions.<br />
As a result, several variations were proposed (the original is sometimes called "full RBF" or "unconditional RBF").<br />
<br />
=== "First-seen-safe" RBF ===<br />
<br />
"First-seen-safe" RBF (FSS-RBF) limits replacements further, by requiring the replacement transaction to pay at least the same addresses in the same amounts.<br />
<br />
The downside to this approach is that it effectively requires adding additional inputs to fund any additional outputs or fees, rather than simply reducing [[change]].<br />
This increases transaction size, and therefore also fees (beyond the increase required by RBF).<br />
Arguably, it negates the benefit of replacement, making it comparable to [[child-pays-for-parent]] (non-replacement) policies.<br />
<br />
=== Time-based RBF ===<br />
<br />
Another policy proposed was to enforce the "first-seen" policy for a certain number of blocks after the transaction was initially seen, and afterward allowing its replacement by RBF only if that transaction has failed to be mined.<br />
<br />
=== Opt-in RBF ===<br />
<br />
[https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP 125] proposed a way for transactions to use their "sequence" number to signal their preference for handling with a "first-seen" or RBF policy.<br />
<br />
Nodes supporting an opt-in RBF policy therefore switch the policy they use based on the preference indicated by the would-be-replaced transaction.<br />
<br />
Note that node software often does not implement the RBF rules proposed by BIP 125 exactly, with small variations considered preferable in practice (or sometimes accidental).<br />
<br />
== Software support for replacement policies ==<br />
<br />
{| class="wikitable sortable"<br />
! Software !! First-seen !! Sequential !! Full RBF !! FSS-RBF !! Time RBF !! Opt-in RBF<br />
|-<br />
| Bitcoin 0.1 - 0.3.11 || {{No}} || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin 0.3.12 & later || {{Prefer||Exclusive}} || {{No|Disabled (DoS risk)}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin Core 0.3.20 - 0.11.x || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin Knots 0.3.21 - 0.11.x || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.8.6 - 0.10.x || {{No}} || {{No}} || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.11.0 || {{No}} || {{No}} || {{Prefer||Default}} || {{Yes}} || {{No}} || {{No}}<br />
|-<br />
| '''Satoshi RBF 0.11.1 & later''' || {{No}} || {{No}} || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} <br />
|-<br />
| Bitcoin Core 0.12.0 - 0.18.x || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Prefer||Default}}<br />
|-<br />
| Bitcoin Knots 0.12.0 - 0.15.1 || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Prefer||Default}}<br />
|-<br />
| '''Bitcoin Knots 0.16.0 & later''' || {{Yes}} || {{No}} || {{Prefer||Default}} || {{No}} || {{No}} || {{Yes}}<br />
|-<br />
| Bitcoin Core 0.19.0 - 23.x || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Prefer||Exclusive}}<br />
|-<br />
| '''Bitcoin Core 24.0 & later''' || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Prefer||Default}}<br />
|}<br />
<br />
== See Also ==<br />
<br />
* [[Fee bumping]]<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP 125]<br />
* [https://www.reddit.com/r/Bitcoin/comments/3urm8o/optin_rbf_is_misunderstood_ask_questions_about_it/ Reddit: Questions about opt-in RBF]<br />
<br />
== References ==<br />
<br />
<references /></div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_replacement&diff=69565Transaction replacement2022-11-24T08:42:25Z<p>Luke-jr: /* Software support for replacement policies */</p>
<hr />
<div>'''Transaction replacement''' occurs when a transaction seen by a node is conflicted with and ultimately replaced by another transaction.<br />
Typically, the replaced transaction had been unconfirmed, though it can happen sometimes in a [[blockchain reorganisation]] that a transaction with a few blocks confirmation can also be replaced.<br />
Transactions in the canonical blockchain must always replace conflicting transactions (a blockchain with two conflicting transactions is invalid).<br />
<br />
Unconfirmed transactions that do not conflict with the blockchain can, however, be replaced by other unconfirmed transactions at the whim of nodes, determined by the node operator's own policies.<br />
Hypothetically, a node could also keep track of and relay multiple conflicting transactions, though this is not typically done due to DoS risks.<br />
Most of this article focuses on this replacement of unconfirmed transactions, since the consensus rules are fixed and unlikely to change ever.<br />
<br />
Unconfirmed transaction replacement has been included in the first version of<br />
Bitcoin<ref>[https://github.com/trottier/original-bitcoin/blob/master/src/main.cpp#L434 Replacement in original Bitcoin source code], Satoshi Nakamoto, GitHub, ''Retrieved 2015-12-08''</ref> but was disabled in the 0.3.12 release with the comment,<br />
"Disable replacement feature for now".<ref>[https://github.com/bitcoin/bitcoin/commit/05454818dc7ed92f577a1a1ef6798049f17a52e7#diff-118fcbaaba162ba17933c7893247df3aR522 Commit disabling replacement "for now"], Satoshi Nakamoto, GitHub, ''Retrieved 2015-12-08''</ref> Since then, there have been various attempts to make<br />
transaction replaceability widely available again.<ref>[https://bitcointalk.org/index.php?topic=199947.0 Initial replace-by-fee implementation available for testnet], BitcoinTalk forum, posted 2013-05-09, ''retrieved 2015-12-09''</ref><br />
<br />
Beginning with Bitcoin Core 0.12.0 (released Feb 2016), one type of transaction replaceability, [[Replace by fee|replace-by-fee]] (RBF), became widely available.<br />
This page<br />
attempts to document the current state of transaction replaceability for<br />
wallet authors who want to use that feature.<br />
<br />
== Node policies ==<br />
<br />
Unconfirmed transaction replacement is optional (it is not, and cannot be,<br />
a consensus rule), but widespread adherence to the same or similar policies<br />
among nodes can help predict popular network-wide mempool policies<br />
with the following expected benefits:<br />
<br />
* Consistent policy makes it easy for wallet authors to write code that uses transaction replacement to provide usability-enhancing features.<br />
<br />
* Consistent policy helps ensure long-running mempools contain mostly the same transactions (mempool consistency), which makes it easier for wallets and nodes to make guesses about how long it will take a transaction to confirm.<br />
<br />
* Consistent mempools may help nodes more quickly validate newly-received blocks as well as reduce the bandwidth used to announce new blocks in the future.<br />
<br />
=== "First seen" / replacement-adverse ===<br />
<br />
The so-called "first seen" policy simply does not perform replacements at all (except as required by the consensus rules when a block confirms a conflicting transaction).<br />
A miner using a "first seen" policy can still end up mining a replacement in two notable cases:<br />
<br />
# If the miner saw the "replacement" first. This can be easy to arrange. From the miner's perspective, no replacement occurred, but that is not necessarily the case for other users.<br />
# If another miner produces a block that confirms a conflicting transaction, this policy discards the first-seen transaction in favour for the confirmed one (required by the consensus rules). Note, however, that even if the block confirming the replacement is later reorganised away, the replacement transaction it confirmed is still preferred to re-mining by a miner using this policy, even if it had replaced another it saw first.<br />
<br />
=== Sequential ===<br />
<br />
The sequential policy was used originally by Satoshi's Bitcoin node software, and simply allows any later transaction to replace an earlier one (indicated by the "sequence" counter in the transaction).<br />
This policy has a risk of denial-of-service attacks on nodes, and therefore hasn't been supported since 2010.<br />
<br />
=== Replace by fee (RBF) ===<br />
<br />
The DoS risk in the sequential replacement policy was addressed in 2015 by the concept of requiring transaction replacements to include a higher fee.<br />
While fees cannot compensate nodes for the cost of performing the replacement, it is presumed to be paid eventually to a miner, and as such acts as an effective rate limit on any would-be attacker.<br />
<br />
Despite fully addressing the dangers of the sequential policy, its deployment was met with resistance by people who have grown accustomed to the intermediate replacement-adverse policy and (irrationally) imagine transaction replacement to endanger their acceptance of unconfirmed transactions.<br />
As a result, several variations were proposed (the original is sometimes called "full RBF" or "unconditional RBF").<br />
<br />
=== "First-seen-safe" RBF ===<br />
<br />
"First-seen-safe" RBF (FSS-RBF) limits replacements further, by requiring the replacement transaction to pay at least the same addresses in the same amounts.<br />
<br />
The downside to this approach is that it effectively requires adding additional inputs to fund any additional outputs or fees, rather than simply reducing [[change]].<br />
This increases transaction size, and therefore also fees (beyond the increase required by RBF).<br />
Arguably, it negates the benefit of replacement, making it comparable to [[child-pays-for-parent]] (non-replacement) policies.<br />
<br />
=== Time-based RBF ===<br />
<br />
Another policy proposed was to enforce the "first-seen" policy for a certain number of blocks after the transaction was initially seen, and afterward allowing its replacement by RBF only if that transaction has failed to be mined.<br />
<br />
=== Opt-in RBF ===<br />
<br />
[https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP 125] proposed a way for transactions to use their "sequence" number to signal their preference for handling with a "first-seen" or RBF policy.<br />
<br />
Nodes supporting an opt-in RBF policy therefore switch the policy they use based on the preference indicated by the would-be-replaced transaction.<br />
<br />
Note that node software often does not implement the RBF rules proposed by BIP 125 exactly, with small variations considered preferable in practice (or sometimes accidental).<br />
<br />
== Software support for replacement policies ==<br />
<br />
{| class="wikitable sortable"<br />
! Software !! First-seen !! Sequential !! Full RBF !! FSS-RBF !! Time RBF !! Opt-in RBF<br />
|-<br />
| Bitcoin 0.1 - 0.3.11 || {{No}} || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin 0.3.12 & later || {{Prefer||Exclusive}} || {{No|Disabled (DoS risk)}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin Core 0.3.20 - 0.11.x || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin Knots 0.3.21 - 0.11.x || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.8.6 - 0.10.x || {{No}} || {{No}} || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.11.0 || {{No}} || {{No}} || {{Prefer||Default}} || {{Yes}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.11.1 & later || {{No}} || {{No}} || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} <br />
|-<br />
| Bitcoin Core 0.12.0 - 0.18.x || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Prefer||Default}}<br />
|-<br />
| Bitcoin Knots 0.12.0 - 0.15.1 || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Prefer||Default}}<br />
|-<br />
| Bitcoin Knots 0.16.0 & later || {{Yes}} || {{No}} || {{Prefer||Default}} || {{No}} || {{No}} || {{Yes}}<br />
|-<br />
| Bitcoin Core 0.19.0 - 23.x || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Prefer||Exclusive}}<br />
|-<br />
| Bitcoin Core 24.0 & later || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Prefer||Default}}<br />
|}<br />
<br />
== See Also ==<br />
<br />
* [[Fee bumping]]<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP 125]<br />
* [https://www.reddit.com/r/Bitcoin/comments/3urm8o/optin_rbf_is_misunderstood_ask_questions_about_it/ Reddit: Questions about opt-in RBF]<br />
<br />
== References ==<br />
<br />
<references /></div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_replacement&diff=69564Transaction replacement2022-11-24T01:50:32Z<p>Luke-jr: /* Software support for replacement policies */</p>
<hr />
<div>'''Transaction replacement''' occurs when a transaction seen by a node is conflicted with and ultimately replaced by another transaction.<br />
Typically, the replaced transaction had been unconfirmed, though it can happen sometimes in a [[blockchain reorganisation]] that a transaction with a few blocks confirmation can also be replaced.<br />
Transactions in the canonical blockchain must always replace conflicting transactions (a blockchain with two conflicting transactions is invalid).<br />
<br />
Unconfirmed transactions that do not conflict with the blockchain can, however, be replaced by other unconfirmed transactions at the whim of nodes, determined by the node operator's own policies.<br />
Hypothetically, a node could also keep track of and relay multiple conflicting transactions, though this is not typically done due to DoS risks.<br />
Most of this article focuses on this replacement of unconfirmed transactions, since the consensus rules are fixed and unlikely to change ever.<br />
<br />
Unconfirmed transaction replacement has been included in the first version of<br />
Bitcoin<ref>[https://github.com/trottier/original-bitcoin/blob/master/src/main.cpp#L434 Replacement in original Bitcoin source code], Satoshi Nakamoto, GitHub, ''Retrieved 2015-12-08''</ref> but was disabled in the 0.3.12 release with the comment,<br />
"Disable replacement feature for now".<ref>[https://github.com/bitcoin/bitcoin/commit/05454818dc7ed92f577a1a1ef6798049f17a52e7#diff-118fcbaaba162ba17933c7893247df3aR522 Commit disabling replacement "for now"], Satoshi Nakamoto, GitHub, ''Retrieved 2015-12-08''</ref> Since then, there have been various attempts to make<br />
transaction replaceability widely available again.<ref>[https://bitcointalk.org/index.php?topic=199947.0 Initial replace-by-fee implementation available for testnet], BitcoinTalk forum, posted 2013-05-09, ''retrieved 2015-12-09''</ref><br />
<br />
Beginning with Bitcoin Core 0.12.0 (released Feb 2016), one type of transaction replaceability, [[Replace by fee|replace-by-fee]] (RBF), became widely available.<br />
This page<br />
attempts to document the current state of transaction replaceability for<br />
wallet authors who want to use that feature.<br />
<br />
== Node policies ==<br />
<br />
Unconfirmed transaction replacement is optional (it is not, and cannot be,<br />
a consensus rule), but widespread adherence to the same or similar policies<br />
among nodes can help predict popular network-wide mempool policies<br />
with the following expected benefits:<br />
<br />
* Consistent policy makes it easy for wallet authors to write code that uses transaction replacement to provide usability-enhancing features.<br />
<br />
* Consistent policy helps ensure long-running mempools contain mostly the same transactions (mempool consistency), which makes it easier for wallets and nodes to make guesses about how long it will take a transaction to confirm.<br />
<br />
* Consistent mempools may help nodes more quickly validate newly-received blocks as well as reduce the bandwidth used to announce new blocks in the future.<br />
<br />
=== "First seen" / replacement-adverse ===<br />
<br />
The so-called "first seen" policy simply does not perform replacements at all (except as required by the consensus rules when a block confirms a conflicting transaction).<br />
A miner using a "first seen" policy can still end up mining a replacement in two notable cases:<br />
<br />
# If the miner saw the "replacement" first. This can be easy to arrange. From the miner's perspective, no replacement occurred, but that is not necessarily the case for other users.<br />
# If another miner produces a block that confirms a conflicting transaction, this policy discards the first-seen transaction in favour for the confirmed one (required by the consensus rules). Note, however, that even if the block confirming the replacement is later reorganised away, the replacement transaction it confirmed is still preferred to re-mining by a miner using this policy, even if it had replaced another it saw first.<br />
<br />
=== Sequential ===<br />
<br />
The sequential policy was used originally by Satoshi's Bitcoin node software, and simply allows any later transaction to replace an earlier one (indicated by the "sequence" counter in the transaction).<br />
This policy has a risk of denial-of-service attacks on nodes, and therefore hasn't been supported since 2010.<br />
<br />
=== Replace by fee (RBF) ===<br />
<br />
The DoS risk in the sequential replacement policy was addressed in 2015 by the concept of requiring transaction replacements to include a higher fee.<br />
While fees cannot compensate nodes for the cost of performing the replacement, it is presumed to be paid eventually to a miner, and as such acts as an effective rate limit on any would-be attacker.<br />
<br />
Despite fully addressing the dangers of the sequential policy, its deployment was met with resistance by people who have grown accustomed to the intermediate replacement-adverse policy and (irrationally) imagine transaction replacement to endanger their acceptance of unconfirmed transactions.<br />
As a result, several variations were proposed (the original is sometimes called "full RBF" or "unconditional RBF").<br />
<br />
=== "First-seen-safe" RBF ===<br />
<br />
"First-seen-safe" RBF (FSS-RBF) limits replacements further, by requiring the replacement transaction to pay at least the same addresses in the same amounts.<br />
<br />
The downside to this approach is that it effectively requires adding additional inputs to fund any additional outputs or fees, rather than simply reducing [[change]].<br />
This increases transaction size, and therefore also fees (beyond the increase required by RBF).<br />
Arguably, it negates the benefit of replacement, making it comparable to [[child-pays-for-parent]] (non-replacement) policies.<br />
<br />
=== Time-based RBF ===<br />
<br />
Another policy proposed was to enforce the "first-seen" policy for a certain number of blocks after the transaction was initially seen, and afterward allowing its replacement by RBF only if that transaction has failed to be mined.<br />
<br />
=== Opt-in RBF ===<br />
<br />
[https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP 125] proposed a way for transactions to use their "sequence" number to signal their preference for handling with a "first-seen" or RBF policy.<br />
<br />
Nodes supporting an opt-in RBF policy therefore switch the policy they use based on the preference indicated by the would-be-replaced transaction.<br />
<br />
Note that node software often does not implement the RBF rules proposed by BIP 125 exactly, with small variations considered preferable in practice (or sometimes accidental).<br />
<br />
== Software support for replacement policies ==<br />
<br />
{| class="wikitable sortable"<br />
! Software !! First-seen !! Sequential !! Full RBF !! FSS-RBF !! Time RBF !! Opt-in RBF<br />
|-<br />
| Bitcoin 0.1 - 0.3.11 || {{No}} || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin 0.3.12 & later || {{Prefer||Exclusive}} || {{No|Disabled (DoS risk)}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin Core 0.3.20 - 0.11.x || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin Knots 0.3.21 - 0.11.x || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.8.6 - 0.10.x || {{No}} || {{No}} || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.11.0 || {{No}} || {{No}} || {{Prefer||Default}} || {{Yes}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.11.1 & later || {{No}} || {{No}} || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} <br />
|-<br />
| Bitcoin Core 0.12.0 - 0.18.x || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Prefer||Default}}<br />
|-<br />
| Bitcoin Knots 0.12.0 - 0.15.1 || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Prefer||Default}}<br />
|-<br />
| Bitcoin Knots 0.16.0 & latter || {{Yes}} || {{No}} || {{Prefer||Default}} || {{No}} || {{No}} || {{Yes}}<br />
|-<br />
| Bitcoin Core 0.19.0 - 23.x || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Prefer||Exclusive}}<br />
|-<br />
| Bitcoin Core 24.0 & later || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Prefer||Default}}<br />
|}<br />
<br />
== See Also ==<br />
<br />
* [[Fee bumping]]<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP 125]<br />
* [https://www.reddit.com/r/Bitcoin/comments/3urm8o/optin_rbf_is_misunderstood_ask_questions_about_it/ Reddit: Questions about opt-in RBF]<br />
<br />
== References ==<br />
<br />
<references /></div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_replacement&diff=69563Transaction replacement2022-11-24T01:37:43Z<p>Luke-jr: Rework page</p>
<hr />
<div>'''Transaction replacement''' occurs when a transaction seen by a node is conflicted with and ultimately replaced by another transaction.<br />
Typically, the replaced transaction had been unconfirmed, though it can happen sometimes in a [[blockchain reorganisation]] that a transaction with a few blocks confirmation can also be replaced.<br />
Transactions in the canonical blockchain must always replace conflicting transactions (a blockchain with two conflicting transactions is invalid).<br />
<br />
Unconfirmed transactions that do not conflict with the blockchain can, however, be replaced by other unconfirmed transactions at the whim of nodes, determined by the node operator's own policies.<br />
Hypothetically, a node could also keep track of and relay multiple conflicting transactions, though this is not typically done due to DoS risks.<br />
Most of this article focuses on this replacement of unconfirmed transactions, since the consensus rules are fixed and unlikely to change ever.<br />
<br />
Unconfirmed transaction replacement has been included in the first version of<br />
Bitcoin<ref>[https://github.com/trottier/original-bitcoin/blob/master/src/main.cpp#L434 Replacement in original Bitcoin source code], Satoshi Nakamoto, GitHub, ''Retrieved 2015-12-08''</ref> but was disabled in the 0.3.12 release with the comment,<br />
"Disable replacement feature for now".<ref>[https://github.com/bitcoin/bitcoin/commit/05454818dc7ed92f577a1a1ef6798049f17a52e7#diff-118fcbaaba162ba17933c7893247df3aR522 Commit disabling replacement "for now"], Satoshi Nakamoto, GitHub, ''Retrieved 2015-12-08''</ref> Since then, there have been various attempts to make<br />
transaction replaceability widely available again.<ref>[https://bitcointalk.org/index.php?topic=199947.0 Initial replace-by-fee implementation available for testnet], BitcoinTalk forum, posted 2013-05-09, ''retrieved 2015-12-09''</ref><br />
<br />
Beginning with Bitcoin Core 0.12.0 (released Feb 2016), one type of transaction replaceability, [[Replace by fee|replace-by-fee]] (RBF), became widely available.<br />
This page<br />
attempts to document the current state of transaction replaceability for<br />
wallet authors who want to use that feature.<br />
<br />
== Node policies ==<br />
<br />
Unconfirmed transaction replacement is optional (it is not, and cannot be,<br />
a consensus rule), but widespread adherence to the same or similar policies<br />
among nodes can help predict popular network-wide mempool policies<br />
with the following expected benefits:<br />
<br />
* Consistent policy makes it easy for wallet authors to write code that uses transaction replacement to provide usability-enhancing features.<br />
<br />
* Consistent policy helps ensure long-running mempools contain mostly the same transactions (mempool consistency), which makes it easier for wallets and nodes to make guesses about how long it will take a transaction to confirm.<br />
<br />
* Consistent mempools may help nodes more quickly validate newly-received blocks as well as reduce the bandwidth used to announce new blocks in the future.<br />
<br />
=== "First seen" / replacement-adverse ===<br />
<br />
The so-called "first seen" policy simply does not perform replacements at all (except as required by the consensus rules when a block confirms a conflicting transaction).<br />
A miner using a "first seen" policy can still end up mining a replacement in two notable cases:<br />
<br />
# If the miner saw the "replacement" first. This can be easy to arrange. From the miner's perspective, no replacement occurred, but that is not necessarily the case for other users.<br />
# If another miner produces a block that confirms a conflicting transaction, this policy discards the first-seen transaction in favour for the confirmed one (required by the consensus rules). Note, however, that even if the block confirming the replacement is later reorganised away, the replacement transaction it confirmed is still preferred to re-mining by a miner using this policy, even if it had replaced another it saw first.<br />
<br />
=== Sequential ===<br />
<br />
The sequential policy was used originally by Satoshi's Bitcoin node software, and simply allows any later transaction to replace an earlier one (indicated by the "sequence" counter in the transaction).<br />
This policy has a risk of denial-of-service attacks on nodes, and therefore hasn't been supported since 2010.<br />
<br />
=== Replace by fee (RBF) ===<br />
<br />
The DoS risk in the sequential replacement policy was addressed in 2015 by the concept of requiring transaction replacements to include a higher fee.<br />
While fees cannot compensate nodes for the cost of performing the replacement, it is presumed to be paid eventually to a miner, and as such acts as an effective rate limit on any would-be attacker.<br />
<br />
Despite fully addressing the dangers of the sequential policy, its deployment was met with resistance by people who have grown accustomed to the intermediate replacement-adverse policy and (irrationally) imagine transaction replacement to endanger their acceptance of unconfirmed transactions.<br />
As a result, several variations were proposed (the original is sometimes called "full RBF" or "unconditional RBF").<br />
<br />
=== "First-seen-safe" RBF ===<br />
<br />
"First-seen-safe" RBF (FSS-RBF) limits replacements further, by requiring the replacement transaction to pay at least the same addresses in the same amounts.<br />
<br />
The downside to this approach is that it effectively requires adding additional inputs to fund any additional outputs or fees, rather than simply reducing [[change]].<br />
This increases transaction size, and therefore also fees (beyond the increase required by RBF).<br />
Arguably, it negates the benefit of replacement, making it comparable to [[child-pays-for-parent]] (non-replacement) policies.<br />
<br />
=== Time-based RBF ===<br />
<br />
Another policy proposed was to enforce the "first-seen" policy for a certain number of blocks after the transaction was initially seen, and afterward allowing its replacement by RBF only if that transaction has failed to be mined.<br />
<br />
=== Opt-in RBF ===<br />
<br />
[https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP 125] proposed a way for transactions to use their "sequence" number to signal their preference for handling with a "first-seen" or RBF policy.<br />
<br />
Nodes supporting an opt-in RBF policy therefore switch the policy they use based on the preference indicated by the would-be-replaced transaction.<br />
<br />
Note that node software often does not implement the RBF rules proposed by BIP 125 exactly, with small variations considered preferable in practice (or sometimes accidental).<br />
<br />
== Software support for replacement policies ==<br />
<br />
{| class="wikitable sortable"<br />
! Software !! First-seen !! Sequential !! Full RBF !! FSS-RBF !! Time RBF !! Opt-in RBF<br />
|-<br />
| Bitcoin 0.1 - 0.3.11 || {{No}} || {{Prefer||Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin 0.3.12 & later || {{Prefer|Exclusive}} || {{No|Disabled (DoS risk)}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin Core 0.3.20 - 0.11.x || {{Prefer|Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Bitcoin Knots 0.3.21 - 0.11.x || {{Prefer|Exclusive}} || {{No}} || {{No}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.8.6 - 0.10.x || {{No}} || {{No}} || {{Prefer|Exclusive}} || {{No}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.11.0 || {{No}} || {{No}} || {{Prefer|Default}} || {{Yes}} || {{No}} || {{No}}<br />
|-<br />
| Satoshi RBF 0.11.1 & later || {{No}} || {{No}} || {{Prefer|Exclusive}} || {{No}} || {{No}} || {{No}} <br />
|-<br />
| Bitcoin Core 0.12.0 - 0.18.x || {{Yes}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Prefer|Default}}<br />
|-<br />
| Bitcoin Knots 0.12.0 - 0.15.1 || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Prefer|Default}}<br />
|-<br />
| Bitcoin Knots 0.16.0 & latter || {{Yes}} || {{No}} || {{Prefer|Default}} || {{No}} || {{No}} || {{Yes}}<br />
|-<br />
| Bitcoin Core 0.19.0 - 23.x || {{No}} || {{No}} || {{No}} || {{No}} || {{No}} || {{Prefer|Exclusive}}<br />
|-<br />
| Bitcoin Core 24.0 & later || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Prefer|Default}}<br />
|}<br />
<br />
== See Also ==<br />
<br />
* [[Fee bumping]]<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP 125]<br />
* [https://www.reddit.com/r/Bitcoin/comments/3urm8o/optin_rbf_is_misunderstood_ask_questions_about_it/ Reddit: Questions about opt-in RBF]<br />
<br />
== References ==<br />
<br />
<references /></div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Transaction_replacement&diff=69562Transaction replacement2022-11-24T00:31:22Z<p>Luke-jr: Update & clarifications</p>
<hr />
<div>'''Transaction replacement''' occurs when a transaction seen by a node is conflicted with and ultimately replaced by another transaction.<br />
Typically, the replaced transaction had been unconfirmed, though it can happen sometimes in a [[blockchain reorganisation]] that a transaction with a few blocks confirmation can also be replaced.<br />
Transactions in the canonical blockchain must always replace conflicting transactions (a blockchain with two conflicting transactions is invalid).<br />
<br />
Unconfirmed transactions that do not conflict with the blockchain can, however, be replaced by other unconfirmed transactions at the whim of nodes, determined by the node operator's own policies.<br />
Hypothetically, a node could also keep track of and relay multiple conflicting transactions, though this is not typically done due to DoS risks.<br />
<br />
Unconfirmed transaction replacement has been included in the first version of<br />
Bitcoin<ref>[https://github.com/trottier/original-bitcoin/blob/master/src/main.cpp#L434 Replacement in original Bitcoin source code], Satoshi Nakamoto, GitHub, ''Retrieved 2015-12-08''</ref> but was disabled in the 0.3.12 release with the comment,<br />
"Disable replacement feature for now".<ref>[https://github.com/bitcoin/bitcoin/commit/05454818dc7ed92f577a1a1ef6798049f17a52e7#diff-118fcbaaba162ba17933c7893247df3aR522 Commit disabling replacement "for now"], Satoshi Nakamoto, GitHub, ''Retrieved 2015-12-08''</ref> Since then, there have been various attempts to make<br />
transaction replaceability widely available again.<ref>[https://bitcointalk.org/index.php?topic=199947.0 Initial replace-by-fee implementation available for testnet], BitcoinTalk forum, posted 2013-05-09, ''retrieved 2015-12-09''</ref><br />
<br />
Beginning with Bitcoin Core 0.12.0 (released Feb 2016), one type of transaction replaceability, [[Replace by fee|replace-by-fee]] (RBF), became widely available.<br />
This page<br />
attempts to document the current state of transaction replaceability for<br />
wallet authors who want to use that feature.<br />
<br />
== Node policies ==<br />
<br />
Unconfirmed transaction replacement is optional (it is not, and cannot be,<br />
a consensus rule), but widespread adherence to the same basic policy<br />
among nodes can help predict a popular network-wide mempool policy<br />
with the following expected benefits:<br />
<br />
* Consistent policy makes it easy for wallet authors to write code that uses transaction replacement to provide usability-enhancing features.<br />
<br />
* Consistent policy helps ensure long-running mempools contain mostly the same transactions (mempool consistency), which makes it easier for wallets and nodes to make guesses about how long it will take a transaction to confirm.<br />
<br />
* Consistent mempools may help nodes more quickly validate newly-received blocks as well as reduce the bandwidth used to announce new blocks in the future.<br />
<br />
=== Bitcoin 0.1 to 0.3.11===<br />
<br />
Unconfirmed transactions can be replaced at-will by the sender, regardless of fee increase or reduction, or output destinations.<br />
<br />
=== Bitcoin 0.3.12 to 0.3.19===<br />
<br />
Transaction replacability is accepted only in mined blocks, after which the replaced transaction can only be restored by a subsequent [[blockchain reorganisation]] containing a conflicting transaction (a reorganisation not conflicting will not rereplace the previously-mined replacement).<br />
<br />
=== Bitcoin Core & Knots 0.3.20 to 0.11.x ===<br />
<br />
Initially, Bitcoin Core did not modify, and continued the replacement policy of Bitcoin 0.3.19.<br />
<br />
=== Peter Todd's full-RBF patchset ===<br />
<br />
Peter Todd has historically maintained patchsets against Bitcoin Core<br />
0.8.x and later that implement full-RBF for all transactions in the<br />
mempool.<br />
Some older versions also provide an option to enable RBF First-Seen-Safe (RBF-FSS) only.<br />
<br />
Notably, the patchset also implements preferential peering that allows<br />
nodes implementing full-RBF to connect to each other so that replacements <br />
can circulate even if full-RBF nodes represent a small minority of the<br />
network.<br />
<br />
=== Bitcoin Core 0.12.0 to 0.18.x ===<br />
<br />
''Bitcoin Core 0.12.0 was released in Feb 2016.''<br />
<br />
Bitcoin Core 0.12.0 until 0.18.x included and used by default the initial implementation of opt-in RBF<br />
similar to (but not identical with) that described in [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP 125].<br />
Users could turn off the feature, reverting to the old replacement-averse policy.<br />
<br />
The initial implementation of opt-in full-RBF may be seen in <br />
[https://github.com/bitcoin/bitcoin/pull/6871 Bitcoin Core PR#6871]<br />
and specifically the master branch commits from<br />
5891f870d68d90408aa5ce5b597fb574f2d2cbca to<br />
16a2f93629f75d182871f288f0396afe6cdc8504 (inclusive).<br />
<br />
=== Bitcoin Knots 0.12.0 to 0.15.1 ===<br />
<br />
Bitcoin Knots 0.12.0 until 0.15.1 supported the same replacement-adverse and opt-in RBF policies as Bitcoin Core, but additionally offered the option for users to choose unconditional RBF, ignoring any policy preferences expressed using BIP 125.<br />
<br />
=== Bitcoin Knots 0.16.0 and later ===<br />
<br />
In 0.16.0, the default policy of Bitcoin Knots was changed to unconditional RBF, while support for both opt-in RBF and replacement-adverse policies have been maintained for users to choose at will.<br />
<br />
=== Bitcoin Core 0.19.0 to 23.x ===<br />
<br />
Beginning with 0.19.0, Bitcoin Core removed the option to revert to the replacement-averse policy, only supporting opt-in RBF.<br />
<br />
=== Bitcoin Core 24.0 and later ===<br />
<br />
Bitcoin Core 24.0 added the option to choose the unconditional RBF policy, though the default remains to apply only opt-in RBF.<br />
<br />
== See Also ==<br />
<br />
* [[Fee bumping]]<br />
* [https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki BIP 125]<br />
* [https://www.reddit.com/r/Bitcoin/comments/3urm8o/optin_rbf_is_misunderstood_ask_questions_about_it/ Reddit: Questions about opt-in RBF]<br />
<br />
== References ==<br />
<br />
<references /></div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Software&diff=69421Software2022-08-13T01:20:16Z<p>Luke-jr: /* Bitcoin clients */ Add Knots</p>
<hr />
<div>List of Bitcoin-related '''software'''. See also [[:Category:Software|Category:Software]].<br />
<br />
Be sure to keep on top of the latest [[CVEs|security vulnerabilities]]!<br />
<br />
==Bitcoin clients==<br />
===Bitcoin clients===<br />
::''Main article and feature comparison: [[Clients]]''<br />
*[[Bitcoin Knots]] - C++/Qt based tabbed UI. Linux/MacOSX/Windows. Full-featured [[Thin Client Security|thick client]] that downloads the entire [[block chain]], using code from the original Bitcoin client.<br />
*[[Bitcoin Core]] - C++/Qt based tabbed UI. Linux/MacOSX/Windows. Less featured full node client that downloads the entire [[block chain]], using code from the original Bitcoin client.<br />
*[[bitcoind]] - GUI-less version of the original Bitcoin client, providing a [[API reference (JSON-RPC)|JSON-RPC]] interface<br />
*[[MultiBit]] - lightweight [[Thin Client Security|thin client]] for Windows, MacOS and Linux with support for opening multiple wallets simultaneously<br />
*[[Electrum]] - a "blazing fast, open-source, multi-OS Bitcoin client/wallet with a very active community" - also a [[Thin Client Security|thin client]].<br />
*[https://bither.net/ Bither] - open source wallet for Android, iPhone and Desktop with cold storage support.<br />
*[[Bitcoin-js-remote]] - JavaScript RPC client, support for QR codes<br />
*[https://github.com/TheSeven/Bitcoin-WebUI Bitcoin WebUI] - JavaScript RPC client<br />
*[[Bitcoin_Explorer|Bitcoin Explorer]] - Bitcoin command line tools for Linux, OSX and Windows, part of [[Libbitcoin]] SDK.<br />
*[[Bitcoiner]] - Java RPC client (Android)<br />
*[[Armory]] - Enterprise grade Python-based client<br />
*[[Spesmilo]] - Python/PySide RPC client (abandoned)<br />
*[[Gocoin bitcoin software|Gocoin]] - WebUI client written in Go language, with a cold deterministic brain-wallet.<br />
*[https://github.com/conformal/btcd btcd] An alternative full node bitcoin implementation written in Go (golang).<br />
*[http://www.blockcypher.com BlockCypher] Full node bitcoin client built for scale and data centers, exposed through web APIs.<br />
*[[Mycelium]] Awarded the prestigious "Best Mobile App" award by Blockchain.info in 2014, the Mycelium wallet for Android provides several security features. <br />
<br />
====Frontends to eWallet====<br />
*[https://blockchain.info/wallet Blockchain] - Javascript bitcoin client with client side encryption.<br />
*[https://en.bitcoin.it/wiki/Xcoinmoney xCoinMoney] Advanced API to create invoices for subscription.<br />
*[https://cancoin.co/wallet Cancoin] - HSM multi-sig wallet using libbitcoin. Client side encryption.<br />
====Experimental====<br />
*[[Freecoin]] - C++ client, supports alternative currencies like [https://bitcointalk.org/index.php?topic=9493.0 Beertoken]<br />
*[[BitDroid]] - Java client<br />
*[[Bitdollar]] - C++/Qt client, unstable beta version<br />
<br />
==Bitcoin software==<br />
<br />
===Live operating systems===<br />
<br />
A [https://en.wikipedia.org/wiki/Live_USB live operating system] can start on almost any computer from a DVD, USB stick, or SD card, without installation.<br />
<br />
* [https://appticz.com/cryptocurrency-exchange-script Bitcoin Exchange Script] to readily launch the Bitcoin Exchange Platform offering a trustworthy and transparent medium of bitcoin trading along with features that readily attract a target audience.<br />
* [[BitKey]] - Live OS Bitcoin Swiss Army Knife, supports cold storage and air-gapped transactions<br />
* [https://tails.boum.org/ Tails] Privacy oriented Live OS, bundled with Tor and Electrum.<br />
* [https://appticz.com/p2p-crypto-exchange-script P2P Cryptocurrency Exchange Script] to readily launch a P2P Cryptocurrency Exchange Platform offering hassle-free cryptocurrency trading that readily attracts users from all over the world.<br />
<br />
===Exchange Platform Software===<br />
<br />
*'''[https://hivelance.com/cryptocurrency-exchange-script White label cryptocurrency exchange script]''' - Hivelance provides white label cryptocurrency exchange script that enables every low code startups to quickly build cryptocurrency exchanges. The software script favors the developers to deploy and launch the exchange services without writing a single line of code.<br />
*'''[https://maticz.com/white-label-crypto-exchange-software White label Cryptocurrency Exchange Script]''' - Get in touch with the much credited Cryptocurrency world through Maticz's Cryptocurrency Exchange Software offering endless trading features fulfilling the customer requirements and offering customizable UI/UX designs, increased conversion rates, maximized customer satisfaction, reputed ROI, and improvised security guidelines thereby ensuring a hassle-free Cryptocurrency exchange.<br />
*[https://www.alphapoint.com/ Alphapoint] - Bitcoin Exchange Software. Full system to run a digital currency exchange. Customize and launch your own digital currency and Bitcoin exchange in less than 20 days with AlphaPoint. Also supports automatic market-making on your exchange using 3rd party exchanges such as Bitfinex, BTCChina, and others. Supports many exchanges and smart routing, with automated account management.<br />
*[https://www.merkeleon.com/cryptocurrency-exchange-software/ Merkeleon Exchange Software] - A fully online software solution to launch a secure and reliable platform for cryptocurrency- and main world fiat currencies sale and purchase. Supports any currency integration, provides wide monetization opportunity for the owner.<br />
*[https://exknox.com/ ExKnox] - Open Source Exchange Software Development Team. Custom solutions built upon the world's most trusted matching engine.<br />
*[https://www.sellbitbuy.net/ Sellbitbuy] - Local bitcoin clone script. Complete solution for launching an exchange platform like remitano, bitsquare and paxful. <br />
*[https://www.cryptoexchangescript.com Cryptoexchangescript.com]-Cryptocurrency/bitcoin exchange script software.A complete solution to start your own bitcoin trading or exchange platform instantly.The website provides demo with 100% source code, go to market options and easy setup.<br />
*[https://www.blockchainappfactory.com/cryptocurrency-exchange-software Blockchain App Factory]-Cryptocurrency exchange software.End-End solution to build your own whitelabel exchange platform with core functionalities.<br />
*[https://www.infiniteblocktech.com/cryptocurrency-exchange-software Infinite Block Tech] - Launch your exchange proficiently and start your own cryptocurrency exchange instantly.Their blockchain module is powerful and guarantees elite, secure, instant, productive, and viable exchanges that will get more clients, and more footing for your business on a worldwide scale.<br />
*[https://www.cryptocurrencyexchangescript.com Cryptocurrency Exchange Script] - CES provides a customizable, advanced, and escrow based Cryptocurrency exchange platform script. The features include a robust order book, a multi-signature wallet, a margin trading facility, trading bots, a real-time price ticker API, multilingual technical support, and support for an unlimited number of digital currencies.<br />
<br />
===Shopping Cart Integration in eCommerce-Systems===<br />
*[[File:Ms-icon-310x310.png|20px]] [https://apirone.com/integrations/ Apirone.com] - Magento 2, WooCommerce, OpenCart 3.x & 2.3, ocStore and VirtueMart plugins, PHP, Rest API. Accept Bitcoins directly to specified wallet. SegWit support.<br />
*[[GoCoin]] - Plugin for WooCommerce support and coming soon Magento<br />
*[[Zen Cart Bitcoin Payment Module]] - a payment module that interacts with bitcoind for the Zen Cart eCommerce shopping chart.<br />
*[https://coinbase.com/docs/merchant_tools/shopping_cart_plugins Coinbase Shopping Cart Plugins] - Supports Wordpress, WooCommerce, Magento, Zencart, WP e-commerce, and more.<br />
*[[Karsha Shopping Cart Interface]] - is a mobile payment-interface which enables its users to accept payments.<br />
*[[Bitcoin-Cash]] - an easy to use payment module for xt:Commerce<br />
*[[BitPay]] - bitcoin plugins for Magento, Opencart, Zencart, PHP, JSON API<br />
*[[WalletBit]] - Plugins for PrestaShop, OpenCart, PHP, JSON API<br />
* [https://www.xcoinmoney.com/info/api-general-info xCoinMoney] Advanced API for instant payment and subscriptions<br />
*[[OpenCart Bitcoin]] - An OpenCart payment module that communicates with a bitcoin client using JSON RPC.<br />
* [[File:MCS_200by200_logo-01.png|20px|link=http://www.mycoinsolution.com]][http://www.mycoinsolution.com My Coin Solution] - Bitcoin consulting services and solutions; custom payment integrations<br />
*[[OsCommerce_Bitcoin_Payment_Module|OsCommerce Bitcoin Payment Module]] - a payment module that uses a python monitoring script to interact with bitcoind for OsCommerce<br />
* [http://drupal.org/project/uc_bitcoin Drupal Ubercart Bitcoin payment method] enables you to accept Bitcoin as payment for your Drupal/Ubercart enabled website product/services.<br />
<br />
=== Enterprise server ===<br />
*[https://apicoin.io Apicoin] First bitcoin PaaS (Platform as a Service)<br />
*[http://bitsofproof.com Bits of Proof] - a modular enterprise-ready implementation of the Bitcoin protocol.<br />
*[http://www.blockcypher.com BlockCypher] Full node bitcoin client built for scale and data center environments.<br />
<br />
===Web apps===<br />
*[[Cryptopay]] — hosted wallet, exchange and bitcoin debit card provider<br />
*[[Abe]] — block chain viewer<br />
*[[Bitcoin Central]] — currency exchange<br />
*[https://github.com/Mirobit/bitcoin-node-manager Bitcoin Node Manager] — Open source PHP dashboard for Bitcoin nodes.<br />
*[[Bitcoin Poker Room]] — poker site<br />
*[[bitcoin_simple_php_tools]] — simple php tools for webmasters<br />
*[[Blockonomics]] - Easy to use bitcoin financial tracker<br />
*[[Blockpath]] - Wallet tracker with a graphical block explorer, QuickBooks integration, and blockchain discussion platform<br />
*[[Blocktrail]] - Web wallet with high level security. Syncs seamlessly with your iphone and android Blocktrail wallet.<br />
*[https://en.bitcoin.it/wiki/Coinbase_(business) Coinbase] — an international digital wallet that allows you to securely buy, use, and accept bitcoin currency<br />
*[[Coinnext]] — Cryptocurrency Exchange<br />
*[http://www.coinsummary.com/ CoinSummary] — multi-coin wallet manager with built-in valuation in Bitcoin and major world currencies.<br />
* [[File:Paxful_how-to-buy-bitcoin.png |20px|link=https://paxful.com]] [https://paxful.com Paxful] Accept Bitcoin and Sell bitcoin on Peer to peer market.<br />
*[[Pocket Dice]] — First realistic bitcoin dice game.<br />
*[[Simplecoin]] — PHP web frontend for a pool<br />
*[[Coinbase Exchange]] - Bitcoin exchange with complete API for traders.<br />
*[https://cancoin.co/wallet Cancoin] - HSM Multi-sig wallet and p2p exchange* *coming soon<br />
<br />
===White label software===<br />
<br />
*[[Blockchain_App_Factory|Blockchain App Factory]] - Whitelabel Bitcoin Exchange Solutions<br />
*[https://www.alphapoint.com/ Alphapoint] - Bitcoin Exchange Software. Full system to run a digital currency exchange. Customize and launch your own digital currency and Bitcoin exchange in less than 20 days with AlphaPoint. Also supports automatic market-making on your exchange using 3rd party exchanges such as Bitstamp and others. Supports many exchanges and smart routing, with automated account management.<br />
*[https://www.draglet.com/ draglet] - Bitcoin Exchange Software / white label solution<br />
*[https://www.casinoevolution.com/ '''Casino Evolution'''] gaming software developed by '''www.SoftSwiss.com'''<br />
*[http://www.infraexdev.com/ InfraEx Development] - Open Source Exchange Software Development Team. Custom solutions built upon the world's most trusted matching engine.<br />
*[https://www.cryptocurrencyexchangescript.com/white-label-cryptocurrency-exchange-software Cryptocurrency Exchange Script] - Get a customized White label crypto exchange software embedded with enterprise-level architecture and military-grade security. The benefits mainly comprise a greater transaction throughput, integration of more than 100 different digital tokens, extensive security measures, scalable technology, and lesser time to reach the target market with the help of many ready to use modules.<br />
*[https://maticz.com/cryptocurrency-exchange-software-development Cryptocurrency Exchange Development] - Maticz offers White Label Cryptocurrency Exchange Software solutions for bitcoin traders and entrepreneurs to start an advanced cryptocurrency exchange platform. Our strong knowledge in Blockchain technology makes us develop a [https://maticz.com/white-label-crypto-exchange-software White Label Crypto Exchange] Software that enables seamless and hassle-free crypto exchange with advanced trading functionalities.<br />
<br />
===Browser extensions===<br />
*[[Bitcoin Extension]] - check balance and send bitcoins (Chrome)<br />
*[[Bitcoin Prices (extension)]] - monitoring price (Firefox)<br />
*[[Bitcoin Ticker]] - monitoring price (Chrome)<br />
*[[Biticker]] - Bitcoin ticker, currency converter and history price graph (Chrome)<br />
*[https://chrome.google.com/webstore/detail/bitcoin-microformats/bkanicejfbhlidgjkpenmddnacjengld?hl=en Bitcoin Microformats] Show bitcoin address metadata embedded in a page (Chrome)<br />
*[https://chrome.google.com/webstore/detail/bitcoin-address-lookup/pmlblkdmadbidammhjiponepngbfcpge?hl=en Bitcoin Address Lookup] Right click an address to view its value. (Chrome)<br />
<br />
===PC apps===<br />
*[https://centrabit.com/downloads/ Qt Bitcoin Trader] - Open Source Multi exchange trading client for Windows, Mac OS X and Linux<br />
*[http://www.mybtc-trader.com MyBTC-Trader.com] - a MtGox Bitcoin trading client for windows with GUI<br />
*[[Mining Explorer]] - monitoring tool for bitcoin mining<br />
*[[Bitcoin SMS Alert]] - sends SMS text alerts to a user's phone based on BTC price / percent thresholds.<br />
*[[BTConvert]] - currency conversion<br />
*[[Sierra Chart MtGox Bridge]] - real-time charting<br />
*[[BitTicker]] - monitoring price (Mac OS X)<br />
*[[ToyTrader]] - a command line trading tool for [[MtGox]]<br />
*[[goxsh]] - a command-line frontend to the [[MtGox|Mt. Gox Bitcoin Exchange]] (Python)<br />
*[[MyBitcoins gadget]] - monitoring pool earnings / price (Windows gadget)<br />
*[[Bitcoin QR Popup]] - streamlined interface to bitcoin for POS systems (Windows)<br />
*[http://gnome-help.org/content/show.php/Bitcoin+Rate?content=138572 Bitcoin Rate] - Desktop widget with BTC exchange rate (KDE)<br />
*[http://kde-apps.org/content/show.php?content=142344 Bitcoin Monitor] - Desktop widget to monitor status of your Bitcoin miners on mining pools (KDE)<br />
*[https://www.cortex7.net Cortex7] - Multi exchange charting and trading application for Windows, Mac and Linux.<br />
*[[Bitcoin_Explorer|Bitcoin Explorer]] - A command line client and tools for Windows, Mac and Linux. Single file binary download. Part of [[Libbitcoin]] SDK.<br />
*[[Bitcoin_Server|Bitcoin Server]] - A full node for Windows, Mac and Linux. Single file binary download. Part of [[Libbitcoin]] SDK.<br />
<br />
===Mobile apps===<br />
==== iPhone / iPad ====<br />
*[https://airbitz.co/bitcoin-wallet Airbitz Bitcoin Wallet] - Full featured iPhone bitcoin wallet & directory map (finds businesses that accept bitcoin near you). Airbitz wallet also automatically implements encryption, backup, and multidevice synchronization.<br />
*[https://blockchain.info/wallet/iphone-app Blockchain] - Fully featured iphone bitcoin app.<br />
*[https://blocktrail.com/ Blocktrail] - A powerful iphone bitcoin wallet, keeps you in control of your bitcoin. Highly secure. Syncs with the web wallet and android app seamlessly.<br />
*[[Bitcoin Ticker (iPhone)]] - monitoring price w/push notifications<br />
*[[BitCoins Mobile]] - First iPad native app! Live market data, news feeds, mining pool statistics, full screen exchange price charts, bitcoin network statistical charts. (iPad only, iPhone/iPod Touch coming soon!)<br />
*[https://github.com/teeman/BitcoinTrader BitcoinTrader] - Spend/receive BTC via QR codes, trade, deposit/withdraw, etc. Supports Mt. Gox, TradeHill, ExchB, CampBX, and InstaWallet.<br />
*[[Bit-pay]] - Mobile Checkout, set prices in any currency and receive mobile-to-mobile payment<br />
*[http://blog.coinbase.com/post/64824441934/the-coinbase-ios-app-has-launched Coinbase iPhone App]<br />
*[[Easywallet.org]] - Web based wallet, works with QR Code scanner on iPhone/iPad/iPod touch<br />
*[https://itunes.apple.com/us/app/btc-miner/id648411895?ls=1&mt=8 BTC Miner (iPhone)] - monitor mining results from various mining pools on iPhone/iPad/iPod touch<br />
*[[BitStore]] - Simple and secure native iOS wallet<br />
*[[BitTick]] - Real-time Bitcoin ticker. Real-time currency convert(support 50+ currency. USD, GBP, EUR, CNY, JPY, CAD, RUB, AUD, BRL, NZD, PLN, KRW…)<br />
*[https://itunes.apple.com/us/app/twizbits-bitcoin-price-ticker/id1041790847?mt=8- Twizbits Bitcoin price ticker] - Real-time Bitcoin price ticker for Coinbase Exchange (support USD, GBP, EUR, CAD)<br />
*[https://itunes.apple.com/us/app/cold-storage-coins/id1352363663?mt=8 Cold Storage Coins iPhone app]. Pairs with Cold Storage Coins hard wallets, works with QR Code scanner on iPhone/iPad/ etc.<br />
<br />
==== Android ====<br />
* Direct link to Android Market bitcoin apps. https://play.google.com/store/search?q=bitcoin<br />
*[https://play.google.com/store/apps/details?id=net.bither Bither] - open source Android wallet with support for offline cold storage.<br />
*[[Mycelium]] - Leading SPV Android wallet with many advanced features.<br />
*[https://airbitz.co/bitcoin-wallet Airbitz Bitcoin Wallet] - Full featured Android bitcoin wallet & directory map (finds businesses that accept bitcoin near you). Airbitz wallet also automatically implements encryption, backup, and multidevice synchronization.<br />
*[[Bitcoin Alert]] - monitoring price (Android)<br />
*[https://play.google.com/store/apps/details?id=com.mobnetic.coinguardian&hl=pl Bitcoin Checker] - Monitors the prices of cryptocurrencies on over 70 exchanges<br />
*[[Bitcoin Wallet Balance]] - view your balance in real time on your android phone<br />
*[[Bitcoin Wallet]] - Functional Android bitcoin wallet application. <br />
*[[BitPay]] - https://market.android.com/details?id=com.bitcoin.bitpay (Is not related to the bit-pay.com online payment processor.)<br />
*[https://play.google.com/store/apps/details?id=st.brothas.mtgoxwidget&hl=pl Bitcoin Ticker Widget] - displays and monitors the current BTC and LTC exchange rates.<br />
*[[Bridgewalker]] - euro-denominated wallet for the Bitcoin economy<br />
*[https://blockchain.info/wallet/android-app Blockchain] - Lightweight Android Bitcoin Client - Also works with blockchain.info web interface and iphone app.<br />
*[https://blocktrail.com/ Blocktrail] - A powerful android bitcoin wallet, keeps you in control of your bitcoin. Highly secure. Syncs with the web wallet and iphone app seamlessly.<br />
*[https://play.google.com/store/apps/details?id=com.coinbase.android&hl=en Coinbase Wallet] - supports buying, selling, sending, requesting, and more.<br />
*[https://play.google.com/store/apps/details?id=com.coinbase.android.merchant&hl=en Coinbase Merchant] - makes it easy to accept bitcoin at a retail location<br />
*[http://coincliff.com CoinCliff] - Monitors price and fires alarms to wake you up, or notifications, as in text messages (Android)<br />
*[http://coinomi.com/ Coinomi] - Coinomi is a very secure and lightweight, universal, open-source HD wallet for Bitcoin and many altcoins. ([https://play.google.com/store/apps/details?id=com.coinomi.wallet Android])<br />
*[https://www.cortex7.net Cortex7] - Multi exchange charting and trading application for Android.<br />
*[[Easywallet.org]] - Web based wallet, works with QR Code scanner on Android devices<br />
*[[Miner Status]] - monitoring miner status (Android)<br />
*[[SMS Bitcoins]] - transactions by SMS<br />
*[http://tab-trader.com/ TabTrader] - monitoring and trading(Android)<br />
<br />
==== Windows Phone 7 ====<br />
*Direct link to Windows Phone Marketplace Bitcoin apps: [http://www.windowsphone.com/en-us/store/search?q=bitcoin]<br />
<br />
==== Windows Phone 8 ====<br />
*[[Bitcoin Can]] - Monitoring prices, account balances and mobile trading on multiple exchanges including Coinbase, BTC-E, CampBX, and MtGox. http://www.windowsphone.com/en-us/store/app/bitcoin-can/57fcf4d6-497a-4663-8da3-93cb26c83b11<br />
<br />
see also [[Bitcoin Payment Apps]]<br />
<br />
===Mining apps===<br />
Main page: [[Mining software]]<br />
<br />
*[[BFGMiner]] - Modular ASIC/FPGA/GPU miner in C<br />
*[http://www.groupfabric.com/bitcoin-miner/ Bitcoin Miner by GroupFabric] - Free easy-to-use DirectX GPU miner on the Windows Store<br />
*[[CGMiner]] - ASIC/FPGA/GPU miner in C<br />
*[http://fabulouspanda.co.uk/macminer/ MacMiner] - A native Mac OS X Bitcoin miner based on cgminer, bfgminer, cpuminer and poclbm<br />
*[[Asteroid]] - Mac-specific GUI based on cgminer<br />
*[[MultiMiner]] - GUI based on cgminer/bfgminer for Windows, OS X and Linux, allows switching between currencies based on profitability<br />
<br />
===Mining Pool Servers (backend)===<br />
Main page: [[Poolservers]]<br />
<br />
*[[CoiniumServ]] - High performance C# Mono/.Net poolserver.<br />
*[[ecoinpool]] - Erlang poolserver (not maintained)<br />
*[[Eloipool]] - Fast Python3 poolserver<br />
*[[Pushpoold]] - Old mining poolserver in C (not maintained)<br />
*[[Poold]] - Old Python mining poolserver (not maintained)<br />
*[[PoolServerJ]] - Java mining poolserver (not maintained)<br />
*[[Remote miner]] - mining pool software<br />
*[[ckpool]] - Open source pool/database/proxy/passthrough/library in c for Linux<br />
<br />
===Libraries===<br />
<br />
=====C=====<br />
*[https://github.com/libbtc/libbtc libbtc] - A fast, clean and small bitcoin C library<br />
*[https://github.com/jgarzik/picocoin picocoin] - Tiny bitcoin library, with lightweight client and utils<br />
*[https://github.com/luke-jr/libbase58 libbase58] - C library implementation of [[Base58]] and [[Base58Check]] encodings<br />
*[[libblkmaker]] - C library implementation of [[getblocktemplate]] decentralized mining protocol<br />
<br />
=====C++=====<br />
*[[Libbitcoin]] - Comprehensive set of C++ libraries: key formats, crypto, math, encodings, urls, mnemonics, blockchain, full node, client-server, etc. Linux and OSX Autotools builds. Visual Studio solutions for Windows, with Unicode support. Extensive test suite and [https://travis-ci.org/libbitcoin continuous integration builds]. Core dependencies limited to [http://www.boost.org Boost] and [https://github.com/bitcoin/secp256k1 Libsecp256k1] with [http://zeromq.org ZeroMQ] required for client-server API.<br />
<br />
====C / C++====<br />
*[https://airbitz.co/bitcoin-wallet-api-library Bitcoin Wallet API Library] - Airbitz Core (ABC) C/C++ Library implements user authentication, account wallet creation, multi device synchronization and backup, transaction meta data management, Bitcoin address generation, key management, decentralized access to bitcoin network, shared wallets w/multisig (Q1 2015)<br />
<br />
====Java====<br />
*[[bitcoinj]] - popular client library for Java, currently used in several desktop/mobile applications.<br />
*[[BCCAPI]] (BitCoin Client API) - a java library designed for making secure light-weight bitcoin clients.<br />
*[[BitcoinCrypto]] - a lightweight Bitcoin crypto library for Java/Android.<br />
<br />
====Objective-C====<br />
*[https://github.com/keeshux/BitcoinSPV BitcoinSPV] - A native Bitcoin SPV client library for iOS with BIP32 support.<br />
<br />
====Perl====<br />
*[[Finance::MtGox]] - a Perl module which interfaces with the Mt. Gox API<br />
<br />
====Python====<br />
[https://pybtc.readthedocs.io/ PYBTC] Python library for Bitcoin.<br />
*[[python-blkmaker]] - Python module implementation of [[getblocktemplate]] decentralized mining protocol<br />
<br />
===Development utilities===<br />
*[[Bitcoin Dissector]] - a wireshark dissector for the bitcoin protocol<br />
*[[Bitcoin Explorer]] - an advanced command line tool for working with bitcoin<br />
*[[Bitcointools]] - a set of Python tools accessing the transaction database and the wallet<br />
*[https://github.com/straumat/blockchain2graph Blockchain2graph] - a tool to import bitcoin blockchain into neo4j<br />
<br />
===Lists of software===<br />
*[[BitGit]] - list of Bitcoin-related opensource projects hosted at Git<br />
<br />
===Developer resources===<br />
*[[:Category:Developer|Category:Developer]]<br />
*[[:Category:Technical|Category:Technical]]<br />
*[[Original Bitcoin client/API calls list]]<br />
*[[API reference (JSON-RPC)]]<br />
*[[PHP_developer_intro|PHP Developer Introduction]]<br />
<br />
===Other===<br />
*[http://www.phyramid.com/ Phyramid] Digital Agency offering software development and design services for Bitcoin businesses.<br />
*[[Bitcoin Consultancy]] - an organization providing open source software and Bitcoin-related consulting<br />
*[[Open Transactions]] - a financial crypto and digital cash software library, complementary to Bitcoin<br />
*[[Moneychanger]] - Java-based GUI for [[Open Transactions]]<br />
*[http://btcnames.org/ BTCnames] - a webbased aliasing service which allows to handle unlimited names for your BTC deposit hashes<br />
* [http://www.bitcoinmining.com/bitcoin-mining-software/ Bitcoin Mining Software] - A helpful list of various Bitcoin software options<br />
<br />
== Webservices / APIs ==<br />
<br />
===Bitcoin Infrastructure===<br />
* [[BlockTrail.com]] - Bitcoin API and platform for developers, complete with SDKs for PHP, Python, NodeJS and more<br />
* [http://www.blockcypher.com BlockCypher] - High reliability Bitcoin Web Services, including web hooks, double spend detection and many SDKs.<br />
<br />
===Bitcoin Trade Data===<br />
*[[Bitcoin Charts]] – Prices, volume, and extensive charting on virtually all Bitcoin markets.<br />
*[https://bitcoinchain.com BitcoinChain] - Bitcoin block explorer, exchange markets and mining pools. <br />
*[[MtGox Live]] - An innovative chart showing a live feed of [[MtGox]] trades and market depth. (Must Use Chrome)<br />
*[http://btccharts.com BTCCharts] - An innovative chart showing a live feed of multiple markets, currencies and timeframes.<br />
*[http://MY-BTC.info MY-BTC.INFO] - A free profit/loss portfolio manager for Bitcoins and other digital currencies including many charts.<br />
*[http://BitcoinExchangeRate.org BitcoinExchangeRate.org] - Bitcoin and USD converter with convenient URL scheme and Auto-updating Portfolio Spreadsheet.<br />
*[[Bitcoin Sentiment Index]] - A financial index that collects and disseminates sentiment data about bitcoin.<br />
*[[Preev]] - Bitcoin converter with live exchange rates.<br />
*[[Skami]] - Bitcoin Market Exchange comparison charts.<br />
*[[BitcoinSentiment]] - Crowdvoting site offering means of voting and viewing voters sentiment towards bitcoin.<br />
*[[TradingView]] – network where traders exchange ideas about Bitcoin using advanced free online charts<br />
<br />
===Web interfaces for merchants===<br />
*[[File:Ms-icon-310x310.png|20px]] [https://apirone.com/docs/ Apirone.com] - CMS plugins, RESTful API, Bitcoin Forwarding and wallet API, native SegWit support.<br />
*[https://developer.bitaps.com/ bitaps.com] - Blockchian API, Wallet API, Payment forwarding API, Market API, TOR network endpoint and TOR callbacks.<br />
*[[BitMerch]] - Embeddable HTML buttons, instant sign-up, instant payouts, automatic price adjustment for other currencies. No programming skills required to set up.<br />
*[[Bitcoin Evolution]] - Non wallet-based Buy Now button to insert into websites (handles sales tracking; client must be used for actual transaction)<br />
*[[BitPay]] - Buy Now buttons, Checkout posts/callbacks, Mobile Checkout, JSON API<br />
*[[Btceconomy]] - a JavaScript widget listing items for sale<br />
*[https://coinbase.com/merchants Coinbase] - Provides bitcoin payment processing for Overstock.com, Reddit, Khan Academy, OkCupid, and more.<br />
*[[File:Easybitz.png|20px|link=https://github.com/goethewins/EzBitcoin-Api-Wallet]] Simplest Web API for processing transactions with your own server. php code igniter, database and logging auth system included. Same as block chain.info api<br />
*[[BTCMerch]] - Payment processor for bitcoins and other cryptocurrencies. 0.5% transaction fee. Sandbox is available.<br />
*[[GoCoin]] - Payment gateway for bitcoin. Supports JavaScript, PHP, Java, Ruby, and .NET<br />
*[[WalletBit]] - Easy JavaScript Buy Now buttons, Instant Payment Notification, Application Programming Interface (JSON API), Mobile Checkout, QR-Code<br />
* [https://www.PikaPay.com PikaPay] ([[PikaPay|info]]) The PikaPay service will be retiring as of March 1st, 2015<br />
<br />
[[Category:Software|*]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Software&diff=69420Software2022-08-13T01:19:10Z<p>Luke-jr: Fix crypto->cryptocurrency</p>
<hr />
<div>List of Bitcoin-related '''software'''. See also [[:Category:Software|Category:Software]].<br />
<br />
Be sure to keep on top of the latest [[CVEs|security vulnerabilities]]!<br />
<br />
==Bitcoin clients==<br />
===Bitcoin clients===<br />
::''Main article and feature comparison: [[Clients]]''<br />
*[[Bitcoin Core]] - C++/Qt based tabbed UI. Linux/MacOSX/Windows. Full-featured [[Thin Client Security|thick client]] that downloads the entire [[block chain]], using code from the original Bitcoin client.<br />
*[[bitcoind]] - GUI-less version of the original Bitcoin client, providing a [[API reference (JSON-RPC)|JSON-RPC]] interface<br />
*[[MultiBit]] - lightweight [[Thin Client Security|thin client]] for Windows, MacOS and Linux with support for opening multiple wallets simultaneously<br />
*[[Electrum]] - a "blazing fast, open-source, multi-OS Bitcoin client/wallet with a very active community" - also a [[Thin Client Security|thin client]].<br />
*[https://bither.net/ Bither] - open source wallet for Android, iPhone and Desktop with cold storage support.<br />
*[[Bitcoin-js-remote]] - JavaScript RPC client, support for QR codes<br />
*[https://github.com/TheSeven/Bitcoin-WebUI Bitcoin WebUI] - JavaScript RPC client<br />
*[[Bitcoin_Explorer|Bitcoin Explorer]] - Bitcoin command line tools for Linux, OSX and Windows, part of [[Libbitcoin]] SDK.<br />
*[[Bitcoiner]] - Java RPC client (Android)<br />
*[[Armory]] - Enterprise grade Python-based client<br />
*[[Spesmilo]] - Python/PySide RPC client (abandoned)<br />
*[[Gocoin bitcoin software|Gocoin]] - WebUI client written in Go language, with a cold deterministic brain-wallet.<br />
*[https://github.com/conformal/btcd btcd] An alternative full node bitcoin implementation written in Go (golang).<br />
*[http://www.blockcypher.com BlockCypher] Full node bitcoin client built for scale and data centers, exposed through web APIs.<br />
*[[Mycelium]] Awarded the prestigious "Best Mobile App" award by Blockchain.info in 2014, the Mycelium wallet for Android provides several security features. <br />
<br />
====Frontends to eWallet====<br />
*[https://blockchain.info/wallet Blockchain] - Javascript bitcoin client with client side encryption.<br />
*[https://en.bitcoin.it/wiki/Xcoinmoney xCoinMoney] Advanced API to create invoices for subscription.<br />
*[https://cancoin.co/wallet Cancoin] - HSM multi-sig wallet using libbitcoin. Client side encryption.<br />
====Experimental====<br />
*[[Freecoin]] - C++ client, supports alternative currencies like [https://bitcointalk.org/index.php?topic=9493.0 Beertoken]<br />
*[[BitDroid]] - Java client<br />
*[[Bitdollar]] - C++/Qt client, unstable beta version<br />
<br />
==Bitcoin software==<br />
<br />
===Live operating systems===<br />
<br />
A [https://en.wikipedia.org/wiki/Live_USB live operating system] can start on almost any computer from a DVD, USB stick, or SD card, without installation.<br />
<br />
* [https://appticz.com/cryptocurrency-exchange-script Bitcoin Exchange Script] to readily launch the Bitcoin Exchange Platform offering a trustworthy and transparent medium of bitcoin trading along with features that readily attract a target audience.<br />
* [[BitKey]] - Live OS Bitcoin Swiss Army Knife, supports cold storage and air-gapped transactions<br />
* [https://tails.boum.org/ Tails] Privacy oriented Live OS, bundled with Tor and Electrum.<br />
* [https://appticz.com/p2p-crypto-exchange-script P2P Cryptocurrency Exchange Script] to readily launch a P2P Cryptocurrency Exchange Platform offering hassle-free cryptocurrency trading that readily attracts users from all over the world.<br />
<br />
===Exchange Platform Software===<br />
<br />
*'''[https://hivelance.com/cryptocurrency-exchange-script White label cryptocurrency exchange script]''' - Hivelance provides white label cryptocurrency exchange script that enables every low code startups to quickly build cryptocurrency exchanges. The software script favors the developers to deploy and launch the exchange services without writing a single line of code.<br />
*'''[https://maticz.com/white-label-crypto-exchange-software White label Cryptocurrency Exchange Script]''' - Get in touch with the much credited Cryptocurrency world through Maticz's Cryptocurrency Exchange Software offering endless trading features fulfilling the customer requirements and offering customizable UI/UX designs, increased conversion rates, maximized customer satisfaction, reputed ROI, and improvised security guidelines thereby ensuring a hassle-free Cryptocurrency exchange.<br />
*[https://www.alphapoint.com/ Alphapoint] - Bitcoin Exchange Software. Full system to run a digital currency exchange. Customize and launch your own digital currency and Bitcoin exchange in less than 20 days with AlphaPoint. Also supports automatic market-making on your exchange using 3rd party exchanges such as Bitfinex, BTCChina, and others. Supports many exchanges and smart routing, with automated account management.<br />
*[https://www.merkeleon.com/cryptocurrency-exchange-software/ Merkeleon Exchange Software] - A fully online software solution to launch a secure and reliable platform for cryptocurrency- and main world fiat currencies sale and purchase. Supports any currency integration, provides wide monetization opportunity for the owner.<br />
*[https://exknox.com/ ExKnox] - Open Source Exchange Software Development Team. Custom solutions built upon the world's most trusted matching engine.<br />
*[https://www.sellbitbuy.net/ Sellbitbuy] - Local bitcoin clone script. Complete solution for launching an exchange platform like remitano, bitsquare and paxful. <br />
*[https://www.cryptoexchangescript.com Cryptoexchangescript.com]-Cryptocurrency/bitcoin exchange script software.A complete solution to start your own bitcoin trading or exchange platform instantly.The website provides demo with 100% source code, go to market options and easy setup.<br />
*[https://www.blockchainappfactory.com/cryptocurrency-exchange-software Blockchain App Factory]-Cryptocurrency exchange software.End-End solution to build your own whitelabel exchange platform with core functionalities.<br />
*[https://www.infiniteblocktech.com/cryptocurrency-exchange-software Infinite Block Tech] - Launch your exchange proficiently and start your own cryptocurrency exchange instantly.Their blockchain module is powerful and guarantees elite, secure, instant, productive, and viable exchanges that will get more clients, and more footing for your business on a worldwide scale.<br />
*[https://www.cryptocurrencyexchangescript.com Cryptocurrency Exchange Script] - CES provides a customizable, advanced, and escrow based Cryptocurrency exchange platform script. The features include a robust order book, a multi-signature wallet, a margin trading facility, trading bots, a real-time price ticker API, multilingual technical support, and support for an unlimited number of digital currencies.<br />
<br />
===Shopping Cart Integration in eCommerce-Systems===<br />
*[[File:Ms-icon-310x310.png|20px]] [https://apirone.com/integrations/ Apirone.com] - Magento 2, WooCommerce, OpenCart 3.x & 2.3, ocStore and VirtueMart plugins, PHP, Rest API. Accept Bitcoins directly to specified wallet. SegWit support.<br />
*[[GoCoin]] - Plugin for WooCommerce support and coming soon Magento<br />
*[[Zen Cart Bitcoin Payment Module]] - a payment module that interacts with bitcoind for the Zen Cart eCommerce shopping chart.<br />
*[https://coinbase.com/docs/merchant_tools/shopping_cart_plugins Coinbase Shopping Cart Plugins] - Supports Wordpress, WooCommerce, Magento, Zencart, WP e-commerce, and more.<br />
*[[Karsha Shopping Cart Interface]] - is a mobile payment-interface which enables its users to accept payments.<br />
*[[Bitcoin-Cash]] - an easy to use payment module for xt:Commerce<br />
*[[BitPay]] - bitcoin plugins for Magento, Opencart, Zencart, PHP, JSON API<br />
*[[WalletBit]] - Plugins for PrestaShop, OpenCart, PHP, JSON API<br />
* [https://www.xcoinmoney.com/info/api-general-info xCoinMoney] Advanced API for instant payment and subscriptions<br />
*[[OpenCart Bitcoin]] - An OpenCart payment module that communicates with a bitcoin client using JSON RPC.<br />
* [[File:MCS_200by200_logo-01.png|20px|link=http://www.mycoinsolution.com]][http://www.mycoinsolution.com My Coin Solution] - Bitcoin consulting services and solutions; custom payment integrations<br />
*[[OsCommerce_Bitcoin_Payment_Module|OsCommerce Bitcoin Payment Module]] - a payment module that uses a python monitoring script to interact with bitcoind for OsCommerce<br />
* [http://drupal.org/project/uc_bitcoin Drupal Ubercart Bitcoin payment method] enables you to accept Bitcoin as payment for your Drupal/Ubercart enabled website product/services.<br />
<br />
=== Enterprise server ===<br />
*[https://apicoin.io Apicoin] First bitcoin PaaS (Platform as a Service)<br />
*[http://bitsofproof.com Bits of Proof] - a modular enterprise-ready implementation of the Bitcoin protocol.<br />
*[http://www.blockcypher.com BlockCypher] Full node bitcoin client built for scale and data center environments.<br />
<br />
===Web apps===<br />
*[[Cryptopay]] — hosted wallet, exchange and bitcoin debit card provider<br />
*[[Abe]] — block chain viewer<br />
*[[Bitcoin Central]] — currency exchange<br />
*[https://github.com/Mirobit/bitcoin-node-manager Bitcoin Node Manager] — Open source PHP dashboard for Bitcoin nodes.<br />
*[[Bitcoin Poker Room]] — poker site<br />
*[[bitcoin_simple_php_tools]] — simple php tools for webmasters<br />
*[[Blockonomics]] - Easy to use bitcoin financial tracker<br />
*[[Blockpath]] - Wallet tracker with a graphical block explorer, QuickBooks integration, and blockchain discussion platform<br />
*[[Blocktrail]] - Web wallet with high level security. Syncs seamlessly with your iphone and android Blocktrail wallet.<br />
*[https://en.bitcoin.it/wiki/Coinbase_(business) Coinbase] — an international digital wallet that allows you to securely buy, use, and accept bitcoin currency<br />
*[[Coinnext]] — Cryptocurrency Exchange<br />
*[http://www.coinsummary.com/ CoinSummary] — multi-coin wallet manager with built-in valuation in Bitcoin and major world currencies.<br />
* [[File:Paxful_how-to-buy-bitcoin.png |20px|link=https://paxful.com]] [https://paxful.com Paxful] Accept Bitcoin and Sell bitcoin on Peer to peer market.<br />
*[[Pocket Dice]] — First realistic bitcoin dice game.<br />
*[[Simplecoin]] — PHP web frontend for a pool<br />
*[[Coinbase Exchange]] - Bitcoin exchange with complete API for traders.<br />
*[https://cancoin.co/wallet Cancoin] - HSM Multi-sig wallet and p2p exchange* *coming soon<br />
<br />
===White label software===<br />
<br />
*[[Blockchain_App_Factory|Blockchain App Factory]] - Whitelabel Bitcoin Exchange Solutions<br />
*[https://www.alphapoint.com/ Alphapoint] - Bitcoin Exchange Software. Full system to run a digital currency exchange. Customize and launch your own digital currency and Bitcoin exchange in less than 20 days with AlphaPoint. Also supports automatic market-making on your exchange using 3rd party exchanges such as Bitstamp and others. Supports many exchanges and smart routing, with automated account management.<br />
*[https://www.draglet.com/ draglet] - Bitcoin Exchange Software / white label solution<br />
*[https://www.casinoevolution.com/ '''Casino Evolution'''] gaming software developed by '''www.SoftSwiss.com'''<br />
*[http://www.infraexdev.com/ InfraEx Development] - Open Source Exchange Software Development Team. Custom solutions built upon the world's most trusted matching engine.<br />
*[https://www.cryptocurrencyexchangescript.com/white-label-cryptocurrency-exchange-software Cryptocurrency Exchange Script] - Get a customized White label crypto exchange software embedded with enterprise-level architecture and military-grade security. The benefits mainly comprise a greater transaction throughput, integration of more than 100 different digital tokens, extensive security measures, scalable technology, and lesser time to reach the target market with the help of many ready to use modules.<br />
*[https://maticz.com/cryptocurrency-exchange-software-development Cryptocurrency Exchange Development] - Maticz offers White Label Cryptocurrency Exchange Software solutions for bitcoin traders and entrepreneurs to start an advanced cryptocurrency exchange platform. Our strong knowledge in Blockchain technology makes us develop a [https://maticz.com/white-label-crypto-exchange-software White Label Crypto Exchange] Software that enables seamless and hassle-free crypto exchange with advanced trading functionalities.<br />
<br />
===Browser extensions===<br />
*[[Bitcoin Extension]] - check balance and send bitcoins (Chrome)<br />
*[[Bitcoin Prices (extension)]] - monitoring price (Firefox)<br />
*[[Bitcoin Ticker]] - monitoring price (Chrome)<br />
*[[Biticker]] - Bitcoin ticker, currency converter and history price graph (Chrome)<br />
*[https://chrome.google.com/webstore/detail/bitcoin-microformats/bkanicejfbhlidgjkpenmddnacjengld?hl=en Bitcoin Microformats] Show bitcoin address metadata embedded in a page (Chrome)<br />
*[https://chrome.google.com/webstore/detail/bitcoin-address-lookup/pmlblkdmadbidammhjiponepngbfcpge?hl=en Bitcoin Address Lookup] Right click an address to view its value. (Chrome)<br />
<br />
===PC apps===<br />
*[https://centrabit.com/downloads/ Qt Bitcoin Trader] - Open Source Multi exchange trading client for Windows, Mac OS X and Linux<br />
*[http://www.mybtc-trader.com MyBTC-Trader.com] - a MtGox Bitcoin trading client for windows with GUI<br />
*[[Mining Explorer]] - monitoring tool for bitcoin mining<br />
*[[Bitcoin SMS Alert]] - sends SMS text alerts to a user's phone based on BTC price / percent thresholds.<br />
*[[BTConvert]] - currency conversion<br />
*[[Sierra Chart MtGox Bridge]] - real-time charting<br />
*[[BitTicker]] - monitoring price (Mac OS X)<br />
*[[ToyTrader]] - a command line trading tool for [[MtGox]]<br />
*[[goxsh]] - a command-line frontend to the [[MtGox|Mt. Gox Bitcoin Exchange]] (Python)<br />
*[[MyBitcoins gadget]] - monitoring pool earnings / price (Windows gadget)<br />
*[[Bitcoin QR Popup]] - streamlined interface to bitcoin for POS systems (Windows)<br />
*[http://gnome-help.org/content/show.php/Bitcoin+Rate?content=138572 Bitcoin Rate] - Desktop widget with BTC exchange rate (KDE)<br />
*[http://kde-apps.org/content/show.php?content=142344 Bitcoin Monitor] - Desktop widget to monitor status of your Bitcoin miners on mining pools (KDE)<br />
*[https://www.cortex7.net Cortex7] - Multi exchange charting and trading application for Windows, Mac and Linux.<br />
*[[Bitcoin_Explorer|Bitcoin Explorer]] - A command line client and tools for Windows, Mac and Linux. Single file binary download. Part of [[Libbitcoin]] SDK.<br />
*[[Bitcoin_Server|Bitcoin Server]] - A full node for Windows, Mac and Linux. Single file binary download. Part of [[Libbitcoin]] SDK.<br />
<br />
===Mobile apps===<br />
==== iPhone / iPad ====<br />
*[https://airbitz.co/bitcoin-wallet Airbitz Bitcoin Wallet] - Full featured iPhone bitcoin wallet & directory map (finds businesses that accept bitcoin near you). Airbitz wallet also automatically implements encryption, backup, and multidevice synchronization.<br />
*[https://blockchain.info/wallet/iphone-app Blockchain] - Fully featured iphone bitcoin app.<br />
*[https://blocktrail.com/ Blocktrail] - A powerful iphone bitcoin wallet, keeps you in control of your bitcoin. Highly secure. Syncs with the web wallet and android app seamlessly.<br />
*[[Bitcoin Ticker (iPhone)]] - monitoring price w/push notifications<br />
*[[BitCoins Mobile]] - First iPad native app! Live market data, news feeds, mining pool statistics, full screen exchange price charts, bitcoin network statistical charts. (iPad only, iPhone/iPod Touch coming soon!)<br />
*[https://github.com/teeman/BitcoinTrader BitcoinTrader] - Spend/receive BTC via QR codes, trade, deposit/withdraw, etc. Supports Mt. Gox, TradeHill, ExchB, CampBX, and InstaWallet.<br />
*[[Bit-pay]] - Mobile Checkout, set prices in any currency and receive mobile-to-mobile payment<br />
*[http://blog.coinbase.com/post/64824441934/the-coinbase-ios-app-has-launched Coinbase iPhone App]<br />
*[[Easywallet.org]] - Web based wallet, works with QR Code scanner on iPhone/iPad/iPod touch<br />
*[https://itunes.apple.com/us/app/btc-miner/id648411895?ls=1&mt=8 BTC Miner (iPhone)] - monitor mining results from various mining pools on iPhone/iPad/iPod touch<br />
*[[BitStore]] - Simple and secure native iOS wallet<br />
*[[BitTick]] - Real-time Bitcoin ticker. Real-time currency convert(support 50+ currency. USD, GBP, EUR, CNY, JPY, CAD, RUB, AUD, BRL, NZD, PLN, KRW…)<br />
*[https://itunes.apple.com/us/app/twizbits-bitcoin-price-ticker/id1041790847?mt=8- Twizbits Bitcoin price ticker] - Real-time Bitcoin price ticker for Coinbase Exchange (support USD, GBP, EUR, CAD)<br />
*[https://itunes.apple.com/us/app/cold-storage-coins/id1352363663?mt=8 Cold Storage Coins iPhone app]. Pairs with Cold Storage Coins hard wallets, works with QR Code scanner on iPhone/iPad/ etc.<br />
<br />
==== Android ====<br />
* Direct link to Android Market bitcoin apps. https://play.google.com/store/search?q=bitcoin<br />
*[https://play.google.com/store/apps/details?id=net.bither Bither] - open source Android wallet with support for offline cold storage.<br />
*[[Mycelium]] - Leading SPV Android wallet with many advanced features.<br />
*[https://airbitz.co/bitcoin-wallet Airbitz Bitcoin Wallet] - Full featured Android bitcoin wallet & directory map (finds businesses that accept bitcoin near you). Airbitz wallet also automatically implements encryption, backup, and multidevice synchronization.<br />
*[[Bitcoin Alert]] - monitoring price (Android)<br />
*[https://play.google.com/store/apps/details?id=com.mobnetic.coinguardian&hl=pl Bitcoin Checker] - Monitors the prices of cryptocurrencies on over 70 exchanges<br />
*[[Bitcoin Wallet Balance]] - view your balance in real time on your android phone<br />
*[[Bitcoin Wallet]] - Functional Android bitcoin wallet application. <br />
*[[BitPay]] - https://market.android.com/details?id=com.bitcoin.bitpay (Is not related to the bit-pay.com online payment processor.)<br />
*[https://play.google.com/store/apps/details?id=st.brothas.mtgoxwidget&hl=pl Bitcoin Ticker Widget] - displays and monitors the current BTC and LTC exchange rates.<br />
*[[Bridgewalker]] - euro-denominated wallet for the Bitcoin economy<br />
*[https://blockchain.info/wallet/android-app Blockchain] - Lightweight Android Bitcoin Client - Also works with blockchain.info web interface and iphone app.<br />
*[https://blocktrail.com/ Blocktrail] - A powerful android bitcoin wallet, keeps you in control of your bitcoin. Highly secure. Syncs with the web wallet and iphone app seamlessly.<br />
*[https://play.google.com/store/apps/details?id=com.coinbase.android&hl=en Coinbase Wallet] - supports buying, selling, sending, requesting, and more.<br />
*[https://play.google.com/store/apps/details?id=com.coinbase.android.merchant&hl=en Coinbase Merchant] - makes it easy to accept bitcoin at a retail location<br />
*[http://coincliff.com CoinCliff] - Monitors price and fires alarms to wake you up, or notifications, as in text messages (Android)<br />
*[http://coinomi.com/ Coinomi] - Coinomi is a very secure and lightweight, universal, open-source HD wallet for Bitcoin and many altcoins. ([https://play.google.com/store/apps/details?id=com.coinomi.wallet Android])<br />
*[https://www.cortex7.net Cortex7] - Multi exchange charting and trading application for Android.<br />
*[[Easywallet.org]] - Web based wallet, works with QR Code scanner on Android devices<br />
*[[Miner Status]] - monitoring miner status (Android)<br />
*[[SMS Bitcoins]] - transactions by SMS<br />
*[http://tab-trader.com/ TabTrader] - monitoring and trading(Android)<br />
<br />
==== Windows Phone 7 ====<br />
*Direct link to Windows Phone Marketplace Bitcoin apps: [http://www.windowsphone.com/en-us/store/search?q=bitcoin]<br />
<br />
==== Windows Phone 8 ====<br />
*[[Bitcoin Can]] - Monitoring prices, account balances and mobile trading on multiple exchanges including Coinbase, BTC-E, CampBX, and MtGox. http://www.windowsphone.com/en-us/store/app/bitcoin-can/57fcf4d6-497a-4663-8da3-93cb26c83b11<br />
<br />
see also [[Bitcoin Payment Apps]]<br />
<br />
===Mining apps===<br />
Main page: [[Mining software]]<br />
<br />
*[[BFGMiner]] - Modular ASIC/FPGA/GPU miner in C<br />
*[http://www.groupfabric.com/bitcoin-miner/ Bitcoin Miner by GroupFabric] - Free easy-to-use DirectX GPU miner on the Windows Store<br />
*[[CGMiner]] - ASIC/FPGA/GPU miner in C<br />
*[http://fabulouspanda.co.uk/macminer/ MacMiner] - A native Mac OS X Bitcoin miner based on cgminer, bfgminer, cpuminer and poclbm<br />
*[[Asteroid]] - Mac-specific GUI based on cgminer<br />
*[[MultiMiner]] - GUI based on cgminer/bfgminer for Windows, OS X and Linux, allows switching between currencies based on profitability<br />
<br />
===Mining Pool Servers (backend)===<br />
Main page: [[Poolservers]]<br />
<br />
*[[CoiniumServ]] - High performance C# Mono/.Net poolserver.<br />
*[[ecoinpool]] - Erlang poolserver (not maintained)<br />
*[[Eloipool]] - Fast Python3 poolserver<br />
*[[Pushpoold]] - Old mining poolserver in C (not maintained)<br />
*[[Poold]] - Old Python mining poolserver (not maintained)<br />
*[[PoolServerJ]] - Java mining poolserver (not maintained)<br />
*[[Remote miner]] - mining pool software<br />
*[[ckpool]] - Open source pool/database/proxy/passthrough/library in c for Linux<br />
<br />
===Libraries===<br />
<br />
=====C=====<br />
*[https://github.com/libbtc/libbtc libbtc] - A fast, clean and small bitcoin C library<br />
*[https://github.com/jgarzik/picocoin picocoin] - Tiny bitcoin library, with lightweight client and utils<br />
*[https://github.com/luke-jr/libbase58 libbase58] - C library implementation of [[Base58]] and [[Base58Check]] encodings<br />
*[[libblkmaker]] - C library implementation of [[getblocktemplate]] decentralized mining protocol<br />
<br />
=====C++=====<br />
*[[Libbitcoin]] - Comprehensive set of C++ libraries: key formats, crypto, math, encodings, urls, mnemonics, blockchain, full node, client-server, etc. Linux and OSX Autotools builds. Visual Studio solutions for Windows, with Unicode support. Extensive test suite and [https://travis-ci.org/libbitcoin continuous integration builds]. Core dependencies limited to [http://www.boost.org Boost] and [https://github.com/bitcoin/secp256k1 Libsecp256k1] with [http://zeromq.org ZeroMQ] required for client-server API.<br />
<br />
====C / C++====<br />
*[https://airbitz.co/bitcoin-wallet-api-library Bitcoin Wallet API Library] - Airbitz Core (ABC) C/C++ Library implements user authentication, account wallet creation, multi device synchronization and backup, transaction meta data management, Bitcoin address generation, key management, decentralized access to bitcoin network, shared wallets w/multisig (Q1 2015)<br />
<br />
====Java====<br />
*[[bitcoinj]] - popular client library for Java, currently used in several desktop/mobile applications.<br />
*[[BCCAPI]] (BitCoin Client API) - a java library designed for making secure light-weight bitcoin clients.<br />
*[[BitcoinCrypto]] - a lightweight Bitcoin crypto library for Java/Android.<br />
<br />
====Objective-C====<br />
*[https://github.com/keeshux/BitcoinSPV BitcoinSPV] - A native Bitcoin SPV client library for iOS with BIP32 support.<br />
<br />
====Perl====<br />
*[[Finance::MtGox]] - a Perl module which interfaces with the Mt. Gox API<br />
<br />
====Python====<br />
[https://pybtc.readthedocs.io/ PYBTC] Python library for Bitcoin.<br />
*[[python-blkmaker]] - Python module implementation of [[getblocktemplate]] decentralized mining protocol<br />
<br />
===Development utilities===<br />
*[[Bitcoin Dissector]] - a wireshark dissector for the bitcoin protocol<br />
*[[Bitcoin Explorer]] - an advanced command line tool for working with bitcoin<br />
*[[Bitcointools]] - a set of Python tools accessing the transaction database and the wallet<br />
*[https://github.com/straumat/blockchain2graph Blockchain2graph] - a tool to import bitcoin blockchain into neo4j<br />
<br />
===Lists of software===<br />
*[[BitGit]] - list of Bitcoin-related opensource projects hosted at Git<br />
<br />
===Developer resources===<br />
*[[:Category:Developer|Category:Developer]]<br />
*[[:Category:Technical|Category:Technical]]<br />
*[[Original Bitcoin client/API calls list]]<br />
*[[API reference (JSON-RPC)]]<br />
*[[PHP_developer_intro|PHP Developer Introduction]]<br />
<br />
===Other===<br />
*[http://www.phyramid.com/ Phyramid] Digital Agency offering software development and design services for Bitcoin businesses.<br />
*[[Bitcoin Consultancy]] - an organization providing open source software and Bitcoin-related consulting<br />
*[[Open Transactions]] - a financial crypto and digital cash software library, complementary to Bitcoin<br />
*[[Moneychanger]] - Java-based GUI for [[Open Transactions]]<br />
*[http://btcnames.org/ BTCnames] - a webbased aliasing service which allows to handle unlimited names for your BTC deposit hashes<br />
* [http://www.bitcoinmining.com/bitcoin-mining-software/ Bitcoin Mining Software] - A helpful list of various Bitcoin software options<br />
<br />
== Webservices / APIs ==<br />
<br />
===Bitcoin Infrastructure===<br />
* [[BlockTrail.com]] - Bitcoin API and platform for developers, complete with SDKs for PHP, Python, NodeJS and more<br />
* [http://www.blockcypher.com BlockCypher] - High reliability Bitcoin Web Services, including web hooks, double spend detection and many SDKs.<br />
<br />
===Bitcoin Trade Data===<br />
*[[Bitcoin Charts]] – Prices, volume, and extensive charting on virtually all Bitcoin markets.<br />
*[https://bitcoinchain.com BitcoinChain] - Bitcoin block explorer, exchange markets and mining pools. <br />
*[[MtGox Live]] - An innovative chart showing a live feed of [[MtGox]] trades and market depth. (Must Use Chrome)<br />
*[http://btccharts.com BTCCharts] - An innovative chart showing a live feed of multiple markets, currencies and timeframes.<br />
*[http://MY-BTC.info MY-BTC.INFO] - A free profit/loss portfolio manager for Bitcoins and other digital currencies including many charts.<br />
*[http://BitcoinExchangeRate.org BitcoinExchangeRate.org] - Bitcoin and USD converter with convenient URL scheme and Auto-updating Portfolio Spreadsheet.<br />
*[[Bitcoin Sentiment Index]] - A financial index that collects and disseminates sentiment data about bitcoin.<br />
*[[Preev]] - Bitcoin converter with live exchange rates.<br />
*[[Skami]] - Bitcoin Market Exchange comparison charts.<br />
*[[BitcoinSentiment]] - Crowdvoting site offering means of voting and viewing voters sentiment towards bitcoin.<br />
*[[TradingView]] – network where traders exchange ideas about Bitcoin using advanced free online charts<br />
<br />
===Web interfaces for merchants===<br />
*[[File:Ms-icon-310x310.png|20px]] [https://apirone.com/docs/ Apirone.com] - CMS plugins, RESTful API, Bitcoin Forwarding and wallet API, native SegWit support.<br />
*[https://developer.bitaps.com/ bitaps.com] - Blockchian API, Wallet API, Payment forwarding API, Market API, TOR network endpoint and TOR callbacks.<br />
*[[BitMerch]] - Embeddable HTML buttons, instant sign-up, instant payouts, automatic price adjustment for other currencies. No programming skills required to set up.<br />
*[[Bitcoin Evolution]] - Non wallet-based Buy Now button to insert into websites (handles sales tracking; client must be used for actual transaction)<br />
*[[BitPay]] - Buy Now buttons, Checkout posts/callbacks, Mobile Checkout, JSON API<br />
*[[Btceconomy]] - a JavaScript widget listing items for sale<br />
*[https://coinbase.com/merchants Coinbase] - Provides bitcoin payment processing for Overstock.com, Reddit, Khan Academy, OkCupid, and more.<br />
*[[File:Easybitz.png|20px|link=https://github.com/goethewins/EzBitcoin-Api-Wallet]] Simplest Web API for processing transactions with your own server. php code igniter, database and logging auth system included. Same as block chain.info api<br />
*[[BTCMerch]] - Payment processor for bitcoins and other cryptocurrencies. 0.5% transaction fee. Sandbox is available.<br />
*[[GoCoin]] - Payment gateway for bitcoin. Supports JavaScript, PHP, Java, Ruby, and .NET<br />
*[[WalletBit]] - Easy JavaScript Buy Now buttons, Instant Payment Notification, Application Programming Interface (JSON API), Mobile Checkout, QR-Code<br />
* [https://www.PikaPay.com PikaPay] ([[PikaPay|info]]) The PikaPay service will be retiring as of March 1st, 2015<br />
<br />
[[Category:Software|*]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Alert_system&diff=69369Alert system2022-07-11T23:59:06Z<p>Luke-jr: Reverted edits by AllEd01 (talk) to last revision by Theymos</p>
<hr />
<div>[[File:Prefinal alert.png|thumb|300px|The prefinal alert message in the status bar of the GUI client]]Bitcoin versions 0.3.10 introduced an '''alert system''' which allowed messages about critical network problems to be broadcast to all clients.<br />
<br />
The alert system has been completely retired.<ref name="org">https://bitcoin.org/en/alert/2016-11-01-alert-retirement</ref> The code was removed since 0.13.0 and since 0.14.0 any old nodes will receive a static hard-coded "Alert Key Compromised" message.<br />
<br />
When an alert was in effect, the message it contains would appear in the status bar of all clients and in the "errors" field of RPC ''getinfo''. Any script registered with the <code>-alertnotify</code> command-line option will be notified.<br />
<br />
===Alert message===<br />
Alerts are broadcast using the same [[network|TCP relay system]] as ''block'' and ''tx'' messages. They are not encoded in a special transaction. Unlike block and tx relaying, alerts are sent at the start of every new connection for as long as the alert is in effect. This ensures that everyone receives the alert.<br />
<br />
Alerts contain this information:<br />
* How long to relay the alert.<br />
* How long to consider the alert valid.<br />
* An alert ID number.<br />
* A list of alerts that should be canceled upon receipt of this alert.<br />
* Exactly which versions of Bitcoin are affected by the alert. Unaffected versions still relay the alert for the benefit of older versions.<br />
* Alert priority.<br />
* The alert text.<br />
<br />
Only alerts that are signed by a specific ECDSA public key are considered valid. Some known private key holders were [[Satoshi Nakamoto]], [[User:gavinandresen|Gavin Andresen]] and [[User:Theymos|theymos]], but the private key was made public after the alert system was retired, so there is no longer any special group of alert-key-holders.<br />
<br />
===Safe mode===<br />
Until version 0.3.20, Bitcoin went into safe mode when a valid alert was received. In safe mode, all RPC commands that send BTC or get info about received BTC return an error. Current Bitcoin versions no longer go into safe mode in response to alerts, though Bitcoin ''will'' still go into safe mode when it detects on its own that something is seriously wrong with the network.<br />
<br />
Even though Bitcoin no longer automatically disables RPC when an alert is live, it is wise for Bitcoin sites to shut down when an alert has been issued. To detect an active alert, poll the "errors" field of ''getinfo''.<br />
<br />
To test safe mode, run Bitcoin with the -testsafemode switch. To override a real safe mode event, run Bitcoin with the -disablesafemode switch.<br />
<br />
==History==<br />
{{multiple image|align=vertical|width=300<br />
|image1=alert.png<br />
|image2=bitcoin-alert-cli.png<br />
|footer=An alert appearing on bitcoin clients<br />
}}<br />
<br />
The alert system was hastily implemented by [[Satoshi Nakamoto]] after the [[value overflow incident]] on August 15, 2010. Satoshi never actually used this system; it remained dormant until the [[February 20, 2012 protocol change]], for which an alert was issued on February 18.<ref>[https://bitcoin.org/en/alert/2012-02-18-protocol-change February 20, 2012 Protocol Changes] at bitcoin.org</ref><br />
<br />
In 2016, the alert system was retired<ref name="org"/> because of the possibility of privileged users sending political alert messages, <!-- because of consensus that there shouldn't be privileged users in a decentralized system in the first place, [reword?]--> and because of the possibility of the alert key having been taken from [[Mark Karpelès]] by the Japanese police in 2014.<ref>https://github.com/bitcoin/bitcoin/pull/7692</ref><br />
<br />
The alert key was scheduled to be released to the public in May 2017, but this was postponed.<ref name="org"/> It was eventually published in July 2018.<br />
<br />
===Past alerts===<br />
{| class="wikitable" border="1"<br />
|-<br />
! ID<br />
! Sent date<br />
! Expires (UTC)<br />
! Versions<br />
! Priority<br />
! Message<br />
|-<br />
| 1010<br />
| Feb 18, 2012<br />
| Feb 21 02:47:15<br />
| All<br />
| 100<br />
| See bitcoin.org/feb20 if you have trouble connecting after 20 February<br />
|-<br />
| 1011<br />
| Mar 16, 2012<br />
| cancelled May 15, 2012<br />
| 0.5 - 0.5.3<br />
| 5000<br />
| URGENT: security fix for Bitcoin-Qt on Windows: http://bitcoin.org/critfix<br />
|-<br />
| 1012<br />
| Mar 16, 2012<br />
| cancelled May 15, 2012<br />
| 6.0<br />
| 5000<br />
| URGENT: security fix for Bitcoin-Qt on Windows: http://bitcoin.org/critfix<br />
|-<br />
| 1013<br />
| Mar 16, 2012<br />
| cancelled May 15, 2012<br />
| 5.99<br />
| 5000<br />
| URGENT: security fix for Bitcoin-Qt on Windows: http://bitcoin.org/critfix<br />
|-<br />
| 1015<br />
| May 15, 2012<br />
| May 16, 2013<br />
| 0.1 - 0.4.5<br />
| 5000<br />
| URGENT: upgrade required, see http://bitcoin.org/dos for details<br />
|-<br />
| 1016<br />
| May 15, 2012<br />
| May 16, 2013<br />
| 0.4.99 - 0.5.4<br />
| 5000<br />
| URGENT: upgrade required, see http://bitcoin.org/dos for details<br />
|-<br />
| 1020<br />
| May 15, 2012<br />
| May 16, 2013<br />
| 0.6.0<br />
| 5000<br />
| URGENT: upgrade required, see http://bitcoin.org/dos for details<br />
|-<br />
| 1032<br />
| March 12, 2013<br />
| March 13, 2013<br />
| 0.8.0<br />
| 5000<br />
| URGENT: chain fork, stop mining on version 0.8<br />
|-<br />
| 1033<br />
| March 19, 2013<br />
| March 20, 2013<br />
| 0.1 - 0.7.2<br />
| 10<br />
| See http://bitcoin.org/may15.html for an important message<br />
|-<br />
| 1034<br />
| May 9, 2013<br />
| June 8, 2013<br />
| 0.1 - 0.7.2<br />
| 10<br />
| Action required: see http://bitcoin.org/may15.html for more information<br />
|-<br />
| 1040<br />
| April 11, 2014<br />
| cancelled<br />
| 0.9.0<br />
| 5000<br />
| URGENT: Upgrade required: see https://www.bitcoin.org/heartbleed/<br />
|-<br />
| 1041<br />
| April 11, 2014<br />
| April 11, 2015<br />
| 0.9.0<br />
| 5000<br />
| URGENT: Upgrade required: see https://www.bitcoin.org/heartbleed<br />
|}<br />
<br />
==See Also==<br />
<br />
* https://github.com/bitcoin/bitcoin/pull/7692 - The pull request where removing the alert system from [[Bitcoin Core]] was discussed<br />
<br />
[[Category:Technical]]<br />
[[Category:Vocabulary]]<br />
<br />
==References==<br />
<references/><br />
<br />
==External links==<br />
https://bitcoin.org/en/alerts<br />
<br />
{{Bitcoin Core documentation}}</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Asmoney&diff=69368Asmoney2022-07-11T23:57:42Z<p>Luke-jr: Altcoins are off-topic</p>
<hr />
<div>AsMoney is an electronic payment system based on Bitcoin that helps its members make instant payment for goods or services or send and receive money with minimum fee, on the other hand, Asmoney provide a web-based [[EWallet]] used for sending, receiving, and storing Bitcoins. Asmoney support multi currencies and allow people to send money based on location and their local currency. Asmoney make Bitcoin easier for non-technical users to send and receive payments.<br />
<br />
<br />
==Currencies==<br />
<br />
At the present time, Asmoney support BTC, LTC, USD, EUR, AUD, GBP, JPY, CAD, CHF, CNY, MYR, NZR, RUB, SGD, THB, TRL, ZAR, INR, IDR and EGP.<br />
<br />
==Deposit==<br />
<br />
Deposit<br />
Asmoney users may deposit to your account by using three methods : Exchangers, Bitcoin and Litecoin.<br />
<br />
==Withdrawal==<br />
<br />
Same as deposit methods, Asmoney users can withdrawal from Asmoney account by using three methods anytime : Exchangers, Bitcoin and Litecoin<br />
<br />
<br />
==Send and Receive money==<br />
<br />
This feature provides the ability to send money to Asmoney username, there is No limitation for sending/receiving money to/from others<br />
<br />
<br />
==Fees==<br />
<br />
Due to lack of tax in P2P Currencies and low network fees, Asmoney fees is lower than other payment processors and safety is more than others. There are no fees for transfer on BTC/LTC between Asmoney accounts, the 0.5% fees apply for other currencies.<br />
<br />
==Asmoney for Merchants==<br />
<br />
Asmoney allow all users generate a checkout button and make accepting Bitcoin easy on any website by copying and pasting a few lines of code. Payment SCI allow merchants to accept Bitcoin with a hosted checkout page on asmoney.com.<br />
<br />
==Mass Payment==<br />
<br />
Asmoney provide an API interface that helps all members use API for sending Bitcoin to many recipients at once.<br />
<br />
<br />
==External Links==<br />
<br />
* [https://www.asmoney.com asmoney.com] website<br />
<br />
==References==<br />
<references /><br />
<br />
[[Category:EWallets]]<br />
[[Category:Wallets]]<br />
[[Category:Exchanges]]<br />
[[Category:Shopping Cart Interfaces]]<br />
[[Category:Services]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Common_Vulnerabilities_and_Exposures&diff=69337Common Vulnerabilities and Exposures2022-06-17T23:38:17Z<p>Luke-jr: Add CVE-2022-31246</p>
<hr />
<div>{| class="wikitable"<br />
!style="width:16ex"| CVE<br />
! Announced !! Affects !! Severity !! Attack is... !! Flaw !! Net<br />
|-<br />
| Pre-BIP protocol changes<br />
| n/a<br />
| All Bitcoin clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Implicit<ref name="hardfork">This is a protocol "hard-fork" that old clients will reject as invalid and must therefore not be used.</ref><br />
| [[Consensus versions|Various hardforks and softforks]]<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5137|CVE-2010-5137]]<br />
| 2010-07-28<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS">Attacker can disable some functionality, for example by crashing clients</ref><br />
|bgcolor=pink| Easy<br />
| OP_LSHIFT crash<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5141|CVE-2010-5141]]<br />
| 2010-07-28<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Theft<ref name="Theft">Attacker can take coins outside known network rules</ref><br />
|bgcolor=pink| Easy<br />
| OP_RETURN could be used to spend any output.<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5138|CVE-2010-5138]]<br />
| 2010-07-29<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Unlimited SigOp DoS<br />
|bgcolor=lime| 100%<br />
|-<br />
| '''[[CVE-2010-5139]]'''<br />
| 2010-08-15<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Inflation<ref name="inflation">Attacker can create coins outside known network rules</ref><br />
|bgcolor=pink| Easy<br />
| Combined output overflow<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5140|CVE-2010-5140]]<br />
| 2010-09-29<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Never confirming transactions<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2011-4447|CVE-2011-4447]]<br />
| 2011-11-11<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Exposure<ref name="Exposure">Attacker can access user data outside known acceptable methods</ref><br />
|bgcolor=lime| Hard<br />
| Wallet non-encryption<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2011-4447.html 100%]<br />
|-<br />
| [[#CVE-2012-1909|CVE-2012-1909]]<br />
| 2012-03-07<br />
| Bitcoin protocol and all clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit">Attacker can create multiple views of the network, enabling [[double-spending]] with over 1 confirmation</ref><br />
|bgcolor=lime| Very hard<br />
| Transaction overwriting<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-1909.html 100%]<br />
|-<br />
| [[#CVE-2012-1910|CVE-2012-1910]]<br />
| 2012-03-17<br />
| bitcoind & Bitcoin-Qt for Windows<br />
|bgcolor=pink| Unknown<ref name="Unknown">Extent of possible abuse is unknown</ref><br />
|bgcolor=lime| Hard<br />
| Non-thread safe MingW exceptions<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-1910.html 100%]<br />
|-<br />
| [[#BIP-0016|BIP 0016]]<br />
| 2012-04-01<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: P2SH<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/BIP-0016.html 100%]<br />
|-<br />
| [[#CVE-2012-2459|CVE-2012-2459]]<br />
| 2012-05-14<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Easy<br />
| Block hash collision (via merkle root)<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-2459.html 100%]<br />
<!--<br />
|-<br />
| [[#CVE-2012-3584|CVE-2012-3584]]<br />
| 2012-06-16<br />
| Bitcoin p2p protocol<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Poor miner incentives<br />
| (no fix)<br />
--><br />
|-<br />
| '''[[CVE-2012-3789]]'''<br />
| 2012-06-20<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| (Lack of) orphan txn resource limits<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20123789 100%]<br />
|-<br />
| [[#CVE-2012-4682|CVE-2012-4682]]<br />
| <br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
| <br />
| <br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-4682.html 100%]<br />
|-<br />
| '''[[CVE-2012-4683]]'''<br />
| 2012-08-23<br />
| bitcoind and Bitcoin-Qt<br />
| bgcolor=yellow| DoS<ref name="DoS"/><br />
| bgcolor=pink| Easy<br />
| Targeted DoS by CPU exhaustion using alerts<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-4683.html 100%]<br />
|-<br />
| '''[[CVE-2012-4684]]'''<br />
| 2012-08-24<br />
| bitcoind and Bitcoin-Qt<br />
| bgcolor=yellow| DoS<ref name="DoS"/><br />
| bgcolor=pink| Easy<br />
| Network-wide DoS using malleable signatures in alerts<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20124684 100%]<br />
|-<br />
| [[#CVE-2013-2272|CVE-2013-2272]]<br />
| 2013-01-11<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| Exposure<ref name="Exposure"/><br />
|bgcolor=pink| Easy<br />
| Remote discovery of node's wallet addresses<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132272 99.99%]<br />
|-<br />
| [[#CVE-2013-2273|CVE-2013-2273]]<br />
| 2013-01-30<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=lime| Exposure<ref name="Exposure"/><br />
|bgcolor=yellow| Easy<br />
| Predictable change output<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132273 99.99%]<br />
|-<br />
| [[#CVE-2013-2292|CVE-2013-2292]]<br />
| 2013-01-30<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=lime| Hard<br />
| A transaction that takes at least 3 minutes to verify<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132292 0%]<br />
|-<br />
| '''[[CVE-2013-2293]]'''<br />
| 2013-02-14<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Continuous hard disk seek<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132293 99.99%]<br />
|-<br />
| [[#CVE-2013-3219|CVE-2013-3219]]<br />
| 2013-03-11<br />
| bitcoind and Bitcoin-Qt 0.8.0<br />
|bgcolor=pink| Fake Conf<ref name="FakeConf"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Unenforced block protocol rule<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20133219 100%]<br />
|-<br />
| [[#CVE-2013-3220|CVE-2013-3220]]<br />
| 2013-03-11<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=lime| Hard<br />
| Inconsistent BDB lock limit interactions<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20133220 99.99%]<br />
|-<br />
| [[#BIP-0034|BIP 0034]]<br />
| 2013-03-25<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Height in coinbase<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/BIP-0034.html 100%]<br />
|-<br />
| [[#BIP-0050|BIP 0050]]<br />
| 2013-05-15<br />
| All Bitcoin clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Implicit<ref name="hardfork">This is a protocol "hard-fork" that old clients will reject as invalid and must therefore not be used.</ref><br />
| Hard fork to remove txid limit protocol rule<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?50 99.99%]<br />
|-<br />
| [[#CVE-2013-4627|CVE-2013-4627]]<br />
| 2013-06-??<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=yellow| Easy<br />
| Memory exhaustion with excess tx message data<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20134627 99%]<br />
|-<br />
| [[#CVE-2013-4165|CVE-2013-4165]]<br />
| 2013-07-20<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Theft<ref name="theft-local-timing">Local attacker could potentially determine the RPC passphrase via a timing sidechannel.</ref><br />
|bgcolor=lime| Local<br />
| Timing leak in RPC authentication<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20134165 99%]<br />
|-<br />
| [[#CVE-2013-5700|CVE-2013-5700]]<br />
| 2013-09-04<br />
| bitcoind and Bitcoin-Qt 0.8.x<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Remote p2p crash via bloom filters<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20135700 99%]<br />
|-<br />
| [[#CVE-2014-0160|CVE-2014-0160]]<br />
| 2014-04-07<br />
| Anything using OpenSSL for TLS<br />
|bgcolor=pink| Unknown<ref name="Unknown"/><br />
|bgcolor=pink| Easy<br />
| Remote memory leak via payment protocol<br />
| Unknown<br />
|-<br />
| CVE-2015-3641<br />
| 2014-07-07<br />
| bitcoind and Bitcoin-Qt prior to 0.10.2<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| (Yet) Unspecified DoS<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20135700 99.9%]<br />
|-<br />
| BIP 66<br />
| 2015-02-13<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Strict DER signatures<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?66 99%]<br />
|-<br />
| BIP 65<br />
| 2015-11-12<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: OP_CHECKLOCKTIMEVERIFY<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?65 99%]<br />
|-<br />
| BIPs 68, 112 & 113<br />
| 2016-04-11<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softforks: Rel locktime, CSV & MTP locktime<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?68 99%]<br />
|-<br />
| BIPs 141, 143 & 147<br />
| 2016-10-27<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Segwit<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?141 99%]<br />
|-<br />
| [[#CVE-2016-8889|CVE-2016-8889]]<br />
| 2016-10-27<br />
| Bitcoin Knots GUI 0.11.0 - 0.13.0<br />
|bgcolor=yellow| Exposure<br />
|bgcolor=lime| Hard<br />
| Debug console history storing sensitive info<br />
|bgcolor=lime| 100%<br />
|-<br />
| CVE-2017-9230<br />
| ?<br />
| Bitcoin<br />
| ?<br />
| ?<br />
| ASICBoost<br />
|bgcolor=pink| 0%<br />
|-<br />
| BIP 148<br />
| 2017-03-12<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Segwit UASF<br />
| ?<br />
|-<br />
| [[#CVE-2017-12842|CVE-2017-12842]]<br />
| 2018-06-09<br />
|<br />
|<br />
|<br />
| No commitment to block merkle tree depth<br />
|<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016189.html CVE-2016-10724]<br />
| 2018-07-02<br />
| bitcoind and Bitcoin-Qt prior to 0.13.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Keyholders<ref name="KeyholderEasy">Attacking requires signing with the publicly-disclosed alert key</ref><br />
| Alert memory exhaustion<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201610724 99%]<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016189.html CVE-2016-10725]<br />
| 2018-07-02<br />
| bitcoind and Bitcoin-Qt prior to 0.13.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Keyholders<ref name="KeyholderEasy">Attacking requires signing with the publicly-disclosed alert key</ref><br />
| Final alert cancellation<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201610724 99%]<br />
|-<br />
| [[#CVE-2018-17144|CVE-2018-17144]]<br />
| 2018-09-17<br />
| bitcoind and Bitcoin-Qt prior to 0.16.3<br />
|bgcolor=pink| Inflation<ref name="inflation"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Missing check for duplicate inputs<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201817144 80%]<br />
|-<br />
| [https://medium.com/@lukedashjr/cve-2018-20587-advisory-and-full-disclosure-a3105551e78b CVE-2018-20587]<br />
| 2019-02-08<br />
| Bitcoin Knots prior to 0.17.1, and all current Bitcoin Core releases<br />
|bgcolor=pink| Theft<ref name="theft-local-timing">Local attacker could potentially determine the RPC passphrase via a timing sidechannel.</ref><br />
|bgcolor=lime| Local<br />
| No alert for RPC service binding failure<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201820587 <1%]<br />
|-<br />
| [[#CVE-2017-18350|CVE-2017-18350]]<br />
| 2019-06-22<br />
| bitcoind and Bitcoin-Qt prior to 0.15.1<br />
|bgcolor=pink| Unknown<br />
|bgcolor=pink| Varies<ref>Depends on software configuration</ref><br />
| Buffer overflow from SOCKS proxy<br />
|bgcolor=yellow| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201718350 94%]<br />
|-<br />
| [[#CVE-2018-20586|CVE-2018-20586]]<br />
| 2019-06-22<br />
| bitcoind and Bitcoin-Qt prior to 0.17.1<br />
|bgcolor=lime| Deception<br />
|bgcolor=lime| RPC access<br />
| Debug log injection via unauthenticated RPC<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201820586 77%]<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-12998]<br />
| 2019-08-30<br />
| c-lightning prior to 0.7.1<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-12999]<br />
| 2019-08-30<br />
| lnd prior to 0.7<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO amount<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-13000]<br />
| 2019-08-30<br />
| eclair prior to 0.3<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO<br />
|-<br />
| [[#CVE-2020-14199|CVE-2020-14199]]<br />
| 2020-06-03<br />
| Trezor and others<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Social<ref>User must be tricked into cooperating (social engineering)</ref><br />
| Double-signing can enable unintended fees<br />
|-<br />
| [https://invdos.net/ CVE-2018-17145]<br />
| 2020-09-09<br />
| Bitcoin Core prior to 0.16.2<br>Bitcoin Knots prior to 0.16.1<br>Bcoin prior to 1.0.2<br>Btcd prior to 0.21.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| p2p memory blow-up<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201817145 87%]<br />
|-<br />
| [[#CVE-2020-26895|CVE-2020-26895]]<br />
| 2020-10-08<br />
| lnd prior to 0.10<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing low-S normalization for HTLC signatures<br />
|-<br />
| [[#CVE-2020-26896|CVE-2020-26896]]<br />
| 2020-10-08<br />
| lnd prior to 0.11<br />
|bgcolor=pink| Theft<br />
|bgcolor=yellow | Varies<ref>Depends on node configuration, only affects routable merchants, requires external knowledge of receiver's invoices and/or luck to identify receiver, only works against single-shot HTLCs (legacy or MPP)</ref><br />
| Invoice preimage extraction via forwarded HTLC<br />
|-<br />
| CVE-2020-14198<br />
| <br />
| Bitcoin Core 0.20.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Remote DoS<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?202014198 93%]<br />
|-<br />
| [[#CVE-2021-3401|CVE-2021-3401]]<br />
| 2021-02-01<br />
| Bitcoin Core GUI prior to 0.19.0<br>Bitcoin Knots GUI prior to 0.18.1<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Hard<br />
| Qt5 remote execution<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20213401 64%]<br />
|-<br />
| [[#CVE-2021-31876|CVE-2021-31876]]<br />
| 2021-05-06<br />
| Various wallets<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41591<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41592<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41593<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| BIPs 341-343<br />
| 2021-11-13<br />
| All Bitcoin nodes<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Taproot<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?343 57%]<br />
|-<br />
| [https://github.com/spesmilo/electrum/security/advisories/GHSA-4fh4-hx35-r355 CVE-2022-31246]<br />
| 2022-06-07<br />
| Electrum 2.1 until before 4.2.2<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Social<br />
|<br />
|}<br />
<br />
<references/><br />
<br />
__NOTOC__<br />
<br />
== CVE-2010-5137 ==<br />
<br />
<b>Date:</b> 2010-07-28<br />
<b>Summary:</b> OP_LSHIFT crash<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.4 || 0.3.5<br />
|}<br />
<br />
On July 28 2010, two bugs were discovered and demonstrated on the test network. One caused bitcoin to crash on some machines when processing a transaction containing an OP_LSHIFT. This was never exploited on the main network, and was fixed by Bitcoin version 0.3.5.<br />
<br />
After these bugs were discovered, many currently-unused script words were disabled for safety.<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5137 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5141 ==<br />
<br />
<b>Date:</b> 2010-07-28<br />
<b>Summary:</b> ?<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.4 || 0.3.5<br />
|}<br />
<br />
On July 28 2010, two bugs were discovered and demonstrated on the test network. One exploited a bug in the transaction handling code and allowed an attacker to spend coins that they did not own. This was never exploited on the main network, and was fixed by Bitcoin version 0.3.5.<br />
<br />
After these bugs were discovered, many currently-unused script words were disabled for safety.<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5141 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5138 ==<br />
<br />
<b>Date:</b> 2010-07-29<br />
<b>Summary:</b> Unlimited SigOp DoS<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.? || 0.3.?<br />
|}<br />
<br />
On July 29 2010, it was discovered that block [http://blockexplorer.com/block/00000000000997f9fd2fe1ee376293ef8c42ad09193a5d2086dddf8e5c426b56 71036] contained several transactions with a ton of OP_CHECKSIG commands. There should only ever be one such command. This caused every node to do extra unnecessary work, and it could have been used as a denial-of-service attack. A new version of Bitcoin was quickly released. The new version did not cause a fork on the main network, though it did cause one on the test network (where someone had played around with the attack more).<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5138 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5139 ==<br />
{{main|CVE-2010-5139}}<br />
<b>Date:</b> 2010-08-15<br />
<b>Summary:</b> Combined output overflow<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.10 || 0.3.11<br />
|}<br />
<br />
On August 15 2010, it was [http://bitcointalk.org/index.php?topic=822.0 discovered] that block 74638 contained a transaction that created over 184 billion bitcoins for two different addresses. This was possible because the code used for checking transactions before including them in a block didn't account for the case of outputs so large that they overflowed when summed. A new version was published within a few hours of the discovery. The block chain had to be forked. Although many unpatched nodes continued to build on the "bad" block chain, the "good" block chain overtook it at a block height of 74691. The bad transaction no longer exists for people using the longest chain.<br />
<br />
The block and transaction:<br />
<pre>CBlock(hash=0000000000790ab3, ver=1, hashPrevBlock=0000000000606865, hashMerkleRoot=618eba,<br />
nTime=1281891957, nBits=1c00800e, nNonce=28192719, vtx=2)<br />
CTransaction(hash=012cd8, ver=1, vin.size=1, vout.size=1, nLockTime=0)<br />
CTxIn(COutPoint(000000, -1), coinbase 040e80001c028f00)<br />
CTxOut(nValue=50.51000000, scriptPubKey=0x4F4BA55D1580F8C3A8A2C7)<br />
CTransaction(hash=1d5e51, ver=1, vin.size=1, vout.size=2, nLockTime=0)<br />
CTxIn(COutPoint(237fe8, 0), scriptSig=0xA87C02384E1F184B79C6AC)<br />
CTxOut(nValue=92233720368.54275808, scriptPubKey=OP_DUP OP_HASH160 0xB7A7)<br />
CTxOut(nValue=92233720368.54275808, scriptPubKey=OP_DUP OP_HASH160 0x1512)<br />
vMerkleTree: 012cd8 1d5e51 618eba<br />
<br />
Block hash: 0000000000790ab3f22ec756ad43b6ab569abf0bddeb97c67a6f7b1470a7ec1c<br />
Transaction hash: 1d5e512a9723cbef373b970eb52f1e9598ad67e7408077a82fdac194b65333c9</pre><br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=822.0 Discovery]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5139 US-CERT/NIST]<br />
<br />
== CVE-2010-5140 ==<br />
<br />
<b>Date:</b> 2010-09-29<br />
<b>Summary:</b> Never confirming transactions<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.12 || 0.3.13<br />
|}<br />
<br />
Around September 29, 2010, people started [https://bitcointalk.org/index.php?topic=1306.0 reporting] that their sent transactions would not confirm. This happened because people modified Bitcoin to send sub-0.01 transactions without any fees. A 0.01 fee was at that time required by the network for such transactions (essentially prohibiting them), so the transactions remained at 0 confirmations forever. This became a more serious issue because Bitcoin would send transactions using bitcoins gotten from transactions with 0 confirmations, and these resulting transactions would also never confirm. Because Bitcoin tends to prefer sending smaller coins, these invalid transactions quickly multiplied, contaminating the wallets of everyone who received them.<br />
<br />
Bitcoin was changed to only select coins with at least 1 confirmation. The remaining sub-0.01 transactions were cleared by generators who modified their version of Bitcoin to not require the micropayment fee. It took a while for everything to get cleared, though, because many of the intermediate transactions had been forgotten by the network by this point and had to be rebroadcast by the original senders.<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=1306.0 Initial reports]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5140 US-CERT/NIST]<br />
<br />
<br />
== CVE-2011-4447 ==<br />
<br />
<b>Date:</b> 2011-11-11<br />
<b>Summary:</b> Wallet non-encryption<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || 0.4.0 - 0.4.1rc6 || 0.4.1<br>0.5.0<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=51604.0 Announcement]<br />
* [https://bitcointalk.org/index.php?topic=51474.0 Finding]<br />
* [http://bitcoin.org/releases/2011/11/21/v0.5.0.html 0.5.0]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4447 US-CERT/NIST]<br />
<br />
<br />
== CVE-2012-1909 ==<br />
<br />
<b>Date:</b> 2012-03-07<br />
<b>Summary:</b> Transaction overwriting<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin protocol || Before March 15th, 2012 || BIP 30<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.4rc2<br>0.5.0rc1 - 0.5.0.4rc2<br>0.5.1rc1 - 0.5.3rc2<br>0.6.0rc1 - 0.6.0rc2 || 0.4.4<br>0.5.0.4<br>0.5.3<br>0.6.0rc3<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=67738.0 Announcement]<br />
* [https://en.bitcoin.it/wiki/BIP_0030 Fix]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=407793 Gentoo bug tracker]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1909 US-CERT/NIST]<br />
<br />
== CVE-2012-1910 ==<br />
<br />
<b>Date:</b> 2012-03-17<br />
<b>Summary:</b> Non-thread safe MingW exceptions<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind for Windows<br>Bitcoin-Qt for Windows || 0.5.0rc1 - 0.5.0.4<br>0.5.1rc1 - 0.5.3.0<br>0.6.0rc1 - 0.6.0rc3 || 0.5.0.5<br>0.5.3.1<br>0.5.4<br>0.6.0rc4<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=69120.0 Announcement]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1910 US-CERT/NIST]<br />
* [http://gavintech.blogspot.com/2012/03/full-disclosure-bitcoin-qt-on-windows.html Full disclosure]<br />
<br />
== BIP-0016 ==<br />
<br />
<b>Date:</b> 2012-04-01<br />
<b>Summary:</b> Mandatory P2SH protocol update<br />
<b>Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.4<br>0.5.0rc1 - 0.5.0.5<br>0.5.1rc1 - 0.5.3<br>0.6.0rc1 || 0.4.5<br>0.5.0.6<br>0.5.4rc1<br>0.6.0rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0016]]<br />
<br />
== CVE-2012-2459 ==<br />
<br />
<b>Date:</b> 2012-05-14<br />
<b>Summary:</b> Block hash collision (via merkle tree)<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.6rc1<br>0.5.0rc1 - 0.5.5rc1<br>0.6.0rc1 - 0.6.0.7rc1<br>0.6.1rc1 - 0.6.1rc1 || 0.4.6<br>0.5.5<br>0.6.0.7<br>0.6.1rc2<br />
|}<br />
<br />
Block hash collisions can easily be made by duplicating transactions in the merkle tree.<br />
Such a collision is invalid, but if recorded (as Bitcoin-Qt and bitcoind prior to 0.6.1 did) would prevent acceptance of the legitimate block with the same hash.<br />
This could be used to fork the blockchain, including deep double-spend attacks.<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/?topic=81749 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=415973 Gentoo bug tracker]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-2459 US-CERT/NIST]<br />
* [https://bitcointalk.org/?topic=102395 Full Disclosure]<br />
<br />
== CVE-2012-3789 ==<br />
{{main|CVE-2012-3789}}<br />
<b>Date:</b> 2012-06-20<br />
<b>Summary:</b> (Lack of) orphan txn resource limits<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.4.7rc3<br>0.5.6rc3<br>0.6.0.9rc1<br>0.6.3rc1<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-3789]]<br />
* [https://bitcointalk.org/?topic=88734 0.6.3rc1 Announcement]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-3789 US-CERT/NIST]<br />
<br />
== CVE-2012-4682 ==<br />
<br />
<b>Date:</b> <br />
<b>Summary:</b> <br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.4.7rc3<br>0.5.6rc3<br>0.6.0.9rc1<br>0.6.3rc1<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4682]]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=435216 Gentoo bug]<br />
<br />
== CVE-2012-4683 ==<br />
{{main|CVE-2012-4683}}<br />
<b>Date:</b> 2012-08-23<br />
<b>Summary:</b> Targeted DoS by CPU exhaustion using alerts<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.7.0 <br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4683]]<br />
* [https://bitcointalk.org/index.php?topic=148038.0 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=435216 Gentoo bug]<br />
<br />
== CVE-2012-4684 ==<br />
{{main|CVE-2012-4684}}<br />
<b>Date:</b> 2012-08-24<br />
<b>Summary:</b> Network-wide DoS using malleable signatures in alerts<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 - 0.6.3rc1 || 0.7.0 <br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4684]]<br />
* [https://bitcointalk.org/index.php?topic=148109.0 Announcement]<br />
<br />
== CVE-2013-2272 ==<br />
<br />
<b>Date:</b> 2013-01-11<br />
<b>Summary:</b> Remote discovery of node's wallet addresses<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.8rc4<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.10rc4<br>0.6.1rc1 - 0.6.4rc4<br>0.7.0rc1 - 0.7.2 || 0.4.9rc1<br>0.5.8rc1<br>0.6.0.11rc1<br>0.6.5rc1<br>0.7.3rc1<br />
|}<br />
<br />
=== References ===<br />
<br />
* [https://bitcointalk.org/?topic=135856 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2273 ==<br />
<br />
<b>Date:</b> 2013-01-30<br />
<b>Summary:</b> Predictable change output<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.8rc4<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.10rc4<br>0.6.1rc1 - 0.6.4rc4<br>0.7.0rc1 - 0.7.2 || 0.4.9rc1<br>0.5.8rc1<br>0.6.0.11rc1<br>0.6.5rc1<br>0.7.3rc1<br />
|}<br />
<br />
=== References ===<br />
<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2292 ==<br />
<br />
<b>Date:</b> 2013-01-30<br />
<b>Summary:</b> A transaction that takes at least 3 minutes to verify<br />
<b>Fix Deployment:</b> 0%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || All versions || No fix yet<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2013-2292]]<br />
* [https://bitcointalk.org/?topic=140078 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2293 ==<br />
{{main|CVE-2013-2293}}<br />
<b>Date:</b> 2013-02-14<br />
<b>Summary:</b> Continuous hard disk seek<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.7.3rc1 || No fix yet (0.8.0 unaffected)<br />
|}<br />
<br />
=== References ===<br />
<br />
* [[CVE-2013-2293]]<br />
* [https://bitcointalk.org/?topic=144122 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-3219 ==<br />
<br />
<b>Date:</b> 2013-03-11<br />
<b>Summary:</b> Unenforced block protocol rule<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.8.0rc1 - 0.8.0 || 0.8.1<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050|BIP 50]]<br />
<br />
== CVE-2013-3220 ==<br />
<br />
<b>Date:</b> 2013-03-11<br />
<b>Summary:</b> Inconsistent BDB lock limit interactions<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc1<br>0.5.0rc1 - 0.5.8rc1<br>0.6.0rc1 - 0.6.5rc1<br>0.7.0rc1 - 0.7.3rc1 || 0.4.9rc2<br>0.5.8rc2<br>0.6.5rc2<br>0.7.3rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050|BIP 50]]<br />
<br />
== BIP-0034 ==<br />
<br />
<b>Date:</b> 2013-03-25<br />
<b>Summary:</b> Mandatory block protocol update<br />
<b>Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.9<br>0.6.1rc1 - 0.6.3 || 0.4.8rc1<br>0.5.7rc1<br>0.6.0.10rc1<br>0.6.4rc1<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0034]]<br />
<br />
== BIP-0050 ==<br />
<br />
<b>Date:</b> 2013-05-15<br />
<b>Summary:</b> Hard fork to remove txid limit protocol rule<br />
<b>Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc1<br>0.5.0rc1 - 0.5.8rc1<br>0.6.0rc1 - 0.6.5rc1<br>0.7.0rc1 - 0.7.3rc1 || 0.4.9rc2<br>0.5.8rc2<br>0.6.5rc2<br>0.7.3rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050]]<br />
<br />
== CVE-2013-4627 ==<br />
<br />
<b>Date:</b> 2013-06-??<br />
<b>Summary:</b> Memory exhaustion with excess tx message data<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc3<br>0.5.0rc1 - 0.5.8rc3<br>0.6.0rc1 - 0.6.5rc3<br>0.7.0rc1 - 0.7.3rc3<br>0.8.0rc1 - 0.8.3 || 0.4.9rc4<br>0.5.8rc4<br>0.6.5rc4<br>0.7.3rc4<br>0.8.4<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
<br />
== CVE-2013-4165 ==<br />
<br />
<b>Date:</b> 2013-07-20<br />
<b>Summary:</b> Timing leak in RPC authentication<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc3<br>0.5.0rc1 - 0.5.8rc3<br>0.6.0rc1 - 0.6.5rc3<br>0.7.0rc1 - 0.7.3rc3<br>0.8.0rc1 - 0.8.3 || 0.4.9rc4<br>0.5.8rc4<br>0.6.5rc4<br>0.7.3rc4<br>0.8.4rc1<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=287351 Bitcoin-Qt 0.8.4 release notes]<br />
* [https://github.com/bitcoin/bitcoin/issues/2838 The initial bug report]<br />
<br />
== CVE-2013-5700 ==<br />
<br />
<b>Date:</b> 2013-09-04<br />
<b>Summary:</b> Remote p2p crash via bloom filters<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.8.0rc1 - 0.8.3 || 0.8.4rc1<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=287351 Bitcoin-Qt 0.8.4 release notes]<br />
* [https://github.com/bitcoin/bitcoin/commit/37c6389c5a0ca63ae3573440ecdfe95d28ad8f07 The fix]<br />
* [https://github.com/bitcoin/bitcoin/pull/18515 An added test]<br />
<br />
== CVE-2016-8889 ==<br />
<br />
<b>Date:</b> 2016-10-27<br />
<b>Summary:</b> Debug console history storing sensitive info<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Knots GUI || 0.11.0 - 0.13.0 || 0.13.1<br />
|}<br />
<br />
=== References ===<br />
* [https://github.com/bitcoinknots/bitcoin/blob/v0.13.1.knots20161027/doc/release-notes.md Bitcoin Knots 0.16.1.knots20161027 release notes]<br />
* [https://nvd.nist.gov/vuln/detail/CVE-2016-8889 US-CERT/NIST]<br />
<br />
== CVE-2017-12842 ==<br />
<br />
<b>Date:</b> 2018-06-09<br />
<b>Summary:</b> No commitment to block merkle tree depth<br />
<br />
=== References ===<br />
* [https://bitslog.wordpress.com/2018/06/09/leaf-node-weakness-in-bitcoin-merkle-tree-design/ Explanation by Sergio Demian Lerner]<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-February/016697.html Further elaboration by Suhas Daftuar]<br />
<br />
== CVE-2017-18350 ==<br />
<br />
<b>Date:</b> 2019-06-22<br />
<b>Summary:</b> Buffer overflow from SOCKS proxy<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.7.0rc1 - 0.15.0 || 0.15.1rc1<br />
|}<br />
<br />
=== References ===<br />
* [https://medium.com/@lukedashjr/cve-2017-18350-disclosure-fe6d695f45d5 Disclosure of details]<br />
<br />
== CVE-2018-17144 ==<br />
<br />
<b>Date:</b> 2018-09-17<br />
<b>Summary:</b> Missing check for duplicate inputs<br />
<b>Fix Deployment:</b> 31%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.14.0rc1 - 0.14.2<br>0.15.0rc1 - 0.15.1<br>0.16.0rc1 - 0.16.2 || 0.14.3<br>0.15.2<br>0.16.3<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcoincore.org/en/2018/09/20/notice/ Full disclosure by Bitcoin Core]<br />
* [https://bitcoincore.org/en/2018/09/18/release-0.16.3/ Bitcoin Core 0.16.3 release notes]<br />
* [https://github.com/bitcoinknots/bitcoin/blob/v0.16.3.knots20180918/doc/release-notes.md Bitcoin Knots 0.16.3.knots20180918 release notes]<br />
* [https://nvd.nist.gov/vuln/detail/CVE-2018-17144 US-CERT/NIST]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=666669 Gentoo bug]<br />
<br />
== CVE-2018-20586 ==<br />
<br />
<b>Date:</b> 2019-06-22<br />
<b>Summary:</b> Debug log injection via unauthenticated RPC<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.12.0rc1 - 0.17.0 || 0.17.1rc1<br />
|}<br />
<br />
== CVE-2020-14199 ==<br />
<br />
<b>Date:</b> 2020-06-03<br />
<b>Summary:</b> Double-signing can enable unintended fees<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Trezor One || || 1.9.1<br />
|-<br />
| Trezor Model T || || 2.3.1<br />
|-<br />
| ???<br />
|}<br />
<br />
=== References ===<br />
* [https://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1-9-1-and-trezor-model-t-version-2-3-1-1eba8f60f2dd Disclosure of details by Trezor team]<br />
<br />
== CVE-2020-26895 ==<br />
<br />
<b>Date:</b> 2020-10-08<br />
<b>Summary:</b> Missing low-S normalization for HTLC signatures.<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| lnd || || 0.10.0<br />
|}<br />
<br />
=== References ===<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002858.html CVE-2020-26895: LND Low-S Tx-Relay Standardness]<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002856.html Full Disclosure: Full Disclosure: CVE-2020-26895 LND "Hodl my Shitsig"]<br />
<br />
== CVE-2020-26896 ==<br />
<br />
<b>Date:</b> 2020-10-08<br />
<b>Summary:</b> Invoice preimage extraction via forwarded HTLC.<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| lnd || || 0.11.0<br />
|}<br />
<br />
=== References ===<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002857.html CVE-2020-26896: LND Invoice Preimage Extraction]<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002855.html Full Disclosure: CVE-2020-26896 LND "The (un)covert channel"]<br />
<br />
== CVE-2021-3401 ==<br />
<br />
<b>Date:</b> 2021-02-01<br />
<b>Summary:</b> Qt5 remote execution<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Core GUI || || 0.19.0<br />
|-<br />
| Bitcoin Knots GUI || || 0.18.1<br />
|}<br />
<br />
== CVE-2021-31876 ==<br />
<br />
<b>Date:</b> 2021-05-06<br />
<br />
=== References ===<br />
<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-May/018893.html Full Disclosure: CVE-2021-31876 Defect in Bitcoin Core's bip125 logic]<br />
<br />
=== References ===<br />
* [https://achow101.com/2021/02/0.18-uri-vuln URI Argument Injection Vulnerability in Bitcoin Core 0.18 and Earlier]<br />
<br />
==Definitions==<br />
<br />
A critical vulnerability is one that will have disastrous consequences if it is exploited. A serious vulnerability is one that will have serious consequences if it is exploited<ref>[http://bitcointalk.org/index.php?topic=88892.0 http://bitcointalk.org/index.php?topic=88892.0]</ref>.<br />
<br />
==See Also==<br />
<br />
* [[Changelog]]<br />
* https://blog.bitmex.com/bitcoins-consensus-forks/<br />
<br />
==References==<br />
<references /><br />
<br />
[[Category:Security]]<br />
<br />
{{Bitcoin Core documentation}}</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Consensus_versions&diff=69258Consensus versions2022-04-02T16:13:38Z<p>Luke-jr: Renumber</p>
<hr />
<div>{| class="wikitable"<br />
! TENTATIVE semantic version number || Software release || Change type || BIP(s)<br />
|-<br />
| 0.1.0 || wxBitcoin 0.1.0 || original<br />
|-<br />
| 0.2.0 || wxBitcoin 0.1.6 || softfork || added nLockTime enforcement<ref>[https://bitcoin.stackexchange.com/a/99104/21052 Was the addition of nLockTime timelocks a hard fork?]<br>Bitcoin StackExchange<br>Retrieved 2020-09-21</ref><br />
|-<br />
| 0.2.1 || wxBitcoin 0.3.1 || softfork || mostly-redundant 1 MB block size limit<br />
|-<br />
| 0.2.2 || wxBitcoin 0.3.5 || softfork || fixes CVE-2010-5141<br />
|-<br />
| 0.3.0 || wxBitcoin 0.3.6 || hardfork || OP_NOPs added<ref>https://github.com/bitcoin/bitcoin/blob/ec82517c8919f9cb7194511dc322a2575745e39e/script.cpp#L798</ref><br />
|-<br />
| 0.4.0 || wxBitcoin 0.3.7 || hardfork || scriptSig + scriptPubKey evaluations separated <ref>https://bitcoin.stackexchange.com/questions/111673/was-bitcoin-0-3-7-actually-hard-forking</ref><br />
|-<br />
| 0.4.1 || wxBitcoin 0.3.10 || softfork || fixes CVE-2010-5137 and CVE-2010-5139<br />
|-<br />
| 0.4.2 || wxBitcoin 0.3.12 || softfork || fixes CVE-2010-5138<br />
|-<br />
| 0.4.3 || wxBitcoin 0.3.13 || softfork || Treat multisig with more than 20 keys invalid after block 84000 <ref>https://github.com/bitcoin/bitcoin/commit/a790fa46f40d751307f86c37a709eb119768ce5b#diff-27496895958ca30c47bbb873299a2ad7a7ea1003a9faa96b317250e3b7aa1fef</ref><br />
|-<br />
| 1.0.0 || Bitcoin Core 0.6.0 || softfork || fixes CVE-2012-1909<br />
|-<br />
| 1.1.0 || Bitcoin Core 0.6.0 || softfork || BIP16<br />
|-<br />
| 1.1.1 || Bitcoin Core 0.7.0 || softfork || BIP34<br />
|-<br />
| 1.1.2 || Bitcoin Core 0.8.1 || softfork || fixes CVE-2013-3220 by adding txid change limit<br />
|-<br />
| 2.0.0 || Bitcoin Core 0.8.1 || hardfork || removed BDB lock limit & txid change limit<br />
|-<br />
| 2.0.1 || Bitcoin Core 0.9.2 || softfork || BIP42<br />
|-<br />
| 2.1.0 || Bitcoin Core 0.10.0 || softfork || BIP66<br />
|-<br />
| 2.2.0 || Bitcoin Core 0.10.4 || softfork || BIP65<br />
|-<br />
| 2.3.0 || Bitcoin Core 0.12.1 || softfork || BIP68, BIP112, BIP113<br />
|-<br />
| 2.4.0 || Bitcoin Core 0.13.1 || softfork || BIP141, BIP143, BIP147<br />
|-<br />
| 2.4.1 || Bitcoin Core UASF 0.14.0 || softfork || BIP148<br />
|-<br />
| 2.4.2 || Bitcoin Core 0.16.3 || softfork || fixes CVE-2018-17144<br />
|-<br />
| 2.5.0 || Bitcoin Core-based Taproot Client 0.21.0 || softfork || BIP341, BIP342, BIP343<br />
|}<br />
<br />
== See also ==<br />
<br />
* https://blog.bitmex.com/bitcoins-consensus-forks/<br />
<br />
== References ==</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Spam_transactions&diff=69227Spam transactions2022-03-11T01:26:41Z<p>Luke-jr: Reverted edits by Belcher (talk) to last revision by Theymos</p>
<hr />
<div>Spam transactions are transactions which create undesirable extra load on the network due to not following Bitcoin best practices, either maliciously or out of ignorance. Even the very first versions of the Bitcoin software had some spam filtering rules, and these have been improved over time, but it is probably impossible to automatically filter ''all'' spam.<br />
<br />
Transaction spam is always more costly to the spammer than not spamming. Someone who is intentionally spamming the network will have to burn BTC constantly to do so, and so will eventually be forced to stop.<br />
<br />
The most common types of spam are:__NOTOC__<br />
<br />
==== Sending many without sendmany ====<br />
<br />
If you want to send payments to many people at around the same time, then you should not do tons of individual transactions one after the other. Doing so is grossly wasteful of network resources because each transactions produces a extraneous change output. Instead, all of the outgoing transactions should be bundled into one transaction. The bitcoind JSON-RPC command for doing this is <tt>sendmany</tt>.<br />
<br />
==== Signalling and data transmission ====<br />
<br />
Bitcoin is for storing & transferring value between people, and for limited hash-based timestamping. Transactions should never be used as a signal (such as a win/loss signal in a gambling game) or to send data directly.<br />
<br />
==== Useless transactions ====<br />
<br />
Attackers will sometimes waste network resources by sending BTC between their own addresses uselessly.<br />
<br />
==== Very-low-fee flooding ====<br />
<br />
A simplistic attack that people often try is to send tens of thousands of zero- or very-low-fee transactions at once. This makes the "mempool" number shown by some websites go up massively, which sometimes causes people to panic, but in reality it is only a slight drain on the network's bandwidth resources, and hardly a problem at all. Transactions with very low fees will never be confirmed, and will typically be expired from nodes' mempools after a few days.<br />
<br />
[[Category:Vocabulary]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Bitcoin_Wiki:About&diff=69219Bitcoin Wiki:About2022-02-28T19:04:03Z<p>Luke-jr: Reverted edits by Midnightmagic (talk) to last revision by Furunodo</p>
<hr />
<div>This wiki is a public resource for the community of Bitcoin users, developers, and businesses as well as anyone interested in Bitcoin.<br />
<br />
Unlike Wikipedia, the Bitcoin Wiki is not an encyclopedia, and includes things like non-encyclopedia details (e.g., exact specifications on service fees, product performance, etc), how-to manuals, protocol specifications, original research, etc. There are also no notability requirements beyond the requirement that the material be of general interest to some segment of the Bitcoin community or the Bitcoin-curious general public.<br />
<br />
Because this resource is open to editing by the general public, readers should be aware that the material presented here often does not reflect the views of the entire Bitcoin community and may be outdated, incorrect, or outright malicious at times.<br />
<br />
== Policies and Rules ==<br />
<br />
* Content on the Wiki should generally be factual in nature where possible, but because Bitcoin is relatively new, many important subjects are not yet completely understood and are sometimes best described by opinion. When there is controversy, the Bitcoin wiki should teach it and explain all the major views.<br />
<br />
* Editors should refrain from asserting ownership over an article and seek compromise where possible. Opinion pieces that are of general community interest can be posted under the user's personal namespace. Generally, if you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.<br />
<br />
* While the Wiki doesn't exist to promote any particular businesses or commercial activity, such things are important parts of the Bitcoin ecosystem and get discussed here, but biased editing with a strong pecuniary interest is frowned upon and spamming up the wiki with referral links is prohibited.<br />
<br />
* [[Altcoin|Non-Bitcoin alternatives]] may, at times, be discussed here, especially for comparison purposes or to illustrate a point but this wiki is a Bitcoin community resource and edits which promote competing systems may be frowned on by the community.<br />
<br />
* To prevent unnecessary drama, editors should refrain from adding material which they believe may be unlawful for them or other editors to post. Bitcoin Wiki respects your freedom to communicate but since this is a shared resource you should respect other people's right to be free from the association with your views and their consequences. <br />
<br />
* As a small community resource, the Bitcoin Wiki is often less formal than generic references like Wikipedia and because it addresses a broad community of interests, not all pages will be suitable for all readers: Some pages are written for a technical audience about a technical subject and wouldn't serve their intended audience if simplified for the layman. In cases where audience goals conflict and can't be resolved, we should ExpandSpace and create new pages to cover the subject from different angles if we need to. Editors should be mindful, however, of the work it takes to maintain pages and try to avoid an excessive proliferation of pages which will not be well maintained.<br />
<br />
== Internationalization ==<br />
This wiki uses a multi-lingual scheme similar to Wikipedia's, which means a translated article get links to its translation in the menu (in the left column from the [[Main Page]]). <br />
<br />
If you feel one language is missing and are ready to start translating a lot of pages, you can request the creation of the language of your choice.<br />
<br />
* [[Main Page|English]]<br />
* French: [http://fr.bitcoin.it Français]<br />
* Chinese: [http://zh-cn.bitcoin.it 中文(中国大陆)]<br />
* German: [http://de.bitcoin.it Deutsch]<br />
* Hebrew: [http://he.bitcoin.it עברית]<br />
* Russian: [http://ru.bitcoin.it Русский]<br />
* Spanish: [http://es.bitcoin.it Español]<br />
* Italian: [http://it.bitcoin.it Italiano] <br />
* Polish: [http://pl.bitcoin.it/wiki/Strona_g%C5%82%C3%B3wna Język Polski]<br />
* Lithuanian: [[Talk:Bitcoin.it Wiki#Lithuanian|Lietuvių kalba (preparation)]]<br />
<br />
== Backups ==<br />
<br />
Backups used to be generated weekly, and could be downloaded from [https://dump.bitcoin.it/ the backup repository]. As of 2020 [[Bitcoin_Wiki:Issue_Tracker#dump.bitcoin.it_redirects_to_this_wiki|doesn't work]].<br />
<br />
<!-- Setting up a mirror is easy enough, as many websites explain how to restore a MediaWiki xml dump into a fresh installation. --><br />
<br />
== Contact ==<br />
<br />
Staff and some other editors can be contacted in [irc://irc.freenode.net/bitcoin-wiki the #bitcoin-wiki freenode IRC channel].<br />
Please avoid contacting us to ask questions already answered on this wiki.<br />
<br />
== License ==<br />
<br />
When Bitcoin.it wiki was opened (on December 16th 2010), the initial license was [[wikipedia:WTFPL|WTFPL]]. It has been brought up that CC-by would be more appropriate as content from the previous wiki is under CC-by.<br />
<br />
== Acceptable Use ==<br />
<br />
===Links===<br />
No affiliate/referral code links.<br />
<br />
=== Alternative cryptocurrencies ===<br />
<br />
Alternative cryptocurrencies (ie, besides Bitcoin) are, as a rule, considered off-topic.<br />
Technical topics, including changes that may never be made to Bitcoin, are allowed, provided they stick to the technical topic only.<br />
A single [[list of alternative cryptocurrencies]] is exempted from this policy.<br />
<br />
== See Also ==<br />
* [[:Bitcoin:Community_portal|Community portal]]<br />
<br />
[[Category:Introduction]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=IRC_channels&diff=69214IRC channels2022-02-20T04:26:26Z<p>Luke-jr: Update channels llists</p>
<hr />
<div>This page lists IRC channels for discussing Bitcoin-related topics. Please read: [[Bitcoin IRC Channel Guidelines]] before joining.<br />
<br />
Freenode is the original home of IRC discussion about and technical work on Bitcoin. In early 2021, former Freenode staff started a new network called LiberaChat, which has rapidly become a popular network as well.<br />
<br />
==Bitcoin Project==<br />
<br />
===Primary Discussion Areas===<br />
<br />
====Freenode Network====<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Freenode IRC|bitcoin}} (on Freenode) || General Bitcoin-related discussion and support. ([[Bitcoin_IRC_Channel_Guidelines |guidelines]]).<br />
|-<br />
| {{Freenode IRC|bitcoin-commits}} || Real-time notification of commits to Bitcoin projects.<br />
|-<br />
| {{Freenode IRC|bitcoin-dev}} || For general Bitcoin software development. ([http://bitcoinstats.com/irc/bitcoin-dev/logs/ history]. [[Bitcoin-dev | guidelines]])<br />
|-<br />
| {{Freenode IRC|bitcoin-gentoo}} || Gentoo community.<br />
|-<br />
| {{Freenode IRC|bitcoin-pricetalk}} (on Freenode) || ALL Discussion Remotely Related to Bitcoin Price or other offtopic goes here<br />
|-<br />
| {{Freenode IRC|bitcoin-wiki}} || Bitcoin Wiki support<br />
|-<br />
| {{Freenode IRC|bitcoin-wizards}} (on Freenode) || Bitcoin experts and futurists ([http://gnusha.org/bitcoin-wizards/ history])<br />
|-<br />
| {{Freenode IRC|lnd}} || Lightning only version of #bitcoin-commits<br />
|-<br />
| {{Freenode IRC|sidechains-dev}} || Sidechains development<br />
|}<br />
<br />
====Libera Network====<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Libera IRC|bitcoin}} (on Libera) || General Bitcoin-related discussion and support. ([[Bitcoin_IRC_Channel_Guidelines |guidelines]]).<br />
|-<br />
| {{Libera IRC|bitcoin-core-builds}} || Discussion of the Bitcoin Core build system.<br />
|-<br />
| <span id="bitcoin-core-dev"></span>{{Libera IRC|bitcoin-core-dev}} || For development of Bitcoin Core. Log sources; [http://www.erisian.com.au/bitcoin-core-dev/ 1], [http://gnusha.org/bitcoin-core-dev/ 2] [https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2021-09-16 3]<br />
|-<br />
| {{Libera IRC|bitcoin-core-gui}} || For development of Bitcoin Core's GUI.<br />
|-<br />
| {{Libera IRC|bitcoin-core-pr-reviews}} || Weekly PR review club for discussing Bitcoin Core Pull Requests.<br />
|-<br />
| {{Libera IRC|bitcoin-news}} || RSS News related to Bitcoin.<br />
|-<br />
| {{Libera IRC|bitcoin-wizards}} (on Libera) || Bitcoin experts and futurists ([http://gnusha.org/bitcoin-wizards/ history])<br />
|-<br />
| {{Libera IRC|lightning-dev}} || Lightning protocol development ([http://gnusha.org/lightning-dev/ history])<br />
|-<br />
| {{Libera IRC|bitcoin-pricetalk}} (on Libera) || ALL Discussion Remotely Related to Bitcoin Price or other offtopic goes here<br />
|-<br />
| {{Libera IRC|bitcoin-wiki}} || Bitcoin Wiki support<br />
|}<br />
<br />
===Geography-Based communities===<br />
====Freenode Network====<br />
{|class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Freenode IRC|bitcoin-eastcoastusa}} || Freenode East Coast USA bitcoin community.<br />
|}<br />
====Libera Network====<br />
{| class="wikitable"<br />
| {{Libera IRC|bitcoin-de}} || Libera German bitcoin community.<br />
|-<br />
| {{Libera IRC|bitcoin-hr}} || Libera Croatian language bitcoin community.<br />
|-<br />
| {{Libera IRC|bitcoin-fr}} || Libera French language bitcoin community.<br />
|}<br />
<br />
===Mining Related Communities===<br />
====Freenode Network====<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Freenode IRC|bitcoin-mining}} || Discussion and support related to mining.<br />
|-<br />
| {{Freenode IRC|cgminer}} || Discussion and support specific to [[CGMiner]].<br />
|-<br />
| {{Freenode IRC|eligius}} || [[Eligius]] mining pool community (also support for [[BFGMiner]] and [[Eloipool]])<br />
|}<br />
<br />
===Communities for Exchanges and Trading===<br />
====Libera Network====<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Libera IRC|bitcoin-market}} || Streaming market data (only), no chat.<br />
|-<br />
| {{Libera IRC|bitcoin-otc|text=[[bitcoin-otc|#bitcoin-otc]]}} || Over-the-counter trading marketplace and discussion. ([http://bitcoinstats.com/irc/bitcoin-otc/logs/ history])<br />
|-<br />
| {{Libera IRC|bitcoin-otc-ticker}} || Streaming market data form the [[#bitcoin-otc]] order book.<br />
|-<br />
| {{Libera IRC|bitcoin-otc-ratings|bitcoin-otc-ratings}} || Updates to ratings on the [[#bitcoin-otc]] Web of Trust.<br />
|-<br />
| {{Libera IRC|bitcoin-pit}} || Only over-the-counter trading.<br />
|}<br />
<br />
==Related Projects==<br />
===Libera Network===<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Libera IRC|joinmarket}} || [[JoinMarket]], A [[CoinJoin]] implementation<br />
|}<br />
<br />
==See Also==<br />
<br />
* [[Bitcoin_Wiki:Community_portal]]<br />
<br />
[[fr:Canaux IRC]]<br />
[[pl:Kanały IRC]]<br />
[[ro:Canale]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=IRC_channels&diff=69213IRC channels2022-02-20T04:24:52Z<p>Luke-jr: De-bias a bit</p>
<hr />
<div>This page lists IRC channels for discussing Bitcoin-related topics. Please read: [[Bitcoin IRC Channel Guidelines]] before joining.<br />
<br />
Freenode is the original home of IRC discussion about and technical work on Bitcoin. In early 2021, former Freenode staff started a new network called LiberaChat, which has rapidly become a popular network as well.<br />
<br />
==Bitcoin Project==<br />
<br />
===Primary Discussion Areas===<br />
<br />
====Freenode Network====<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Freenode IRC|bitcoin}} (on Freenode) || General Bitcoin-related discussion and support. ([[Bitcoin_IRC_Channel_Guidelines |guidelines]]).<br />
|-<br />
| {{Freenode IRC|bitcoin-commits}} || Real-time notification of commits to Bitcoin projects.<br />
|-<br />
| {{Freenode IRC|bitcoin-dev}} || For general Bitcoin software development. ([http://bitcoinstats.com/irc/bitcoin-dev/logs/ history]. [[Bitcoin-dev | guidelines]])<br />
|-<br />
| {{Freenode IRC|bitcoin-gentoo}} || Gentoo community.<br />
|-<br />
| {{Freenode IRC|bitcoin-pricetalk}} (on Freenode) || ALL Discussion Remotely Related to Bitcoin Price or other offtopic goes here<br />
|-<br />
| {{Freenode IRC|bitcoin-watch|text=[[Bitcoin-Watch|#bitcoin-watch]]}} || Streaming Bitcoin transactions, including market data.<br />
|-<br />
| {{Freenode IRC|bitcoin-wizards}} (on Freenode) || Bitcoin experts and futurists ([http://gnusha.org/bitcoin-wizards/ history])<br />
|-<br />
| {{Freenode IRC|lnd}} || Lightning only version of #bitcoin-commits<br />
|-<br />
| {{Freenode IRC|sidechains-dev}} || Sidechains development<br />
|}<br />
<br />
====Libera Network====<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Libera IRC|bitcoin}} (on Libera) || General Bitcoin-related discussion and support. ([[Bitcoin_IRC_Channel_Guidelines |guidelines]]).<br />
|-<br />
| {{Libera IRC|bitcoin-core-builds}} || Discussion of the Bitcoin Core build system.<br />
|-<br />
| <span id="bitcoin-core-dev"></span>{{Libera IRC|bitcoin-core-dev}} || For development of Bitcoin Core. Log sources; [http://www.erisian.com.au/bitcoin-core-dev/ 1], [http://gnusha.org/bitcoin-core-dev/ 2] [https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2021-09-16 3]<br />
|-<br />
| {{Libera IRC|bitcoin-core-gui}} || For development of Bitcoin Core's GUI.<br />
|-<br />
| {{Libera IRC|bitcoin-core-pr-reviews}} || Weekly PR review club for discussing Bitcoin Core Pull Requests.<br />
|-<br />
| {{Libera IRC|bitcoin-news}} || RSS News related to Bitcoin.<br />
|-<br />
| {{Libera IRC|bitcoin-wizards}} (on Libera) || Bitcoin experts and futurists ([http://gnusha.org/bitcoin-wizards/ history])<br />
|-<br />
| {{Libera IRC|lightning-dev}} || Lightning protocol development ([http://gnusha.org/lightning-dev/ history])<br />
|-<br />
| {{Libera IRC|bitcoin-pricetalk}} (on Libera) || ALL Discussion Remotely Related to Bitcoin Price or other offtopic goes here<br />
|-<br />
| {{Libera IRC|bitcoin-wiki}} || Bitcoin Wiki support<br />
|}<br />
<br />
===Geography-Based communities===<br />
====Freenode Network====<br />
{|class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Freenode IRC|bitcoin-eastcoastusa}} || Freenode East Coast USA bitcoin community.<br />
|}<br />
====Libera Network====<br />
{| class="wikitable"<br />
| {{Libera IRC|bitcoin-de}} || Libera German bitcoin community.<br />
|-<br />
| {{Libera IRC|bitcoin-hr}} || Libera Croatian language bitcoin community.<br />
|-<br />
| {{Libera IRC|bitcoin-fr}} || Libera French language bitcoin community.<br />
|}<br />
<br />
===Mining Related Communities===<br />
====Freenode Network====<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Freenode IRC|bitcoin-mining}} || Discussion and support related to mining.<br />
|-<br />
| {{Freenode IRC|bitcoin-fpga}} || Discussion and support specific to FPGA mining.<br />
|-<br />
| {{Freenode IRC|cgminer}} || Discussion and support specific to [[CGMiner]].<br />
|-<br />
| {{Freenode IRC|eligius}} || [[Eligius]] mining pool community (also support for [[BFGMiner]] and [[Eloipool]])<br />
|}<br />
<br />
===Communities for Exchanges and Trading===<br />
====Libera Network====<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Libera IRC|bitcoin-market}} || Streaming market data (only), no chat.<br />
|-<br />
| {{Libera IRC|bitcoin-otc|text=[[bitcoin-otc|#bitcoin-otc]]}} || Over-the-counter trading marketplace and discussion. ([http://bitcoinstats.com/irc/bitcoin-otc/logs/ history])<br />
|-<br />
| {{Libera IRC|bitcoin-otc-ticker}} || Streaming market data form the [[#bitcoin-otc]] order book.<br />
|-<br />
| {{Libera IRC|bitcoin-otc-ratings|bitcoin-otc-ratings}} || Updates to ratings on the [[#bitcoin-otc]] Web of Trust.<br />
|-<br />
| {{Libera IRC|bitcoin-pit}} || Only over-the-counter trading.<br />
|}<br />
<br />
==Related Projects==<br />
===Libera Network===<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Libera IRC|namecoin}} || New home of the [[Namecoin]] project.<br />
|-<br />
| {{Libera IRC|joinmarket}} || [[JoinMarket]], A [[CoinJoin]] implementation<br />
|}<br />
<br />
==See Also==<br />
<br />
* [[Bitcoin_Wiki:Community_portal]]<br />
<br />
[[fr:Canaux IRC]]<br />
[[pl:Kanały IRC]]<br />
[[ro:Canale]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Template:Freenode_IRC&diff=69192Template:Freenode IRC2022-02-08T18:59:00Z<p>Luke-jr: Use the better-supported Kiwiirc link format</p>
<hr />
<div><small>[irc://irc.freenode.net/{{{1}}} IRC] [https://webchat.freenode.net/#{{{1}}} Web]</small> {{#if: {{{text|}}} | {{{text}}} | <nowiki>#</nowiki>{{{1}}}}}</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Bech32_adoption&diff=69191Bech32 adoption2022-02-07T22:13:28Z<p>Luke-jr: Knots 22.0 has been released for a while</p>
<hr />
<div>[[Bech32]] is a bitcoin [[address]] format specified by [[BIP 0173]]. It is used for the native segwit version 0 output types, P2WPKH and P2WSH. The upcoming [[Taproot]] softfork will add another output type called Pay to Taproot (P2TR). P2TR outputs and future native segwit versions will be using an updated variant of [[Bech32]], called [[Bech32m]] (specified by [[BIP 0350]]). This page tracks the adoption of [[Bech32]] and [[Bech32m]].<br />
<br />
Ideally wallets and services would first support ''sending to'' new addresses. When most wallets and services support sending to the new address type, people are more likely to adopt it for receiving. <br />
<br />
The amount of bech32 addresses on the blockchain is tracked on this website: https://p2sh.info/dashboard/db/bech32-statistics?orgId=1<br />
<br />
{| class="wikitable"<br />
|-<br />
| {{No}} ||<br />
|-<br />
| {{Evaluating|??}} || Maybe / Haven't checked / placeholder<br />
|-<br />
| {{Planned}} || The developers said they plan to<br />
|-<br />
| {{Acceptable|PR Merged}} || In the case of software, code has been written and merged, and it will be in next release.<br />
|-<br />
| {{Yes}} || Feature has been released<br />
|}<br />
<br />
=== Software Wallets ===<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| Armory || {{Yes}} || {{No}} || {{Planned|Planned around activation}} || {{Evaluating|??}} ||<br />
|-<br />
| AQUA || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| bcoin || {{Yes}} || {{Yes}} || {{Yes|Since 2.2.0}} || {{Evaluating|??}} ||<br />
|-<br />
| Bisq || {{Yes}} || {{Yes}} || {{Evaluating|Dependent on BitcoinJ}} || {{Evaluating|??}} || As of v1.5.0 https://bisq.network/blog/bisq-v1.5.0-highlights/<br />
|-<br />
| Bitcoin Core || {{Yes|Since 0.16.0}} || {{Yes|Since 0.16.0}} || {{Yes|Since 0.21.1}} || {{Yes|Since 22.0}} || Uses P2WPKH as default address since version [https://bitcoin.org/en/release/v0.20.0 0.20.0]. Creating P2TR addresses requires manual import for now.<br />
|-<br />
| Bitcoin Knots || {{Yes|Since 0.16.0}} || {{Yes|Since 0.16.0}} || {{Yes|Since 0.21.1}} || {{Yes|Since 22.0}} ||<br />
|-<br />
| Blockstream Green || {{Yes}} || {{Yes}} || {{Yes|Mobile 3.7.6+, Desktop 1.0.4+}} || {{Planned|Planned}} || Bech32m sending support as of [https://github.com/Blockstream/gdk/releases/tag/release_0.0.47 GDK 0.0.47]<br />
|-<br />
| Breadwallet || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://www.reddit.com/r/BRDapp/comments/9xx1hq/as_of_today_brd_fully_supports_native_segwit/<br />
|-<br />
| [https://play.google.com/store/apps/details?id=de.schildbach.wallet Bitcoin Wallet for Android] || {{Yes}} || {{Yes}} || {{Yes|Since 9.0}} || {{Evaluating|??}} ||<br />
|-<br />
| BlueWallet || {{Yes}} || {{Yes}} || {{Yes|Since 6.2.14}} || {{Evaluating|??}} || <br />
|-<br />
| Breez || {{Yes}} || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} ||<br />
|-<br />
| BTC.com || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://github.com/unchained-capital/caravan Caravan] || {{Yes}} || {{Yes}} || {{Planned}} || {{Evaluating|??}} ||<br />
|-<br />
| Casa || {{Yes}} || {{No}} || {{Planned}} || {{Planned}} ||<br />
|-<br />
| C-Lightning || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} ||<br />
|-<br />
| Coinomi || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || [https://www.reddit.com/r/Bitcoin/comments/865qn1/coinomi_wallet_beta_has_segwit_support/ reddit source]<br />
|-<br />
| Electrum || {{Yes}} || {{Yes}} || {{Yes|Since 4.1.0}} || {{Planned|Descriptor-based keypath spends planned}} || https://github.com/spesmilo/electrum/issues/7544<br />
|-<br />
| Exodus || {{Yes}} || {{Yes}} || {{Planned|Planned before activation, depends on bitcoinjs}} || {{No|Not yet planned}} ||<br />
|-<br />
| Fully Noded || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes|Since v0.2.26}} || https://twitter.com/FullyNoded/status/1438652812410298370<br />
|-<br />
| Guarda Wallet || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || [https://twitter.com/GuardaWallet/status/1194270398730448896 twitter announcement]<br />
|-<br />
| JoinMarket || {{Yes}} || {{Yes}} || {{Planned|WIP}} || {{Evaluating|??}} || https://github.com/JoinMarket-Org/joinmarket-clientserver/pull/1084<br />
|-<br />
| LND || {{Yes}} || {{Yes}} || {{Planned|Planned: via btcsuite}} || {{Evaluating|??}} ||<br />
|-<br />
| Muun || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/MuunWallet/status/1459294066135474177<br />
|-<br />
| Mycelium || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Samourai Wallet || {{Yes}} || {{Yes}} || {{Yes|Since v0.99.98}} || {{No|Currently not planned}} || https://twitter.com/SamouraiWallet/status/1415788631491497985?s=20<br />
|-<br />
| Sparrow Wallet || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/SparrowWallet/status/1415632270434705408<br />
|-<br />
| Specter Wallet || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/_benkaufman/status/1431293856675508228<br />
|-<br />
| Trust Wallet || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || [https://trustwallet.com/blog/trust-wallet-adds-support-for-btc-ltc-bch official blog]<br />
|-<br />
| Uniblow || {{Yes}} || {{Yes}} || {{Yes | Since v1.2.2}} || {{No|Not yet planned}} || [https://github.com/bitlogik/uniblow/releases/tag/v1.2.2 release1.2.2]<br />
|-<br />
| Wallet of Satoshi || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/walletofsatoshi/status/1459782761472872451 <br />
|-<br />
| Wasabi Wallet || {{Yes}} || {{Yes}} || {{Yes | Works in Wasabi 2.0 (release soon)}} || {{Planned|Planned: via NBitcoin}} || https://twitter.com/NicolasDorier/status/1413693010236170241 <br> https://mempool.space/testnet/tx/05a23151b6ad114fb71e851147861d6c992a438ad4f62d6f0749bc9f200ef254<br />
|}<br />
<br />
=== Hardware Wallets ===<br />
<br />
Hardware wallet manufacturers typically publish a web wallet or browser add-on wallet for use with their hardware. Users can also sometimes connect their hardware wallet to a software wallet like [[Electrum]].<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| Trezor + Trezor Suite || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || since [https://blog.trezor.io/trezor-suite-and-firmware-updates-december-2021-d1e74c3ea283 Trezor Suite 21.12.2] + Trezor Firmware 1.10.4 (Model One) / 2.4.3 (Model T)<br />
|-<br />
| Ledger Live (desktop app) || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Ledger Live Desktop 2.35 + Bitcoin App 2.0.0, Ledger Live Mobile support TBD. https://blockstream.info/tx/41d46e6f6e58a325eb6c913aa603f4db313f4a1db0649952f06fe2cd70546451<br />
|-<br />
| KeepKey chrome app || {{No}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| BitBox Desktop app || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned}} || https://twitter.com/ShiftCryptoHQ/status/1483485994368262145<br />
|-<br />
| Trezor + Electrum || {{Yes}} || {{Yes}} || {{Planned}} || {{Planned}} ||<br />
|-<br />
| Ledger + Electrum || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| BitBox + Electrum || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| KeepKey + Electrum || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Archos + Electrum || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Coldcard + Electrum || {{Yes}} || {{Yes}} || {{Planned}} || {{Planned}} ||<br />
|-<br />
| Ballet + app || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| SeedSigner || {{Yes}} || {{Yes}} || {{Planned}} || {{Evaluating|??}} ||<br />
|-<br />
| Tangem + app|| {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Blockstream Jade + Blockstream Green || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned|Planned}} || Bech32m sending support as of [https://github.com/Blockstream/gdk/releases/tag/release_0.0.47 GDK 0.0.47] available via Blockstream Green mobile apps 3.7.6+ and desktop app 1.0.4+<br />
|-<br />
| Keystone || {{Yes}} || {{Acceptable|Yes, but only with BTC-only firmware}} || {{Planned|Planned for Q1 2022}} || {{Evaluating}} || https://twitter.com/KeystoneWallet/status/1460110906789031938<br />
|}<br />
<br />
=== Web Wallets / Wallet Service Providers ===<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| Coinapult || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Coin.Space || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| BitGo || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Full native segwit support on v2 platform, no plans to add native segwit support on v1 platform. Also see: https://blog.bitgo.com/native-segwit-addresses-via-bitgos-api-4946f2007be9, Taproot: https://blog.bitgo.com/taproot-support-for-bitgo-wallets-9ed97f412460<br />
|-<br />
| Bitnob || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/bernard_parah/status/1469962690483400706<br />
|-<br />
| blockchain.com web|| {{Yes}} || {{Yes}} || {{Planned}} || {{Evaluating|??}} || https://twitter.com/Pellicceama/status/1436324051803414535<br />
|-<br />
| Fireblocks || {{Yes}} || {{Yes}} || {{Planned|Nov 18, 2021}} || {{Planned|Planned for 2022}} ||<br />
|-<br />
| HolyTransaction || {{Yes}} || {{No}} || {{Yes}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://coinb.in Coinb.in] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || open source JavaScript implementation<br />
|-<br />
| Guarda Wallet || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://twitter.com/GuardaWallet/status/1194270398730448896<br />
|}<br />
<br />
=== Exchanges ===<br />
<br />
<!-- Exchanges in alphabetical order please --><br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| 1Fox || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://1fox.com/?c=en/content/blog&id=12<br />
|-<br />
| [[AgoraDesk]] || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || <br />
|-<br />
| Anycoin Direct || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://anycoindirect.eu/en/news/details/segwit-activated<br />
|-<br />
| Binance || {{Yes}} || {{Yes}} || {{No}} || {{No}} || https://twitter.com/colemaktypo/status/1460337599499882502<br />
|-<br />
| Bitaroo || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} ||<br />
|-<br />
| BitBargain.co.uk || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Bitcoin.de || {{Yes}} || {{No}} || {{No}} || {{No}} || https://twitter.com/Ben_deWaal/status/1460464528181936130<br />
|-<br />
| Bitfinex || {{Yes}} || {{No}} || {{Planned}} || {{No}} || https://twitter.com/paoloardoino/status/1460620727342796800<br />
|-<br />
| BitMEX || {{Yes}} || {{Yes}} || {{Planned}} || {{Evaluating|??}} || https://blog.bitmex.com/introducing-bech32-deposits-on-bitmex-to-deepen-bitcoin-integration-lower-fees/<br />
|-<br />
| Bitonic || {{Yes}} || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || https://twitter.com/BitcoinenNL/status/1460284373291384833<br />
|-<br />
| Bitpanda || {{Yes}} || {{Evaluating|??}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/christiant5r/status/1461369956252139520<br />
|-<br />
| Bittrex || {{No}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://www.reddit.com/r/Bitcoin/comments/gqt1m6/bittrex_does_not_even_support_withdrawals_to/<br />
|-<br />
| Bittylicious || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://twitter.com/Bittylicious_/status/998881327347888128<br />
|-<br />
| Bitstamp || {{Yes}} || {{Yes}} || {{Planned}} || {{Evaluating|??}} || https://www.bitstamp.net/article/weve-added-support-bech32-bitcoin-addresses-bitsta/<br />
|-<br />
| Bitso || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://twitter.com/Bitso/status/1203784055340314624<br />
|-<br />
| Bottlepay || {{Yes}} || {{Yes}} || {{No}} || {{Evaluating|??}} || https://help.bottlepay.com/en/articles/4909780-what-bitcoin-addresses-do-you-support-for-on-chain-withdrawals, https://twitter.com/Stack_Russel_UK/status/1460330265751044097<br />
|-<br />
| Bitwage || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| BSDEX || {{Yes}} || {{No}} || {{Evaluating|??}} || {{No}} ||<br />
|-<br />
| CardCoins.co || {{Yes}} || No deposits || {{Yes}} || No deposits || https://twitter.com/CardCoinsCo/status/1452680654030872589<br />
|-<br />
| CEX.IO || {{No}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Coinbase.com || {{Yes}} || {{No}} || {{No|Currently not a priority}} || {{No}} ||<br />
|-<br />
| CoinFalcon || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| CoinCorner || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/CoinCorner/status/1461360995746545667<br />
|-<br />
| [https://coinmate.io Coinmate.io] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://coinmate.io/blog/important-coinmate-update/<br />
|-<br />
| Coinsbank.com || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Coinygram || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Flyp.me || {{Yes}} || {{No}} || {{Yes}} || {{Evaluating|??}} ||<br />
|-<br />
| FTX US Derivatives || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || Formerly LedgerX<br />
|-<br />
| GDax || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://www.reddit.com/r/Bitcoin/comments/8c738k/coinbase_gdax_already_allows_sending_to_bc1/<br />
|-<br />
| Gemini || {{Yes}} || {{Yes}} || {{No}} || {{No}} || https://np.reddit.com/r/Bitcoin/comments/b66n0v/psa_gemini_is_full_on_with_native_segwit_and_uses/<br />
|-<br />
| Genesis || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Globitex || {{No}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| HitBTC || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Hodl Hodl || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://medium.com/@hodlhodl/hodl-hodl-segwit-compatible-exchange-a2231968ac56<br />
|-<br />
| Independent Reserve|| {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://www.independentreserve.com/bitcoin/investing<br />
|-<br />
| Itbit || {{Evaluating|??}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Kraken || {{Yes}} || {{No}} || {{No}} || {{No}} || https://twitter.com/murchandamus/status/1460399767830380564<br />
<br />
|-<br />
| Liberalcoins || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://liberalcoins.com<br />
|-<br />
| [[LocalBitcoins]] || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://twitter.com/LocalBitcoins/status/1322194709159301120<br />
|-<br />
| Luno || {{Yes}} || {{No}} || {{Planned|Planned}} || {{Evaluating|??}} || https://www.luno.com/blog/en/post/luno-launches-support-for-bech32-addresses<br />
|-<br />
| Okcoin || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/Okcoin/status/1471563103049756672 <br />
|-<br />
| Paxful.com || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://paxful.com/support/en-us/articles/360011766520-Can-I-Withdraw-Bitcoin-from-Paxful-Wallet-to-My-External-Wallet-<br />
|-<br />
| Poloniex.com || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} || https://www.reddit.com/r/Bitcoin/comments/a3jhcf/you_can_now_withdraw_from_poloniex_to_bech32/<br />
|-<br />
| River.com || {{Yes}} || {{Yes}} || {{Planned|Planned}} || {{Evaluating|??}} ||<br />
|-<br />
| Square CashApp || {{Yes}} || {{No}} || {{Yes}} || {{Evaluating|??}} || https://cash.app/help/us/en-us/20211114-bitcoin-taproot-upgrade<br />
|-<br />
| Strike || {{Yes}} || {{Yes}} || {{No}} || {{No}} || https://twitter.com/BTCBoromir/status/1460373287792521232<br />
|-<br />
| Swan || {{Yes}} || {{Yes|No deposits}} || {{Yes}} || {{Yes|No deposits}} || https://twitter.com/SwanBitcoin/status/1468318386916663298<br />
|-<br />
| TheRockTrading.com || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://twitter.com/TheRockTrading/status/976787499648512003<br />
|-<br />
| Walltime || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || https://walltime.info<br />
|-<br />
| Purse.io || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| VBTC || {{Yes}} || {{Planned}} || {{Yes}} || {{Planned}} || https://twitter.com/VBTC_Vietnam/status/1460978196816416775<br />
|-<br />
| www.bitwala.com || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| Xapo || {{Yes}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|}<br />
<br />
=== Bitcoin ATM Models ===<br />
<br />
Hopefully when a model updates then all its ATMs everywhere will gain that feature. See https://coinatmradar.com/shop/buy-bitcoin-atm/<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| GenesisCoin || {{No}} || {{No}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| General Bytes || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || Depending on configuration. Since version 20190613 https://www.generalbytes.com/en/support/changelog<br />
|-<br />
| Lamassu || {{Yes}} || {{Yes|Yes (optional)}} || {{Planned}} || {{Evaluating|??}} || https://twitter.com/LamassuBTC/status/1459918440303673349<br />
|}<br />
<br />
=== Blockchain Explorers ===<br />
<br />
To investigate bech32 capability, you can use mainnet TXIDs <code>4ef47f6eb681d5d9fa2f7e16336cd629303c635e8da51e425b76088be9c8744c</code> and <code>514a33f1d46179b89e1fea7bbb07b682ab14083a276979f91038369d1a8d689b</code> or look up the addresses <code>bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq</code> and <code>bc1qc7slrfxkknqcq2jevvvkdgvrt8080852dfjewde450xdlk4ugp7szw5tk9</code>. <br />
<br />
Some blockchain explorers can only parse the bech32 address and display it, they don't build an index so users cannot search for bech32 addresses.<br />
<br />
To verify bech32m readiness, you can look up the mainnet TXID <code>b10c007c60e14f9d087e0291d4d0c7869697c6681d979c6639dbd960792b4d41</code> on which the first output should be addressed as <code>bc1pqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqsyjer9e</code>. Note that the superseded bech32 encoding only differs in the last six characters that encode the checksum: <code>bc1pqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqszqgpqyqs_3wf0qm_</code>.<br />
<br />
See also: https://en.bitcoin.it/wiki/Category:Block_chain_browsers<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Display Bech32 !! Index Bech32 !! Display Bech32m !! Index Bech32m !! Notes<br />
|-<br />
| bitaps.com || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://bitaps.com<br />
|-<br />
| Bitflyer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://chainflyer.bitflyer.jp<br />
|-<br />
| Blockbook || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://btc1.trezor.io<br />
|-<br />
| blockchain.com || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://www.blockchain.com/explorer<br />
|-<br />
| Blockchair || {{Yes}} || {{Yes}} || {{Yes|Ready, but old txns not reindexed yet}} || {{Yes|Ready, but old txns not reindexed yet}} || https://github.com/Blockchair/Blockchair.Support/issues/567#issuecomment-966393097, https://twitter.com/Blockchair/status/1458817396433731585<br />
|-<br />
| Blockcypher || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || https://live.blockcypher.com/btc<br />
|-<br />
| Blockonomics || {{Yes}} || {{Yes}} || {{Planned|Planned for 2020Q1}} || {{Planned|Planned for 2020Q1}} || https://www.blockonomics.co<br />
|-<br />
| Blockpath || {{Yes}} || {{Yes}} || {{No}} || {{No}} || https://blockpath.com<br />
|-<br />
| BTC.com || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://BTC.com<br />
|-<br />
| Esplora || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Open source explorer, instances are https://blockstream.info/ and https://www.localbitcoinschain.com/. [https://github.com/Blockstream/esplora/issues/323 Issue] for BIP350 support.<br />
|-<br />
| Insight || {{Yes}} || {{Yes}} || {{No}} || {{No}} || Open source explorer, instances include https://insight.bitpay.com/<br />
|-<br />
| Mempool || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || Open source explorer, instances include https://mempool.space https://mempool.ninja https://mempool.emzy.de https://mempool.bisq.services https://mempool.bitcoin.ninja https://mempool.bitaroo.net/<br />
|-<br />
| OKLink || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://www.oklink.com<br />
|-<br />
| OXT || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://oxt.me/<br />
|-<br />
| Tradeblock || {{Yes}} || {{Yes}} || {{No}} || {{No}} || https://tradeblock.com/bitcoin<br />
|-<br />
| WalletExplorer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://walletexplorer.com/<br />
|-<br />
| Bitcoin Explorer || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://bitcoinexplorer.org, https://twitter.com/BitcoinExplorer/status/1425148093977309187<br />
|}<br />
<br />
=== Payment Processors ===<br />
<br />
<!-- Payment processors in alphabetical order please --><br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! P2WPKH/P2WSH Invoices !! Bech32 Withdrawal addresses !! P2TR Invoices !! Bech32m Withdrawal addresses !! Notes<br />
|-<br />
| [https://apirone.com Apirone] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || Payment notifications, merchant dashboard, plugins for Magento, WooCommerce, OpenCart 2, Opencart 3.x, Virtuemart<br />
|-<br />
| [https://bitaps.com Bitaps] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} || Payment forwarding API, Wallet API, fault tolerance callback.<br />
|-<br />
| [https://btcpayserver.org BTCPay Server] || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes|Supported since 1.3.0}} || https://twitter.com/NicolasDorier/status/1432354289599451136, https://twitter.com/NicolasDorier/status/1457527754350415873<br />
|-<br />
| [https://coingate.com CoinGate] || {{No}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://confirmo.net CONFIRMO] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://cryptochill.com CryptoChill] || {{Yes}} || {{Yes}} || {{Evaluating|??}} || {{Planned}} || Highly customizable Bitcoin and Lightning Network payment gateway and custodial wallets provider. TSS/HD wallets, API, SDK.<br />
|-<br />
| [https://github.com/nickfarrow/SatSale SatSale] || {{Yes}} || n/a || {{Yes}} || n/a || Supports any address format supported by backend Bitcoin Core. Invoices use address format configured as default there. Has no withdrawal functionality in itself, payments are received in Core wallet.<br />
|}<br />
<br />
=== Mining Pools ===<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Payout to Bech32 !! Payout to Bech32m !! Notes<br />
|-<br />
| [https://pool.btc.com/ BTC.com Pool] || {{No}} || {{Evaluating|??}} ||<br />
|-<br />
| [http://ckpool.org/ Ckpool] || {{Yes}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://kano.is/ KanoPool] || {{Yes}} || {{Evaluating|??}} || [https://bitcointalk.org/index.php?topic=789369.msg53374508#msg53374508 bitcointalk source]<br />
|-<br />
| [http://poolin.com/ Poolin] || {{Yes}} || {{Evaluating|??}} || [https://bitcointalk.org/index.php?topic=5169994.msg52184844#msg52184844 bitcointalk source]<br />
|-<br />
| [https://sbicrypto.com SBICrypto Pool] || {{Yes}} || {{Acceptable|Ready to release at activation}} ||<br />
|-<br />
| [https://slushpool.com/ Slush Pool] || {{Yes}} || {{Planned|At activation}} || [https://twitter.com/braiins_systems/status/1432376840484794375 Tweet]<br />
|-<br />
| [https://ukrpool.com/ Ukr Pool] || {{Yes}} || {{Evaluating|??}} || [https://bitcointalk.org/index.php?topic=5124825.msg51358033#msg51358033 bitcointalk source]<br />
|-<br />
| [https://pool.viabtc.com/ ViaBTC Pool] || {{No}} || {{Evaluating|??}} ||<br />
|}<br />
<br />
=== Libraries ===<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Language !! Send to Bech32 !! Receive to P2WPKH/P2WSH !! Send to Bech32m !! Receive to P2TR !! Notes<br />
|-<br />
| [https://github.com/bitcoin/libbase58 libbase58] || C || {{No}} || n/a || {{No}} || n/a<br />
|-<br />
| [https://github.com/MetacoSA/NBitcoin NBitcoin] || .NET || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/NicolasDorier/status/1432354289599451136<br />
|-<br />
| [https://github.com/bcoin-org/bcoin bcoin] || JS || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://github.com/bcoin-org/bcoin/pull/1038<br />
|-<br />
| [https://github.com/btcsuite btcsuite/btcutil] || Go || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://github.com/btcsuite/btcutil/pull/202<br />
|-<br />
| [https://github.com/bitcoinjs/bitcoinjs-lib bitcoinjs-lib] || JS || {{Yes}} || {{Yes}} || {{Yes|Yes, since v6.0.0}} || {{Acceptable|Supported but needs manual involvement}} || https://github.com/bitcoinjs/bitcoinjs-lib/issues/1522#issuecomment-887468902, https://twitter.com/junderwood4649/status/1459006392086372355<br />
|-<br />
| [https://bitcoinj.github.io/ bitcoinj] || Java || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|??}} || https://github.com/bitcoinj/bitcoinj/commit/183986c9801f10f1bf46bd46621e535973d39ef8<br />
|-<br />
| [https://github.com/bitcoin-s/bitcoin-s-core bitcoin-s] || Scala || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned|Planned for 2021}} || https://twitter.com/Chris_Stewart_5/status/1459205497463136270<br />
|-<br />
| [https://github.com/rust-bitcoin/rust-bitcoin rust-bitcoin] || Rust || {{Yes}} || {{Evaluating|??}} || {{Yes}} || {{Evaluating|??}} || https://twitter.com/RCasatta/status/1423695925252329476<br />
|-<br />
| [https://lightningdevkit.org Lightning Dev Kit] || Rust || {{Yes}} || {{Yes}} || {{Yes}} || {{Evaluating|Pending BOLT update}} || <br />
|-<br />
| [https://bitcoindevkit.org Bitcoin Dev Kit] || Rust || {{Yes}} || {{Yes}} || {{Yes|Yes, since [https://github.com/bitcoindevkit/bdk/releases/tag/v0.14.0 0.14.0]}} || {{Planned|WIP}} || https://docs.rs/bdk https://bitcoindevkit.org/blog/2021/11/first-bdk-taproot-tx-look-at-the-code-part-1/)<br />
|-<br />
| [https://github.com/ElementsProject/libwally-core libwally-core] || C || {{Yes}} || {{Yes}} || {{Yes|Yes, since [https://github.com/ElementsProject/libwally-core/releases/tag/release_0.8.4 0.8.4]}} || {{Yes|Yes, since [https://github.com/ElementsProject/libwally-core/releases/tag/release_0.8.4 0.8.4]}} ||<br />
|-<br />
| [https://github.com/Blockstream/gdk GDK] || C || {{Yes}} || {{Yes}} || {{Yes|Yes, since [https://github.com/Blockstream/gdk/releases/tag/release_0.0.47 0.0.47]}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://github.com/Simplexum/python-bitcointx python-bitcointx] || Python || {{Yes}} || {{Yes}} || {{Planned|WIP}} || {{Planned|WIP}} || https://github.com/Simplexum/python-bitcointx/issues/57<br />
|-<br />
| [https://github.com/dgarage/NBXplorer/ NBXPlorer] || C# || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://twitter.com/NicolasDorier/status/1432354822888431619<br />
|-<br />
| [https://github.com/acinq/bitcoin-kmp Kotlin Multiplatform Bitcoin Library] || Kotlin || {{Yes}} || {{Yes}} || {{Yes}} || {{Planned}} || https://twitter.com/realtbast/status/1458533450919649284<br />
|-<br />
| [https://github.com/libbitcoin Libbitcoin] || C++ || {{Evaluating|??}} || {{Evaluating|??}} || {{Evaluating|??}} || {{Evaluating|??}} ||<br />
|-<br />
| [https://github.com/chaintope/bitcoinrb Bitcoinrb] || Ruby || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || https://github.com/chaintope/bitcoinrb/wiki/Taproot<br />
|}<br />
<!--<br />
<br />
=== Other Services ===<br />
<br />
Casinos, marketplaces, etc that let users withdraw money<br />
<br />
{| class="wikitable sortable"<br />
|-<br />
! Name !! Withdrawals !! Notes<br />
|-<br />
| 1Broker || {{Yes}} || <br />
|-<br />
| [https://crypto.games Crypto.Games]|| {{Yes}} || [https://bitcointalk.org/index.php?topic=750760.msg31421151#msg31421151 bitcointalk source]<br />
|-<br />
| YOLOdice || {{Yes}} ||<br />
|}<br />
<br />
--><br />
<br />
=== References ===<br />
<br />
[[Category:Software]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Consensus_versions&diff=69190Consensus versions2022-02-07T22:12:35Z<p>Luke-jr: Buried deployments aren't really protocol changes?</p>
<hr />
<div>{| class="wikitable"<br />
! TENTATIVE semantic version number || Software release || Change type || BIP(s)<br />
|-<br />
| 0.1.0 || wxBitcoin 0.1.0 || original<br />
|-<br />
| 0.2.0 || wxBitcoin 0.1.6 || softfork || added nLockTime enforcement<ref>[https://bitcoin.stackexchange.com/a/99104/21052 Was the addition of nLockTime timelocks a hard fork?]<br>Bitcoin StackExchange<br>Retrieved 2020-09-21</ref><br />
|-<br />
| 0.2.1 || wxBitcoin 0.3.1 || softfork || mostly-redundant 1 MB block size limit<br />
|-<br />
| 0.2.2 || wxBitcoin 0.3.5 || softfork || fixes CVE-2010-5141<br />
|-<br />
| 0.2.3 || wxBitcoin 0.3.6 || softfork || OP_NOPs made explicit<br />
|-<br />
| 0.3.0 || wxBitcoin 0.3.7 || hardfork || scriptSig + scriptPubKey evaluations separated <ref>https://bitcoin.stackexchange.com/questions/111673/was-bitcoin-0-3-7-actually-hard-forking</ref><br />
|-<br />
| 0.3.1 || wxBitcoin 0.3.10 || softfork || fixes CVE-2010-5137 and CVE-2010-5139<br />
|-<br />
| 0.3.2 || wxBitcoin 0.3.12 || softfork || fixes CVE-2010-5138<br />
|-<br />
| 0.3.3 || wxBitcoin 0.3.13 || softfork || Treat multisig with more than 20 keys invalid after block 84000 <ref>https://github.com/bitcoin/bitcoin/commit/a790fa46f40d751307f86c37a709eb119768ce5b#diff-27496895958ca30c47bbb873299a2ad7a7ea1003a9faa96b317250e3b7aa1fef</ref><br />
|-<br />
| 1.0.0 || Bitcoin Core 0.6.0 || softfork || fixes CVE-2012-1909<br />
|-<br />
| 1.1.0 || Bitcoin Core 0.6.0 || softfork || BIP16<br />
|-<br />
| 1.1.1 || Bitcoin Core 0.7.0 || softfork || BIP34<br />
|-<br />
| 1.1.2 || Bitcoin Core 0.8.1 || softfork || fixes CVE-2013-3220 by adding txid change limit<br />
|-<br />
| 2.0.0 || Bitcoin Core 0.8.1 || hardfork || removed BDB lock limit & txid change limit<br />
|-<br />
| 2.0.1 || Bitcoin Core 0.9.2 || softfork || BIP42<br />
|-<br />
| 2.1.0 || Bitcoin Core 0.10.0 || softfork || BIP66<br />
|-<br />
| 2.2.0 || Bitcoin Core 0.10.4 || softfork || BIP65<br />
|-<br />
| 2.3.0 || Bitcoin Core 0.12.1 || softfork || BIP68, BIP112, BIP113<br />
|-<br />
| 2.4.0 || Bitcoin Core 0.13.1 || softfork || BIP141, BIP143, BIP147<br />
|-<br />
| 2.4.1 || Bitcoin Core UASF 0.14.0 || softfork || BIP148<br />
|-<br />
| 2.4.2 || Bitcoin Core 0.16.3 || softfork || fixes CVE-2018-17144<br />
|-<br />
| 2.5.0 || Bitcoin Core-based Taproot Client 0.21.0 || softfork || BIP341, BIP342, BIP343<br />
|}<br />
<br />
== See also ==<br />
<br />
* https://blog.bitmex.com/bitcoins-consensus-forks/<br />
<br />
== References ==</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=IRC_channels&diff=69189IRC channels2022-02-07T22:05:00Z<p>Luke-jr: Reverted edits by Kinlo (talk) to last revision by Harding</p>
<hr />
<div>This page lists IRC channels for discussing Bitcoin-related topics. Please read: [[Bitcoin IRC Channel Guidelines]] before joining.<br />
<br />
Most of the channels are either on [https://libera.chat Libera.chat] or on [http://www.freenode.net Freenode] IRC networks.<br />
<br />
==Bitcoin Project==<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Freenode IRC|bitcoin}} (on Freenode) || General Bitcoin-related discussion and support. ([[Bitcoin_IRC_Channel_Guidelines |guidelines]]).<br />
|-<br />
| {{Libera IRC|bitcoin}} (on Libera) || General Bitcoin-related discussion and support. ([[Bitcoin_IRC_Channel_Guidelines |guidelines]]).<br />
|-<br />
| {{Libera IRC|bitcoin-core-builds}} || Discussion of the Bitcoin Core build system.<br />
|-<br />
| {{Freenode IRC|bitcoin-commits}} || Real-time notification of commits to Bitcoin projects.<br />
|-<br />
| <span id="bitcoin-core-dev"></span>{{Libera IRC|bitcoin-core-dev}} || For development of Bitcoin Core. Log sources; [http://www.erisian.com.au/bitcoin-core-dev/ 1], [http://gnusha.org/bitcoin-core-dev/ 2] [https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2021-09-16 3]<br />
|-<br />
| {{Libera IRC|bitcoin-core-gui}} || For development of Bitcoin Core's GUI.<br />
|-<br />
| {{Libera IRC|bitcoin-core-pr-reviews}} || Weekly PR review club for discussing Bitcoin Core Pull Requests.<br />
|-<br />
| {{Freenode IRC|bitcoin-dev}} || For general Bitcoin software development. ([http://bitcoinstats.com/irc/bitcoin-dev/logs/ history]. [[Bitcoin-dev | guidelines]])<br />
|-<br />
| {{Freenode IRC|bitcoin-gaming}} || Bitcoin gamers hangout.<br />
|-<br />
| {{Freenode IRC|bitcoin-gentoo}} || Gentoo community.<br />
|-<br />
| {{Freenode IRC|bitcoin-marketing}} || Marketing and promotion of bitcoin<br />
|-<br />
| {{Libera IRC|bitcoin-news}} || RSS News related to Bitcoin.<br />
|-<br />
| {{Freenode IRC|bitcoin-politics}} || Discuss politics with other Bitcoin users.<br />
|-<br />
| {{Freenode IRC|bitcoin-pricetalk}} (on Freenode) || ALL Discussion Remotely Related to Bitcoin Price or other offtopic goes here<br />
|-<br />
| {{Libera IRC|bitcoin-pricetalk}} (on Libera) || ALL Discussion Remotely Related to Bitcoin Price or other offtopic goes here<br />
|-<br />
| {{Freenode IRC|bitcoin-watch|text=[[Bitcoin-Watch|#bitcoin-watch]]}} || Streaming Bitcoin transactions, including market data.<br />
|-<br />
| {{Freenode IRC|bitcoin-wiki}} || Bitcoin Wiki support<br />
|-<br />
| {{Freenode IRC|bitcoin-wizards}} (on Freenode) || Bitcoin experts and futurists ([http://gnusha.org/bitcoin-wizards/ history])<br />
|-<br />
| {{Libera IRC|bitcoin-wizards}} (on Libera) || Bitcoin experts and futurists ([http://gnusha.org/bitcoin-wizards/ history])<br />
|-<br />
| {{Libera IRC|lightning-dev}} || Lightning protocol development ([http://gnusha.org/lightning-dev/ history])<br />
|-<br />
| {{Freenode IRC|lnd}} || Lightning only version of #bitcoin-commits<br />
|-<br />
| {{Freenode IRC|sidechains-dev}} || Sidechains development<br />
|}<br />
<br />
===Local communities===<br />
<br />
{| class="wikitable"<br />
| {{Freenode IRC|bitcoin-aus}} || Aussie bitcoin community.<br />
|-<br />
| {{Freenode IRC|AustinBitcoin}} || Austin, TX bitcoin community.<br />
|-<br />
| {{Freenode IRC|bitcoin-bra}} || Brazilian bitcoin community.<br />
|-<br />
| {{Freenode IRC|bitcoin-cad}} || Canadian bitcoin community.<br />
|-<br />
| {{Freenode IRC|bitcoin-cn}} || Chinese bitcoin community.<br />
|-<br />
| {{Freenode IRC|bitcoin-dk}} || Danish bitcoin community.<br />
|-<br />
| {{Libera IRC|bitcoin-de}} || German bitcoin community.<br />
|-<br />
| {{Freenode IRC|bitcoin-eastcoastusa}} || East Coast USA bitcoin community.<br />
|-<br />
| {{Freenode IRC|bitcoin-il}} || Israeli bitcoin community.<br />
|-<br />
| {{Freenode IRC|bitcoin-nl}} || Dutch bitcoin community. <br />
|-<br />
| {{Freenode IRC|bitcoin-pl}} || Polish bitcoin community.<br />
|-<br />
| {{Freenode IRC|bitcoin-romania}} || Romanian bitcoin community.<br />
|-<br />
| {{Freenode IRC|bitcoin-ve}} || Venezuelan bitcoin community.<br />
|-<br />
| {{Freenode IRC|btc.chat}} || Russian bitcoin community.<br />
|-<br />
| #bitcoins.fi @ IRCNet || Finnish bitcoin community.<br />
|-<br />
| {{Libera IRC|bitcoin-hr}} || Croatian language bitcoin community.<br />
|-<br />
| {{Libera IRC|bitcoin-fr}} || French language bitcoin community.<br />
<br />
|}<br />
<br />
==Mining Related Communities==<br />
<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Freenode IRC|avalon}} || Discussion and support specific to [[Avalon]] mining machine<br />
|-<br />
| {{Freenode IRC|bitcoin-mining}} || Discussion and support related to mining.<br />
|-<br />
| {{Freenode IRC|bitcoin-fpga}} || Discussion and support specific to FPGA mining.<br />
|-<br />
| {{Freenode IRC|btcguild}} || [[BTCGuild]] mining pool community<br />
|-<br />
| {{Freenode IRC|butterflylabs}} || [[Butterfly Labs]] chat<br />
|-<br />
| {{Freenode IRC|cgminer}} || Discussion and support specific to [[CGMiner]].<br />
|-<br />
| {{Freenode IRC|eligius}} || [[Eligius]] mining pool community (also support for [[BFGMiner]] and [[Eloipool]])<br />
|-<br />
| {{Freenode IRC|mining.bitcoin.cz}} || Slush's mining pool community<br />
|-<br />
| {{Freenode IRC|ozcoin}} || [[Ozco.in]] mining pool community<br />
|-<br />
| <small>[irc://irc.foonetic.net/xkcd-bitcoin IRC] [http://irc.lc/foonetic/xkcd-bitcoin/Miner@@@ Web]</small> #xkcd-bitcoin || [https://en.bitcoin.it/wiki/XKCD_Pool XKCD Pool]<br />
|-<br />
| <small>[irc://irc.quakenet.org/bitcoins.lc IRC] [http://irc.lc/quakenet/bitcoins.lc/Miner@@@ Web]</small> #bitcoins.lc @ Quakenet || [http://www.bitcoins.lc Bitcoins.lc Pool] <br />
|-<br />
| {{Freenode IRC|p2pool}} || [[P2Pool]] decentralized mining pool<br />
|-<br />
| {{Freenode IRC|bitminter}} || [[BitMinter]] Mining Pool Community<br />
|-<br />
| {{Freenode IRC|kncminer}} || [[KNCMiner]] ASIC Mining Hardware Vendor Discussion<br />
|}<br />
<br />
==Communities for Exchanges and Trading==<br />
<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Freenode IRC|bitcoin-assets}} || Discussion of securities and other asset investments. [http://bitcoin-assets.com bitcoin-assets.com].<br />
|-<br />
| {{Freenode IRC|bitcoin-assets-trades}} || Streaming assets market data (only), no chat.<br />
|-<br />
| {{Freenode IRC|bitcoin-auction}} || Live auctions over IRC.<br />
|-<br />
| {{Libera IRC|bitcoin-market}} || Streaming market data (only), no chat.<br />
|-<br />
| {{Libera IRC|bitcoin-otc|text=[[bitcoin-otc|#bitcoin-otc]]}} || Over-the-counter trading marketplace and discussion. ([http://bitcoinstats.com/irc/bitcoin-otc/logs/ history])<br />
|-<br />
| {{Freenode IRC|bitcoin-escrow}} || Third party escrow agents.<br />
|-<br />
| {{Libera IRC|bitcoin-otc-ticker}} || Streaming market data form the [[#bitcoin-otc]] order book.<br />
|-<br />
| {{Libera IRC|bitcoin-otc-ratings|bitcoin-otc-ratings}} || Updates to ratings on the [[#bitcoin-otc]] Web of Trust.<br />
|-<br />
| {{Libera IRC|bitcoin-pit}} || Only over-the-counter trading.<br />
|-<br />
| {{Freenode IRC|btc.chat.traders}} || Russian community discussion about trades/exchanges.<br />
|-<br />
| {{Freenode IRC|coinbase}} || [[Coinbase]] chat<br />
|-<br />
| {{Freenode IRC|bitcoin-rt}} || Real-time tape (executed trades).<br />
|-<br />
| {{Freenode IRC|localbitcoins-chat}} || [[LocalBitcoins.com]] exchange support<br />
|}<br />
<br />
==Related Communities==<br />
<br />
{| class="wikitable"<br />
! Channel !! Description<br />
|-<br />
| {{Freenode IRC|opentransactions}} || [[Open Transactions]] project.<br />
|-<br />
| {{Freenode IRC|namecoin}} || [[Namecoin]] and the [[Dot-bit]] project.<br />
|-<br />
| {{Freenode IRC|twister}} || [[Twister]], P2P microblogging discussion.<br />
|-<br />
| {{Libera IRC|joinmarket}} || [[JoinMarket]], A [[CoinJoin]] implementation<br />
|-<br />
| {{Freenode IRC|darkwallet}} || [[DarkWallet]] and libbitcoin/Obelisk discussion & development channel.<br />
|-<br />
| {{Freenode IRC|electrum}} || [[Electrum]], lightweight bitcoin client.<br />
|-<br />
| {{Freenode IRC|copay}} || [[Copay]], lightweight bitcoin client.<br />
|-<br />
| {{Freenode IRC|bitcoin-stackexchange}} || Discussion complementing [http://bitcoin.stackexchange.com Bitcoin StackExchange].<br />
<br />
|}<br />
<br />
==See Also==<br />
<br />
* [[Bitcoin_Wiki:Community_portal]]<br />
<br />
[[fr:Canaux IRC]]<br />
[[pl:Kanały IRC]]<br />
[[ro:Canale]]</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Bitcoin_IRC_Channel_Guidelines&diff=69188Bitcoin IRC Channel Guidelines2022-02-07T22:04:33Z<p>Luke-jr: Reverted edits by Kinlo (talk) to last revision by Luke-jr</p>
<hr />
<div>The {{Freenode IRC|bitcoin}} channel on freenode serves as the de-facto "front door" for newcomers on bitcoin.<br />
A "sister channel" on Libera IRC ({{Libera IRC|bitcoin}}) has also recently opened for users who prefer that network.<br />
<br />
The purpose for this channel is general discussion of everything related to bitcoin. We try to discuss and help people with everything regarding the protocol, clients, custom implementations and the philosophy behind bitcoin.<br />
<br />
Our purpose is to help anyone with relevant discussions:<br />
<br />
* The channel's language is english<br />
<br />
* Please try to remain on topic, the channel is about everything related to bitcoin. This means that the following topics are off-topic: all alt-coins, issues about how the channel is moderated, begging, spamming, referral sites or any other form of advertising. This includes anything else that is of no interest for the majority of the users.<br />
<br />
* Please refrain from any insults, flamewars or trolling. <br />
<br />
* It is strictly forbidden to discuss unlawful activity, pursuant to [http://freenode.net/policies#unlawful-activity freenode's guidelines];<br />
<br />
* Generally, anything that would make a newcomer feel unwelcome or would reflect badly on the bitcoin community should be avoided.<br />
<br />
* There are many side channels that allow discussions on various topics. A complete list can be found on [[IRC_channels]]. The major sidechannels are: [[Bitcoin-otc]] for any trading, {{Freenode IRC|bitcoin-mining}} for anything bitcoin mining related and {{Freenode IRC|bitcoin-pricetalk}} for price related discussions. Please use these channels.<br />
<br />
* We strive to maintain a professional, friendly, and helpful atmosphere on the channel at all times. Any deviation to this might get you a warning, or booted off the channel. Feel free to discuss this with an operator in private, but do not discuss this in the main channel. Operators always have the last say in any discussion.<br />
<br />
* Do not trust any website link given on the channel. There are many people out there trying to trick you into visiting a malicious site, or to trick you into executing viruses that are designed to search for bitcoin wallets and send the coins to the attacker. Do not click on any link unless you fully know what you are doing.<br />
<br />
* Any url might be a scam site. Therefore we do not allow url's in general. All url shorteners are strictly forbidden as they are hiding the final url. Other sites might be allowed by the goodwill of the operators, but this is more an exception to the rule, and can be decided on case by case by the operators. Google docs in particular are currently banned automatically by one of the bots, as they have been the source of criminal activity in the past.<br />
<br />
* We strive to provide high-quality information. Therefore we do not allow any advice on bad practices. For example: web wallets are insecure by design. Therefore, we will not recommend them as they are not as secure, and we will not allow other people to recommend them to anyone else. If in doubt ask an operator.</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Common_Vulnerabilities_and_Exposures&diff=69029Common Vulnerabilities and Exposures2021-11-29T05:43:59Z<p>Luke-jr: </p>
<hr />
<div>{| class="wikitable"<br />
!style="width:16ex"| CVE<br />
! Announced !! Affects !! Severity !! Attack is... !! Flaw !! Net<br />
|-<br />
| Pre-BIP protocol changes<br />
| n/a<br />
| All Bitcoin clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Implicit<ref name="hardfork">This is a protocol "hard-fork" that old clients will reject as invalid and must therefore not be used.</ref><br />
| [[Consensus versions|Various hardforks and softforks]]<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5137|CVE-2010-5137]]<br />
| 2010-07-28<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS">Attacker can disable some functionality, for example by crashing clients</ref><br />
|bgcolor=pink| Easy<br />
| OP_LSHIFT crash<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5141|CVE-2010-5141]]<br />
| 2010-07-28<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Theft<ref name="Theft">Attacker can take coins outside known network rules</ref><br />
|bgcolor=pink| Easy<br />
| OP_RETURN could be used to spend any output.<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5138|CVE-2010-5138]]<br />
| 2010-07-29<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Unlimited SigOp DoS<br />
|bgcolor=lime| 100%<br />
|-<br />
| '''[[CVE-2010-5139]]'''<br />
| 2010-08-15<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Inflation<ref name="inflation">Attacker can create coins outside known network rules</ref><br />
|bgcolor=pink| Easy<br />
| Combined output overflow<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5140|CVE-2010-5140]]<br />
| 2010-09-29<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Never confirming transactions<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2011-4447|CVE-2011-4447]]<br />
| 2011-11-11<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Exposure<ref name="Exposure">Attacker can access user data outside known acceptable methods</ref><br />
|bgcolor=lime| Hard<br />
| Wallet non-encryption<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2011-4447.html 100%]<br />
|-<br />
| [[#CVE-2012-1909|CVE-2012-1909]]<br />
| 2012-03-07<br />
| Bitcoin protocol and all clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit">Attacker can create multiple views of the network, enabling [[double-spending]] with over 1 confirmation</ref><br />
|bgcolor=lime| Very hard<br />
| Transaction overwriting<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-1909.html 100%]<br />
|-<br />
| [[#CVE-2012-1910|CVE-2012-1910]]<br />
| 2012-03-17<br />
| bitcoind & Bitcoin-Qt for Windows<br />
|bgcolor=pink| Unknown<ref name="Unknown">Extent of possible abuse is unknown</ref><br />
|bgcolor=lime| Hard<br />
| Non-thread safe MingW exceptions<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-1910.html 100%]<br />
|-<br />
| [[#BIP-0016|BIP 0016]]<br />
| 2012-04-01<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: P2SH<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/BIP-0016.html 100%]<br />
|-<br />
| [[#CVE-2012-2459|CVE-2012-2459]]<br />
| 2012-05-14<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Easy<br />
| Block hash collision (via merkle root)<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-2459.html 100%]<br />
<!--<br />
|-<br />
| [[#CVE-2012-3584|CVE-2012-3584]]<br />
| 2012-06-16<br />
| Bitcoin p2p protocol<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Poor miner incentives<br />
| (no fix)<br />
--><br />
|-<br />
| '''[[CVE-2012-3789]]'''<br />
| 2012-06-20<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| (Lack of) orphan txn resource limits<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20123789 100%]<br />
|-<br />
| [[#CVE-2012-4682|CVE-2012-4682]]<br />
| <br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
| <br />
| <br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-4682.html 100%]<br />
|-<br />
| '''[[CVE-2012-4683]]'''<br />
| 2012-08-23<br />
| bitcoind and Bitcoin-Qt<br />
| bgcolor=yellow| DoS<ref name="DoS"/><br />
| bgcolor=pink| Easy<br />
| Targeted DoS by CPU exhaustion using alerts<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-4683.html 100%]<br />
|-<br />
| '''[[CVE-2012-4684]]'''<br />
| 2012-08-24<br />
| bitcoind and Bitcoin-Qt<br />
| bgcolor=yellow| DoS<ref name="DoS"/><br />
| bgcolor=pink| Easy<br />
| Network-wide DoS using malleable signatures in alerts<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20124684 100%]<br />
|-<br />
| [[#CVE-2013-2272|CVE-2013-2272]]<br />
| 2013-01-11<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| Exposure<ref name="Exposure"/><br />
|bgcolor=pink| Easy<br />
| Remote discovery of node's wallet addresses<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132272 99.99%]<br />
|-<br />
| [[#CVE-2013-2273|CVE-2013-2273]]<br />
| 2013-01-30<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=lime| Exposure<ref name="Exposure"/><br />
|bgcolor=yellow| Easy<br />
| Predictable change output<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132273 99.99%]<br />
|-<br />
| [[#CVE-2013-2292|CVE-2013-2292]]<br />
| 2013-01-30<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=lime| Hard<br />
| A transaction that takes at least 3 minutes to verify<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132292 0%]<br />
|-<br />
| '''[[CVE-2013-2293]]'''<br />
| 2013-02-14<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Continuous hard disk seek<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132293 99.99%]<br />
|-<br />
| [[#CVE-2013-3219|CVE-2013-3219]]<br />
| 2013-03-11<br />
| bitcoind and Bitcoin-Qt 0.8.0<br />
|bgcolor=pink| Fake Conf<ref name="FakeConf"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Unenforced block protocol rule<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20133219 100%]<br />
|-<br />
| [[#CVE-2013-3220|CVE-2013-3220]]<br />
| 2013-03-11<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=lime| Hard<br />
| Inconsistent BDB lock limit interactions<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20133220 99.99%]<br />
|-<br />
| [[#BIP-0034|BIP 0034]]<br />
| 2013-03-25<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Height in coinbase<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/BIP-0034.html 100%]<br />
|-<br />
| [[#BIP-0050|BIP 0050]]<br />
| 2013-05-15<br />
| All Bitcoin clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Implicit<ref name="hardfork">This is a protocol "hard-fork" that old clients will reject as invalid and must therefore not be used.</ref><br />
| Hard fork to remove txid limit protocol rule<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?50 99.99%]<br />
|-<br />
| [[#CVE-2013-4627|CVE-2013-4627]]<br />
| 2013-06-??<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=yellow| Easy<br />
| Memory exhaustion with excess tx message data<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20134627 99%]<br />
|-<br />
| [[#CVE-2013-4165|CVE-2013-4165]]<br />
| 2013-07-20<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Theft<ref name="theft-local-timing">Local attacker could potentially determine the RPC passphrase via a timing sidechannel.</ref><br />
|bgcolor=lime| Local<br />
| Timing leak in RPC authentication<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20134165 99%]<br />
|-<br />
| [[#CVE-2013-5700|CVE-2013-5700]]<br />
| 2013-09-04<br />
| bitcoind and Bitcoin-Qt 0.8.x<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Remote p2p crash via bloom filters<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20135700 99%]<br />
|-<br />
| [[#CVE-2014-0160|CVE-2014-0160]]<br />
| 2014-04-07<br />
| Anything using OpenSSL for TLS<br />
|bgcolor=pink| Unknown<ref name="Unknown"/><br />
|bgcolor=pink| Easy<br />
| Remote memory leak via payment protocol<br />
| Unknown<br />
|-<br />
| CVE-2015-3641<br />
| 2014-07-07<br />
| bitcoind and Bitcoin-Qt prior to 0.10.2<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| (Yet) Unspecified DoS<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20135700 99.9%]<br />
|-<br />
| BIP 66<br />
| 2015-02-13<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Strict DER signatures<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?66 99%]<br />
|-<br />
| BIP 65<br />
| 2015-11-12<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: OP_CHECKLOCKTIMEVERIFY<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?65 99%]<br />
|-<br />
| BIPs 68, 112 & 113<br />
| 2016-04-11<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softforks: Rel locktime, CSV & MTP locktime<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?68 99%]<br />
|-<br />
| BIPs 141, 143 & 147<br />
| 2016-10-27<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Segwit<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?141 99%]<br />
|-<br />
| [[#CVE-2016-8889|CVE-2016-8889]]<br />
| 2016-10-27<br />
| Bitcoin Knots GUI 0.11.0 - 0.13.0<br />
|bgcolor=yellow| Exposure<br />
|bgcolor=lime| Hard<br />
| Debug console history storing sensitive info<br />
|bgcolor=lime| 100%<br />
|-<br />
| CVE-2017-9230<br />
| ?<br />
| Bitcoin<br />
| ?<br />
| ?<br />
| ASICBoost<br />
|bgcolor=pink| 0%<br />
|-<br />
| BIP 148<br />
| 2017-03-12<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Segwit UASF<br />
| ?<br />
|-<br />
| [[#CVE-2017-12842|CVE-2017-12842]]<br />
| 2018-06-09<br />
|<br />
|<br />
|<br />
| No commitment to block merkle tree depth<br />
|<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016189.html CVE-2016-10724]<br />
| 2018-07-02<br />
| bitcoind and Bitcoin-Qt prior to 0.13.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Keyholders<ref name="KeyholderEasy">Attacking requires signing with the publicly-disclosed alert key</ref><br />
| Alert memory exhaustion<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201610724 99%]<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016189.html CVE-2016-10725]<br />
| 2018-07-02<br />
| bitcoind and Bitcoin-Qt prior to 0.13.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Keyholders<ref name="KeyholderEasy">Attacking requires signing with the publicly-disclosed alert key</ref><br />
| Final alert cancellation<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201610724 99%]<br />
|-<br />
| [[#CVE-2018-17144|CVE-2018-17144]]<br />
| 2018-09-17<br />
| bitcoind and Bitcoin-Qt prior to 0.16.3<br />
|bgcolor=pink| Inflation<ref name="inflation"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Missing check for duplicate inputs<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201817144 80%]<br />
|-<br />
| [https://medium.com/@lukedashjr/cve-2018-20587-advisory-and-full-disclosure-a3105551e78b CVE-2018-20587]<br />
| 2019-02-08<br />
| Bitcoin Knots prior to 0.17.1, and all current Bitcoin Core releases<br />
|bgcolor=pink| Theft<ref name="theft-local-timing">Local attacker could potentially determine the RPC passphrase via a timing sidechannel.</ref><br />
|bgcolor=lime| Local<br />
| No alert for RPC service binding failure<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201820587 <1%]<br />
|-<br />
| [[#CVE-2017-18350|CVE-2017-18350]]<br />
| 2019-06-22<br />
| bitcoind and Bitcoin-Qt prior to 0.15.1<br />
|bgcolor=pink| Unknown<br />
|bgcolor=pink| Varies<ref>Depends on software configuration</ref><br />
| Buffer overflow from SOCKS proxy<br />
|bgcolor=yellow| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201718350 94%]<br />
|-<br />
| [[#CVE-2018-20586|CVE-2018-20586]]<br />
| 2019-06-22<br />
| bitcoind and Bitcoin-Qt prior to 0.17.1<br />
|bgcolor=lime| Deception<br />
|bgcolor=lime| RPC access<br />
| Debug log injection via unauthenticated RPC<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201820586 77%]<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-12998]<br />
| 2019-08-30<br />
| c-lightning prior to 0.7.1<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-12999]<br />
| 2019-08-30<br />
| lnd prior to 0.7<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO amount<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-13000]<br />
| 2019-08-30<br />
| eclair prior to 0.3<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO<br />
|-<br />
| [[#CVE-2020-14199|CVE-2020-14199]]<br />
| 2020-06-03<br />
| Trezor and others<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Social<ref>User must be tricked into cooperating (social engineering)</ref><br />
| Double-signing can enable unintended fees<br />
|-<br />
| [https://invdos.net/ CVE-2018-17145]<br />
| 2020-09-09<br />
| Bitcoin Core prior to 0.16.2<br>Bitcoin Knots prior to 0.16.1<br>Bcoin prior to 1.0.2<br>Btcd prior to 0.21.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| p2p memory blow-up<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201817145 87%]<br />
|-<br />
| [[#CVE-2020-26895|CVE-2020-26895]]<br />
| 2020-10-08<br />
| lnd prior to 0.10<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing low-S normalization for HTLC signatures<br />
|-<br />
| [[#CVE-2020-26896|CVE-2020-26896]]<br />
| 2020-10-08<br />
| lnd prior to 0.11<br />
|bgcolor=pink| Theft<br />
|bgcolor=yellow | Varies<ref>Depends on node configuration, only affects routable merchants, requires external knowledge of receiver's invoices and/or luck to identify receiver, only works against single-shot HTLCs (legacy or MPP)</ref><br />
| Invoice preimage extraction via forwarded HTLC<br />
|-<br />
| CVE-2020-14198<br />
| <br />
| Bitcoin Core 0.20.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Remote DoS<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?202014198 93%]<br />
|-<br />
| [[#CVE-2021-3401|CVE-2021-3401]]<br />
| 2021-02-01<br />
| Bitcoin Core GUI prior to 0.19.0<br>Bitcoin Knots GUI prior to 0.18.1<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Hard<br />
| Qt5 remote execution<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20213401 64%]<br />
|-<br />
| [[#CVE-2021-31876|CVE-2021-31876]]<br />
| 2021-05-06<br />
| Various wallets<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41591<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41592<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41593<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| BIPs 341-343<br />
| 2021-11-13<br />
| All Bitcoin nodes<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Taproot<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?343 57%]<br />
<br />
|}<br />
<br />
<references/><br />
<br />
__NOTOC__<br />
<br />
== CVE-2010-5137 ==<br />
<br />
<b>Date:</b> 2010-07-28<br />
<b>Summary:</b> OP_LSHIFT crash<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.4 || 0.3.5<br />
|}<br />
<br />
On July 28 2010, two bugs were discovered and demonstrated on the test network. One caused bitcoin to crash on some machines when processing a transaction containing an OP_LSHIFT. This was never exploited on the main network, and was fixed by Bitcoin version 0.3.5.<br />
<br />
After these bugs were discovered, many currently-unused script words were disabled for safety.<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5137 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5141 ==<br />
<br />
<b>Date:</b> 2010-07-28<br />
<b>Summary:</b> ?<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.4 || 0.3.5<br />
|}<br />
<br />
On July 28 2010, two bugs were discovered and demonstrated on the test network. One exploited a bug in the transaction handling code and allowed an attacker to spend coins that they did not own. This was never exploited on the main network, and was fixed by Bitcoin version 0.3.5.<br />
<br />
After these bugs were discovered, many currently-unused script words were disabled for safety.<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5141 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5138 ==<br />
<br />
<b>Date:</b> 2010-07-29<br />
<b>Summary:</b> Unlimited SigOp DoS<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.? || 0.3.?<br />
|}<br />
<br />
On July 29 2010, it was discovered that block [http://blockexplorer.com/block/00000000000997f9fd2fe1ee376293ef8c42ad09193a5d2086dddf8e5c426b56 71036] contained several transactions with a ton of OP_CHECKSIG commands. There should only ever be one such command. This caused every node to do extra unnecessary work, and it could have been used as a denial-of-service attack. A new version of Bitcoin was quickly released. The new version did not cause a fork on the main network, though it did cause one on the test network (where someone had played around with the attack more).<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5138 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5139 ==<br />
{{main|CVE-2010-5139}}<br />
<b>Date:</b> 2010-08-15<br />
<b>Summary:</b> Combined output overflow<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.10 || 0.3.11<br />
|}<br />
<br />
On August 15 2010, it was [http://bitcointalk.org/index.php?topic=822.0 discovered] that block 74638 contained a transaction that created over 184 billion bitcoins for two different addresses. This was possible because the code used for checking transactions before including them in a block didn't account for the case of outputs so large that they overflowed when summed. A new version was published within a few hours of the discovery. The block chain had to be forked. Although many unpatched nodes continued to build on the "bad" block chain, the "good" block chain overtook it at a block height of 74691. The bad transaction no longer exists for people using the longest chain.<br />
<br />
The block and transaction:<br />
<pre>CBlock(hash=0000000000790ab3, ver=1, hashPrevBlock=0000000000606865, hashMerkleRoot=618eba,<br />
nTime=1281891957, nBits=1c00800e, nNonce=28192719, vtx=2)<br />
CTransaction(hash=012cd8, ver=1, vin.size=1, vout.size=1, nLockTime=0)<br />
CTxIn(COutPoint(000000, -1), coinbase 040e80001c028f00)<br />
CTxOut(nValue=50.51000000, scriptPubKey=0x4F4BA55D1580F8C3A8A2C7)<br />
CTransaction(hash=1d5e51, ver=1, vin.size=1, vout.size=2, nLockTime=0)<br />
CTxIn(COutPoint(237fe8, 0), scriptSig=0xA87C02384E1F184B79C6AC)<br />
CTxOut(nValue=92233720368.54275808, scriptPubKey=OP_DUP OP_HASH160 0xB7A7)<br />
CTxOut(nValue=92233720368.54275808, scriptPubKey=OP_DUP OP_HASH160 0x1512)<br />
vMerkleTree: 012cd8 1d5e51 618eba<br />
<br />
Block hash: 0000000000790ab3f22ec756ad43b6ab569abf0bddeb97c67a6f7b1470a7ec1c<br />
Transaction hash: 1d5e512a9723cbef373b970eb52f1e9598ad67e7408077a82fdac194b65333c9</pre><br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=822.0 Discovery]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5139 US-CERT/NIST]<br />
<br />
== CVE-2010-5140 ==<br />
<br />
<b>Date:</b> 2010-09-29<br />
<b>Summary:</b> Never confirming transactions<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.12 || 0.3.13<br />
|}<br />
<br />
Around September 29, 2010, people started [https://bitcointalk.org/index.php?topic=1306.0 reporting] that their sent transactions would not confirm. This happened because people modified Bitcoin to send sub-0.01 transactions without any fees. A 0.01 fee was at that time required by the network for such transactions (essentially prohibiting them), so the transactions remained at 0 confirmations forever. This became a more serious issue because Bitcoin would send transactions using bitcoins gotten from transactions with 0 confirmations, and these resulting transactions would also never confirm. Because Bitcoin tends to prefer sending smaller coins, these invalid transactions quickly multiplied, contaminating the wallets of everyone who received them.<br />
<br />
Bitcoin was changed to only select coins with at least 1 confirmation. The remaining sub-0.01 transactions were cleared by generators who modified their version of Bitcoin to not require the micropayment fee. It took a while for everything to get cleared, though, because many of the intermediate transactions had been forgotten by the network by this point and had to be rebroadcast by the original senders.<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=1306.0 Initial reports]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5140 US-CERT/NIST]<br />
<br />
<br />
== CVE-2011-4447 ==<br />
<br />
<b>Date:</b> 2011-11-11<br />
<b>Summary:</b> Wallet non-encryption<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || 0.4.0 - 0.4.1rc6 || 0.4.1<br>0.5.0<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=51604.0 Announcement]<br />
* [https://bitcointalk.org/index.php?topic=51474.0 Finding]<br />
* [http://bitcoin.org/releases/2011/11/21/v0.5.0.html 0.5.0]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4447 US-CERT/NIST]<br />
<br />
<br />
== CVE-2012-1909 ==<br />
<br />
<b>Date:</b> 2012-03-07<br />
<b>Summary:</b> Transaction overwriting<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin protocol || Before March 15th, 2012 || BIP 30<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.4rc2<br>0.5.0rc1 - 0.5.0.4rc2<br>0.5.1rc1 - 0.5.3rc2<br>0.6.0rc1 - 0.6.0rc2 || 0.4.4<br>0.5.0.4<br>0.5.3<br>0.6.0rc3<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=67738.0 Announcement]<br />
* [https://en.bitcoin.it/wiki/BIP_0030 Fix]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=407793 Gentoo bug tracker]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1909 US-CERT/NIST]<br />
<br />
== CVE-2012-1910 ==<br />
<br />
<b>Date:</b> 2012-03-17<br />
<b>Summary:</b> Non-thread safe MingW exceptions<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind for Windows<br>Bitcoin-Qt for Windows || 0.5.0rc1 - 0.5.0.4<br>0.5.1rc1 - 0.5.3.0<br>0.6.0rc1 - 0.6.0rc3 || 0.5.0.5<br>0.5.3.1<br>0.5.4<br>0.6.0rc4<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=69120.0 Announcement]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1910 US-CERT/NIST]<br />
* [http://gavintech.blogspot.com/2012/03/full-disclosure-bitcoin-qt-on-windows.html Full disclosure]<br />
<br />
== BIP-0016 ==<br />
<br />
<b>Date:</b> 2012-04-01<br />
<b>Summary:</b> Mandatory P2SH protocol update<br />
<b>Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.4<br>0.5.0rc1 - 0.5.0.5<br>0.5.1rc1 - 0.5.3<br>0.6.0rc1 || 0.4.5<br>0.5.0.6<br>0.5.4rc1<br>0.6.0rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0016]]<br />
<br />
== CVE-2012-2459 ==<br />
<br />
<b>Date:</b> 2012-05-14<br />
<b>Summary:</b> Block hash collision (via merkle tree)<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.6rc1<br>0.5.0rc1 - 0.5.5rc1<br>0.6.0rc1 - 0.6.0.7rc1<br>0.6.1rc1 - 0.6.1rc1 || 0.4.6<br>0.5.5<br>0.6.0.7<br>0.6.1rc2<br />
|}<br />
<br />
Block hash collisions can easily be made by duplicating transactions in the merkle tree.<br />
Such a collision is invalid, but if recorded (as Bitcoin-Qt and bitcoind prior to 0.6.1 did) would prevent acceptance of the legitimate block with the same hash.<br />
This could be used to fork the blockchain, including deep double-spend attacks.<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/?topic=81749 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=415973 Gentoo bug tracker]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-2459 US-CERT/NIST]<br />
* [https://bitcointalk.org/?topic=102395 Full Disclosure]<br />
<br />
== CVE-2012-3789 ==<br />
{{main|CVE-2012-3789}}<br />
<b>Date:</b> 2012-06-20<br />
<b>Summary:</b> (Lack of) orphan txn resource limits<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.4.7rc3<br>0.5.6rc3<br>0.6.0.9rc1<br>0.6.3rc1<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-3789]]<br />
* [https://bitcointalk.org/?topic=88734 0.6.3rc1 Announcement]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-3789 US-CERT/NIST]<br />
<br />
== CVE-2012-4682 ==<br />
<br />
<b>Date:</b> <br />
<b>Summary:</b> <br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.4.7rc3<br>0.5.6rc3<br>0.6.0.9rc1<br>0.6.3rc1<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4682]]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=435216 Gentoo bug]<br />
<br />
== CVE-2012-4683 ==<br />
{{main|CVE-2012-4683}}<br />
<b>Date:</b> 2012-08-23<br />
<b>Summary:</b> Targeted DoS by CPU exhaustion using alerts<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.7.0 <br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4683]]<br />
* [https://bitcointalk.org/index.php?topic=148038.0 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=435216 Gentoo bug]<br />
<br />
== CVE-2012-4684 ==<br />
{{main|CVE-2012-4684}}<br />
<b>Date:</b> 2012-08-24<br />
<b>Summary:</b> Network-wide DoS using malleable signatures in alerts<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 - 0.6.3rc1 || 0.7.0 <br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4684]]<br />
* [https://bitcointalk.org/index.php?topic=148109.0 Announcement]<br />
<br />
== CVE-2013-2272 ==<br />
<br />
<b>Date:</b> 2013-01-11<br />
<b>Summary:</b> Remote discovery of node's wallet addresses<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.8rc4<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.10rc4<br>0.6.1rc1 - 0.6.4rc4<br>0.7.0rc1 - 0.7.2 || 0.4.9rc1<br>0.5.8rc1<br>0.6.0.11rc1<br>0.6.5rc1<br>0.7.3rc1<br />
|}<br />
<br />
=== References ===<br />
<br />
* [https://bitcointalk.org/?topic=135856 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2273 ==<br />
<br />
<b>Date:</b> 2013-01-30<br />
<b>Summary:</b> Predictable change output<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.8rc4<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.10rc4<br>0.6.1rc1 - 0.6.4rc4<br>0.7.0rc1 - 0.7.2 || 0.4.9rc1<br>0.5.8rc1<br>0.6.0.11rc1<br>0.6.5rc1<br>0.7.3rc1<br />
|}<br />
<br />
=== References ===<br />
<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2292 ==<br />
<br />
<b>Date:</b> 2013-01-30<br />
<b>Summary:</b> A transaction that takes at least 3 minutes to verify<br />
<b>Fix Deployment:</b> 0%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || All versions || No fix yet<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2013-2292]]<br />
* [https://bitcointalk.org/?topic=140078 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2293 ==<br />
{{main|CVE-2013-2293}}<br />
<b>Date:</b> 2013-02-14<br />
<b>Summary:</b> Continuous hard disk seek<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.7.3rc1 || No fix yet (0.8.0 unaffected)<br />
|}<br />
<br />
=== References ===<br />
<br />
* [[CVE-2013-2293]]<br />
* [https://bitcointalk.org/?topic=144122 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-3219 ==<br />
<br />
<b>Date:</b> 2013-03-11<br />
<b>Summary:</b> Unenforced block protocol rule<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.8.0rc1 - 0.8.0 || 0.8.1<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050|BIP 50]]<br />
<br />
== CVE-2013-3220 ==<br />
<br />
<b>Date:</b> 2013-03-11<br />
<b>Summary:</b> Inconsistent BDB lock limit interactions<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc1<br>0.5.0rc1 - 0.5.8rc1<br>0.6.0rc1 - 0.6.5rc1<br>0.7.0rc1 - 0.7.3rc1 || 0.4.9rc2<br>0.5.8rc2<br>0.6.5rc2<br>0.7.3rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050|BIP 50]]<br />
<br />
== BIP-0034 ==<br />
<br />
<b>Date:</b> 2013-03-25<br />
<b>Summary:</b> Mandatory block protocol update<br />
<b>Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.9<br>0.6.1rc1 - 0.6.3 || 0.4.8rc1<br>0.5.7rc1<br>0.6.0.10rc1<br>0.6.4rc1<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0034]]<br />
<br />
== BIP-0050 ==<br />
<br />
<b>Date:</b> 2013-05-15<br />
<b>Summary:</b> Hard fork to remove txid limit protocol rule<br />
<b>Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc1<br>0.5.0rc1 - 0.5.8rc1<br>0.6.0rc1 - 0.6.5rc1<br>0.7.0rc1 - 0.7.3rc1 || 0.4.9rc2<br>0.5.8rc2<br>0.6.5rc2<br>0.7.3rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050]]<br />
<br />
== CVE-2013-4627 ==<br />
<br />
<b>Date:</b> 2013-06-??<br />
<b>Summary:</b> Memory exhaustion with excess tx message data<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc3<br>0.5.0rc1 - 0.5.8rc3<br>0.6.0rc1 - 0.6.5rc3<br>0.7.0rc1 - 0.7.3rc3<br>0.8.0rc1 - 0.8.3 || 0.4.9rc4<br>0.5.8rc4<br>0.6.5rc4<br>0.7.3rc4<br>0.8.4<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
<br />
== CVE-2013-4165 ==<br />
<br />
<b>Date:</b> 2013-07-20<br />
<b>Summary:</b> Timing leak in RPC authentication<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc3<br>0.5.0rc1 - 0.5.8rc3<br>0.6.0rc1 - 0.6.5rc3<br>0.7.0rc1 - 0.7.3rc3<br>0.8.0rc1 - 0.8.3 || 0.4.9rc4<br>0.5.8rc4<br>0.6.5rc4<br>0.7.3rc4<br>0.8.4rc1<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=287351 Bitcoin-Qt 0.8.4 release notes]<br />
* [https://github.com/bitcoin/bitcoin/issues/2838 The initial bug report]<br />
<br />
== CVE-2013-5700 ==<br />
<br />
<b>Date:</b> 2013-09-04<br />
<b>Summary:</b> Remote p2p crash via bloom filters<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.8.0rc1 - 0.8.3 || 0.8.4rc1<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=287351 Bitcoin-Qt 0.8.4 release notes]<br />
* [https://github.com/bitcoin/bitcoin/commit/37c6389c5a0ca63ae3573440ecdfe95d28ad8f07 The fix]<br />
* [https://github.com/bitcoin/bitcoin/pull/18515 An added test]<br />
<br />
== CVE-2016-8889 ==<br />
<br />
<b>Date:</b> 2016-10-27<br />
<b>Summary:</b> Debug console history storing sensitive info<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Knots GUI || 0.11.0 - 0.13.0 || 0.13.1<br />
|}<br />
<br />
=== References ===<br />
* [https://github.com/bitcoinknots/bitcoin/blob/v0.13.1.knots20161027/doc/release-notes.md Bitcoin Knots 0.16.1.knots20161027 release notes]<br />
* [https://nvd.nist.gov/vuln/detail/CVE-2016-8889 US-CERT/NIST]<br />
<br />
== CVE-2017-12842 ==<br />
<br />
<b>Date:</b> 2018-06-09<br />
<b>Summary:</b> No commitment to block merkle tree depth<br />
<br />
=== References ===<br />
* [https://bitslog.wordpress.com/2018/06/09/leaf-node-weakness-in-bitcoin-merkle-tree-design/ Explanation by Sergio Demian Lerner]<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-February/016697.html Further elaboration by Suhas Daftuar]<br />
<br />
== CVE-2017-18350 ==<br />
<br />
<b>Date:</b> 2019-06-22<br />
<b>Summary:</b> Buffer overflow from SOCKS proxy<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.7.0rc1 - 0.15.0 || 0.15.1rc1<br />
|}<br />
<br />
=== References ===<br />
* [https://medium.com/@lukedashjr/cve-2017-18350-disclosure-fe6d695f45d5 Disclosure of details]<br />
<br />
== CVE-2018-17144 ==<br />
<br />
<b>Date:</b> 2018-09-17<br />
<b>Summary:</b> Missing check for duplicate inputs<br />
<b>Fix Deployment:</b> 31%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.14.0rc1 - 0.14.2<br>0.15.0rc1 - 0.15.1<br>0.16.0rc1 - 0.16.2 || 0.14.3<br>0.15.2<br>0.16.3<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcoincore.org/en/2018/09/20/notice/ Full disclosure by Bitcoin Core]<br />
* [https://bitcoincore.org/en/2018/09/18/release-0.16.3/ Bitcoin Core 0.16.3 release notes]<br />
* [https://github.com/bitcoinknots/bitcoin/blob/v0.16.3.knots20180918/doc/release-notes.md Bitcoin Knots 0.16.3.knots20180918 release notes]<br />
* [https://nvd.nist.gov/vuln/detail/CVE-2018-17144 US-CERT/NIST]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=666669 Gentoo bug]<br />
<br />
== CVE-2018-20586 ==<br />
<br />
<b>Date:</b> 2019-06-22<br />
<b>Summary:</b> Debug log injection via unauthenticated RPC<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.12.0rc1 - 0.17.0 || 0.17.1rc1<br />
|}<br />
<br />
== CVE-2020-14199 ==<br />
<br />
<b>Date:</b> 2020-06-03<br />
<b>Summary:</b> Double-signing can enable unintended fees<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Trezor One || || 1.9.1<br />
|-<br />
| Trezor Model T || || 2.3.1<br />
|-<br />
| ???<br />
|}<br />
<br />
=== References ===<br />
* [https://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1-9-1-and-trezor-model-t-version-2-3-1-1eba8f60f2dd Disclosure of details by Trezor team]<br />
<br />
== CVE-2020-26895 ==<br />
<br />
<b>Date:</b> 2020-10-08<br />
<b>Summary:</b> Missing low-S normalization for HTLC signatures.<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| lnd || || 0.10.0<br />
|}<br />
<br />
=== References ===<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002858.html CVE-2020-26895: LND Low-S Tx-Relay Standardness]<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002856.html Full Disclosure: Full Disclosure: CVE-2020-26895 LND "Hodl my Shitsig"]<br />
<br />
== CVE-2020-26896 ==<br />
<br />
<b>Date:</b> 2020-10-08<br />
<b>Summary:</b> Invoice preimage extraction via forwarded HTLC.<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| lnd || || 0.11.0<br />
|}<br />
<br />
=== References ===<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002857.html CVE-2020-26896: LND Invoice Preimage Extraction]<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002855.html Full Disclosure: CVE-2020-26896 LND "The (un)covert channel"]<br />
<br />
== CVE-2021-3401 ==<br />
<br />
<b>Date:</b> 2021-02-01<br />
<b>Summary:</b> Qt5 remote execution<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Core GUI || || 0.19.0<br />
|-<br />
| Bitcoin Knots GUI || || 0.18.1<br />
|}<br />
<br />
== CVE-2021-31876 ==<br />
<br />
<b>Date:</b> 2021-05-06<br />
<br />
=== References ===<br />
<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-May/018893.html Full Disclosure: CVE-2021-31876 Defect in Bitcoin Core's bip125 logic]<br />
<br />
=== References ===<br />
* [https://achow101.com/2021/02/0.18-uri-vuln URI Argument Injection Vulnerability in Bitcoin Core 0.18 and Earlier]<br />
<br />
==Definitions==<br />
<br />
A critical vulnerability is one that will have disastrous consequences if it is exploited. A serious vulnerability is one that will have serious consequences if it is exploited<ref>[http://bitcointalk.org/index.php?topic=88892.0 http://bitcointalk.org/index.php?topic=88892.0]</ref>.<br />
<br />
==See Also==<br />
<br />
* [[Changelog]]<br />
* https://blog.bitmex.com/bitcoins-consensus-forks/<br />
<br />
==References==<br />
<references /><br />
<br />
[[Category:Security]]<br />
<br />
{{Bitcoin Core documentation}}</div>Luke-jrhttps://tests.bitcoin.it/w/index.php?title=Common_Vulnerabilities_and_Exposures&diff=69028Common Vulnerabilities and Exposures2021-11-29T05:41:06Z<p>Luke-jr: Add Taproot</p>
<hr />
<div>{| class="wikitable"<br />
!style="width:16ex"| CVE<br />
! Announced !! Affects !! Severity !! Attack is... !! Flaw !! Net<br />
|-<br />
| Pre-BIP protocol changes<br />
| n/a<br />
| All Bitcoin clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Implicit<ref name="hardfork">This is a protocol "hard-fork" that old clients will reject as invalid and must therefore not be used.</ref><br />
| [[Consensus versions|Various hardforks and softforks]]<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5137|CVE-2010-5137]]<br />
| 2010-07-28<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS">Attacker can disable some functionality, for example by crashing clients</ref><br />
|bgcolor=pink| Easy<br />
| OP_LSHIFT crash<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5141|CVE-2010-5141]]<br />
| 2010-07-28<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Theft<ref name="Theft">Attacker can take coins outside known network rules</ref><br />
|bgcolor=pink| Easy<br />
| OP_RETURN could be used to spend any output.<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5138|CVE-2010-5138]]<br />
| 2010-07-29<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Unlimited SigOp DoS<br />
|bgcolor=lime| 100%<br />
|-<br />
| '''[[CVE-2010-5139]]'''<br />
| 2010-08-15<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Inflation<ref name="inflation">Attacker can create coins outside known network rules</ref><br />
|bgcolor=pink| Easy<br />
| Combined output overflow<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2010-5140|CVE-2010-5140]]<br />
| 2010-09-29<br />
| wxBitcoin and bitcoind<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Never confirming transactions<br />
|bgcolor=lime| 100%<br />
|-<br />
| [[#CVE-2011-4447|CVE-2011-4447]]<br />
| 2011-11-11<br />
| wxBitcoin and bitcoind<br />
|bgcolor=pink| Exposure<ref name="Exposure">Attacker can access user data outside known acceptable methods</ref><br />
|bgcolor=lime| Hard<br />
| Wallet non-encryption<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2011-4447.html 100%]<br />
|-<br />
| [[#CVE-2012-1909|CVE-2012-1909]]<br />
| 2012-03-07<br />
| Bitcoin protocol and all clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit">Attacker can create multiple views of the network, enabling [[double-spending]] with over 1 confirmation</ref><br />
|bgcolor=lime| Very hard<br />
| Transaction overwriting<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-1909.html 100%]<br />
|-<br />
| [[#CVE-2012-1910|CVE-2012-1910]]<br />
| 2012-03-17<br />
| bitcoind & Bitcoin-Qt for Windows<br />
|bgcolor=pink| Unknown<ref name="Unknown">Extent of possible abuse is unknown</ref><br />
|bgcolor=lime| Hard<br />
| Non-thread safe MingW exceptions<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-1910.html 100%]<br />
|-<br />
| [[#BIP-0016|BIP 0016]]<br />
| 2012-04-01<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: P2SH<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/BIP-0016.html 100%]<br />
|-<br />
| [[#CVE-2012-2459|CVE-2012-2459]]<br />
| 2012-05-14<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Easy<br />
| Block hash collision (via merkle root)<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-2459.html 100%]<br />
<!--<br />
|-<br />
| [[#CVE-2012-3584|CVE-2012-3584]]<br />
| 2012-06-16<br />
| Bitcoin p2p protocol<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Poor miner incentives<br />
| (no fix)<br />
--><br />
|-<br />
| '''[[CVE-2012-3789]]'''<br />
| 2012-06-20<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| (Lack of) orphan txn resource limits<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20123789 100%]<br />
|-<br />
| [[#CVE-2012-4682|CVE-2012-4682]]<br />
| <br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
| <br />
| <br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-4682.html 100%]<br />
|-<br />
| '''[[CVE-2012-4683]]'''<br />
| 2012-08-23<br />
| bitcoind and Bitcoin-Qt<br />
| bgcolor=yellow| DoS<ref name="DoS"/><br />
| bgcolor=pink| Easy<br />
| Targeted DoS by CPU exhaustion using alerts<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/CVE-2012-4683.html 100%]<br />
|-<br />
| '''[[CVE-2012-4684]]'''<br />
| 2012-08-24<br />
| bitcoind and Bitcoin-Qt<br />
| bgcolor=yellow| DoS<ref name="DoS"/><br />
| bgcolor=pink| Easy<br />
| Network-wide DoS using malleable signatures in alerts<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20124684 100%]<br />
|-<br />
| [[#CVE-2013-2272|CVE-2013-2272]]<br />
| 2013-01-11<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| Exposure<ref name="Exposure"/><br />
|bgcolor=pink| Easy<br />
| Remote discovery of node's wallet addresses<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132272 99.99%]<br />
|-<br />
| [[#CVE-2013-2273|CVE-2013-2273]]<br />
| 2013-01-30<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=lime| Exposure<ref name="Exposure"/><br />
|bgcolor=yellow| Easy<br />
| Predictable change output<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132273 99.99%]<br />
|-<br />
| [[#CVE-2013-2292|CVE-2013-2292]]<br />
| 2013-01-30<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=lime| Hard<br />
| A transaction that takes at least 3 minutes to verify<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132292 0%]<br />
|-<br />
| '''[[CVE-2013-2293]]'''<br />
| 2013-02-14<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Continuous hard disk seek<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20132293 99.99%]<br />
|-<br />
| [[#CVE-2013-3219|CVE-2013-3219]]<br />
| 2013-03-11<br />
| bitcoind and Bitcoin-Qt 0.8.0<br />
|bgcolor=pink| Fake Conf<ref name="FakeConf"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Unenforced block protocol rule<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20133219 100%]<br />
|-<br />
| [[#CVE-2013-3220|CVE-2013-3220]]<br />
| 2013-03-11<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=lime| Hard<br />
| Inconsistent BDB lock limit interactions<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20133220 99.99%]<br />
|-<br />
| [[#BIP-0034|BIP 0034]]<br />
| 2013-03-25<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Height in coinbase<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/BIP-0034.html 100%]<br />
|-<br />
| [[#BIP-0050|BIP 0050]]<br />
| 2013-05-15<br />
| All Bitcoin clients<br />
|bgcolor=pink| Netsplit<ref name="Netsplit"/><br />
|bgcolor=pink| Implicit<ref name="hardfork">This is a protocol "hard-fork" that old clients will reject as invalid and must therefore not be used.</ref><br />
| Hard fork to remove txid limit protocol rule<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?50 99.99%]<br />
|-<br />
| [[#CVE-2013-4627|CVE-2013-4627]]<br />
| 2013-06-??<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=yellow| Easy<br />
| Memory exhaustion with excess tx message data<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20134627 99%]<br />
|-<br />
| [[#CVE-2013-4165|CVE-2013-4165]]<br />
| 2013-07-20<br />
| bitcoind and Bitcoin-Qt<br />
|bgcolor=pink| Theft<ref name="theft-local-timing">Local attacker could potentially determine the RPC passphrase via a timing sidechannel.</ref><br />
|bgcolor=lime| Local<br />
| Timing leak in RPC authentication<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20134165 99%]<br />
|-<br />
| [[#CVE-2013-5700|CVE-2013-5700]]<br />
| 2013-09-04<br />
| bitcoind and Bitcoin-Qt 0.8.x<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Remote p2p crash via bloom filters<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20135700 99%]<br />
|-<br />
| [[#CVE-2014-0160|CVE-2014-0160]]<br />
| 2014-04-07<br />
| Anything using OpenSSL for TLS<br />
|bgcolor=pink| Unknown<ref name="Unknown"/><br />
|bgcolor=pink| Easy<br />
| Remote memory leak via payment protocol<br />
| Unknown<br />
|-<br />
| CVE-2015-3641<br />
| 2014-07-07<br />
| bitcoind and Bitcoin-Qt prior to 0.10.2<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| (Yet) Unspecified DoS<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20135700 99.9%]<br />
|-<br />
| BIP 66<br />
| 2015-02-13<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Strict DER signatures<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?66 99%]<br />
|-<br />
| BIP 65<br />
| 2015-11-12<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: OP_CHECKLOCKTIMEVERIFY<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?65 99%]<br />
|-<br />
| BIPs 68, 112 & 113<br />
| 2016-04-11<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softforks: Rel locktime, CSV & MTP locktime<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?68 99%]<br />
|-<br />
| BIPs 141, 143 & 147<br />
| 2016-10-27<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Segwit<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?141 99%]<br />
|-<br />
| [[#CVE-2016-8889|CVE-2016-8889]]<br />
| 2016-10-27<br />
| Bitcoin Knots GUI 0.11.0 - 0.13.0<br />
|bgcolor=yellow| Exposure<br />
|bgcolor=lime| Hard<br />
| Debug console history storing sensitive info<br />
|bgcolor=lime| 100%<br />
|-<br />
| CVE-2017-9230<br />
| ?<br />
| Bitcoin<br />
| ?<br />
| ?<br />
| ASICBoost<br />
|bgcolor=pink| 0%<br />
|-<br />
| BIP 148<br />
| 2017-03-12<br />
| All Bitcoin clients<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Segwit UASF<br />
| ?<br />
|-<br />
| [[#CVE-2017-12842|CVE-2017-12842]]<br />
| 2018-06-09<br />
|<br />
|<br />
|<br />
| No commitment to block merkle tree depth<br />
|<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016189.html CVE-2016-10724]<br />
| 2018-07-02<br />
| bitcoind and Bitcoin-Qt prior to 0.13.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Keyholders<ref name="KeyholderEasy">Attacking requires signing with the publicly-disclosed alert key</ref><br />
| Alert memory exhaustion<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201610724 99%]<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-July/016189.html CVE-2016-10725]<br />
| 2018-07-02<br />
| bitcoind and Bitcoin-Qt prior to 0.13.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Keyholders<ref name="KeyholderEasy">Attacking requires signing with the publicly-disclosed alert key</ref><br />
| Final alert cancellation<br />
|bgcolor=lime| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201610724 99%]<br />
|-<br />
| [[#CVE-2018-17144|CVE-2018-17144]]<br />
| 2018-09-17<br />
| bitcoind and Bitcoin-Qt prior to 0.16.3<br />
|bgcolor=pink| Inflation<ref name="inflation"/><br />
|bgcolor=yellow| Miners<ref name="MinerEasy"/><br />
| Missing check for duplicate inputs<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201817144 80%]<br />
|-<br />
| [https://medium.com/@lukedashjr/cve-2018-20587-advisory-and-full-disclosure-a3105551e78b CVE-2018-20587]<br />
| 2019-02-08<br />
| Bitcoin Knots prior to 0.17.1, and all current Bitcoin Core releases<br />
|bgcolor=pink| Theft<ref name="theft-local-timing">Local attacker could potentially determine the RPC passphrase via a timing sidechannel.</ref><br />
|bgcolor=lime| Local<br />
| No alert for RPC service binding failure<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201820587 <1%]<br />
|-<br />
| [[#CVE-2017-18350|CVE-2017-18350]]<br />
| 2019-06-22<br />
| bitcoind and Bitcoin-Qt prior to 0.15.1<br />
|bgcolor=pink| Unknown<br />
|bgcolor=pink| Varies<ref>Depends on software configuration</ref><br />
| Buffer overflow from SOCKS proxy<br />
|bgcolor=yellow| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201718350 94%]<br />
|-<br />
| [[#CVE-2018-20586|CVE-2018-20586]]<br />
| 2019-06-22<br />
| bitcoind and Bitcoin-Qt prior to 0.17.1<br />
|bgcolor=lime| Deception<br />
|bgcolor=lime| RPC access<br />
| Debug log injection via unauthenticated RPC<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201820586 77%]<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-12998]<br />
| 2019-08-30<br />
| c-lightning prior to 0.7.1<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-12999]<br />
| 2019-08-30<br />
| lnd prior to 0.7<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO amount<br />
|-<br />
| [https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-September/002174.html CVE-2019-13000]<br />
| 2019-08-30<br />
| eclair prior to 0.3<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing check of channel funding UTXO<br />
|-<br />
| [[#CVE-2020-14199|CVE-2020-14199]]<br />
| 2020-06-03<br />
| Trezor and others<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Social<ref>User must be tricked into cooperating (social engineering)</ref><br />
| Double-signing can enable unintended fees<br />
|-<br />
| [https://invdos.net/ CVE-2018-17145]<br />
| 2020-09-09<br />
| Bitcoin Core prior to 0.16.2<br>Bitcoin Knots prior to 0.16.1<br>Bcoin prior to 1.0.2<br>Btcd prior to 0.21.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| p2p memory blow-up<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?201817145 87%]<br />
|-<br />
| [[#CVE-2020-26895|CVE-2020-26895]]<br />
| 2020-10-08<br />
| lnd prior to 0.10<br />
|bgcolor=pink| Theft<br />
|bgcolor=pink| Easy<br />
| Missing low-S normalization for HTLC signatures<br />
|-<br />
| [[#CVE-2020-26896|CVE-2020-26896]]<br />
| 2020-10-08<br />
| lnd prior to 0.11<br />
|bgcolor=pink| Theft<br />
|bgcolor=yellow | Varies<ref>Depends on node configuration, only affects routable merchants, requires external knowledge of receiver's invoices and/or luck to identify receiver, only works against single-shot HTLCs (legacy or MPP)</ref><br />
| Invoice preimage extraction via forwarded HTLC<br />
|-<br />
| CVE-2020-14198<br />
| <br />
| Bitcoin Core 0.20.0<br />
|bgcolor=yellow| DoS<ref name="DoS"/><br />
|bgcolor=pink| Easy<br />
| Remote DoS<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?202014198 93%]<br />
|-<br />
| [[#CVE-2021-3401|CVE-2021-3401]]<br />
| 2021-02-01<br />
| Bitcoin Core GUI prior to 0.19.0<br>Bitcoin Knots GUI prior to 0.18.1<br />
|bgcolor=pink| Theft<br />
|bgcolor=lime| Hard<br />
| Qt5 remote execution<br />
|bgcolor=pink| [http://luke.dashjr.org/programs/bitcoin/files/charts/security.html?20213401 64%]<br />
|-<br />
| [[#CVE-2021-31876|CVE-2021-31876]]<br />
| 2021-05-06<br />
| Various wallets<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41591<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41592<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| CVE-2021-41593<br />
| 2021-10-04<br />
| Lightning software<br />
|<br />
|<br />
|<br />
|-<br />
| BIPs 341-343<br />
| 2021-11-13<br />
| All Bitcoin nodes<br />
|bgcolor=yellow| Fake Conf<ref name="FakeConf">Attacker can double-spend with 1 confirmation</ref><br />
|bgcolor=yellow| Miners<ref name="MinerEasy">Attacking requires mining block(s)</ref><br />
| Softfork: Taproot<br />
| ?<br />
|}<br />
<br />
<references/><br />
<br />
__NOTOC__<br />
<br />
== CVE-2010-5137 ==<br />
<br />
<b>Date:</b> 2010-07-28<br />
<b>Summary:</b> OP_LSHIFT crash<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.4 || 0.3.5<br />
|}<br />
<br />
On July 28 2010, two bugs were discovered and demonstrated on the test network. One caused bitcoin to crash on some machines when processing a transaction containing an OP_LSHIFT. This was never exploited on the main network, and was fixed by Bitcoin version 0.3.5.<br />
<br />
After these bugs were discovered, many currently-unused script words were disabled for safety.<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5137 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5141 ==<br />
<br />
<b>Date:</b> 2010-07-28<br />
<b>Summary:</b> ?<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.4 || 0.3.5<br />
|}<br />
<br />
On July 28 2010, two bugs were discovered and demonstrated on the test network. One exploited a bug in the transaction handling code and allowed an attacker to spend coins that they did not own. This was never exploited on the main network, and was fixed by Bitcoin version 0.3.5.<br />
<br />
After these bugs were discovered, many currently-unused script words were disabled for safety.<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5141 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5138 ==<br />
<br />
<b>Date:</b> 2010-07-29<br />
<b>Summary:</b> Unlimited SigOp DoS<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.? || 0.3.?<br />
|}<br />
<br />
On July 29 2010, it was discovered that block [http://blockexplorer.com/block/00000000000997f9fd2fe1ee376293ef8c42ad09193a5d2086dddf8e5c426b56 71036] contained several transactions with a ton of OP_CHECKSIG commands. There should only ever be one such command. This caused every node to do extra unnecessary work, and it could have been used as a denial-of-service attack. A new version of Bitcoin was quickly released. The new version did not cause a fork on the main network, though it did cause one on the test network (where someone had played around with the attack more).<br />
<br />
=== References ===<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5138 US-CERT/NIST]<br />
<br />
<br />
== CVE-2010-5139 ==<br />
{{main|CVE-2010-5139}}<br />
<b>Date:</b> 2010-08-15<br />
<b>Summary:</b> Combined output overflow<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.10 || 0.3.11<br />
|}<br />
<br />
On August 15 2010, it was [http://bitcointalk.org/index.php?topic=822.0 discovered] that block 74638 contained a transaction that created over 184 billion bitcoins for two different addresses. This was possible because the code used for checking transactions before including them in a block didn't account for the case of outputs so large that they overflowed when summed. A new version was published within a few hours of the discovery. The block chain had to be forked. Although many unpatched nodes continued to build on the "bad" block chain, the "good" block chain overtook it at a block height of 74691. The bad transaction no longer exists for people using the longest chain.<br />
<br />
The block and transaction:<br />
<pre>CBlock(hash=0000000000790ab3, ver=1, hashPrevBlock=0000000000606865, hashMerkleRoot=618eba,<br />
nTime=1281891957, nBits=1c00800e, nNonce=28192719, vtx=2)<br />
CTransaction(hash=012cd8, ver=1, vin.size=1, vout.size=1, nLockTime=0)<br />
CTxIn(COutPoint(000000, -1), coinbase 040e80001c028f00)<br />
CTxOut(nValue=50.51000000, scriptPubKey=0x4F4BA55D1580F8C3A8A2C7)<br />
CTransaction(hash=1d5e51, ver=1, vin.size=1, vout.size=2, nLockTime=0)<br />
CTxIn(COutPoint(237fe8, 0), scriptSig=0xA87C02384E1F184B79C6AC)<br />
CTxOut(nValue=92233720368.54275808, scriptPubKey=OP_DUP OP_HASH160 0xB7A7)<br />
CTxOut(nValue=92233720368.54275808, scriptPubKey=OP_DUP OP_HASH160 0x1512)<br />
vMerkleTree: 012cd8 1d5e51 618eba<br />
<br />
Block hash: 0000000000790ab3f22ec756ad43b6ab569abf0bddeb97c67a6f7b1470a7ec1c<br />
Transaction hash: 1d5e512a9723cbef373b970eb52f1e9598ad67e7408077a82fdac194b65333c9</pre><br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=822.0 Discovery]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5139 US-CERT/NIST]<br />
<br />
== CVE-2010-5140 ==<br />
<br />
<b>Date:</b> 2010-09-29<br />
<b>Summary:</b> Never confirming transactions<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || * - 0.3.12 || 0.3.13<br />
|}<br />
<br />
Around September 29, 2010, people started [https://bitcointalk.org/index.php?topic=1306.0 reporting] that their sent transactions would not confirm. This happened because people modified Bitcoin to send sub-0.01 transactions without any fees. A 0.01 fee was at that time required by the network for such transactions (essentially prohibiting them), so the transactions remained at 0 confirmations forever. This became a more serious issue because Bitcoin would send transactions using bitcoins gotten from transactions with 0 confirmations, and these resulting transactions would also never confirm. Because Bitcoin tends to prefer sending smaller coins, these invalid transactions quickly multiplied, contaminating the wallets of everyone who received them.<br />
<br />
Bitcoin was changed to only select coins with at least 1 confirmation. The remaining sub-0.01 transactions were cleared by generators who modified their version of Bitcoin to not require the micropayment fee. It took a while for everything to get cleared, though, because many of the intermediate transactions had been forgotten by the network by this point and had to be rebroadcast by the original senders.<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=1306.0 Initial reports]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5140 US-CERT/NIST]<br />
<br />
<br />
== CVE-2011-4447 ==<br />
<br />
<b>Date:</b> 2011-11-11<br />
<b>Summary:</b> Wallet non-encryption<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind<br>wxBitcoin || 0.4.0 - 0.4.1rc6 || 0.4.1<br>0.5.0<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=51604.0 Announcement]<br />
* [https://bitcointalk.org/index.php?topic=51474.0 Finding]<br />
* [http://bitcoin.org/releases/2011/11/21/v0.5.0.html 0.5.0]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-4447 US-CERT/NIST]<br />
<br />
<br />
== CVE-2012-1909 ==<br />
<br />
<b>Date:</b> 2012-03-07<br />
<b>Summary:</b> Transaction overwriting<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin protocol || Before March 15th, 2012 || BIP 30<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.4rc2<br>0.5.0rc1 - 0.5.0.4rc2<br>0.5.1rc1 - 0.5.3rc2<br>0.6.0rc1 - 0.6.0rc2 || 0.4.4<br>0.5.0.4<br>0.5.3<br>0.6.0rc3<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=67738.0 Announcement]<br />
* [https://en.bitcoin.it/wiki/BIP_0030 Fix]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=407793 Gentoo bug tracker]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1909 US-CERT/NIST]<br />
<br />
== CVE-2012-1910 ==<br />
<br />
<b>Date:</b> 2012-03-17<br />
<b>Summary:</b> Non-thread safe MingW exceptions<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| bitcoind for Windows<br>Bitcoin-Qt for Windows || 0.5.0rc1 - 0.5.0.4<br>0.5.1rc1 - 0.5.3.0<br>0.6.0rc1 - 0.6.0rc3 || 0.5.0.5<br>0.5.3.1<br>0.5.4<br>0.6.0rc4<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=69120.0 Announcement]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1910 US-CERT/NIST]<br />
* [http://gavintech.blogspot.com/2012/03/full-disclosure-bitcoin-qt-on-windows.html Full disclosure]<br />
<br />
== BIP-0016 ==<br />
<br />
<b>Date:</b> 2012-04-01<br />
<b>Summary:</b> Mandatory P2SH protocol update<br />
<b>Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.4<br>0.5.0rc1 - 0.5.0.5<br>0.5.1rc1 - 0.5.3<br>0.6.0rc1 || 0.4.5<br>0.5.0.6<br>0.5.4rc1<br>0.6.0rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0016]]<br />
<br />
== CVE-2012-2459 ==<br />
<br />
<b>Date:</b> 2012-05-14<br />
<b>Summary:</b> Block hash collision (via merkle tree)<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.6rc1<br>0.5.0rc1 - 0.5.5rc1<br>0.6.0rc1 - 0.6.0.7rc1<br>0.6.1rc1 - 0.6.1rc1 || 0.4.6<br>0.5.5<br>0.6.0.7<br>0.6.1rc2<br />
|}<br />
<br />
Block hash collisions can easily be made by duplicating transactions in the merkle tree.<br />
Such a collision is invalid, but if recorded (as Bitcoin-Qt and bitcoind prior to 0.6.1 did) would prevent acceptance of the legitimate block with the same hash.<br />
This could be used to fork the blockchain, including deep double-spend attacks.<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/?topic=81749 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=415973 Gentoo bug tracker]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-2459 US-CERT/NIST]<br />
* [https://bitcointalk.org/?topic=102395 Full Disclosure]<br />
<br />
== CVE-2012-3789 ==<br />
{{main|CVE-2012-3789}}<br />
<b>Date:</b> 2012-06-20<br />
<b>Summary:</b> (Lack of) orphan txn resource limits<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.4.7rc3<br>0.5.6rc3<br>0.6.0.9rc1<br>0.6.3rc1<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-3789]]<br />
* [https://bitcointalk.org/?topic=88734 0.6.3rc1 Announcement]<br />
* [http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-3789 US-CERT/NIST]<br />
<br />
== CVE-2012-4682 ==<br />
<br />
<b>Date:</b> <br />
<b>Summary:</b> <br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.4.7rc3<br>0.5.6rc3<br>0.6.0.9rc1<br>0.6.3rc1<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4682]]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=435216 Gentoo bug]<br />
<br />
== CVE-2012-4683 ==<br />
{{main|CVE-2012-4683}}<br />
<b>Date:</b> 2012-08-23<br />
<b>Summary:</b> Targeted DoS by CPU exhaustion using alerts<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 || 0.7.0 <br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4683]]<br />
* [https://bitcointalk.org/index.php?topic=148038.0 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=435216 Gentoo bug]<br />
<br />
== CVE-2012-4684 ==<br />
{{main|CVE-2012-4684}}<br />
<b>Date:</b> 2012-08-24<br />
<b>Summary:</b> Network-wide DoS using malleable signatures in alerts<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7rc2<br>0.5.0rc1 - 0.5.6rc2<br>0.6.0rc1 - 0.6.0.8rc2<br>0.6.1rc1 - 0.6.2.2 - 0.6.3rc1 || 0.7.0 <br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2012-4684]]<br />
* [https://bitcointalk.org/index.php?topic=148109.0 Announcement]<br />
<br />
== CVE-2013-2272 ==<br />
<br />
<b>Date:</b> 2013-01-11<br />
<b>Summary:</b> Remote discovery of node's wallet addresses<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.8rc4<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.10rc4<br>0.6.1rc1 - 0.6.4rc4<br>0.7.0rc1 - 0.7.2 || 0.4.9rc1<br>0.5.8rc1<br>0.6.0.11rc1<br>0.6.5rc1<br>0.7.3rc1<br />
|}<br />
<br />
=== References ===<br />
<br />
* [https://bitcointalk.org/?topic=135856 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2273 ==<br />
<br />
<b>Date:</b> 2013-01-30<br />
<b>Summary:</b> Predictable change output<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.8rc4<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.10rc4<br>0.6.1rc1 - 0.6.4rc4<br>0.7.0rc1 - 0.7.2 || 0.4.9rc1<br>0.5.8rc1<br>0.6.0.11rc1<br>0.6.5rc1<br>0.7.3rc1<br />
|}<br />
<br />
=== References ===<br />
<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2292 ==<br />
<br />
<b>Date:</b> 2013-01-30<br />
<b>Summary:</b> A transaction that takes at least 3 minutes to verify<br />
<b>Fix Deployment:</b> 0%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || All versions || No fix yet<br />
|}<br />
<br />
=== References ===<br />
* [[CVE-2013-2292]]<br />
* [https://bitcointalk.org/?topic=140078 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-2293 ==<br />
{{main|CVE-2013-2293}}<br />
<b>Date:</b> 2013-02-14<br />
<b>Summary:</b> Continuous hard disk seek<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.7.3rc1 || No fix yet (0.8.0 unaffected)<br />
|}<br />
<br />
=== References ===<br />
<br />
* [[CVE-2013-2293]]<br />
* [https://bitcointalk.org/?topic=144122 Announcement]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=462046 Gentoo bug]<br />
<br />
== CVE-2013-3219 ==<br />
<br />
<b>Date:</b> 2013-03-11<br />
<b>Summary:</b> Unenforced block protocol rule<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.8.0rc1 - 0.8.0 || 0.8.1<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050|BIP 50]]<br />
<br />
== CVE-2013-3220 ==<br />
<br />
<b>Date:</b> 2013-03-11<br />
<b>Summary:</b> Inconsistent BDB lock limit interactions<br />
<b>Fix Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc1<br>0.5.0rc1 - 0.5.8rc1<br>0.6.0rc1 - 0.6.5rc1<br>0.7.0rc1 - 0.7.3rc1 || 0.4.9rc2<br>0.5.8rc2<br>0.6.5rc2<br>0.7.3rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050|BIP 50]]<br />
<br />
== BIP-0034 ==<br />
<br />
<b>Date:</b> 2013-03-25<br />
<b>Summary:</b> Mandatory block protocol update<br />
<b>Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.7<br>0.5.0rc1 - 0.5.7<br>0.6.0rc1 - 0.6.0.9<br>0.6.1rc1 - 0.6.3 || 0.4.8rc1<br>0.5.7rc1<br>0.6.0.10rc1<br>0.6.4rc1<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0034]]<br />
<br />
== BIP-0050 ==<br />
<br />
<b>Date:</b> 2013-05-15<br />
<b>Summary:</b> Hard fork to remove txid limit protocol rule<br />
<b>Deployment:</b> 99.99%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc1<br>0.5.0rc1 - 0.5.8rc1<br>0.6.0rc1 - 0.6.5rc1<br>0.7.0rc1 - 0.7.3rc1 || 0.4.9rc2<br>0.5.8rc2<br>0.6.5rc2<br>0.7.3rc2<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [[BIP 0050]]<br />
<br />
== CVE-2013-4627 ==<br />
<br />
<b>Date:</b> 2013-06-??<br />
<b>Summary:</b> Memory exhaustion with excess tx message data<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc3<br>0.5.0rc1 - 0.5.8rc3<br>0.6.0rc1 - 0.6.5rc3<br>0.7.0rc1 - 0.7.3rc3<br>0.8.0rc1 - 0.8.3 || 0.4.9rc4<br>0.5.8rc4<br>0.6.5rc4<br>0.7.3rc4<br>0.8.4<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
<br />
== CVE-2013-4165 ==<br />
<br />
<b>Date:</b> 2013-07-20<br />
<b>Summary:</b> Timing leak in RPC authentication<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || * - 0.4.9rc3<br>0.5.0rc1 - 0.5.8rc3<br>0.6.0rc1 - 0.6.5rc3<br>0.7.0rc1 - 0.7.3rc3<br>0.8.0rc1 - 0.8.3 || 0.4.9rc4<br>0.5.8rc4<br>0.6.5rc4<br>0.7.3rc4<br>0.8.4rc1<br />
|-<br />
| wxBitcoin || ALL || NONE<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=287351 Bitcoin-Qt 0.8.4 release notes]<br />
* [https://github.com/bitcoin/bitcoin/issues/2838 The initial bug report]<br />
<br />
== CVE-2013-5700 ==<br />
<br />
<b>Date:</b> 2013-09-04<br />
<b>Summary:</b> Remote p2p crash via bloom filters<br />
<b>Fix Deployment:</b> 99.9%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.8.0rc1 - 0.8.3 || 0.8.4rc1<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcointalk.org/index.php?topic=287351 Bitcoin-Qt 0.8.4 release notes]<br />
* [https://github.com/bitcoin/bitcoin/commit/37c6389c5a0ca63ae3573440ecdfe95d28ad8f07 The fix]<br />
* [https://github.com/bitcoin/bitcoin/pull/18515 An added test]<br />
<br />
== CVE-2016-8889 ==<br />
<br />
<b>Date:</b> 2016-10-27<br />
<b>Summary:</b> Debug console history storing sensitive info<br />
<b>Fix Deployment:</b> 100%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Knots GUI || 0.11.0 - 0.13.0 || 0.13.1<br />
|}<br />
<br />
=== References ===<br />
* [https://github.com/bitcoinknots/bitcoin/blob/v0.13.1.knots20161027/doc/release-notes.md Bitcoin Knots 0.16.1.knots20161027 release notes]<br />
* [https://nvd.nist.gov/vuln/detail/CVE-2016-8889 US-CERT/NIST]<br />
<br />
== CVE-2017-12842 ==<br />
<br />
<b>Date:</b> 2018-06-09<br />
<b>Summary:</b> No commitment to block merkle tree depth<br />
<br />
=== References ===<br />
* [https://bitslog.wordpress.com/2018/06/09/leaf-node-weakness-in-bitcoin-merkle-tree-design/ Explanation by Sergio Demian Lerner]<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-February/016697.html Further elaboration by Suhas Daftuar]<br />
<br />
== CVE-2017-18350 ==<br />
<br />
<b>Date:</b> 2019-06-22<br />
<b>Summary:</b> Buffer overflow from SOCKS proxy<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.7.0rc1 - 0.15.0 || 0.15.1rc1<br />
|}<br />
<br />
=== References ===<br />
* [https://medium.com/@lukedashjr/cve-2017-18350-disclosure-fe6d695f45d5 Disclosure of details]<br />
<br />
== CVE-2018-17144 ==<br />
<br />
<b>Date:</b> 2018-09-17<br />
<b>Summary:</b> Missing check for duplicate inputs<br />
<b>Fix Deployment:</b> 31%<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.14.0rc1 - 0.14.2<br>0.15.0rc1 - 0.15.1<br>0.16.0rc1 - 0.16.2 || 0.14.3<br>0.15.2<br>0.16.3<br />
|}<br />
<br />
=== References ===<br />
* [https://bitcoincore.org/en/2018/09/20/notice/ Full disclosure by Bitcoin Core]<br />
* [https://bitcoincore.org/en/2018/09/18/release-0.16.3/ Bitcoin Core 0.16.3 release notes]<br />
* [https://github.com/bitcoinknots/bitcoin/blob/v0.16.3.knots20180918/doc/release-notes.md Bitcoin Knots 0.16.3.knots20180918 release notes]<br />
* [https://nvd.nist.gov/vuln/detail/CVE-2018-17144 US-CERT/NIST]<br />
* [https://bugs.gentoo.org/show_bug.cgi?id=666669 Gentoo bug]<br />
<br />
== CVE-2018-20586 ==<br />
<br />
<b>Date:</b> 2019-06-22<br />
<b>Summary:</b> Debug log injection via unauthenticated RPC<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin-Qt<br>bitcoind || 0.12.0rc1 - 0.17.0 || 0.17.1rc1<br />
|}<br />
<br />
== CVE-2020-14199 ==<br />
<br />
<b>Date:</b> 2020-06-03<br />
<b>Summary:</b> Double-signing can enable unintended fees<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Trezor One || || 1.9.1<br />
|-<br />
| Trezor Model T || || 2.3.1<br />
|-<br />
| ???<br />
|}<br />
<br />
=== References ===<br />
* [https://blog.trezor.io/details-of-firmware-updates-for-trezor-one-version-1-9-1-and-trezor-model-t-version-2-3-1-1eba8f60f2dd Disclosure of details by Trezor team]<br />
<br />
== CVE-2020-26895 ==<br />
<br />
<b>Date:</b> 2020-10-08<br />
<b>Summary:</b> Missing low-S normalization for HTLC signatures.<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| lnd || || 0.10.0<br />
|}<br />
<br />
=== References ===<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002858.html CVE-2020-26895: LND Low-S Tx-Relay Standardness]<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002856.html Full Disclosure: Full Disclosure: CVE-2020-26895 LND "Hodl my Shitsig"]<br />
<br />
== CVE-2020-26896 ==<br />
<br />
<b>Date:</b> 2020-10-08<br />
<b>Summary:</b> Invoice preimage extraction via forwarded HTLC.<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| lnd || || 0.11.0<br />
|}<br />
<br />
=== References ===<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002857.html CVE-2020-26896: LND Invoice Preimage Extraction]<br />
* [https://lists.linuxfoundation.org/pipermail/lightning-dev/2020-October/002855.html Full Disclosure: CVE-2020-26896 LND "The (un)covert channel"]<br />
<br />
== CVE-2021-3401 ==<br />
<br />
<b>Date:</b> 2021-02-01<br />
<b>Summary:</b> Qt5 remote execution<br />
<br />
{| class='wikitable'<br />
!colspan='2'| Affected !! Fix<br />
|-<br />
| Bitcoin Core GUI || || 0.19.0<br />
|-<br />
| Bitcoin Knots GUI || || 0.18.1<br />
|}<br />
<br />
== CVE-2021-31876 ==<br />
<br />
<b>Date:</b> 2021-05-06<br />
<br />
=== References ===<br />
<br />
* [https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-May/018893.html Full Disclosure: CVE-2021-31876 Defect in Bitcoin Core's bip125 logic]<br />
<br />
=== References ===<br />
* [https://achow101.com/2021/02/0.18-uri-vuln URI Argument Injection Vulnerability in Bitcoin Core 0.18 and Earlier]<br />
<br />
==Definitions==<br />
<br />
A critical vulnerability is one that will have disastrous consequences if it is exploited. A serious vulnerability is one that will have serious consequences if it is exploited<ref>[http://bitcointalk.org/index.php?topic=88892.0 http://bitcointalk.org/index.php?topic=88892.0]</ref>.<br />
<br />
==See Also==<br />
<br />
* [[Changelog]]<br />
* https://blog.bitmex.com/bitcoins-consensus-forks/<br />
<br />
==References==<br />
<references /><br />
<br />
[[Category:Security]]<br />
<br />
{{Bitcoin Core documentation}}</div>Luke-jr