<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bitcoinsv.io/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=David+Watson</id>
	<title>Bitcoin Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bitcoinsv.io/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=David+Watson"/>
	<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php/Special:Contributions/David_Watson"/>
	<updated>2026-06-01T22:19:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.33.0</generator>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Merchant_API&amp;diff=1564</id>
		<title>Merchant API</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Merchant_API&amp;diff=1564"/>
		<updated>2020-01-27T16:11:48Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Merchant API is a new development in Bitcoin, planned to be introduced in 2020.  &lt;br /&gt;
&lt;br /&gt;
The API will enable merchants accepting Bitcoin transactions to get all of the assurance they need to be able to accept transactions on a 'zero confirmation' basis (see [[Confirmation]]).  Merchants will be able to find out in advance (even before broadcasting a transaction) what transaction fee is required by miners to mine it.  &lt;br /&gt;
&lt;br /&gt;
As explained by Steve Shadders in [https://youtu.be/WDuvYp77tJU?t=2126 Steve Shadders Discusses the Bitcoin SV (BSV) Tech Pillars - Bitstocks Podcast Ep. 7] at 36m 12s:&lt;br /&gt;
&lt;br /&gt;
{{quote|&amp;quot;If you can broadcast a transaction to miners and then get a response from them a second later, to say that they've accepted the transaction, then the 'zero conf' problem largely goes away&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
It also allows miners to put user based fee policies in place.  See [https://www.yours.org/content/the-dawn-of-the-age-of-competitive-mining-1cc8d831dc34 The dawn of the age of competitive mining] (Steve Shadders, yours.org, October 2019)&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Merchant_API&amp;diff=1554</id>
		<title>Merchant API</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Merchant_API&amp;diff=1554"/>
		<updated>2020-01-27T10:17:46Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Merchant API is a new development in Bitcoin, planned to be introduced in 2020.  &lt;br /&gt;
&lt;br /&gt;
The API will enable merchants accepting Bitcoin transactions to get all of the assurance they need to be able to accept transactions on a 'zero confirmation' basis (see [[Confirmation]]).  Merchants will be able to find out in advance (even before broadcasting a transaction) what transaction fee is required by miners to mine it.  &lt;br /&gt;
&lt;br /&gt;
As explained by Steve Shadders in [https://youtu.be/WDuvYp77tJU?t=2126 Steve Shadders Discusses the Bitcoin SV (BSV) Tech Pillars - Bitstocks Podcast Ep. 7] at 36m 12s:&lt;br /&gt;
&lt;br /&gt;
{{quote|&amp;quot;If you can broadcast a transaction to miners and then get a response from them a second later, to say that they've accepted the transaction, then the 'zero conf' problem largely goes away&amp;quot;.}}&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Confirmation&amp;diff=1553</id>
		<title>Confirmation</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Confirmation&amp;diff=1553"/>
		<updated>2020-01-27T10:12:36Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Bitcoin transaction confirmation''' is needed to guarantee that a payment is finalized. One of the main advantages of bitcoin is that it solves the problem of [[Double-spending|double-spending]][https://bitcoin.org/bitcoin.pdf], i.e. the risk that a digital currency token may be copied and spent more than once. In spite of having no central authority to verify that its tokens are not being duplicated, bitcoin successfully avoids double-spending through a system of decentralized transaction confirmation, based on the [[Consensus|consensus]] of a network of validators. Bitcoin SV transaction confirmation time cannot be precisely predicted. However, once a transaction has been relayed around the network it has a high probability of being included in the next mined [[block]].&lt;br /&gt;
&lt;br /&gt;
==How to confirm bitcoin transaction? ==&lt;br /&gt;
A transaction is a transfer of value between Bitcoin wallets that gets included in the [[block chain]]. Bitcoin SV are not immediate but very fast. When a user wishes to send bitcoins, information is broadcast from her wallet to the (validators/miners in the) network, who verify that she has enough coins, and that they have never been spent before. Once validated, [[Mining|miners]] will include this transaction – along with others – in a new [[Block|block]] in the blockchain. This is called a '''transaction confirmation'''. The transaction is now said to be confirmed. Each time a new block is added to the chain (every ten minutes), the transaction is said to be confirmed again. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Bitcoin SV Confirmation Time ==&lt;br /&gt;
To answer the question &amp;quot;'''How long does it take to transfer bitcoins?'''&amp;quot; one needs to understand that bitcoin transaction confirmation time depends on many factors. The deeper a transaction is buried, the harder it will be to manipulate. Although 0/unconfirmed transactions could be reversed via Finney attack, race attack, or [[|Attacks|51% attack]], small amounts of money will not be worth the trouble. Larger sums are worth protecting under more bitcoin confirmations. The number six is just an arbitrary limit, beyond which the feasibility of an attacker being able to amass more than 10% of the network's hashrate for purposes of a transaction falsification becomes negligible (a risk lower than 0.1%).&lt;br /&gt;
&lt;br /&gt;
Having understood how transactions occur, you should find out what affects the speed of processing and verification of information. To speed up the process, you need to know that it can slow down. Usually at the final time is affected by:&lt;br /&gt;
&lt;br /&gt;
* network utilization;&lt;br /&gt;
* commission;&lt;br /&gt;
* variation in network hash rate.&lt;br /&gt;
&lt;br /&gt;
The influence of the first factor is only noticeable when transaction throughput capacity is close to being reached. When the system needs to process many requests, users have to wait. However, as Bitcoin SV transaction volume rarely ever reaches block or network capacity and transactions are usually validated within a few seconds. Some transactions that pay ultra-low fees (&amp;lt;1 [[Satoshis|satoshi]]/byte) may not be relayed by a proportion of mining nodes on the network, reducing the likelihood of confirmation within 1 [[block]]. These transactions, however are rare as Bitcoin SV default minimum-fee settings are low.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Number of Bitcoin SV Confirmations==&lt;br /&gt;
A regular bitcoin sv client will show the number of confirmations as part of the transaction metadata. In some older implementations of bitcoin the transactions were labelled &amp;quot;unconfirmed&amp;quot; until they had 6 confirmations. There is nothing special about the default, often-cited figure of 6 blocks. It was chosen based on the assumption that an attacker is unlikely to amass more than 10% of the hashrate, and that a negligible risk of less than 0.1% is acceptable.&lt;br /&gt;
Both these figures are arbitrary, however;&lt;br /&gt;
6 blocks are overkill for casual attackers, and at the same time powerless against more dedicated attackers with much more than 10% hashrate (see: [https://bitcoil.co.il/Doublespend.pdf Analysis of hashrate-based double-spending]).&lt;br /&gt;
&lt;br /&gt;
Users and cryptocurrency exchanges that accept bitcoins as payment set their threshold in the number of required blocks until the payment is confirmed.&lt;br /&gt;
&lt;br /&gt;
To find out how many checks are required to process the transaction and how long to wait for the receipt of funds, it is necessary to understand the features of cryptocurrency transfers. This process consists of several stages:&lt;br /&gt;
* addressee sends money;&lt;br /&gt;
* information about transactions is made in special blocks, each of which has a room and a hash (special data);&lt;br /&gt;
* the blocks are sent for scanning to different computers;&lt;br /&gt;
* if everything is done correctly, the received information replenishes various databases;&lt;br /&gt;
* checked blocks complete the chain;&lt;br /&gt;
* the money goes to the recipient.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note that &lt;br /&gt;
&lt;br /&gt;
* Unconfirmed transactions do not expire.&lt;br /&gt;
* Freshly-mined coins cannot be spent for 100 blocks.&lt;br /&gt;
* It is advisable to wait some additional time for a better chance that the transaction will be propagated by all nodes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=See Also=&lt;br /&gt;
&lt;br /&gt;
* [[block|Blocks]]&lt;br /&gt;
* [[Bitcoin Transactions|Transaction]]&lt;br /&gt;
* [[Merchant API]]&lt;br /&gt;
&lt;br /&gt;
=References=&lt;br /&gt;
[1] Nakamoto, Satoshi. &amp;quot;Bitcoin: A Peer-to-Peer Electronic Cash System.&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1453</id>
		<title>Simplified Payment Verification</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1453"/>
		<updated>2020-01-22T16:16:45Z</updated>

		<summary type="html">&lt;p&gt;David Watson: /* Approach */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simplified Payment Verification (SPV) is described in section 8 of the [[Bitcoin whitepaper]]. It allows a user to prove or verify a payment to them without downloading the full [[Block chain]], by utilising the properties of [[Simplified_Payment_Verification #Merkle_Trees.2C_Merkle_Roots.2C_Merkle_Paths_and_Merkle_Proofs|Merkle proofs]].&lt;br /&gt;
&lt;br /&gt;
SPV allows users to securely transact with each other, peer-to-peer, while nodes act to form the settlement layer.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
The advantages of using SPV are clear in terms of the volume of data required:&lt;br /&gt;
&lt;br /&gt;
* a wallet can store '''all necessary block headers in around 50MB - this covers  the entire block chain''' (as of January 2020, with 80 bytes per block and around 620,000 blocks in the chain). The total '''grows linearly''' at around 4MB per year (i.e. it increases by 80 bytes with each block mined, regardless of the size of that block).&lt;br /&gt;
&lt;br /&gt;
* contrast this with the '''hundreds of gigabytes''' which would be required to store the entire chain, if SPV were not being used.&lt;br /&gt;
&lt;br /&gt;
* The size of the data required for the '''merkle paths''' is of maximum &amp;lt;math&amp;gt;64log_{2}{n}&amp;lt;/math&amp;gt; bytes, where &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the total number of transaction in one block. &lt;br /&gt;
&lt;br /&gt;
As explained in Section 8 of the [[Bitcoin whitepaper]]:&lt;br /&gt;
{{quote|1=''&amp;quot; ... [An SPV client] only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in ... }}&lt;br /&gt;
&lt;br /&gt;
And in Section 7:&lt;br /&gt;
{{quote|1=''&amp;quot; ... A block header with no transactions would be about 80 bytes. If we suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year ...&amp;quot;''}} &lt;br /&gt;
&lt;br /&gt;
===Approach===&lt;br /&gt;
There have been a lot of previous misunderstandings around SPV and peer-to-peer transacting. Previously, the custom had been for the sender of the payment to just broadcast the payment to the bitcoin network nodes. The receiver of the payment would then need to somehow filter through all of the transactions coming onto the blockchain for specific tranasactions relating to them (an extremely diffficult task in of itself). Even if the sender sent the transaction to the receiver as well as the network nodes, the custom had been for the receiver to always wait for the transaction to be burried into the blockchain at least 6 blocks deep whatever the transaction type or amount or situation.&lt;br /&gt;
&lt;br /&gt;
The better approach is that transactions between SPV clients are negotiated peer-to-peer and settled on the blockchain through the network nodes. An analogy for this is a transaction done using cheque at a much faster speed. The customer hands the the signed cheque (transaction) to the merchant, who then banks or cashes the cheque (settles the transaction on chain).  When/if the merchant is satisfied according to the situational risk of the transaction, then they can hand over the goods or services.&lt;br /&gt;
&lt;br /&gt;
There is no such thing as absolute security, there is always a risk against the cost of being defrauded (which decreases exponentially as time goes by). If the transaction is only for a cup of coffee, then the merchant will be exposed to less risk than if the transaction is to buy a car for example, and they would behave differently.  If selling a cup of coffee, they can satisfy themselves that the transaction they have received appears to be valid using the SPV process detailed above, and submit the transaction themselves to the network (or even to a trusted miner if using a [[Merchant API]]).  They will not want to maintain a copy of the entire blockchain to check against, because the risk they face by no means justifies the cost.  SPV is adequate.  Likewise, they will not want to detain their customer while they wait for 6 confirmations - it simply is is not necessary - they have received a transaction which appears to be valid, and it has been accepted by the network without a double spend alert.  This will probably be enough for them to risk the cost of the coffee.&lt;br /&gt;
&lt;br /&gt;
===Merkle Trees, Merkle Roots, Merkle Paths and Merkle Proofs===&lt;br /&gt;
A '''Merkle Tree''' is a structure used in computer science to validate data - see [https://en.wikipedia.org/wiki/Merkle_tree wikipedia definition] for more information.&lt;br /&gt;
&lt;br /&gt;
The '''Merkle Root''' in a Bitcoin block is the hash contained in the [[Block_hashing_algorithm#Block_Header|block header]], which is derived from the hashes of all other transactions in the block.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Path''' in SPV represents the information which the user needs to calculate the expected value for the Merkle root for a block, from their own transaction hash contained in that block.  The Merkle path is used as part of of the Merkle Proof.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Proof''' in SPV proves the existence of a specific transaction in a specific block (without the user needing to examine all the transactions in the Block).  It includes the Merkle Root and the Merkle Path.&lt;br /&gt;
&lt;br /&gt;
* To '''create''' a Merkle proof, a user or (or their wallet) simply needs the Merkle path of the transaction as well as the [[Block_hashing_algorithm#Block_Header|block header]] for a given block (80 bytes).&lt;br /&gt;
&lt;br /&gt;
* To '''validate''' a proof, a user (or their wallet) only needs the chain of block headers (as opposed to the whole blockchain). I.e. they need their own copy of the [[Block_hashing_algorithm#Block_Header|block headers]] for  all blocks, that they know to be accurate.  Using their own block header chain, together with the transaction (or its hash/id) they want to verify, as well as its Merkle proof (also sometimes referred to as an inclusion proof), a user can verify the transaction appears in the block chain in a specific block, without examining every transaction in that block.&lt;br /&gt;
&lt;br /&gt;
An article in March 2019 entitled [https://craigwright.net/blog/bitcoin-blockchain-tech/merkle-trees-and-spv Merkle Trees and SPV] (Craig Wright, 2019) clarified some previous misunderstandings around SPV and transaction verification. The article included the following diagram which shows how transaction hashes can be related to the Merkle root in a block header:&lt;br /&gt;
&lt;br /&gt;
[[File: Merkle_tree2.png|frameless|1000px|alt=Three transactions and the Merkle paths which can be used to relate them to blocks]]&lt;br /&gt;
&lt;br /&gt;
===SPV Wallet===&lt;br /&gt;
An SPV wallet is a lightweight wallet that uses the mechanism of SPV to construct bitcoin transactions and payments. &lt;br /&gt;
&lt;br /&gt;
To spend a UTXO, a user of a SPV wallet will pass on the following information to the receiver:&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; - the transaction that contains the UTXO as an output,&lt;br /&gt;
# The Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;&lt;br /&gt;
# The block header that contains the Merkle root derived from the Merkle path (or its identifier, e.g., block height)&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; - the transaction that spends the UTXO&lt;br /&gt;
&lt;br /&gt;
To validate the information, a user computes the Merkle root from the Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;. The user then compares it with the Merkle root specified in the block header. If they are the same, the user accepts that &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; is in the chain. &lt;br /&gt;
&lt;br /&gt;
=== Offline Payment ===&lt;br /&gt;
Note that by storing &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; locally, a user will be able to sign &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; offline, as any signature on &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; requires the scriptPubKey (locking script) part from &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1452</id>
		<title>Simplified Payment Verification</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1452"/>
		<updated>2020-01-22T16:15:35Z</updated>

		<summary type="html">&lt;p&gt;David Watson: /* Approach */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simplified Payment Verification (SPV) is described in section 8 of the [[Bitcoin whitepaper]]. It allows a user to prove or verify a payment to them without downloading the full [[Block chain]], by utilising the properties of [[Simplified_Payment_Verification #Merkle_Trees.2C_Merkle_Roots.2C_Merkle_Paths_and_Merkle_Proofs|Merkle proofs]].&lt;br /&gt;
&lt;br /&gt;
SPV allows users to securely transact with each other, peer-to-peer, while nodes act to form the settlement layer.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
The advantages of using SPV are clear in terms of the volume of data required:&lt;br /&gt;
&lt;br /&gt;
* a wallet can store '''all necessary block headers in around 50MB - this covers  the entire block chain''' (as of January 2020, with 80 bytes per block and around 620,000 blocks in the chain). The total '''grows linearly''' at around 4MB per year (i.e. it increases by 80 bytes with each block mined, regardless of the size of that block).&lt;br /&gt;
&lt;br /&gt;
* contrast this with the '''hundreds of gigabytes''' which would be required to store the entire chain, if SPV were not being used.&lt;br /&gt;
&lt;br /&gt;
* The size of the data required for the '''merkle paths''' is of maximum &amp;lt;math&amp;gt;64log_{2}{n}&amp;lt;/math&amp;gt; bytes, where &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the total number of transaction in one block. &lt;br /&gt;
&lt;br /&gt;
As explained in Section 8 of the [[Bitcoin whitepaper]]:&lt;br /&gt;
{{quote|1=''&amp;quot; ... [An SPV client] only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in ... }}&lt;br /&gt;
&lt;br /&gt;
And in Section 7:&lt;br /&gt;
{{quote|1=''&amp;quot; ... A block header with no transactions would be about 80 bytes. If we suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year ...&amp;quot;''}} &lt;br /&gt;
&lt;br /&gt;
===Approach===&lt;br /&gt;
There have been a lot of previous misunderstandings around SPV and peer-to-peer transacting. Previously, the custom had been for the sender of the payment to just broadcast the payment to the bitcoin network nodes. The receiver of the payment would then need to somehow filter through all of the transactions coming onto the blockchain for specific tranasactions relating to them (an extremely diffficult task in of itself). Even if the sender sent the transaction to the receiver as well as the network nodes, the custom had been for the receiver to always wait for the transaction to be burried into the blockchain at least 6 blocks deep whatever the transaction type or amount or situation.&lt;br /&gt;
&lt;br /&gt;
The better approach is that transactions between SPV clients are negotiated peer-to-peer and settled on the blockchain through the network nodes. An analogy for this is a transaction done using cheque at a much faster speed. The customer hands the the signed cheque (transaction) to the merchant, who then banks or cashes the cheque (settles the transaction on chain).  When/if the merchant is satisfied according to the situational risk of the transaction, then they can hand over the goods or services.&lt;br /&gt;
&lt;br /&gt;
There is no such thing as absolute security, there is always a risk against the cost of being defrauded (which decreases exponentially as time goes by). If the transaction is only for a cup of coffee, then the merchant will be exposed to less risk than if the transaction is to buy a car for example, and they would behave differently.  If selling a cup of coffee, they can satisfy themselves that the transaction they have received appears to be valid using the SPV process detailed above, and submit the transaction themselves to the network (or even to a trusted miner if using a [[Merchant API]].  They will not want to maintain a copy of the entire blockchain to check against, because the risk they face by no means justifies the cost.  SPV is adequate.  Likewise, they will not want to detain their customer while they wait for 6 confirmations - it simply is is not necessary - they have received a transaction which appears to be valid, and it has been accepted by a miner without a double spend alert.  This will probably be enough for them to risk the cost of the coffee.&lt;br /&gt;
&lt;br /&gt;
===Merkle Trees, Merkle Roots, Merkle Paths and Merkle Proofs===&lt;br /&gt;
A '''Merkle Tree''' is a structure used in computer science to validate data - see [https://en.wikipedia.org/wiki/Merkle_tree wikipedia definition] for more information.&lt;br /&gt;
&lt;br /&gt;
The '''Merkle Root''' in a Bitcoin block is the hash contained in the [[Block_hashing_algorithm#Block_Header|block header]], which is derived from the hashes of all other transactions in the block.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Path''' in SPV represents the information which the user needs to calculate the expected value for the Merkle root for a block, from their own transaction hash contained in that block.  The Merkle path is used as part of of the Merkle Proof.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Proof''' in SPV proves the existence of a specific transaction in a specific block (without the user needing to examine all the transactions in the Block).  It includes the Merkle Root and the Merkle Path.&lt;br /&gt;
&lt;br /&gt;
* To '''create''' a Merkle proof, a user or (or their wallet) simply needs the Merkle path of the transaction as well as the [[Block_hashing_algorithm#Block_Header|block header]] for a given block (80 bytes).&lt;br /&gt;
&lt;br /&gt;
* To '''validate''' a proof, a user (or their wallet) only needs the chain of block headers (as opposed to the whole blockchain). I.e. they need their own copy of the [[Block_hashing_algorithm#Block_Header|block headers]] for  all blocks, that they know to be accurate.  Using their own block header chain, together with the transaction (or its hash/id) they want to verify, as well as its Merkle proof (also sometimes referred to as an inclusion proof), a user can verify the transaction appears in the block chain in a specific block, without examining every transaction in that block.&lt;br /&gt;
&lt;br /&gt;
An article in March 2019 entitled [https://craigwright.net/blog/bitcoin-blockchain-tech/merkle-trees-and-spv Merkle Trees and SPV] (Craig Wright, 2019) clarified some previous misunderstandings around SPV and transaction verification. The article included the following diagram which shows how transaction hashes can be related to the Merkle root in a block header:&lt;br /&gt;
&lt;br /&gt;
[[File: Merkle_tree2.png|frameless|1000px|alt=Three transactions and the Merkle paths which can be used to relate them to blocks]]&lt;br /&gt;
&lt;br /&gt;
===SPV Wallet===&lt;br /&gt;
An SPV wallet is a lightweight wallet that uses the mechanism of SPV to construct bitcoin transactions and payments. &lt;br /&gt;
&lt;br /&gt;
To spend a UTXO, a user of a SPV wallet will pass on the following information to the receiver:&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; - the transaction that contains the UTXO as an output,&lt;br /&gt;
# The Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;&lt;br /&gt;
# The block header that contains the Merkle root derived from the Merkle path (or its identifier, e.g., block height)&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; - the transaction that spends the UTXO&lt;br /&gt;
&lt;br /&gt;
To validate the information, a user computes the Merkle root from the Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;. The user then compares it with the Merkle root specified in the block header. If they are the same, the user accepts that &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; is in the chain. &lt;br /&gt;
&lt;br /&gt;
=== Offline Payment ===&lt;br /&gt;
Note that by storing &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; locally, a user will be able to sign &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; offline, as any signature on &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; requires the scriptPubKey (locking script) part from &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Merchant_API&amp;diff=1451</id>
		<title>Merchant API</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Merchant_API&amp;diff=1451"/>
		<updated>2020-01-22T16:08:04Z</updated>

		<summary type="html">&lt;p&gt;David Watson: Created page with &amp;quot;[https://youtu.be/WDuvYp77tJU?t=2126 Interview with Steve Shadders]&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://youtu.be/WDuvYp77tJU?t=2126 Interview with Steve Shadders]&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1450</id>
		<title>Simplified Payment Verification</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1450"/>
		<updated>2020-01-22T15:59:57Z</updated>

		<summary type="html">&lt;p&gt;David Watson: /* Approach */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simplified Payment Verification (SPV) is described in section 8 of the [[Bitcoin whitepaper]]. It allows a user to prove or verify a payment to them without downloading the full [[Block chain]], by utilising the properties of [[Simplified_Payment_Verification #Merkle_Trees.2C_Merkle_Roots.2C_Merkle_Paths_and_Merkle_Proofs|Merkle proofs]].&lt;br /&gt;
&lt;br /&gt;
SPV allows users to securely transact with each other, peer-to-peer, while nodes act to form the settlement layer.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
The advantages of using SPV are clear in terms of the volume of data required:&lt;br /&gt;
&lt;br /&gt;
* a wallet can store '''all necessary block headers in around 50MB - this covers  the entire block chain''' (as of January 2020, with 80 bytes per block and around 620,000 blocks in the chain). The total '''grows linearly''' at around 4MB per year (i.e. it increases by 80 bytes with each block mined, regardless of the size of that block).&lt;br /&gt;
&lt;br /&gt;
* contrast this with the '''hundreds of gigabytes''' which would be required to store the entire chain, if SPV were not being used.&lt;br /&gt;
&lt;br /&gt;
* The size of the data required for the '''merkle paths''' is of maximum &amp;lt;math&amp;gt;64log_{2}{n}&amp;lt;/math&amp;gt; bytes, where &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the total number of transaction in one block. &lt;br /&gt;
&lt;br /&gt;
As explained in Section 8 of the [[Bitcoin whitepaper]]:&lt;br /&gt;
{{quote|1=''&amp;quot; ... [An SPV client] only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in ... }}&lt;br /&gt;
&lt;br /&gt;
And in Section 7:&lt;br /&gt;
{{quote|1=''&amp;quot; ... A block header with no transactions would be about 80 bytes. If we suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year ...&amp;quot;''}} &lt;br /&gt;
&lt;br /&gt;
===Approach===&lt;br /&gt;
There have been a lot of previous misunderstandings around SPV and peer-to-peer transacting. Previously, the custom had been for the sender of the payment to just broadcast the payment to the bitcoin network nodes. The receiver of the payment would then need to somehow filter through all of the transactions coming onto the blockchain for specific tranasactions relating to them (an extremely diffficult task in of itself). Even if the sender sent the transaction to the receiver as well as the network nodes, the custom had been for the receiver to always wait for the transaction to be burried into the blockchain at least 6 blocks deep whatever the transaction type or amount or situation.&lt;br /&gt;
&lt;br /&gt;
The better approach is that transactions between SPV clients are negotiated peer-to-peer and settled on the blockchain through the network nodes. An analogy for this is a transaction done using cheque at a much faster speed. The customer hands the the signed cheque (transaction) to the merchant, who then banks or cashes the cheque (settles the transaction on chain).  When/if the merchant is satisfied according to the situational risk of the transaction, then they can hand over the goods or services.&lt;br /&gt;
&lt;br /&gt;
There is no such thing as absolute security, there is always a risk against the cost of being defrauded (which decreases exponentially as time goes by). If the transaction is only for a cup of coffee, then the merchant will be exposed to less risk than if the transaction is to buy a car for example, and they would behave differently.  If selling a cup of coffee, they can satisfy themselves that the transaction they have received appears to be valid using the SPV process detailed above, and submit the transaction themselves to a trusted miner.  They will not want to maintain a copy of the entire blockchain to check against, because the risk they face by no means justifies the cost.  SPV is adequate.  Likewise, they will not want to detain their customer while they wait for 6 confirmations - it simply is is not necessary - they have received a transaction which appears to be valid, and it has been accepted by a miner without a double spend alert.  This will probably be enough for them to risk the cost of the coffee.&lt;br /&gt;
&lt;br /&gt;
===Merkle Trees, Merkle Roots, Merkle Paths and Merkle Proofs===&lt;br /&gt;
A '''Merkle Tree''' is a structure used in computer science to validate data - see [https://en.wikipedia.org/wiki/Merkle_tree wikipedia definition] for more information.&lt;br /&gt;
&lt;br /&gt;
The '''Merkle Root''' in a Bitcoin block is the hash contained in the [[Block_hashing_algorithm#Block_Header|block header]], which is derived from the hashes of all other transactions in the block.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Path''' in SPV represents the information which the user needs to calculate the expected value for the Merkle root for a block, from their own transaction hash contained in that block.  The Merkle path is used as part of of the Merkle Proof.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Proof''' in SPV proves the existence of a specific transaction in a specific block (without the user needing to examine all the transactions in the Block).  It includes the Merkle Root and the Merkle Path.&lt;br /&gt;
&lt;br /&gt;
* To '''create''' a Merkle proof, a user or (or their wallet) simply needs the Merkle path of the transaction as well as the [[Block_hashing_algorithm#Block_Header|block header]] for a given block (80 bytes).&lt;br /&gt;
&lt;br /&gt;
* To '''validate''' a proof, a user (or their wallet) only needs the chain of block headers (as opposed to the whole blockchain). I.e. they need their own copy of the [[Block_hashing_algorithm#Block_Header|block headers]] for  all blocks, that they know to be accurate.  Using their own block header chain, together with the transaction (or its hash/id) they want to verify, as well as its Merkle proof (also sometimes referred to as an inclusion proof), a user can verify the transaction appears in the block chain in a specific block, without examining every transaction in that block.&lt;br /&gt;
&lt;br /&gt;
An article in March 2019 entitled [https://craigwright.net/blog/bitcoin-blockchain-tech/merkle-trees-and-spv Merkle Trees and SPV] (Craig Wright, 2019) clarified some previous misunderstandings around SPV and transaction verification. The article included the following diagram which shows how transaction hashes can be related to the Merkle root in a block header:&lt;br /&gt;
&lt;br /&gt;
[[File: Merkle_tree2.png|frameless|1000px|alt=Three transactions and the Merkle paths which can be used to relate them to blocks]]&lt;br /&gt;
&lt;br /&gt;
===SPV Wallet===&lt;br /&gt;
An SPV wallet is a lightweight wallet that uses the mechanism of SPV to construct bitcoin transactions and payments. &lt;br /&gt;
&lt;br /&gt;
To spend a UTXO, a user of a SPV wallet will pass on the following information to the receiver:&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; - the transaction that contains the UTXO as an output,&lt;br /&gt;
# The Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;&lt;br /&gt;
# The block header that contains the Merkle root derived from the Merkle path (or its identifier, e.g., block height)&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; - the transaction that spends the UTXO&lt;br /&gt;
&lt;br /&gt;
To validate the information, a user computes the Merkle root from the Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;. The user then compares it with the Merkle root specified in the block header. If they are the same, the user accepts that &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; is in the chain. &lt;br /&gt;
&lt;br /&gt;
=== Offline Payment ===&lt;br /&gt;
Note that by storing &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; locally, a user will be able to sign &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; offline, as any signature on &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; requires the scriptPubKey (locking script) part from &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1449</id>
		<title>Simplified Payment Verification</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1449"/>
		<updated>2020-01-22T15:41:40Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simplified Payment Verification (SPV) is described in section 8 of the [[Bitcoin whitepaper]]. It allows a user to prove or verify a payment to them without downloading the full [[Block chain]], by utilising the properties of [[Simplified_Payment_Verification #Merkle_Trees.2C_Merkle_Roots.2C_Merkle_Paths_and_Merkle_Proofs|Merkle proofs]].&lt;br /&gt;
&lt;br /&gt;
SPV allows users to securely transact with each other, peer-to-peer, while nodes act to form the settlement layer.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
The advantages of using SPV are clear in terms of the volume of data required:&lt;br /&gt;
&lt;br /&gt;
* a wallet can store '''all necessary block headers in around 50MB - this covers  the entire block chain''' (as of January 2020, with 80 bytes per block and around 620,000 blocks in the chain). The total '''grows linearly''' at around 4MB per year (i.e. it increases by 80 bytes with each block mined, regardless of the size of that block).&lt;br /&gt;
&lt;br /&gt;
* contrast this with the '''hundreds of gigabytes''' which would be required to store the entire chain, if SPV were not being used.&lt;br /&gt;
&lt;br /&gt;
* The size of the data required for the '''merkle paths''' is of maximum &amp;lt;math&amp;gt;64log_{2}{n}&amp;lt;/math&amp;gt; bytes, where &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the total number of transaction in one block. &lt;br /&gt;
&lt;br /&gt;
As explained in Section 8 of the [[Bitcoin whitepaper]]:&lt;br /&gt;
{{quote|1=''&amp;quot; ... [An SPV client] only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in ... }}&lt;br /&gt;
&lt;br /&gt;
And in Section 7:&lt;br /&gt;
{{quote|1=''&amp;quot; ... A block header with no transactions would be about 80 bytes. If we suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year ...&amp;quot;''}} &lt;br /&gt;
&lt;br /&gt;
===Approach===&lt;br /&gt;
There have been a lot of previous misunderstandings around SPV and peer-to-peer transacting. Previously, the custom had been for the sender of the payment to just broadcast the payment to the bitcoin network nodes. The receiver of the payment would then need to somehow filter through all of the transactions coming onto the blockchain for specific tranasactions relating to them (an extremely diffficult task in of itself). Even if the sender sent the transaction to the receiver as well as the network nodes, the custom had been for the receiver to always wait for the transaction to be burried into the blockchain at least 6 blocks deep whatever the transaction type or amount or situation.&lt;br /&gt;
&lt;br /&gt;
The better approach is that transactions between SPV clients are negotiated peer-to-peer and settled on the blockchain through the network nodes. An analogy for this is a transaction done using cheque at a much faster speed. The customer hands the the signed cheque (transaction) to the merchant who then cashes the cheque (settles the transaction). When/if the merchant is satisfied according to the situtational risk of the transaction, then they can hand over the goods or services. There is no such thing as absolute security, there is always a risk against the cost of being defrauded (which decreases exponentially as time goes by). If the transaction is only for a cup of coffee, then the merchant might incur more risk than if the transaction was for a car for example.&lt;br /&gt;
&lt;br /&gt;
===Merkle Trees, Merkle Roots, Merkle Paths and Merkle Proofs===&lt;br /&gt;
A '''Merkle Tree''' is a structure used in computer science to validate data - see [https://en.wikipedia.org/wiki/Merkle_tree wikipedia definition] for more information.&lt;br /&gt;
&lt;br /&gt;
The '''Merkle Root''' in a Bitcoin block is the hash contained in the [[Block_hashing_algorithm#Block_Header|block header]], which is derived from the hashes of all other transactions in the block.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Path''' in SPV represents the information which the user needs to calculate the expected value for the Merkle root for a block, from their own transaction hash contained in that block.  The Merkle path is used as part of of the Merkle Proof.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Proof''' in SPV proves the existence of a specific transaction in a specific block (without the user needing to examine all the transactions in the Block).  It includes the Merkle Root and the Merkle Path.&lt;br /&gt;
&lt;br /&gt;
* To '''create''' a Merkle proof, a user or (or their wallet) simply needs the Merkle path of the transaction as well as the [[Block_hashing_algorithm#Block_Header|block header]] for a given block (80 bytes).&lt;br /&gt;
&lt;br /&gt;
* To '''validate''' a proof, a user (or their wallet) only needs the chain of block headers (as opposed to the whole blockchain). I.e. they need their own copy of the [[Block_hashing_algorithm#Block_Header|block headers]] for  all blocks, that they know to be accurate.  Using their own block header chain, together with the transaction (or its hash/id) they want to verify, as well as its Merkle proof (also sometimes referred to as an inclusion proof), a user can verify the transaction appears in the block chain in a specific block, without examining every transaction in that block.&lt;br /&gt;
&lt;br /&gt;
An article in March 2019 entitled [https://craigwright.net/blog/bitcoin-blockchain-tech/merkle-trees-and-spv Merkle Trees and SPV] (Craig Wright, 2019) clarified some previous misunderstandings around SPV and transaction verification. The article included the following diagram which shows how transaction hashes can be related to the Merkle root in a block header:&lt;br /&gt;
&lt;br /&gt;
[[File: Merkle_tree2.png|frameless|1000px|alt=Three transactions and the Merkle paths which can be used to relate them to blocks]]&lt;br /&gt;
&lt;br /&gt;
===SPV Wallet===&lt;br /&gt;
An SPV wallet is a lightweight wallet that uses the mechanism of SPV to construct bitcoin transactions and payments. &lt;br /&gt;
&lt;br /&gt;
To spend a UTXO, a user of a SPV wallet will pass on the following information to the receiver:&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; - the transaction that contains the UTXO as an output,&lt;br /&gt;
# The Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;&lt;br /&gt;
# The block header that contains the Merkle root derived from the Merkle path (or its identifier, e.g., block height)&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; - the transaction that spends the UTXO&lt;br /&gt;
&lt;br /&gt;
To validate the information, a user computes the Merkle root from the Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;. The user then compares it with the Merkle root specified in the block header. If they are the same, the user accepts that &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; is in the chain. &lt;br /&gt;
&lt;br /&gt;
=== Offline Payment ===&lt;br /&gt;
Note that by storing &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; locally, a user will be able to sign &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; offline, as any signature on &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; requires the scriptPubKey (locking script) part from &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1448</id>
		<title>Simplified Payment Verification</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1448"/>
		<updated>2020-01-22T15:41:01Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simplified Payment Verification (SPV) is described in section 8 of the [[Bitcoin whitepaper]]. It allows a user to prove or verify a payment to them without downloading the full [[Block chain]], by utilising the properties of [[Simplified_Payment_Verification #Merkle_Trees.2C_Merkle_Roots.2C_Merkle_Paths_and_Merkle_Proofs|Merkle proofs]].&lt;br /&gt;
&lt;br /&gt;
SPV allows users to securely transact with each other, peer-to-peer, while nodes act to form the settlement layer.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
The advantages of using SPV are clear in terms of the volume of data required:&lt;br /&gt;
&lt;br /&gt;
* a wallet can store '''all necessary block headers in around 50MB - this covers  the entire block chain''' (as of January 2020, with 80 bytes per block and around 620,000 blocks in the chain). The total '''grows linearly''' at around 4MB per year (i.e. it increases by 80 bytes with each block mined, regardless of the size of that block).&lt;br /&gt;
&lt;br /&gt;
* contrast this with the '''hundreds of gigabytes''' which would be required to store the entire chain, if SPV were not being used.&lt;br /&gt;
&lt;br /&gt;
* The size of the data required for the '''merkle paths''' is of maximum &amp;lt;math&amp;gt;64log_{2}{n}&amp;lt;/math&amp;gt; bytes, where &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the total number of transaction in one block. &lt;br /&gt;
&lt;br /&gt;
As explained in Section 8 of the [[Bitcoin whitepaper]]:&lt;br /&gt;
{{quote|1=''&amp;quot; ... [An SPV client] only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in ... }}&lt;br /&gt;
&lt;br /&gt;
And in Section 7:&lt;br /&gt;
{{quote|1=''&amp;quot; ... A block header with no transactions would be about 80 bytes. If we suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year ...&amp;quot;''}} &lt;br /&gt;
&lt;br /&gt;
===Approach===&lt;br /&gt;
There have been a lot of previous misunderstandings around SPV and peer-to-peer transacting. Previously, the custom had been for the sender of the payment to just broadcast the payment to the bitcoin network nodes. The receiver of the payment would then need to somehow filter through all of the transactions coming onto the blockchain for specific tranasactions relating to them (an extremely diffficult task in of itself). Even if the sender sent the transaction to the receiver as well as the network nodes, the custom had been for the receiver to always wait for the transaction to be burried into the blockchain at least 6 blocks deep whatever the transaction type or amount or situation.&lt;br /&gt;
&lt;br /&gt;
The better approach is that transactions between SPV clients are negotiated peer-to-peer and settled on the blockchain through the network nodes. An analogy for this is a transaction done using cheque at a much faster speed. The customer hands the the signed cheque (transaction) to the merchant who then cashes the cheque (settles the transaction). When/if the merchant is satisfied according to the situtational risk of the transaction, then they can hand over the goods or services. There is no such thing as absolute security, there is always a risk against the cost of being defrauded (which increases exponentially as time goes by). If the transaction is only for a cup of coffee, then the merchant might incur more risk than if the transaction was for a car for example.&lt;br /&gt;
&lt;br /&gt;
===Merkle Trees, Merkle Roots, Merkle Paths and Merkle Proofs===&lt;br /&gt;
A '''Merkle Tree''' is a structure used in computer science to validate data - see [https://en.wikipedia.org/wiki/Merkle_tree wikipedia definition] for more information.&lt;br /&gt;
&lt;br /&gt;
The '''Merkle Root''' in a Bitcoin block is the hash contained in the [[Block_hashing_algorithm#Block_Header|block header]], which is derived from the hashes of all other transactions in the block.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Path''' in SPV represents the information which the user needs to calculate the expected value for the Merkle root for a block, from their own transaction hash contained in that block.  The Merkle path is used as part of of the Merkle Proof.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Proof''' in SPV proves the existence of a specific transaction in a specific block (without the user needing to examine all the transactions in the Block).  It includes the Merkle Root and the Merkle Path.&lt;br /&gt;
&lt;br /&gt;
* To '''create''' a Merkle proof, a user or (or their wallet) simply needs the Merkle path of the transaction as well as the [[Block_hashing_algorithm#Block_Header|block header]] for a given block (80 bytes).&lt;br /&gt;
&lt;br /&gt;
* To '''validate''' a proof, a user (or their wallet) only needs the chain of block headers (as opposed to the whole blockchain). I.e. they need their own copy of the [[Block_hashing_algorithm#Block_Header|block headers]] for  all blocks, that they know to be accurate.  Using their own block header chain, together with the transaction (or its hash/id) they want to verify, as well as its Merkle proof (also sometimes referred to as an inclusion proof), a user can verify the transaction appears in the block chain in a specific block, without examining every transaction in that block.&lt;br /&gt;
&lt;br /&gt;
An article in March 2019 entitled [https://craigwright.net/blog/bitcoin-blockchain-tech/merkle-trees-and-spv Merkle Trees and SPV] (Craig Wright, 2019) clarified some previous misunderstandings around SPV and transaction verification. The article included the following diagram which shows how transaction hashes can be related to the Merkle root in a block header:&lt;br /&gt;
&lt;br /&gt;
[[File: Merkle_tree2.png|frameless|1000px|alt=Three transactions and the Merkle paths which can be used to relate them to blocks]]&lt;br /&gt;
&lt;br /&gt;
===SPV Wallet===&lt;br /&gt;
An SPV wallet is a lightweight wallet that uses the mechanism of SPV to construct bitcoin transactions and payments. &lt;br /&gt;
&lt;br /&gt;
To spend a UTXO, a user of a SPV wallet will pass on the following information to the receiver:&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; - the transaction that contains the UTXO as an output,&lt;br /&gt;
# The Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;&lt;br /&gt;
# The block header that contains the Merkle root derived from the Merkle path (or its identifier, e.g., block height)&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; - the transaction that spends the UTXO&lt;br /&gt;
&lt;br /&gt;
To validate the information, a user computes the Merkle root from the Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;. The user then compares it with the Merkle root specified in the block header. If they are the same, the user accepts that &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; is in the chain. &lt;br /&gt;
&lt;br /&gt;
=== Offline Payment ===&lt;br /&gt;
Note that by storing &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; locally, a user will be able to sign &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; offline, as any signature on &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; requires the scriptPubKey (locking script) part from &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1447</id>
		<title>Simplified Payment Verification</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1447"/>
		<updated>2020-01-22T15:25:41Z</updated>

		<summary type="html">&lt;p&gt;David Watson: /* Merkle Trees and Merkle Paths */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simplified Payment Verification (SPV) is described in section 8 of the [[Bitcoin whitepaper]]. It allows a user to prove or verify a payment to them without downloading the full [[Block chain]], by utilising the properties of Merkle proofs. An SPV client &amp;quot;only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branchlinking the transaction to the block it's timestamped in.&amp;quot; (link to bitcoin whitepaper) This block header chain is many orders of mangitude smaller than the entire blockchain (with all transactions in it) since it only grows by a fixed amount over time regardless of how big the blockchain grows. &amp;quot;A block header with no transactions would be about 80 bytes. If we suppose blocks aregenerated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year.&amp;quot; (link to bitcoin whitepaper) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
The advantages of using SPV are clear in terms of the volume of data required:&lt;br /&gt;
&lt;br /&gt;
* a wallet can store '''all necessary block headers in around 50MB - this covers  the entire block chain''' (as of January 2020, with 80 bytes per block and around 620,000 blocks in the chain). The total '''grows linearly''' at around 4MB per year (i.e. it increases by 80 bytes with each block mined, regardless of the size of that block).&lt;br /&gt;
&lt;br /&gt;
* contrast this with the '''hundreds of gigabytes''' which would be required to store the entire chain, if SPV were not being used.&lt;br /&gt;
&lt;br /&gt;
* The size of the data required for the '''merkle paths''' is of maximum &amp;lt;math&amp;gt;64log_{2}{n}&amp;lt;/math&amp;gt; bytes, where &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the total number of transaction in one block. &lt;br /&gt;
&lt;br /&gt;
SPV allows users to securely transact with each other, peer-to-peer, while nodes act to form the settlement layer.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Approach===&lt;br /&gt;
There have been a lot of previous misunderstandings around SPV and peer-to-peer transacting. Previously, the custom had been for the sender of the payment to just broadcast the payment to the bitcoin network nodes. The receiver of the payment would then need to somehow filter through all of the transactions coming onto the blockchain for specific tranasactions relating to them (an extremely diffficult task in of itself). Even if the sender sent the transaction to the receiver as well as the network nodes, the custom had been for the receiver to always wait for the transaction to be burried into the blockchain at least 6 blocks deep whatever the transaction type or amount or situation.&lt;br /&gt;
&lt;br /&gt;
Transactions between SPV clients are negotiated peer-to-peer and settled on the blockchain through the network nodes. An analogy for this is a transaction done using cheque at a much faster speed. The customer hands the the signed cheque (transaction) to the merchant who then cashes the cheque (settles the transaction). When/if the merchant is satisfied according to the situtational risk of the transaction, then they can hand over the goods or services. There is no such thing as absolute security, there is always a risk against the cost of being defrauded (which increases exponentially as time goes by). If the transaction is only for a cup of coffee, then the merchant might incur more risk than if the transaction was for a car for example.&lt;br /&gt;
&lt;br /&gt;
An article in March entitled [https://craigwright.net/blog/bitcoin-blockchain-tech/merkle-trees-and-spv Merkle Trees and SPV] (Craig Wright, 2019) clarified some previous misunderstandings around SPV and transaction verification. The article included the following diagram which shows how transaction hashes can be related to the Merkle root in a block header:&lt;br /&gt;
&lt;br /&gt;
[[File: Merkle_tree2.png|frameless|1000px|alt=Three transactions and the Merkle paths which can be used to relate them to blocks]]&lt;br /&gt;
&lt;br /&gt;
===Merkle Trees, Merkle Roots, Merkle Paths and Merkle Proofs===&lt;br /&gt;
A '''Merkle Tree''' is a structure used in computer science to validate data - see [https://en.wikipedia.org/wiki/Merkle_tree wikipedia definition] for more information.&lt;br /&gt;
&lt;br /&gt;
The '''Merkle Root''' in a Bitcoin block is the hash contained in the [[Block_hashing_algorithm#Block_Header|block header]], which is derived from the hashes of all other transactions in the block.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Path''' in SPV represents the information which the user needs to calculate the expected value for the Merkle root for a block, from their own transaction hash contained in that block.  The Merkle path is used as part of of the Merkle Proof.&lt;br /&gt;
&lt;br /&gt;
A '''Merkle Proof''' in SPV proves the existence of a specific transaction in a specific block (without the user needing to examine all the transactions in the Block).  It includes the Merkle Root and the Merkle Path.&lt;br /&gt;
&lt;br /&gt;
* To '''create''' a Merkle proof, a user or (or their wallet) simply needs the Merkle path of the transaction as well as the [[Block_hashing_algorithm#Block_Header|block header]] for a given block (80 bytes).&lt;br /&gt;
&lt;br /&gt;
* To '''validate''' a proof, a user (or their wallet) only needs the chain of block headers (as opposed to the whole blockchain). I.e. they need their own copy of the [[Block_hashing_algorithm#Block_Header|block headers]] for  all blocks, that they know to be accurate.  Using their own block header chain, together with the transaction (or its hash/id) they want to verify, as well as its Merkle proof (also sometimes referred to as an inclusion proof), a user can verify the transaction appears in the block chain in a specific block, without examining every transaction in that block.&lt;br /&gt;
&lt;br /&gt;
===SPV Wallet===&lt;br /&gt;
An SPV wallet is a lightweight wallet that uses the mechanism of SPV to construct bitcoin transactions and payments. &lt;br /&gt;
&lt;br /&gt;
To spend a UTXO, a user of a SPV wallet will pass on the following information to the receiver:&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; - the transaction that contains the UTXO as an output,&lt;br /&gt;
# The Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;&lt;br /&gt;
# The block header that contains the Merkle root derived from the Merkle path (or its identifier, e.g., block height)&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; - the transaction that spends the UTXO&lt;br /&gt;
&lt;br /&gt;
To validate the information, a user computes the Merkle root from the Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;. The user then compares it with the Merkle root specified in the block header. If they are the same, the user accepts that &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; is in the chain. &lt;br /&gt;
&lt;br /&gt;
=== Offline Payment ===&lt;br /&gt;
Note that by storing &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; locally, a user will be able to sign &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; offline, as any signature on &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; requires the scriptPubKey (locking script) part from &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1444</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1444"/>
		<updated>2020-01-22T12:19:41Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [[Bitcoin whitepaper|Bitcoin white paper]] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows online payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
&lt;br /&gt;
The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
&lt;br /&gt;
With the original protocol restored in the [[Genesis upgrade]], Bitcoin is seeing a surge of development at the '''application layer'''.  Here are some highlights - for more detail see [[Building on Bitcoin| applications]]&lt;br /&gt;
&lt;br /&gt;
* The most obvious application of '''sending payments''' is being improved substantially with developments such as [[Paymail]] and [[Simplified Payment Verification]]&lt;br /&gt;
&lt;br /&gt;
* '''Micropayments''' are now possible on Bitcoin, because transaction costs are exceptionally low.  This has huge potential.  Authors such as George Gilder argue that a revolution is coming and that '' 'the crude imperatives of “free” [in online services] will give way to the calibrated voluntary exchanges of free markets and micropayments.' '' (see [https://townhall.com/columnists/georgegilder/2018/07/17/exclusive-10-laws-of-the-cryptocosm-n2501167 The Fall of Big Data and the Rise of the Blockchain Economy] Chapter 5, Gateway Editions ISBN 1621575764, July 2018)&lt;br /&gt;
&lt;br /&gt;
* '''Increased capacity''' for transaction handling is also spurring growth - even before the [[Genesis upgrade]] the network could comfortably handle [https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html 1000 transactions per second].  This capacity continues to increase.  In a [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3065857 2017 paper], Craig Wright wrote that ''&amp;quot;Bitcoin has the potential to replace all existing payment systems to become the world’s primary infrastructure for commerce over the internet.&amp;quot;''.  In April 2009, writing as Satoshi Nakamoto, he [https://nakamotostudies.org/emails/satoshi-reply-to-mike-hearn/ wrote] ''“The existing Visa credit card network processes about 15 million Internet purchases per day worldwide. Bitcoin can already scale much larger than that with existing hardware for a fraction of the cost. It never really hits a scale ceiling.”''  See also [[Capacity Metrics]] and [https://coingeek.com/nchains-road-to-genesis-and-unlimited-bsv-scaling-at-coingeek-seoul this article on scaling].&lt;br /&gt;
&lt;br /&gt;
* Applications which harness the [[Block_chain|Bitcoin blockchain]] to '''store and retrieve immutable data''' are increasingly emerging.  The [[False Return]] and [[Pushdata Opcodes]] in Bitcoin script allow for this.  Following the [[Genesis upgrade]] it will be possible to store much larger volumes of data in a single transaction than had previously been possible.&lt;br /&gt;
&lt;br /&gt;
* Data structures can even be created on chain using techniques like the [[Metanet Protocol]].&lt;br /&gt;
&lt;br /&gt;
* Applications involving evidential time-stamping or logging are also emerging, taking advantage of the fact that Bitcoin transactions are mined into provably sequential blocks in a global distributed ledger.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of digital signatures maps out the entire history of valid exchange actions, allowing the tracing of all Bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign ownership rights to each transaction output.&lt;br /&gt;
All network events including the creation of a block are inscribed in transactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Transaction.png|frame|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to vote on [[Network|network rules]]. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
[[File:Proof_of_Work.png|frame|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the mining process, a node gather transactions from the network and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|frame|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming a [[Mandala Network]]. In this shell network, peers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners in [[Block|Blocks]]. Blocks are discovered just under every 10 minutes on average and held in a a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) structured as a [[Block chain]]. Each block forms a node in the graph. This graph is consistent in structure and can be traced back to the [[Genesis block|first block mined]].&lt;br /&gt;
&lt;br /&gt;
[[File:Block_Chain.png|frame|centre|alt=A chain of blocks]]&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer, allowing them to be modified in payment channels. Once a transactions is sent to the network in a closed channel, global consensus can be reached on the validity in less than 2 seconds.&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Satoshis are issued by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in Bitcoin, spreading it through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.   For example, at the time of writing, certain other groups are wrongly using the 'Bitcoin' name to refer to their own projects.  The most famous of these uses a software implementation known as 'Bitcoin core' and has a token known as 'BTC' [[Bitcoin until today|(more information)]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1428</id>
		<title>Simplified Payment Verification</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1428"/>
		<updated>2020-01-21T17:12:42Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simplified Payment Verification (SPV) is described in section 8 of the [[Bitcoin whitepaper]]. It allows a user to prove or verify that a transaction is in the [[Block chain]] without downloading the full chain.&lt;br /&gt;
&lt;br /&gt;
To '''create''' a Merkle proof, a user or (or their wallet) simply needs the '''[[Block_hashing_algorithm#Block_Header|block header]]''' for a given block (80 bytes) and the '''Merkle path''' within that block of the transaction they need to validate. Together, these two items will be sufficient to prove that a given transaction exists in the chain at a given block height. &lt;br /&gt;
&lt;br /&gt;
To '''validate''' a proof, a user (or their wallet) only needs the 80 byte header for the block where the transaction appeared.  They don't need all of the transactions within block (which could be very large).  By computing the hash of the transaction and the Merkle root, the user can compare it with the Merkle root in the block header. If it matches, then the validation is successful. &lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
The advantages of using SPV are clear in terms of the volume of data required:&lt;br /&gt;
&lt;br /&gt;
* a wallet can store '''all necessary block headers in around 50MB - this covers  the entire block chain''' (as at January 2020, with 80 bytes per block and around 620,000 blocks in the chain). The total '''grows linearly''' at around 4MB per year (i.e. it increases by 80 bytes with each block mined, regardless of the size of that block).&lt;br /&gt;
&lt;br /&gt;
* contrast this with the '''hundreds of gigabytes''' which would be required to store the entire chain, if SPV were not being used.&lt;br /&gt;
&lt;br /&gt;
* The size of the data required for the '''merkle paths''' is of maximum &amp;lt;math&amp;gt;64log_{2}{n}&amp;lt;/math&amp;gt; bytes, where &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the total number of transaction in one block. &lt;br /&gt;
&lt;br /&gt;
===Approach===&lt;br /&gt;
An article in March entitled [https://craigwright.net/blog/bitcoin-blockchain-tech/merkle-trees-and-spv Merkle Trees and SPV] (Craig Wright, 2019) clarified some previous misunderstandings around SPV and transaction verification.  Previously, the custom had been for the person receiving a payment to poll the block chain repeatedly, to confirm that their transaction had reached a certain depth (say 6 blocks deep).  Dr Wright stated that this was unnecessary:&lt;br /&gt;
&lt;br /&gt;
{{quote|&lt;br /&gt;
In contrast, the present invention requires that the necessary SPV check be performed on a transaction’s inputs '''prior to its broadcast''' [emphasis added].  The shift in emphasis greatly reduces the burden and traffic on the network in dealing with invalid transactions.&lt;br /&gt;
&lt;br /&gt;
A second important paradigm in the existing [i.e. the prior] SPV system is that an SPV client must '''query full nodes''' [emphasis added] on the network to obtain the Merkle path required for the SPV check ...  SPV checks that '''remove such burden on the network''' [emphasis added], by stipulating the lightweight Bitcoin client where users keep, maintain, or at least have access to their own copies of Merkle paths pertinent to the unspent transaction outputs owned by them, '''allow Bitcoin to scale'''. [emphasis added]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The article referenced above included the following diagram which shows how transaction hashes can be related to the Merkle root in a block header:&lt;br /&gt;
&lt;br /&gt;
[[File: Merkle_tree2.png|frameless|1000px|alt=Three transactions and the Merkle paths which can be used to relate them to blocks]]&lt;br /&gt;
&lt;br /&gt;
===Merkle Trees and Merkle Paths===&lt;br /&gt;
A Merkle Tree is a structure used in computer science to validate data - see [https://en.wikipedia.org/wiki/Merkle_tree https://en.wikipedia.org/wiki/Merkle_tree] for more information&lt;br /&gt;
&lt;br /&gt;
===SPV Wallet===&lt;br /&gt;
An SPV wallet is a lightweight wallet that uses the mechanism of SPV to construct bitcoin transactions and payments. &lt;br /&gt;
&lt;br /&gt;
To spend a UTXO, a user of a SPV wallet will pass on the following information to the receiver:&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; - the transaction that contains the UTXO as an output,&lt;br /&gt;
# The Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;&lt;br /&gt;
# The block header that contains the Merkle root derived from the Merkle path (or its identifier, e.g., block height)&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; - the transaction that spends the UTXO&lt;br /&gt;
&lt;br /&gt;
To validate the information, a user computes the Merkle root from the Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;. The user then compares it with the Merkle root specified in the block header. If they are the same, the user accepts that &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; is in the chain. &lt;br /&gt;
&lt;br /&gt;
=== Offline Payment ===&lt;br /&gt;
Note that by storing &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; locally, a user will be able to sign &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; offline, as any signature on &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; requires the scriptPubKey (locking script) part from &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Template:Quote&amp;diff=1427</id>
		<title>Template:Quote</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Template:Quote&amp;diff=1427"/>
		<updated>2020-01-21T17:02:57Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color: #fcf7ea; border-style: dotted; padding-top: 5px;&lt;br /&gt;
padding-left: 10px;&amp;quot;&amp;gt;&lt;br /&gt;
{{{1}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1426</id>
		<title>Simplified Payment Verification</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Simplified_Payment_Verification&amp;diff=1426"/>
		<updated>2020-01-21T17:00:46Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simplified Payment Verification (SPV) is described in section 8 of the [[Bitcoin whitepaper]]. It allows a user to prove or verify that a transaction is in the [[Block chain]] without downloading the full chain.&lt;br /&gt;
&lt;br /&gt;
To '''create''' a Merkle proof, a user or (or their wallet) simply needs the '''[[Block_hashing_algorithm#Block_Header|block header]]''' for a given block (80 bytes) and the '''Merkle path''' within that block of the transaction they need to validate. Together, these two items will be sufficient to prove that a given transaction exists in the chain at a given block height. &lt;br /&gt;
&lt;br /&gt;
To '''validate''' a proof, a user (or their wallet) only needs the 80 byte header for the block where the transaction appeared.  They don't need all of the transactions within block (which could be very large).  By computing the hash of the transaction and the Merkle root, the user can compare it with the Merkle root in the block header. If it matches, then the validation is successful. &lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
The advantages of using SPV are clear in terms of the volume of data required:&lt;br /&gt;
&lt;br /&gt;
* a wallet only needs around '''50MB to store the block headers for the entire block chain''' (as at January 2020, with 80 bytes per block and around 620,000 blocks in the chain).  This '''grows linearly''' with each block mined (i.e. it increases by 80 bytes with each block mined, regardless of the size of that block, so we can expect it to grow at around 4MB per year.)&lt;br /&gt;
&lt;br /&gt;
* contrast this with the '''hundreds of gigabytes''' which would be required to store the entire chain, if SPV were not being used&lt;br /&gt;
&lt;br /&gt;
* The size of the data required for the '''merkle paths''' is of maximum &amp;lt;math&amp;gt;64log_{2}{n}&amp;lt;/math&amp;gt; bytes, where &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is the total number of transaction in one block. &lt;br /&gt;
&lt;br /&gt;
===Approach===&lt;br /&gt;
An article in March entitled [https://craigwright.net/blog/bitcoin-blockchain-tech/merkle-trees-and-spv Merkle Trees and SPV] (Craig Wright, 2019) clarified some previous misunderstandings around SPV and transaction verification.  Previously, the custom had been for the person receiving a payment to poll the block chain repeatedly, to confirm that their transaction had reached a certain depth.  Dr Wright stated that this was unnecessary and said as follows:&lt;br /&gt;
&lt;br /&gt;
{{quote|&lt;br /&gt;
In contrast, the present invention requires that the necessary SPV check be performed on a transaction’s inputs '''prior to its broadcast''' [emphasis added].  The shift in emphasis greatly reduces the burden and traffic on the network in dealing with invalid transactions.&lt;br /&gt;
&lt;br /&gt;
A second important paradigm in the existing [i.e. the prior] SPV system is that an SPV client must '''query full nodes''' [emphasis added] on the network to obtain the Merkle path required for the SPV check ...  SPV checks that '''remove such burden on the network''' [emphasis added], by stipulating the lightweight Bitcoin client where users keep, maintain, or at least have access to their own copies of Merkle paths pertinent to the unspent transaction outputs owned by them, '''allow Bitcoin to scale'''. [emphasis added]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The article referenced above included the following diagram which shows how transaction hashes can be related to the Merkle root in a block header:&lt;br /&gt;
&lt;br /&gt;
[[File: Merkle_tree2.png|frameless|1000px|alt=Three transactions and the Merkle paths which can be used to relate them to blocks]]&lt;br /&gt;
&lt;br /&gt;
===Merkle Trees and Merkle Paths===&lt;br /&gt;
A Merkle Tree is a structure used in computer science to validate data - see [https://en.wikipedia.org/wiki/Merkle_tree https://en.wikipedia.org/wiki/Merkle_tree] for more information&lt;br /&gt;
&lt;br /&gt;
===SPV Wallet===&lt;br /&gt;
An SPV wallet is a lightweight wallet that uses the mechanism of SPV to construct bitcoin transactions and payments. &lt;br /&gt;
&lt;br /&gt;
To spend a UTXO, a user of a SPV wallet will pass on the following information to the receiver:&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; - the transaction that contains the UTXO as an output,&lt;br /&gt;
# The Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;&lt;br /&gt;
# The block header that contains the Merkle root derived from the Merkle path (or its identifier, e.g., block height)&lt;br /&gt;
# &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; - the transaction that spends the UTXO&lt;br /&gt;
&lt;br /&gt;
To validate the information, a user computes the Merkle root from the Merkle path of &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;. The user then compares it with the Merkle root specified in the block header. If they are the same, the user accepts that &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; is in the chain. &lt;br /&gt;
&lt;br /&gt;
=== Offline Payment ===&lt;br /&gt;
Note that by storing &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt; locally, a user will be able to sign &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; offline, as any signature on &amp;lt;math&amp;gt;Transaction_1&amp;lt;/math&amp;gt; requires the scriptPubKey (locking script) part from &amp;lt;math&amp;gt;Transaction_0&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Template:Quote&amp;diff=1425</id>
		<title>Template:Quote</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Template:Quote&amp;diff=1425"/>
		<updated>2020-01-21T16:44:48Z</updated>

		<summary type="html">&lt;p&gt;David Watson: Created page with &amp;quot;&amp;lt;div style=&amp;quot;background-color: #fcf7ea; border-style: dotted;&amp;quot;&amp;gt; {{{1}}} &amp;lt;/div&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;background-color: #fcf7ea; border-style: dotted;&amp;quot;&amp;gt;&lt;br /&gt;
{{{1}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=File:Merkle_tree2.png&amp;diff=1424</id>
		<title>File:Merkle tree2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=File:Merkle_tree2.png&amp;diff=1424"/>
		<updated>2020-01-21T16:05:30Z</updated>

		<summary type="html">&lt;p&gt;David Watson: Three transactions, and the Merkle paths which can be used to relate them to blocks (headers)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Three transactions, and the Merkle paths which can be used to relate them to blocks (headers)&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1420</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1420"/>
		<updated>2020-01-21T14:46:58Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|&amp;lt;span style=&amp;quot;color:red;font-size:1.2em;font-weight:bold;text-decoration:underline;&amp;quot;&amp;gt;Temporary log in link&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the BitcoinSV wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [[Bitcoin whitepaper|Bitcoin white paper]] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows online payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
&lt;br /&gt;
The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
&lt;br /&gt;
With the original protocol restored in the [[Genesis upgrade]], Bitcoin is seeing a surge of development at the '''application layer'''.  Here are some highlights - for more detail see [[Building on Bitcoin| applications]]&lt;br /&gt;
&lt;br /&gt;
* The most obvious application of '''sending payments''' is being improved substantially with developments such as [[Paymail]] and [[Simplified Payment Verification]]&lt;br /&gt;
&lt;br /&gt;
* '''Micropayments''' are now possible on Bitcoin, because transaction costs are exceptionally low.  This has huge potential.  Authors such as George Gilder argue that a revolution is coming and that '' 'the crude imperatives of “free” [in online services] will give way to the calibrated voluntary exchanges of free markets and micropayments.' '' (see [https://townhall.com/columnists/georgegilder/2018/07/17/exclusive-10-laws-of-the-cryptocosm-n2501167 The Fall of Big Data and the Rise of the Blockchain Economy] Chapter 5, Gateway Editions ISBN 1621575764, July 2018)&lt;br /&gt;
&lt;br /&gt;
* '''Increased capacity''' for transaction handling is also spurring growth - even before the [[Genesis upgrade]] the network could comfortably handle [https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html 1000 transactions per second].  This capacity continues to increase.  In a [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3065857 2017 paper], Craig Wright wrote that ''&amp;quot;Bitcoin has the potential to replace all existing payment systems to become the world’s primary infrastructure for commerce over the internet.&amp;quot;''.  In April 2009, writing as Satoshi Nakamoto, he [https://nakamotostudies.org/emails/satoshi-reply-to-mike-hearn/ wrote] ''“The existing Visa credit card network processes about 15 million Internet purchases per day worldwide. Bitcoin can already scale much larger than that with existing hardware for a fraction of the cost. It never really hits a scale ceiling.”''  See also [[Capacity Metrics]] and [https://coingeek.com/nchains-road-to-genesis-and-unlimited-bsv-scaling-at-coingeek-seoul this article on scaling].&lt;br /&gt;
&lt;br /&gt;
* Applications which harness the [[Block_chain|Bitcoin blockchain]] to '''store and retrieve immutable data''' are increasingly emerging.  The [[False Return]] and [[Pushdata Opcodes]] in Bitcoin script allow for this.  Following the [[Genesis upgrade]] it will be possible to store much larger volumes of data in a single transaction than had previously been possible.&lt;br /&gt;
&lt;br /&gt;
* Data structures can even be created on chain using techniques like the [[Metanet Protocol]].&lt;br /&gt;
&lt;br /&gt;
* Applications involving evidential time-stamping or logging are also emerging, taking advantage of the fact that Bitcoin transactions are mined into provably sequential blocks in a global distributed ledger.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of digital signatures maps out the entire history of valid exchange actions, allowing the tracing of all Bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign ownership rights to each transaction output.&lt;br /&gt;
All network events including the creation of a block are inscribed in transactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Transaction.png|frame|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to vote on [[Network|network rules]]. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
[[File:Proof_of_Work.png|frame|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the mining process, a node gather transactions from the network and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|frame|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming a [[Mandala Network]]. In this shell network, peers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners in [[Block|Blocks]]. Blocks are discovered just under every 10 minutes on average and held in a a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) structured as a [[Block chain]]. Each block forms a node in the graph. This graph is consistent in structure and can be traced back to the [[Genesis block|first block mined]].&lt;br /&gt;
&lt;br /&gt;
[[File:Block_Chain.png|frame|centre|alt=A chain of blocks]]&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer, allowing them to be modified in payment channels. Once a transactions is sent to the network in a closed channel, global consensus can be reached on the validity in less than 2 seconds.&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
===Subsidy===&lt;br /&gt;
Satoshis are issued by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in Bitcoin, spreading them through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
===Limits===&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.   For example, at the time of writing, certain other groups are wrongly using the 'Bitcoin' name to refer to their own projects.  The most famous of these uses a software implementation known as 'Bitcoin core' and has a token known as 'BTC' [[Bitcoin until today|(more information)]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1419</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1419"/>
		<updated>2020-01-21T14:31:13Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|&amp;lt;span style=&amp;quot;color:red;font-size:1.2em;font-weight:bold;text-decoration:underline;&amp;quot;&amp;gt;Temporary log in link&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the BitcoinSV wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [[Bitcoin whitepaper|Bitcoin white paper]] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows online payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
&lt;br /&gt;
The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
&lt;br /&gt;
With the original protocol restored in the [[Genesis upgrade]], Bitcoin is seeing a surge of development at the '''application layer'''.  Here are some highlights - for more detail see [[Building on Bitcoin| applications]]&lt;br /&gt;
&lt;br /&gt;
* The most obvious application of '''sending payments''' is being improved substantially with developments such as [[Paymail]] and [[Simplified Payment Verification]]&lt;br /&gt;
&lt;br /&gt;
* '''Micropayments''' are now possible on Bitcoin, because transaction costs are exceptionally low.  This has huge potential.  Authors such as George Gilder argue that a revolution is coming and that '' 'the crude imperatives of “free” [in online services] will give way to the calibrated voluntary exchanges of free markets and micropayments.' '' (see [https://townhall.com/columnists/georgegilder/2018/07/17/exclusive-10-laws-of-the-cryptocosm-n2501167 The Fall of Big Data and the Rise of the Blockchain Economy] Chapter 5, Gateway Editions ISBN 1621575764, July 2018)&lt;br /&gt;
&lt;br /&gt;
* '''Increased capacity''' for transaction handling is also spurring growth - even before the [[Genesis upgrade]] the network could comfortably handle [https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html 1000 transactions per second].  This capacity continues to increase.  In a [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3065857 2017 paper], Craig Wright wrote that ''&amp;quot;Bitcoin has the potential to replace all existing payment systems to become the world’s primary infrastructure for commerce over the internet.&amp;quot;''.  See also [[Capacity Metrics]] and [https://coingeek.com/nchains-road-to-genesis-and-unlimited-bsv-scaling-at-coingeek-seoul this article on scaling].&lt;br /&gt;
&lt;br /&gt;
* Applications which harness the [[Block_chain|Bitcoin blockchain]] to '''store and retrieve immutable data''' are increasingly emerging.  The [[False Return]] and [[Pushdata Opcodes]] in Bitcoin script allow for this.  Following the [[Genesis upgrade]] it will be possible to store much larger volumes of data in a single transaction than had previously been possible.&lt;br /&gt;
&lt;br /&gt;
* Data structures can even be created on chain using techniques like the [[Metanet Protocol]].&lt;br /&gt;
&lt;br /&gt;
* Applications involving evidential time-stamping or logging are also emerging, taking advantage of the fact that Bitcoin transactions are mined into provably sequential blocks in a global distributed ledger.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of digital signatures maps out the entire history of valid exchange actions, allowing the tracing of all Bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign ownership rights to each transaction output.&lt;br /&gt;
All network events including the creation of a block are inscribed in transactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Transaction.png|frame|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to vote on [[Network|network rules]]. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
[[File:Proof_of_Work.png|frame|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the mining process, a node gather transactions from the network and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|frame|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming a [[Mandala Network]]. In this shell network, peers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners in [[Block|Blocks]]. Blocks are discovered just under every 10 minutes on average and held in a a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) structured as a [[Block chain]]. Each block forms a node in the graph. This graph is consistent in structure and can be traced back to the [[Genesis block|first block mined]].&lt;br /&gt;
&lt;br /&gt;
[[File:Block_Chain.png|frame|centre|alt=A chain of blocks]]&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer, allowing them to be modified in payment channels. Once a transactions is sent to the network in a closed channel, global consensus can be reached on the validity in less than 2 seconds.&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
===Subsidy===&lt;br /&gt;
Satoshis are issued by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in Bitcoin, spreading them through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
===Limits===&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.   For example, at the time of writing, certain other groups are wrongly using the 'Bitcoin' name to refer to their own projects.  The most famous of these uses a software implementation known as 'Bitcoin core' and has a token known as 'BTC' [[Bitcoin until today|(more information)]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1418</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1418"/>
		<updated>2020-01-21T14:21:35Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|&amp;lt;span style=&amp;quot;color:red;font-size:1.2em;font-weight:bold;text-decoration:underline;&amp;quot;&amp;gt;Temporary log in link&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the BitcoinSV wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [[Bitcoin whitepaper|Bitcoin white paper]] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows online payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
&lt;br /&gt;
The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
&lt;br /&gt;
With the original protocol restored in the [[Genesis upgrade]], Bitcoin is seeing a surge of development at the '''application layer'''.  Here are some highlights - for more detail see [[Building on Bitcoin| applications]]&lt;br /&gt;
&lt;br /&gt;
* The most obvious application of '''sending payments''' is being improved substantially with developments such as [[Paymail]] and [[Simplified Payment Verification]]&lt;br /&gt;
&lt;br /&gt;
* '''Micropayments''' are now possible on Bitcoin, because transaction costs are exceptionally low.  This has huge potential.  Authors such as George Gilder argue that a revolution is coming and that '' 'the crude imperatives of “free” [in online services] will give way to the calibrated voluntary exchanges of free markets and micropayments.' '' (see [https://townhall.com/columnists/georgegilder/2018/07/17/exclusive-10-laws-of-the-cryptocosm-n2501167 The Fall of Big Data and the Rise of the Blockchain Economy] Chapter 5, Gateway Editions ISBN 1621575764, July 2018)&lt;br /&gt;
&lt;br /&gt;
* '''Increased capacity''' for transaction handling is also spurring growth - even before the [[Genesis upgrade]] the network could comfortably handle [https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html 1000 transactions per second].  This capacity continues to increase.  In a [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3065857 2017 paper], Craig Wright wrote that ''&amp;quot;Bitcoin has the potential to replace all existing payment systems to become the world’s primary infrastructure for commerce over the internet.&amp;quot;''.  See also [[Capacity Metrics]].&lt;br /&gt;
&lt;br /&gt;
* Applications which harness the [[Block_chain|Bitcoin blockchain]] to '''store and retrieve immutable data''' are increasingly emerging.  The [[False Return]] and [[Pushdata Opcodes]] in Bitcoin script allow for this.  Following the [[Genesis upgrade]] it will be possible to store much larger volumes of data in a single transaction than had previously been possible.&lt;br /&gt;
&lt;br /&gt;
* Data structures can even be created on chain using techniques like the [[Metanet Protocol]].&lt;br /&gt;
&lt;br /&gt;
* Applications involving evidential time-stamping or logging are also emerging, taking advantage of the fact that Bitcoin transactions are mined into provably sequential blocks in a global distributed ledger.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of digital signatures maps out the entire history of valid exchange actions, allowing the tracing of all Bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign ownership rights to each transaction output.&lt;br /&gt;
All network events including the creation of a block are inscribed in transactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Transaction.png|frame|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to vote on [[Network|network rules]]. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
[[File:Proof_of_Work.png|frame|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the mining process, a node gather transactions from the network and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|frame|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming a [[Mandala Network]]. In this shell network, peers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners in [[Block|Blocks]]. Blocks are discovered just under every 10 minutes on average and held in a a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) structured as a [[Block chain]]. Each block forms a node in the graph. This graph is consistent in structure and can be traced back to the [[Genesis block|first block mined]].&lt;br /&gt;
&lt;br /&gt;
[[File:Block_Chain.png|frame|centre|alt=A chain of blocks]]&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer, allowing them to be modified in payment channels. Once a transactions is sent to the network in a closed channel, global consensus can be reached on the validity in less than 2 seconds.&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
===Subsidy===&lt;br /&gt;
Satoshis are issued by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in Bitcoin, spreading them through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
===Limits===&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.   For example, at the time of writing, certain other groups are wrongly using the 'Bitcoin' name to refer to their own projects.  The most famous of these uses a software implementation known as 'Bitcoin core' and has a token known as 'BTC' [[Bitcoin until today|(more information)]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1415</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1415"/>
		<updated>2020-01-21T13:52:21Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|&amp;lt;span style=&amp;quot;color:red;font-size:1.2em;font-weight:bold;text-decoration:underline;&amp;quot;&amp;gt;Temporary log in link&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the BitcoinSV wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [[Bitcoin whitepaper|Bitcoin white paper]] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows online payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
&lt;br /&gt;
The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
&lt;br /&gt;
With the original protocol restored in the [[Genesis upgrade]], Bitcoin is seeing a surge of development at the '''application layer'''.  Here are some highlights - for more detail see [[Building on Bitcoin| applications]]&lt;br /&gt;
&lt;br /&gt;
* The most obvious application of '''sending payments''' is being improved substantially with developments such as [[Paymail]] and [[Simplified Payment Verification]]&lt;br /&gt;
&lt;br /&gt;
* '''Micropayments''' are now possible on Bitcoin, because transaction costs are exceptionally low.  This has huge potential.  Authors such as George Gilder argue that a revolution is coming and that '' 'the crude imperatives of “free” [in online services] will give way to the calibrated voluntary exchanges of free markets and micropayments.' '' (see [https://townhall.com/columnists/georgegilder/2018/07/17/exclusive-10-laws-of-the-cryptocosm-n2501167 Life after Google: 10 Laws of the Cryptocosm] July 2018)&lt;br /&gt;
&lt;br /&gt;
* '''Increased capacity''' for transaction handling is also spurring growth - even before the [[Genesis upgrade]] the network could comfortably handle [https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html 1000 transactions per second].  This capacity continues to increase.  In a [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3065857 2017 paper], Craig Wright wrote that ''&amp;quot;Bitcoin has the potential to replace all existing payment systems to become the world’s primary infrastructure for commerce over the internet.&amp;quot;''.  See also [[Capacity Metrics]].&lt;br /&gt;
&lt;br /&gt;
* Applications which harness the [[Block_chain|Bitcoin blockchain]] to '''store and retrieve immutable data''' are increasingly emerging.  The [[False Return]] and [[Pushdata Opcodes]] in Bitcoin script allow for this.  Following the [[Genesis upgrade]] it will be possible to store much larger volumes of data in a single transaction than had previously been possible.&lt;br /&gt;
&lt;br /&gt;
* Data structures can even be created on chain using techniques like the [[Metanet Protocol]].&lt;br /&gt;
&lt;br /&gt;
* Applications involving evidential time-stamping or logging are also emerging, taking advantage of the fact that Bitcoin transactions are mined into provably sequential blocks in a global distributed ledger.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of digital signatures maps out the entire history of valid exchange actions, allowing the tracing of all Bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign ownership rights to each transaction output.&lt;br /&gt;
All network events including the creation of a block are inscribed in transactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Transaction.png|frame|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to vote on [[Network|network rules]]. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
[[File:Proof_of_Work.png|frame|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the mining process, a node gather transactions from the network and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|frame|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming a [[Mandala Network]]. In this shell network, peers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners in [[Block|Blocks]]. Blocks are discovered just under every 10 minutes on average and held in a a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) structured as a [[Block chain]]. Each block forms a node in the graph. This graph is consistent in structure and can be traced back to the [[Genesis block|first block mined]].&lt;br /&gt;
&lt;br /&gt;
[[File:Block_Chain.png|frame|centre|alt=A chain of blocks]]&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer, allowing them to be modified in payment channels. Once a transactions is sent to the network in a closed channel, global consensus can be reached on the validity in less than 2 seconds.&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
===Subsidy===&lt;br /&gt;
Satoshis are issued by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in Bitcoin, spreading them through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
===Limits===&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.   For example, at the time of writing, certain other groups are wrongly using the 'Bitcoin' name to refer to their own projects.  The most famous of these uses a software implementation known as 'Bitcoin core' and has a token known as 'BTC' [[Bitcoin until today|(more information)]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1413</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1413"/>
		<updated>2020-01-21T11:58:19Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|&amp;lt;span style=&amp;quot;color:red;font-size:1.2em;font-weight:bold;text-decoration:underline;&amp;quot;&amp;gt;Temporary log in link&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the BitcoinSV wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [[Bitcoin whitepaper|Bitcoin white paper]] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows online payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
&lt;br /&gt;
The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
&lt;br /&gt;
With the original protocol restored in the [[Genesis upgrade]], Bitcoin is seeing a surge of development at the '''application layer'''.  Here are some highlights - for more detail see [[Building on Bitcoin| applications]]&lt;br /&gt;
&lt;br /&gt;
* The most obvious application of '''sending payments''' is being improved substantially with developments such as [[Paymail]] and [[Simplified Payment Verification]]&lt;br /&gt;
&lt;br /&gt;
* '''Micropayments''' are now possible on Bitcoin, because transaction costs are exceptionally low.  This has huge potential.  Authors such as George Gilder argue that a revolution is coming and that '' 'the crude imperatives of “free” [in online services] will give way to the calibrated voluntary exchanges of free markets and micropayments.' '' (see [https://townhall.com/columnists/georgegilder/2018/07/17/exclusive-10-laws-of-the-cryptocosm-n2501167 Life after Google: 10 Laws of the Cryptocosm] July 2018)&lt;br /&gt;
&lt;br /&gt;
* '''Increased capacity''' for transaction handling is also spurring growth - even before the [[Genesis upgrade]] the network could comfortably handle [https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html 1000 transactions per second].  This capacity continues to increase.  In a [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3065857 2017 paper], Craig Wright wrote that ''&amp;quot;Bitcoin has the potential to replace all existing payment systems to become the world’s primary infrastructure for commerce over the internet.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
* Applications which harness the [[Block_chain|Bitcoin blockchain]] to '''store and retrieve immutable data''' are increasingly emerging.  The [[False Return]] and [[Pushdata Opcodes]] in Bitcoin script allow for this.  Following the [[Genesis upgrade]] it will be possible to store much larger volumes of data in a single transaction than had previously been possible.&lt;br /&gt;
&lt;br /&gt;
* Data structures can even be created on chain using techniques like the [[Metanet Protocol]].&lt;br /&gt;
&lt;br /&gt;
* Applications involving evidential time-stamping or logging are also emerging, taking advantage of the fact that Bitcoin transactions are mined into provably sequential blocks in a global distributed ledger.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of digital signatures maps out the entire history of valid exchange actions, allowing the tracing of all Bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Advanced_Bitcoin_Scripting|scripting language]] that is used to assign ownership rights to each transaction output.&lt;br /&gt;
All network events including the creation of a block are inscribed in transactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Transaction.png|frame|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to vote on [[Network|network rules]]. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
[[File:Proof_of_Work.png|frame|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the mining process, a node gather transactions from the network and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|frame|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming a [[Mandala Network]]. In this shell network, peers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners in [[Block|Blocks]]. Blocks are discovered just under every 10 minutes on average and held in a a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) structured as a [[Block chain]]. Each block forms a node in the graph. This graph is consistent in structure and can be traced back to the [[Genesis block|first block mined]].&lt;br /&gt;
&lt;br /&gt;
[[File:Block_Chain.png|frame|centre|alt=A chain of blocks]]&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer, allowing them to be modified in payment channels. Once a transactions is sent to the network in a closed channel, global consensus can be reached on the validity in less than 2 seconds.&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
===Subsidy===&lt;br /&gt;
Satoshis are issued by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in Bitcoin, spreading them through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
===Limits===&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.   For example, at the time of writing, certain other groups are wrongly using the 'Bitcoin' name to refer to their own projects.  The most famous of these uses a software implementation known as 'Bitcoin core' and has a token known as 'BTC' [[Bitcoin until today|(more information)]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1408</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1408"/>
		<updated>2020-01-21T09:51:55Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|&amp;lt;span style=&amp;quot;color:red;font-size:1.2em;font-weight:bold;text-decoration:underline;&amp;quot;&amp;gt;Temporary log in link&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the BitcoinSV wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [[Bitcoin whitepaper|Bitcoin white paper]] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows online payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
&lt;br /&gt;
The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
&lt;br /&gt;
With the original protocol restored, Bitcoin is seeing a surge of development at the '''application layer'''.  Here are some highlights - for more detail see [[Building on Bitcoin| applications]]&lt;br /&gt;
&lt;br /&gt;
* The most obvious application of '''sending payments''' is being improved substantially with developments such as [[Paymail]] and [[Simplified Payment Verification]]&lt;br /&gt;
&lt;br /&gt;
* '''Micropayments''' are now possible on Bitcoin, because transaction costs are exceptionally low.  This has huge potential.  Authors such as George Gilder argue that a revolution is coming and that '' 'the crude imperatives of “free” [in online services] will give way to the calibrated voluntary exchanges of free markets and micropayments.' '' (see [https://townhall.com/columnists/georgegilder/2018/07/17/exclusive-10-laws-of-the-cryptocosm-n2501167 Life after Google: 10 Laws of the Cryptocosm] July 2018)&lt;br /&gt;
&lt;br /&gt;
* '''Increased capacity''' for transaction handling is also spurring growth - even before the [[Genesis upgrade]] the network could comfortably handle [https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html 1000 transactions per second].  This capacity continues to increase.  In a [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3065857 2017 paper], Craig Wright wrote that ''&amp;quot;Bitcoin has the potential to replace all existing payment systems to become the world’s primary infrastructure for commerce over the internet.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
* Applications which harness the [[Block_chain|Bitcoin blockchain]] to '''store and retrieve immutable data''' are increasingly emerging.  The [[False Return]] and [[Pushdata Opcodes]] in Bitcoin script allow for this.  Following the [[Genesis upgrade]] it will be possible to store much larger volumes of data in a single transaction than had previously been possible.&lt;br /&gt;
&lt;br /&gt;
* Data structures can even be created on chain using techniques like the [[Metanet Protocol]].&lt;br /&gt;
&lt;br /&gt;
* Applications involving evidential time-stamping or logging are also emerging, taking advantage of the fact that Bitcoin transactions are mined into provably sequential blocks in a global distributed ledger.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of digital signatures maps out the entire history of valid exchange actions, allowing the tracing of all Bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Opcodes used in Bitcoin Script|scripting language]] that is used to assign ownership rights to each transaction output.&lt;br /&gt;
All network events including the creation of a block are inscribed in transactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Transaction.png|frame|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to vote on [[Network|network rules]]. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
[[File:Proof_of_Work.png|frame|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the mining process, a node gather transactions from the network and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|frame|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming a [[Mandala Network]]. In this shell network, peers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners in [[Block|Blocks]]. Blocks are discovered just under every 10 minutes on average and held in a a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) structured as a [[Block chain]]. Each block forms a node in the graph. This graph is consistent in structure and can be traced back to the [[Genesis block|first block mined]].&lt;br /&gt;
&lt;br /&gt;
[[File:Block_Chain.png|frame|centre|alt=A chain of blocks]]&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer, allowing them to be modified in payment channels. Once a transactions is sent to the network in a closed channel, global consensus can be reached on the validity in less than 2 seconds.&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
===Subsidy===&lt;br /&gt;
Satoshis are issued by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in Bitcoin, spreading them through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
===Limits===&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.   For example, at the time of writing, certain other groups are wrongly using the 'Bitcoin' name to refer to their own projects.  The most famous of these uses a software implementation known as 'Bitcoin core' and has a token known as 'BTC' [[Bitcoin until today|(more information)]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1407</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1407"/>
		<updated>2020-01-21T09:51:02Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|&amp;lt;span style=&amp;quot;color:red;font-size:1.2em;font-weight:bold;text-decoration:underline;&amp;quot;&amp;gt;Temporary log in link&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the BitcoinSV wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [[Bitcoin whitepaper|Bitcoin white paper]] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows online payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
&lt;br /&gt;
The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
&lt;br /&gt;
With the original protocol restored, Bitcoin is seeing a surge of development at the '''application layer'''.  Here are some examples - for more detail see [[Building on Bitcoin| applications]]&lt;br /&gt;
&lt;br /&gt;
* The most obvious application of '''sending payments''' is being improved substantially with developments such as [[Paymail]] and [[Simplified Payment Verification]]&lt;br /&gt;
&lt;br /&gt;
* '''Micropayments''' are now possible on Bitcoin, because transaction costs are exceptionally low.  This has huge potential.  Authors such as George Gilder argue that a revolution is coming and that '' 'the crude imperatives of “free” [in online services] will give way to the calibrated voluntary exchanges of free markets and micropayments.' '' (see [https://townhall.com/columnists/georgegilder/2018/07/17/exclusive-10-laws-of-the-cryptocosm-n2501167 Life after Google: 10 Laws of the Cryptocosm] July 2018)&lt;br /&gt;
&lt;br /&gt;
* '''Increased capacity''' for transaction handling is also spurring growth - even before the [[Genesis upgrade]] the network could comfortably handle [https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html 1000 transactions per second].  This capacity continues to increase.  In a [https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3065857 2017 paper], Craig Wright wrote that ''&amp;quot;Bitcoin has the potential to replace all existing payment systems to become the world’s primary infrastructure for commerce over the internet.&amp;quot;''&lt;br /&gt;
&lt;br /&gt;
* Applications which harness the [[Block_chain|Bitcoin blockchain]] to '''store and retrieve immutable data''' are increasingly emerging.  The [[False Return]] and [[Pushdata Opcodes]] in Bitcoin script allow for this.  Following the [[Genesis upgrade]] it will be possible to store much larger volumes of data in a single transaction than had previously been possible.&lt;br /&gt;
&lt;br /&gt;
* Data structures can even be created on chain using techniques like the [[Metanet Protocol]].&lt;br /&gt;
&lt;br /&gt;
* Applications involving evidential time-stamping or logging are also emerging, taking advantage of the fact that Bitcoin transactions are mined into provably sequential blocks in a global distributed ledger.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of digital signatures maps out the entire history of valid exchange actions, allowing the tracing of all Bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Opcodes used in Bitcoin Script|scripting language]] that is used to assign ownership rights to each transaction output.&lt;br /&gt;
All network events including the creation of a block are inscribed in transactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Transaction.png|frame|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to vote on [[Network|network rules]]. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
[[File:Proof_of_Work.png|frame|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the mining process, a node gather transactions from the network and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|frame|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming a [[Mandala Network]]. In this shell network, peers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners in [[Block|Blocks]]. Blocks are discovered just under every 10 minutes on average and held in a a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) structured as a [[Block chain]]. Each block forms a node in the graph. This graph is consistent in structure and can be traced back to the [[Genesis block|first block mined]].&lt;br /&gt;
&lt;br /&gt;
[[File:Block_Chain.png|frame|centre|alt=A chain of blocks]]&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer, allowing them to be modified in payment channels. Once a transactions is sent to the network in a closed channel, global consensus can be reached on the validity in less than 2 seconds.&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
===Subsidy===&lt;br /&gt;
Satoshis are issued by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in Bitcoin, spreading them through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
===Limits===&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.   For example, at the time of writing, certain other groups are wrongly using the 'Bitcoin' name to refer to their own projects.  The most famous of these uses a software implementation known as 'Bitcoin core' and has a token known as 'BTC' [[Bitcoin until today|(more information)]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Genesis_upgrade&amp;diff=1406</id>
		<title>Genesis upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Genesis_upgrade&amp;diff=1406"/>
		<updated>2020-01-21T09:34:15Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Genesis is a major update to the BitcoinSV mining client which is used by the majority of miners on the BitcoinSV network.&lt;br /&gt;
&lt;br /&gt;
The upgrade is seen as a return to the original Bitcoin protocol, and includes the removal of all limit based consensus rules, and their replacement with miner configurable settings that give node operators the autonomy needed to set their own limits as they determine are practical. &lt;br /&gt;
&lt;br /&gt;
The full specification is available [https://github.com/bitcoin-sv-specs/protocol/blob/master/updates/genesis-spec.md here].&lt;br /&gt;
&lt;br /&gt;
Genesis is scheduled to go into effect on or around the 4th of February 2019.&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
&lt;br /&gt;
[https://bitcoinsv.io/2020/01/15/changes-for-the-genesis-upgrade/ https://bitcoinsv.io/2020/01/15/changes-for-the-genesis-upgrade/]&lt;br /&gt;
&lt;br /&gt;
[https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html https://www.prnewswire.com/news-releases/bitcoin-svs-genesis-hard-fork-300989579.html]&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1371</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1371"/>
		<updated>2020-01-20T16:47:21Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|&amp;lt;span style=&amp;quot;color:red;font-size:1.2em;font-weight:bold;text-decoration:underline;&amp;quot;&amp;gt;Temporary log in link&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the BitcoinSV wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [[Bitcoin whitepaper|Bitcoin white paper]] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows online payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
&lt;br /&gt;
The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
&lt;br /&gt;
With the original protocol restored, Bitcoin is seeing a surge of development at the '''application layer'''.  Here are some examples - for more detail see [[Building on Bitcoin| applications]]&lt;br /&gt;
&lt;br /&gt;
* The most obvious application of '''sending payments''' is being improved substantially with developments such as [[Paymail]] and [[Simplified Payment Verification]]&lt;br /&gt;
&lt;br /&gt;
* '''Micropayments''' are now possible on Bitcoin, because transaction costs are exceptionally low.  This has huge potential.  Authors such as George Gilder argue that a revolution is coming and that '' 'the crude imperatives of “free” [in online services] will give way to the calibrated voluntary exchanges of free markets and micropayments.' '' (see [https://townhall.com/columnists/georgegilder/2018/07/17/exclusive-10-laws-of-the-cryptocosm-n2501167 Life after Google: 10 Laws of the Cryptocosm] July 2018)&lt;br /&gt;
&lt;br /&gt;
* Applications which harness the [[Block_chain|Bitcoin blockchain]] to '''store and retrieve immutable data''' are increasingly emerging.  The [[False Return]] and [[Pushdata Opcodes]] in Bitcoin script allow for this.  Following the [[Genesis upgrade]] it will be possible to store much larger volumes of data in a single transaction than had previously been possible.&lt;br /&gt;
&lt;br /&gt;
* Data structures can even be created on chain using techniques like the [[Metanet Protocol]].&lt;br /&gt;
&lt;br /&gt;
* Applications involving evidential time-stamping or logging are also emerging, taking advantage of the fact that Bitcoin transactions are mined into provably sequential blocks in a global distributed ledger.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of digital signatures maps out the entire history of valid exchange actions, allowing the tracing of all Bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Opcodes used in Bitcoin Script|scripting language]] that is used to assign ownership rights to each transaction output.&lt;br /&gt;
All network events including the creation of a block are inscribed in transactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Transaction.png|frame|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to vote on [[Network|network rules]]. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
[[File:Proof_of_Work.png|frame|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the mining process, a node gather transactions from the network and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|frame|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming a [[Mandala Network]]. In this shell network, peers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners in [[Block|Blocks]]. Blocks are discovered just under every 10 minutes on average and held in a a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) structured as a [[Block chain]]. Each block forms a node in the graph. This graph is consistent in structure and can be traced back to the [[Genesis block|first block mined]].&lt;br /&gt;
&lt;br /&gt;
[[File:Block_Chain.png|frame|centre|alt=A chain of blocks]]&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer, allowing them to be modified in payment channels. Once a transactions is sent to the network in a closed channel, global consensus can be reached on the validity in less than 2 seconds.&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
===Subsidy===&lt;br /&gt;
Satoshis are issued by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in Bitcoin, spreading them through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
===Limits===&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.   For example, at the time of writing, certain other groups are wrongly using the 'Bitcoin' name to refer to their own projects.  The most famous of these uses a software implementation known as 'Bitcoin core' and has a token known as 'BTC' [[Bitcoin until today|(more information)]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1370</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1370"/>
		<updated>2020-01-20T16:44:05Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|&amp;lt;span style=&amp;quot;color:red;font-size:1.2em;font-weight:bold;text-decoration:underline;&amp;quot;&amp;gt;Temporary log in link&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the BitcoinSV wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
===Bitcoin===&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer electronic cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]].  It was first detailed in the [[Bitcoin whitepaper|Bitcoin white paper]] in October 2008, and the source code was [https://www.mail-archive.com/cryptography@metzdowd.com/msg10142.html released] in January 2009.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows online payments to be sent directly from one party to another, without requiring a central institution or server to process transactions and/or store funds. &lt;br /&gt;
&lt;br /&gt;
The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without centralised instruction.&lt;br /&gt;
&lt;br /&gt;
===Applications===&lt;br /&gt;
&lt;br /&gt;
With the original protocol restored, Bitcoin is seeing a surge of development at the '''application layer'''.  Here are some examples - for more detail see [[Building on Bitcoin| applications]]&lt;br /&gt;
&lt;br /&gt;
* The most obvious application of '''sending payments''' is being improved substantially with developments such as [[Paymail]] and [[Simplified Payment Verification]]&lt;br /&gt;
&lt;br /&gt;
* '''Micropayments''' are now possible on Bitcoin, because transaction costs are exceptionally low.  This has huge potential.  Authors such as George Gilder argue that a revolution is coming and that '' 'the crude imperatives of “free” [in online services] will give way to the calibrated voluntary exchanges of free markets and micropayments.' '' (see [https://townhall.com/columnists/georgegilder/2018/07/17/exclusive-10-laws-of-the-cryptocosm-n2501167 Life after Google: 10 Laws of the Cryptocosm] July 2018)&lt;br /&gt;
&lt;br /&gt;
* Applications which harness the [[Block_chain|Bitcoin blockchain]] to '''store and retrieve immutable data''' are increasingly emerging.  The [[False Return]] and [[Pushdata Opcodes]] in Bitcoin script allow for this.  Following the [[Genesis upgrade]] it will be possible to store much larger volumes of data in a single transaction than had previously been possible.&lt;br /&gt;
&lt;br /&gt;
* Data structures can even be created on chain using techniques like the [[Metanet Protocol]]).  &lt;br /&gt;
&lt;br /&gt;
* Applications involving evidential time-stamping or logging are also emerging, taking advantage of the fact that Bitcoin transactions are mined into provably sequential blocks in a global distributed ledger.&lt;br /&gt;
&lt;br /&gt;
===The Ledger===&lt;br /&gt;
The Bitcoin ledger is formed as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) where each transaction is a node. The graph starts at the [[Coinbase]] transaction of the [[Genesis block|first block ever found]] and via chains of digital signatures maps out the entire history of valid exchange actions, allowing the tracing of all Bitcoins back to their creation.&lt;br /&gt;
&lt;br /&gt;
[[File:Chain_of_Signatures.png|frame|centre|alt=Electronic coins are defined as a chain of digital signatures]]&lt;br /&gt;
&lt;br /&gt;
===Transactions===&lt;br /&gt;
All [[Bitcoin Transactions]] are [[Payments in Bitcoin|payments]] of some kind. Transactions are written in a flexible [[Opcodes used in Bitcoin Script|scripting language]] that is used to assign ownership rights to each transaction output.&lt;br /&gt;
All network events including the creation of a block are inscribed in transactions.&lt;br /&gt;
&lt;br /&gt;
[[File:Transaction.png|frame|centre|alt=Transaction inputs and outputs]]&lt;br /&gt;
&lt;br /&gt;
===Nodes and Mining===&lt;br /&gt;
The ledger is held on a [https://en.wikipedia.org/wiki/Distributed_networking distributed network] of nodes who use hash based [[Proof of Work]] to compete for the right to extend it and as a means to vote on [[Network|network rules]]. The proof of work of each block in the longest chain of work is incorporated into its subsequent block to form the chain structure.&lt;br /&gt;
&lt;br /&gt;
[[File:Proof_of_Work.png|frame|centre|alt=A chain of hash based proof of work]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
During the mining process, a node gather transactions from the network and evaluates whether they are profitable to mine before putting them into a block template. Block templates are created by calculating the root of a [https://en.wikipedia.org/wiki/Merkle_tree Merkle tree] containing all of the transactions being mined. The order of transactions in the Merkle tree is not related to their position in the transaction DAG. As new transactions arrive, they are added to the tree, creating a new, updated template. A block is found when a miner successfully discovers a value that generates a hash less than the [[difficulty]] [[target]]. The miner must then propagate the new block to the rest of the network who must then build an additional 100 blocks on top of it before the winner can claim the block reward.&lt;br /&gt;
&lt;br /&gt;
[[File:Merkle tree.png|frame|centre|alt=The structure of a Merkle Tree]]&lt;br /&gt;
&lt;br /&gt;
Nodes are operated by the [[Mining|Bitcoin mining enterprises]] who build the network. Bitcoin's economic incentives are structured such that for the nodes to be most profitable at building the ledger they must be as closely connected to other well performing nodes as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners gather transactions from users who connect in a layered network over the nodes at the core forming a [[Mandala Network]]. In this shell network, peers use [[Simplified Payment Verification]] to form a much less densely packed structure where information is exchanged in [[Payment Channels]].&lt;br /&gt;
&lt;br /&gt;
As Bitcoin scales, the nodes who comprise the network will be variously compartmentalised into specialised hardware. These clustered systems will be distributed globally, each being placed in a location optimised for its task.&lt;br /&gt;
&lt;br /&gt;
===Blocks===&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners in [[Block|Blocks]]. Blocks are discovered just under every 10 minutes on average and held in a a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) structured as a [[Block chain]]. Each block forms a node in the graph. This graph is consistent in structure and can be traced back to the [[Genesis block|first block mined]].&lt;br /&gt;
&lt;br /&gt;
[[File:Block_Chain.png|frame|centre|alt=A chain of blocks]]&lt;br /&gt;
&lt;br /&gt;
Transactions can be exchanged peer to peer, allowing them to be modified in payment channels. Once a transactions is sent to the network in a closed channel, global consensus can be reached on the validity in less than 2 seconds.&lt;br /&gt;
&lt;br /&gt;
===Unit of account===&lt;br /&gt;
[[Satoshis]] are the ledger's native unit of account and 100,000,000 satoshis is abstracted to one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are [[VOUT|transaction outputs]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
===Subsidy===&lt;br /&gt;
Satoshis are issued by miners to themselves as a [[Block subsidy|subsidy payment]] during the network establishment phase. As the network matures, the the subsidy dissipates forcing the miners to find alternate revenue streams. The payment allows miners to finance their operations through the payment of goods and services in Bitcoin, spreading them through the economy.&lt;br /&gt;
&lt;br /&gt;
===Network rules===&lt;br /&gt;
Bitcoin operates on a fixed ruleset. So-called consensus rules include things such as the operation of the [[Opcodes used in Bitcoin Script|opcodes]] in Bitcoin Script, the rate at which new bitcoins are issued, the mathematical function used to calculate the [[target]] for the [[Difficulty]] algorithm and more. The protocol is agreed upon by the miners who control network operation.&lt;br /&gt;
&lt;br /&gt;
===Limits===&lt;br /&gt;
There are no limits in the [[Protocol|Bitcoin protocol]]. Any limits imposed are are put in place by miners who are incentivised to catch the largest profitable pools of transactions they can. Miners compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
===History===&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.   For example, at the time of writing, certain other groups are wrongly using the 'Bitcoin' name to refer to their own projects.  The most famous of these uses a software implementation known as 'Bitcoin core' and has a token known as 'BTC' [[Bitcoin until today|(more information)]].&lt;br /&gt;
&lt;br /&gt;
===Tools and Building on Bitcoin===&lt;br /&gt;
Bitcoin has a rich and diverse [[Building on Bitcoin|set of tools]] which are being added to all the time.&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1253</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1253"/>
		<updated>2020-01-17T09:29:31Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|&amp;lt;span style=&amp;quot;color:red;font-size:1.2em;font-weight:bold;text-decoration:underline;&amp;quot;&amp;gt;Temporary log in link&amp;lt;/span&amp;gt;]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the Bitcoin wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]] and released as open-source software in 2009. It does not rely on a central server to process transactions or store funds. The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without a centralised authority. New Bitcoins are issued to miners as rewards for winning a contest to extend the ledger. Over time the competition awards coins in decreasing amounts, using an algorithm which will see the last new coins created in around 2140.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin ledger is held on a distributed network of nodes who compete with each other to extend it by finding [[Block|blocks]]. Nodes are operated by [[Mining|Bitcoin miners]] who build the network and are incentivized to be directly connected to as many of the other block winning miners as possible to ensure blocks they discover are accepted as fast as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners receive transactions from peers and from other miners on the network and propagate them to make all other known miners aware of every new transaction. This defeats the double spending problem ensuring that global consensus can be reached on the validity of a transaction within roughly 2 seconds. The miners use hash based proof of work to compete for the right to extend the ledger, and as a means to vote on the network rules.&lt;br /&gt;
&lt;br /&gt;
Bitcoins are the ledger's native unit of account. The base unit of exchange is [[Satoshis]] and 100,000,000 satoshis is referred to as one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are outputs from [[Bitcoin Transactions]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners. The ledger is built in blocks which are discovered every 10 minutes on average and linked together forming a [[Block chain]]. The ledger is structured as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) allowing the history of all Bitcoins to be traced back to the [[Coinbase]] transactions where they were created. Transactions can be exchanged peer to peer, allowing them to be modified in payment channels however once they have been committed to the ledger they are [[Irreversible Transactions|recorded immutably]] and their record cannot be removed.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol defines the scripting language that is used to define transactions, the formatting of transactions and blocks, the rate at which new bitcoins are issued as rewards for adding to the ledger, and the mathematical rules outlining the target for the difficulty algorithm which tries to keep the network generating new blocks at an average rate of 10 minutes each. The protocol is agreed upon by the miners who control network operation. After the [[Genesis upgrade]], miners will remove almost all limit based rules from the protocol enabling them to compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.&lt;br /&gt;
&lt;br /&gt;
The following pages look at the concepts outlined above in greater detail.&lt;br /&gt;
#[[Bitcoin Transactions|Transactions]]&lt;br /&gt;
#[[Block|Blocks]]&lt;br /&gt;
#[[The Bitcoin Network]]&lt;br /&gt;
#[[Mining and Consensus]]&lt;br /&gt;
#[[Wallets and key management]]&lt;br /&gt;
#[[Payments in Bitcoin|Making and receiving Bitcoin Payments]]&lt;br /&gt;
&lt;br /&gt;
Bitcoin has a rich and diverse set of tools which are being added to all the time. &lt;br /&gt;
[[Building on Bitcoin]]&lt;br /&gt;
&lt;br /&gt;
=Quick Links=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 700px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top; text-align:center;&amp;quot;&lt;br /&gt;
! Techniques&lt;br /&gt;
! Application Layer Protocols&lt;br /&gt;
! Products and Tools&lt;br /&gt;
|- style=&amp;quot;vertical-align:top; text-align:center;&amp;quot;&lt;br /&gt;
| &amp;lt;br/&amp;gt; [[Advanced Bitcoin Scripting]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Digital Signatures (ECDSA)]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Payment Channels]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[R-Puzzles]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[SVAlias]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[The Metanet]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
| &amp;lt;br/&amp;gt; [[GearSv]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Run]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Tokenized]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [https://github.com/unwriter/B B://], [https://planaria.network/@1KuUr2pSJDao97XM8Jsq8zwLS6W1WtFfLg C://], [https://planaria.network/@1G3BpTyEK6xF4LaQTHqdFBBaVxYHZzts4M D://], [http://bcat.bico.media/ BCAT]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; etc&amp;lt;br/&amp;gt;&lt;br /&gt;
| &amp;lt;br/&amp;gt; [[ElectrumSV]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [https://handcash.io Handcash]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [https://moneybutton.com Moneybutton]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Nakasendo]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Planaria]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Relay]]&amp;lt;br/&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1252</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.bitcoinsv.io/index.php?title=Main_Page&amp;diff=1252"/>
		<updated>2020-01-17T09:25:08Z</updated>

		<summary type="html">&lt;p&gt;David Watson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Special:UserLogin|Temporary log in link]]&lt;br /&gt;
&lt;br /&gt;
Welcome to the Bitcoin wiki. Here we aim to provide a correct and up-to date set of information on the Bitcoin network and its features and functionality.&lt;br /&gt;
&lt;br /&gt;
'''Bitcoin''' is a peer to peer cash system created by [https://craigwright.net/ Dr. Craig Wright] under the pseudonym [[Satoshi Nakamoto]] and released as open-source software in 2009. It does not rely on a central server to process transactions or store funds. The leaderless structure of the network famously solves [[The Byzantine Generals Problem]] allowing disconnected entities to follow a common direction without a centralised authority. New Bitcoins are issued to miners as rewards for winning a contest to extend the ledger. Over time the competition awards coins in decreasing amounts, using an algorithm which will see the last new coins created in around 2140.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin ledger is held on a distributed network of nodes who compete with each other to extend it by finding [[Block|blocks]]. Nodes are operated by [[Mining|Bitcoin miners]] who build the network and are incentivized to be directly connected to as many of the other block winning miners as possible to ensure blocks they discover are accepted as fast as possible. This leads to miners forming a [[Small World Network]] which trends towards a [[Nearly Complete Graph]] where all miners are connected to all other miners. Miners receive transactions from peers and from other miners on the network and propagate them to make all other known miners aware of every new transaction. This defeats the double spending problem ensuring that global consensus can be reached on the validity of a transaction within roughly 2 seconds. The miners use hash based proof of work to compete for the right to extend the ledger, and as a means to vote on the network rules.&lt;br /&gt;
&lt;br /&gt;
Bitcoins are the ledger's native unit of account. The base unit of exchange is [[Satoshis]] and 100,000,000 satoshis is referred to as one Bitcoin. Satoshis are held in script puzzles called [[UTXO|Unspent Transaction Outputs or UTXOs]]. These are outputs from [[Bitcoin Transactions]] which are held by miners in a quick access database called the UTXO set. During the spending process, UTXOs being used in a transaction are consumed and the solution to their puzzle script is recorded in the transaction.&lt;br /&gt;
&lt;br /&gt;
Valid transactions that are broadcast on [[The Bitcoin Network]] are committed to the Bitcoin public ledger by miners. The ledger is built in blocks which are discovered every 10 minutes on average and linked together forming a [[Block chain]]. The ledger is structured as a [[wikipedia:Directed Acyclic Graph|Directed acyclic graph]] (DAG) allowing the history of all Bitcoins to be traced back to the [[Coinbase]] transactions where they were created. Transactions can be exchanged peer to peer, allowing them to be modified in payment channels however once they have been committed to the ledger they are [[Irreversible Transactions|recorded immutably]] and their record cannot be removed.&lt;br /&gt;
&lt;br /&gt;
The Bitcoin protocol defines the scripting language that is used to define transactions, the formatting of transactions and blocks, the rate at which new bitcoins are issued as rewards for adding to the ledger, and the mathematical rules outlining the target for the difficulty algorithm which tries to keep the network generating new blocks at an average rate of 10 minutes each. The protocol is agreed upon by the miners who control network operation. After the [[Genesis upgrade]], miners will remove almost all limit based rules from the protocol enabling them to compete to offer better service to fee paying users by scaling their own capabilities.&lt;br /&gt;
&lt;br /&gt;
[[Bitcoin until today|Bitcoin has a rich history]] and has been [[Attacks on Bitcoin|attacked]] in many ways since its inception.&lt;br /&gt;
&lt;br /&gt;
The following pages look at the concepts outlined above in greater detail.&lt;br /&gt;
#[[Bitcoin Transactions|Transactions]]&lt;br /&gt;
#[[Block|Blocks]]&lt;br /&gt;
#[[The Bitcoin Network]]&lt;br /&gt;
#[[Mining and Consensus]]&lt;br /&gt;
#[[Wallets and key management]]&lt;br /&gt;
#[[Payments in Bitcoin|Making and receiving Bitcoin Payments]]&lt;br /&gt;
&lt;br /&gt;
Bitcoin has a rich and diverse set of tools which are being added to all the time. &lt;br /&gt;
[[Building on Bitcoin]]&lt;br /&gt;
&lt;br /&gt;
=Quick Links=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 700px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top; text-align:center;&amp;quot;&lt;br /&gt;
! Techniques&lt;br /&gt;
! Application Layer Protocols&lt;br /&gt;
! Products and Tools&lt;br /&gt;
|- style=&amp;quot;vertical-align:top; text-align:center;&amp;quot;&lt;br /&gt;
| &amp;lt;br/&amp;gt; [[Advanced Bitcoin Scripting]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Digital Signatures (ECDSA)]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Payment Channels]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[R-Puzzles]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[SVAlias]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[The Metanet]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
| &amp;lt;br/&amp;gt; [[GearSv]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Run]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Tokenized]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [https://github.com/unwriter/B B://], [https://planaria.network/@1KuUr2pSJDao97XM8Jsq8zwLS6W1WtFfLg C://], [https://planaria.network/@1G3BpTyEK6xF4LaQTHqdFBBaVxYHZzts4M D://], [http://bcat.bico.media/ BCAT]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; etc&amp;lt;br/&amp;gt;&lt;br /&gt;
| &amp;lt;br/&amp;gt; [[ElectrumSV]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [https://handcash.io Handcash]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [https://moneybutton.com Moneybutton]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Nakasendo]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Planaria]]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt; [[Relay]]&amp;lt;br/&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>David Watson</name></author>
		
	</entry>
</feed>