<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.bitcoin.it/w/index.php?action=history&amp;feed=atom&amp;title=Weight_units</id>
	<title>Weight units - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://en.bitcoin.it/w/index.php?action=history&amp;feed=atom&amp;title=Weight_units"/>
	<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Weight_units&amp;action=history"/>
	<updated>2026-04-14T08:41:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Weight_units&amp;diff=68469&amp;oldid=prev</id>
		<title>Geremia: /* History */ fixed &quot;Why a discount factor of 4? Why not 2 or 8?&quot; link, too.</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Weight_units&amp;diff=68469&amp;oldid=prev"/>
		<updated>2021-03-02T02:39:04Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;History: &lt;/span&gt; fixed &amp;quot;Why a discount factor of 4? Why not 2 or 8?&amp;quot; link, too.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:39, 2 March 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot;&gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The introduction of a soft-fork [[Segregated Witness|segregated witness]] (segwit) idea in late 2015&amp;lt;ref&amp;gt;[https://youtu.be/fst1IK_mrng?t=36m Segregated witness and its impact on scalability (presentation video)], Pieter Wuille, 2015-12-07&amp;lt;/ref&amp;gt; meant that the transaction format could be extended with new fields that would be excluded from the historic block size limits—allowing an increase in the maximum block size. But that increase was only possible in a [[Softfork|soft fork]] if the new fields contributed less towards the maximum block size than the fields in the original transaction format.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The introduction of a soft-fork [[Segregated Witness|segregated witness]] (segwit) idea in late 2015&amp;lt;ref&amp;gt;[https://youtu.be/fst1IK_mrng?t=36m Segregated witness and its impact on scalability (presentation video)], Pieter Wuille, 2015-12-07&amp;lt;/ref&amp;gt; meant that the transaction format could be extended with new fields that would be excluded from the historic block size limits—allowing an increase in the maximum block size. But that increase was only possible in a [[Softfork|soft fork]] if the new fields contributed less towards the maximum block size than the fields in the original transaction format.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Although some people complained about that being unfair&amp;lt;ref&amp;gt;[https://twitter.com/JihanWu/status/868896110760181760 SegWit tx is unfairly cheap], Jihan Wu, Twitter.com, 2017-05-27, retrieved 2017-01-17&amp;lt;/ref&amp;gt;, many Bitcoin Protocol developers considered discounting the new fields to be advantageous.&amp;lt;ref&amp;gt;[https://medium.com/segwit-co/what-is-behind-the-segwit-discount-8515a8d3bca9 What is behind the segwit discount?], Segwit.org, 2017-01-10, retrieved &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2017&lt;/del&gt;-01&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-17&lt;/del&gt;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://segwit&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.org&lt;/del&gt;/why-a-discount-factor-of-4-why-not-2-or-8-bbcebe91721e Why a discount factor of 4?], Segwit.org, 2017-01-13, retrieved &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2017&lt;/del&gt;-01&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-17&lt;/del&gt;&amp;lt;/ref&amp;gt; The new fields store witnesses, which are transaction signatures and other data necessary to authenticate the spender of certain bitcoins.  Witnesses do not need to be stored by all full nodes after they are processed, unlike other parts of a transaction, so they have less effect on the [[cost of node operation]] and (arguably) warrant a discount.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Although some people complained about that being unfair&amp;lt;ref&amp;gt;[https://twitter.com/JihanWu/status/868896110760181760 SegWit tx is unfairly cheap], Jihan Wu, Twitter.com, 2017-05-27, retrieved 2017-01-17&amp;lt;/ref&amp;gt;, many Bitcoin Protocol developers considered discounting the new fields to be advantageous.&amp;lt;ref&amp;gt;[https://medium.com/segwit-co/what-is-behind-the-segwit-discount-8515a8d3bca9 What is behind the segwit discount?], Segwit.org, 2017-01-10, retrieved &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2021-03&lt;/ins&gt;-01&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https:/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/medium.com&lt;/ins&gt;/segwit&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-co&lt;/ins&gt;/why-a-discount-factor-of-4-why-not-2-or-8-bbcebe91721e Why a discount factor of 4?], Segwit.org, 2017-01-13, retrieved &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;2021-03&lt;/ins&gt;-01&amp;lt;/ref&amp;gt; The new fields store witnesses, which are transaction signatures and other data necessary to authenticate the spender of certain bitcoins.  Witnesses do not need to be stored by all full nodes after they are processed, unlike other parts of a transaction, so they have less effect on the [[cost of node operation]] and (arguably) warrant a discount.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This introduction of a discount for certain fields in certain transactions lead to the development of the &amp;#039;&amp;#039;weight unit&amp;#039;&amp;#039; which allows easy comparison between transactions that contain the discounted fields and those that don&amp;#039;t.  Weight units were designed to be fully backwards compatible with all previous versions of Bitcoin Core even though blocks created after segwit activated may include up to almost four times as much data as they could previously.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This introduction of a discount for certain fields in certain transactions lead to the development of the &amp;#039;&amp;#039;weight unit&amp;#039;&amp;#039; which allows easy comparison between transactions that contain the discounted fields and those that don&amp;#039;t.  Weight units were designed to be fully backwards compatible with all previous versions of Bitcoin Core even though blocks created after segwit activated may include up to almost four times as much data as they could previously.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Geremia</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Weight_units&amp;diff=68468&amp;oldid=prev</id>
		<title>Geremia: /* History */ fixed broken &quot;SegWit discount&quot; link</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Weight_units&amp;diff=68468&amp;oldid=prev"/>
		<updated>2021-03-02T02:36:47Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;History: &lt;/span&gt; fixed broken &amp;quot;SegWit discount&amp;quot; link&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:36, 2 March 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l12&quot;&gt;Line 12:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The introduction of a soft-fork [[Segregated Witness|segregated witness]] (segwit) idea in late 2015&amp;lt;ref&amp;gt;[https://youtu.be/fst1IK_mrng?t=36m Segregated witness and its impact on scalability (presentation video)], Pieter Wuille, 2015-12-07&amp;lt;/ref&amp;gt; meant that the transaction format could be extended with new fields that would be excluded from the historic block size limits—allowing an increase in the maximum block size. But that increase was only possible in a [[Softfork|soft fork]] if the new fields contributed less towards the maximum block size than the fields in the original transaction format.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The introduction of a soft-fork [[Segregated Witness|segregated witness]] (segwit) idea in late 2015&amp;lt;ref&amp;gt;[https://youtu.be/fst1IK_mrng?t=36m Segregated witness and its impact on scalability (presentation video)], Pieter Wuille, 2015-12-07&amp;lt;/ref&amp;gt; meant that the transaction format could be extended with new fields that would be excluded from the historic block size limits—allowing an increase in the maximum block size. But that increase was only possible in a [[Softfork|soft fork]] if the new fields contributed less towards the maximum block size than the fields in the original transaction format.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Although some people complained about that being unfair&amp;lt;ref&amp;gt;[https://twitter.com/JihanWu/status/868896110760181760 SegWit tx is unfairly cheap], Jihan Wu, Twitter.com, 2017-05-27, retrieved 2017-01-17&amp;lt;/ref&amp;gt;, many Bitcoin Protocol developers considered discounting the new fields to be advantageous.&amp;lt;ref&amp;gt;[https://segwit&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.org&lt;/del&gt;/what-is-behind-the-segwit-discount-8515a8d3bca9 What is behind the segwit discount?], Segwit.org, 2017-01-10, retrieved 2017-01-17&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://segwit.org/why-a-discount-factor-of-4-why-not-2-or-8-bbcebe91721e Why a discount factor of 4?], Segwit.org, 2017-01-13, retrieved 2017-01-17&amp;lt;/ref&amp;gt; The new fields store witnesses, which are transaction signatures and other data necessary to authenticate the spender of certain bitcoins.  Witnesses do not need to be stored by all full nodes after they are processed, unlike other parts of a transaction, so they have less effect on the [[cost of node operation]] and (arguably) warrant a discount.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Although some people complained about that being unfair&amp;lt;ref&amp;gt;[https://twitter.com/JihanWu/status/868896110760181760 SegWit tx is unfairly cheap], Jihan Wu, Twitter.com, 2017-05-27, retrieved 2017-01-17&amp;lt;/ref&amp;gt;, many Bitcoin Protocol developers considered discounting the new fields to be advantageous.&amp;lt;ref&amp;gt;[https:/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/medium.com&lt;/ins&gt;/segwit&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;-co&lt;/ins&gt;/what-is-behind-the-segwit-discount-8515a8d3bca9 What is behind the segwit discount?], Segwit.org, 2017-01-10, retrieved 2017-01-17&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://segwit.org/why-a-discount-factor-of-4-why-not-2-or-8-bbcebe91721e Why a discount factor of 4?], Segwit.org, 2017-01-13, retrieved 2017-01-17&amp;lt;/ref&amp;gt; The new fields store witnesses, which are transaction signatures and other data necessary to authenticate the spender of certain bitcoins.  Witnesses do not need to be stored by all full nodes after they are processed, unlike other parts of a transaction, so they have less effect on the [[cost of node operation]] and (arguably) warrant a discount.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This introduction of a discount for certain fields in certain transactions lead to the development of the &amp;#039;&amp;#039;weight unit&amp;#039;&amp;#039; which allows easy comparison between transactions that contain the discounted fields and those that don&amp;#039;t.  Weight units were designed to be fully backwards compatible with all previous versions of Bitcoin Core even though blocks created after segwit activated may include up to almost four times as much data as they could previously.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This introduction of a discount for certain fields in certain transactions lead to the development of the &amp;#039;&amp;#039;weight unit&amp;#039;&amp;#039; which allows easy comparison between transactions that contain the discounted fields and those that don&amp;#039;t.  Weight units were designed to be fully backwards compatible with all previous versions of Bitcoin Core even though blocks created after segwit activated may include up to almost four times as much data as they could previously.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Geremia</name></author>
	</entry>
	<entry>
		<id>https://en.bitcoin.it/w/index.php?title=Weight_units&amp;diff=64831&amp;oldid=prev</id>
		<title>Harding: Article about weight units, vsize, and vbytes.  Includes text by User:Theymos from Block weight page, with some edits made by me</title>
		<link rel="alternate" type="text/html" href="https://en.bitcoin.it/w/index.php?title=Weight_units&amp;diff=64831&amp;oldid=prev"/>
		<updated>2018-01-17T19:17:33Z</updated>

		<summary type="html">&lt;p&gt;Article about weight units, vsize, and vbytes.  Includes text by &lt;a href=&quot;/wiki/User:Theymos&quot; title=&quot;User:Theymos&quot;&gt;User:Theymos&lt;/a&gt; from &lt;a href=&quot;/wiki/Block_weight&quot; class=&quot;mw-redirect&quot; title=&quot;Block weight&quot;&gt;Block weight&lt;/a&gt; page, with some edits made by me&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Weight units&amp;#039;&amp;#039;&amp;#039; are a measurement used to compare the size of different Bitcoin transactions to each other in proportion to the [[consensus]]-enforced [[maximum block size limit]].  Weight units are also used to measure the size of other block chain data, such as [[block headers]].  As of Bitcoin Core 0.13.0 (released August 2016)&amp;lt;ref&amp;gt;[https://bitcoincore.org/en/releases/0.13.0/ Bitcoin Core 0.13.0 release notes]&amp;lt;/ref&amp;gt;, each weight unit represents 1/4,000,000th of the maximum size of a block.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Virtual size&amp;#039;&amp;#039;&amp;#039; (vsize), also called &amp;#039;&amp;#039;&amp;#039;virtual bytes&amp;#039;&amp;#039;&amp;#039; (vbytes), are an alternative measurement, with one vbyte being equal to four weight units.  That means the maximum block size measured in vsize is 1 million vbytes.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
Bitcoin was released with an implicit maximum block size limit of 32 mibibytes (32 MiB), which was the maximum allowed size of a P2P protocol [[Protocol_documentation#block|block]] message.&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;, Satoshi Nakamoto (attributed), November 2008 (published 10 March 2012)&amp;lt;/ref&amp;gt;  Effective block 79,400 (7 September 2010), this became an explicit limit of 1 megabyte (1 MB).&amp;lt;ref&amp;gt;[https://github.com/bitcoin/bitcoin/commit/8c9479c6bbbc38b897dc97de9d04e4d5a5a36730 Bitcoin commit 8c9479c], Satoshi Nakamoto, 7 September 2010&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In both cases, to calculate how much a transaction or other data counted towards these maximum block size limits, you simply put the data in the format used by the [[Protocol documentation|P2P protocol&amp;#039;s]] &amp;#039;&amp;#039;block&amp;#039;&amp;#039; message and counted the bytes.&lt;br /&gt;
&lt;br /&gt;
The introduction of a soft-fork [[Segregated Witness|segregated witness]] (segwit) idea in late 2015&amp;lt;ref&amp;gt;[https://youtu.be/fst1IK_mrng?t=36m Segregated witness and its impact on scalability (presentation video)], Pieter Wuille, 2015-12-07&amp;lt;/ref&amp;gt; meant that the transaction format could be extended with new fields that would be excluded from the historic block size limits—allowing an increase in the maximum block size. But that increase was only possible in a [[Softfork|soft fork]] if the new fields contributed less towards the maximum block size than the fields in the original transaction format.&lt;br /&gt;
&lt;br /&gt;
Although some people complained about that being unfair&amp;lt;ref&amp;gt;[https://twitter.com/JihanWu/status/868896110760181760 SegWit tx is unfairly cheap], Jihan Wu, Twitter.com, 2017-05-27, retrieved 2017-01-17&amp;lt;/ref&amp;gt;, many Bitcoin Protocol developers considered discounting the new fields to be advantageous.&amp;lt;ref&amp;gt;[https://segwit.org/what-is-behind-the-segwit-discount-8515a8d3bca9 What is behind the segwit discount?], Segwit.org, 2017-01-10, retrieved 2017-01-17&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://segwit.org/why-a-discount-factor-of-4-why-not-2-or-8-bbcebe91721e Why a discount factor of 4?], Segwit.org, 2017-01-13, retrieved 2017-01-17&amp;lt;/ref&amp;gt; The new fields store witnesses, which are transaction signatures and other data necessary to authenticate the spender of certain bitcoins.  Witnesses do not need to be stored by all full nodes after they are processed, unlike other parts of a transaction, so they have less effect on the [[cost of node operation]] and (arguably) warrant a discount.&lt;br /&gt;
&lt;br /&gt;
This introduction of a discount for certain fields in certain transactions lead to the development of the &amp;#039;&amp;#039;weight unit&amp;#039;&amp;#039; which allows easy comparison between transactions that contain the discounted fields and those that don&amp;#039;t.  Weight units were designed to be fully backwards compatible with all previous versions of Bitcoin Core even though blocks created after segwit activated may include up to almost four times as much data as they could previously.&lt;br /&gt;
&lt;br /&gt;
For backwards compatibility with software using the earlier &amp;#039;&amp;#039;bytes&amp;#039;&amp;#039; metric&amp;lt;ref&amp;gt;[https://bitcoin.stackexchange.com/a/57800 The advantage of using vsize...], Pieter Wuille, Bitcoin.StackExchange.com, 2017-08-09, retrieved 2017-01-17&amp;lt;/ref&amp;gt;, virtual size (vsize) was introduced.  A unit of vsize is equal to four weight units.  Some developers call a unit of vsize by the name of vbyte&amp;lt;ref&amp;gt;[https://medium.com/@murchandamus/psa-wrong-fee-rates-on-block-explorers-48390cbfcc74 PSA: Wrong fee rates on block explorers], Mark Erhardt, 2017-12-12, retrieved 2017-01-17&amp;lt;/ref&amp;gt; because the number of bytes and vbytes in a transaction are identical for legacy transactions.&lt;br /&gt;
&lt;br /&gt;
== Weight for legacy transactions ==&lt;br /&gt;
&lt;br /&gt;
Transactions that don&amp;#039;t use segregated witness (segwit) are currently called &amp;#039;&amp;#039;legacy transactions&amp;#039;&amp;#039;.  For these transactions, calculating the number of weight units in a transaction is as easy as putting the transaction into the format used in a P2P protocol &amp;#039;&amp;#039;block&amp;#039;&amp;#039; message, counting the number of bytes, and multiplying by four.&lt;br /&gt;
&lt;br /&gt;
For example, at the time of writing (January 2018), the most commonly seen transaction template in the block chain is a legacy transaction with one input (using P2PKH with a [[compressed pubkey]]) and two P2PKH outputs, or about 226 bytes.  Here&amp;#039;s a byte map of that transaction template:&lt;br /&gt;
&lt;br /&gt;
[[File:p2pkh-1in-2out_bytes.png|center]]&lt;br /&gt;
&lt;br /&gt;
To change from bytes to weight units, we simply scale everything up by a factor of four:&lt;br /&gt;
&lt;br /&gt;
[[File:p2pkh-1in-2out_weight.png|center]]&lt;br /&gt;
&lt;br /&gt;
At 904 weight, to include the above transaction in a block consumes 0.0226% of the available maximum block space.&lt;br /&gt;
&lt;br /&gt;
To convert from weight units to vbytes, divide the total by four.  For legacy transactions, this means that vbytes are equal to bytes.&lt;br /&gt;
&lt;br /&gt;
== Weight for segwit transactions ==&lt;br /&gt;
&lt;br /&gt;
Transactions that use segregated witnesses are called &amp;#039;&amp;#039;segwit transactions.&amp;#039;&amp;#039;  For these transactions, calculating the number of weight units in a transaction is more complicated.&lt;br /&gt;
&lt;br /&gt;
* The transaction is put into the format used by a P2P protocol &amp;#039;&amp;#039;block&amp;#039;&amp;#039; message (segwit-enabled)&lt;br /&gt;
* Each byte of the segwit marker, flag, and witness fields counts as one weight unit&lt;br /&gt;
* Each byte of the other fields in the transaction counts as four weight units&lt;br /&gt;
&lt;br /&gt;
For example, the segwit equivalent to the P2PKH transaction analyzed in the &amp;#039;&amp;#039;legacy&amp;#039;&amp;#039; section above would be a transaction with one input (using P2WPKH) and two P2WPKH outputs, or about 222 bytes.  Here&amp;#039;s a byte map of that transaction template with the segwit-specific fields highlighted in blue:&lt;br /&gt;
&lt;br /&gt;
[[File:p2wpkh-1in-2out_bytes.png|center]]&lt;br /&gt;
&lt;br /&gt;
To change from bytes to weight units, we use the method described above where the highlighted fields stay the same size but the other fields are multiplied by four.  When displayed at the same scale, this makes it appear that the segwit fields have shrunk:&lt;br /&gt;
&lt;br /&gt;
[[File:p2wpkh-1in-2out_weight.png|center]]&lt;br /&gt;
&lt;br /&gt;
At 561 weight units, to include the above transaction in a block consumes 0.014025% of the available maximum block space, a 61% reduction compared to the equivalent legacy transaction described previously.  The exact amount of space saved by converting from legacy transactions to segwit transactions will vary depending on various transaction details.&lt;br /&gt;
&lt;br /&gt;
To convert from weight units to vbytes, divide by four.  For the example transaction above, this makes the transaction 140.25 vbytes.  Note that fractional vbytes are possible, but they may not be compatible with legacy applications that expect only integer values, so it is recommended&amp;lt;ref&amp;gt;[https://bitcoincore.org/en/segwit_wallet_dev/#transaction-fee-estimation Segwit wallet dev guide: fee estimation], BitcoinCore.org contributors, BitcoinCore.org, retrieved 2018-01-17&amp;lt;/ref&amp;gt; to round up.  For example, Bitcoin Core reports this transaction as having a vsize of 141 vbytes.&lt;br /&gt;
&lt;br /&gt;
== Misconceptions ==&lt;br /&gt;
&lt;br /&gt;
Possibly because of the vbytes metric, it is a common misconception that segwit somehow makes transactions much smaller—but this is incorrect. A 300-byte transaction is 300 bytes on-disk and over-the-wire. Segwit just counts those bytes differently toward the maximum block size of 4M weight units.&lt;br /&gt;
&lt;br /&gt;
The maximum size of a block in bytes is nearly equal in number to the maximum amount of block weight units, so 4M weight units allows a block of almost 4M bytes (4MB). This is not a somehow &amp;quot;made-up&amp;quot; size; the maximum block size is really almost 4MB on-disk and over-the-wire. However, this maximum can only be reached if the block is full of very weirdly-formatted transactions, so it should not usually be seen.&lt;br /&gt;
&lt;br /&gt;
The typical size of a block depends on the make-up of transactions in that block. As of 2017, the average transaction make-up would lead to blocks with 4M weight units being about 2.3MB in size if all transactions were segwit transactions.&lt;br /&gt;
&lt;br /&gt;
===Detailed example===&lt;br /&gt;
&lt;br /&gt;
Consider this transaction:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;0100000000010115e180dc28a2327e687facc33f10f2a20da717e5548406f7ae8b4c8&lt;br /&gt;
11072f85603000000171600141d7cd6c75c2e86f4cbf98eaed221b30bd9a0b928ffff&lt;br /&gt;
ffff019caef505000000001976a9141d7cd6c75c2e86f4cbf98eaed221b30bd9a0b92&lt;br /&gt;
888ac02483045022100f764287d3e99b1474da9bec7f7ed236d6c81e793b20c4b5aa1&lt;br /&gt;
f3051b9a7daa63022016a198031d5554dbb855bdbe8534776a4be6958bd8d530dc001&lt;br /&gt;
c32b828f6f0ab0121038262a6c6cec93c2d3ecd6c6072efea86d02ff8e3328bbd0242&lt;br /&gt;
b20af3425990ac00000000&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
! Data&lt;br /&gt;
! Description&lt;br /&gt;
! Raw byte count&lt;br /&gt;
! Type (multiplier)&lt;br /&gt;
! Section total weight&lt;br /&gt;
! Running total weight&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;01000000&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Version 1&lt;br /&gt;
| 4&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 16&lt;br /&gt;
| 16&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;00&amp;lt;/tt&amp;gt;&lt;br /&gt;
| SegWit marker&lt;br /&gt;
| 1&lt;br /&gt;
| Witness (1x)&lt;br /&gt;
| 1&lt;br /&gt;
| 17&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;01&amp;lt;/tt&amp;gt;&lt;br /&gt;
| SegWit flag&lt;br /&gt;
| 1&lt;br /&gt;
| Witness (1x)&lt;br /&gt;
| 1&lt;br /&gt;
| 18&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;01&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Number of inputs (1)&lt;br /&gt;
| 1&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 4&lt;br /&gt;
| 22&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;15..56&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Previous output hash&lt;br /&gt;
| 32&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 128&lt;br /&gt;
| 150&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;tt&amp;gt;03000000&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Previous output index (3)&lt;br /&gt;
| 4&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 16&lt;br /&gt;
| 166&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;17&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Script length (23 bytes)&lt;br /&gt;
| 1&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 4&lt;br /&gt;
| 170&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;16..28&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Script: P2SH-enclosed P2WPKH witness program&lt;br /&gt;
| 23&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 92&lt;br /&gt;
| 262&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ffffffff&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Sequence&lt;br /&gt;
| 4&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 16&lt;br /&gt;
| 278&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;01&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Output count (1)&lt;br /&gt;
| 1&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 4&lt;br /&gt;
| 282&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;9caef50500000000&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Output value (0.99987100 BTC)&lt;br /&gt;
| 8&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 32&lt;br /&gt;
| 314&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;19&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Output script size (25)&lt;br /&gt;
| 1&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 4&lt;br /&gt;
| 318&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;76..ac&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Script: DUP HASH160 0x1d7c... EQUALVERIFY CHECKSIG&lt;br /&gt;
| 25&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 100&lt;br /&gt;
| 418&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;02&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Number of stack items for input 0 (2)&lt;br /&gt;
| 1&lt;br /&gt;
| Witness (1x)&lt;br /&gt;
| 1&lt;br /&gt;
| 419&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;48&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Size of stack item 0 (72)&lt;br /&gt;
| 1&lt;br /&gt;
| Witness (1x)&lt;br /&gt;
| 1&lt;br /&gt;
| 420&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;304...ab01&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Stack item 0, signature&lt;br /&gt;
| 72&lt;br /&gt;
| Witness (1x)&lt;br /&gt;
| 72&lt;br /&gt;
| 492&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;21&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Size of stack item 1 (33)&lt;br /&gt;
| 1&lt;br /&gt;
| Witness (1x)&lt;br /&gt;
| 1&lt;br /&gt;
| 493&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;03..ac&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Stack item 1, pubkey&lt;br /&gt;
| 33&lt;br /&gt;
| Witness (1x)&lt;br /&gt;
| 33&lt;br /&gt;
| 526&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;00000000&amp;lt;/tt&amp;gt;&lt;br /&gt;
| Locktime (0)&lt;br /&gt;
| 4&lt;br /&gt;
| Non-witness (4x)&lt;br /&gt;
| 16&lt;br /&gt;
| 542&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The transaction&amp;#039;s real size on disk and over the network is 218 bytes, which is the size in bytes of the whole transaction expressed above in hexadecimal. The weight is always greater than the real size, in this case 542 weight units.  The size in vbytes would be 135.5.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Harding</name></author>
	</entry>
</feed>