<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Luzius</id>
	<title>Bitcoin Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.bitcoin.it/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Luzius"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/wiki/Special:Contributions/Luzius"/>
	<updated>2026-04-29T01:47:55Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Scalability_FAQ&amp;diff=60192</id>
		<title>Scalability FAQ</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Scalability_FAQ&amp;diff=60192"/>
		<updated>2016-01-26T10:43:33Z</updated>

		<summary type="html">&lt;p&gt;Luzius: More detailed explanation of the fee market, clarifying note on validation effort&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Answers to commonly-asked questions and concerns about scaling Bitcoin, including “level 1” solutions such as increasing the block size and “level 2” solutions such as the proposed Lightning network.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
Questions about how Bitcoin currently works (related to scaling) as well as questions about the technical terminology related to the scaling discussion.&lt;br /&gt;
&lt;br /&gt;
=== What is the short history of the block size limit? ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note: the software now called Bitcoin Core was previously simply called “Bitcoin”.&amp;lt;ref&amp;gt;[https://bitcoin.org/en/release/v0.9.0#rebranding-to-bitcoin-core Bitcoin Core 0.9.0 release notes], Bitcoin.org, 19 March 2014&amp;lt;/ref&amp;gt; To avoid confusion with the Bitcoin system, we’ll use the Bitcoin Core name.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Bitcoin Core was initially released without an explicit block size limit. However, the code did limit network messages to a maximum of 32 MiB, setting an effective upper bound on block size.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=68121 Earliest known Bitcoin code], &amp;lt;code&amp;gt;src/main.h:17&amp;lt;/code&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Around 15 July 2010, Satoshi Nakamoto changed Bitcoin Core’s mining code so that it wouldn’t create any blocks larger than 990,000 bytes.&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/a30b56ebe76ffff9f9cc8a6667186179413c6349 Bitcoin Core commit a30b56e], Satoshi Nakamoto, 15 July 2010&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Two months later on 7 September 2010, Nakamoto changed Bitcoin Core’s consensus rules to reject blocks larger than 1,000,000 bytes (1 megabyte) if their block height was higher than 79,400.&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/8c9479c6bbbc38b897dc97de9d04e4d5a5a36730 Bitcoin Core commit 8c9479c], Satoshi Nakamoto, 7 September 2010&amp;lt;/ref&amp;gt; (Block 79,400 was later produced on 12 September 2010.&amp;lt;ref&amp;gt;[https://www.biteasy.com/blockchain/blocks/000000000021d821ec06be7173f413690bc5c4bc648dfa70b3b6763236f055b7 Block height 79400], dated 12 September 2010&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Neither the July nor the September commit message explains the reason for the limit, although the careful attempt to prevent a fork may indicate Nakamoto didn’t consider it an emergency.&lt;br /&gt;
&lt;br /&gt;
Nakamoto’s subsequent statements supported raising the block size at a later time&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=1347.msg15139#msg15139 Increasing the block size when needed], Satoshi Nakamoto, 3 October 2010&amp;lt;/ref&amp;gt;, but he never publicly specified a date or set of conditions for the raise.&lt;br /&gt;
&lt;br /&gt;
=== What is this Transactions Per Second (TPS) limit? ===&lt;br /&gt;
&lt;br /&gt;
The current block size limit is 1,000,000 bytes (1 megabyte)&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/blob/41076aad0cbdfa4c4cf376e345114a5c29086f81/src/consensus/consensus.h#L10 &amp;lt;code&amp;gt;MAX_BLOCK_SIZE&amp;lt;/code&amp;gt;], retrieved 2 July 2015&amp;lt;/ref&amp;gt;, although a small amount of that space (such as the block header) is not available to store transactions.&amp;lt;ref&amp;gt;[https://bitcoin.org/en/developer-reference#serialized-blocks Block serialization description], Bitcoin.org Developer Reference&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bitcoin transactions vary in size depending on multiple factors, such as whether they’re spending single-signature inputs or a multiple signature inputs, and how many inputs and outputs they have.&lt;br /&gt;
&lt;br /&gt;
The simple way to calculate the number of Transactions Per Second (TPS) Bitcoin can handle is to divide the block size limit by the expected average size of transactions, divided by the average number of seconds between blocks (600). For example, if you assume average transactions are 250 bytes,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;6.6 TPS = 1,000,000 / 250 / 600&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There seems to be general agreement that Bitcoin in 2015 can handle about 3 TPS with the current average size of transactions.&amp;lt;ref&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-May/007986.html Max TPS based on current average transaction size], Mike Hearn, 8 May 2015&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;maxwell_not_proposing&amp;quot;&amp;gt;[https://www.reddit.com/r/Bitcoin/comments/39yaod/bitcoinorg_position_on_hard_forks/cs7qz5c &amp;quot;No one proposing 3 TPS forever&amp;quot;], Gregory Maxwell, 15 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Both old estimates&amp;lt;ref&amp;gt;[[Scalability]], Bitcoin Wiki, retrieved 7 July&lt;br /&gt;
2015&amp;lt;/ref&amp;gt; and new estimates&amp;lt;ref name=&amp;quot;garzik_bip&amp;quot; /&amp;gt; place the&lt;br /&gt;
theoretical maximum at 7 TPS with current Bitcoin consensus rules&lt;br /&gt;
(including the 1MB block size limit).&lt;br /&gt;
&lt;br /&gt;
=== What do devs mean by the scaling expressions O(1), O(n), O(n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;), etc…? ===&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Big_O_notation Big O notation] is a shorthand used by computer scientists to describe how well a system scales. Such descriptions are rough approximations meant to help predict potential problems and evaluate potential solutions; they are not usually expected to fully capture all variables.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;O(1)&#039;&#039;&#039; means a system has roughly the same properties no matter how big it gets.&lt;br /&gt;
* &#039;&#039;&#039;O(n)&#039;&#039;&#039; means that a system scales linearly: doubling the number of things (users, transactions, etc.) doubles the amount of work.&lt;br /&gt;
* &#039;&#039;&#039;O(n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;)&#039;&#039;&#039; means that a system scales  quadratically : doubling (2x) the number of things quadruples (4x) the amount of work.  Often written O(n^2) is places without convenient superscripts.&lt;br /&gt;
* Additional examples may be found in the [https://en.wikipedia.org/wiki/Big_O_notation#Orders_of_common_functions Wikipedia article]&lt;br /&gt;
&lt;br /&gt;
The following subsections show cases where big O notation has been applied to the scaling Bitcoin transaction volume.&lt;br /&gt;
&lt;br /&gt;
==== O(1) block propagation ====&lt;br /&gt;
&lt;br /&gt;
Bitcoin Core currently relays unconfirmed transactions and then later relays blocks containing many of the same transactions. This redundant relay can be eliminated to allow miners to propagate large blocks very quickly to active network nodes, and would also significantly reduce miner need for peak bandwidth. Currently most miners use a network&amp;lt;ref name=&amp;quot;block_relay_net&amp;quot;&amp;gt;[http://bitcoinrelaynetwork.org/ Matt Corallo&#039;s block relay network]&amp;lt;/ref&amp;gt; that is about 25x more efficient than stock Bitcoin Core&amp;lt;ref&amp;gt;[https://gist.github.com/gavinandresen/e20c3b5a1d4b97f79ac2#i-know-that-you-know IBLT design document], Gavin Andresen, 11 August 2014&amp;lt;/ref&amp;gt; and almost equally as effective as O(1) block propagation for current block sizes.&lt;br /&gt;
&lt;br /&gt;
==== O(n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;) network total validation resource requirements ====&lt;br /&gt;
&lt;br /&gt;
[[File:On2_scaling_illustrated.png|thumb|right|visualization of O(n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;) scaling]]&lt;br /&gt;
&lt;br /&gt;
Each on-chain Bitcoin transaction needs to be processed by each full node. If we assume that a certain percentage of users run full nodes (&#039;&#039;n&#039;&#039;) and that each user creates a certain number of transactions on average (&#039;&#039;n&#039;&#039; again), then the network’s total resource requirements are &amp;lt;code&amp;gt;n&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; = n * n&amp;lt;/code&amp;gt;.  In short, this means that the aggregate cost of keeping all transactions on-chain quadruples each time the number of users doubles.&amp;lt;ref&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/009199.html Total system cost], Dr. Adam Back, 28 June 2015&amp;lt;/ref&amp;gt; For example,&lt;br /&gt;
&lt;br /&gt;
* Imagine a network starts with 100 users and 2 total nodes (a 2% ratio).&lt;br /&gt;
* The network doubles in users to 200.  The number of nodes also doubles to 4 (maintaining a 2% ratio of decentralized low-trust security).  However, double the number of users means double the number of transactions, and each node needs to process &#039;&#039;every&#039;&#039; transaction---so each node now does double work with its bandwidth and its CPU.  With double the number of nodes and double the amount of work per node, total work increases by four times.&lt;br /&gt;
* The network doubles again: 400 users, 8 nodes (still 2% of total), and 4 times the original workload per node for a total of 16 times as much aggregate work as the original.&lt;br /&gt;
* Another doubling: 800 users, 16 nodes (still 2%), and 8 times the original workload per node for a total of 64 times aggregate work as the original.&lt;br /&gt;
* Another doubling: 1,600 users—sixteen times the original---with 32 nodes (still 2%), and 16 times the original workload per node.  The aggregate total work done by nodes is 256 times higher than it was originally.&lt;br /&gt;
&lt;br /&gt;
Note that the validation effort required per full node simply grows in O(n). For a single node, it takes twice as many resources to process twice as many transactions.&lt;br /&gt;
&lt;br /&gt;
=== What’s the difference between on-chain and off-chain transactions? ===&lt;br /&gt;
&lt;br /&gt;
On-chain Bitcoin transactions are those that appear in the Bitcoin block chain. Off-chain transactions are those that transfer ownership of bitcoins without putting a transaction on the block chain.&lt;br /&gt;
&lt;br /&gt;
Common and proposed off-chain transactions include:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Exchange transactions:&#039;&#039;&#039; when you buy or sell bitcoins, the exchange tracks ownership in a database without putting data in the block chain. Only when you deposit or withdraw bitcoins does the transaction appear on the block chain.&lt;br /&gt;
* &#039;&#039;&#039;Web wallet internal payments:&#039;&#039;&#039; many web wallets allow users of the service to pay other users of the same service using off-chain payments. For example, when one Coinbase user pays another Coinbase user.&lt;br /&gt;
* &#039;&#039;&#039;Tipping services:&#039;&#039;&#039; most tipping services today, such as ChangeTip, use off-chain transactions for everything except deposits and withdrawals.&amp;lt;ref&amp;gt;[https://www.changetip.com/fees ChangeTip fees], retrieved 3 July 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Payment channels:&#039;&#039;&#039; channels are started using one on-chain transaction and ended using a second on-chain transaction.&amp;lt;ref&amp;gt;[https://bitcoin.org/en/developer-guide#micropayment-channel Micropayment channels], Bitcoin.org Developer Guide&amp;lt;/ref&amp;gt; In between can be an essentially unlimited number of off-chain transactions as small as a single satoshi (1/100,000,000th of a bitcoin). Payment channels include those that [https://bitcoinj.github.io/working-with-micropayments exist today] as well as proposed hub-and-spoke channels and the more advanced [http://lightning.network/ Lightning network].&lt;br /&gt;
&lt;br /&gt;
Approximately 90% to 99% of all bitcoin-denominated payments today are made off-chain.&amp;lt;ref&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008844.html Pure off-chain is a weak form of layer 2], Dr. Adam Back, 19 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== What is a fee market? ===&lt;br /&gt;
&lt;br /&gt;
When you create a Bitcoin transaction, you have the option to pay a [[transaction fee]]. If your software is flexible, you can pay anything from zero fees (a free transaction) to 100% of the value of the transaction (spend-to-fees). This fee is comparable to a tip. The higher it is, the bigger the incentive of the miners to incorporate your transaction into the next block.&lt;br /&gt;
&lt;br /&gt;
When miners assemble a block, they are free to include whatever transactions they wish. They usually include as many as possible up to the maximum block size and then prioritize the transactions that pay the most fees per kilobyte of data.&amp;lt;ref name=&amp;quot;fee_pri&amp;quot;&amp;gt;[https://bitcointalk.org/index.php?topic=95837.0 Fee prioritization patch], Gavin Andresen, 26 July 2012&amp;lt;/ref&amp;gt; This confirms higher-fee transactions before lower-fee transactions. If blocks become full on a regular basis, users who pay a fee that&#039;s too small will have to wait a longer and longer time for their transactions to confirm. At this point, a demand-driven fee market may arise where transactions that pay higher fees get confirmed significantly faster than transactions that pay low fees.&amp;lt;ref name=&amp;quot;todd_coinwallet&amp;quot;&amp;gt;[https://gist.github.com/petertodd/8e87c782bdf342ef18fb Comments on the CoinWallet.eu tx-flood stress-test], Peter Todd, 22 June 2015&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;garzik_bip&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In a competitive market, prices are driven by supply and demand and the emerging equilibrium price asymptotically approaches marginal costs over time. However, the current version of Bitcoin limits the supply to 1 MB per block, only allowing demand to adjust. To establish a free market, one would need to come up with a mechanism that allows the number of included transactions per block to adjust dynamically as well. The design of such a mechanism, however, is not trivial. Simply allowing individual miners to include as many transactions as they want is problematic due to the externalities&amp;lt;ref name=&amp;quot;exernality&amp;quot;&amp;gt;[https://en.wikipedia.org/wiki/Externality Definition of externality], Wikipedia, 26 January 2016&amp;lt;/ref&amp;gt; of including additional blocks and explained further in section [[#Should miners be allowed to decide the block size?|&#039;should miners be allowed to decide the block size?&#039;]] .&lt;br /&gt;
&lt;br /&gt;
=== What is the most efficient way to scale Bitcoin? ===&lt;br /&gt;
&lt;br /&gt;
Remove its decentralization properties, specifically decentralized mining and decentralized full nodes. Mining wastes enormous amounts of electricity to provide a decentralized ledger and full nodes waste an enormous amount of bandwidth and CPU time keeping miners honest.&lt;br /&gt;
&lt;br /&gt;
If users instead decided to hand authority over to someone they trusted, mining and keeping miners honest wouldn’t be needed. This is how Visa, MasterCard, PayPal, and the rest of the centralized payment systems works—users trust them, and they have no special difficulty scaling to [[scalability|millions of transactions an hour]]. It’s very efficient; it isn’t decentralized.&lt;br /&gt;
&lt;br /&gt;
=== What is a hard fork, and how does it differ from other types of forks? ===&lt;br /&gt;
&lt;br /&gt;
The word fork is badly overloaded in Bitcoin development.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;[[hardfork|Hard fork]]:&#039;&#039;&#039; a change to the system which is not backwards compatible. Everyone needs to upgrade or things can go wrong.&lt;br /&gt;
* &#039;&#039;&#039;[[softfork|Soft fork]]:&#039;&#039;&#039; a change to the system which is backwards compatible as long as a majority of miners enforce it. Full nodes that don’t upgrade have their security reduced.&lt;br /&gt;
* &#039;&#039;&#039;Chain fork:&#039;&#039;&#039; when there are two are more blocks at the same height on a block chain.  This typically happens a few times a week by accident, but it can also indicate more severe problems.&lt;br /&gt;
* &#039;&#039;&#039;[https://en.wikipedia.org/wiki/Fork_%28software_development%29 Software fork]:&#039;&#039;&#039; using the code from an open source project to create a different project.&lt;br /&gt;
* &#039;&#039;&#039;[https://help.github.com/articles/fork-a-repo/ Git/GitHub fork]:&#039;&#039;&#039; a way for developers to write and test new features before contributing them to a project.&lt;br /&gt;
&lt;br /&gt;
(There are other types of software-related forks, but they don’t tend to cause as much confusion.)&lt;br /&gt;
&lt;br /&gt;
=== What are the block size soft limits? ===&lt;br /&gt;
&lt;br /&gt;
Bitcoin Core has historically come pre-configured to limit blocks it mines to certain sizes.&amp;lt;ref name=&amp;quot;fee_pri&amp;quot; /&amp;gt; These “limits” aren’t restrictions placed on miners by other miners or nodes, but rather configuration options that help miners produce reasonably-sized blocks.&lt;br /&gt;
&lt;br /&gt;
Miners can change their soft limit size (up to 1 MB) using &amp;lt;code&amp;gt;-blockmaxsize=&amp;amp;lt;size&amp;amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Default soft limits at various times:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;July 2012:&#039;&#039;&#039; &amp;lt;code&amp;gt;-blockmaxsize&amp;lt;/code&amp;gt; option created and set to default 250 KB soft limit&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/c555400ca134991e39d5e3a565fcd2215abe56f6 Bitcoin Core commit c555400], Gavin Andresen, 12 July 2012&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;November 2013:&#039;&#039;&#039; Raised to 750KB&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/ad898b40aaf06c1cc7ac12e953805720fc9217c0 Bitcoin Core commit ad898b40], Gavin Andresen, 27 November 2013&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;June 2015:&#039;&#039;&#039; Raise to 1 MB suggested&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/pull/6231 Bitcoin Core pull #6231], Chris Wheeler, 4 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== General Block Size Increase Theory ==&lt;br /&gt;
&lt;br /&gt;
Questions about increasing the block size in general, not related to any&lt;br /&gt;
specific proposal.&lt;br /&gt;
&lt;br /&gt;
==== Why are some people in favor of keeping the block size at 1 MB forever? ====&lt;br /&gt;
&lt;br /&gt;
It is commonly claimed&amp;lt;ref name=&amp;quot;garzik_bip&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;[https://epicenterbitcoin.com/podcast/082/ Epicenter Bitcoin podcast #82], Mike Hearn (interviewed), 8 June 2015&amp;lt;/ref&amp;gt; that there are people opposed to ever raising the maximum block size limit, but no Bitcoin developers have suggested keeping the maximum block size at one megabyte forever.&amp;lt;ref name=&amp;quot;maxwell_not_proposing&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
All developers support raising the maximum size at some point&amp;lt;ref&amp;gt;[https://www.reddit.com/r/Bitcoin/comments/39kqzs/how_about_a_softfork_optin_blocksize_increase/cs5hj8l Nothing magic about 1MB], Dr. Adam Back, 13 June 2015&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-May/008328.html Regarding size-independent new block propagation], Pieter Wuille, 28 May 2015&amp;lt;/ref&amp;gt;—they just disagree about whether now is the correct time.&lt;br /&gt;
&lt;br /&gt;
==== Should miners be allowed to decide the block size? ====&lt;br /&gt;
&lt;br /&gt;
A block may include as little as a single transaction, so miners can always restrict block size. Letting miners choose the maximum block size is more problematic for several reasons:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Miners profit, others pay the cost:&#039;&#039;&#039; bigger blocks earn miners more fees, but miners don’t need to store those blocks for more than a few days.&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/pull/5863 Bitcoin Core pull #5863 adding pruning functionality], Suhas Daftuar et al., 6 March 2015&amp;lt;/ref&amp;gt; Other users who want full validation security, or who provide services to lightweight wallets, pay the costs of downloading and storing those larger blocks.&lt;br /&gt;
# &#039;&#039;&#039;Bigger miners can afford more bandwidth:&#039;&#039;&#039; each miner needs to download every transaction that will be included in block,&amp;lt;ref name=&amp;quot;maxwell_correcting_assumptions&amp;quot; /&amp;gt; which means that they all need to pay for high-speed connections. However, a miner with 8.3% of total hash rate can take that cost out of the about 300 BTC they make a day, while a miner with only 0.7% of total hash rate has to take that cost out of only 25 BTC a day. This means bigger miners may logically choose to make bigger blocks even though it may further centralize mining.&lt;br /&gt;
# &#039;&#039;&#039;Centralized hardware production:&#039;&#039;&#039; only a few companies in the world produce efficient mining equipment, and many of them have chosen to stop selling to the public.&amp;lt;ref&amp;gt;[http://blogs.wsj.com/venturecapital/2014/09/05/for-kncminer-time-to-forget-selling-bitcoin-machines-to-at-home-miners/ KnCMiner to stop selling to home miners], Wall Street Journal, Yuliya Chernova, 5 September 2014&amp;lt;/ref&amp;gt; This prevents ordinary Bitcoin users from participating in the process even if they were willing to pay for mining equipment.&lt;br /&gt;
# &#039;&#039;&#039;Voting by hash rate favors larger miners:&#039;&#039;&#039; voting based on hash rate allows the current hash rate majority (or super-majority) to enforce conditions on the minority.  This is similar to a lobby of large businesses being able to get laws passed that may hurt smaller businesses.&amp;lt;ref&amp;gt;[https://www.reddit.com/r/Bitcoin/comments/39kzyt/draft_bip_100_soft_fork_block_size_increase/cs5gvak Miners choosing the block size limit is ill-advised], Meni Rosenfeld, 13 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
# &#039;&#039;&#039;Miners may not care about users:&#039;&#039;&#039; this was demonstrated during the [[July 2015 Forks]] where even after miners lost over $50,000 USD in income from mining invalid chains, and even after they were told that long forks harm users, they continued to mine improperly.&amp;lt;ref&amp;gt;[https://bitcointalk.org/index.php?topic=700411.msg11790734#msg11790734 Intention to continue SPV mining], Wang Chun, 4 July 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, there are also possible justifications for letting miners choose the block size:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Authenticated participants:&#039;&#039;&#039; miners are active participants in Bitcoin, and they can prove it by adding data to the blocks they create.&amp;lt;ref&amp;gt;[https://bitcoin.org/en/developer-reference#term-coinbase-field Coinbase field], Bitcoin.org Developer Reference&amp;lt;/ref&amp;gt; It is much harder to prove people on Reddit, BitcoinTalk, and elsewhere are real people with an active stake in Bitcoin.&lt;br /&gt;
# &#039;&#039;&#039;Bigger blocks may cost miners:&#039;&#039;&#039; small miners and poorly-connected miners are at a disadvantage if larger blocks are produced&amp;lt;ref name=&amp;quot;wuille_centralization&amp;quot; /&amp;gt;, and even large and well-connected miners may find that large blocks reduce their profit percentage if the cost of bandwidth rises too high or their stale rate increases.&amp;lt;ref&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-May/008355.html F2Pool block size concerns], Chun Wang, 29 May 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== How could a block size increase affect user security? ====&lt;br /&gt;
&lt;br /&gt;
Bitcoin’s security is highly dependent on the number of active users who protect their bitcoins with a full node like Bitcoin Core. The more active users of full nodes, the harder it is for miners to trick users into accepting fake bitcoins or other frauds.&amp;lt;ref&amp;gt;[https://medium.com/@lopp/bitcoin-nodes-how-many-is-enough-9b8e8f6fd2cf Bitcoin nodes: how many is enough?], Jameson Lopp, 7 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Full nodes need to download and verify every block, and most nodes also store blocks plus relay transactions, full blocks, and filtered blocks to other users on the network. The bigger blocks become, the more difficult it becomes to do all this, so it is expected that bigger blocks will both reduce the number of users who currently run full nodes and suppress the number of users who decide to start running a full node later.&amp;lt;ref&amp;gt;[https://www.reddit.com/r/Bitcoin/comments/3bae2d/amir_taaki_on_raising_the_block_size_a_lot_of/cslcgmw Block size increases-only will create problems], Dr. Adam Back, 28 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, full blocks may increase mining centralization&amp;lt;ref name=&amp;quot;wuille_centralization&amp;quot; /&amp;gt; at a time when mining is already so centralized that it makes it easy to reverse transactions which have been confirmed multiple times.&amp;lt;ref&amp;gt;[http://bitcoin.stackexchange.com/questions/32562/when-to-worry-about-1-confirmation-payments/32564#32564 When to worry about one-confirmation payments], David A. Harding, 17 November 2014&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== How could larger blocks affect proof-of-work (POW) security? ====&lt;br /&gt;
&lt;br /&gt;
Proof of work security is dependent on how much money miners spend on mining equipment. However, to effectively mine blocks, miners also need to spend money on bandwidth to receive new transactions and blocks created by other miners; CPUs to validate received transactions and blocks; and bandwidth to upload new blocks. These additional costs don’t directly contribute to POW security.&amp;lt;ref name=&amp;quot;maxwell_correcting_assumptions&amp;quot;&amp;gt;[https://www.reddit.com/r/Bitcoin/comments/39tgno/letting_miners_vote_on_the_maximum_block_size_is/cs6rek5 Correcting wrong assumptions about mining], Gregory Maxwell, 15 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As block sizes increase, the amount of bandwidth and CPU required also increases. If block sizes increase faster than the costs of bandwidth and CPU decrease, miners will have less money for POW security relative to the gross income they earn.&lt;br /&gt;
&lt;br /&gt;
In addition, larger blocks have a higher risk of becoming stale (orphaned)&amp;lt;ref name=&amp;quot;rusty_dsl&amp;quot; /&amp;gt;, which directly correlates to lost POW security. For example, if the network average stale rate is 10%, then 10% of POW performed isn&#039;t protecting transactions on the block chain.&lt;br /&gt;
&lt;br /&gt;
=== What happens if blocks aren&#039;t big enough to include all pending transactions? ===&lt;br /&gt;
&lt;br /&gt;
This is already the case more often than not&amp;lt;ref&amp;gt;[http://statoshi.info/dashboard/db/transactions?from=1433297061121&amp;amp;to=1435889061123 Statoshi.info mempool queue June to July 2015]&amp;lt;/ref&amp;gt;, so we know that miners will simply queue transactions. The transactions eligible for block inclusion that pay the highest fee per kilobyte will be confirmed earlier than transactions that pay comparatively lower fees.&amp;lt;ref name=&amp;quot;fee_pri&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
What happens from there is debated:&lt;br /&gt;
&lt;br /&gt;
* BitcoinJ lead developer Mike Hearn believes there would be “crashing nodes, a swelling transaction backlog, a sudden spike in double spending, [and] skyrocketing fees.”&amp;lt;ref&amp;gt;[https://medium.com/@octskyward/crash-landing-f5cc19908e32 Crash Landing], Mike Hearn, 7 May 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Bitcoin Foundation chief scientist Gavin Andresen believes that the “average transaction fee paid will rise, people or applications unwilling or unable to pay the rising fees will stop submitting transactions, [and] people and businesses will shelve plans to use Bitcoin, stunting growth and adoption.” &amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/pull/6341 Bitcoin Core pull #6341], Gavin Andresen, 26 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Bitcoin Core developer Pieter Wuille replies to Andresen’s comment above: “Is it fair to summarize this as ‘Some use cases won’t fit any more, people will decide to no longer use the blockchain for these purposes, and the fees will adapt.’? I think that is already happening […] I don’t think we should be afraid of this change or try to stop it.” &amp;lt;ref&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/009098.html The need for larger blocks], Pieter Wuille, 26 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Bitcoin Core developer Jeff Garzik writes, &amp;quot;as blocks get full and the bidding war ensues, the bitcoin user experience rapidly degrades to poor.  In part due to bitcoin wallet software’s relative immaturity, and in part due to bitcoin’s settlement based design, the end user experience of their transaction competing for block size results in erratic, and unpredictably extended validation times.&amp;quot;&amp;lt;ref name=&amp;quot;garzik_bip&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Specific Scaling Proposals ==&lt;br /&gt;
&lt;br /&gt;
=== Andresen-Hearn Block Size Increase Proposals ===&lt;br /&gt;
&lt;br /&gt;
Questions about the series of related proposals by Gavin Andresen and Mike Hearn to use a hard fork to raise the maximum block size, thereby allowing miners to include more on-chain transactions. As of July 2015, the current focus is [https://github.com/bitcoin/bips/pull/163 BIP101].&lt;br /&gt;
&lt;br /&gt;
==== What is the major advantage of this proposal? ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Bitcoin can support many more users.&#039;&#039; Assuming earliest possible adoption, 250 bytes per on-chain transaction, 144 blocks per day, and 2 transaction a day per user, Bitcoin can support about,&lt;br /&gt;
&lt;br /&gt;
* 288,000 users in 2015&lt;br /&gt;
* 2,304,000 users in 2016 (800% increase)&lt;br /&gt;
* 4,608,000 in 2018 (1,600%)&lt;br /&gt;
* 9,216,000 in 2020 (3,200%)&lt;br /&gt;
* 18,432,000 in 2022 (6,400%)&lt;br /&gt;
* 36,864,000 in 2024 (12,800%)&lt;br /&gt;
* 73,728,000 in 2026 (25,600%)&lt;br /&gt;
* 147,456,000 in 2028 (51,200%)&lt;br /&gt;
* 294,912,000 in 2030 (102,400%)&lt;br /&gt;
* 589,824,000 in 2032 (204,800%)&lt;br /&gt;
* 1,179,648,000 in 2034 (409,600%&lt;br /&gt;
* 2,359,296,000 in 2036 (819,200%)&lt;br /&gt;
&lt;br /&gt;
==== What is the major disadvantage of this proposal? ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The total cost of remaining decentralized will be high.&#039;&#039; Assuming earliest possible adoption and that the ratio of total users to full node operators remains the same as today, the total estimated amount of work necessary to maintain the decentralized system under the [[#O.28n2.29_network_total_validation_resource_requirements|O(&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;) scaling model]] will be,&lt;br /&gt;
&lt;br /&gt;
* 100% of today’s work in 2015&lt;br /&gt;
* 6,400% in 2016&lt;br /&gt;
* 25,600% in 2018&lt;br /&gt;
* 102,400% in 2020&lt;br /&gt;
* 409,600% in 2022&lt;br /&gt;
* 1,638,400% in 2024&lt;br /&gt;
* 6,553,600% in 2026&lt;br /&gt;
* 26,214,400% in 2028&lt;br /&gt;
* 104,857,600% in 2030&lt;br /&gt;
* 419,430,400% in 2032&lt;br /&gt;
* 1,677,721,600% in 2034&lt;br /&gt;
* 6,710,886,400% in 2036&lt;br /&gt;
&lt;br /&gt;
For example, if the total amount spent on running full nodes today (not counting mining) is $100 thousand per year, the estimated cost for the same level of decentralization in 2036 will be $6.7 trillion per year if validation costs stay the same. (They&#039;ll certainly go down, but algorithmic and hardware improvements probably won&#039;t eliminate an approximate 6,710,886,400% cost increase.)&lt;br /&gt;
&lt;br /&gt;
==== What are the dangers of the proposed hard fork? ====&lt;br /&gt;
&lt;br /&gt;
Under the current proposal, 75% of miners must indicate that they agree to accept blocks up to 8 MB in size.&amp;lt;ref name=&amp;quot;bip101&amp;quot;&amp;gt;[https://github.com/bitcoin/bips/pull/163 BIP101], Gavin Andresen, 24 June 2016&amp;lt;/ref&amp;gt; After the change goes into effect, if any miner creates a block larger than 1 MB, all nodes which have not upgraded yet will reject the block.&amp;lt;ref&amp;gt;[https://bitcoin.org/en/developer-guide#consensus-rule-changes Consensus rule changes], Bitcoin.org Developer Guide&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If all full nodes have upgraded, or very close to all nodes, there should be no practical effect. If a significant number of full nodes have not upgraded, they will continue using a different block chain than the upgraded users, with the following consequences:&lt;br /&gt;
&lt;br /&gt;
* Bitcoins received from before the fork can be spent twice, once on both sides of the fork. This creates a high double spend risk.&lt;br /&gt;
* Bitcoins received after the fork are only guaranteed to be spendable on the side of the fork they were received on. This means some users will have to lose money to restore Bitcoin to a single chain.&lt;br /&gt;
&lt;br /&gt;
Users of hosted wallets (Coinbase, BlockChain.info, etc.) will use whatever block chain their host chooses. Users of lightweight P2P SPV wallets will use the [[Thin Client Security|longest chain they know of]], which may not be the actual longest chain if they only connect to nodes on the shorter chain. Users of non-P2P SPV wallets, like Electrum, will use whatever chain is used by the server they connect to.&lt;br /&gt;
&lt;br /&gt;
If a bad hard fork like this happens, it will likely cause large-scale confusion and make Bitcoin very hard to use until the situation is resolved.&lt;br /&gt;
&lt;br /&gt;
==== What is the deployment schedule for BIP 101? ====&lt;br /&gt;
&lt;br /&gt;
* The patch needs to be accepted into Bitcoin Core, Bitcoin XT, or both.&lt;br /&gt;
* If accepted into Bitcoin Core, miners using that software will need to upgrade (this probably requires a new released version of Bitcoin Core). If accepted only into Bitcoin XT, miners will need to switch to using XT.&lt;br /&gt;
* After 75% of miners have upgraded, 8MB blocks will become allowed at the the latest of (1) 11 January 2016 or (2) two weeks after the 75% upgrade threshold.&amp;lt;ref name=&amp;quot;bip101&amp;quot; /&amp;gt;&lt;br /&gt;
* After the effective date has passed, any miner may create a block larger than 8MB. When a miner does this, upgraded full nodes will accept that block and non-upgraded full nodes will reject it, forking the network.&amp;lt;ref name=&amp;quot;bip101&amp;quot; /&amp;gt; See [[#What_are_the_dangers_of_the_proposed_hard_fork.3F|hard fork dangers]] for what his might mean.&lt;br /&gt;
&lt;br /&gt;
==== Will miners go straight from 1 MB blocks to 8 MB blocks? ====&lt;br /&gt;
&lt;br /&gt;
That would be highly unlikely. Uploading an 8 MB block currently takes significantly more time than uploading a 1 MB block&amp;lt;ref name=&amp;quot;rusty_dsl&amp;quot;&amp;gt;[http://rusty.ozlabs.org/?p=509 Mining on a home DSL connection test results], Rusty Russell, 19 June 2015&amp;lt;/ref&amp;gt;, even with the roughly 25x reduction in size available from use of Matt Corallo’s block relay network.&amp;lt;ref name=&amp;quot;block_relay_net&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The longer it takes to upload a block, the higher the risk it will become a stale block—meaning the miner who created it will not receive the block subsidy or transaction fees (currently about 25 BTC per block).&lt;br /&gt;
&lt;br /&gt;
However, if technology like Invertible Bloom Lookup Tables (IBLTs) is deployed and found to work as expected&amp;lt;ref name=&amp;quot;iblt&amp;quot;&amp;gt;[https://gist.github.com/gavinandresen/e20c3b5a1d4b97f79ac2 O(1) block propagation], Gavin Andresen, 8 August 2014&amp;lt;/ref&amp;gt;, or if mining [[#What_is_the_most_efficient_way_to_scale_Bitcoin.3F|centralizes further]], adding additional transactions may not have a significant enough cost to discourage miners from creating full blocks. In that case, blocks will be filled as soon as there are enough people wanting to make transactions paying the default relay fee&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/pull/3305 Bitcoin Core pull #3305 dropping default fees], Mike Hearn, 22 November 2013&amp;lt;/ref&amp;gt; of 0.00001000 BTC/kilobyte.&lt;br /&gt;
&lt;br /&gt;
==== What tests have been performed related to this proposal? ====&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;20MB block processing&#039;&#039;&#039; (Gavin Andresen) “if we increased the maximum block size to 20 megabytes tomorrow, and every single miner decided to start creating 20MB blocks and there was a sudden increase in the number of transactions on the network to fill up those blocks… the 0.10.0 version of [Bitcoin Core] would run just fine.”&amp;lt;ref&amp;gt;[http://gavintech.blogspot.com/2015/01/twenty-megabytes-testing-results.html Twenty megabyte block testing], Gavin Andresen, 20 January 2015&amp;lt;/ref&amp;gt; (ellipses in original)&lt;br /&gt;
* &#039;&#039;&#039;Mining &amp;amp;amp; relay simulation&#039;&#039;&#039; (Gavin Andresen) “if blocks take 20 seconds to propagate, a network with a miner that has 30% of the hashing power will get 30.3% of the blocks.”&amp;lt;ref&amp;gt;[http://gavinandresen.ninja/are-bigger-blocks-better-for-bigger-miners Are bigger blocks better for bigger miners?], Gavin Andresen, 22 May 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Mining on a home DSL connection&#039;&#039;&#039; (Rusty Russell) “Using the rough formula of 1-exp(-t/600), I would expect orphan rates of 10.5% generating 1MB blocks, and 56.6% with 8MB blocks; that’s a huge cut in expected profits.”&amp;lt;ref name=&amp;quot;rusty_dsl&amp;quot; /&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Mining centralization pressure&#039;&#039;&#039; (Pieter Wuille) “[This] does very clearly show the effects of larger blocks on centralization pressure of the system.”&amp;lt;ref name=&amp;quot;wuille_centralization&amp;quot;&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008581.html Mining centralization pressure from non-uniform propagation speed], Pieter Wuille, 12 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Garzik Miner Block Size Voting Proposal (AKA BIP100) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note, BIP 100 is the marketing name for this proposal.  No BIP number&lt;br /&gt;
has yet been publicly requested, and the number assigned is unlikely to&lt;br /&gt;
be 100.&amp;lt;ref&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2014-May/005756.html&lt;br /&gt;
Prenumbered BIP naming], Gregory Maxwell, 12 May 2014&amp;lt;/ref&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Questions related to Jeff Garzik&#039;s proposal&amp;lt;ref name=&amp;quot;garzik_bip&amp;quot;&amp;gt;[http://gtf.org/garzik/bitcoin/BIP100-blocksizechangeproposal.pdf Draft BIP: decentralized economic policy], Jeff Garzik, 12 June 2015 (revised 15 June 2015)&amp;lt;/ref&amp;gt; to allow miners to vote on raising and lowering the maximum block size.&lt;br /&gt;
&lt;br /&gt;
==== What does this proposal do? ====&lt;br /&gt;
&lt;br /&gt;
# It creates a one-time hard fork that does not automatically change the maximum block size.&lt;br /&gt;
&lt;br /&gt;
# It allows miners to vote to increase or decrease the maximum block size within the range of 1MB to 32MB. These changes are neither hard forks nor soft forks, but simply rules that all nodes should know about after the initial hard fork.&lt;br /&gt;
&lt;br /&gt;
==== Does it reduce the risk of a hard fork? ====&lt;br /&gt;
&lt;br /&gt;
Hard forks are most dangerous when they&#039;re done without strong&lt;br /&gt;
consensus.&amp;lt;ref name=&amp;quot;garzik_bip&amp;quot; /&amp;gt;&amp;lt;ref&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008779.html Consensus changes are not about making a change to the software],&lt;br /&gt;
Pieter Wuille, 18 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If Garzik&#039;s proposal gains strong consensus, it will be as safe as possible&lt;br /&gt;
for a hard fork and it will allow increasing the block size up to 32 MB&lt;br /&gt;
without any additional risk of a fork.&lt;br /&gt;
&lt;br /&gt;
==== Why is it limited to 32 megabytes? ====&lt;br /&gt;
&lt;br /&gt;
According to the draft BIP, &amp;quot;the 32 MB hard fork is largely coincidental -- a whole network upgrade at 32 MB was likely needed anyway.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Lightning Network ===&lt;br /&gt;
&lt;br /&gt;
Questions related to using the proposed [http://lightning.network/ Lightning network] as a way to scale the number of users Bitcoin can support.&lt;br /&gt;
&lt;br /&gt;
==== How does transaction security differ from that of Bitcoin? ====&lt;br /&gt;
&lt;br /&gt;
Transactions on the proposed Lightning network use Bitcoin transactions exclusively to transfer bitcoins&amp;lt;ref name=&amp;quot;russell_lightning1&amp;quot;&amp;gt;[http://rusty.ozlabs.org/?p=450 Lightning Networks: Part I], Rusty Russell, 30 March 2015&amp;lt;/ref&amp;gt;, and so the same security as regular Bitcoin transactions is provided when both a Lightning hub and client are cooperating.&lt;br /&gt;
&lt;br /&gt;
When a Lightning hub or client refuses to cooperate with the other (maybe because they accidentally went offline), the other party can still receive their full 100% bitcoin balance by closing the payment channel—but they must first wait for a defined amount of time mutually chosen by both the hub and client.&amp;lt;ref&amp;gt;[http://rusty.ozlabs.org/?p=462 Lightning Networks: Part II], Rusty Russell, 1 April 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If one party waits too long to close the payment channel, the other party may be able to steal bitcoins. However, it is possible to delegate the task of closing the channel in an emergency to an unlimited number of hubs around the Internet, so closing the channel on time should be easy.&amp;lt;ref name=&amp;quot;russell_lightning4&amp;quot;&amp;gt;[http://rusty.ozlabs.org/?p=477 Lightning Networks: Part IV], Rusty Russell, 8 April 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In summary, provided that payment channels are closed on time, the worst that can happen to users is that they may have to wait a few weeks for a channel to fully close before spending the bitcoins they received from it. Their security is otherwise the same as with regular Bitcoin.&lt;br /&gt;
&lt;br /&gt;
For Lightning hubs, security is slightly worse in the sense that they need to keep a potentially-large amount of funds in a hot wallet&amp;lt;ref name=&amp;quot;lightning_paper&amp;quot;&amp;gt;[http://lightning.network/lightning-network-paper-DRAFT-0.5.pdf Lightning Network (Draft 0.5)], Section 6.3: Coin Theft via Hacking, Joseph Poon and Thaddeus Dryja&amp;lt;/ref&amp;gt;, so they can’t take advantage of the anti-hacking protection offered by cold wallets. Otherwise, Lightning hubs have the same security as clients.&lt;br /&gt;
&lt;br /&gt;
==== When will Lightning be ready for use? ====&lt;br /&gt;
&lt;br /&gt;
Lightning requires a basic test implementation (work underway&amp;lt;ref&amp;gt;[https://lists.blockstream.com/pipermail/lightning-dev/2015-June/000018.html Lightning first steps], Rusty Russell, 13 June 2015&amp;lt;/ref&amp;gt;), several soft-fork changes to the Bitcoin protocol (work underway&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki BIP65: CheckLockTimeVerify], Peter Todd, 1 October 2014&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki BIP68: Consensus-enforced transaction replacement], Mark Friedenbach, 28 May 2015&amp;lt;/ref&amp;gt;, and wallets need to be updated to support the Lightning network protocol.&amp;lt;ref name=&amp;quot;russell_lightning4&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dr. Adam Back has said, &amp;quot;I expect we can get something running inside a year.&amp;quot;&amp;lt;ref&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/009242.html Reply to Andresen regarding Lightning], Dr. Adam Back, 28 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Doesn’t Lightning require bigger blocks anyway? ====&lt;br /&gt;
&lt;br /&gt;
Lightning is block-size neutral. It requires one on-chain transaction to open a channel between a hub and a client, and one on-chain transaction to close a channel.&amp;lt;ref name=&amp;quot;russell_lightning1&amp;quot; /&amp;gt; In between it can support an unlimited number of transactions between anyone on the Lightning network.&amp;lt;ref name=&amp;quot;lightning_paper&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Using the numbers from the Lightning presentation&amp;lt;ref name=&amp;quot;lightning_slides&amp;quot;&amp;gt;[http://lightning.network/lightning-network.pdf Lightning presentation], Joseph Poon, 23 February 2015&amp;lt;/ref&amp;gt;, if people open and close a plausible two channels a year, Lightning can support about 52 million users with the current one-megabyte limit—and each user can make an unlimited number of transactions. Currently, assuming people make an average of only two Bitcoin transactions a day, basic Bitcoin can support only 288,000 users.&lt;br /&gt;
&lt;br /&gt;
Under these assumptions, Lightning is 180 times (17,900%) more efficient than basic Bitcoin.&lt;br /&gt;
&lt;br /&gt;
Presumably, if around 30 million people are using Bitcoin via Lightning so that capacity is called into question, it will not be difficult to find consensus to double the block size to two megabytes and bring user capacity up to 105 million. The same goes for later increases to 200 million (4MB), 400 million (8MB), 800 million (16MB), 1.6 billion (32 MB), 3.2 billion (64MB), and all 7 billion living humans (133MB). In each case, all Lightning network participants get unlimited transactions to the other participants.&lt;br /&gt;
&lt;br /&gt;
For basic Bitcoin to scale to just 2 transactions a day for 7 billion people would require 24-gigabyte blocks.&amp;lt;ref name=&amp;quot;lightning_slides&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Sidechains ===&lt;br /&gt;
&lt;br /&gt;
==== Real quick, what are sidechains? ====&lt;br /&gt;
&lt;br /&gt;
Block chains that are separate from Bitcoin’s block chain, but which allow you to receive and spend bitcoins using a two-way peg (2WP).&amp;lt;ref name=&amp;quot;sidechains_paper&amp;quot;&amp;gt;[https://www.blockstream.com/sidechains.pdf Sidechains paper], Adam Back et al., 22 October 2014&amp;lt;/ref&amp;gt;  (Although a sidechain can never be more secure than the Bitcoin block chain.&amp;lt;ref&amp;gt;[https://www.reddit.com/r/Bitcoin/comments/39r85g/sidechain_hate/cs5spbg Security limitations of pegged chains], Gregory Maxwell, 14 June 2015&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
==== Are sidechains a scaling option? ====&lt;br /&gt;
&lt;br /&gt;
No. Sidechains have the same fundamental scaling problems as Bitcoin does. Moving some transactions to sidechains simply moves some problems elsewhere on the network—the total difficulty of the problem remains the same.&amp;lt;ref&amp;gt;[http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008617.html Sidechains not a direct means for solving any of the scaling problems Bitcoin has], Pieter Wuille, 13 June 2015&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== But couldn’t I create a sidechain that had 100 GB blocks? ====&lt;br /&gt;
&lt;br /&gt;
Certainly, sidechain code is open source&amp;lt;ref&amp;gt;[https://github.com/ElementsProject/elements Elements Project]&amp;lt;/ref&amp;gt;—so you can create your own sidechain. But you’d still have the difficulty of finding people who are willing to validate 100 GB blocks with their own full nodes.&lt;br /&gt;
&lt;br /&gt;
==== Do sidechains require a hard fork? ====&lt;br /&gt;
&lt;br /&gt;
No. Federated sidechains, such as have already been implemented&amp;lt;ref&amp;gt;[https://github.com/ElementsProject/elements/tree/alpha Elements Alpha]&amp;lt;/ref&amp;gt;, don’t require any changes to the Bitcoin consensus rules. Merged-mined sidechains, which have not been implemented yet, do require a backwards-compatible soft fork in order to transfer funds between Bitcoin and the sidechain.&amp;lt;ref name=&amp;quot;sidechains_paper&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Luzius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Transaction&amp;diff=49014</id>
		<title>Transaction</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Transaction&amp;diff=49014"/>
		<updated>2014-07-21T07:59:02Z</updated>

		<summary type="html">&lt;p&gt;Luzius: /* Input */ Even more precise wording: output script only gives hash of public key&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TxBinaryMap.png|thumb|right|Byte-map of Transaction with each type of TxIn and TxOut]]&lt;br /&gt;
A &#039;&#039;&#039;transaction&#039;&#039;&#039; is a signed section of data that is broadcast to the [[network]] and collected into [[block|blocks]]. It typically references previous transaction(s) and dedicates a certain number of bitcoins from it to one or more new public key(s) (Bitcoin address). It is not encrypted (nothing in Bitcoin is encrypted).&lt;br /&gt;
&lt;br /&gt;
A [[block chain browser]] is a site where every transaction included within the block chain can be viewed.  This is useful for seeing the technical details of transaction in action, and for payment verification purposes.&lt;br /&gt;
&lt;br /&gt;
=== general format of a Bitcoin transaction (inside a block) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field&lt;br /&gt;
! Description&lt;br /&gt;
! Size&lt;br /&gt;
|-&lt;br /&gt;
|Version no&lt;br /&gt;
|currently 1&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|In-counter&lt;br /&gt;
| positive integer [[ Protocol_specification#Variable_length_integer|VI = VarInt]]&lt;br /&gt;
| 1 - 9 bytes &lt;br /&gt;
|-&lt;br /&gt;
|list of inputs&lt;br /&gt;
|[[Transactions#general_format_.28inside_a_block.29_of_each_input_of_a_transaction_-_Txin|the first input of the first transaction is also called &amp;quot;coinbase&amp;quot; (its content was ignored in earlier versions)]]&lt;br /&gt;
|&amp;lt;in-counter&amp;gt;-many inputs&lt;br /&gt;
|-&lt;br /&gt;
|Out-counter&lt;br /&gt;
| positive integer [[ Protocol_specification#Variable_length_integer|VI = VarInt]]&lt;br /&gt;
| 1 - 9 bytes&lt;br /&gt;
|-&lt;br /&gt;
|list of outputs&lt;br /&gt;
|[[Transactions#general_format_.28inside_a_block.29_of_each_output_of_a_transaction_-_Txout|the outputs of the first transaction spend the mined bitcoins for the block]]&lt;br /&gt;
|&amp;lt;out-counter&amp;gt;-many outputs&lt;br /&gt;
|-&lt;br /&gt;
|lock_time&lt;br /&gt;
|if non-zero and sequence numbers are &amp;lt; 0xFFFFFFFF: block height or timestamp when transaction is final&lt;br /&gt;
|4 bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Principle example of a Bitcoin transaction with 1 input and 1 output only ===&lt;br /&gt;
&lt;br /&gt;
==== Data ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Input:&lt;br /&gt;
Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6&lt;br /&gt;
Index: 0&lt;br /&gt;
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10&lt;br /&gt;
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
Value: 5000000000&lt;br /&gt;
scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d&lt;br /&gt;
OP_EQUALVERIFY OP_CHECKSIG&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Explanation ====&lt;br /&gt;
&lt;br /&gt;
The input in this transaction imports 50 BTC from output #0 in transaction f5d8... Then the output sends 50 BTC to a Bitcoin address (expressed here in hexadecimal 4043... instead of the normal base58). When the recipient wants to spend this money, he will reference output #0 of this transaction in an input of his own transaction.&lt;br /&gt;
&lt;br /&gt;
===== Input =====&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;input&#039;&#039;&#039; is a reference to an output in a different transaction. Multiple inputs are often listed in a transaction. The values of the referenced outputs are added up, and the total is usable in the outputs of this transaction. &#039;&#039;&#039;Previous tx&#039;&#039;&#039; is a [[hash]] of a previous transaction. &#039;&#039;&#039;Index&#039;&#039;&#039; is the specific output in the referenced transaction. &#039;&#039;&#039;ScriptSig&#039;&#039;&#039; is the first half of a [[script]] (discussed in more detail later).&lt;br /&gt;
&lt;br /&gt;
The script contains two components, a signature and a public key. The public key must match the hash given in the script of the redeemed output. The public key is used to verify the redeemers signature, which is the second component. More precisely, the second component is an ECDSA signature over a hash of a simplified version of the transaction. It, combined with the public key, proves the transaction was created by the real owner of the address in question. Various flags define how the transaction is simplified and can be used to create different types of payment.&lt;br /&gt;
&lt;br /&gt;
===== Output =====&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;output&#039;&#039;&#039; contains instructions for sending bitcoins. &#039;&#039;&#039;Value&#039;&#039;&#039; is the number of Satoshi (1 BTC = 100,000,000 Satoshi) that this output will be worth when claimed. &#039;&#039;&#039;ScriptPubKey&#039;&#039;&#039; is the second half of a script (discussed later). There can be more than one output, and they share the combined value of the inputs. Because each output from one transaction can only ever be referenced once by an input of a subsequent transaction, the entire combined input value needs to be sent in an output if you don&#039;t want to lose it. If the input is worth 50 BTC but you only want to send 25 BTC, Bitcoin will create two outputs worth 25 BTC: one to the destination, and one back to you (known as &amp;quot;[[change]]&amp;quot;, though you send it to yourself). Any input bitcoins not redeemed in an output is considered a [[transaction fee]]; whoever generates the block will get it.&lt;br /&gt;
[[File:transaction.png|thumb|A sends 100 BTC to C and C generates 50 BTC. C sends 101 BTC to D, and he needs to send himself some change. D sends the 101 BTC to someone else, but they haven&#039;t redeemed it yet. Only D&#039;s output and C&#039;s change are capable of being spent in the current state.]]&lt;br /&gt;
&lt;br /&gt;
===== Verification =====&lt;br /&gt;
&lt;br /&gt;
To verify that inputs are authorized to collect the values of referenced outputs, Bitcoin uses a custom Forth-like [[script|scripting]] system. The input&#039;s scriptSig and the &#039;&#039;referenced&#039;&#039; output&#039;s scriptPubKey are evaluated (in that order), with scriptPubKey using the values left on the stack by scriptSig. The input is authorized if scriptPubKey returns true. Through the scripting system, the sender can create very complex conditions that people have to meet in order to claim the output&#039;s value. For example, it&#039;s possible to create an output that can be claimed by anyone without any authorization. It&#039;s also possible to require that an input be signed by ten different keys, or be redeemable with a password instead of a key.&lt;br /&gt;
&lt;br /&gt;
=== Types of Transaction ===&lt;br /&gt;
Bitcoin currently creates two different scriptSig/scriptPubKey pairs. These are described below.&lt;br /&gt;
&lt;br /&gt;
It is possible to design more complex types of transactions, and link them together into cryptographically enforced agreements. These are known as [[Contracts]].&lt;br /&gt;
&lt;br /&gt;
==== Pay-to-PubkeyHash ====&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
A Bitcoin [[address]] is only a hash, so the sender can&#039;t provide a full public key in scriptPubKey. When redeeming coins that have been sent to a Bitcoin address, the recipient provides both the signature and the public key. The script verifies that the provided public key does hash to the hash in scriptPubKey, and then it also checks the signature against the public key.&lt;br /&gt;
&lt;br /&gt;
Checking process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
| &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Top stack item is duplicated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt;&lt;br /&gt;
|&amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Top stack item is hashed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt; &amp;lt;pubKeyHash&amp;gt;&lt;br /&gt;
|OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Constant added.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
| Equality is checked between the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Pay-to-Script-Hash ====&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUAL &lt;br /&gt;
 scriptSig: ..signatures... &amp;lt;serialized script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 m-of-n multi-signature transaction:&lt;br /&gt;
 scriptSig: 0 &amp;lt;sig1&amp;gt; ... &amp;lt;script&amp;gt;&lt;br /&gt;
 script: OP_m &amp;lt;pubKey1&amp;gt; ... OP_n OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
P2SH addresses were created with the motivation of moving &amp;quot;the responsibility for supplying the conditions to redeem a transaction from the sender of the funds to the redeemer. They allow the sender to fund an arbitrary transaction, no matter how complicated, using a 20-byte hash&amp;quot;[https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki#motivation 1]. Pay-to-Pubkey-hash addresses are similarly a 20-byte hash of the public key. &lt;br /&gt;
&lt;br /&gt;
Pay-to-script-hash provides a means for complicated transactions, unlike the Pay-to-pubkey-hash, which has a specific definition for scriptPubKey, and scriptSig. The specification places no limitations on the script, and hence absolutely any contract can be funded using these addresses. &lt;br /&gt;
&lt;br /&gt;
The scriptPubKey in the funding transaction is script which ensures that the script supplied in the redeeming transaction hashes to the script used to create the address. &lt;br /&gt;
&lt;br /&gt;
In the scriptSig above, &#039;signatures&#039; refers to any script which is sufficient to satisfy the following serialized script. &lt;br /&gt;
&lt;br /&gt;
Checking process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
| 0 &amp;lt;sig1&amp;gt; &amp;lt;sig2&amp;gt; OP_2 &amp;lt;pubKey1&amp;gt; &amp;lt;pubKey2&amp;gt; &amp;lt;pubKey3&amp;gt; OP_3 OP_CHECKMULTISIG &lt;br /&gt;
| Only the scriptSig is used.&lt;br /&gt;
|-&lt;br /&gt;
| 0 &amp;lt;sig1&amp;gt; &amp;lt;sig2&amp;gt; OP_2 &amp;lt;pubKey1&amp;gt; &amp;lt;pubKey2&amp;gt; &amp;lt;pubKey3&amp;gt; OP_3 &lt;br /&gt;
| OP_CHECKMULTISIG &lt;br /&gt;
| Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
| true&lt;br /&gt;
| Empty&lt;br /&gt;
| Signatures validated in the order of the keys in the script.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also [[BIP 0016]]&lt;br /&gt;
&lt;br /&gt;
==== Generation ====&lt;br /&gt;
&lt;br /&gt;
Generations have a single input, and this input has a &amp;quot;coinbase&amp;quot; parameter instead of a scriptSig. The data in &amp;quot;coinbase&amp;quot; can be anything; it isn&#039;t used. Bitcoin puts the current compact-format [[target]] and the arbitrary-precision &amp;quot;extraNonce&amp;quot; number there, which increments every time the Nonce field in the [[block_hashing_algorithm|block header]] overflows. Outputs can be anything, but Bitcoin creates one exactly like an IP address transaction.&lt;br /&gt;
The extranonce contributes to enlarge the domain for the proof of work function. Miners can easily modify nonce (4byte), timestamp and extranonce (2 to 100bytes).&lt;br /&gt;
&lt;br /&gt;
=== general format (inside a block) of each input of a transaction - Txin ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field&lt;br /&gt;
! Description&lt;br /&gt;
! Size&lt;br /&gt;
|-&lt;br /&gt;
|Previous Transaction hash &lt;br /&gt;
| doubled [[Wikipedia:SHA-256|SHA256]]-[[hash|hashed]] of a (previous) to-be-used transaction&lt;br /&gt;
|32 bytes&lt;br /&gt;
|-&lt;br /&gt;
|Previous Txout-index&lt;br /&gt;
| non negative integer indexing an output of the to-be-used transaction&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|Txin-script length&lt;br /&gt;
|non negative integer [[ Protocol_specification#Variable_length_integer|VI = VarInt]]&lt;br /&gt;
|1 - 9 bytes&lt;br /&gt;
|-&lt;br /&gt;
|Txin-script / scriptSig&lt;br /&gt;
|[[Script]]&lt;br /&gt;
|&amp;lt;in-script length&amp;gt;-many bytes&lt;br /&gt;
|-&lt;br /&gt;
|sequence_no&lt;br /&gt;
|normally 0xFFFFFFFF; irrelevant unless transaction&#039;s lock_time is &amp;gt; 0&lt;br /&gt;
|4 bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The input sufficiently describes where and how to get the bitcoin amout to be redeemed.&lt;br /&gt;
If it is the (only) input of the first transaction of a block, it is called the generation transaction input and its content completely ignored. (Historically the Previous Transaction hash is 0 and the Previous Txout-index is -1.)&lt;br /&gt;
&lt;br /&gt;
=== general format (inside a block) of each output of a transaction - Txout ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field&lt;br /&gt;
! Description&lt;br /&gt;
! Size&lt;br /&gt;
|-&lt;br /&gt;
|value&lt;br /&gt;
|non negative integer giving the number of [[FAQ#What_do_I_call_the_various_denominations_of_bitcoins.3F|Satoshis(BTC/10^8)]] to be transfered&lt;br /&gt;
|8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|Txout-script length&lt;br /&gt;
|non negative integer&lt;br /&gt;
|1 - 9 bytes [[ Protocol_specification#Variable_length_integer|VI = VarInt]]&lt;br /&gt;
|-&lt;br /&gt;
|Txout-script / scriptPubKey&lt;br /&gt;
|[[Script]]&lt;br /&gt;
|&amp;lt;out-script length&amp;gt;-many bytes&lt;br /&gt;
|}&lt;br /&gt;
The output sets the conditions to release this bitcoin amount later. The sum of the output values of the first transaction is the value of the mined bitcoins for the block plus possible transactions fees of the other transactions in the block.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Script]]&lt;br /&gt;
* [[BTC Sender]] Transmit raw, hand-crafted transactions&lt;br /&gt;
* [[Raw Transactions]]&lt;br /&gt;
* [[Transaction Malleability]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Vocabulary]]&lt;br /&gt;
[[de:Transaktion]]&lt;br /&gt;
[[es:Transacción]]&lt;br /&gt;
[[pl:Transakcje]]&lt;/div&gt;</summary>
		<author><name>Luzius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Transaction&amp;diff=49013</id>
		<title>Transaction</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Transaction&amp;diff=49013"/>
		<updated>2014-07-21T07:57:02Z</updated>

		<summary type="html">&lt;p&gt;Luzius: improved wording. the public key itself does not prove anything&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TxBinaryMap.png|thumb|right|Byte-map of Transaction with each type of TxIn and TxOut]]&lt;br /&gt;
A &#039;&#039;&#039;transaction&#039;&#039;&#039; is a signed section of data that is broadcast to the [[network]] and collected into [[block|blocks]]. It typically references previous transaction(s) and dedicates a certain number of bitcoins from it to one or more new public key(s) (Bitcoin address). It is not encrypted (nothing in Bitcoin is encrypted).&lt;br /&gt;
&lt;br /&gt;
A [[block chain browser]] is a site where every transaction included within the block chain can be viewed.  This is useful for seeing the technical details of transaction in action, and for payment verification purposes.&lt;br /&gt;
&lt;br /&gt;
=== general format of a Bitcoin transaction (inside a block) ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field&lt;br /&gt;
! Description&lt;br /&gt;
! Size&lt;br /&gt;
|-&lt;br /&gt;
|Version no&lt;br /&gt;
|currently 1&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|In-counter&lt;br /&gt;
| positive integer [[ Protocol_specification#Variable_length_integer|VI = VarInt]]&lt;br /&gt;
| 1 - 9 bytes &lt;br /&gt;
|-&lt;br /&gt;
|list of inputs&lt;br /&gt;
|[[Transactions#general_format_.28inside_a_block.29_of_each_input_of_a_transaction_-_Txin|the first input of the first transaction is also called &amp;quot;coinbase&amp;quot; (its content was ignored in earlier versions)]]&lt;br /&gt;
|&amp;lt;in-counter&amp;gt;-many inputs&lt;br /&gt;
|-&lt;br /&gt;
|Out-counter&lt;br /&gt;
| positive integer [[ Protocol_specification#Variable_length_integer|VI = VarInt]]&lt;br /&gt;
| 1 - 9 bytes&lt;br /&gt;
|-&lt;br /&gt;
|list of outputs&lt;br /&gt;
|[[Transactions#general_format_.28inside_a_block.29_of_each_output_of_a_transaction_-_Txout|the outputs of the first transaction spend the mined bitcoins for the block]]&lt;br /&gt;
|&amp;lt;out-counter&amp;gt;-many outputs&lt;br /&gt;
|-&lt;br /&gt;
|lock_time&lt;br /&gt;
|if non-zero and sequence numbers are &amp;lt; 0xFFFFFFFF: block height or timestamp when transaction is final&lt;br /&gt;
|4 bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Principle example of a Bitcoin transaction with 1 input and 1 output only ===&lt;br /&gt;
&lt;br /&gt;
==== Data ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Input:&lt;br /&gt;
Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6&lt;br /&gt;
Index: 0&lt;br /&gt;
scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10&lt;br /&gt;
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
Value: 5000000000&lt;br /&gt;
scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d&lt;br /&gt;
OP_EQUALVERIFY OP_CHECKSIG&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Explanation ====&lt;br /&gt;
&lt;br /&gt;
The input in this transaction imports 50 BTC from output #0 in transaction f5d8... Then the output sends 50 BTC to a Bitcoin address (expressed here in hexadecimal 4043... instead of the normal base58). When the recipient wants to spend this money, he will reference output #0 of this transaction in an input of his own transaction.&lt;br /&gt;
&lt;br /&gt;
===== Input =====&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;input&#039;&#039;&#039; is a reference to an output in a different transaction. Multiple inputs are often listed in a transaction. The values of the referenced outputs are added up, and the total is usable in the outputs of this transaction. &#039;&#039;&#039;Previous tx&#039;&#039;&#039; is a [[hash]] of a previous transaction. &#039;&#039;&#039;Index&#039;&#039;&#039; is the specific output in the referenced transaction. &#039;&#039;&#039;ScriptSig&#039;&#039;&#039; is the first half of a [[script]] (discussed in more detail later).&lt;br /&gt;
&lt;br /&gt;
The script contains two components, a signature and a public key. The public key must match the one specified in the script of the redeemed output. The public key is used to verify the redeemers signature, which is the second component. More precisely, the second component is an ECDSA signature over a hash of a simplified version of the transaction. It, combined with the public key, proves the transaction was created by the real owner of the address in question. Various flags define how the transaction is simplified and can be used to create different types of payment.&lt;br /&gt;
&lt;br /&gt;
===== Output =====&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;output&#039;&#039;&#039; contains instructions for sending bitcoins. &#039;&#039;&#039;Value&#039;&#039;&#039; is the number of Satoshi (1 BTC = 100,000,000 Satoshi) that this output will be worth when claimed. &#039;&#039;&#039;ScriptPubKey&#039;&#039;&#039; is the second half of a script (discussed later). There can be more than one output, and they share the combined value of the inputs. Because each output from one transaction can only ever be referenced once by an input of a subsequent transaction, the entire combined input value needs to be sent in an output if you don&#039;t want to lose it. If the input is worth 50 BTC but you only want to send 25 BTC, Bitcoin will create two outputs worth 25 BTC: one to the destination, and one back to you (known as &amp;quot;[[change]]&amp;quot;, though you send it to yourself). Any input bitcoins not redeemed in an output is considered a [[transaction fee]]; whoever generates the block will get it.&lt;br /&gt;
[[File:transaction.png|thumb|A sends 100 BTC to C and C generates 50 BTC. C sends 101 BTC to D, and he needs to send himself some change. D sends the 101 BTC to someone else, but they haven&#039;t redeemed it yet. Only D&#039;s output and C&#039;s change are capable of being spent in the current state.]]&lt;br /&gt;
&lt;br /&gt;
===== Verification =====&lt;br /&gt;
&lt;br /&gt;
To verify that inputs are authorized to collect the values of referenced outputs, Bitcoin uses a custom Forth-like [[script|scripting]] system. The input&#039;s scriptSig and the &#039;&#039;referenced&#039;&#039; output&#039;s scriptPubKey are evaluated (in that order), with scriptPubKey using the values left on the stack by scriptSig. The input is authorized if scriptPubKey returns true. Through the scripting system, the sender can create very complex conditions that people have to meet in order to claim the output&#039;s value. For example, it&#039;s possible to create an output that can be claimed by anyone without any authorization. It&#039;s also possible to require that an input be signed by ten different keys, or be redeemable with a password instead of a key.&lt;br /&gt;
&lt;br /&gt;
=== Types of Transaction ===&lt;br /&gt;
Bitcoin currently creates two different scriptSig/scriptPubKey pairs. These are described below.&lt;br /&gt;
&lt;br /&gt;
It is possible to design more complex types of transactions, and link them together into cryptographically enforced agreements. These are known as [[Contracts]].&lt;br /&gt;
&lt;br /&gt;
==== Pay-to-PubkeyHash ====&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
 scriptSig: &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
A Bitcoin [[address]] is only a hash, so the sender can&#039;t provide a full public key in scriptPubKey. When redeeming coins that have been sent to a Bitcoin address, the recipient provides both the signature and the public key. The script verifies that the provided public key does hash to the hash in scriptPubKey, and then it also checks the signature against the public key.&lt;br /&gt;
&lt;br /&gt;
Checking process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
| &amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| scriptSig and scriptPubKey are combined.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_DUP OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
| OP_HASH160 &amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG &lt;br /&gt;
| Top stack item is duplicated.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt;&lt;br /&gt;
|&amp;lt;pubKeyHash&amp;gt; OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Top stack item is hashed.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt; &amp;lt;pubHashA&amp;gt; &amp;lt;pubKeyHash&amp;gt;&lt;br /&gt;
|OP_EQUALVERIFY OP_CHECKSIG&lt;br /&gt;
| Constant added.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;sig&amp;gt; &amp;lt;pubKey&amp;gt;&lt;br /&gt;
|OP_CHECKSIG&lt;br /&gt;
| Equality is checked between the top two stack items.&lt;br /&gt;
|-&lt;br /&gt;
|true&lt;br /&gt;
|Empty.&lt;br /&gt;
|Signature is checked for top two stack items.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Pay-to-Script-Hash ====&lt;br /&gt;
&lt;br /&gt;
 scriptPubKey: OP_HASH160 &amp;lt;scriptHash&amp;gt; OP_EQUAL &lt;br /&gt;
 scriptSig: ..signatures... &amp;lt;serialized script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 m-of-n multi-signature transaction:&lt;br /&gt;
 scriptSig: 0 &amp;lt;sig1&amp;gt; ... &amp;lt;script&amp;gt;&lt;br /&gt;
 script: OP_m &amp;lt;pubKey1&amp;gt; ... OP_n OP_CHECKMULTISIG&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
P2SH addresses were created with the motivation of moving &amp;quot;the responsibility for supplying the conditions to redeem a transaction from the sender of the funds to the redeemer. They allow the sender to fund an arbitrary transaction, no matter how complicated, using a 20-byte hash&amp;quot;[https://github.com/bitcoin/bips/blob/master/bip-0016.mediawiki#motivation 1]. Pay-to-Pubkey-hash addresses are similarly a 20-byte hash of the public key. &lt;br /&gt;
&lt;br /&gt;
Pay-to-script-hash provides a means for complicated transactions, unlike the Pay-to-pubkey-hash, which has a specific definition for scriptPubKey, and scriptSig. The specification places no limitations on the script, and hence absolutely any contract can be funded using these addresses. &lt;br /&gt;
&lt;br /&gt;
The scriptPubKey in the funding transaction is script which ensures that the script supplied in the redeeming transaction hashes to the script used to create the address. &lt;br /&gt;
&lt;br /&gt;
In the scriptSig above, &#039;signatures&#039; refers to any script which is sufficient to satisfy the following serialized script. &lt;br /&gt;
&lt;br /&gt;
Checking process:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Stack &lt;br /&gt;
! Script &lt;br /&gt;
! Description &lt;br /&gt;
|-&lt;br /&gt;
|Empty.&lt;br /&gt;
| 0 &amp;lt;sig1&amp;gt; &amp;lt;sig2&amp;gt; OP_2 &amp;lt;pubKey1&amp;gt; &amp;lt;pubKey2&amp;gt; &amp;lt;pubKey3&amp;gt; OP_3 OP_CHECKMULTISIG &lt;br /&gt;
| Only the scriptSig is used.&lt;br /&gt;
|-&lt;br /&gt;
| 0 &amp;lt;sig1&amp;gt; &amp;lt;sig2&amp;gt; OP_2 &amp;lt;pubKey1&amp;gt; &amp;lt;pubKey2&amp;gt; &amp;lt;pubKey3&amp;gt; OP_3 &lt;br /&gt;
| OP_CHECKMULTISIG &lt;br /&gt;
| Constants are added to the stack.&lt;br /&gt;
|-&lt;br /&gt;
| true&lt;br /&gt;
| Empty&lt;br /&gt;
| Signatures validated in the order of the keys in the script.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
See also [[BIP 0016]]&lt;br /&gt;
&lt;br /&gt;
==== Generation ====&lt;br /&gt;
&lt;br /&gt;
Generations have a single input, and this input has a &amp;quot;coinbase&amp;quot; parameter instead of a scriptSig. The data in &amp;quot;coinbase&amp;quot; can be anything; it isn&#039;t used. Bitcoin puts the current compact-format [[target]] and the arbitrary-precision &amp;quot;extraNonce&amp;quot; number there, which increments every time the Nonce field in the [[block_hashing_algorithm|block header]] overflows. Outputs can be anything, but Bitcoin creates one exactly like an IP address transaction.&lt;br /&gt;
The extranonce contributes to enlarge the domain for the proof of work function. Miners can easily modify nonce (4byte), timestamp and extranonce (2 to 100bytes).&lt;br /&gt;
&lt;br /&gt;
=== general format (inside a block) of each input of a transaction - Txin ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field&lt;br /&gt;
! Description&lt;br /&gt;
! Size&lt;br /&gt;
|-&lt;br /&gt;
|Previous Transaction hash &lt;br /&gt;
| doubled [[Wikipedia:SHA-256|SHA256]]-[[hash|hashed]] of a (previous) to-be-used transaction&lt;br /&gt;
|32 bytes&lt;br /&gt;
|-&lt;br /&gt;
|Previous Txout-index&lt;br /&gt;
| non negative integer indexing an output of the to-be-used transaction&lt;br /&gt;
|4 bytes&lt;br /&gt;
|-&lt;br /&gt;
|Txin-script length&lt;br /&gt;
|non negative integer [[ Protocol_specification#Variable_length_integer|VI = VarInt]]&lt;br /&gt;
|1 - 9 bytes&lt;br /&gt;
|-&lt;br /&gt;
|Txin-script / scriptSig&lt;br /&gt;
|[[Script]]&lt;br /&gt;
|&amp;lt;in-script length&amp;gt;-many bytes&lt;br /&gt;
|-&lt;br /&gt;
|sequence_no&lt;br /&gt;
|normally 0xFFFFFFFF; irrelevant unless transaction&#039;s lock_time is &amp;gt; 0&lt;br /&gt;
|4 bytes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The input sufficiently describes where and how to get the bitcoin amout to be redeemed.&lt;br /&gt;
If it is the (only) input of the first transaction of a block, it is called the generation transaction input and its content completely ignored. (Historically the Previous Transaction hash is 0 and the Previous Txout-index is -1.)&lt;br /&gt;
&lt;br /&gt;
=== general format (inside a block) of each output of a transaction - Txout ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Field&lt;br /&gt;
! Description&lt;br /&gt;
! Size&lt;br /&gt;
|-&lt;br /&gt;
|value&lt;br /&gt;
|non negative integer giving the number of [[FAQ#What_do_I_call_the_various_denominations_of_bitcoins.3F|Satoshis(BTC/10^8)]] to be transfered&lt;br /&gt;
|8 bytes&lt;br /&gt;
|-&lt;br /&gt;
|Txout-script length&lt;br /&gt;
|non negative integer&lt;br /&gt;
|1 - 9 bytes [[ Protocol_specification#Variable_length_integer|VI = VarInt]]&lt;br /&gt;
|-&lt;br /&gt;
|Txout-script / scriptPubKey&lt;br /&gt;
|[[Script]]&lt;br /&gt;
|&amp;lt;out-script length&amp;gt;-many bytes&lt;br /&gt;
|}&lt;br /&gt;
The output sets the conditions to release this bitcoin amount later. The sum of the output values of the first transaction is the value of the mined bitcoins for the block plus possible transactions fees of the other transactions in the block.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Script]]&lt;br /&gt;
* [[BTC Sender]] Transmit raw, hand-crafted transactions&lt;br /&gt;
* [[Raw Transactions]]&lt;br /&gt;
* [[Transaction Malleability]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;br /&gt;
[[Category:Vocabulary]]&lt;br /&gt;
[[de:Transaktion]]&lt;br /&gt;
[[es:Transacción]]&lt;br /&gt;
[[pl:Transakcje]]&lt;/div&gt;</summary>
		<author><name>Luzius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Bitcoin_Wiki:Community_portal&amp;diff=42527</id>
		<title>Bitcoin Wiki:Community portal</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Bitcoin_Wiki:Community_portal&amp;diff=42527"/>
		<updated>2013-11-22T17:10:09Z</updated>

		<summary type="html">&lt;p&gt;Luzius: /* Non-profit Organizations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bitcoin Community Forums on various platforms ==&lt;br /&gt;
&lt;br /&gt;
* [http://bitcointalk.org/ Bitcointalk]&lt;br /&gt;
* [http://www.reddit.com/r/Bitcoin/ /r/Bitcoin]&lt;br /&gt;
* [http://bitcoin.org.uk/forums Bitcoin Forums]&lt;br /&gt;
* [http://bitcoin.stackexchange.com/ The Bitcoin StackExchange]&lt;br /&gt;
* [http://www.quora.com/Bitcoin/ Bitcoin group on Quora]&lt;br /&gt;
* [http://bitcointrading.com Bitcoin Trading Forum]&lt;br /&gt;
* [http://tweetforum.com/bitcoin TweetForum Bitcoin Community]&lt;br /&gt;
* [http://www.bitcoin-board.com/ Bitcoin-Board Forum]&lt;br /&gt;
* [http://www.bitcoinforums.net BitcoinForums.Net]&lt;br /&gt;
* [http://groups.google.com/group/bitcoin-discussion Bitcoin google group]&lt;br /&gt;
* [http://goo.gl/2PncY Bitcoin Portal p2p (on Osiris platform)]&lt;br /&gt;
* [http://www.btclog.com btc::log]&lt;br /&gt;
* [http://www.facebook.com/bitcoins Facebook page]&lt;br /&gt;
* [http://www.facebook.com/groups/136003253120130 Facebook Group]&lt;br /&gt;
* [https://plus.google.com/107581642674912229828/ Bitcoin Google+]&lt;br /&gt;
* [http://www.bitcointribe.com Bitcoin Tribe Social Network]&lt;br /&gt;
&lt;br /&gt;
===Regions / Languages===&lt;br /&gt;
&lt;br /&gt;
* [https://www.bitcoin-italia.org Bitcoin Italia]&lt;br /&gt;
* [http://forum.bitcoin.com.au/ Bitcoin Australia Forum]&lt;br /&gt;
* [http://www.bitcoin.org.il Isreali Bitcoin community forum]&lt;br /&gt;
* [http://bitcoin.pl/forum/ Polish Bitcoin community forum]&lt;br /&gt;
* [http://btcsec.com/ BTCsec.com] Russian website about Bitcoin&lt;br /&gt;
* [https://forum.btcsec.com/ BTCsec.com Bitcoin community forum (Russian)]&lt;br /&gt;
* [http://rubitcoin.com/ Russian bitcoin community forum]&lt;br /&gt;
&lt;br /&gt;
== Bitcoin Community Groups on Bitcoin Wiki platform ==&lt;br /&gt;
&lt;br /&gt;
=== Special interests ===&lt;br /&gt;
* [[Bitcoin Wiki]]-group&lt;br /&gt;
&lt;br /&gt;
=== Geographically ===&lt;br /&gt;
* [[Espagna]] / [[Spain]] (E.) &lt;br /&gt;
* [[France]]  / [[France]] (F.)&lt;br /&gt;
* [[Germany]] / [[Deutschland]] (D.) &lt;br /&gt;
* [[Netherlands]] (NL) and [[Belgium]] (B.)&lt;br /&gt;
* [[United Kingdom]] of Great Brittain (GB) and Northern Ireland&lt;br /&gt;
* [[United States]] of America (USA)&lt;br /&gt;
&lt;br /&gt;
====Clusters====&lt;br /&gt;
There are various temporary and permanent clusters where bitcoin-friendly communities form. Temporary clusters are listed in [[Bitcoin:Community_portal#Events|events]].  Permanent communities include:&lt;br /&gt;
&lt;br /&gt;
* [http://bitcointalk.org/index.php?topic=66832.0 Free State Project] New Hampshire&lt;br /&gt;
* [http://www.thebitcointrader.com/2012/05/bitcoins-hogwarts-san-francisco-tech.html 20 Mission] San Francisco, CA&lt;br /&gt;
* [http://bitcoinmagazine.net/bitcoin-kiez-rollout-3-new-btc-accepting-stores-and-restaurants-in-berlin-more-to-come Bitcoin Kiez] Berlin, Germany&lt;br /&gt;
&lt;br /&gt;
== IRC Chat ==&lt;br /&gt;
&lt;br /&gt;
* See [[IRC_channels|IRC channels]]&lt;br /&gt;
&lt;br /&gt;
==Wiki Users==&lt;br /&gt;
&lt;br /&gt;
* [http://en.bitcoin.it/wiki/Special:ListUsers List of Users] registered on the Bitcoin wiki.&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
Periodic events where Bitcoin community meets include PorcFest, Chaos Computer Camp, Burning Man, Bitcoin conferences and more.&lt;br /&gt;
&lt;br /&gt;
* [[Meetups]]&lt;br /&gt;
* [http://bitcointalk.org/index.php?topic=4526.0 Events, conferences and other events]&lt;br /&gt;
&lt;br /&gt;
==Bitcoin Related Publications==&lt;br /&gt;
&lt;br /&gt;
* [http://bitcoinmagazine.net Bitcoin Magazine] periodical printed publication&lt;br /&gt;
* [http://twitter.com/bitcoinnews/bitcoin @BitcoinNews/bitcoin] Twitter list&lt;br /&gt;
* [[Bitcoin Weekly]] weekly newspaper by [[User:Kiba|Kiba]]&lt;br /&gt;
* See [[:Category:Blogs|Blogs]] category&lt;br /&gt;
* See [[:Category:Directories|Directories]] category&lt;br /&gt;
* See [[Press]]&lt;br /&gt;
&lt;br /&gt;
==Education==&lt;br /&gt;
&lt;br /&gt;
* [[:Category:Educational|Educational category]]&lt;br /&gt;
&lt;br /&gt;
== Maps ==&lt;br /&gt;
* [http://bitcoinyellowpages.com Bitcoin Yellow Pages], A fast growing Bitcoin search directory showing all Bitcoin business locations on a world map. Search by keyword, location, or category to find the Bitcoin business that fits your needs.&lt;br /&gt;
* [http://coinmap.org/ CoinMap], collaborative map based on OpenStreetMap data and rendering&lt;br /&gt;
* [[Bitcoin.local]] Local exchanges&lt;br /&gt;
* The [[Bitcoin Map (Collaborative map)|Bitcoin Map]] collaborative map&lt;br /&gt;
* [[Bitcoin Users Worldwide]] - Find nearby Bitcoin users • Engage in local trade • Add your own offers • Get notifications&lt;br /&gt;
&lt;br /&gt;
== Monitoring ==&lt;br /&gt;
* [http://bitcoincharts.com/markets/ Bitcoin Charts] displays an overview of Bitcoin exchange markets.&lt;br /&gt;
* The [http://www.bitcoinmonitor.com/ Bitcoin Monitor] visualizes transactions, new blocks and trades on markets as they are happening.&lt;br /&gt;
* [http://www.bitcoinwatch.com/ Bitcoin Watch] has various statistics on things like the size of the economy or the number of transactions.&lt;br /&gt;
&lt;br /&gt;
== Portfolio ==&lt;br /&gt;
* [http://my-btc.info MY-BTC.INFO] A free profit/loss portfolio manager for Bitcoins and other digital currencies.&lt;br /&gt;
* [http://myBitWorth.com myBitWorth] - allows you to track your bitcoin holdings over multiple addresses and portfolios on the bitcoin securities exchanges.&lt;br /&gt;
&lt;br /&gt;
== Bitcoin Project ==&lt;br /&gt;
* [http://www.bitcoin.org Bitcoin.org] Official project site&lt;br /&gt;
* [[:Category:Developer|Developer]] pages&lt;br /&gt;
&lt;br /&gt;
== Non-profit Organizations ==&lt;br /&gt;
&lt;br /&gt;
* [[List_of_Bitcoin_non-profits_around_the_world|List of Bitcoin non-profits around the world]]&lt;br /&gt;
&lt;br /&gt;
== External Communities ==&lt;br /&gt;
* [http://www.etsy.com/teams/10366/bitcoin Bitcoin team on Etsy]&lt;br /&gt;
* [http://weacceptbitcoins.deviantart.com #WeAcceptBitcoins group on DeviantArt]&lt;br /&gt;
* [https://www.couchsurfing.org/group.html?gid=38717 Bitcoin group on Couchsurfing.org]&lt;br /&gt;
* [http://steamcommunity.com/groups/bitcoin Bitcoin group on Steam] platform by Valve&lt;br /&gt;
* [http://forums.somethingawful.com/showthread.php?threadid=3413928 Bitcoin on SomethingAwful]&lt;br /&gt;
* [http://AnonCoin.org AnonCoin.org]&lt;br /&gt;
* [http://forum.guildminers.com/ Guildminers Forum]&lt;br /&gt;
* [http://www.Ogrr.com Ogrr]&lt;br /&gt;
* [http://www.coinconnect.org/ CoinConnect] bitcoin social network&lt;br /&gt;
* [http://www.rugatu.com/ Rugatu] Q&amp;amp;A Community&lt;/div&gt;</summary>
		<author><name>Luzius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=List_of_Bitcoin_non-profits_around_the_world&amp;diff=42526</id>
		<title>List of Bitcoin non-profits around the world</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=List_of_Bitcoin_non-profits_around_the_world&amp;diff=42526"/>
		<updated>2013-11-22T16:05:44Z</updated>

		<summary type="html">&lt;p&gt;Luzius: Fixing Swiss link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will list all the known Bitcoin and crypto-currency non-profits around the world. The criterias for being on this list are:&lt;br /&gt;
&lt;br /&gt;
# A focus on Bitcoin or crypto-currency (merely accepting Bitcoin donations is not enough)&lt;br /&gt;
# Being a non-profit&lt;br /&gt;
# The organization needs to be either a registered non-profit or in the process of active registration.&lt;br /&gt;
&lt;br /&gt;
= List of organizations (by country of residence)=&lt;br /&gt;
== Australia: The Bitcoin Association of Australia ==&lt;br /&gt;
* Board members:&lt;br /&gt;
** [[Martin Bajalan]]&lt;br /&gt;
** [[Max Kaye]] Treasurer&lt;br /&gt;
** [[Adam Poulton]] Secretary&lt;br /&gt;
** [[Pantelis Roussakis]] Vice-President&lt;br /&gt;
** [[Bret Treasure]]&lt;br /&gt;
** [[Jason Williams]] President&lt;br /&gt;
** [[Tristan Winters]]&lt;br /&gt;
&lt;br /&gt;
== Austria: Bitcoin Austria ==&lt;br /&gt;
* [http://bitcoin-austria.at/ Website]&lt;br /&gt;
&lt;br /&gt;
== Belgium: Belgian Bitcoin Association ==&lt;br /&gt;
* Directors:&lt;br /&gt;
** [[Arne Brutschy]]&lt;br /&gt;
** [[Chris D&#039;Costa]]&lt;br /&gt;
** [[Jérémie Dubois-Lacoste]]&lt;br /&gt;
** [[Filip Roose]]&lt;br /&gt;
** [[Thomas Spaas]] &lt;br /&gt;
** [[Jean Wallemacq]]&lt;br /&gt;
&lt;br /&gt;
== Canada: The Bitcoin Embassy ==&lt;br /&gt;
* [http://bitcoinembassy.ca website]&lt;br /&gt;
A non-profit organization seeking to promote the adoption of Bitcoin and related crypto-technologies, as well as facilitating networking throughout the Bitcoin community in Canada and worldwide.&lt;br /&gt;
&lt;br /&gt;
== Germany: Bundesverband Bitcoin e.V. ==&lt;br /&gt;
* [http://www.bundesverband-bitcoin.de/ Website]&lt;br /&gt;
* Board members:&lt;br /&gt;
** [[Radoslav Albrecht]]&lt;br /&gt;
** [[Dennis Daiber]]&lt;br /&gt;
** [[Oliver Flaskämper]]&lt;br /&gt;
** [[JF Gallas]] Chairman&lt;br /&gt;
** [[Timo Hanke]]&lt;br /&gt;
** [[Jörg von Minckwitz]]&lt;br /&gt;
** [[Jörg Platzer]] Vice Chairman&lt;br /&gt;
&lt;br /&gt;
== Israel: איגוד הביטקוין הישראלי ==&lt;br /&gt;
See [[The Israeli Bitcoin Association]].&lt;br /&gt;
&lt;br /&gt;
== Italy: Bitcoin Foundation Italia ==&lt;br /&gt;
* [https://www.bitcoin-italia.org/ Website]&lt;br /&gt;
* Board members:&lt;br /&gt;
** [[Andrea Medri]]&lt;br /&gt;
** [[Davide Barbieri]]&lt;br /&gt;
** [[Franco Cimatti]]&lt;br /&gt;
&lt;br /&gt;
== Netherlands: Stichting Bitcoin Nederland ==&lt;br /&gt;
* [http://stichtingbitcoin.nl/ Website]&lt;br /&gt;
* [http://stichtingbitcoin.nl/index.php/de-stichting/het-bestuur/ Board members]:&lt;br /&gt;
** [[Mark van Cuijk]]&lt;br /&gt;
** [[Jouke Hofman]]&lt;br /&gt;
** [[Richard Kohl]]&lt;br /&gt;
** [[Carl Kuntze]]&lt;br /&gt;
** [[Sicco Steenhuisen]] Chairman&lt;br /&gt;
&lt;br /&gt;
== Switzerland: Bitcoin Association Switzerland ==&lt;br /&gt;
* [http://www.bitcoinassociation.ch/ Website]&lt;br /&gt;
* Board members:&lt;br /&gt;
** [[Johann Gevers]] - Treasurer&lt;br /&gt;
** [[Stefan Greiner]] - Secretary&lt;br /&gt;
** [[Luzius Meisser]] - President&lt;br /&gt;
&lt;br /&gt;
== United Kingdom: UK Bitcoin Foundation ==&lt;br /&gt;
* [[Adam Cleary]]&lt;br /&gt;
* [[Paul Gordon]]&lt;br /&gt;
* [[Eitan Jankelewitz]]&lt;br /&gt;
* [[Tom Robinson]]&lt;br /&gt;
* [[James Smith]]&lt;br /&gt;
* [[Lee Welham]]&lt;br /&gt;
&lt;br /&gt;
== United States / International: Bitcoin Foundation ==&lt;br /&gt;
* [http://bitcoinfoundation.org/ website]&lt;br /&gt;
* [https://bitcoinfoundation.org/about/board Board members (alphabetically)]:&lt;br /&gt;
** [[Gavin Andresen]] - Chief Scientist&lt;br /&gt;
** [[Mark Karpeles]] - Board Member&lt;br /&gt;
** [[Jon Matonis]] - Executive Director and Board Member&lt;br /&gt;
** [[Patrick Murck]] - General Counsel&lt;br /&gt;
** [[Charlie Shrem]] - Vice Chairman&lt;br /&gt;
** [[Peter Vessenes]] - Chairman of the Board&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;br /&gt;
== Bitcoin100 ==&lt;br /&gt;
[http://bitcoin100.org/ Bitcoin100] is a charity organization that exists specifically to convince new charities to start accepting bitcoin donations.&lt;br /&gt;
&lt;br /&gt;
== The Mastercoin Foundation ==&lt;br /&gt;
See [http://wiki.mastercoin.org/index.php/The_Mastercoin_Foundation the Mastercoin wiki].&lt;br /&gt;
&lt;br /&gt;
== PikaPay Foundation ==&lt;br /&gt;
&lt;br /&gt;
The [https://PikaPay.com PikaPay Foundation] is a nonprofit dedicated to innovation in today’s financial systems and is focussed on developing the Bitcoin ecosystem.&lt;br /&gt;
&lt;br /&gt;
PikaPay&#039;s Mission: To explore trends in science, technology, community and culture; To overcome limitations of traditional financial services; To improve lives, empower groups and individuals; and To make greater social contributions to the world.&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
# [https://bitcointalk.org/index.php?topic=288677.0 bitcointalk thread]&lt;br /&gt;
# [https://docs.google.com/document/d/1TnTCcT7fiNr5nt-oApr_7DwXAypFoJpZ6lk_w_ykwcc/edit google doc].&lt;br /&gt;
# [[:Category:nonprofit]]&lt;/div&gt;</summary>
		<author><name>Luzius</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=List_of_Bitcoin_non-profits_around_the_world&amp;diff=42525</id>
		<title>List of Bitcoin non-profits around the world</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=List_of_Bitcoin_non-profits_around_the_world&amp;diff=42525"/>
		<updated>2013-11-22T16:04:43Z</updated>

		<summary type="html">&lt;p&gt;Luzius: Ordering organizations by country and using actual name in title, adding link to German association, added Swiss association, added Austria&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page will list all the known Bitcoin and crypto-currency non-profits around the world. The criterias for being on this list are:&lt;br /&gt;
&lt;br /&gt;
# A focus on Bitcoin or crypto-currency (merely accepting Bitcoin donations is not enough)&lt;br /&gt;
# Being a non-profit&lt;br /&gt;
# The organization needs to be either a registered non-profit or in the process of active registration.&lt;br /&gt;
&lt;br /&gt;
= List of organizations (by country of residence)=&lt;br /&gt;
== Australia: The Bitcoin Association of Australia ==&lt;br /&gt;
* Board members:&lt;br /&gt;
** [[Martin Bajalan]]&lt;br /&gt;
** [[Max Kaye]] Treasurer&lt;br /&gt;
** [[Adam Poulton]] Secretary&lt;br /&gt;
** [[Pantelis Roussakis]] Vice-President&lt;br /&gt;
** [[Bret Treasure]]&lt;br /&gt;
** [[Jason Williams]] President&lt;br /&gt;
** [[Tristan Winters]]&lt;br /&gt;
&lt;br /&gt;
== Austria: Bitcoin Austria ==&lt;br /&gt;
* [http://bitcoin-austria.at/ Website]&lt;br /&gt;
&lt;br /&gt;
== Belgium: Belgian Bitcoin Association ==&lt;br /&gt;
* Directors:&lt;br /&gt;
** [[Arne Brutschy]]&lt;br /&gt;
** [[Chris D&#039;Costa]]&lt;br /&gt;
** [[Jérémie Dubois-Lacoste]]&lt;br /&gt;
** [[Filip Roose]]&lt;br /&gt;
** [[Thomas Spaas]] &lt;br /&gt;
** [[Jean Wallemacq]]&lt;br /&gt;
&lt;br /&gt;
== Canada: The Bitcoin Embassy ==&lt;br /&gt;
* [http://bitcoinembassy.ca website]&lt;br /&gt;
A non-profit organization seeking to promote the adoption of Bitcoin and related crypto-technologies, as well as facilitating networking throughout the Bitcoin community in Canada and worldwide.&lt;br /&gt;
&lt;br /&gt;
== Germany: Bundesverband Bitcoin e.V. ==&lt;br /&gt;
* [http://www.bundesverband-bitcoin.de/ Website]&lt;br /&gt;
* Board members:&lt;br /&gt;
** [[Radoslav Albrecht]]&lt;br /&gt;
** [[Dennis Daiber]]&lt;br /&gt;
** [[Oliver Flaskämper]]&lt;br /&gt;
** [[JF Gallas]] Chairman&lt;br /&gt;
** [[Timo Hanke]]&lt;br /&gt;
** [[Jörg von Minckwitz]]&lt;br /&gt;
** [[Jörg Platzer]] Vice Chairman&lt;br /&gt;
&lt;br /&gt;
== Israel: איגוד הביטקוין הישראלי ==&lt;br /&gt;
See [[The Israeli Bitcoin Association]].&lt;br /&gt;
&lt;br /&gt;
== Italy: Bitcoin Foundation Italia ==&lt;br /&gt;
* [https://www.bitcoin-italia.org/ Website]&lt;br /&gt;
* Board members:&lt;br /&gt;
** [[Andrea Medri]]&lt;br /&gt;
** [[Davide Barbieri]]&lt;br /&gt;
** [[Franco Cimatti]]&lt;br /&gt;
&lt;br /&gt;
== Netherlands: Stichting Bitcoin Nederland ==&lt;br /&gt;
* [http://stichtingbitcoin.nl/ Website]&lt;br /&gt;
* [http://stichtingbitcoin.nl/index.php/de-stichting/het-bestuur/ Board members]:&lt;br /&gt;
** [[Mark van Cuijk]]&lt;br /&gt;
** [[Jouke Hofman]]&lt;br /&gt;
** [[Richard Kohl]]&lt;br /&gt;
** [[Carl Kuntze]]&lt;br /&gt;
** [[Sicco Steenhuisen]] Chairman&lt;br /&gt;
&lt;br /&gt;
== Switzerland: Bitcoin Association Switzerland ==&lt;br /&gt;
* [https://www.bitcoinassociation.ch/ Website]&lt;br /&gt;
* Board members:&lt;br /&gt;
** [[Johann Gevers]] - Treasurer&lt;br /&gt;
** [[Stefan Greiner]] - Secretary&lt;br /&gt;
** [[Luzius Meisser]] - President&lt;br /&gt;
&lt;br /&gt;
== United Kingdom: UK Bitcoin Foundation ==&lt;br /&gt;
* [[Adam Cleary]]&lt;br /&gt;
* [[Paul Gordon]]&lt;br /&gt;
* [[Eitan Jankelewitz]]&lt;br /&gt;
* [[Tom Robinson]]&lt;br /&gt;
* [[James Smith]]&lt;br /&gt;
* [[Lee Welham]]&lt;br /&gt;
&lt;br /&gt;
== United States / International: Bitcoin Foundation ==&lt;br /&gt;
* [http://bitcoinfoundation.org/ website]&lt;br /&gt;
* [https://bitcoinfoundation.org/about/board Board members (alphabetically)]:&lt;br /&gt;
** [[Gavin Andresen]] - Chief Scientist&lt;br /&gt;
** [[Mark Karpeles]] - Board Member&lt;br /&gt;
** [[Jon Matonis]] - Executive Director and Board Member&lt;br /&gt;
** [[Patrick Murck]] - General Counsel&lt;br /&gt;
** [[Charlie Shrem]] - Vice Chairman&lt;br /&gt;
** [[Peter Vessenes]] - Chairman of the Board&lt;br /&gt;
&lt;br /&gt;
= Other =&lt;br /&gt;
== Bitcoin100 ==&lt;br /&gt;
[http://bitcoin100.org/ Bitcoin100] is a charity organization that exists specifically to convince new charities to start accepting bitcoin donations.&lt;br /&gt;
&lt;br /&gt;
== The Mastercoin Foundation ==&lt;br /&gt;
See [http://wiki.mastercoin.org/index.php/The_Mastercoin_Foundation the Mastercoin wiki].&lt;br /&gt;
&lt;br /&gt;
== PikaPay Foundation ==&lt;br /&gt;
&lt;br /&gt;
The [https://PikaPay.com PikaPay Foundation] is a nonprofit dedicated to innovation in today’s financial systems and is focussed on developing the Bitcoin ecosystem.&lt;br /&gt;
&lt;br /&gt;
PikaPay&#039;s Mission: To explore trends in science, technology, community and culture; To overcome limitations of traditional financial services; To improve lives, empower groups and individuals; and To make greater social contributions to the world.&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
# [https://bitcointalk.org/index.php?topic=288677.0 bitcointalk thread]&lt;br /&gt;
# [https://docs.google.com/document/d/1TnTCcT7fiNr5nt-oApr_7DwXAypFoJpZ6lk_w_ykwcc/edit google doc].&lt;br /&gt;
# [[:Category:nonprofit]]&lt;/div&gt;</summary>
		<author><name>Luzius</name></author>
	</entry>
</feed>